diff --git a/assets/error.html b/assets/error.html
index e4f73b5..ba1b6fe 100644
--- a/assets/error.html
+++ b/assets/error.html
@@ -27,9 +27,9 @@
     <link rel="dns-prefetch" href="//img12.static.yhbimg.com">
     <link rel="dns-prefetch" href="//img13.static.yhbimg.com">
     <link rel="stylesheet" href="//cdn.yoho.cn/myohobuy/1.3.16/index.css">
-    <link rel="apple-touch-icon-precomposed" href="http://static.yohobuy.com/m/v1/img/touch/apple-touch-icon-144x144-precomposed-new.png">
-    <link rel="apple-touch-startup-image" sizes="640x920" href="http://static.yohobuy.com/m/v1/img/startup/startup-retina.png" media="screen and (max-device-width: 480px) and (-webkit-min-device-pixel-ratio: 2)">
-    <link rel="apple-touch-startup-image" sizes="320x460" href="http://static.yohobuy.com/m/v1/img/startup/startup.png" media="screen and (max-device-width: 320)">
+    <link rel="apple-touch-icon-precomposed" href="//static.yohobuy.com/m/v1/img/touch/apple-touch-icon-144x144-precomposed-new.png">
+    <link rel="apple-touch-startup-image" sizes="640x920" href="//static.yohobuy.com/m/v1/img/startup/startup-retina.png" media="screen and (max-device-width: 480px) and (-webkit-min-device-pixel-ratio: 2)">
+    <link rel="apple-touch-startup-image" sizes="320x460" href="//static.yohobuy.com/m/v1/img/startup/startup.png" media="screen and (max-device-width: 320)">
 </head>
 <body >
 <header id="yoho-header" class="yoho-header boys">
@@ -95,8 +95,8 @@
     </a>
 </div>
 
-<script src="http://cdn.yoho.cn/myohobuy/1.3.16/lib.js"></script>
-<script src="http://cdn.yoho.cn/myohobuy/1.3.16/index.js"></script>
+<script src="//cdn.yoho.cn/myohobuy/1.3.16/lib.js"></script>
+<script src="//cdn.yoho.cn/myohobuy/1.3.16/index.js"></script>
 
 <script type="text/javascript">
     (function(w,d,s,j,f){
@@ -107,7 +107,7 @@
         a.async=1;
         a.src=j;
         m.parentNode.insertBefore(a,m);
-    })(window,document,'script','http://cdn.yoho.cn/yas-jssdk/1.0.14/yas.js','_yas');
+    })(window,document,'script','//cdn.yoho.cn/yas-jssdk/1.0.14/yas.js','_yas');
 </script>
 <script>
     seajs.use('js/common');
@@ -123,5 +123,5 @@
     })(window,document,'script','dataLayer','GTM-W958MG');
 </script>
 
-<script src="http://static.yohobuy.com/js/analytics/analysis.js"></script>
+<script src="//static.yohobuy.com/js/analytics/analysis.js"></script>
 </html>
\ No newline at end of file
diff --git a/assets/signin.html b/assets/signin.html
index 90b00b6..2dc7690 100644
--- a/assets/signin.html
+++ b/assets/signin.html
@@ -27,9 +27,9 @@
     <link rel="dns-prefetch" href="//img12.static.yhbimg.com">
     <link rel="dns-prefetch" href="//img13.static.yhbimg.com">
     <link rel="stylesheet" href="//cdn.yoho.cn/myohobuy/1.3.16/index.css">
-    <link rel="apple-touch-icon-precomposed" href="http://static.yohobuy.com/m/v1/img/touch/apple-touch-icon-144x144-precomposed-new.png">
-    <link rel="apple-touch-startup-image" sizes="640x920" href="http://static.yohobuy.com/m/v1/img/startup/startup-retina.png" media="screen and (max-device-width: 480px) and (-webkit-min-device-pixel-ratio: 2)">
-    <link rel="apple-touch-startup-image" sizes="320x460" href="http://static.yohobuy.com/m/v1/img/startup/startup.png" media="screen and (max-device-width: 320)">
+    <link rel="apple-touch-icon-precomposed" href="//static.yohobuy.com/m/v1/img/touch/apple-touch-icon-144x144-precomposed-new.png">
+    <link rel="apple-touch-startup-image" sizes="640x920" href="//static.yohobuy.com/m/v1/img/startup/startup-retina.png" media="screen and (max-device-width: 480px) and (-webkit-min-device-pixel-ratio: 2)">
+    <link rel="apple-touch-startup-image" sizes="320x460" href="//static.yohobuy.com/m/v1/img/startup/startup.png" media="screen and (max-device-width: 320)">
 </head>
 <body class=passport-body>
 <div class="login-page passport-page yoho-page">
diff --git a/compile/www.yohobuy.com/0.0.29/README.md b/compile/www.yohobuy.com/0.0.29/README.md
deleted file mode 100644
index 44069c2..0000000
--- a/compile/www.yohobuy.com/0.0.29/README.md
+++ /dev/null
@@ -1 +0,0 @@
-存放PC模板的预编译文件
\ No newline at end of file
diff --git a/compile/www.yohobuy.com/4.7.0/test.php b/compile/www.yohobuy.com/4.7.0/test.php
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/compile/www.yohobuy.com/4.7.0/test.php
diff --git a/compile/www.yohobuy.com/4.7.2/test.php b/compile/www.yohobuy.com/4.7.2/test.php
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/compile/www.yohobuy.com/4.7.2/test.php
diff --git a/library/Action/HuodongWebAction.php b/library/Action/HuodongWebAction.php
index daa68ce..fbd1c2b 100644
--- a/library/Action/HuodongWebAction.php
+++ b/library/Action/HuodongWebAction.php
@@ -56,7 +56,7 @@ class HuodongWebAction extends Controller_Abstract
     {
         if (!$this->isAjax() && Mobile::isMobile()) {
             header("HTTP/1.1 301 Moved Permanently");
-            header('Location:http://huodong.m.yohobuy.com'.$_SERVER['REQUEST_URI']);
+            header('Location://huodong.m.yohobuy.com'.$_SERVER['REQUEST_URI']);
             exit();
         }
         
diff --git a/library/Action/WebAction.php b/library/Action/WebAction.php
index 6d2875e..a7ee73a 100644
--- a/library/Action/WebAction.php
+++ b/library/Action/WebAction.php
@@ -77,7 +77,7 @@ class WebAction extends Controller_Abstract
             case 'develop':      // 开发
             default:
                 $this->_view->assign('devEnv', true);
-                $this->_useSession = true;
+                $this->_useSession = false;
                 break;
         }
 
@@ -601,7 +601,7 @@ class WebAction extends Controller_Abstract
         $apiDomain = $this->getApiDomain();
         $this->_view->assign('simpleHeader', array(
             'logo' => array(
-                'img' => 'http://static.yohobuy.com/newheader/img/logo_e.png',
+                'img' => '//static.yohobuy.com/newheader/img/logo_e.png',
                 'url' => SITE_MAIN
             ),
             'tool' => array(
diff --git a/library/Api/Yohobuy.php b/library/Api/Yohobuy.php
index 687d0aa..e09ed4e 100644
--- a/library/Api/Yohobuy.php
+++ b/library/Api/Yohobuy.php
@@ -11,7 +11,7 @@
 
 namespace Api;
 
-use WebPlugin\Cache;
+use Plugin\Cache;
 class Yohobuy
 {
     /* 正式环境 */
@@ -44,13 +44,21 @@ class Yohobuy
 //     const SERVICE_URL = 'http://preservice.yoho.cn/';
 //     const YOHOBUY_URL = 'http://www.yohobuy.com/';
 //     const API_OLD = 'http://api2.open.yohobuy.com/';
+<<<<<<< HEAD
 
+=======
+    
+>>>>>>> master
     /**
      * 登录老接口Api配置
      */
     const API_LOGIN_URL = 'http://api.open.yohobuy.com';
     const API_LOGIN_URL_TEST = 'http://test.open.yohobuy.com';
+<<<<<<< HEAD
 
+=======
+    
+>>>>>>> master
     /**
      * 私钥列表
      *
@@ -63,7 +71,11 @@ class Yohobuy
         'web' => '0ed29744ed318fd28d2c07985d3ba633',
         'h5' => 'fd4ad5fcfa0de589ef238c0e7331b585',
     );
+<<<<<<< HEAD
 
+=======
+    
+>>>>>>> master
 
 
     /**
@@ -77,7 +89,11 @@ class Yohobuy
         else {
             return 'web';
         }
+<<<<<<< HEAD
 
+=======
+        
+>>>>>>> master
 //         // 苹果设备
 //         if (strstr($_SERVER['HTTP_USER_AGENT'], 'iPhone')) {
 //             return 'iphone';
@@ -187,7 +203,11 @@ class Yohobuy
         curl_setopt($ch, CURLOPT_HEADER, 0);
         curl_setopt($ch, CURLOPT_TIMEOUT, $timeout);
         curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
+<<<<<<< HEAD
         if ($useGzip) {
+=======
+        if ($useGzip) {  
+>>>>>>> master
             curl_setopt($ch, CURLOPT_ENCODING, 'gzip');
         }
         if (!empty($userAgent)) {
@@ -230,7 +250,11 @@ class Yohobuy
     public static function post($url, $data = array(), $returnJson = false, $timeout = 10, $header = array(), $cookie = array())
     {
         $ch = curl_init($url);
+<<<<<<< HEAD
 
+=======
+        
+>>>>>>> master
         curl_setopt($ch, CURLOPT_TIMEOUT, $timeout);
         if (!empty($header)) {
             curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
@@ -352,7 +376,11 @@ class Yohobuy
                     continue;
                 }
                 $result[$name] = $response['data'];
+<<<<<<< HEAD
             }
+=======
+            } 
+>>>>>>> master
             else  {
                 $result[$name] = $response;
             }
@@ -496,7 +524,11 @@ class Yohobuy
 
         return $result;
     }
+<<<<<<< HEAD
 
+=======
+    
+>>>>>>> master
     /**
      * 获取用户User-Agent
      * @return bool
@@ -508,7 +540,11 @@ class Yohobuy
         }
         return $_SERVER['HTTP_USER_AGENT'];
     }
+<<<<<<< HEAD
 
+=======
+    
+>>>>>>> master
     /**
      * 判断是否手机
      * @return bool
diff --git a/library/Configs/ChannelConfig.php b/library/Configs/ChannelConfig.php
index f295457..ef22716 100644
--- a/library/Configs/ChannelConfig.php
+++ b/library/Configs/ChannelConfig.php
@@ -312,14 +312,14 @@ class ChannelConfig
         'sale_index' => array('domain' => 'sale', 'module' => 's'), //sale.yohobuy.com
     );
     //左侧广告默认图片-passport相关页面
-    public static $leftDefaultImg = 'http://img12.static.yhbimg.com/yhb-img01/2015/12/01/07/020a0b6e7ff908d0c2bc4045b4fef42b9f.png?imageView/2/w/252/h/190';
+    public static $leftDefaultImg = '//img12.static.yhbimg.com/yhb-img01/2015/12/01/07/020a0b6e7ff908d0c2bc4045b4fef42b9f.png?imageView/2/w/252/h/190';
     //多品店品牌ID
     public static $moreBrandIds = array(1025, 504, 1351, 1362, 613, 456, 842,
         656, 1310, 1063, 861, 1417, 1200, 1207, 1209, 1306, 972, 308, 856);
     //默认头像
-    public static $headDefaultImgIco = 'http://img10.static.yhbimg.com/headimg/2013/11/28/09/01cae078abe5fe320c88cdf4c220212688.gif?imageView/2/w/100/h/100';
+    public static $headDefaultImgIco = '//img10.static.yhbimg.com/headimg/2013/11/28/09/01cae078abe5fe320c88cdf4c220212688.gif?imageView/2/w/100/h/100';
     //商品详情页的默认头像
-    public static $itemHeadDefaultImgIco = 'http://static.yohobuy.com/images/v3/boy.jpg';
+    public static $itemHeadDefaultImgIco = '//static.yohobuy.com/images/v3/boy.jpg';
     //性别
     public static $genderArr = array(
         array(
diff --git a/library/LibModels/Wap/Category/BrandData.php b/library/LibModels/Wap/Category/BrandData.php
index fe470ac..e1ef202 100644
--- a/library/LibModels/Wap/Category/BrandData.php
+++ b/library/LibModels/Wap/Category/BrandData.php
@@ -38,14 +38,14 @@ class BrandData
         $param = Yohobuy::param();
         $param['content_code'] = $contentCode;
         $param['client_secret'] = Sign::getSign($param);
-        $urlList['brandTop'] = Yohobuy::httpBuildQuery(Yohobuy::SERVICE_URL . self::URI_BRAND_TOPPOS, $param);
+        $urlList['brandTop'] = Yohobuy::httpBuildQuery(SERVICE_URL . self::URI_BRAND_TOPPOS, $param);
 
         /* 按字母"A-Z"分组的品牌列表数据 */
         $param = Yohobuy::param();
         $param['method'] = 'app.brand.brandlist';
         $param['yh_channel'] = $channel;
         $param['client_secret'] = Sign::getSign($param);
-        $urlList['brandList'] = Yohobuy::httpBuildQuery(Yohobuy::API_URL, $param);
+        $urlList['brandList'] = Yohobuy::httpBuildQuery(API_URL, $param);
 
         return Yohobuy::getMulti($urlList, array(), 3600); // 有缓存1小时
     }
@@ -66,7 +66,7 @@ class BrandData
         }
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param, 3600); // 有缓存1小时
+        return Yohobuy::get(API_URL, $param, 3600); // 有缓存1小时
     }
 
     /**
@@ -82,7 +82,7 @@ class BrandData
         $param['content_code'] = $contentCode;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::SERVICE_URL . self::URI_BRAND_TOPPOS, $param);
+        return Yohobuy::get(SERVICE_URL . self::URI_BRAND_TOPPOS, $param);
     }
 
     /**
@@ -106,7 +106,7 @@ class BrandData
 
         $cache = empty($uid) ? 3600 : false;
 
-        return Yohobuy::get(Yohobuy::API_URL, $param, $cache); // 有缓存1小时
+        return Yohobuy::get(API_URL, $param, $cache); // 有缓存1小时
     }
 
     /**
@@ -123,7 +123,7 @@ class BrandData
         $param['method'] = 'app.brand.banner';
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param, 3600); // 有缓存1小时
+        return Yohobuy::get(API_URL, $param, 3600); // 有缓存1小时
     }
 
     /**
@@ -168,7 +168,7 @@ class BrandData
         $param['yh_channel'] = $channel;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -203,7 +203,7 @@ class BrandData
         }
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -214,7 +214,7 @@ class BrandData
      */
     public static function getBrandLogo($id)
     {
-        return Yohobuy::yarClient(Yohobuy::SERVICE_URL . '/shops/service/v1/brand', 'getBrandByids', array($id));
+        return Yohobuy::yarClient(SERVICE_URL . '/shops/service/v1/brand', 'getBrandByids', array($id));
     }
 
     /**
@@ -225,7 +225,7 @@ class BrandData
      */
     public static function getBrandLogoByDomain($domain)
     {
-        return Yohobuy::yarClient(Yohobuy::SERVICE_URL . '/shops/service/v1/brand', 'getBrandByDomain', array($domain));
+        return Yohobuy::yarClient(SERVICE_URL . '/shops/service/v1/brand', 'getBrandByDomain', array($domain));
     }
 
 }
diff --git a/library/LibModels/Wap/Category/ClassData.php b/library/LibModels/Wap/Category/ClassData.php
index 9ed6abe..0491acd 100644
--- a/library/LibModels/Wap/Category/ClassData.php
+++ b/library/LibModels/Wap/Category/ClassData.php
@@ -30,7 +30,7 @@ class ClassData
         $param['method'] = 'app.sort.get';
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -73,7 +73,7 @@ class ClassData
         $param['gender'] = $gender;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -108,7 +108,7 @@ class ClassData
         }
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
 }
diff --git a/library/LibModels/Wap/Category/FocusData.php b/library/LibModels/Wap/Category/FocusData.php
index 2795418..df9c372 100644
--- a/library/LibModels/Wap/Category/FocusData.php
+++ b/library/LibModels/Wap/Category/FocusData.php
@@ -37,7 +37,7 @@ class FocusData
 
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::SERVICE_URL . 'guang/api/v1/attention/getlist', $param);
+        return Yohobuy::get(SERVICE_URL . 'guang/api/v1/attention/getlist', $param);
     }
 
 }
diff --git a/library/LibModels/Wap/Cuxiao/ActivityData.php b/library/LibModels/Wap/Cuxiao/ActivityData.php
index ce69498..3b7ef21 100644
--- a/library/LibModels/Wap/Cuxiao/ActivityData.php
+++ b/library/LibModels/Wap/Cuxiao/ActivityData.php
@@ -39,7 +39,7 @@ class ActivityData
         $param['activity_id'] = $activityId;
         $param['coupon_id'] = $couponId;
 
-        return Yohobuy::get(Yohobuy::SERVICE_URL . self::URI_GET_NAMED_COUPON, $param);
+        return Yohobuy::get(SERVICE_URL . self::URI_GET_NAMED_COUPON, $param);
     }
 
     /**
@@ -55,7 +55,7 @@ class ActivityData
         $param['uid'] = $uid;
         $param['activity_id'] = $activityId;
 
-        return Yohobuy::get(Yohobuy::SERVICE_URL . self::URI_GET_ALL_COUPON, $param);
+        return Yohobuy::get(SERVICE_URL . self::URI_GET_ALL_COUPON, $param);
     }
 
     /**
@@ -68,7 +68,7 @@ class ActivityData
     {
         $param = array('activity_id' => $activityId);
 
-        return Yohobuy::get(Yohobuy::SERVICE_URL . self::URI_GET_ACTIVITY_INFO, $param, 3600); // 有缓存1小时
+        return Yohobuy::get(SERVICE_URL . self::URI_GET_ACTIVITY_INFO, $param, 3600); // 有缓存1小时
     }
 
     /**
@@ -122,7 +122,7 @@ class ActivityData
     public static function message($uid, $title, $content, $type = 1, $verify_key = '', $send_uid = 0, $call_back = '')
     {
         //调用接口发送站内信
-        return Yohobuy::yarClient(Yohobuy::SERVICE_URL . self::URI_SEND_MESSAGE, 'setSingleMessage', array(
+        return Yohobuy::yarClient(SERVICE_URL . self::URI_SEND_MESSAGE, 'setSingleMessage', array(
             $uid, $title, $content, $type, $verify_key, $send_uid, $call_back
         ));
     }
diff --git a/library/LibModels/Wap/Guang/DetailData.php b/library/LibModels/Wap/Guang/DetailData.php
index 14ea203..57f7663 100644
--- a/library/LibModels/Wap/Guang/DetailData.php
+++ b/library/LibModels/Wap/Guang/DetailData.php
@@ -46,7 +46,7 @@ class DetailData
             // 先尝试获取一级缓存(master), 有数据则直接返回.
             $cached = Cache::get($key, 'master');
             if (!empty($cached)) {
-//                $article = Yohobuy::yarClient(Yohobuy::SERVICE_URL . self::URI_PACKAGE_ARTICLE, 'getArticle', array($id, $clientType), false, 1000);
+//                $article = Yohobuy::yarClient(SERVICE_URL . self::URI_PACKAGE_ARTICLE, 'getArticle', array($id, $clientType), false, 1000);
 
                 // 获取资讯
                 $param = Yohobuy::param();
@@ -54,7 +54,7 @@ class DetailData
                 $param['client_type'] = $clientType;
                 $param['private_key'] = Yohobuy::$privateKeyList[$clientType];
                 $param['client_secret'] = Sign::getSign($param);
-                $result = Yohobuy::get(Yohobuy::SERVICE_URL . self::URI_PACKAGE_ARTICLE . 'getArticle', $param);
+                $result = Yohobuy::get(SERVICE_URL . self::URI_PACKAGE_ARTICLE . 'getArticle', $param);
                 $article = $result['data'];
 
                 if (isset($article['pageViews'])) {
@@ -65,7 +65,7 @@ class DetailData
         }
 
         // 获取资讯
-//        $article = Yohobuy::yarClient(Yohobuy::SERVICE_URL . self::URI_PACKAGE_ARTICLE, 'getArticle', array($id, $clientType), false, 1500);
+//        $article = Yohobuy::yarClient(SERVICE_URL . self::URI_PACKAGE_ARTICLE, 'getArticle', array($id, $clientType), false, 1500);
 //        ksort($article);
 //        file_put_contents('../../../../../../Desktop/app/o/getArticle.txt', var_export($article, true));
 
@@ -75,7 +75,7 @@ class DetailData
         $param['client_type'] = $clientType;
         $param['private_key'] = Yohobuy::$privateKeyList[$clientType];
         $param['client_secret'] = Sign::getSign($param);
-        $result = Yohobuy::get(Yohobuy::SERVICE_URL . self::URI_PACKAGE_ARTICLE . 'getArticle', $param);
+        $result = Yohobuy::get(SERVICE_URL . self::URI_PACKAGE_ARTICLE . 'getArticle', $param);
         $article = $result['data'];
 //        file_put_contents('../../../../../../Desktop/app/n/getArticle3.txt', var_export($article, true));
 
@@ -94,7 +94,7 @@ class DetailData
         $param = Yohobuy::param();
         $param['author_id'] = $article['author_id'];
         $param['client_secret'] = Sign::getSign($param);
-        $urlList['getAuthor'] = Yohobuy::httpBuildQuery(Yohobuy::SERVICE_URL . self::URI_PACKAGE_AUTHOR . 'getAuthor', $param);
+        $urlList['getAuthor'] = Yohobuy::httpBuildQuery(SERVICE_URL . self::URI_PACKAGE_AUTHOR . 'getAuthor', $param);
 
         // 获取资讯内容
         $param = Yohobuy::param();
@@ -102,7 +102,7 @@ class DetailData
         $param['client_type'] = $clientType;
         $param['private_key'] = Yohobuy::$privateKeyList[$clientType];
         $param['client_secret'] = Sign::getSign($param);
-        $urlList['getArticleContent'] = Yohobuy::httpBuildQuery(Yohobuy::SERVICE_URL . self::URI_PACKAGE_ARTICLE . 'getArticleContent', $param);
+        $urlList['getArticleContent'] = Yohobuy::httpBuildQuery(SERVICE_URL . self::URI_PACKAGE_ARTICLE . 'getArticleContent', $param);
 
         // 获取资讯相关的品牌
         $param = Yohobuy::param();
@@ -110,7 +110,7 @@ class DetailData
         $param['client_type'] = $clientType;
         $param['private_key'] = Yohobuy::$privateKeyList[$clientType];
         $param['client_secret'] = Sign::getSign($param);
-        $urlList['getBrand'] = Yohobuy::httpBuildQuery(Yohobuy::SERVICE_URL . self::URI_PACKAGE_ARTICLE . 'getBrand', $param);
+        $urlList['getBrand'] = Yohobuy::httpBuildQuery(SERVICE_URL . self::URI_PACKAGE_ARTICLE . 'getBrand', $param);
 
         // 获取资讯相关的其它资讯
         if (isset($article['tag'])) {
@@ -122,7 +122,7 @@ class DetailData
             $param['limit'] = 3;
             $param['private_key'] = Yohobuy::$privateKeyList[$clientType];
             $param['client_secret'] = Sign::getSign($param);
-            $urlList['getOtherArticle'] = Yohobuy::httpBuildQuery(Yohobuy::SERVICE_URL . self::URI_PACKAGE_ARTICLE . 'getOtherArticle', $param);
+            $urlList['getOtherArticle'] = Yohobuy::httpBuildQuery(SERVICE_URL . self::URI_PACKAGE_ARTICLE . 'getOtherArticle', $param);
         }
 
         $multiResult = Yohobuy::getMulti($urlList, array());
@@ -138,21 +138,21 @@ class DetailData
 
         /*
         // 获取作者信息
-        Yohobuy::yarConcurrentCall(Yohobuy::SERVICE_URL . self::URI_PACKAGE_AUTHOR, 'getAuthor', array($article['author_id'], $clientType), function ($retval) use (&$result) {
+        Yohobuy::yarConcurrentCall(SERVICE_URL . self::URI_PACKAGE_AUTHOR, 'getAuthor', array($article['author_id'], $clientType), function ($retval) use (&$result) {
             $result['getAuthor'] = empty($retval) ? array() : $retval;
             ksort($retval);
             file_put_contents('../../../../../../Desktop/app/o/getAuthor.txt', var_export($retval, true));
         });
 
         // 获取资讯内容
-        Yohobuy::yarConcurrentCall(Yohobuy::SERVICE_URL . self::URI_PACKAGE_ARTICLE, 'getArticleContent', array($id, $clientType), function ($retval) use (&$result) {
+        Yohobuy::yarConcurrentCall(SERVICE_URL . self::URI_PACKAGE_ARTICLE, 'getArticleContent', array($id, $clientType), function ($retval) use (&$result) {
             $result['getArticleContent'] = empty($retval) ? array() : $retval;
             ksort($retval);
             file_put_contents('../../../../../../Desktop/app/o/getArticleContent.txt', var_export($retval, true));
         });
 
         // 获取资讯相关的品牌
-        Yohobuy::yarConcurrentCall(Yohobuy::SERVICE_URL . self::URI_PACKAGE_ARTICLE, 'getBrand', array($id, $clientType), function ($retval) use (&$result) {
+        Yohobuy::yarConcurrentCall(SERVICE_URL . self::URI_PACKAGE_ARTICLE, 'getBrand', array($id, $clientType), function ($retval) use (&$result) {
             $result['getBrand'] = empty($retval) ? array() : $retval;
             ksort($retval);
             file_put_contents('../../../../../../Desktop/app/o/getBrand.txt', var_export($retval, true));
@@ -160,7 +160,7 @@ class DetailData
 
         // 获取资讯相关的其它资讯
         if (isset($article['tag'])) {
-            Yohobuy::yarConcurrentCall(Yohobuy::SERVICE_URL . self::URI_PACKAGE_ARTICLE, 'getOtherArticle', array($article['tag'], $id, 0, 3, $clientType), function ($retval) use (&$result) {
+            Yohobuy::yarConcurrentCall(SERVICE_URL . self::URI_PACKAGE_ARTICLE, 'getOtherArticle', array($article['tag'], $id, 0, 3, $clientType), function ($retval) use (&$result) {
                 $result['getOtherArticle'] = empty($retval) ? array() : $retval;
                 ksort($retval);
                 file_put_contents('../../../../../../Desktop/app/o/getOtherArticle.txt', var_export($retval, true));
@@ -206,19 +206,19 @@ class DetailData
         $clientType = $isApp ? 'iphone' : 'h5';
 
         // 获取资讯
-        $article = Yohobuy::yarClient(Yohobuy::SERVICE_URL . self::URI_PACKAGE_ARTICLE, 'getArticle', array($id, $clientType));
+        $article = Yohobuy::yarClient(SERVICE_URL . self::URI_PACKAGE_ARTICLE, 'getArticle', array($id, $clientType));
         if (!isset($article['author_id'])) {
             return $result;
         }
         $result['getArticle'] = $article;
 
         // 获取资讯内容
-        Yohobuy::yarConcurrentCall(Yohobuy::SERVICE_URL . self::URI_PACKAGE_ARTICLE, 'getArticleContent', array($id, $clientType), function ($retval) use (&$result) {
+        Yohobuy::yarConcurrentCall(SERVICE_URL . self::URI_PACKAGE_ARTICLE, 'getArticleContent', array($id, $clientType), function ($retval) use (&$result) {
             $result['getArticleContent'] = empty($retval) ? array() : $retval;
         });
 
         // 获取资讯相关的品牌
-        Yohobuy::yarConcurrentCall(Yohobuy::SERVICE_URL . self::URI_PACKAGE_ARTICLE, 'getBrand', array($id, $clientType), function ($retval) use (&$result) {
+        Yohobuy::yarConcurrentCall(SERVICE_URL . self::URI_PACKAGE_ARTICLE, 'getBrand', array($id, $clientType), function ($retval) use (&$result) {
             $result['getBrand'] = empty($retval) ? array() : $retval;
         });
 
@@ -243,12 +243,12 @@ class DetailData
         $clientType = $isApp ? 'iphone' : 'h5';
         
         // 获取资讯内容
-        Yohobuy::yarConcurrentCall(Yohobuy::SERVICE_URL . self::URI_PACKAGE_ARTICLE, 'getArticleContent', array($id, $clientType), function ($retval) use (&$result) {
+        Yohobuy::yarConcurrentCall(SERVICE_URL . self::URI_PACKAGE_ARTICLE, 'getArticleContent', array($id, $clientType), function ($retval) use (&$result) {
             $result['getArticleContent'] = empty($retval) ? array() : $retval;
         });
 
         // 获取资讯相关的品牌
-        Yohobuy::yarConcurrentCall(Yohobuy::SERVICE_URL . self::URI_PACKAGE_ARTICLE, 'getBrand', array($id, $clientType), function ($retval) use (&$result) {
+        Yohobuy::yarConcurrentCall(SERVICE_URL . self::URI_PACKAGE_ARTICLE, 'getBrand', array($id, $clientType), function ($retval) use (&$result) {
             $result['getBrand'] = empty($retval) ? array() : $retval;
         });
 
@@ -268,10 +268,10 @@ class DetailData
         $param['client_type'] = 'h5';
         $param['private_key'] = Yohobuy::$privateKeyList['h5'];
         $param['client_secret'] = Sign::getSign($param);
-        $result = Yohobuy::get(Yohobuy::SERVICE_URL . self::URI_PACKAGE_ARTICLE . 'getArticleContent', $param);
+        $result = Yohobuy::get(SERVICE_URL . self::URI_PACKAGE_ARTICLE . 'getArticleContent', $param);
         return $result['data'];
 
-//        return Yohobuy::yarClient(Yohobuy::SERVICE_URL . self::URI_PACKAGE_ARTICLE, 'getArticleContent', array($id, 'h5'));
+//        return Yohobuy::yarClient(SERVICE_URL . self::URI_PACKAGE_ARTICLE, 'getArticleContent', array($id, 'h5'));
     }
 
 }
diff --git a/library/LibModels/Wap/Guang/ListData.php b/library/LibModels/Wap/Guang/ListData.php
index 7a466aa..7bafde6 100644
--- a/library/LibModels/Wap/Guang/ListData.php
+++ b/library/LibModels/Wap/Guang/ListData.php
@@ -33,7 +33,7 @@ class ListData
         $param = Yohobuy::param();
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::SERVICE_URL . self::URI_CATEGORY, $param, 3600); // 有缓存1小时
+        return Yohobuy::get(SERVICE_URL . self::URI_CATEGORY, $param, 3600); // 有缓存1小时
     }
 
     /**
@@ -73,7 +73,7 @@ class ListData
 
         $cache = $useCache ? 300 : false;
 
-        return Yohobuy::get(Yohobuy::SERVICE_URL . self::URI_ARTICLELIST, $param, $cache);  // 缓存5分钟
+        return Yohobuy::get(SERVICE_URL . self::URI_ARTICLELIST, $param, $cache);  // 缓存5分钟
     }
 
     /**
@@ -100,7 +100,7 @@ class ListData
             $param['udid'] = $udid;
             $param['client_secret'] = Sign::getSign($param);
 
-            $urlList[$value['id']] = Yohobuy::httpBuildQuery(Yohobuy::SERVICE_URL . self::URI_ARTICLELIST, $param);
+            $urlList[$value['id']] = Yohobuy::httpBuildQuery(SERVICE_URL . self::URI_ARTICLELIST, $param);
         }
 
         return Yohobuy::getMulti($urlList);
@@ -117,12 +117,12 @@ class ListData
         $result = array();
 
         if (is_numeric($id)) {
-//            $result = Yohobuy::yarClient(Yohobuy::SERVICE_URL . self::URI_AUTHOR, 'getAuthor', array($id), 3600); // 缓存1小时
+//            $result = Yohobuy::yarClient(SERVICE_URL . self::URI_AUTHOR, 'getAuthor', array($id), 3600); // 缓存1小时
 
             $param = Yohobuy::param();
             $param['author_id'] = $id;
             $param['client_secret'] = Sign::getSign($param);
-            $article = Yohobuy::get(Yohobuy::SERVICE_URL . self::URI_AUTHOR . 'getAuthor', $param, 3600);
+            $article = Yohobuy::get(SERVICE_URL . self::URI_AUTHOR . 'getAuthor', $param, 3600);
             $result = $article['data'];
         }
 
diff --git a/library/LibModels/Wap/Guang/OptData.php b/library/LibModels/Wap/Guang/OptData.php
index 569a274..bb58bcc 100644
--- a/library/LibModels/Wap/Guang/OptData.php
+++ b/library/LibModels/Wap/Guang/OptData.php
@@ -31,12 +31,12 @@ class OptData
         $param['uid'] = $uid;
         $param['id'] = $id;
         $param['client_secret'] = Sign::getSign($param);
-        return Yohobuy::get(Yohobuy::SERVICE_URL.'guang/service/v2/favorite/toggleBrand', $param);
+        return Yohobuy::get(SERVICE_URL.'guang/service/v2/favorite/toggleBrand', $param);
 
 //        if ($opt == 'ok') {
-//            return Yohobuy::yarClient(Yohobuy::SERVICE_URL . 'guang/service/v2/favorite/', 'toggleBrand', array($uid, $id));
+//            return Yohobuy::yarClient(SERVICE_URL . 'guang/service/v2/favorite/', 'toggleBrand', array($uid, $id));
 //        } else {
-//            return Yohobuy::yarClient(Yohobuy::SERVICE_URL . 'guang/service/v2/favorite/', 'toggleBrand', array($uid, $id));
+//            return Yohobuy::yarClient(SERVICE_URL . 'guang/service/v2/favorite/', 'toggleBrand', array($uid, $id));
 //        }
     }
 
@@ -56,13 +56,13 @@ class OptData
         $param['client_secret'] = Sign::getSign($param);
 
         if ($opt === 'cancel') {
-//            return Yohobuy::yarClient(Yohobuy::SERVICE_URL . 'shops/service/v1/favorite/', 'addUidProductFav', array($uid, $skn));
+//            return Yohobuy::yarClient(SERVICE_URL . 'shops/service/v1/favorite/', 'addUidProductFav', array($uid, $skn));
 
-            return Yohobuy::get(Yohobuy::SERVICE_URL.'shops/service/v1/favorite/addUidProductFav', $param);
+            return Yohobuy::get(SERVICE_URL.'shops/service/v1/favorite/addUidProductFav', $param);
         } else {
-//            return Yohobuy::yarClient(Yohobuy::SERVICE_URL . 'shops/service/v1/favorite/', 'delUidProductFav', array($uid, $skn));
+//            return Yohobuy::yarClient(SERVICE_URL . 'shops/service/v1/favorite/', 'delUidProductFav', array($uid, $skn));
 
-            return Yohobuy::get(Yohobuy::SERVICE_URL.'shops/service/v1/favorite/delUidProductFav', $param);
+            return Yohobuy::get(SERVICE_URL.'shops/service/v1/favorite/delUidProductFav', $param);
         }
     }
 
@@ -82,13 +82,13 @@ class OptData
         $param['client_secret'] = Sign::getSign($param);
 
         if ($opt === 'cancel') {
-//            return Yohobuy::yarClient(Yohobuy::SERVICE_URL . 'guang/service/v2/praise', 'cancelPraise', array($id, $udid));
+//            return Yohobuy::yarClient(SERVICE_URL . 'guang/service/v2/praise', 'cancelPraise', array($id, $udid));
 
-            return Yohobuy::get(Yohobuy::SERVICE_URL.'guang/api/v2/praise/cancel', $param);
+            return Yohobuy::get(SERVICE_URL.'guang/api/v2/praise/cancel', $param);
         } else {
-//            return Yohobuy::yarClient(Yohobuy::SERVICE_URL . 'guang/service/v2/praise', 'setPraise', array($id, $udid));
+//            return Yohobuy::yarClient(SERVICE_URL . 'guang/service/v2/praise', 'setPraise', array($id, $udid));
 
-            return Yohobuy::get(Yohobuy::SERVICE_URL.'guang/api/v2/praise/setPraise', $param);
+            return Yohobuy::get(SERVICE_URL.'guang/api/v2/praise/setPraise', $param);
         }
     }
 
@@ -108,13 +108,13 @@ class OptData
         $param['client_secret'] = Sign::getSign($param);
 
         if ($opt === 'cancel') {
-//            return Yohobuy::yarClient(Yohobuy::SERVICE_URL . 'guang/service/v2/favorite/', 'cancelFavorite', array($id, $uid));
+//            return Yohobuy::yarClient(SERVICE_URL . 'guang/service/v2/favorite/', 'cancelFavorite', array($id, $uid));
 
-            return Yohobuy::get(Yohobuy::SERVICE_URL.'guang/api/v1/favorite/cancelFavorite', $param);
+            return Yohobuy::get(SERVICE_URL.'guang/api/v1/favorite/cancelFavorite', $param);
         } else {
-//            return Yohobuy::yarClient(Yohobuy::SERVICE_URL . 'guang/service/v2/favorite/', 'setFavorite', array($id, $uid));
+//            return Yohobuy::yarClient(SERVICE_URL . 'guang/service/v2/favorite/', 'setFavorite', array($id, $uid));
 
-            return Yohobuy::get(Yohobuy::SERVICE_URL.'guang/api/v1/favorite/setFavorite', $param);
+            return Yohobuy::get(SERVICE_URL.'guang/api/v1/favorite/setFavorite', $param);
         }
     }
 
diff --git a/library/LibModels/Wap/Guang/PlusstarData.php b/library/LibModels/Wap/Guang/PlusstarData.php
index afb8efa..847c027 100644
--- a/library/LibModels/Wap/Guang/PlusstarData.php
+++ b/library/LibModels/Wap/Guang/PlusstarData.php
@@ -42,7 +42,7 @@ class PlusstarData
         // 存放接口列表
         $urlList = array();
         // 接口调用的URL
-        $url = Yohobuy::SERVICE_URL . self::URI_BRANDLIST;
+        $url = SERVICE_URL . self::URI_BRANDLIST;
 
         // 公共的参数
         $param = Yohobuy::param();
@@ -81,7 +81,7 @@ class PlusstarData
         // 存放接口列表
         $urlList = array();
         // 接口调用的URL
-        $url = Yohobuy::SERVICE_URL . self::URI_BRANDLIST;
+        $url = SERVICE_URL . self::URI_BRANDLIST;
 
         // 公共的参数
         $param = Yohobuy::param();
@@ -140,7 +140,7 @@ class PlusstarData
             if (!empty($cached)) {
                 // 判断用户是否已收藏
                 if ($isUidOk) {
-//                    $getUidBrandFav = Yohobuy::yarClient(Yohobuy::SERVICE_URL . self::URI_BRANDINFO_FAVORITE, 'getUidBrandFav', array($uid, $cached['getBrandInfo']['data']['brand_id']), false, 1000);
+//                    $getUidBrandFav = Yohobuy::yarClient(SERVICE_URL . self::URI_BRANDINFO_FAVORITE, 'getUidBrandFav', array($uid, $cached['getBrandInfo']['data']['brand_id']), false, 1000);
 
                     $param = Yohobuy::param();
                     $param['uid'] = $uid;
@@ -148,7 +148,7 @@ class PlusstarData
                     $param['client_type'] = $clientType;
                     $param['private_key'] = Yohobuy::$privateKeyList[$clientType];
                     $param['client_secret'] = Sign::getSign($param);
-                    $getUidBrandFav = Yohobuy::get(Yohobuy::SERVICE_URL . self::URI_BRANDINFO_FAVORITE . 'getUidBrandFav', $param);
+                    $getUidBrandFav = Yohobuy::get(SERVICE_URL . self::URI_BRANDINFO_FAVORITE . 'getUidBrandFav', $param);
 //                    file_put_contents('../../../../../../Desktop/app/n/getUidBrandFav.txt', var_export($getUidBrandFav, true));
 
                     if (isset($getUidBrandFav['code']) && $getUidBrandFav['code'] == 200) {
@@ -161,7 +161,7 @@ class PlusstarData
         }
 
         // 品牌详情信息
-//        $brandInfo = Yohobuy::yarClient(Yohobuy::SERVICE_URL . self::URI_BRANDINFO_PLUSSTAR, 'getBrandInfo', array(array('id' => $id)), 3600); // 缓存1小时
+//        $brandInfo = Yohobuy::yarClient(SERVICE_URL . self::URI_BRANDINFO_PLUSSTAR, 'getBrandInfo', array(array('id' => $id)), 3600); // 缓存1小时
 //        file_put_contents('../../../../../../Desktop/app/o/getbrandinfo.txt', var_export($brandInfo, true));
 
         // 品牌详情信息
@@ -170,7 +170,7 @@ class PlusstarData
         $param['client_type'] = $clientType;
         $param['private_key'] = Yohobuy::$privateKeyList[$clientType];
         $param['client_secret'] = Sign::getSign($param);
-        $brandInfo = Yohobuy::get(Yohobuy::SERVICE_URL . self::URI_BRANDINFO_PLUSSTAR_NEW . 'getbrandinfo', $param, 3600);
+        $brandInfo = Yohobuy::get(SERVICE_URL . self::URI_BRANDINFO_PLUSSTAR_NEW . 'getbrandinfo', $param, 3600);
 //        file_put_contents('../../../../../../Desktop/app/n/getbrandinfo.txt', var_export($brandInfo, true));
 
         if (!isset($brandInfo['data']['brand_id'])) {
@@ -194,7 +194,7 @@ class PlusstarData
         $param['private_key'] = Yohobuy::$privateKeyList[$clientType];
         $param['client_secret'] = Sign::getSign($param);
 
-        $article = Yohobuy::get(Yohobuy::SERVICE_URL.self::URI_BRANDINFO_ARTICLE.'getArticleByBrand', $param);
+        $article = Yohobuy::get(SERVICE_URL.self::URI_BRANDINFO_ARTICLE.'getArticleByBrand', $param);
         $result['getArticleByBrand'] = empty($article['data']) ? array() : $article['data'];
 //        file_put_contents('../../../../../../Desktop/app/n/getArticleByBrand.txt', var_export($result['getArticleByBrand'], true));
 
@@ -205,7 +205,7 @@ class PlusstarData
         $param['client_type'] = $clientType;
         $param['private_key'] = Yohobuy::$privateKeyList[$clientType];
         $param['client_secret'] = Sign::getSign($param);
-        $uidBrandFavRes = Yohobuy::get(Yohobuy::SERVICE_URL . self::URI_BRANDINFO_FAVORITE . 'getUidBrandFav', $param);
+        $uidBrandFavRes = Yohobuy::get(SERVICE_URL . self::URI_BRANDINFO_FAVORITE . 'getUidBrandFav', $param);
 
         if (isset($uidBrandFavRes['code']) && $uidBrandFavRes['code'] == 200) {
             $result['getUidBrandFav'] = true;
@@ -231,7 +231,7 @@ class PlusstarData
 //            $param['gender'] = $gender;
 //            $param['order'] = 's_t_desc';
 //            $param['client_secret'] = Sign::getSign($param);
-//            $newProduct = Yohobuy::get(Yohobuy::API_URL, $param, 1800); // 缓存30分钟
+//            $newProduct = Yohobuy::get(API_URL, $param, 1800); // 缓存30分钟
 
             $condition = array();
             $condition['brand'] = $brandInfo['data']['brand_id'];
@@ -263,7 +263,7 @@ class PlusstarData
                 $skn = $value['product_skn'];
                 $result['getUidProductFav'][$skn] = false;
 //                if ($isUidOk) {
-//                    Yohobuy::yarConcurrentCall(Yohobuy::SERVICE_URL . self::URI_BRANDINFO_FAVORITE, 'getUidProductFav', array($uid, $value['product_skn']), function($retval) use(&$result, &$skn) {
+//                    Yohobuy::yarConcurrentCall(SERVICE_URL . self::URI_BRANDINFO_FAVORITE, 'getUidProductFav', array($uid, $value['product_skn']), function($retval) use(&$result, &$skn) {
 //                        $result['getUidProductFav'][$skn] = empty($retval['data']) ? false : $retval['data'];
 //                    });
 //                }
diff --git a/library/LibModels/Wap/Home/CartData.php b/library/LibModels/Wap/Home/CartData.php
index 441ad94..9f6b24d 100644
--- a/library/LibModels/Wap/Home/CartData.php
+++ b/library/LibModels/Wap/Home/CartData.php
@@ -49,7 +49,7 @@ class CartData
         }
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -74,7 +74,7 @@ class CartData
 
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -98,7 +98,7 @@ class CartData
 
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -124,7 +124,7 @@ class CartData
 
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -142,7 +142,7 @@ class CartData
         $param['uid'] = $uid;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -161,7 +161,7 @@ class CartData
         $param['uid'] = $uid;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -179,7 +179,7 @@ class CartData
         $param['promotion_id'] = $promotionId;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -214,7 +214,7 @@ class CartData
 
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -240,7 +240,7 @@ class CartData
 
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -267,7 +267,7 @@ class CartData
 
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -304,7 +304,7 @@ class CartData
         $param['uid'] = $uid;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -322,7 +322,7 @@ class CartData
         $param['uid'] = $uid;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -341,7 +341,7 @@ class CartData
         $param['uid'] = $uid;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -405,7 +405,7 @@ class CartData
         $param['uid'] = $uid;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param, false, false, 5, $userAgent);
+        return Yohobuy::get(API_URL, $param, false, false, 5, $userAgent);
     }
 
     /**
@@ -429,7 +429,7 @@ class CartData
 
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
     
     
@@ -448,7 +448,7 @@ class CartData
         $param['page'] = $page;
         $param['client_secret'] = Sign::getSign($param);
     
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
     
     /**
@@ -470,7 +470,7 @@ class CartData
         $param['limit'] = $limit;
         $param['client_secret'] = Sign::getSign($param);
     
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
     
     /**
@@ -508,7 +508,7 @@ class CartData
         $param['orderCode'] = $orderCode;
         $param['payment'] = $payment;
         $param['client_secret'] = Sign::getSign($param);
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
 }
diff --git a/library/LibModels/Wap/Home/GradeData.php b/library/LibModels/Wap/Home/GradeData.php
index a4c3bd0..f58603a 100644
--- a/library/LibModels/Wap/Home/GradeData.php
+++ b/library/LibModels/Wap/Home/GradeData.php
@@ -27,14 +27,14 @@ class GradeData
         $param['uid'] = $uid;
         $param['method'] = 'app.passport.vip';
         $param['client_secret'] = Sign::getSign($param);
-        $urlList['grade'] = Yohobuy::httpBuildQuery(Yohobuy::API_URL, $param);
+        $urlList['grade'] = Yohobuy::httpBuildQuery(API_URL, $param);
 
         //获取用户基本信息数据(用来得到username)
         $param = Yohobuy::param();
         $param['uid'] = $uid;
         $param['method'] = 'app.passport.profile';
         $param['client_secret'] = Sign::getSign($param);
-        $urlList['userProfile'] = Yohobuy::httpBuildQuery(Yohobuy::API_URL, $param);
+        $urlList['userProfile'] = Yohobuy::httpBuildQuery(API_URL, $param);
 
         return Yohobuy::getMulti($urlList);
     }
@@ -53,7 +53,7 @@ class GradeData
         $param['uid'] = $uid;
         $param['method'] = 'app.passport.getPrivilege';
         $param['client_secret'] = Sign::getSign($param);
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
 }
diff --git a/library/LibModels/Wap/Home/GuangData.php b/library/LibModels/Wap/Home/GuangData.php
index 1f65c42..ba4c8dd 100644
--- a/library/LibModels/Wap/Home/GuangData.php
+++ b/library/LibModels/Wap/Home/GuangData.php
@@ -29,7 +29,7 @@ class GuangData
         $param['limit'] = $limit;
         $param['yh_channel'] = $yh_channel;
         $param['client_secret'] = Sign::getSign($param);
-        return Yohobuy::post(Yohobuy::SERVICE_URL . self::GUANG_URI . 'getUserFavArticleList', $param);
+        return Yohobuy::post(SERVICE_URL . self::GUANG_URI . 'getUserFavArticleList', $param);
     }
 
 }
diff --git a/library/LibModels/Wap/Home/HelpData.php b/library/LibModels/Wap/Home/HelpData.php
index 8762605..b25eec7 100644
--- a/library/LibModels/Wap/Home/HelpData.php
+++ b/library/LibModels/Wap/Home/HelpData.php
@@ -23,7 +23,7 @@ class HelpData
         $param['method'] = 'app.help.li';
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /*
@@ -38,7 +38,7 @@ class HelpData
         $param['code'] = $code;
         $param['return_type'] = 'html';
         $param['client_secret'] = Sign::getSign($param);
-        return Yohobuy::post(Yohobuy::API_OLD, $param, true);
+        return Yohobuy::post(API_OLD, $param, true);
     }
 
 }
diff --git a/library/LibModels/Wap/Home/IndexData.php b/library/LibModels/Wap/Home/IndexData.php
index 195dcac..04ba8cb 100644
--- a/library/LibModels/Wap/Home/IndexData.php
+++ b/library/LibModels/Wap/Home/IndexData.php
@@ -30,7 +30,7 @@ class IndexData
         $param['content_code'] = $contentCode;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::SERVICE_URL . 'operations/api/v5/resource/get', $param);
+        return Yohobuy::get(SERVICE_URL . 'operations/api/v5/resource/get', $param);
     }
 
     /**
@@ -45,7 +45,7 @@ class IndexData
         $param['method'] = 'app.cover.getCoverStart';
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -72,7 +72,7 @@ class IndexData
         $param['page'] = $page;
         $param['limit'] = $limit;
         $param['client_secret'] = Sign::getSign($param);
-        return Yohobuy::get(Yohobuy::SERVICE_URL . 'operations/api/v5/resource/home', $param, false, false, 2);
+        return Yohobuy::get(SERVICE_URL . 'operations/api/v5/resource/home', $param, false, false, 2);
     }
 
     /**
@@ -85,7 +85,7 @@ class IndexData
         $param = Yohobuy::param();
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::SERVICE_URL . 'operations/api/v5/entrance/getEntrance', $param);
+        return Yohobuy::get(SERVICE_URL . 'operations/api/v5/entrance/getEntrance', $param);
     }
 
 }
diff --git a/library/LibModels/Wap/Home/OnlineData.php b/library/LibModels/Wap/Home/OnlineData.php
index 06476ef..a28d44b 100644
--- a/library/LibModels/Wap/Home/OnlineData.php
+++ b/library/LibModels/Wap/Home/OnlineData.php
@@ -28,7 +28,7 @@ class OnlineData
         $params = Yohobuy::param();
         $params['client_secret'] = Sign::getSign($params);
 
-        return Yohobuy::get(Yohobuy::SERVICE_URL . self::ONLINE_URI . 'getCategory', $params, 3600);
+        return Yohobuy::get(SERVICE_URL . self::ONLINE_URI . 'getCategory', $params, 3600);
     }
 
     /*
@@ -42,7 +42,7 @@ class OnlineData
         $params['category_id'] = $cateId;
         $params['client_secret'] = Sign::getSign($params);
 
-        return Yohobuy::get(Yohobuy::SERVICE_URL . self::ONLINE_URI . 'getHelp', $params, 3600);
+        return Yohobuy::get(SERVICE_URL . self::ONLINE_URI . 'getHelp', $params, 3600);
     }
 
 }
diff --git a/library/LibModels/Wap/Home/OrderData.php b/library/LibModels/Wap/Home/OrderData.php
index 6d4ea94..c44780d 100644
--- a/library/LibModels/Wap/Home/OrderData.php
+++ b/library/LibModels/Wap/Home/OrderData.php
@@ -28,7 +28,7 @@ class OrderData
         $param['yh_channel'] = $channel;
         $param['client_secret'] = Sign::getSign($param);
         //调用接口获得数据
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /*
@@ -46,7 +46,7 @@ class OrderData
         $param['method'] = 'app.SpaceOrders.close';
         $param['client_secret'] = Sign::getSign($param);
         //调用接口获得数据
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /*
@@ -64,7 +64,7 @@ class OrderData
         $param['method'] = 'app.SpaceOrders.delOrderByCode';
         $param['client_secret'] = Sign::getSign($param);
         //调用接口删除订单
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -84,7 +84,7 @@ class OrderData
         $param['session_key'] = $sessionKey;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /*
@@ -104,7 +104,7 @@ class OrderData
         $param['uid'] = $uid;
         $param['client_secret'] = Sign::getSign($param);
         //调用接口获得数据
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /*
@@ -120,7 +120,7 @@ class OrderData
         $param['yh_channel'] = $yh_channel;
         $param['client_secret'] = Sign::getSign($param);
         //调用接口获得数据
-        return Yohobuy::get(Yohobuy::SERVICE_URL . '/operations/api/v5/resource/get', $param);
+        return Yohobuy::get(SERVICE_URL . '/operations/api/v5/resource/get', $param);
     }
 
     /*
@@ -138,7 +138,7 @@ class OrderData
         $param['yh_channel'] = $yh_channel;
         $param['client_secret'] = Sign::getSign($param);
         //调用接口获得数据
-        return Yohobuy::get(Yohobuy::SERVICE_URL . '/operations/api/v5/resource/get', $param);
+        return Yohobuy::get(SERVICE_URL . '/operations/api/v5/resource/get', $param);
     }
     
     /**
@@ -160,7 +160,7 @@ class OrderData
         $param['client_secret'] = Sign::getSign($param);
         
         // 调用接口获得数据
-        return Yohobuy::post(Yohobuy::API_URL, $param);
+        return Yohobuy::post(API_URL, $param);
     }
 
 }
diff --git a/library/LibModels/Wap/Home/SideData.php b/library/LibModels/Wap/Home/SideData.php
index 9ed6540..6704727 100644
--- a/library/LibModels/Wap/Home/SideData.php
+++ b/library/LibModels/Wap/Home/SideData.php
@@ -33,8 +33,8 @@ class SideData
 //        $query = Yohobuy::httpBuildQuery('', $param);
 //        
 //        $urlList = array();
-//        $urlList['getEntrance'] = Yohobuy::SERVICE_URL . self::URI_LEFTNAV_ENTRANCE . $query;
-//        $urlList['getCategory'] = Yohobuy::SERVICE_URL . self::URI_LEFTNAV_CATEGORY . $query;
+//        $urlList['getEntrance'] = SERVICE_URL . self::URI_LEFTNAV_ENTRANCE . $query;
+//        $urlList['getCategory'] = SERVICE_URL . self::URI_LEFTNAV_CATEGORY . $query;
 //        
 //        return Yohobuy::getMulti($urlList);
 
@@ -43,7 +43,7 @@ class SideData
         $param['private_key'] = 'fd4ad5fcfa0de589ef238c0e7331b585'; // 调用Android的private_key不然会有参数验证错误的bug
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::SERVICE_URL . self::URI_LEFTNAV_CATEGORY, $param);
+        return Yohobuy::get(SERVICE_URL . self::URI_LEFTNAV_CATEGORY, $param);
     }
 
 }
diff --git a/library/LibModels/Wap/Home/UserData.php b/library/LibModels/Wap/Home/UserData.php
index ddcdda2..00be074 100644
--- a/library/LibModels/Wap/Home/UserData.php
+++ b/library/LibModels/Wap/Home/UserData.php
@@ -31,7 +31,7 @@ class UserData
         $param['uid'] = $uid;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param, $cache); // 缓存1小时
+        return Yohobuy::get(API_URL, $param, $cache); // 缓存1小时
     }
 
     /**
@@ -45,7 +45,7 @@ class UserData
         $param['method'] = 'app.resources.getNotices';
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -62,7 +62,7 @@ class UserData
         $param['udid'] = $udid;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -78,7 +78,7 @@ class UserData
         $param['yh_channel'] = $yh_channel;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -100,7 +100,7 @@ class UserData
         $param['limit'] = $limit;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -120,7 +120,7 @@ class UserData
         $param['limit'] = $limit;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -142,7 +142,7 @@ class UserData
         $param['limit'] = $limit;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -161,7 +161,7 @@ class UserData
         $param['fav_id'] = $fav_id;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -183,7 +183,7 @@ class UserData
         $param['limit'] = $limit;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -201,7 +201,7 @@ class UserData
         $param['skn'] = $skn;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -217,14 +217,14 @@ class UserData
         $param['uid'] = $uid;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);*/
+        return Yohobuy::get(API_URL, $param);*/
 
         $param = Yohobuy::param();
         $param['method'] = 'app.yoho.yohocoin';
         $param['uid'] = $uid;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -245,7 +245,7 @@ class UserData
         $param['limit'] = $limit;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::$type(Yohobuy::API_URL, $param);
+        return Yohobuy::$type(API_URL, $param);
     }
 
     /**
@@ -268,7 +268,7 @@ class UserData
 
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -284,7 +284,7 @@ class UserData
         $param['uid'] = $uid;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -300,7 +300,7 @@ class UserData
         $param['uid'] = $uid;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -336,7 +336,7 @@ class UserData
         $param['uid'] = $uid;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -354,7 +354,7 @@ class UserData
         $param['uid'] = $uid;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -372,7 +372,7 @@ class UserData
         $param['uid'] = $uid;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -391,7 +391,7 @@ class UserData
         $param['limit'] = $limit;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::SERVICE_URL . 'suggest/api/v1/suggest/getList', $param);
+        return Yohobuy::get(SERVICE_URL . 'suggest/api/v1/suggest/getList', $param);
     }
 
     /**
@@ -412,7 +412,7 @@ class UserData
         $param['suggest_id'] = $suggest_id;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::SERVICE_URL . 'suggest/api/v1/suggest/is_reliable', $param);
+        return Yohobuy::get(SERVICE_URL . 'suggest/api/v1/suggest/is_reliable', $param);
     }
 
     /**
@@ -435,7 +435,7 @@ class UserData
         $param['suggest_type'] = $suggest_type;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::SERVICE_URL . 'suggest/api/v1/suggest/saveSuggest', $param);
+        return Yohobuy::get(SERVICE_URL . 'suggest/api/v1/suggest/saveSuggest', $param);
     }
 
     /**
@@ -455,7 +455,7 @@ class UserData
         $param['method'] = 'app.inbox.getlist';
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -468,7 +468,7 @@ class UserData
         $param = Yohobuy::param();
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::SERVICE_URL . 'operations/api/v1/help/getCategory', $param);
+        return Yohobuy::get(SERVICE_URL . 'operations/api/v1/help/getCategory', $param);
     }
 
     /**
@@ -482,7 +482,7 @@ class UserData
         $param['method'] = 'app.help.li';
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -499,7 +499,7 @@ class UserData
         $param['code'] = $code;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param, true, true);
+        return Yohobuy::get(API_URL, $param, true, true);
     }
 
 }
diff --git a/library/LibModels/Wap/Passport/BackData.php b/library/LibModels/Wap/Passport/BackData.php
index 82cc75c..4ef9a5c 100644
--- a/library/LibModels/Wap/Passport/BackData.php
+++ b/library/LibModels/Wap/Passport/BackData.php
@@ -30,7 +30,7 @@ class BackData
         $param['method'] = 'app.passport.getArea';
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -48,7 +48,7 @@ class BackData
         $param['method'] = 'app.register.backpwdByEmail';
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -65,7 +65,7 @@ class BackData
         $param['code'] = $code;
 
         // 默认返回的不是json类型数据,是html
-        return Yohobuy::get(Yohobuy::YOHOBUY_URL . 'passport/back/update', $param, true);
+        return Yohobuy::get(YOHOBUY_URL . 'passport/back/update', $param, true);
     }
 
     /**
@@ -85,7 +85,7 @@ class BackData
         $param['method'] = 'app.register.sendBackpwdCodeToMobile';
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -107,7 +107,7 @@ class BackData
         $param['method'] = 'app.register.validBackpwdCode';
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -130,7 +130,7 @@ class BackData
         $param['method'] = 'app.register.changepwdByMobileCode';
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
 }
diff --git a/library/LibModels/Wap/Passport/BindData.php b/library/LibModels/Wap/Passport/BindData.php
index 93a355a..59dddf9 100644
--- a/library/LibModels/Wap/Passport/BindData.php
+++ b/library/LibModels/Wap/Passport/BindData.php
@@ -36,7 +36,7 @@ class BindData
         $param['source_type'] = $sourceType;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -52,7 +52,7 @@ class BindData
         $param['area'] = $area;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -68,7 +68,7 @@ class BindData
         $param['area'] = $area;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -98,7 +98,7 @@ class BindData
         }
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -114,7 +114,7 @@ class BindData
         $param['area'] = $area;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -135,7 +135,7 @@ class BindData
         $param['area'] = $area;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
 }
diff --git a/library/LibModels/Wap/Passport/LoginData.php b/library/LibModels/Wap/Passport/LoginData.php
index c475c4c..404d935 100644
--- a/library/LibModels/Wap/Passport/LoginData.php
+++ b/library/LibModels/Wap/Passport/LoginData.php
@@ -39,7 +39,7 @@ class LoginData
 
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::post(Yohobuy::API_URL, $param);
+        return Yohobuy::post(API_URL, $param);
     }
 
     /**
@@ -55,7 +55,7 @@ class LoginData
         $param['uid'] = $uid;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -81,7 +81,7 @@ class LoginData
 
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
 }
diff --git a/library/LibModels/Wap/Passport/RegData.php b/library/LibModels/Wap/Passport/RegData.php
index a13d9c9..82a4673 100644
--- a/library/LibModels/Wap/Passport/RegData.php
+++ b/library/LibModels/Wap/Passport/RegData.php
@@ -31,7 +31,7 @@ class RegData
 //        $param = Yohobuy::param();
 //        $param['method'] = 'app.passport.getArea';
 //        $param['client_secret'] = Sign::getSign($param);
-//        $data = Yohobuy::get(Yohobuy::API_URL, $param);
+//        $data = Yohobuy::get(API_URL, $param);
 //        $result = array();
 //        if (!empty($data['data'])) {
 //            $build = array();
@@ -127,7 +127,7 @@ class RegData
         $param['mobile'] = $mobile;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::post(Yohobuy::API_URL, $param);
+        return Yohobuy::post(API_URL, $param);
     }
 
     /**
@@ -147,7 +147,7 @@ class RegData
         $param['code'] = $code;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::post(Yohobuy::API_URL, $param);
+        return Yohobuy::post(API_URL, $param);
     }
 
     /**
@@ -167,7 +167,7 @@ class RegData
         $param['password'] = $password;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::post(Yohobuy::API_URL, $param);
+        return Yohobuy::post(API_URL, $param);
     }
 
 }
diff --git a/library/LibModels/Wap/Product/BrandData.php b/library/LibModels/Wap/Product/BrandData.php
index 23ddedd..0ee165a 100644
--- a/library/LibModels/Wap/Product/BrandData.php
+++ b/library/LibModels/Wap/Product/BrandData.php
@@ -34,7 +34,7 @@ class BrandData
         $param['type'] = $isBrand ? 'brand' : 'product';
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::post(Yohobuy::API_URL, $param);
+        return Yohobuy::post(API_URL, $param);
     }
 
     /**
@@ -54,7 +54,7 @@ class BrandData
         $param['type'] = $isBrand ? 'brand' : 'product';
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::post(Yohobuy::API_URL, $param);
+        return Yohobuy::post(API_URL, $param);
     }
 
 }
diff --git a/library/LibModels/Wap/Product/DetailData.php b/library/LibModels/Wap/Product/DetailData.php
index a81326b..eaf2783 100644
--- a/library/LibModels/Wap/Product/DetailData.php
+++ b/library/LibModels/Wap/Product/DetailData.php
@@ -45,7 +45,7 @@ class DetailData
 
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -68,7 +68,7 @@ class DetailData
 
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -94,7 +94,7 @@ class DetailData
         $param['limit'] = $pageSize;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -108,7 +108,7 @@ class DetailData
         $param['method'] = 'app.consult.common';
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -128,7 +128,7 @@ class DetailData
         $param['limit'] = $pageSize;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -148,7 +148,7 @@ class DetailData
         $param['brandId'] = $brandId;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param, 3600); // 缓存1小时
+        return Yohobuy::get(API_URL, $param, 3600); // 缓存1小时
     }
 
     /**
@@ -167,7 +167,7 @@ class DetailData
         $param['uid'] = $uid;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::post(Yohobuy::API_URL, $param);
+        return Yohobuy::post(API_URL, $param);
     }
 
     /**
@@ -183,7 +183,7 @@ class DetailData
         $param['product_skn'] = $productSkn;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -201,7 +201,7 @@ class DetailData
         $param['uid'] = $uid;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -219,7 +219,7 @@ class DetailData
         $param['uid'] = $uid;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -239,7 +239,7 @@ class DetailData
         }
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
 }
diff --git a/library/LibModels/Wap/Product/ListData.php b/library/LibModels/Wap/Product/ListData.php
index c669d35..caa35ca 100644
--- a/library/LibModels/Wap/Product/ListData.php
+++ b/library/LibModels/Wap/Product/ListData.php
@@ -35,7 +35,7 @@ class ListData
 //        $param['order'] = 's_t_desc';
 //        $param['client_secret'] = Sign::getSign($param);
 //
-//        return Yohobuy::get(Yohobuy::API_URL, $param, 3600); // 有缓存1小时
+//        return Yohobuy::get(API_URL, $param, 3600); // 有缓存1小时
 
         $condition = array();
         $condition['query'] = implode(' ', $skns);
@@ -53,7 +53,7 @@ class ListData
      */
     public static function productInfoBySkcs($skcs)
     {
-        return Yohobuy::yarClient(Yohobuy::SERVICE_URL . self::URI_PRODUCT, 'getLessInfoByProductSkcs', array(array('productSkcs' => $skcs)));
+        return Yohobuy::yarClient(SERVICE_URL . self::URI_PRODUCT, 'getLessInfoByProductSkcs', array(array('productSkcs' => $skcs)));
     }
 
 }
diff --git a/library/LibModels/Wap/Product/NewsaleData.php b/library/LibModels/Wap/Product/NewsaleData.php
index 9043642..8891511 100644
--- a/library/LibModels/Wap/Product/NewsaleData.php
+++ b/library/LibModels/Wap/Product/NewsaleData.php
@@ -30,7 +30,7 @@ class NewsaleData
         $param['content_code'] = $contentCode;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::SERVICE_URL . 'operations/api/v5/resource/get', $param);
+        return Yohobuy::get(SERVICE_URL . 'operations/api/v5/resource/get', $param);
     }
 
     /**
@@ -56,7 +56,7 @@ class NewsaleData
         $param['dayLimit'] = 1;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -108,7 +108,7 @@ class NewsaleData
         $param = array_merge($param, $queriedParams);
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param, 600); // 缓存10分钟
+        return Yohobuy::get(API_URL, $param, 600); // 缓存10分钟
     }
 
     /**
@@ -132,7 +132,7 @@ class NewsaleData
         $param['p_d'] = '0.1,0.9';
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -175,7 +175,7 @@ class NewsaleData
 
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -202,7 +202,7 @@ class NewsaleData
 
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
 }
diff --git a/library/LibModels/Wap/Product/RecomData.php b/library/LibModels/Wap/Product/RecomData.php
index 7da92f6..2b59029 100644
--- a/library/LibModels/Wap/Product/RecomData.php
+++ b/library/LibModels/Wap/Product/RecomData.php
@@ -36,7 +36,7 @@ class RecomData
         $param['yh_channel'] = $channel;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param, 3600);
+        return Yohobuy::get(API_URL, $param, 3600);
     }
 
     /**
@@ -55,7 +55,7 @@ class RecomData
         $param['yh_channel'] = '3';
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param, 3600);
+        return Yohobuy::get(API_URL, $param, 3600);
     }
 
     /**
@@ -74,7 +74,7 @@ class RecomData
 //        $param['yh_channel'] = '4';
 //        $param['client_secret'] = Sign::getSign($param);
 //
-//        return Yohobuy::get(Yohobuy::API_URL, $param);
+//        return Yohobuy::get(API_URL, $param);
         // 人气单品
         $param = array(
             array(
@@ -86,7 +86,7 @@ class RecomData
             ),
             'N', false
         );
-        $result['top'] = Yohobuy::yarClient(Yohobuy::SERVICE_URL . '/search/service/v1/product', 'search', $param, 3600); // 缓存1小时
+        $result['top'] = Yohobuy::yarClient(SERVICE_URL . '/search/service/v1/product', 'search', $param, 3600); // 缓存1小时
         // 新品到着
         $param = array(
             array('status' => 1, 'stocknumber' => 1, 'gender' => ''),
@@ -99,7 +99,7 @@ class RecomData
             ),
             false
         );
-        $result['new'] = Yohobuy::yarClient(Yohobuy::SERVICE_URL . '/search/service/v1/product', 'searchBySortList', $param, 3600); // 缓存1小时
+        $result['new'] = Yohobuy::yarClient(SERVICE_URL . '/search/service/v1/product', 'searchBySortList', $param, 3600); // 缓存1小时
 
         return $result;
     }
diff --git a/library/LibModels/Wap/Product/SearchData.php b/library/LibModels/Wap/Product/SearchData.php
index e47afaa..9d23ac5 100644
--- a/library/LibModels/Wap/Product/SearchData.php
+++ b/library/LibModels/Wap/Product/SearchData.php
@@ -56,7 +56,7 @@ class SearchData
         $param['method'] = 'app.search.fuzzy';
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -99,7 +99,7 @@ class SearchData
         }
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
diff --git a/library/LibModels/Web/Guang/InfoData.php b/library/LibModels/Web/Guang/InfoData.php
index 8c79d7b..b4a0d09 100644
--- a/library/LibModels/Web/Guang/InfoData.php
+++ b/library/LibModels/Web/Guang/InfoData.php
@@ -13,58 +13,58 @@ class InfoData
     {
         //作者信息
         if ($type == 'author') {
-            return Yohobuy::SERVICE_URL.'guang/service/v1/author/getAuthor';
+            return SERVICE_URL.'guang/service/v1/author/getAuthor';
         }
         //文章评论列表
         elseif($type == 'commentList') {
-            return Yohobuy::SERVICE_URL.'guang/api/v1/comments/getList';
+            return SERVICE_URL.'guang/api/v1/comments/getList';
         }
         //热门标签
         elseif ($type == 'getTagTop') {
-            return Yohobuy::SERVICE_URL.'guang/api/v2/article/getTagTop';
+            return SERVICE_URL.'guang/api/v2/article/getTagTop';
         }
         //精彩推荐
         elseif ($type == 'getArticleByViewsNum') {
-            return Yohobuy::SERVICE_URL.'guang/api/v2/article/getArticleByViewsNum';
+            return SERVICE_URL.'guang/api/v2/article/getArticleByViewsNum';
         }
         elseif ($type == 'getBrand'){
-            return Yohobuy::SERVICE_URL.'guang/service/v2/article/getBrand';
+            return SERVICE_URL.'guang/service/v2/article/getBrand';
         }
         //相关文章
         elseif ($type == 'getOtherArticle') {
-            return Yohobuy::SERVICE_URL.'guang/service/v2/article/getOtherArticle';
+            return SERVICE_URL.'guang/service/v2/article/getOtherArticle';
         }
         //文章标题等相关信息
         elseif ($type == 'getArticle') {
-            return Yohobuy::SERVICE_URL.'guang/service/v2/article/getArticle';
+            return SERVICE_URL.'guang/service/v2/article/getArticle';
         }
         //文章详情
         elseif ($type == 'getArticleContent') {
-            return Yohobuy::SERVICE_URL.'guang/service/v2/article/getArticleContent';
+            return SERVICE_URL.'guang/service/v2/article/getArticleContent';
         }
         //基本信息
         elseif ($type == 'getArticleBaseInfo') {
-            return Yohobuy::SERVICE_URL.'guang/api/v1/article/getArticleBaseInfo';
+            return SERVICE_URL.'guang/api/v1/article/getArticleBaseInfo';
         }
         //添加评论
         elseif ($type == 'addComment') {
-            return Yohobuy::SERVICE_URL.'guang/api/v1/comments/add';
+            return SERVICE_URL.'guang/api/v1/comments/add';
         }
         //点赞
         elseif ($type == 'setPraise') {
-            return Yohobuy::SERVICE_URL.'guang/api/v2/praise/setPraise';
+            return SERVICE_URL.'guang/api/v2/praise/setPraise';
         }
         //取消赞
         elseif ($type == 'cancelPraise') {
-            return Yohobuy::SERVICE_URL.'guang/api/v2/praise/cancel';
+            return SERVICE_URL.'guang/api/v2/praise/cancel';
         }
         //收藏
         elseif ($type == 'setFavorite') {
-            return Yohobuy::SERVICE_URL.'guang/api/v1/favorite/setFavorite';
+            return SERVICE_URL.'guang/api/v1/favorite/setFavorite';
         }
         //取消收藏
         elseif ($type == 'cancelFavorite') {
-            return Yohobuy::SERVICE_URL.'guang/api/v1/favorite/cancelFavorite';
+            return SERVICE_URL.'guang/api/v1/favorite/cancelFavorite';
         }
     }
 
diff --git a/library/LibModels/Web/Guang/ListData.php b/library/LibModels/Web/Guang/ListData.php
index 0b3637a..814dce6 100644
--- a/library/LibModels/Web/Guang/ListData.php
+++ b/library/LibModels/Web/Guang/ListData.php
@@ -32,7 +32,7 @@ class ListData
         $param = Yohobuy::param();
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::SERVICE_URL . self::URI_CATEGORY, $param, 3600); // 有缓存1小时
+        return Yohobuy::get(SERVICE_URL . self::URI_CATEGORY, $param, 3600); // 有缓存1小时
     }
 
     /**
@@ -74,7 +74,7 @@ class ListData
 
         $cache = $useCache ? 300 : false;
 
-        return Yohobuy::get(Yohobuy::SERVICE_URL . self::URI_ARTICLELIST, $param, $cache);  // 缓存5分钟
+        return Yohobuy::get(SERVICE_URL . self::URI_ARTICLELIST, $param, $cache);  // 缓存5分钟
     }
 
     /**
@@ -101,7 +101,7 @@ class ListData
             $param['udid'] = $udid;
             $param['client_secret'] = Sign::getSign($param);
 
-            $urlList[$value['id']] = Yohobuy::httpBuildQuery(Yohobuy::SERVICE_URL . self::URI_ARTICLELIST, $param);
+            $urlList[$value['id']] = Yohobuy::httpBuildQuery(SERVICE_URL . self::URI_ARTICLELIST, $param);
         }
 
         return Yohobuy::getMulti($urlList);
@@ -117,14 +117,14 @@ class ListData
     {
         $result = array();
         if (is_numeric($id)) {
-//            $result = Yohobuy::yarClient(Yohobuy::SERVICE_URL . self::URI_AUTHOR, 'getAuthor', array($id), 3600); // 缓存1小时
+//            $result = Yohobuy::yarClient(SERVICE_URL . self::URI_AUTHOR, 'getAuthor', array($id), 3600); // 缓存1小时
             $param = Yohobuy::param();
             $param['author_id'] = $id;
             $param['client_type'] = "web";
             $param['private_key'] = Yohobuy::$privateKeyList['web'];
             $param['client_secret'] = Sign::getSign($param);
 
-            $result = Yohobuy::get(Yohobuy::SERVICE_URL . self::URI_GETAUTHOR, $param);  // 缓存1小时
+            $result = Yohobuy::get(SERVICE_URL . self::URI_GETAUTHOR, $param);  // 缓存1小时
         }
         return $result;
     }
@@ -145,6 +145,6 @@ class ListData
         $param['private_key'] = Yohobuy::$privateKeyList['web'];
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::SERVICE_URL . 'guang/service/v2/article/getArticleByBrand', $param);
+        return Yohobuy::get(SERVICE_URL . 'guang/service/v2/article/getArticleByBrand', $param);
     }
 }
diff --git a/library/LibModels/Web/Guang/PlusstarData.php b/library/LibModels/Web/Guang/PlusstarData.php
index 4a83df4..463138f 100644
--- a/library/LibModels/Web/Guang/PlusstarData.php
+++ b/library/LibModels/Web/Guang/PlusstarData.php
@@ -22,7 +22,7 @@ class PlusstarData {
         $param['client_type'] = $type;
         $param['private_key'] = Yohobuy::$privateKeyList[$type];
         $param['client_secret'] = Sign::getSign($param);
-        return Yohobuy::get(Yohobuy::SERVICE_URL . self::URI_BRANDLIST, $param);
+        return Yohobuy::get(SERVICE_URL . self::URI_BRANDLIST, $param);
     }
     
 }
\ No newline at end of file
diff --git a/library/LibModels/Web/Home/AccountData.php b/library/LibModels/Web/Home/AccountData.php
index 34b8a73..aab3750 100644
--- a/library/LibModels/Web/Home/AccountData.php
+++ b/library/LibModels/Web/Home/AccountData.php
@@ -20,7 +20,7 @@ class AccountData
         $param['uid'] = $uid;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -37,7 +37,7 @@ class AccountData
         $param['password'] = $password;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -54,7 +54,7 @@ class AccountData
         $param['newPassword'] = $newPwd;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -73,7 +73,7 @@ class AccountData
         $param['uid'] = $uid;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -92,7 +92,7 @@ class AccountData
         $param['code'] = $code;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -110,7 +110,7 @@ class AccountData
         $param['uid'] = $uid;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -129,7 +129,7 @@ class AccountData
         $param['uid'] = $uid;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -146,7 +146,7 @@ class AccountData
         $param['uid'] = $uid;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -163,7 +163,7 @@ class AccountData
         $param['callback'] = $callback;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -179,7 +179,7 @@ class AccountData
         $param['uid'] = $uid;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -191,7 +191,7 @@ class AccountData
         $param['method'] = 'web.passport.checkCodeValid';
         $param['code'] = $code;
         $param['client_secret'] = Sign::getSign($param);
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -205,7 +205,7 @@ class AccountData
         $param['method'] = 'web.passport.changeVerifyEmail';
         $param['code'] = $code;
         $param['client_secret'] = Sign::getSign($param);
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
 }
diff --git a/library/LibModels/Web/Home/AddressData.php b/library/LibModels/Web/Home/AddressData.php
index 54808ea..c85f1d5 100644
--- a/library/LibModels/Web/Home/AddressData.php
+++ b/library/LibModels/Web/Home/AddressData.php
@@ -19,7 +19,7 @@ class AddressData
         $param['id'] = $parentId;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
     
     /**
@@ -37,7 +37,7 @@ class AddressData
         $param['limit'] = $limit;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
     
     
@@ -76,7 +76,7 @@ class AddressData
         $param['uid'] = $uid;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
     
     /**
@@ -94,7 +94,7 @@ class AddressData
         $param['uid'] = $uid;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
     
     /**
@@ -112,7 +112,7 @@ class AddressData
         $param['uid'] = $uid;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
 }
diff --git a/library/LibModels/Web/Home/CartData.php b/library/LibModels/Web/Home/CartData.php
index 5082de3..70c010f 100644
--- a/library/LibModels/Web/Home/CartData.php
+++ b/library/LibModels/Web/Home/CartData.php
@@ -48,7 +48,7 @@ class CartData
         }
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -73,7 +73,7 @@ class CartData
         }
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -95,7 +95,7 @@ class CartData
         }
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -120,7 +120,7 @@ class CartData
         }
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -139,7 +139,7 @@ class CartData
         $param['uid'] = $uid;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -158,7 +158,7 @@ class CartData
         $param['uid'] = $uid;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -176,7 +176,7 @@ class CartData
         $param['promotion_id'] = $promotionId;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -211,7 +211,7 @@ class CartData
         }
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -235,7 +235,7 @@ class CartData
         }
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -255,7 +255,7 @@ class CartData
         $param['uid'] = $uid;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -295,7 +295,7 @@ class CartData
         $param['uid'] = $uid;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -313,7 +313,7 @@ class CartData
         $param['uid'] = $uid;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -332,7 +332,7 @@ class CartData
         $param['uid'] = $uid;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -348,7 +348,7 @@ class CartData
         $param['uid'] = $uid;
         $param['client_secret'] = Sign::getSign($param);
     
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
     
     /**
@@ -429,7 +429,9 @@ class CartData
         }
         $param['remark'] = $remark;
         $param['client_secret'] = Sign::getSign($param);
-        return Yohobuy::get(Yohobuy::API_URL, $param, false, false, 10, $userAgent);
+
+        return Yohobuy::get(API_URL, $param, false, false, 10, $userAgent);
+
     }
 
     /**
@@ -451,7 +453,7 @@ class CartData
         }
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
     
     /**
@@ -469,7 +471,7 @@ class CartData
         $param['page'] = $page;
         $param['client_secret'] = Sign::getSign($param);
         
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -491,7 +493,7 @@ class CartData
         $param['limit'] = $limit;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
     
     /**
@@ -529,6 +531,10 @@ class CartData
         $param['orderCode'] = $orderCode;
         $param['payment'] = $payment;
         $param['client_secret'] = Sign::getSign($param);
+<<<<<<< HEAD
         return Yohobuy::get(Yohobuy::API_URL, $param);
+=======
+        return Yohobuy::get(API_URL, $param);
+>>>>>>> master
     }
 }
diff --git a/library/LibModels/Web/Home/CommentData.php b/library/LibModels/Web/Home/CommentData.php
index e563969..2864e8f 100644
--- a/library/LibModels/Web/Home/CommentData.php
+++ b/library/LibModels/Web/Home/CommentData.php
@@ -22,7 +22,7 @@ class CommentData
         $param['uid'] = $uid;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::post(Yohobuy::API_URL, $param);
+        return Yohobuy::post(API_URL, $param);
     }
 
 
@@ -47,7 +47,7 @@ class CommentData
         $param['parameters'] = json_encode($parameters);
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::post(Yohobuy::API_URL, $param);
+        return Yohobuy::post(API_URL, $param);
     }
 
 }
\ No newline at end of file
diff --git a/library/LibModels/Web/Home/ComplaintsData.php b/library/LibModels/Web/Home/ComplaintsData.php
index 7cb5dcd..7549f19 100644
--- a/library/LibModels/Web/Home/ComplaintsData.php
+++ b/library/LibModels/Web/Home/ComplaintsData.php
@@ -25,7 +25,7 @@ class ComplaintsData
         $param['client_type'] = $clientType;
         $param['private_key'] = Yohobuy::$privateKeyList[$clientType];
         $param['client_secret'] = Sign::getSign($param);
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -46,7 +46,7 @@ class ComplaintsData
         $param['client_type'] = $clientType;
         $param['private_key'] = Yohobuy::$privateKeyList[$clientType];
         $param['client_secret'] = Sign::getSign($param);
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -63,7 +63,7 @@ class ComplaintsData
         $param['client_type'] = $clientType;
         $param['private_key'] = Yohobuy::$privateKeyList[$clientType];
         $param['client_secret'] = Sign::getSign($param);
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
 }
diff --git a/library/LibModels/Web/Home/ConsultData.php b/library/LibModels/Web/Home/ConsultData.php
index f3c388f..291cdda 100644
--- a/library/LibModels/Web/Home/ConsultData.php
+++ b/library/LibModels/Web/Home/ConsultData.php
@@ -22,7 +22,7 @@ class ConsultData
         $param['page'] = $page;
         $param['limit'] = $limit;
         $param['client_secret'] = Sign::getSign($param);
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
 }
diff --git a/library/LibModels/Web/Home/CouponData.php b/library/LibModels/Web/Home/CouponData.php
index 7b55aef..fd54e97 100644
--- a/library/LibModels/Web/Home/CouponData.php
+++ b/library/LibModels/Web/Home/CouponData.php
@@ -22,7 +22,7 @@ class CouponData
            $param['uid'] = $uid; 
         }        
         $param['client_secret'] = Sign::getSign($param);
-        return Yohobuy::get(Yohobuy::API_URL , $param);
+        return Yohobuy::get(API_URL , $param);
     }
 
     /**
@@ -38,7 +38,7 @@ class CouponData
         $param['uid'] = $uid;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
 }
diff --git a/library/LibModels/Web/Home/CurrencyData.php b/library/LibModels/Web/Home/CurrencyData.php
index 3b756f6..79fd932 100644
--- a/library/LibModels/Web/Home/CurrencyData.php
+++ b/library/LibModels/Web/Home/CurrencyData.php
@@ -23,7 +23,7 @@ class CurrencyData
         $param['limit'] = 15;
         $param = array_merge($param, $condition);
         $param['client_secret'] = Sign::getSign($param);
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -37,7 +37,7 @@ class CurrencyData
         $param['method'] = 'app.yoho.yohocoin';
         $param['uid'] = $uid;
         $param['client_secret'] = Sign::getSign($param);
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
 }
diff --git a/library/LibModels/Web/Home/HelpData.php b/library/LibModels/Web/Home/HelpData.php
index eb2b7ed..899972f 100644
--- a/library/LibModels/Web/Home/HelpData.php
+++ b/library/LibModels/Web/Home/HelpData.php
@@ -19,7 +19,7 @@ class HelpData
 
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -41,7 +41,7 @@ class HelpData
         }
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -60,7 +60,7 @@ class HelpData
         }
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
 }
diff --git a/library/LibModels/Web/Home/IndexData.php b/library/LibModels/Web/Home/IndexData.php
index f5f151a..5af4c34 100644
--- a/library/LibModels/Web/Home/IndexData.php
+++ b/library/LibModels/Web/Home/IndexData.php
@@ -28,7 +28,7 @@ class IndexData
         $params['client_type'] = 'web'; // 调用web手机网站的
         $params['private_key'] = '0ed29744ed318fd28d2c07985d3ba633'; // 调用Android的private_key不然会有参数验证错误的bug
         $params['client_secret'] = Sign::getSign($params);
-        return Yohobuy::get(Yohobuy::SERVICE_URL . self::URI_LEFTNAV_CATEGORY, $params);
+        return Yohobuy::get(SERVICE_URL . self::URI_LEFTNAV_CATEGORY, $params);
     }
 
     /**
@@ -48,9 +48,9 @@ class IndexData
         $params['private_key'] = Yohobuy::$privateKeyList[$client_type];
         $params['client_secret'] = Sign::getSign($params);
         if($isOnlyUrl) {
-            return Yohobuy::httpBuildQuery(Yohobuy::SERVICE_URL . self::URL_OPERATIONS_RESOURCE_GET, $params);
+            return Yohobuy::httpBuildQuery(SERVICE_URL . self::URL_OPERATIONS_RESOURCE_GET, $params);
         }
-        return Yohobuy::get(Yohobuy::SERVICE_URL . self::URL_OPERATIONS_RESOURCE_GET, $params, false, false, 2);
+        return Yohobuy::get(SERVICE_URL . self::URL_OPERATIONS_RESOURCE_GET, $params, false, false, 2);
     }
 
     /**
@@ -71,7 +71,7 @@ class IndexData
         $param['client_type'] = 'web';
         $param['private_key'] = Yohobuy::$privateKeyList['web'];
         $param['client_secret'] = Sign::getSign($param);
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -95,7 +95,7 @@ class IndexData
         $param['client_type'] = 'web';
         $param['private_key'] = Yohobuy::$privateKeyList['web'];
         $param['client_secret'] = Sign::getSign($param);
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -112,7 +112,7 @@ class IndexData
         $param['udid'] = $udid;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -127,7 +127,7 @@ class IndexData
         $param['uid'] = $uid;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -142,7 +142,7 @@ class IndexData
         $param['uid'] = $uid;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
 }
diff --git a/library/LibModels/Web/Home/MessageData.php b/library/LibModels/Web/Home/MessageData.php
index 26ecd18..0b89716 100644
--- a/library/LibModels/Web/Home/MessageData.php
+++ b/library/LibModels/Web/Home/MessageData.php
@@ -24,7 +24,7 @@ class MessageData
         $param['size'] = $size;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -41,7 +41,7 @@ class MessageData
         $param['id'] = $id;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -57,7 +57,7 @@ class MessageData
         $param['ids'] = $ids;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -72,7 +72,7 @@ class MessageData
         $param['is_read'] = 'N';
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -88,7 +88,7 @@ class MessageData
         $param['couponType'] = 4;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -105,7 +105,7 @@ class MessageData
         $param['couponId'] = $couponId;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
 }
diff --git a/library/LibModels/Web/Home/OrderData.php b/library/LibModels/Web/Home/OrderData.php
old mode 100644
new mode 100755
index 30215d8..c63fd29
--- a/library/LibModels/Web/Home/OrderData.php
+++ b/library/LibModels/Web/Home/OrderData.php
@@ -25,7 +25,7 @@ class OrderData
         $param['page'] = $page;
         $param['limit'] = $limit;
         $param['client_secret'] = Sign::getSign($param);
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -41,7 +41,7 @@ class OrderData
         $param['uid'] = $uid;
         $param['order_code'] = $orderCode;
         $param['client_secret'] = Sign::getSign($param);
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -62,7 +62,7 @@ class OrderData
             $param['reasons'] = $reason;
         }
         $param['client_secret'] = Sign::getSign($param);
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -78,7 +78,7 @@ class OrderData
         $param['uid'] = $uid;
         $param['order_code'] = $orderCode;
         $param['client_secret'] = Sign::getSign($param);
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -92,7 +92,7 @@ class OrderData
         $param['method'] = 'app.SpaceOrders.getQrByOrderCode';
         $param['order_code'] = $orderCode;
         $param['client_secret'] = Sign::getSign($param);
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -111,7 +111,7 @@ class OrderData
         $param['uid'] = $uid;
         $param['client_secret'] = Sign::getSign($param);
         //调用接口获得数据
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -128,7 +128,7 @@ class OrderData
         $param['page'] = $page;
         $param['limit'] = $limit;
         $param['client_secret'] = Sign::getSign($param);
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -150,7 +150,7 @@ class OrderData
         $param['client_secret'] = Sign::getSign($param);
 
         // 调用接口获得数据
-        return Yohobuy::post(Yohobuy::API_URL, $param);
+        return Yohobuy::post(API_URL, $param);
     }
 
     /**
@@ -165,7 +165,7 @@ class OrderData
         $param['client_secret'] = Sign::getSign($param);
 
         // 调用接口获得数据
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -191,7 +191,7 @@ class OrderData
         $param['client_secret'] = Sign::getSign($param);
 
         // 调用接口获得数据
-        return Yohobuy::post(Yohobuy::API_URL, $param);
+        return Yohobuy::post(API_URL, $param);
     }
 
     
@@ -212,9 +212,27 @@ class OrderData
         $param['session_key'] = $sessionKey;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
-    
+
+    /*
+     * 删除订单
+     */
+
+    public static function deleteOrderData($orderCode, $uid, $gender, $channel)
+    {
+        //构建必传参数
+        $param = Yohobuy::param();
+        $param['order_code'] = $orderCode;
+        $param['uid'] = $uid;
+        $param['gender'] = $gender;
+        $param['yh_channel'] = $channel;
+        $param['method'] = 'app.SpaceOrders.delOrderByCode';
+        $param['client_secret'] = Sign::getSign($param);
+        //调用接口删除订单
+        return Yohobuy::get(API_URL, $param);
+    }
+
     /** 再次购买
      * @param type $uid
      * @param type $orderCode
@@ -228,6 +246,7 @@ class OrderData
         $param['order_code'] = $orderCode;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
+
 }
diff --git a/library/LibModels/Web/Home/RedenvelopesData.php b/library/LibModels/Web/Home/RedenvelopesData.php
index 4669441..f5493fb 100644
--- a/library/LibModels/Web/Home/RedenvelopesData.php
+++ b/library/LibModels/Web/Home/RedenvelopesData.php
@@ -17,7 +17,7 @@ class RedenvelopesData
         $param['method'] = 'app.yoho.redpacketList';
         $param['uid'] = $uid;
         $param['client_secret'] = Sign::getSign($param);
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -30,6 +30,6 @@ class RedenvelopesData
         $param['method'] = 'app.yoho.redpacketInfo';
         $param['uid'] = $uid;
         $param['client_secret'] = Sign::getSign($param);
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 }
diff --git a/library/LibModels/Web/Home/ReturnsData.php b/library/LibModels/Web/Home/ReturnsData.php
old mode 100644
new mode 100755
index a79641f..258c65b
--- a/library/LibModels/Web/Home/ReturnsData.php
+++ b/library/LibModels/Web/Home/ReturnsData.php
@@ -25,7 +25,7 @@ class ReturnsData
         $param['page'] = $page;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::post(yohobuy::API_URL, $param);
+        return Yohobuy::post(API_URL, $param);
     }
 
 
@@ -44,7 +44,7 @@ class ReturnsData
         $param['uid'] = $uid;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::post(yohobuy::API_URL, $param);
+        return Yohobuy::post(API_URL, $param);
     }
 
     /**
@@ -62,7 +62,7 @@ class ReturnsData
         $param['uid'] = $uid;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::post(yohobuy::API_URL, $param);
+        return Yohobuy::post(API_URL, $param);
     }
 
 
@@ -81,7 +81,7 @@ class ReturnsData
         $param['id'] = $id;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::post(yohobuy::API_URL, $param);
+        return Yohobuy::post(API_URL, $param);
     }
 
 
@@ -100,7 +100,7 @@ class ReturnsData
         $param['id'] = $id;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::post(yohobuy::API_URL, $param);
+        return Yohobuy::post(API_URL, $param);
     }
 
 
@@ -115,7 +115,7 @@ class ReturnsData
         $param['method'] = 'app.express.getExpressCompany';
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::post(yohobuy::API_URL, $param);
+        return Yohobuy::post(API_URL, $param);
     }
 
 
@@ -141,7 +141,7 @@ class ReturnsData
         $param['express_company'] = $expressCompany;
         $param['client_secret'] = Sign::getSign($param);
         
-        return Yohobuy::post(yohobuy::API_URL, $param);
+        return Yohobuy::post(API_URL, $param);
     }
 
 
@@ -160,7 +160,7 @@ class ReturnsData
         $param['uid'] = $uid;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::post(yohobuy::API_URL, $param);
+        return Yohobuy::post(API_URL, $param);
     }
 
 
@@ -179,7 +179,7 @@ class ReturnsData
         $param['uid'] = $uid;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::post(yohobuy::API_URL, $param);
+        return Yohobuy::post(API_URL, $param);
     }
 
     /**
@@ -201,7 +201,7 @@ class ReturnsData
         $param['payment'] = json_encode($payment);
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::post(yohobuy::API_URL, $param);
+        return Yohobuy::post(API_URL, $param);
     }
 
     /**
@@ -233,7 +233,40 @@ class ReturnsData
         $param['delivery_tpye'] = $deliveryType;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::post(yohobuy::API_URL, $param);
+        return Yohobuy::post(API_URL, $param);
+    }
+
+
+    /**
+     * 取消退货申请
+     * @param $id
+     * @param $uid
+     * @return mixed
+     */
+    public static function cancelRefund($id, $uid)
+    {
+        $param = Yohobuy::param();
+        $param['method'] = 'app.refund.cancel';
+        $param['id'] = $id;
+        $param['uid'] = $uid;
+        $param['client_secret'] = Sign::getSign($param);
+        return Yohobuy::post(API_URL, $param);
+    }
+
+    /**
+     * 取消换货申请
+     * @param $id
+     * @param $uid
+     * @return mixed
+     */
+    public static function cancelChange($id, $uid)
+    {
+        $param = Yohobuy::param();
+        $param['method'] = 'app.change.cancel';
+        $param['id'] = $id;
+        $param['uid'] = $uid;
+        $param['client_secret'] = Sign::getSign($param);
+        return Yohobuy::post(API_URL, $param);
     }
 
     /**
@@ -255,7 +288,7 @@ class ReturnsData
         $param['yh_channel'] = $yhChannel;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::post(yohobuy::API_URL, $param);
+        return Yohobuy::post(API_URL, $param);
     }
 
 
@@ -272,7 +305,7 @@ class ReturnsData
         $param['product_skn'] = $productSkn;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::post(yohobuy::API_URL, $param);
+        return Yohobuy::post(API_URL, $param);
     }
 
     /**
@@ -288,7 +321,7 @@ class ReturnsData
         $param['product_skn'] = $productSkn;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::httpBuildQuery(Yohobuy::API_URL, $param);
+        return Yohobuy::httpBuildQuery(API_URL, $param);
     }
 
     /**
@@ -316,6 +349,6 @@ class ReturnsData
         $param['type'] = $type;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::post(Yohobuy::API_URL, $param);
+        return Yohobuy::post(API_URL, $param);
     }
 }
\ No newline at end of file
diff --git a/library/LibModels/Web/Home/UserData.php b/library/LibModels/Web/Home/UserData.php
index 6a8cae0..7a54216 100644
--- a/library/LibModels/Web/Home/UserData.php
+++ b/library/LibModels/Web/Home/UserData.php
@@ -23,7 +23,7 @@ class UserData
         $param['mobile'] = $mobile;
         $param['area'] = $area;
         $param['client_secret'] = Sign::getSign($param);
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -38,7 +38,7 @@ class UserData
         $param['method'] = 'app.passport.getProfileByEmail';
         $param['email'] = $email;
         $param['client_secret'] = Sign::getSign($param);
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -54,7 +54,7 @@ class UserData
         $param['uid'] = $uid;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -99,7 +99,7 @@ class UserData
         $param['birthday'] = $params['birthday'];
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -115,7 +115,7 @@ class UserData
         $param['uid'] = $uid;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -142,7 +142,7 @@ class UserData
         $param['zip_code'] = $params['zipCode'];
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -158,7 +158,7 @@ class UserData
         $param['uid'] = $uid;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -177,7 +177,7 @@ class UserData
         $param['dress'] = $params['dress'];
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -192,7 +192,7 @@ class UserData
         $param['uid'] = $uid;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -209,7 +209,7 @@ class UserData
         $param['brand'] = $params['brand'];
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -226,7 +226,7 @@ class UserData
         $param['udid'] = $udid;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -252,7 +252,7 @@ class UserData
         $param['limit'] = $limit;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -274,7 +274,7 @@ class UserData
         $param['limit'] = $limit;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -294,7 +294,7 @@ class UserData
         $param['limit'] = $limit;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -316,7 +316,7 @@ class UserData
         $param['limit'] = $limit;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -335,7 +335,7 @@ class UserData
         $param['fav_id'] = $fav_id;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -357,7 +357,7 @@ class UserData
         $param['limit'] = $limit;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -375,7 +375,7 @@ class UserData
         $param['skn'] = $skn;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -391,14 +391,14 @@ class UserData
 //        $param['uid'] = $uid;
 //        $param['client_secret'] = Sign::getSign($param);
 //
-//        return Yohobuy::get(Yohobuy::API_URL, $param); 
+//        return Yohobuy::get(API_URL, $param);
 
         $param = Yohobuy::param();
         $param['method'] = 'app.yoho.yohocoin';
         $param['uid'] = $uid;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -419,7 +419,7 @@ class UserData
         $param['limit'] = $limit;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::$type(Yohobuy::API_URL, $param);
+        return Yohobuy::$type(API_URL, $param);
     }
 
     /**
@@ -442,7 +442,7 @@ class UserData
 
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -458,7 +458,7 @@ class UserData
         $param['uid'] = $uid;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -474,7 +474,7 @@ class UserData
         $param['uid'] = $uid;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -490,7 +490,7 @@ class UserData
         $param['id'] = $id;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -530,7 +530,7 @@ class UserData
         $param['uid'] = $uid;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -548,7 +548,7 @@ class UserData
         $param['uid'] = $uid;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -566,7 +566,7 @@ class UserData
         $param['uid'] = $uid;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -586,7 +586,7 @@ class UserData
         $param['method'] = 'app.inbox.getlist';
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -607,7 +607,7 @@ class UserData
         $param['giftCardCode3'] = $giftCardCode3;
         $param['captchaCode'] = $captchaCode;
         $param['client_secret'] = Sign::getSign($param);
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -624,7 +624,7 @@ class UserData
         $param['client_type'] = 'web';
         $param['private_key'] = Yohobuy::$privateKeyList['web'];
         $param['client_secret'] = Sign::getSign($param);
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -645,7 +645,7 @@ class UserData
         $param['page'] = $page;
         $param['limit'] = $limit;
         $param['client_secret'] = Sign::getSign($param);
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     public static function passportGet($uid)
@@ -654,7 +654,7 @@ class UserData
         $param['method'] = 'open.passport.get';
         $param['uid'] = $uid;
         $param['client_secret'] = Sign::getSign($param);
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
 }
diff --git a/library/LibModels/Web/Passport/BackData.php b/library/LibModels/Web/Passport/BackData.php
index f121f4f..677f4a7 100644
--- a/library/LibModels/Web/Passport/BackData.php
+++ b/library/LibModels/Web/Passport/BackData.php
@@ -19,7 +19,7 @@ class BackData
         $param['method'] = 'app.passport.getArea';
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -36,7 +36,7 @@ class BackData
         $param['method'] = 'app.register.backpwdByEmail';
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -53,7 +53,7 @@ class BackData
         $param['code'] = $code;
 
         // 默认返回的不是json类型数据,是html
-        return Yohobuy::get(Yohobuy::YOHOBUY_URL . 'passport/back/update', $param, true);
+        return Yohobuy::get(YOHOBUY_URL . 'passport/back/update', $param, true);
     }
 
     /**
@@ -72,7 +72,7 @@ class BackData
         $param['method'] = 'app.register.sendBackpwdCodeToMobile';
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -93,7 +93,7 @@ class BackData
         $param['method'] = 'app.register.validBackpwdCode';
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -115,7 +115,7 @@ class BackData
         $param['method'] = 'app.register.changepwdByMobileCode';
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
     
     /**
@@ -131,7 +131,7 @@ class BackData
         $param['code'] = $code;
         $param['client_secret'] = Sign::getSign($param);
         
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
     
     /**
@@ -149,7 +149,7 @@ class BackData
         $param['newPwd'] = $password;
         $param['client_secret'] = Sign::getSign($param);
         
-        return Yohobuy::post(Yohobuy::API_URL, $param);
+        return Yohobuy::post(API_URL, $param);
     }
     
 }
\ No newline at end of file
diff --git a/library/LibModels/Web/Passport/BindData.php b/library/LibModels/Web/Passport/BindData.php
index 9104de2..51b545f 100644
--- a/library/LibModels/Web/Passport/BindData.php
+++ b/library/LibModels/Web/Passport/BindData.php
@@ -38,7 +38,7 @@ class BindData
         $param['private_key'] = Yohobuy::$privateKeyList[$clientType];
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -56,7 +56,7 @@ class BindData
         $param['private_key'] = Yohobuy::$privateKeyList[$clientType];
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -74,7 +74,7 @@ class BindData
         $param['private_key'] = Yohobuy::$privateKeyList[$clientType];
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -106,7 +106,7 @@ class BindData
         $param['private_key'] = Yohobuy::$privateKeyList[$clientType];
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -130,7 +130,7 @@ class BindData
         $param['private_key'] = Yohobuy::$privateKeyList[$clientType];
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -146,7 +146,7 @@ class BindData
         $param['area'] = $area;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -167,7 +167,7 @@ class BindData
         $param['area'] = $area;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
 }
diff --git a/library/LibModels/Web/Passport/LoginData.php b/library/LibModels/Web/Passport/LoginData.php
index 85c65b4..b900986 100644
--- a/library/LibModels/Web/Passport/LoginData.php
+++ b/library/LibModels/Web/Passport/LoginData.php
@@ -42,7 +42,7 @@ class LoginData
         }
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::post(Yohobuy::API_URL, $param);
+        return Yohobuy::post(API_URL, $param);
     }
 
     /**
@@ -58,7 +58,7 @@ class LoginData
         $param['uid'] = $uid;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
     
     /**
@@ -89,7 +89,7 @@ class LoginData
 
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
 }
diff --git a/library/LibModels/Web/Passport/RegData.php b/library/LibModels/Web/Passport/RegData.php
index eb00ea1..f5fe8b8 100644
--- a/library/LibModels/Web/Passport/RegData.php
+++ b/library/LibModels/Web/Passport/RegData.php
@@ -28,7 +28,7 @@ class RegData
 //        $param = Yohobuy::param();
 //        $param['method'] = 'app.passport.getArea';
 //        $param['client_secret'] = Sign::getSign($param);
-//        $data = Yohobuy::get(Yohobuy::API_URL, $param);
+//        $data = Yohobuy::get(API_URL, $param);
 //        $result = array();
 //        if (!empty($data['data'])) {
 //            $build = array();
@@ -126,7 +126,7 @@ class RegData
         $param['private_key'] = Yohobuy::$privateKeyList[$clientType];
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::post(Yohobuy::API_URL, $param);
+        return Yohobuy::post(API_URL, $param);
     }
 
     /**
@@ -146,7 +146,7 @@ class RegData
         $param['code'] = $code;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::post(Yohobuy::API_URL, $param);
+        return Yohobuy::post(API_URL, $param);
     }
 
     /**
@@ -173,6 +173,6 @@ class RegData
         $param['private_key'] = Yohobuy::$privateKeyList[$clientType];
         $param['client_secret'] = Sign::getSign($param);
         
-        return Yohobuy::post(Yohobuy::API_URL, $param);
+        return Yohobuy::post(API_URL, $param);
     }
 }
\ No newline at end of file
diff --git a/library/LibModels/Web/Product/BrandData.php b/library/LibModels/Web/Product/BrandData.php
index 5fa16a4..7f35b7c 100644
--- a/library/LibModels/Web/Product/BrandData.php
+++ b/library/LibModels/Web/Product/BrandData.php
@@ -39,7 +39,7 @@ class BrandData
 
         $cache = empty($uid) ? 3600 : false;
 
-        return Yohobuy::get(Yohobuy::API_URL, $param, $cache); // 有缓存1小时
+        return Yohobuy::get(API_URL, $param, $cache); // 有缓存1小时
     }
 
     /**
@@ -55,7 +55,7 @@ class BrandData
         $param['method'] = 'app.brand.banner';
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param, 3600); // 有缓存1小时
+        return Yohobuy::get(API_URL, $param, 3600); // 有缓存1小时
     }
 
     /**
@@ -71,7 +71,7 @@ class BrandData
         $param['method'] = 'web.brand.byDomain';
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param, 600);
+        return Yohobuy::get(API_URL, $param, 600);
     }
 
     /**
@@ -89,7 +89,7 @@ class BrandData
         $param['method'] = 'web.brand.folder';
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param, 600);
+        return Yohobuy::get(API_URL, $param, 600);
     }
 
     /**
@@ -107,7 +107,7 @@ class BrandData
         $param['method'] = 'web.brand.series';
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param, 600);
+        return Yohobuy::get(API_URL, $param, 600);
     }
 
     /**
@@ -124,7 +124,7 @@ class BrandData
         $param['method'] = 'web.html.content';
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param, 600);
+        return Yohobuy::get(API_URL, $param, 600);
     }
 
     /**
@@ -140,7 +140,7 @@ class BrandData
         $param['private_key'] = Yohobuy::$privateKeyList[$clientType];
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::SERVICE_URL . self::URI_BRAND_TOPPOS, $param);
+        return Yohobuy::get(SERVICE_URL . self::URI_BRAND_TOPPOS, $param);
     }
 
     /**
@@ -157,7 +157,7 @@ class BrandData
         }
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -175,9 +175,9 @@ class BrandData
         $param['brand_id'] = $brandId;
         $param['client_secret'] = Sign::getSign($param);
         if ($isOnlyUrl) {
-            return Yohobuy::httpBuildQuery(Yohobuy::API_URL, $param);
+            return Yohobuy::httpBuildQuery(API_URL, $param);
         }
-        return Yohobuy::get(Yohobuy::API_URL, $param, 600);
+        return Yohobuy::get(API_URL, $param, 600);
     }
     
     /**
@@ -192,6 +192,6 @@ class BrandData
         $param['method'] = 'web.brand.info';
         $param['ids'] = is_array($ids) ? implode(',', $ids) : intval($ids);
         $param['client_secret'] = Sign::getSign($param);
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 }
diff --git a/library/LibModels/Web/Product/DetailData.php b/library/LibModels/Web/Product/DetailData.php
index e50102b..9d706b7 100644
--- a/library/LibModels/Web/Product/DetailData.php
+++ b/library/LibModels/Web/Product/DetailData.php
@@ -38,7 +38,7 @@ class DetailData
         }
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -54,7 +54,7 @@ class DetailData
         $param['productskn'] = $productSkn;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -78,7 +78,7 @@ class DetailData
         $param['limit'] = $pageSize;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -92,7 +92,7 @@ class DetailData
         $param['method'] = 'app.consult.common';
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -112,7 +112,7 @@ class DetailData
         $param['limit'] = $pageSize;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -130,7 +130,7 @@ class DetailData
         $param['brandId'] = $brandId;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param, 3600); // 缓存1小时
+        return Yohobuy::get(API_URL, $param, 3600); // 缓存1小时
     }
 
     /**
@@ -149,7 +149,7 @@ class DetailData
         $param['uid'] = $uid;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::post(Yohobuy::API_URL, $param);
+        return Yohobuy::post(API_URL, $param);
     }
 
     /**
@@ -165,7 +165,7 @@ class DetailData
         $param['product_skn'] = $productSkn;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -183,7 +183,7 @@ class DetailData
         $param['uid'] = $uid;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -201,7 +201,7 @@ class DetailData
         $param['uid'] = $uid;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
 }
diff --git a/library/LibModels/Web/Product/FavoriteData.php b/library/LibModels/Web/Product/FavoriteData.php
index e79460d..b8ce861 100644
--- a/library/LibModels/Web/Product/FavoriteData.php
+++ b/library/LibModels/Web/Product/FavoriteData.php
@@ -35,10 +35,10 @@ class FavoriteData
         $param['client_secret'] = Sign::getSign($param);
         //只是返回链接
         if ($isOnlyUrl) {
-            return Yohobuy::httpBuildQuery(Yohobuy::API_URL, $param);
+            return Yohobuy::httpBuildQuery(API_URL, $param);
         }
-        return Yohobuy::get(Yohobuy::API_URL, $param);
-//      return Yohobuy::yarClient(Yohobuy::SERVICE_URL . self::URL_PRODUCT_FAVORITE, 'getUidProductFav', array($uid, $productSkn));
+        return Yohobuy::get(API_URL, $param);
+//      return Yohobuy::yarClient(SERVICE_URL . self::URL_PRODUCT_FAVORITE, 'getUidProductFav', array($uid, $productSkn));
     }
 
     /**
@@ -53,7 +53,7 @@ class FavoriteData
 //        $result = array();
 //
 //        foreach ($productSknList as $skn) {
-//            Yohobuy::yarConcurrentCall(Yohobuy::SERVICE_URL . self::URL_PRODUCT_FAVORITE, 'getUidProductFav', array($uid, $skn), function($retval) use(&$result, $skn) {
+//            Yohobuy::yarConcurrentCall(SERVICE_URL . self::URL_PRODUCT_FAVORITE, 'getUidProductFav', array($uid, $skn), function($retval) use(&$result, $skn) {
 //                $result[$skn] = empty($retval['data']) ? false : $retval['data'];
 //            });
 //        }
@@ -71,7 +71,7 @@ class FavoriteData
             $param['uid'] = $uid;
             $param['type'] = 'product';
             $param['client_secret'] = Sign::getSign($param);
-            $urlList[$productId] = Yohobuy::httpBuildQuery(Yohobuy::API_URL, $param);
+            $urlList[$productId] = Yohobuy::httpBuildQuery(API_URL, $param);
         }
 
         return Yohobuy::getMulti($urlList);
@@ -92,7 +92,7 @@ class FavoriteData
         $param['type'] = $isBrand ? 'brand' : 'product';
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -110,7 +110,7 @@ class FavoriteData
         $param['type'] = $isBrand ? 'brand' : 'product';
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -134,7 +134,7 @@ class FavoriteData
         }
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -149,9 +149,9 @@ class FavoriteData
         $param['uid'] = $uid;
         $param['brand_id'] = $brandId;
         $param['client_secret'] = Sign::getSign($param);
-        return Yohobuy::get(Yohobuy::SERVICE_URL. self::URL_ARTICLE_FAVORITE_BRAND, $param);
+        return Yohobuy::get(SERVICE_URL. self::URL_ARTICLE_FAVORITE_BRAND, $param);
         
-        //return Yohobuy::yarClient(Yohobuy::SERVICE_URL . self::URL_PRODUCT_FAVORITE, 'toggleBrandFav', array($uid, $brandId));
+        //return Yohobuy::yarClient(SERVICE_URL . self::URL_PRODUCT_FAVORITE, 'toggleBrandFav', array($uid, $brandId));
     }
 
     /**
@@ -166,8 +166,8 @@ class FavoriteData
         $param['uid'] = $uid;
         $param['brandId'] = $brandId;
         $param['client_secret'] = Sign::getSign($param);
-        return Yohobuy::get(Yohobuy::SERVICE_URL . self::URL_PRODUCT_FAVORITE.'getUidBrandFav', $param);
-       // return Yohobuy::yarClient(Yohobuy::SERVICE_URL . self::URL_PRODUCT_FAVORITE, 'getUidBrandFav', array($uid, $brandId));
+        return Yohobuy::get(SERVICE_URL . self::URL_PRODUCT_FAVORITE.'getUidBrandFav', $param);
+       // return Yohobuy::yarClient(SERVICE_URL . self::URL_PRODUCT_FAVORITE, 'getUidBrandFav', array($uid, $brandId));
     }
 
     /**
@@ -184,7 +184,7 @@ class FavoriteData
         $param['limit'] = $limit;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -204,7 +204,7 @@ class FavoriteData
         $param['limit'] = $limit;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -223,7 +223,7 @@ class FavoriteData
         $param['page'] = $page;
         $param['limit'] = $limit;
         $param['client_secret'] = Sign::getSign($param);
-        return Yohobuy::get(Yohobuy::SERVICE_URL . self::URL_ARTICLE_FAVORITE. 'getUserFavArticleList', $param);
+        return Yohobuy::get(SERVICE_URL . self::URL_ARTICLE_FAVORITE. 'getUserFavArticleList', $param);
     }
 
     /**
@@ -239,7 +239,7 @@ class FavoriteData
         $param['article_id'] = $article_id;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::SERVICE_URL . self::URL_ARTICLE_FAVORITE. 'cancelFavorite',$param);   
+        return Yohobuy::get(SERVICE_URL . self::URL_ARTICLE_FAVORITE. 'cancelFavorite',$param);
     }
 
     /**
@@ -257,7 +257,7 @@ class FavoriteData
         $param['productId'] = $productId;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -271,7 +271,7 @@ class FavoriteData
         $param['uid'] = $uid;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -288,7 +288,7 @@ class FavoriteData
         $param['productIds'] = $productId;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
 }
diff --git a/library/LibModels/Web/Product/HotrankData.php b/library/LibModels/Web/Product/HotrankData.php
index afb1b41..a0c712b 100644
--- a/library/LibModels/Web/Product/HotrankData.php
+++ b/library/LibModels/Web/Product/HotrankData.php
@@ -25,7 +25,7 @@ class HotrankData extends \LibModels\Wap\Product\SearchData
             'channel' => $channel,
             'is_concurrent' => $is_concurrent
         );
-        return Yohobuy::yarClient(Yohobuy::SERVICE_URL . self::URI_HOTRANK_TAG, 'getTag', $params);
+        return Yohobuy::yarClient(SERVICE_URL . self::URI_HOTRANK_TAG, 'getTag', $params);
     }
 
     /**
@@ -35,7 +35,7 @@ class HotrankData extends \LibModels\Wap\Product\SearchData
      */
     public static function getTagById($id, $is_concurrent = true)
     {
-        return Yohobuy::yarClient(Yohobuy::SERVICE_URL . self::URI_HOTRANK_TAG, 'getOneTag', array('id' => $id));
+        return Yohobuy::yarClient(SERVICE_URL . self::URI_HOTRANK_TAG, 'getOneTag', array('id' => $id));
     }
 
 }
diff --git a/library/LibModels/Web/Product/ItemData.php b/library/LibModels/Web/Product/ItemData.php
old mode 100644
new mode 100755
index 85fda39..f7dda00
--- a/library/LibModels/Web/Product/ItemData.php
+++ b/library/LibModels/Web/Product/ItemData.php
@@ -32,7 +32,7 @@ class ItemData
     
         $param['client_secret'] = Sign::getSign($param);
     
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
     
     /**
@@ -49,9 +49,9 @@ class ItemData
         $param['productskn'] = $productSkn;
         $param['client_secret'] = Sign::getSign($param);
         if($isOnlyUrl) {
-            return Yohobuy::httpBuildQuery(Yohobuy::API_URL, $param);
+            return Yohobuy::httpBuildQuery(API_URL, $param);
         }
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
     
     /**
@@ -77,7 +77,7 @@ class ItemData
         $param['limit'] = $pageSize;
         $param['client_secret'] = Sign::getSign($param);
     
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
     
     /**
@@ -91,7 +91,7 @@ class ItemData
         $param['method'] = 'app.consult.common';
         $param['client_secret'] = Sign::getSign($param);
     
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
     
     /**
@@ -111,7 +111,7 @@ class ItemData
         $param['limit'] = $pageSize;
         $param['client_secret'] = Sign::getSign($param);
     
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
     
     /**
@@ -129,7 +129,7 @@ class ItemData
         $param['brandId'] = $brandId;
         $param['client_secret'] = Sign::getSign($param);
     
-        return Yohobuy::get(Yohobuy::API_URL, $param, 3600); // 缓存1小时
+        return Yohobuy::get(API_URL, $param, 3600); // 缓存1小时
     }
     
     /**
@@ -148,7 +148,7 @@ class ItemData
         $param['uid'] = $uid;
         $param['client_secret'] = Sign::getSign($param);
     
-        return Yohobuy::post(Yohobuy::API_URL, $param);
+        return Yohobuy::post(API_URL, $param);
     }
     
     /**
@@ -164,7 +164,7 @@ class ItemData
         $param['product_skn'] = $productSkn;
         $param['client_secret'] = Sign::getSign($param);
     
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
     
     /**
@@ -182,7 +182,7 @@ class ItemData
         $param['uid'] = $uid;
         $param['client_secret'] = Sign::getSign($param);
     
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
     
     /**
@@ -200,7 +200,7 @@ class ItemData
         $param['uid'] = $uid;
         $param['client_secret'] = Sign::getSign($param);
     
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
     /**
      * 获取详情页的活动Banner
@@ -220,9 +220,9 @@ class ItemData
         $param['client_secret'] = Sign::getSign($param);
         //只是返回链接
         if($isOnlyUrl) {
-            return Yohobuy::httpBuildQuery(Yohobuy::API_URL, $param);
+            return Yohobuy::httpBuildQuery(API_URL, $param);
         }
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
     
     /**
@@ -237,7 +237,7 @@ class ItemData
         $param['method'] = 'web.productCollocation.list';
         $param['product_id'] = $productId;
         $param['client_secret'] = Sign::getSign($param);
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
     
     /**
@@ -254,9 +254,9 @@ class ItemData
         $param['product_id'] = $productId;
         $param['client_secret'] = Sign::getSign($param);
         if($isOnlyUrl) {
-            return Yohobuy::httpBuildQuery(Yohobuy::API_URL, $param);
+            return Yohobuy::httpBuildQuery(API_URL, $param);
         }
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
     
     /**
@@ -273,9 +273,9 @@ class ItemData
         $param['product_id'] = $productId;
         $param['client_secret'] = Sign::getSign($param);
         if($isOnlyUrl) {
-            return Yohobuy::httpBuildQuery(Yohobuy::API_URL, $param);
+            return Yohobuy::httpBuildQuery(API_URL, $param);
         }
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
     
     /**
@@ -292,9 +292,9 @@ class ItemData
         $param['product_skn'] = $productSkn;
         $param['client_secret'] = Sign::getSign($param);
         if($isOnlyUrl) {
-            return Yohobuy::httpBuildQuery(Yohobuy::API_URL, $param);
+            return Yohobuy::httpBuildQuery(API_URL, $param);
         }
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
     
     /**
@@ -309,7 +309,7 @@ class ItemData
         $param['method'] = 'clear.productCache';
         $param['product_skn'] = $productSkn;
         $param['client_secret'] = Sign::getSign($param);
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
     
     /**
@@ -324,6 +324,21 @@ class ItemData
         $param['method'] = 'clear.memcache';
         $param['key'] = sprintf("yh_gw:queryProductIntro:%s", $productSkn);
         $param['client_secret'] = Sign::getSign($param);
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
+    }
+
+    /**
+     * 商品促销信息
+     * @param $skn 商品 skn
+     * @return mixed
+     */
+    public static function promotion($skn)
+    {
+        $param = Yohobuy::param();
+        $param['method'] = 'app.product.promotion';
+        $param['product_skn'] = $skn;
+        $param['client_secret'] = Sign::getSign($param);
+
+        return Yohobuy::get(API_URL, $param);
     }
 }
\ No newline at end of file
diff --git a/library/LibModels/Web/Product/PayData.php b/library/LibModels/Web/Product/PayData.php
index b1946f6..6a95a90 100644
--- a/library/LibModels/Web/Product/PayData.php
+++ b/library/LibModels/Web/Product/PayData.php
@@ -31,7 +31,7 @@ class PayData
 
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -48,7 +48,7 @@ class PayData
 
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -67,7 +67,7 @@ class PayData
 
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -100,7 +100,7 @@ class PayData
 
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
 
@@ -128,7 +128,7 @@ class PayData
 
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -147,7 +147,7 @@ class PayData
 
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -170,7 +170,7 @@ class PayData
 
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -193,7 +193,7 @@ class PayData
 
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
 
@@ -217,7 +217,7 @@ class PayData
 
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
     
     /**
@@ -246,7 +246,7 @@ class PayData
         $param['bank_bill_no'] = $bankBillNo;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
     
     /**
@@ -269,7 +269,7 @@ class PayData
         $param['client_secret'] = Sign::getSign($param);
 
         // 调用接口获得数据
-        return Yohobuy::post(Yohobuy::API_URL, $param);
+        return Yohobuy::post(API_URL, $param);
         
     }
 }
\ No newline at end of file
diff --git a/library/LibModels/Web/Product/SaleData.php b/library/LibModels/Web/Product/SaleData.php
index 9381d62..c24af2d 100644
--- a/library/LibModels/Web/Product/SaleData.php
+++ b/library/LibModels/Web/Product/SaleData.php
@@ -26,7 +26,7 @@ class SaleData
         $param['client_secret'] = Sign::getSign($param);
 
         //TODO等待接口发布到测试环境
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
 }
diff --git a/library/LibModels/Web/Product/SearchData.php b/library/LibModels/Web/Product/SearchData.php
index c7075e2..7782fed 100644
--- a/library/LibModels/Web/Product/SearchData.php
+++ b/library/LibModels/Web/Product/SearchData.php
@@ -424,7 +424,7 @@ class SearchData
         $param['method'] = 'app.brand.getBrandIntro';
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::httpBuildQuery(Yohobuy::API_URL, $param);
+        return Yohobuy::httpBuildQuery(API_URL, $param);
     }
     
     /**
@@ -446,7 +446,7 @@ class SearchData
         $param['price'] = '0';
         $param['size_id'] = '0';
         $param['client_secret'] = Sign::getSign($param);
-        return Yohobuy::get(Yohobuy::API_URL, $param, 600, false, 5);
+        return Yohobuy::get(API_URL, $param, 600, false, 5);
     }
     
     /**
@@ -499,7 +499,7 @@ class SearchData
             'middle_sort_id' => $misort
         );
         
-        return Yohobuy::get(Yohobuy::SERVICE_URL . self::URL_INDEX_AD, $param, 600, false, 1); // 有缓存10分钟
+        return Yohobuy::get(SERVICE_URL . self::URL_INDEX_AD, $param, 600, false, 1); // 有缓存10分钟
     }
     
     
@@ -518,7 +518,7 @@ class SearchData
         $param['method'] = 'app.search.fuzzy';
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -561,7 +561,7 @@ class SearchData
         }
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
     
     /**
@@ -607,6 +607,6 @@ class SearchData
         $param['brand_id'] = $brandId;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 }
\ No newline at end of file
diff --git a/library/LibModels/Web/Product/ShopData.php b/library/LibModels/Web/Product/ShopData.php
index 9f80f20..308f26f 100644
--- a/library/LibModels/Web/Product/ShopData.php
+++ b/library/LibModels/Web/Product/ShopData.php
@@ -6,7 +6,7 @@ use Api\Yohobuy;
 use Api\Sign;
 /**
  * 品牌店铺的接口
- * @info  http://git.dev.yoho.cn/yoho-documents/api-interfaces/blob/master/%E5%95%86%E5%93%81%E5%88%97%E8%A1%A8/brandShops.md
+ * @info  //git.dev.yoho.cn/yoho-documents/api-interfaces/blob/master/%E5%95%86%E5%93%81%E5%88%97%E8%A1%A8/brandShops.md
  * @copyright yoho.inc
  * @author xiaoxiao.hao <xiaoxiao.hao@yoho.cn>
  */
@@ -24,7 +24,7 @@ class ShopData
         $param['shop_id'] = intval($shopId);
         $param['client_secret'] = Sign::getSign($param);
         
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
     /**
      * 查询店铺介绍接口
@@ -39,7 +39,7 @@ class ShopData
         $param['uid'] = $uid;
         $param['client_secret'] = Sign::getSign($param);
         
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
     
     /**
@@ -54,7 +54,7 @@ class ShopData
         $param['shop_id'] = intval($shopId);
         $param['client_secret'] = Sign::getSign($param);
         
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
     
     /**
@@ -69,7 +69,7 @@ class ShopData
         $param['shop'] = intval($shopId);
         $param['client_secret'] = Sign::getSign($param);
         
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
     
     /**
@@ -88,7 +88,7 @@ class ShopData
         $param['gender'] = $gender;
         $param['client_secret'] = Sign::getSign($param);
         
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
     
     /**
@@ -107,7 +107,7 @@ class ShopData
         $param['uid'] = $uid;
         $param['type'] = $type;
         $param['client_secret'] = Sign::getSign($param);
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
     /**
      * 根据domain查找shop_id
@@ -120,6 +120,6 @@ class ShopData
         $param['method'] = 'web.brand.byDomain';
         $param['domain'] = $domain;
         $param['client_secret'] = Sign::getSign($param);
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 }
diff --git a/library/LibModels/Web/Shop/SettledData.php b/library/LibModels/Web/Shop/SettledData.php
index a67b257..df8f851 100644
--- a/library/LibModels/Web/Shop/SettledData.php
+++ b/library/LibModels/Web/Shop/SettledData.php
@@ -75,7 +75,7 @@ class SettledData
         $param['uid'] = $uid;
         $param['client_secret'] = Sign::getSign($param);
 
-        return Yohobuy::post(Yohobuy::API_URL, $param);
+        return Yohobuy::post(API_URL, $param);
     }
     
     /**
@@ -88,7 +88,7 @@ class SettledData
         $param['method'] = 'app.category.queryMax';
         $param['client_secret'] = Sign::getSign($param);
         
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 
     /**
@@ -103,6 +103,6 @@ class SettledData
         $param['parent_id'] = intval($parentId);
         $param['client_secret'] = Sign::getSign($param);
         
-        return Yohobuy::get(Yohobuy::API_URL, $param);
+        return Yohobuy::get(API_URL, $param);
     }
 }
diff --git a/library/Plugin/Images.php b/library/Plugin/Images.php
index 996623f..92ae574 100644
--- a/library/Plugin/Images.php
+++ b/library/Plugin/Images.php
@@ -219,7 +219,7 @@ class Images
     private static function MakeBaseUrl($domain, $key) // => $baseUrl
     {
         $keyEsc = str_replace("%2F", "/", rawurlencode($key));
-        return "http://$domain/$keyEsc";
+        return '//' . $domain . '/' . $keyEsc;
     }
 
     private static function MakeTemplateRequest($url)
diff --git a/library/WebPlugin/DataProcess/Channel/AbstractChannel.php b/library/WebPlugin/DataProcess/Channel/AbstractChannel.php
index b87b63d..1c5cf74 100644
--- a/library/WebPlugin/DataProcess/Channel/AbstractChannel.php
+++ b/library/WebPlugin/DataProcess/Channel/AbstractChannel.php
@@ -1,7 +1,7 @@
 <?php
 
 namespace WebPlugin\DataProcess\Channel;
-
+use WebPlugin\Helpers;
 abstract class AbstractChannel
 {
     /*     * *
@@ -33,10 +33,10 @@ abstract class AbstractChannel
                     $temp['newArrivls']['name'] = $resource[$key]['data']['text'];
                     //textNav模版
                     foreach ($resource[$key + 1]['data'] as $val) {
-                        $temp['newArrivls']['navs'][] = array('href' => $val['url'], 'name' => $val['name']);
+                        $temp['newArrivls']['navs'][] = array('href' => Helpers::getUrlSafe($val['url']), 'name' => $val['name']);
                     }
                     //link模版
-                    $temp['href'] = $resource[$key + 2]['data'][0]['url'];
+                    $temp['href'] = Helpers::getUrlSafe($resource[$key + 2]['data'][0]['url']);
                     unset($resource[$key], $resource[$key + 1], $resource[$key + 2]);
                     $result[$key] = $temp;
                 }
diff --git a/library/WebPlugin/DataProcess/Channel/Girls.php b/library/WebPlugin/DataProcess/Channel/Girls.php
index f2f107b..277bfbf 100644
--- a/library/WebPlugin/DataProcess/Channel/Girls.php
+++ b/library/WebPlugin/DataProcess/Channel/Girls.php
@@ -1,7 +1,7 @@
 <?php
 
 namespace WebPlugin\DataProcess\Channel;
-
+use WebPlugin\Helpers;
 class Girls extends AbstractChannel
 {
 
@@ -20,10 +20,10 @@ class Girls extends AbstractChannel
                     $temp['newArrivls']['name'] = $resource[$key]['data']['text'];
                     //title模版
                     foreach ($resource[$key + 1]['data']['nav'] as $val) {
-                        $temp['newArrivls']['navs'][] = array('href' => $val['url'], 'name' => $val['name']);
+                        $temp['newArrivls']['navs'][] = array('href' => Helpers::getUrlSafe($val['url']), 'name' => $val['name']);
                     }
                     $link = $resource[$key + 2]['data'][0];
-                    $temp['newArrivls']['href'] = $link['url'];
+                    $temp['newArrivls']['href'] = Helpers::getUrlSafe($link['url']);
                     unset($resource[$key], $resource[$key + 1]);
                     $result[$key] = $temp;
                 }
diff --git a/library/WebPlugin/DataProcess/Channel/Kids.php b/library/WebPlugin/DataProcess/Channel/Kids.php
index d29507a..9ed4461 100644
--- a/library/WebPlugin/DataProcess/Channel/Kids.php
+++ b/library/WebPlugin/DataProcess/Channel/Kids.php
@@ -1,7 +1,7 @@
 <?php
 
 namespace WebPlugin\DataProcess\Channel;
-
+use WebPlugin\Helpers;
 class Kids extends AbstractChannel
 {
 
@@ -24,7 +24,7 @@ class Kids extends AbstractChannel
                     $temp['newArrivls']['name'] = $resource[$key]['data']['text'];
                     //textNav模版
                     foreach ($resource[$key + 1]['data'] as $val) {
-                        $temp['newArrivls']['navs'][] = array('href' => $val['url'], 'name' => $val['name']);
+                        $temp['newArrivls']['navs'][] = array('href' => Helpers::getUrlSafe($val['url']), 'name' => $val['name']);
                     }
                     unset($resource[$key], $resource[$key + 1]);
                     $result[$key] = $temp;
diff --git a/library/WebPlugin/DataProcess/Channel/Lifestyle.php b/library/WebPlugin/DataProcess/Channel/Lifestyle.php
index 250e5f2..2908ba8 100644
--- a/library/WebPlugin/DataProcess/Channel/Lifestyle.php
+++ b/library/WebPlugin/DataProcess/Channel/Lifestyle.php
@@ -1,7 +1,7 @@
 <?php
 
 namespace WebPlugin\DataProcess\Channel;
-
+use WebPlugin\Helpers;
 class Lifestyle extends AbstractChannel
 {
 
@@ -24,7 +24,7 @@ class Lifestyle extends AbstractChannel
                     $temp['newArrivls']['name'] = '最新上架 NEW ARRIVALS';
                     //textNav模版
                     foreach ($resource[$key]['data'] as $val) {
-                        $temp['newArrivls']['navs'][] = array('href' => $val['url'], 'name' => $val['name']);
+                        $temp['newArrivls']['navs'][] = array('href' => Helpers::getUrlSafe($val['url']), 'name' => $val['name']);
                     }
                     unset($resource[$key], $resource[$key + 1]);
                     $result[$key] = $temp;
diff --git a/library/WebPlugin/DataProcess/Channel/PlusstarIndex.php b/library/WebPlugin/DataProcess/Channel/PlusstarIndex.php
index fabf3c9..6f4ab5a 100644
--- a/library/WebPlugin/DataProcess/Channel/PlusstarIndex.php
+++ b/library/WebPlugin/DataProcess/Channel/PlusstarIndex.php
@@ -1,6 +1,7 @@
 <?php
 namespace WebPlugin\DataProcess\Channel;
 use WebPlugin\Images;
+use WebPlugin\Helpers;
 class PlusstarIndex extends AbstractChannel
 {
 
@@ -27,7 +28,7 @@ class PlusstarIndex extends AbstractChannel
                 if($key == 5 && $resource['template_name'] == 'floor') {//单品列表
                     foreach($resource['data'] as $pos => $val) {
                         $val['src'] = Images::getImageUrl($val['src'], 280, 374, 1);
-                        $singleGoods['list'][] = array('href' => $val['url'],'name'=> $val['title'],'img' => $val['src']);
+                        $singleGoods['list'][] = array('href' => Helpers::getUrlSafe($val['url']),'name'=> $val['title'],'img' => $val['src']);
                     }
                     $result[$key] = array('singlegoods' => $singleGoods);
                 }
@@ -39,7 +40,7 @@ class PlusstarIndex extends AbstractChannel
                 if($key == 7 && $resource['template_name'] == 'floor') { //视频名称
                     foreach($resource['data'] as $pos => $val) {
                         $val['src'] = Images::getImageUrl($val['src'], 378, 241, 1);
-                        $video['list'][] = array('href' => $val['url'],'name'=> $val['title'],'img' => $val['src']);
+                        $video['list'][] = array('href' => Helpers::getUrlSafe($val['url']),'name'=> $val['title'],'img' => $val['src']);
                     }
                     $result[$key] = array('video' => $video);
                 }
@@ -54,7 +55,7 @@ class PlusstarIndex extends AbstractChannel
                     foreach($resource['data'] as $val) {
                         if(is_numeric($val['name'])) {
                             $id = $val['name'];
-                            $news['pics']['list'][$id] = array('id' => $id,'href' => $val['url'], 'img'=>'','tips'=>'');
+                            $news['pics']['list'][$id] = array('id' => $id,'href' => Helpers::getUrlSafe($val['url']), 'img'=>'','tips'=>'');
                         }
                     }
                     $result[$key] = array('news' => $news);
@@ -65,7 +66,7 @@ class PlusstarIndex extends AbstractChannel
                     foreach($resource['data'] as $pos => $val) {
                         if(is_numeric($val['name'])) {
                             $id = $val['name'];
-                            $ads['list'][$id] = array('id' => $id,'href' => $val['url'],'img'=>'',);
+                            $ads['list'][$id] = array('id' => $id,'href' => Helpers::getUrlSafe($val['url']),'img'=>'',);
                         }
                     }
                     $result[$key] = array('ads' => $ads);
diff --git a/library/WebPlugin/DataProcess/Process.php b/library/WebPlugin/DataProcess/Process.php
index 0a8b0e4..d1717ed 100644
--- a/library/WebPlugin/DataProcess/Process.php
+++ b/library/WebPlugin/DataProcess/Process.php
@@ -59,19 +59,16 @@ class Process
         foreach ($data['navs']['list'] as $val) {
             $temp['navs'][] = array(
                 'id' => '',
-                'href' => $val['url'],
+                'href' => Helpers::getUrlSafe($val['url']),
                 'name' => $val['name']
             );
         }
         $len = count($data['menuNav']['blocks']);
         foreach ($data['menuNav']['blocks'] as $key => $val) {
-            if ($len <= 2 && $key == 0) {
-                $val['img'] = Images::getImageUrl($val['img'], 185, 152, 1);
-            }
-            $val['img'] = Images::getImageUrl($val['img'], 185, 76, 1);
+            $val['img'] = Images::getImageUrl($val['img'], 185, 152, 1);
             $val['url'] = Helpers::transUrl($val['url'], $type);
             $temp['tplrecommend']['keyword'][] = array(
-                'href' => $val['url'],
+                'href' => Helpers::getUrlSafe($val['url']),
                 'name' => $val['title'],
                 'img' => $val['img']
             );
@@ -84,7 +81,7 @@ class Process
             $val['url'] = Helpers::transUrl($val['url'], $type);
             $temp['tplrecommend']['category'][] = array(
                 'name' => $val['name'],
-                'href' => $val['url']
+                'href' => Helpers::getUrlSafe($val['url'])
             );
         }
 
@@ -93,7 +90,7 @@ class Process
             if ($key == 0) {
                 $val['img'] = Images::getImageUrl($val['img'], 377, 504, 1); // 大图
                 $temp['tplrecommend']['brands'][] = array(
-                    'href' => $val['url'],
+                    'href' => Helpers::getUrlSafe($val['url']),
                     'name' => $val['title'],
                     'img' => $val['img']
                 );
@@ -101,7 +98,7 @@ class Process
             else {
                 $val['img'] = Images::getImageUrl($val['img'], 185, 504, 1); // 小图
                 $temp['tplrecommend']['types'][] = array(
-                    'href' => $val['url'],
+                    'href' => Helpers::getUrlSafe($val['url']),
                     'name' => $val['title'],
                     'img' => $val['img']
                 );
@@ -195,7 +192,7 @@ class Process
             if (isset($data['data'][0])) {
                 $val = $data['data'][0];
                 $temp['img'] = Images::getImageUrl($val['src'], 1150, 129, 1);
-                $temp['href'] = $val['url'];
+                $temp['href'] = Helpers::getUrlSafe($val['url']);
                 $temp['name'] = $val['title'];
                 $result['adbanner'] = $temp;
             }
@@ -220,26 +217,23 @@ class Process
             )
         );
         foreach ($data['left'] as $val) {
-            $val['img'] = Images::getImageUrl($val['img'], 280, 265, 1);
             $result['debrisSlider']['left'][] = array(
-                'img' => $val['img'],
-                'href' => $val['url'],
+                'img' => Images::getImageUrl($val['img'], 280, 265, 1),
+                'href' => Helpers::getUrlSafe($val['url']),
                 'name' => $val['title']
             );
         }
         foreach ($data['center'] as $val) {
-            $val['img'] = Images::getImageUrl($val['img'], 570, 633, 1);
             $result['debrisSlider']['center'][] = array(
-                'img' => $val['img'],
-                'href' => $val['url'],
+                'img' => Images::getImageUrl($val['img'], 570, 633, 1),
+                'href' => Helpers::getUrlSafe($val['url']),
                 'name' => $val['title']
             );
         }
         foreach ($data['right'] as $val) {
-            $val['img'] = Images::getImageUrl($val['img'], 280, 449, 1);
             $result['debrisSlider']['right'][] = array(
-                'img' => $val['img'],
-                'href' => $val['url'],
+                'img' => Images::getImageUrl($val['img'], 280, 449, 1),
+                'href' => Helpers::getUrlSafe($val['url']),
                 'name' => $val['title']
             );
         }
@@ -393,7 +387,7 @@ class Process
                     }
 
                     $result['singlehot']['imgHot'][] = array(
-                        'href' => $val['url'],
+                        'href' => Helpers::getUrlSafe($val['url']),
                         'img' => $val['src'],
                         'name' => $val['alt']
                     );
@@ -541,7 +535,7 @@ class Process
                 foreach ($data[$key + 2]['data'] as $val) {
                     $val['src'] = Images::getImageUrl($val['src'], 650, 400, 1);
                     $result['accordion']['slide'][] = array(
-                        'href' => $val['url'],
+                        'href' => Helpers::getUrlSafe($val['url']),
                         'img' => $val['src'],
                         'name' => $val['title']
                     );
@@ -581,14 +575,14 @@ class Process
                     if ($listKey == 0 || $listKey == 7) {
                         $val['src'] = Images::getImageUrl($val['src'], 377, 504, 1);
                         $result['newReport']['list'][] = array(
-                            'href' => $val['url'],
+                            'href' => Helpers::getUrlSafe($val['url']),
                             'img' => $val['src']
                         );
                     }
                     else {
                         $val['src'] = Images::getImageUrl($val['src'], 185, 248, 1);
                         $result['newReport']['list'][] = array(
-                            'href' => $val['url'],
+                            'href' => Helpers::getUrlSafe($val['url']),
                             'img' => $val['src']
                         );
                     }
@@ -686,7 +680,7 @@ class Process
                     if ($key2 == 0 || $key2 == 4) { // 两个大图
                         $val['img'] = Images::getImageUrl($val['img'], 378, 248, 1); // 大图
                         $result['tplrecommend']['brands'][] = array(
-                            'href' => $val['url'],
+                            'href' => Helpers::getUrlSafe($val['url']),
                             'name' => $val['title'],
                             'img' => $val['img']
                         );
@@ -694,7 +688,7 @@ class Process
                     else {
                         $val['img'] = Images::getImageUrl($val['img'], 185, 248, 1); // 小图
                         $result['tplrecommend']['types'][] = array(
-                            'href' => $val['url'],
+                            'href' => Helpers::getUrlSafe($val['url']),
                             'name' => $val['title'],
                             'img' => $val['img']
                         );
@@ -705,7 +699,7 @@ class Process
                 foreach ($data[$key + 1]['data'] as $val) {
                     $val['src'] = Images::getImageUrl($val['src'], 222, 298, 1); // 小图
                     $result['tplrecommend']['products'][] = array(
-                        'href' => $val['url'],
+                        'href' => Helpers::getUrlSafe($val['url']),
                         'name' => $val['title'],
                         'img' => $val['src']
                     );
@@ -735,7 +729,7 @@ class Process
                 continue;
             }
             $result[] = array(
-                'href' => $val['url'],
+                'href' =>  Helpers::getUrlSafe($val['url']),
                 'name' => $val['name']
             );
         }
diff --git a/library/WebPlugin/Encryption.php b/library/WebPlugin/Encryption.php
new file mode 100644
index 0000000..67642b1
--- /dev/null
+++ b/library/WebPlugin/Encryption.php
@@ -0,0 +1,78 @@
+<?php
+/**
+ * AES, 128 ECB模式加密数据
+ */
+
+namespace WebPlugin;
+
+class Encryption {
+
+    //密钥
+    private static $_secretKey = 'yoho9646abcdefgh';
+
+    //前面补8位0
+    private static $_preString = '00000000';
+
+    /**
+     * 加密方法
+     * @param string $str
+     * @return string
+     */
+    public static function encrypt($str){
+        $str = self::$_preString.$str;
+        //AES, 128 ECB模式加密数据
+        $secretKey = self::$_secretKey;
+        $str = trim($str);
+        $str = self::addPKCS7Padding($str);
+        $iv = mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_RIJNDAEL_128,MCRYPT_MODE_ECB),MCRYPT_RAND);
+        $encrypt_str =  mcrypt_encrypt(MCRYPT_RIJNDAEL_128, $secretKey, $str, MCRYPT_MODE_ECB, $iv);
+        return base64_encode($encrypt_str);
+    }
+
+    /**
+     * 解密方法
+     * @param string $str
+     * @return string
+     */
+    public static function decrypt($str){
+        //AES, 128 ECB模式加密数据
+        $secretKey = self::$_secretKey;
+        $str = base64_decode($str);
+        $iv = mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_RIJNDAEL_128,MCRYPT_MODE_ECB),MCRYPT_RAND);
+        $encrypt_str =  mcrypt_decrypt(MCRYPT_RIJNDAEL_128, $secretKey, $str, MCRYPT_MODE_ECB, $iv);
+        $encrypt_str = trim($encrypt_str);
+        $encrypt_str = self::stripPKSC7Padding($encrypt_str);
+        $encrypt_str = ltrim($encrypt_str, self::$_preString);
+        return $encrypt_str;
+
+    }
+
+    /**
+     * 填充算法
+     * @param string $source
+     * @return string
+     */
+    private static function addPKCS7Padding($source){
+        $source = trim($source);
+        $block = mcrypt_get_block_size('rijndael-128', 'ecb');
+        $pad = $block - (strlen($source) % $block);
+        if ($pad <= $block) {
+            $char = chr($pad);
+            $source .= str_repeat($char, $pad);
+        }
+        return $source;
+    }
+    /**
+     * 移去填充算法
+     * @param string $source
+     * @return string
+     */
+    private static function stripPKSC7Padding($source){
+        $source = trim($source);
+        $char = substr($source, -1);
+        $num = ord($char);
+        if($num==62)return $source;
+        $source = substr($source,0,-$num);
+        return $source;
+    }
+}
\ No newline at end of file
diff --git a/library/WebPlugin/HelperSearch.php b/library/WebPlugin/HelperSearch.php
index 26f44b2..be55739 100644
--- a/library/WebPlugin/HelperSearch.php
+++ b/library/WebPlugin/HelperSearch.php
@@ -808,6 +808,8 @@ class HelperSearch
         $color = $filter['color'];
         if (isset($color['color_id'])) {
             $checked = isset(self::$params['color']) && self::$params['color'] ==$color['color_id'] ? true : false;
+            $color['color_value'] = empty($color['color_value']) ? '' : Helpers::getUrlSafe($color['color_value']);
+
             $result[] = array(
                 'name' => $color['color_name'],
                 'rgb' => empty($color['color_value']) ? '#' . $color['color_code'] : "url({$color['color_value']})",
@@ -821,6 +823,7 @@ class HelperSearch
         else {
             foreach ($color as $v) {
                 $checked = false;
+                $v['color_value'] = empty($v['color_value']) ? '' : Helpers::getUrlSafe($v['color_value']);
                 //设置已选中
                 if ($v['color_id'] == $colorId) {
                     $background = empty($v['color_value']) ? '#' . $v['color_code'] : "url(" . $v['color_value'] . ")";
@@ -1269,7 +1272,7 @@ class HelperSearch
         if (empty($params)) {
             return self::current();
         }
-        $queryPath = explode('?', $_SERVER['REQUEST_URI']);
+        $queryPath = explode('?', Helpers::getUrlSafe($_SERVER['REQUEST_URI']));
         $params_arr = array();
         //店铺装修,添加额外参数
         if (empty($params['shopId']) && isset($_REQUEST['shopId'])) {
@@ -1406,7 +1409,7 @@ class HelperSearch
     public static function current()
     {
         $urlParam = array();
-        $url = explode('?', 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']);
+        $url = explode('?', '//' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']);
         if (!empty(self::$specialsaleParam)) {
             $url[0] .= '?' . http_build_query(self::$specialsaleParam);
         }
@@ -1420,7 +1423,7 @@ class HelperSearch
         if (!empty($urlParam)) {
             $url[0] .= '?' . http_build_query($urlParam);
         }
-        return $url[0];
+        return Helpers::getUrlSafe($url[0]);
     }
 
     /**
@@ -1437,7 +1440,7 @@ class HelperSearch
             $nextUrl = self::buildUrl($param);
             $next = array(
                 'href' => $nextUrl,
-                'src' => 'http://img10.static.yhbimg.com/product/2014/01/15/11/01fa01614784f6239760f1b749663016f1.jpg?imageMogr2/thumbnail/235x314/extent/235x314/background/d2hpdGU=/position/center/quality/90'
+                'src' => '//img10.static.yhbimg.com/product/2014/01/15/11/01fa01614784f6239760f1b749663016f1.jpg?imageMogr2/thumbnail/235x314/extent/235x314/background/d2hpdGU=/position/center/quality/90'
             );
         }
         return $next;
@@ -1796,7 +1799,7 @@ class HelperSearch
         if (isset(self::$params['query']) && !empty(self::$params['query'])) {
             $data['keyWord'] = self::$params['query'];
         }
-        $data['searchActionUrl'] = 'http://search.yohobuy.com';
+        $data['searchActionUrl'] = '//search.yohobuy.com';
         return $data;
     }
 
@@ -1822,14 +1825,17 @@ class HelperSearch
      */
     public static function pinYin($zh){
         $ret = "";
+        if(mb_detect_encoding($zh, array('GB2312','GBK','UTF-8'))!='UTF-8'){
+	   $zh = '';
+        }
         @$s1 = iconv("UTF-8","gbk//ignore", $zh);
         @$s2 = iconv("gbk//ignore","UTF-8", $s1);
         if($s2 == $zh){$zh = $s1;}
         for($i = 0; $i < strlen($zh); $i++){
-            $s1 = substr($zh,$i,1);
+            $s1 = mb_substr($zh,$i,1);
             $p = ord($s1);
             if($p > 160){
-                $s2 = substr($zh,$i++,2);
+                $s2 = mb_substr($zh,$i++,2);
                 $ret .= self::getfirstchar($s2);
             }else{
                 $ret .= $s1;
@@ -1849,6 +1855,10 @@ class HelperSearch
         if ($fchar >= ord("A") and $fchar <= ord("z") ) {
             return strtoupper($s0{0});
         }
+        if(mb_detect_encoding($s0, array('GB2312','GBK','UTF-8'))!='UTF-8') {
+           return '';
+        }
+
         $s1 = @iconv("UTF-8","gbk//ignore", $s0);
         $s2 = @iconv("gbk//ignore","UTF-8", $s1);
         if ($s2 == $s0) {
diff --git a/library/WebPlugin/Helpers.php b/library/WebPlugin/Helpers.php
index cbc6985..e3b22f5 100644
--- a/library/WebPlugin/Helpers.php
+++ b/library/WebPlugin/Helpers.php
@@ -24,16 +24,16 @@ class Helpers
 
         switch ($module) {
             case 'default':
-                $url = 'http://www.yohobuy.com';
+                $url = '//www.yohobuy.com';
                 break;
             case 'guang': // 逛
-                $url = 'http://guang' . SUB_DOMAIN;
+                $url = '//guang' . SUB_DOMAIN;
                 break;
             case 'list': // 商品列表
-                $url = 'http://list' . SUB_DOMAIN;
+                $url = '//list' . SUB_DOMAIN;
                 break;
             case 'search': // 搜索
-                $url = 'http://search' . SUB_DOMAIN;
+                $url = '//search' . SUB_DOMAIN;
                 break;
             case 'index': // 默认
                 $url = SITE_MAIN;
@@ -41,7 +41,7 @@ class Helpers
             case '': // 相对地址
                 break;
             default: // 其它子域名
-                $url = 'http://' . $module . SUB_DOMAIN;
+                $url = '//' . $module . SUB_DOMAIN;
         }
         $url .= $uri;
         if (!empty($param)) {
@@ -62,7 +62,7 @@ class Helpers
      */
     public static function getImageUrl($url, $width, $height, $mode = 2)
     {
-        return strtr($url, array('{width}' => $width, '{height}' => $height, '{mode}' => $mode));
+        return self::getUrlSafe(strtr($url, array('{width}' => $width, '{height}' => $height, '{mode}' => $mode)));
     }
 
     /**
@@ -73,7 +73,7 @@ class Helpers
      */
     public static function getFilterUrl($url)
     {
-        $url = strtr($url, array('.m.yohobuy.com' => SUB_DOMAIN, OLD_MAIN => SITE_MAIN, 'www.yohobuy.com' => SITE_MAIN));
+        $url = self::getUrlSafe(strtr($url, array('.m.yohobuy.com' => SUB_DOMAIN, OLD_MAIN => SITE_MAIN, 'www.yohobuy.com' => SITE_MAIN)));
         $filter = strstr($url, 'openby:yohobuy=', true);
         if ($filter) {
             return rtrim(rtrim($filter, '?'), '&');
@@ -581,7 +581,7 @@ class Helpers
         if(!empty($url) && stripos($url, '?') !== false){
             $extra = '&channel='.$channel;
         }
-        return $url . $extra;
+        return self::getUrlSafe($url . $extra);
     }
     
     
@@ -1003,7 +1003,7 @@ class Helpers
         if (empty($cn_alphabet)) {
             $cn_alphabet = 'goods.html';
         }
-        return 'http://item.yohobuy.com/product/pro_' . $product_id . '_' . $goods_id  . '/' . $cn_alphabet.  '.html';
+        return '//item.yohobuy.com/product/pro_' . $product_id . '_' . $goods_id  . '/' . $cn_alphabet.  '.html';
     }
     
     /**
@@ -1090,7 +1090,11 @@ class Helpers
     {
         return preg_match("/[\x7f-\xff]/", $str);
     }
+<<<<<<< HEAD
 
+=======
+    
+>>>>>>> master
      /**
      * 将首字符为//的url转换为http://
      *
@@ -1105,7 +1109,7 @@ class Helpers
     /**
      * http和https转换成//
      * @param type $url 地址
-     * @return type string
+     * @return type string 
      */
     public static function getUrlSafe($url)
     {
diff --git a/library/WebPlugin/Images.php b/library/WebPlugin/Images.php
index 7bfe17a..4090839 100644
--- a/library/WebPlugin/Images.php
+++ b/library/WebPlugin/Images.php
@@ -7,13 +7,13 @@
  */
 
 namespace WebPlugin;
-
+use WebPlugin\Helpers;
 class Images
 {
 
     private static $domain = '.static.yhbimg.com';
     private static $default_image = '/2015/08/25/02/01dd632a6e07bfef457ce4beda21dd6413.png';
-    private static $defaultHeadIco = 'http://img10.static.yhbimg.com/headimg/2013/11/28/09/01cae078abe5fe320c88cdf4c220212688.gif';
+    private static $defaultHeadIco = '//img10.static.yhbimg.com/headimg/2013/11/28/09/01cae078abe5fe320c88cdf4c220212688.gif';
     private static $domainList = array(
         '01' => array(
             'img10.static.yhbimg.com',
@@ -52,7 +52,7 @@ class Images
             return $fileName;
         }
         $domain = self::getDomain($bucket, $fileName);
-        return 'http://' . $domain . '/' . $bucket . $fileName;
+        return '//' . $domain . '/' . $bucket . $fileName;
     }
 
     /**
@@ -66,13 +66,18 @@ class Images
      */
     public static function getImageUrl($fileName, $width, $height, $mode = 2, $bucket = 'goodsimg')
     {
+        if (substr($fileName, 0, 2) === '//') {
+            //防止多次调用getImageUrl
+            $fileName = 'http:' . $fileName;
+        }
+
         if (!is_string($fileName)) {
             return self::template(self::$default_image, $bucket, $mode);
         }
         if (stripos($fileName, 'http://') !== 0) {
             $fileName = self::template($fileName, $bucket, $mode);
         }
-        return strtr($fileName, array('{width}' => $width, '{height}' => $height, '{mode}' => $mode));
+        return Helpers::getUrlSafe(strtr($fileName, array('{width}' => $width, '{height}' => $height, '{mode}' => $mode)));
     }
 
     /**
@@ -155,6 +160,7 @@ class Images
 			$images[$files['name']] = $files['tmp_name'];
 		}
 
+		//return self::uploadStreamImage($images);
         return self::uploadStreamImage($images, $path);
 	}
 
@@ -216,7 +222,7 @@ class Images
 				$imgRelUrl = current($result['data']['imagesList']);
 				$imgList['imgList'][] = array(
 					//'imgUrl' => self::getSourceUrl($imgRelUrl, 'suggest') . $imgExtra,
-                    'imgUrl' => self::getSourceUrl($imgRelUrl, $path) . $imgExtra,
+                    $img['imgUrl'] = self::getSourceUrl($imgRelUrl, $path) . $imgExtra,
 					'imgRelUrl' => $imgRelUrl
 				);
 			}
@@ -256,7 +262,7 @@ class Images
 	            $imageUrl = preg_replace('@\?imageMogr2.+@is', '', $imageUrl);
 	        }
 	    }
-	    return $imageUrl;
+	    return Helpers::getUrlSafe($imageUrl);
 	}
 	
     /**
@@ -280,7 +286,7 @@ class Images
     private static function MakeBaseUrl($domain, $key) // => $baseUrl
     {
         $keyEsc = str_replace("%2F", "/", rawurlencode($key));
-        return "http://$domain/$keyEsc";
+        return "//$domain/$keyEsc";
     }
 
     private static function MakeTemplateRequest($url)
diff --git a/library/WebPlugin/Mobile.php b/library/WebPlugin/Mobile.php
index 1192da8..4fc305f 100644
--- a/library/WebPlugin/Mobile.php
+++ b/library/WebPlugin/Mobile.php
@@ -123,7 +123,7 @@ class Mobile
     {
         if (empty($_COOKIE['m2w']) && self::isMobile()) {
             header("HTTP/1.1 301 Moved Permanently");
-            header('Location:http://'.self::getNewUrl());
+            header('Location://'.self::getNewUrl());
             exit();
         }
         return true;
diff --git a/library/WebPlugin/Partner/alipay/Config.inc.php b/library/WebPlugin/Partner/alipay/Config.inc.php
index ce0c60e..c9937f2 100644
--- a/library/WebPlugin/Partner/alipay/Config.inc.php
+++ b/library/WebPlugin/Partner/alipay/Config.inc.php
@@ -14,6 +14,6 @@ return array(
     'cacert' => dirname(__FILE__) .'/cacert.pem',
     // 访问模式,根据自己的服务器是否支持ssl访问,若支持请选择https;若不支持请选择http
     'transport' => 'http',
-    // 页面跳转同步通知页面路径 (需http://格式的完整路径,不允许加?id=123这类自定义参数)
-    'return_url' => SITE_MAIN . '/passport/autosign/alipaycallback',
+    // 页面跳转同步通知页面路径 (需//格式的完整路径,不允许加?id=123这类自定义参数)
+    'return_url' => WebPlugin\Helpers::transHttpsUrl(SITE_MAIN) . '/passport/autosign/alipaycallback',
 );
diff --git a/library/WebPlugin/Partner/douban/Config.inc.php b/library/WebPlugin/Partner/douban/Config.inc.php
index 9548354..892f368 100644
--- a/library/WebPlugin/Partner/douban/Config.inc.php
+++ b/library/WebPlugin/Partner/douban/Config.inc.php
@@ -4,6 +4,6 @@ defined('SITE_MAIN') || define('SITE_MAIN', $_SERVER['HTTP_HOST']);
 return array(
     'appId' => '03b4e36bf13dc75a0b1eaa43d3b9560e',
     'appKey' => 'f16d5913e8610672',
-    'callback' => SITE_MAIN . '/passport/autosign/doubanback',
+    'callback' => WebPlugin\Helpers::transHttpsUrl(SITE_MAIN). '/passport/autosign/doubanback',
     'scope' => 'douban_basic_common',
 );
\ No newline at end of file
diff --git a/library/WebPlugin/Partner/qqconnect/Call.php b/library/WebPlugin/Partner/qqconnect/Call.php
index 4338211..6c7ade0 100644
--- a/library/WebPlugin/Partner/qqconnect/Call.php
+++ b/library/WebPlugin/Partner/qqconnect/Call.php
@@ -89,7 +89,7 @@ class Call extends Factory
     /**
      * 获取当前用户的偶像(关注)列表
      *
-     * @see http://wiki.connect.qq.com/get_idollist
+     * @see //wiki.connect.qq.com/get_idollist
      * @param string $access_token  访问令牌
      * @param string $openid  腾讯唯一的对应QQ号
      * @param array $params  参数列表
diff --git a/library/WebPlugin/Partner/qqconnect/Config.inc.php b/library/WebPlugin/Partner/qqconnect/Config.inc.php
index b692b27..07f5193 100644
--- a/library/WebPlugin/Partner/qqconnect/Config.inc.php
+++ b/library/WebPlugin/Partner/qqconnect/Config.inc.php
@@ -4,7 +4,7 @@ defined('SITE_MAIN') || define('SITE_MAIN', $_SERVER['HTTP_HOST']);
 return array(
 	'appid' => '100229394',
 	'appkey' => 'c0af9c29e0900813028c2ccb42021792',
-	'callback' => SITE_MAIN . '/passport/autosign/qqcallback',
+	'callback' => WebPlugin\Helpers::transHttpsUrl(SITE_MAIN) . '/passport/autosign/qqcallback',
 	'scope' => 'get_user_info,add_share,upload_pic,get_idollist,get_fanslist',
 	'errorReport' => true,
 );
\ No newline at end of file
diff --git a/library/WebPlugin/Partner/renren/Call.php b/library/WebPlugin/Partner/renren/Call.php
index 549fe20..bca0d90 100644
--- a/library/WebPlugin/Partner/renren/Call.php
+++ b/library/WebPlugin/Partner/renren/Call.php
@@ -72,7 +72,7 @@ class Call extends Factory
     /**
      * 获取当前用户的基本资料
      *
-     * @see http://open.renren.com/wiki/API/v2/user/get
+     * @see //open.renren.com/wiki/API/v2/user/get
      * @param object $token  授权成功的TOKEN, 默认为NULL
      * @return array
      */
@@ -114,7 +114,7 @@ class Call extends Factory
     /**
      * 获取当前用户的偶像(关注)列表
      *
-     * @see http://open.renren.com/wiki/V2/friend/list
+     * @see //open.renren.com/wiki/V2/friend/list
      * @param object $token  访问令牌
      * @param array $params  参数列表
      *     Long $userId 用户ID。该字段默认为当前用户
@@ -163,7 +163,7 @@ class Call extends Factory
      *
      * 发送自定义新鲜事。新鲜事会发布用户的个人动态信息到用户人人网主页,同时会出现在好友的新鲜事中
      * 
-     * @see http://open.renren.com/wiki/API/v2/feed/put 
+     * @see //open.renren.com/wiki/API/v2/feed/put 
      * @param object $token  访问令牌
      * @param String $image  新鲜事图片地址
      * @param String $content  新鲜事主体内容 注意:最多200个字符。
diff --git a/library/WebPlugin/Partner/renren/Config.inc.php b/library/WebPlugin/Partner/renren/Config.inc.php
index e126d36..2fa049a 100644
--- a/library/WebPlugin/Partner/renren/Config.inc.php
+++ b/library/WebPlugin/Partner/renren/Config.inc.php
@@ -4,6 +4,6 @@ defined('SITE_MAIN') || define('SITE_MAIN', $_SERVER['HTTP_HOST']);
 return array(
 	'appId' => '783130c654c94a77ace97054ae266019',
 	'appKey' => '05e430de8c1e40d3a1f39ca8d3f8252c',
-	'callback' => SITE_MAIN . '/passport/autosign/renrenback',
+	'callback' => WebPlugin\Helpers::transHttpsUrl(SITE_MAIN). '/passport/autosign/renrenback',
     'scope' => 'publish_feed,photo_upload',
 );
\ No newline at end of file
diff --git a/library/WebPlugin/Partner/renren/class/RennClientBase.class.php b/library/WebPlugin/Partner/renren/class/RennClientBase.class.php
index 089fe80..97be72c 100644
--- a/library/WebPlugin/Partner/renren/class/RennClientBase.class.php
+++ b/library/WebPlugin/Partner/renren/class/RennClientBase.class.php
@@ -11,11 +11,11 @@ class RennClientBase {
 	/**
 	 * token终端
 	 */
-	const TOKEN_ENDPOINT = 'http://graph.renren.com/oauth/token';
+	const TOKEN_ENDPOINT = '//graph.renren.com/oauth/token';
 	/**
 	 * 授权终端
 	 */
-	const AUTHORIZATION_ENDPOINT = 'http://graph.renren.com/oauth/grant';
+	const AUTHORIZATION_ENDPOINT = '//graph.renren.com/oauth/grant';
 	/**
 	 * API host
 	 */
diff --git a/library/WebPlugin/Partner/renren/class/service/AlbumService.php b/library/WebPlugin/Partner/renren/class/service/AlbumService.php
index a92a594..42ed280 100644
--- a/library/WebPlugin/Partner/renren/class/service/AlbumService.php
+++ b/library/WebPlugin/Partner/renren/class/service/AlbumService.php
@@ -3,7 +3,7 @@
 class AlbumService extends RennServiceBase {
         /**
          * 以分页的方式获取某个用户的相册列表
-         * <br />对应API:{$link http://dev.renren.com/API/v2/album/list }
+         * <br />对应API:{$link //dev.renren.com/API/v2/album/list }
          * @param Long $ownerId 相册所有者的ID
          * @param Integer $pageSize 页面大小。取值范围1-100,默认大小20
          * @param Integer $pageNumber 页码。取值大于零,默认值为1
@@ -26,7 +26,7 @@ class AlbumService extends RennServiceBase {
          } 
         /**
          * 获取某个用户的某个相册
-         * <br />对应API:{$link http://dev.renren.com/API/v2/album/get }
+         * <br />对应API:{$link //dev.renren.com/API/v2/album/get }
          * @param Long $albumId 相册的ID
          * @param Long $ownerId 相册所有者的ID
          * @return Album 相册
@@ -45,7 +45,7 @@ class AlbumService extends RennServiceBase {
          } 
         /**
          * 创建一个相册
-         * <br />对应API:{$link http://dev.renren.com/API/v2/album/put }
+         * <br />对应API:{$link //dev.renren.com/API/v2/album/put }
          * @param String $location 相册拍摄的地点。不能超过60个字符。
          * @param String $description 相册的描述。不能超过200个字符。
          * @param String $name 相册的名字。不能超过30个字符
diff --git a/library/WebPlugin/Partner/renren/class/service/AppService.php b/library/WebPlugin/Partner/renren/class/service/AppService.php
index d29406c..e43090f 100644
--- a/library/WebPlugin/Partner/renren/class/service/AppService.php
+++ b/library/WebPlugin/Partner/renren/class/service/AppService.php
@@ -3,7 +3,7 @@
 class AppService extends RennServiceBase {
         /**
          * 获取某个应用的信息,部分信息取自缓存,不能立即生效
-         * <br />对应API:{$link http://dev.renren.com/API/v2/app/get }
+         * <br />对应API:{$link //dev.renren.com/API/v2/app/get }
          * @return App App
          */
          function getApp() {
diff --git a/library/WebPlugin/Partner/renren/class/service/BlogService.php b/library/WebPlugin/Partner/renren/class/service/BlogService.php
index 5390439..7267a55 100644
--- a/library/WebPlugin/Partner/renren/class/service/BlogService.php
+++ b/library/WebPlugin/Partner/renren/class/service/BlogService.php
@@ -3,7 +3,7 @@
 class BlogService extends RennServiceBase {
         /**
          * 以分页的方式获取某个用户的日志列表
-         * <br />对应API:{$link http://dev.renren.com/API/v2/blog/list }
+         * <br />对应API:{$link //dev.renren.com/API/v2/blog/list }
          * @param Long $ownerId 日志所有者的ID
          * @param Integer $pageSize 页面大小。取值范围1-20,默认大小10
          * @param Integer $pageNumber 页码。取值大于零,默认值为1
@@ -26,7 +26,7 @@ class BlogService extends RennServiceBase {
          } 
         /**
          * 创建一篇日志
-         * <br />对应API:{$link http://dev.renren.com/API/v2/blog/put }
+         * <br />对应API:{$link //dev.renren.com/API/v2/blog/put }
          * @param String $title 日志的标题
          * @param AccessControl $accessControl 日志的访问控制
          * @param String $password 日志的访问密码,1-16个字符
@@ -53,7 +53,7 @@ class BlogService extends RennServiceBase {
          } 
         /**
          * 获取某个用户的某篇日志
-         * <br />对应API:{$link http://dev.renren.com/API/v2/blog/get }
+         * <br />对应API:{$link //dev.renren.com/API/v2/blog/get }
          * @param Long $ownerId 日志所有者的ID
          * @param Long $blogId 日志的ID
          * @param String $password 日志访问密码
diff --git a/library/WebPlugin/Partner/renren/class/service/CommentService.php b/library/WebPlugin/Partner/renren/class/service/CommentService.php
index 6762a07..479e4d9 100644
--- a/library/WebPlugin/Partner/renren/class/service/CommentService.php
+++ b/library/WebPlugin/Partner/renren/class/service/CommentService.php
@@ -3,7 +3,7 @@
 class CommentService extends RennServiceBase {
         /**
          * 对某个对象(日志、状态、照片、相册、分享等)进行评论
-         * <br />对应API:{$link http://dev.renren.com/API/v2/comment/put }
+         * <br />对应API:{$link //dev.renren.com/API/v2/comment/put }
          * @param String $content 评论内容。状态评论字数限制为240个字符,其余字数限制为500个字符。
          * @param Long $targetUserId 评论回复目标用户的ID,若为0或不传此参数为:添加一条评论
          * @param CommentType $commentType 评论的类型
@@ -34,7 +34,7 @@ class CommentService extends RennServiceBase {
          } 
         /**
          * 以分页的方式获取某个UGC的评论
-         * <br />对应API:{$link http://dev.renren.com/API/v2/comment/list }
+         * <br />对应API:{$link //dev.renren.com/API/v2/comment/list }
          * @param Boolean $desc 是否降序。true:按评论时间降序;false:按评论时间升序;默认:true,按评论时间降序。
          * @param Integer $pageSize 页面大小。取值范围1-100,默认大小20
          * @param Integer $pageNumber 页码。取值大于零,默认值为1
diff --git a/library/WebPlugin/Partner/renren/class/service/FeedService.php b/library/WebPlugin/Partner/renren/class/service/FeedService.php
index c9934a8..9e1e73f 100644
--- a/library/WebPlugin/Partner/renren/class/service/FeedService.php
+++ b/library/WebPlugin/Partner/renren/class/service/FeedService.php
@@ -3,7 +3,7 @@
 class FeedService extends RennServiceBase {
         /**
          * 发送自定义新鲜事。新鲜事会发布用户的个人动态信息到用户人人网主页,<br> 同时会出现在好友的新鲜事中。
-         * <br />对应API:{$link http://dev.renren.com/API/v2/feed/put }
+         * <br />对应API:{$link //dev.renren.com/API/v2/feed/put }
          * @param String $message 用户输入的自定义内容。注意:最多200个字符
          * @param String $title 新鲜事标题 注意:最多30个字符
          * @param String $actionTargetUrl 新鲜事动作模块链接
@@ -46,7 +46,7 @@ class FeedService extends RennServiceBase {
          } 
         /**
          * 根据新鲜事类型获取新鲜事列表
-         * <br />对应API:{$link http://dev.renren.com/API/v2/feed/list }
+         * <br />对应API:{$link //dev.renren.com/API/v2/feed/list }
          * @param FeedType $feedType 新鲜事类型
          * @param Long $userId 用户id,不传时表示获取当前用户人人网首页新鲜事,否则获取对应用户的个人主页新鲜事
          * @param Integer $pageSize 页面大小。取值范围1-100,默认大小30
diff --git a/library/WebPlugin/Partner/renren/class/service/FriendService.php b/library/WebPlugin/Partner/renren/class/service/FriendService.php
index 9fab26b..791d130 100644
--- a/library/WebPlugin/Partner/renren/class/service/FriendService.php
+++ b/library/WebPlugin/Partner/renren/class/service/FriendService.php
@@ -3,7 +3,7 @@
 class FriendService extends RennServiceBase {
         /**
          * 获取某个用户的好友ID列表
-         * <br />对应API:{$link http://dev.renren.com/API/v2/friend/list }
+         * <br />对应API:{$link //dev.renren.com/API/v2/friend/list }
          * @param Long $userId 用户ID。该字段默认为当前用户
          * @param Integer $pageSize 页面大小。默认大小500。
          * @param Integer $pageNumber 页码。取值大于零,默认值为1
diff --git a/library/WebPlugin/Partner/renren/class/service/InvitationService.php b/library/WebPlugin/Partner/renren/class/service/InvitationService.php
index ea77652..6cb0723 100644
--- a/library/WebPlugin/Partner/renren/class/service/InvitationService.php
+++ b/library/WebPlugin/Partner/renren/class/service/InvitationService.php
@@ -3,7 +3,7 @@
 class InvitationService extends RennServiceBase {
         /**
          * 发送邀请
-         * <br />对应API:{$link http://dev.renren.com/API/v2/invitation/put }
+         * <br />对应API:{$link //dev.renren.com/API/v2/invitation/put }
          * @param InvitationType $invitationType 邀请类别,默认为应用邀请
          * @param Long $userId 被邀请用户id
          * @param String $img 图片链接
diff --git a/library/WebPlugin/Partner/renren/class/service/LikeService.php b/library/WebPlugin/Partner/renren/class/service/LikeService.php
index 902facf..3a45a21 100644
--- a/library/WebPlugin/Partner/renren/class/service/LikeService.php
+++ b/library/WebPlugin/Partner/renren/class/service/LikeService.php
@@ -3,7 +3,7 @@
 class LikeService extends RennServiceBase {
         /**
          * 取消对站内资源的赞。
-         * <br />对应API:{$link http://dev.renren.com/API/v2/like/ugc/remove }
+         * <br />对应API:{$link //dev.renren.com/API/v2/like/ugc/remove }
          * @param Long $ugcOwnerId UGC所有者的用户ID
          * @param LikeUGCType $likeUGCType 
          * @param Long $ugcId UGC的ID
@@ -26,7 +26,7 @@ class LikeService extends RennServiceBase {
          } 
         /**
          * 赞人人内部资源,相册、照片、日志、分享、视频等。
-         * <br />对应API:{$link http://dev.renren.com/API/v2/like/ugc/put }
+         * <br />对应API:{$link //dev.renren.com/API/v2/like/ugc/put }
          * @param Long $ugcOwnerId UGC所有者的用户ID
          * @param LikeUGCType $likeUGCType 
          * @param Long $ugcId UGC的ID
@@ -49,7 +49,7 @@ class LikeService extends RennServiceBase {
          } 
         /**
          * 获取站内资源被赞的次数。
-         * <br />对应API:{$link http://dev.renren.com/API/v2/like/ugc/info/get }
+         * <br />对应API:{$link //dev.renren.com/API/v2/like/ugc/info/get }
          * @param Integer $limit 最多返回喜欢此资源的用户数,最大为50,默认值为10。
          * @param Boolean $withLikeUsers 是否包含喜欢此资源的用户
          * @param LikeUGCType $likeUGCType 可以赞的UGC类型。
diff --git a/library/WebPlugin/Partner/renren/class/service/NotificationService.php b/library/WebPlugin/Partner/renren/class/service/NotificationService.php
index 70365a0..b48ed80 100644
--- a/library/WebPlugin/Partner/renren/class/service/NotificationService.php
+++ b/library/WebPlugin/Partner/renren/class/service/NotificationService.php
@@ -3,8 +3,8 @@
 class NotificationService extends RennServiceBase {
         /**
          * 以用户身份向用户发送通知
-         * <br />对应API:{$link http://dev.renren.com/API/v2/notification/user/put }
-         * @param String $content 通知的内容,可以是XNML类型的文本信息,支持的XNML有<xn:name/>和<a/>,请注意:使用<xn:name/>标签的时候,其uid属性值只能是真实的用户id(阿拉伯数字)。例如:hello,<xn:name uid="200032219" linked="true"/> ,去看看这部电影<a href="http://www.tudou.com/programs/view/Tzpw9PIj8zM/">狮子王</a>。通知长度不能大于500个字符
+         * <br />对应API:{$link //dev.renren.com/API/v2/notification/user/put }
+         * @param String $content 通知的内容,可以是XNML类型的文本信息,支持的XNML有<xn:name/>和<a/>,请注意:使用<xn:name/>标签的时候,其uid属性值只能是真实的用户id(阿拉伯数字)。例如:hello,<xn:name uid="200032219" linked="true"/> ,去看看这部电影<a href="//www.tudou.com/programs/view/Tzpw9PIj8zM/">狮子王</a>。通知长度不能大于500个字符
          * @param Long $userIds 接收通知的用户列表。这些用户必须是当前登录用户的好友或应用安装用户。请确保一次传入的用户id数少于20个。不能给当前用户发送通知,发送的通知会被忽略
          * @return Integer 发送成功返回1
          */
@@ -30,8 +30,8 @@ class NotificationService extends RennServiceBase {
          } 
         /**
          * 以应用身份向用户发送通知
-         * <br />对应API:{$link http://dev.renren.com/API/v2/notification/app/put }
-         * @param String $content 通知的内容,可以是XNML类型的文本信息,支持的XNML有<xn:name/>和<a/>,请注意:使用<xn:name/>标签的时候,其uid属性值只能是真实的用户id(阿拉伯数字)。例如:hello,<xn:name uid="200032219" linked="true"/> ,去看看这部电影<a href="http://www.tudou.com/programs/view/Tzpw9PIj8zM/">狮子王</a>。通知长度不能大于500个字符
+         * <br />对应API:{$link //dev.renren.com/API/v2/notification/app/put }
+         * @param String $content 通知的内容,可以是XNML类型的文本信息,支持的XNML有<xn:name/>和<a/>,请注意:使用<xn:name/>标签的时候,其uid属性值只能是真实的用户id(阿拉伯数字)。例如:hello,<xn:name uid="200032219" linked="true"/> ,去看看这部电影<a href="//www.tudou.com/programs/view/Tzpw9PIj8zM/">狮子王</a>。通知长度不能大于500个字符
          * @param Long $userIds 接收通知的用户列表。这些用户必须安装了此应用。请确保一次传入的用户id数少于20个
          * @return Integer 发送成功返回1
          */
diff --git a/library/WebPlugin/Partner/renren/class/service/PhotoService.php b/library/WebPlugin/Partner/renren/class/service/PhotoService.php
index e1d680f..cd14991 100644
--- a/library/WebPlugin/Partner/renren/class/service/PhotoService.php
+++ b/library/WebPlugin/Partner/renren/class/service/PhotoService.php
@@ -3,7 +3,7 @@
 class PhotoService extends RennServiceBase {
         /**
          * 上传照片至用户相册。此接口需要采用multipart/form-data的编码方式。
-         * <br />对应API:{$link http://dev.renren.com/API/v2/photo/upload }
+         * <br />对应API:{$link //dev.renren.com/API/v2/photo/upload }
          * @param Long $albumId 相册ID,albumId省略时会上传到应用相册
          * @param String $description 照片描述。不能超过200个字符
          * @param $paramter.simpleType2 $file 照片
@@ -26,7 +26,7 @@ class PhotoService extends RennServiceBase {
          } 
         /**
          * 获取某个用户某个相册里的某张照片
-         * <br />对应API:{$link http://dev.renren.com/API/v2/photo/get }
+         * <br />对应API:{$link //dev.renren.com/API/v2/photo/get }
          * @param Long $albumId 相册的ID
          * @param Long $photoId 照片的ID
          * @param Long $ownerId 相册所有者的ID
@@ -53,7 +53,7 @@ class PhotoService extends RennServiceBase {
          } 
         /**
          * 以分页的方式获取某个用户某个相册里的照片列表
-         * <br />对应API:{$link http://dev.renren.com/API/v2/photo/list }
+         * <br />对应API:{$link //dev.renren.com/API/v2/photo/list }
          * @param Long $albumId 相册的ID
          * @param Long $ownerId 相册所有者的ID
          * @param Integer $pageSize 页面大小。取值范围1-100,默认大小20
diff --git a/library/WebPlugin/Partner/renren/class/service/ProfileService.php b/library/WebPlugin/Partner/renren/class/service/ProfileService.php
index 69fbcad..b6249b9 100644
--- a/library/WebPlugin/Partner/renren/class/service/ProfileService.php
+++ b/library/WebPlugin/Partner/renren/class/service/ProfileService.php
@@ -3,7 +3,7 @@
 class ProfileService extends RennServiceBase {
         /**
          * 获取用户的主页信息,包括各种统计数据。
-         * <br />对应API:{$link http://dev.renren.com/API/v2/profile/get }
+         * <br />对应API:{$link //dev.renren.com/API/v2/profile/get }
          * @param Long $userId 用户ID
          * @return Profile 个人主页信息
          */
diff --git a/library/WebPlugin/Partner/renren/class/service/ShareService.php b/library/WebPlugin/Partner/renren/class/service/ShareService.php
index 1ac8447..15359be 100644
--- a/library/WebPlugin/Partner/renren/class/service/ShareService.php
+++ b/library/WebPlugin/Partner/renren/class/service/ShareService.php
@@ -3,7 +3,7 @@
 class ShareService extends RennServiceBase {
         /**
          * 分享人人网内部UGC资源,例如:日志、照片、相册、分享(基于已有分享再次进行分享)
-         * <br />对应API:{$link http://dev.renren.com/API/v2/share/ugc/put }
+         * <br />对应API:{$link //dev.renren.com/API/v2/share/ugc/put }
          * @param Long $ugcOwnerId UGC所有者的用户ID
          * @param String $comment 分享时用户的评论,评论字数不能超过500字符
          * @param Long $ugcId UGC的ID
@@ -30,7 +30,7 @@ class ShareService extends RennServiceBase {
          } 
         /**
          * 获取人人推荐资源
-         * <br />对应API:{$link http://dev.renren.com/API/v2/share/hot/list }
+         * <br />对应API:{$link //dev.renren.com/API/v2/share/hot/list }
          * @param Integer $pageSize 页面大小。取值范围1-50,默认大小20
          * @param Integer $pageNumber 页码。取值大于零,默认值为1
          * @param ShareType $shareType 分享类型
@@ -52,8 +52,8 @@ class ShareService extends RennServiceBase {
              return $this->client->execute('/v2/share/hot/list', 'GET', $params, $bodyParams, $fileParams);
          } 
         /**
-         * 分享人人网外部资源,例如:视频、图片等<br> 如果要分享一张本地照片到人人网(即上传),建议使用[http://wiki.dev.renren.com/wiki/v2/photo/upload /v2/photo/upload]接口
-         * <br />对应API:{$link http://dev.renren.com/API/v2/share/url/put }
+         * 分享人人网外部资源,例如:视频、图片等<br> 如果要分享一张本地照片到人人网(即上传),建议使用[//wiki.dev.renren.com/wiki/v2/photo/upload /v2/photo/upload]接口
+         * <br />对应API:{$link //dev.renren.com/API/v2/share/url/put }
          * @param String $comment 分享时用户的评论,评论字数不能超过500个字符
          * @param String $url 分享资源的URL
          * @return Share 分享
@@ -72,7 +72,7 @@ class ShareService extends RennServiceBase {
          } 
         /**
          * 获取某个用户的某个分享
-         * <br />对应API:{$link http://dev.renren.com/API/v2/share/get }
+         * <br />对应API:{$link //dev.renren.com/API/v2/share/get }
          * @param Long $shareId 分享ID
          * @param Long $ownerId 分享所有者ID
          * @return Share 分享
@@ -91,7 +91,7 @@ class ShareService extends RennServiceBase {
          } 
         /**
          * 以分页的方式获取某个用户的分享列表
-         * <br />对应API:{$link http://dev.renren.com/API/v2/share/list }
+         * <br />对应API:{$link //dev.renren.com/API/v2/share/list }
          * @param Long $ownerId 分享所有者ID
          * @param Integer $pageSize 页面大小。取值范围1-100,默认大小20
          * @param Integer $pageNumber 页码。取值大于零,默认值为1
diff --git a/library/WebPlugin/Partner/renren/class/service/StatusService.php b/library/WebPlugin/Partner/renren/class/service/StatusService.php
index e9542ea..2900f62 100644
--- a/library/WebPlugin/Partner/renren/class/service/StatusService.php
+++ b/library/WebPlugin/Partner/renren/class/service/StatusService.php
@@ -3,7 +3,7 @@
 class StatusService extends RennServiceBase {
         /**
          * 获取用户状态
-         * <br />对应API:{$link http://dev.renren.com/API/v2/status/get }
+         * <br />对应API:{$link //dev.renren.com/API/v2/status/get }
          * @param Long $statusId 状态ID
          * @param Long $ownerId 状态所有者的用户ID
          * @return Status 状态
@@ -22,8 +22,8 @@ class StatusService extends RennServiceBase {
          } 
         /**
          * 更新用户状态
-         * <br />对应API:{$link http://dev.renren.com/API/v2/status/put }
-         * @param String $content 状态的内容。状态内容不能长于240个字符。内容中的UBB表情代码未经过处理,需要开发者自行进行替换。UBB表情参见:[http://wiki.dev.renren.com/wiki/V2/ubb/list 获取人人网ubb列表]
+         * <br />对应API:{$link //dev.renren.com/API/v2/status/put }
+         * @param String $content 状态的内容。状态内容不能长于240个字符。内容中的UBB表情代码未经过处理,需要开发者自行进行替换。UBB表情参见:[//wiki.dev.renren.com/wiki/V2/ubb/list 获取人人网ubb列表]
          * @return Status 状态
          */
          function putStatus($content) {
@@ -37,7 +37,7 @@ class StatusService extends RennServiceBase {
          } 
         /**
          * 获取用户状态列表
-         * <br />对应API:{$link http://dev.renren.com/API/v2/status/list }
+         * <br />对应API:{$link //dev.renren.com/API/v2/status/list }
          * @param Long $ownerId 状态所有者的用户ID
          * @param Integer $pageSize 页面大小。取值范围1-100,默认大小20
          * @param Integer $pageNumber 页码。取值大于零,默认值为1
@@ -60,8 +60,8 @@ class StatusService extends RennServiceBase {
          } 
         /**
          * 分享用户状态
-         * <br />对应API:{$link http://dev.renren.com/API/v2/status/share }
-         * @param String $content 状态的内容。状态内容不能长于240个字符。内容中的UBB表情代码未经过处理,需要开发者自行进行替换。UBB表情参见:[http://wiki.dev.renren.com/wiki/V2/ubb/list 获取人人网ubb列表]
+         * <br />对应API:{$link //dev.renren.com/API/v2/status/share }
+         * @param String $content 状态的内容。状态内容不能长于240个字符。内容中的UBB表情代码未经过处理,需要开发者自行进行替换。UBB表情参见:[//wiki.dev.renren.com/wiki/V2/ubb/list 获取人人网ubb列表]
          * @param Long $statusId 状态ID
          * @param Long $ownerId 状态所有者的用户ID
          * @return Status 状态
diff --git a/library/WebPlugin/Partner/renren/class/service/UbbService.php b/library/WebPlugin/Partner/renren/class/service/UbbService.php
index 0c9fa52..68b40d4 100644
--- a/library/WebPlugin/Partner/renren/class/service/UbbService.php
+++ b/library/WebPlugin/Partner/renren/class/service/UbbService.php
@@ -3,7 +3,7 @@
 class UbbService extends RennServiceBase {
         /**
          * 获取人人网ubb列表
-         * <br />对应API:{$link http://dev.renren.com/API/v2/ubb/list }
+         * <br />对应API:{$link //dev.renren.com/API/v2/ubb/list }
          * @return Ubb UBB表情
          */
          function listUbb() {
diff --git a/library/WebPlugin/Partner/renren/class/service/UserService.php b/library/WebPlugin/Partner/renren/class/service/UserService.php
index 8102d70..ef1b906 100644
--- a/library/WebPlugin/Partner/renren/class/service/UserService.php
+++ b/library/WebPlugin/Partner/renren/class/service/UserService.php
@@ -3,7 +3,7 @@
 class UserService extends RennServiceBase {
         /**
          * 批量获取用户信息
-         * <br />对应API:{$link http://dev.renren.com/API/v2/user/batch }
+         * <br />对应API:{$link //dev.renren.com/API/v2/user/batch }
          * @param Long $userIds 批量获取的用户IDs,最多支持50个
          * @return User 用户
          */
@@ -26,7 +26,7 @@ class UserService extends RennServiceBase {
          } 
         /**
          * 获取用户信息
-         * <br />对应API:{$link http://dev.renren.com/API/v2/user/get }
+         * <br />对应API:{$link //dev.renren.com/API/v2/user/get }
          * @param Long $userId 用户ID
          * @return User 用户
          */
@@ -41,7 +41,7 @@ class UserService extends RennServiceBase {
          } 
         /**
          * 获取某个用户的好友列表
-         * <br />对应API:{$link http://dev.renren.com/API/v2/user/friend/list }
+         * <br />对应API:{$link //dev.renren.com/API/v2/user/friend/list }
          * @param Long $userId 用户ID
          * @param Integer $pageSize 页面大小。取值范围1-100,默认大小20
          * @param Integer $pageNumber 页码。取值大于零,默认值为1
@@ -64,7 +64,7 @@ class UserService extends RennServiceBase {
          } 
         /**
          * 获取当前登录用户未安装某应用里的好友列表
-         * <br />对应API:{$link http://dev.renren.com/API/v2/user/friend/uninstall/list }
+         * <br />对应API:{$link //dev.renren.com/API/v2/user/friend/uninstall/list }
          * @return User 用户
          */
          function listUserFriendUninstall() {
@@ -75,7 +75,7 @@ class UserService extends RennServiceBase {
          } 
         /**
          * 以分页的方式获取某个用户与当前登录用户的共同好友
-         * <br />对应API:{$link http://dev.renren.com/API/v2/user/friend/mutual/list }
+         * <br />对应API:{$link //dev.renren.com/API/v2/user/friend/mutual/list }
          * @param Long $userId 用户ID
          * @return User 用户
          */
@@ -90,7 +90,7 @@ class UserService extends RennServiceBase {
          } 
         /**
          * 获取当前登录用户在某个应用里的好友列表
-         * <br />对应API:{$link http://dev.renren.com/API/v2/user/friend/app/list }
+         * <br />对应API:{$link //dev.renren.com/API/v2/user/friend/app/list }
          * @return User 用户
          */
          function listUserFriendApp() {
@@ -101,7 +101,7 @@ class UserService extends RennServiceBase {
          } 
         /**
          * 获取当前登录用户信息
-         * <br />对应API:{$link http://dev.renren.com/API/v2/user/login/get }
+         * <br />对应API:{$link //dev.renren.com/API/v2/user/login/get }
          * @return User 用户
          */
          function getUserLogin() {
diff --git a/library/WebPlugin/Partner/sinaweibo/Call.php b/library/WebPlugin/Partner/sinaweibo/Call.php
index 5ba2e19..8f6c368 100644
--- a/library/WebPlugin/Partner/sinaweibo/Call.php
+++ b/library/WebPlugin/Partner/sinaweibo/Call.php
@@ -94,7 +94,7 @@ class Call extends Factory
     /**
      * 获取当前用户的关注列表
      *
-     * @see http://open.weibo.com/wiki/2/friendships/friends
+     * @see //open.weibo.com/wiki/2/friendships/friends
      *
      * @param string $token  已授权过的访问TOKEN
      * @param array $params  参数列表,如下:
diff --git a/library/WebPlugin/Partner/sinaweibo/Config.inc.php b/library/WebPlugin/Partner/sinaweibo/Config.inc.php
index dcafbce..6df4bf3 100644
--- a/library/WebPlugin/Partner/sinaweibo/Config.inc.php
+++ b/library/WebPlugin/Partner/sinaweibo/Config.inc.php
@@ -4,5 +4,5 @@ defined('SITE_MAIN') || define('SITE_MAIN', $_SERVER['HTTP_HOST']);
 return array(
 	'appId' => '3739328910',
 	'appKey' => '9d44cded26d048e23089e5e975c93df1',
-	'appCallbackUrl' => SITE_MAIN . '/passport/autosign/sinacallback',
+	'appCallbackUrl' => WebPlugin\Helpers::transHttpsUrl(SITE_MAIN) . '/passport/autosign/sinacallback',
 );
\ No newline at end of file
diff --git a/library/WebPlugin/Partner/sinaweibo/class/Saev2.class.php b/library/WebPlugin/Partner/sinaweibo/class/Saev2.class.php
index a3a428c..04847e1 100644
--- a/library/WebPlugin/Partner/sinaweibo/class/Saev2.class.php
+++ b/library/WebPlugin/Partner/sinaweibo/class/Saev2.class.php
@@ -16,7 +16,7 @@ class OAuthException extends Exception {
 /**
  * 新浪微博 OAuth 认证类(OAuth2)
  *
- * 授权机制说明请大家参考微博开放平台文档:{@link http://open.weibo.com/wiki/Oauth2}
+ * 授权机制说明请大家参考微博开放平台文档:{@link //open.weibo.com/wiki/Oauth2}
  *
  * @package sae
  * @author Elmer Zhang
@@ -138,7 +138,7 @@ class SaeTOAuthV2 {
 	/**
 	 * authorize接口
 	 *
-	 * 对应API:{@link http://open.weibo.com/wiki/Oauth2/authorize Oauth2/authorize}
+	 * 对应API:{@link //open.weibo.com/wiki/Oauth2/authorize Oauth2/authorize}
 	 *
 	 * @param string $url 授权后的回调地址,站外应用需与回调地址一致,站内应用需要填写canvas page的地址
 	 * @param string $response_type 支持的值包括 code 和token 默认值为code
@@ -166,7 +166,7 @@ class SaeTOAuthV2 {
 	/**
 	 * access_token接口
 	 *
-	 * 对应API:{@link http://open.weibo.com/wiki/OAuth2/access_token OAuth2/access_token}
+	 * 对应API:{@link //open.weibo.com/wiki/OAuth2/access_token OAuth2/access_token}
 	 *
 	 * @param string $type 请求的类型,可以为:code, password, token
 	 * @param array $keys 其他参数:
@@ -532,7 +532,7 @@ class SaeTClientV2
 	/**
 	 * 获取最新的公共微博消息
 	 *
-	 * 对应API:{@link http://open.weibo.com/wiki/2/statuses/public_timeline statuses/public_timeline}
+	 * 对应API:{@link //open.weibo.com/wiki/2/statuses/public_timeline statuses/public_timeline}
 	 *
 	 * @access public
 	 * @param int $count 单页返回的记录条数,默认为50。
@@ -552,8 +552,8 @@ class SaeTClientV2
 	/**
 	 * 获取当前登录用户及其所关注用户的最新微博消息。
 	 *
-	 * 获取当前登录用户及其所关注用户的最新微博消息。和用户登录 http://weibo.com 后在“我的首页”中看到的内容相同。同friends_timeline()
-	 * <br />对应API:{@link http://open.weibo.com/wiki/2/statuses/home_timeline statuses/home_timeline}
+	 * 获取当前登录用户及其所关注用户的最新微博消息。和用户登录 //weibo.com 后在“我的首页”中看到的内容相同。同friends_timeline()
+	 * <br />对应API:{@link //open.weibo.com/wiki/2/statuses/home_timeline statuses/home_timeline}
 	 * 
 	 * @access public
 	 * @param int $page 指定返回结果的页码。根据当前登录用户所关注的用户数及这些被关注用户发表的微博数,翻页功能最多能查看的总记录数会有所不同,通常最多能查看1000条左右。默认值1。可选。
@@ -586,8 +586,8 @@ class SaeTClientV2
 	/**
 	 * 获取当前登录用户及其所关注用户的最新微博消息。
 	 *
-	 * 获取当前登录用户及其所关注用户的最新微博消息。和用户登录 http://weibo.com 后在“我的首页”中看到的内容相同。同home_timeline()
-	 * <br />对应API:{@link http://open.weibo.com/wiki/2/statuses/friends_timeline statuses/friends_timeline}
+	 * 获取当前登录用户及其所关注用户的最新微博消息。和用户登录 //weibo.com 后在“我的首页”中看到的内容相同。同home_timeline()
+	 * <br />对应API:{@link //open.weibo.com/wiki/2/statuses/friends_timeline statuses/friends_timeline}
 	 * 
 	 * @access public
 	 * @param int $page 指定返回结果的页码。根据当前登录用户所关注的用户数及这些被关注用户发表的微博数,翻页功能最多能查看的总记录数会有所不同,通常最多能查看1000条左右。默认值1。可选。
@@ -607,7 +607,7 @@ class SaeTClientV2
 	 * 获取用户发布的微博信息列表
 	 *
 	 * 返回用户的发布的最近n条信息,和用户微博页面返回内容是一致的。此接口也可以请求其他用户的最新发表微博。
-	 * <br />对应API:{@link http://open.weibo.com/wiki/2/statuses/user_timeline statuses/user_timeline}
+	 * <br />对应API:{@link //open.weibo.com/wiki/2/statuses/user_timeline statuses/user_timeline}
 	 * 
 	 * @access public
 	 * @param int $page 页码
@@ -646,7 +646,7 @@ class SaeTClientV2
 	 * 获取用户发布的微博信息列表
 	 *
 	 * 返回用户的发布的最近n条信息,和用户微博页面返回内容是一致的。此接口也可以请求其他用户的最新发表微博。
-	 * <br />对应API:{@link http://open.weibo.com/wiki/2/statuses/user_timeline statuses/user_timeline}
+	 * <br />对应API:{@link //open.weibo.com/wiki/2/statuses/user_timeline statuses/user_timeline}
 	 * 
 	 * @access public
 	 * @param string $screen_name 微博昵称,主要是用来区分用户UID跟微博昵称,当二者一样而产生歧义的时候,建议使用该参数 
@@ -685,7 +685,7 @@ class SaeTClientV2
 	/**
 	 * 批量获取指定的一批用户的timeline
 	 *
-	 * 对应API:{@link http://open.weibo.com/wiki/2/statuses/timeline_batch statuses/timeline_batch}
+	 * 对应API:{@link //open.weibo.com/wiki/2/statuses/timeline_batch statuses/timeline_batch}
 	 *
 	 * @param string $screen_name  需要查询的用户昵称,用半角逗号分隔,一次最多20个
 	 * @param int    $count        单页返回的记录条数,默认为50。
@@ -712,7 +712,7 @@ class SaeTClientV2
 	/**
 	 * 批量获取指定的一批用户的timeline
 	 *
-	 * 对应API:{@link http://open.weibo.com/wiki/2/statuses/timeline_batch statuses/timeline_batch}
+	 * 对应API:{@link //open.weibo.com/wiki/2/statuses/timeline_batch statuses/timeline_batch}
 	 *
 	 * @param string $uids  需要查询的用户ID,用半角逗号分隔,一次最多20个。
 	 * @param int    $count        单页返回的记录条数,默认为50。
@@ -743,7 +743,7 @@ class SaeTClientV2
 	/**
 	 * 返回一条原创微博消息的最新n条转发微博消息。本接口无法对非原创微博进行查询。 
 	 *
-	 * 对应API:{@link http://open.weibo.com/wiki/2/statuses/repost_timeline statuses/repost_timeline}
+	 * 对应API:{@link //open.weibo.com/wiki/2/statuses/repost_timeline statuses/repost_timeline}
 	 * 
 	 * @access public
 	 * @param int $sid 要获取转发微博列表的原创微博ID。
@@ -776,7 +776,7 @@ class SaeTClientV2
 	/**
 	 * 获取当前用户最新转发的n条微博消息
 	 *
-	 * 对应API:{@link http://open.weibo.com/wiki/2/statuses/repost_by_me statuses/repost_by_me}
+	 * 对应API:{@link //open.weibo.com/wiki/2/statuses/repost_by_me statuses/repost_by_me}
 	 * 
 	 * @access public
 	 * @param int $page 返回结果的页码。 
@@ -804,7 +804,7 @@ class SaeTClientV2
 	 * 获取@当前用户的微博列表
 	 *
 	 * 返回最新n条提到登录用户的微博消息(即包含@username的微博消息)
-	 * <br />对应API:{@link http://open.weibo.com/wiki/2/statuses/mentions statuses/mentions}
+	 * <br />对应API:{@link //open.weibo.com/wiki/2/statuses/mentions statuses/mentions}
 	 * 
 	 * @access public
 	 * @param int $page 返回结果的页序号。
@@ -839,7 +839,7 @@ class SaeTClientV2
 	 * 根据ID获取单条微博信息内容
 	 *
 	 * 获取单条ID的微博信息,作者信息将同时返回。
-	 * <br />对应API:{@link http://open.weibo.com/wiki/2/statuses/show statuses/show}
+	 * <br />对应API:{@link //open.weibo.com/wiki/2/statuses/show statuses/show}
 	 * 
 	 * @access public
 	 * @param int $id 要获取已发表的微博ID, 如ID不存在返回空
@@ -856,7 +856,7 @@ class SaeTClientV2
 	/**
 	 * 根据微博id号获取微博的信息
 	 *
-	 * 对应API:{@link http://open.weibo.com/wiki/2/statuses/show_batch statuses/show_batch}
+	 * 对应API:{@link //open.weibo.com/wiki/2/statuses/show_batch statuses/show_batch}
 	 *
 	 * @param string $ids 需要查询的微博ID,用半角逗号分隔,最多不超过50个。
 	 * @return array
@@ -878,7 +878,7 @@ class SaeTClientV2
 	/**
 	 * 通过微博(评论、私信)ID获取其MID
 	 *
-	 * 对应API:{@link http://open.weibo.com/wiki/2/statuses/querymid statuses/querymid}
+	 * 对应API:{@link //open.weibo.com/wiki/2/statuses/querymid statuses/querymid}
 	 *
 	 * @param int|string $id  需要查询的微博(评论、私信)ID,批量模式下,用半角逗号分隔,最多不超过20个。
 	 * @param int $type  获取类型,1:微博、2:评论、3:私信,默认为1。
@@ -897,7 +897,7 @@ class SaeTClientV2
 	/**
 	 * 通过微博(评论、私信)MID获取其ID
 	 *
-	 * 对应API:{@link http://open.weibo.com/wiki/2/statuses/queryid statuses/queryid}
+	 * 对应API:{@link //open.weibo.com/wiki/2/statuses/queryid statuses/queryid}
 	 *
 	 * @param int|string $mid  需要查询的微博(评论、私信)MID,批量模式下,用半角逗号分隔,最多不超过20个。
 	 * @param int $type  获取类型,1:微博、2:评论、3:私信,默认为1。
@@ -920,7 +920,7 @@ class SaeTClientV2
 	/**
 	 * 按天返回热门微博转发榜的微博列表
 	 *
-	 * 对应API:{@link http://open.weibo.com/wiki/2/statuses/hot/repost_daily statuses/hot/repost_daily}
+	 * 对应API:{@link //open.weibo.com/wiki/2/statuses/hot/repost_daily statuses/hot/repost_daily}
 	 *
 	 * @param int $count 返回的记录条数,最大不超过50,默认为20。
 	 * @param int $base_app 是否只获取当前应用的数据。0为否(所有数据),1为是(仅当前应用),默认为0。
@@ -937,7 +937,7 @@ class SaeTClientV2
 	/**
 	 * 按周返回热门微博转发榜的微博列表
 	 *
-	 * 对应API:{@link http://open.weibo.com/wiki/2/statuses/hot/repost_weekly statuses/hot/repost_weekly}
+	 * 对应API:{@link //open.weibo.com/wiki/2/statuses/hot/repost_weekly statuses/hot/repost_weekly}
 	 *
 	 * @param int $count 返回的记录条数,最大不超过50,默认为20。
 	 * @param int $base_app 是否只获取当前应用的数据。0为否(所有数据),1为是(仅当前应用),默认为0。
@@ -954,7 +954,7 @@ class SaeTClientV2
 	/**
 	 * 按天返回热门微博评论榜的微博列表
 	 *
-	 * 对应API:{@link http://open.weibo.com/wiki/2/statuses/hot/comments_daily statuses/hot/comments_daily}
+	 * 对应API:{@link //open.weibo.com/wiki/2/statuses/hot/comments_daily statuses/hot/comments_daily}
 	 *
 	 * @param int $count 返回的记录条数,最大不超过50,默认为20。
 	 * @param int $base_app 是否只获取当前应用的数据。0为否(所有数据),1为是(仅当前应用),默认为0。
@@ -971,7 +971,7 @@ class SaeTClientV2
 	/**
 	 * 按周返回热门微博评论榜的微博列表
 	 *
-	 * 对应API:{@link http://open.weibo.com/wiki/2/statuses/hot/comments_weekly statuses/hot/comments_weekly}
+	 * 对应API:{@link //open.weibo.com/wiki/2/statuses/hot/comments_weekly statuses/hot/comments_weekly}
 	 *
 	 * @param int $count 返回的记录条数,最大不超过50,默认为20。
 	 * @param int $base_app 是否只获取当前应用的数据。0为否(所有数据),1为是(仅当前应用),默认为0。
@@ -990,7 +990,7 @@ class SaeTClientV2
 	 * 转发一条微博信息。
 	 *
 	 * 可加评论。为防止重复,发布的信息与最新信息一样话,将会被忽略。
-	 * <br />对应API:{@link http://open.weibo.com/wiki/2/statuses/repost statuses/repost}
+	 * <br />对应API:{@link //open.weibo.com/wiki/2/statuses/repost statuses/repost}
 	 * 
 	 * @access public
 	 * @param int $sid 转发的微博ID
@@ -1014,7 +1014,7 @@ class SaeTClientV2
 	 * 删除一条微博
 	 * 
 	 * 根据ID删除微博消息。注意:只能删除自己发布的信息。
-	 * <br />对应API:{@link http://open.weibo.com/wiki/2/statuses/destroy statuses/destroy}
+	 * <br />对应API:{@link //open.weibo.com/wiki/2/statuses/destroy statuses/destroy}
 	 * 
 	 * @access public
 	 * @param int $id 要删除的微博ID
@@ -1029,7 +1029,7 @@ class SaeTClientV2
 	 * 删除一条微博
 	 *
 	 * 删除微博。注意:只能删除自己发布的信息。
-	 * <br />对应API:{@link http://open.weibo.com/wiki/2/statuses/destroy statuses/destroy}
+	 * <br />对应API:{@link //open.weibo.com/wiki/2/statuses/destroy statuses/destroy}
 	 * 
 	 * @access public
 	 * @param int $id 要删除的微博ID
@@ -1050,7 +1050,7 @@ class SaeTClientV2
 	 * 发布一条微博信息。
 	 * <br />注意:lat和long参数需配合使用,用于标记发表微博消息时所在的地理位置,只有用户设置中geo_enabled=true时候地理位置信息才有效。
 	 * <br />注意:为防止重复提交,当用户发布的微博消息与上次成功发布的微博消息内容一样时,将返回400错误,给出错误提示:“40025:Error: repeated weibo text!“。 
-	 * <br />对应API:{@link http://open.weibo.com/wiki/2/statuses/update statuses/update}
+	 * <br />对应API:{@link //open.weibo.com/wiki/2/statuses/update statuses/update}
 	 * 
 	 * @access public
 	 * @param string $status 要更新的微博信息。信息内容不超过140个汉字, 为空返回400错误。
@@ -1083,7 +1083,7 @@ class SaeTClientV2
 	 *
 	 * 发表图片微博消息。目前上传图片大小限制为<5M。 
 	 * <br />注意:lat和long参数需配合使用,用于标记发表微博消息时所在的地理位置,只有用户设置中geo_enabled=true时候地理位置信息才有效。
-	 * <br />对应API:{@link http://open.weibo.com/wiki/2/statuses/upload statuses/upload}
+	 * <br />对应API:{@link //open.weibo.com/wiki/2/statuses/upload statuses/upload}
 	 * 
 	 * @access public
 	 * @param string $status 要更新的微博信息。信息内容不超过140个汉字, 为空返回400错误。
@@ -1111,7 +1111,7 @@ class SaeTClientV2
 	/**
 	 * 指定一个图片URL地址抓取后上传并同时发布一条新微博
 	 *
-	 * 对应API:{@link http://open.weibo.com/wiki/2/statuses/upload_url_text statuses/upload_url_text}
+	 * 对应API:{@link //open.weibo.com/wiki/2/statuses/upload_url_text statuses/upload_url_text}
 	 *
 	 * @param string $status  要发布的微博文本内容,内容不超过140个汉字。
 	 * @param string $url    图片的URL地址,必须以http开头。
@@ -1130,7 +1130,7 @@ class SaeTClientV2
 	 * 获取表情列表
 	 *
 	 * 返回新浪微博官方所有表情、魔法表情的相关信息。包括短语、表情类型、表情分类,是否热门等。
-	 * <br />对应API:{@link http://open.weibo.com/wiki/2/emotions emotions}
+	 * <br />对应API:{@link //open.weibo.com/wiki/2/emotions emotions}
 	 * 
 	 * @access public
 	 * @param string $type 表情类别。"face":普通表情,"ani":魔法表情,"cartoon":动漫表情。默认为"face"。可选。
@@ -1149,7 +1149,7 @@ class SaeTClientV2
 	/**
 	 * 根据微博ID返回某条微博的评论列表
 	 *
-	 * 对应API:{@link http://open.weibo.com/wiki/2/comments/show comments/show}
+	 * 对应API:{@link //open.weibo.com/wiki/2/comments/show comments/show}
 	 *
 	 * @param int $sid 需要查询的微博ID。
 	 * @param int $page 返回结果的页码,默认为1。
@@ -1182,7 +1182,7 @@ class SaeTClientV2
 	/**
 	 * 获取当前登录用户所发出的评论列表
 	 *
-	 * 对应API:{@link http://open.weibo.com/wiki/2/comments/by_me comments/by_me}
+	 * 对应API:{@link //open.weibo.com/wiki/2/comments/by_me comments/by_me}
 	 *
 	 * @param int $since_id 若指定此参数,则返回ID比since_id大的评论(即比since_id时间晚的评论),默认为0。
 	 * @param int $max_id 若指定此参数,则返回ID小于或等于max_id的评论,默认为0。
@@ -1211,7 +1211,7 @@ class SaeTClientV2
 	/**
 	 * 获取当前登录用户所接收到的评论列表
 	 *
-	 * 对应API:{@link http://open.weibo.com/wiki/2/comments/to_me comments/to_me}
+	 * 对应API:{@link //open.weibo.com/wiki/2/comments/to_me comments/to_me}
 	 *
 	 * @param int $since_id 若指定此参数,则返回ID比since_id大的评论(即比since_id时间晚的评论),默认为0。
 	 * @param int $max_id  若指定此参数,则返回ID小于或等于max_id的评论,默认为0。
@@ -1243,7 +1243,7 @@ class SaeTClientV2
 	 * 最新评论(按时间)
 	 *
 	 * 返回最新n条发送及收到的评论。
-	 * <br />对应API:{@link http://open.weibo.com/wiki/2/comments/timeline comments/timeline}
+	 * <br />对应API:{@link //open.weibo.com/wiki/2/comments/timeline comments/timeline}
 	 * 
 	 * @access public
 	 * @param int $page 页码
@@ -1271,7 +1271,7 @@ class SaeTClientV2
 	/**
 	 * 获取最新的提到当前登录用户的评论,即@我的评论
 	 *
-	 * 对应API:{@link http://open.weibo.com/wiki/2/comments/mentions comments/mentions}
+	 * 对应API:{@link //open.weibo.com/wiki/2/comments/mentions comments/mentions}
 	 *
 	 * @param int $since_id 若指定此参数,则返回ID比since_id大的评论(即比since_id时间晚的评论),默认为0。
 	 * @param int $max_id  若指定此参数,则返回ID小于或等于max_id的评论,默认为0。
@@ -1297,7 +1297,7 @@ class SaeTClientV2
 	/**
 	 * 根据评论ID批量返回评论信息
 	 *
-	 * 对应API:{@link http://open.weibo.com/wiki/2/comments/show_batch comments/show_batch}
+	 * 对应API:{@link //open.weibo.com/wiki/2/comments/show_batch comments/show_batch}
 	 *
 	 * @param string $cids 需要查询的批量评论ID,用半角逗号分隔,最大50
 	 * @return array
@@ -1320,7 +1320,7 @@ class SaeTClientV2
 	/**
 	 * 对一条微博进行评论
 	 *
-	 * 对应API:{@link http://open.weibo.com/wiki/2/comments/create comments/create}
+	 * 对应API:{@link //open.weibo.com/wiki/2/comments/create comments/create}
 	 *
 	 * @param string $comment 评论内容,内容不超过140个汉字。
 	 * @param int $id 需要评论的微博ID。
@@ -1341,7 +1341,7 @@ class SaeTClientV2
 	 * 删除当前用户的微博评论信息。
 	 *
 	 * 注意:只能删除自己发布的评论,发部微博的用户不可以删除其他人的评论。
-	 * <br />对应API:{@link http://open.weibo.com/wiki/2/statuses/comment_destroy statuses/comment_destroy}
+	 * <br />对应API:{@link //open.weibo.com/wiki/2/statuses/comment_destroy statuses/comment_destroy}
 	 * 
 	 * @access public
 	 * @param int $cid 要删除的评论id
@@ -1359,7 +1359,7 @@ class SaeTClientV2
 	 * 根据评论ID批量删除评论
 	 *
 	 * 注意:只能删除自己发布的评论,发部微博的用户不可以删除其他人的评论。
-	 * <br />对应API:{@link http://open.weibo.com/wiki/2/comments/destroy_batch comments/destroy_batch}
+	 * <br />对应API:{@link //open.weibo.com/wiki/2/comments/destroy_batch comments/destroy_batch}
 	 *
 	 * @access public
 	 * @param string $ids 需要删除的评论ID,用半角逗号隔开,最多20个。
@@ -1384,7 +1384,7 @@ class SaeTClientV2
 	 * 回复一条评论
 	 *
 	 * 为防止重复,发布的信息与最后一条评论/回复信息一样话,将会被忽略。
-	 * <br />对应API:{@link http://open.weibo.com/wiki/2/comments/reply comments/reply}
+	 * <br />对应API:{@link //open.weibo.com/wiki/2/comments/reply comments/reply}
 	 * 
 	 * @access public
 	 * @param int $sid 微博id
@@ -1413,7 +1413,7 @@ class SaeTClientV2
 	 * 根据用户UID或昵称获取用户资料
 	 *
 	 * 按用户UID或昵称返回用户资料,同时也将返回用户的最新发布的微博。
-	 * <br />对应API:{@link http://open.weibo.com/wiki/2/users/show users/show}
+	 * <br />对应API:{@link //open.weibo.com/wiki/2/users/show users/show}
 	 * 
 	 * @access public
 	 * @param int  $uid 用户UID。
@@ -1434,7 +1434,7 @@ class SaeTClientV2
 	 * 根据用户UID或昵称获取用户资料
 	 *
 	 * 按用户UID或昵称返回用户资料,同时也将返回用户的最新发布的微博。
-	 * <br />对应API:{@link http://open.weibo.com/wiki/2/users/show users/show}
+	 * <br />对应API:{@link //open.weibo.com/wiki/2/users/show users/show}
 	 * 
 	 * @access public
 	 * @param string  $screen_name 用户UID。
@@ -1451,10 +1451,10 @@ class SaeTClientV2
 	/**
 	 * 通过个性化域名获取用户资料以及用户最新的一条微博
 	 *
-	 * 对应API:{@link http://open.weibo.com/wiki/2/users/domain_show users/domain_show}
+	 * 对应API:{@link //open.weibo.com/wiki/2/users/domain_show users/domain_show}
 	 * 
 	 * @access public
-	 * @param mixed $domain 用户个性域名。例如:lazypeople,而不是http://weibo.com/lazypeople
+	 * @param mixed $domain 用户个性域名。例如:lazypeople,而不是//weibo.com/lazypeople
 	 * @return array
 	 */
 	function domain_show( $domain )
@@ -1467,7 +1467,7 @@ class SaeTClientV2
 	 /**
 	 * 批量获取用户信息按uids
 	 *
-	 * 对应API:{@link http://open.weibo.com/wiki/2/users/show_batch users/show_batch}
+	 * 对应API:{@link //open.weibo.com/wiki/2/users/show_batch users/show_batch}
 	 *
 	 * @param string $uids 需要查询的用户ID,用半角逗号分隔,一次最多20个。
 	 * @return array
@@ -1489,7 +1489,7 @@ class SaeTClientV2
 	/**
 	 * 批量获取用户信息按screen_name
 	 *
-	 * 对应API:{@link http://open.weibo.com/wiki/2/users/show_batch users/show_batch}
+	 * 对应API:{@link //open.weibo.com/wiki/2/users/show_batch users/show_batch}
 	 *
 	 * @param string  $screen_name 需要查询的用户昵称,用半角逗号分隔,一次最多20个。
 	 * @return array
@@ -1510,7 +1510,7 @@ class SaeTClientV2
 	 * 获取用户的关注列表
 	 *
 	 * 如果没有提供cursor参数,将只返回最前面的5000个关注id
-	 * <br />对应API:{@link http://open.weibo.com/wiki/2/friendships/friends friendships/friends}
+	 * <br />对应API:{@link //open.weibo.com/wiki/2/friendships/friends friendships/friends}
 	 * 
 	 * @access public
 	 * @param int $cursor 返回结果的游标,下一页用返回值里的next_cursor,上一页用previous_cursor,默认为0。
@@ -1533,7 +1533,7 @@ class SaeTClientV2
 	 * 获取用户的关注列表
 	 *
 	 * 如果没有提供cursor参数,将只返回最前面的5000个关注id
-	 * <br />对应API:{@link http://open.weibo.com/wiki/2/friendships/friends friendships/friends}
+	 * <br />对应API:{@link //open.weibo.com/wiki/2/friendships/friends friendships/friends}
 	 * 
 	 * @access public
 	 * @param int $cursor 返回结果的游标,下一页用返回值里的next_cursor,上一页用previous_cursor,默认为0。
@@ -1554,7 +1554,7 @@ class SaeTClientV2
 	/**
 	 * 获取两个用户之间的共同关注人列表
 	 *
-	 * 对应API:{@link http://open.weibo.com/wiki/2/friendships/friends/in_common friendships/friends/in_common}
+	 * 对应API:{@link //open.weibo.com/wiki/2/friendships/friends/in_common friendships/friends/in_common}
 	 *
 	 * @param int $uid  需要获取共同关注关系的用户UID
 	 * @param int $suid  需要获取共同关注关系的用户UID,默认为当前登录用户。
@@ -1575,7 +1575,7 @@ class SaeTClientV2
 	/**
 	 * 获取用户的双向关注列表,即互粉列表
 	 *
-	 * 对应API:{@link http://open.weibo.com/wiki/2/friendships/friends/bilateral friendships/friends/bilateral}
+	 * 对应API:{@link //open.weibo.com/wiki/2/friendships/friends/bilateral friendships/friends/bilateral}
 	 *
 	 * @param int $uid  需要获取双向关注列表的用户UID。
 	 * @param int $count  单页返回的记录条数,默认为50。
@@ -1596,7 +1596,7 @@ class SaeTClientV2
 	/**
 	 * 获取用户的双向关注uid列表
 	 *
-	 * 对应API:{@link http://open.weibo.com/wiki/2/friendships/friends/bilateral/ids friendships/friends/bilateral/ids}
+	 * 对应API:{@link //open.weibo.com/wiki/2/friendships/friends/bilateral/ids friendships/friends/bilateral/ids}
 	 *
 	 * @param int $uid  需要获取双向关注列表的用户UID。
 	 * @param int $count 单页返回的记录条数,默认为50。
@@ -1618,7 +1618,7 @@ class SaeTClientV2
 	 * 获取用户的关注列表uid
 	 *
 	 * 如果没有提供cursor参数,将只返回最前面的5000个关注id
-	 * <br />对应API:{@link http://open.weibo.com/wiki/2/friendships/friends/ids friendships/friends/ids}
+	 * <br />对应API:{@link //open.weibo.com/wiki/2/friendships/friends/ids friendships/friends/ids}
 	 * 
 	 * @access public
 	 * @param int $cursor 返回结果的游标,下一页用返回值里的next_cursor,上一页用previous_cursor,默认为0。
@@ -1640,7 +1640,7 @@ class SaeTClientV2
 	 * 获取用户的关注列表uid
 	 *
 	 * 如果没有提供cursor参数,将只返回最前面的5000个关注id
-	 * <br />对应API:{@link http://open.weibo.com/wiki/2/friendships/friends/ids friendships/friends/ids}
+	 * <br />对应API:{@link //open.weibo.com/wiki/2/friendships/friends/ids friendships/friends/ids}
 	 * 
 	 * @access public
 	 * @param int $cursor 返回结果的游标,下一页用返回值里的next_cursor,上一页用previous_cursor,默认为0。
@@ -1661,7 +1661,7 @@ class SaeTClientV2
 	/**
 	 * 批量获取当前登录用户的关注人的备注信息
 	 *
-	 * 对应API:{@link http://open.weibo.com/wiki/2/friendships/friends/remark_batch friendships/friends/remark_batch}
+	 * 对应API:{@link //open.weibo.com/wiki/2/friendships/friends/remark_batch friendships/friends/remark_batch}
 	 *
 	 * @param string $uids  需要获取备注的用户UID,用半角逗号分隔,最多不超过50个。
 	 * @return array
@@ -1683,7 +1683,7 @@ class SaeTClientV2
 	/**
 	 * 获取用户的粉丝列表
 	 *
-	 * 对应API:{@link http://open.weibo.com/wiki/2/friendships/followers friendships/followers}
+	 * 对应API:{@link //open.weibo.com/wiki/2/friendships/followers friendships/followers}
 	 *
 	 * @param int $uid  需要查询的用户UID
 	 * @param int $count 单页返回的记录条数,默认为50,最大不超过200。
@@ -1703,7 +1703,7 @@ class SaeTClientV2
 	/**
 	 * 获取用户的粉丝列表
 	 *
-	 * 对应API:{@link http://open.weibo.com/wiki/2/friendships/followers friendships/followers}
+	 * 对应API:{@link //open.weibo.com/wiki/2/friendships/followers friendships/followers}
 	 *
 	 * @param string $screen_name  需要查询的用户的昵称
 	 * @param int  $count 单页返回的记录条数,默认为50,最大不超过200。
@@ -1722,7 +1722,7 @@ class SaeTClientV2
 	/**
 	 * 获取用户的粉丝列表uid
 	 *
-	 * 对应API:{@link http://open.weibo.com/wiki/2/friendships/followers friendships/followers}
+	 * 对应API:{@link //open.weibo.com/wiki/2/friendships/followers friendships/followers}
 	 *
 	 * @param int $uid 需要查询的用户UID
 	 * @param int $count 单页返回的记录条数,默认为50,最大不超过200。
@@ -1742,7 +1742,7 @@ class SaeTClientV2
 	/**
 	 * 获取用户的粉丝列表uid
 	 *
-	 * 对应API:{@link http://open.weibo.com/wiki/2/friendships/followers friendships/followers}
+	 * 对应API:{@link //open.weibo.com/wiki/2/friendships/followers friendships/followers}
 	 *
 	 * @param string $screen_name 需要查询的用户screen_name
 	 * @param int $count 单页返回的记录条数,默认为50,最大不超过200。
@@ -1761,7 +1761,7 @@ class SaeTClientV2
 	/**
 	 * 获取优质粉丝
 	 *
-	 * 对应API:{@link http://open.weibo.com/wiki/2/friendships/followers/active friendships/followers/active}
+	 * 对应API:{@link //open.weibo.com/wiki/2/friendships/followers/active friendships/followers/active}
 	 *
 	 * @param int $uid 需要查询的用户UID。
 	 * @param int $count 返回的记录条数,默认为20,最大不超过200。
@@ -1780,7 +1780,7 @@ class SaeTClientV2
 	/**
 	 * 获取当前登录用户的关注人中又关注了指定用户的用户列表
 	 *
-	 * 对应API:{@link http://open.weibo.com/wiki/2/friendships/friends_chain/followers friendships/friends_chain/followers}
+	 * 对应API:{@link //open.weibo.com/wiki/2/friendships/friends_chain/followers friendships/friends_chain/followers}
 	 *
 	 * @param int $uid 指定的关注目标用户UID。
 	 * @param int $count 单页返回的记录条数,默认为50。
@@ -1801,7 +1801,7 @@ class SaeTClientV2
 	 * 返回两个用户关系的详细情况
 	 *
 	 * 如果源用户或目的用户不存在,将返回http的400错误
-	 * <br />对应API:{@link http://open.weibo.com/wiki/2/friendships/show friendships/show}
+	 * <br />对应API:{@link //open.weibo.com/wiki/2/friendships/show friendships/show}
 	 * 
 	 * @access public
 	 * @param mixed $target_id 目标用户UID
@@ -1826,7 +1826,7 @@ class SaeTClientV2
 	 * 返回两个用户关系的详细情况
 	 *
 	 * 如果源用户或目的用户不存在,将返回http的400错误
-	 * <br />对应API:{@link http://open.weibo.com/wiki/2/friendships/show friendships/show}
+	 * <br />对应API:{@link //open.weibo.com/wiki/2/friendships/show friendships/show}
 	 * 
 	 * @access public
 	 * @param mixed $target_name 目标用户的微博昵称
@@ -1849,7 +1849,7 @@ class SaeTClientV2
 	 * 关注一个用户。
 	 *
 	 * 成功则返回关注人的资料,目前最多关注2000人,失败则返回一条字符串的说明。如果已经关注了此人,则返回http 403的状态。关注不存在的ID将返回400。
-	 * <br />对应API:{@link http://open.weibo.com/wiki/2/friendships/create friendships/create}
+	 * <br />对应API:{@link //open.weibo.com/wiki/2/friendships/create friendships/create}
 	 * 
 	 * @access public
 	 * @param int $uid 要关注的用户UID
@@ -1867,7 +1867,7 @@ class SaeTClientV2
 	 * 关注一个用户。
 	 *
 	 * 成功则返回关注人的资料,目前的最多关注2000人,失败则返回一条字符串的说明。如果已经关注了此人,则返回http 403的状态。关注不存在的ID将返回400。
-	 * <br />对应API:{@link http://open.weibo.com/wiki/2/friendships/create friendships/create}
+	 * <br />对应API:{@link //open.weibo.com/wiki/2/friendships/create friendships/create}
 	 * 
 	 * @access public
 	 * @param string $screen_name 要关注的用户昵称
@@ -1884,7 +1884,7 @@ class SaeTClientV2
 	/**
 	 * 根据用户UID批量关注用户
 	 *
-	 * 对应API:{@link http://open.weibo.com/wiki/2/friendships/create_batch friendships/create_batch}
+	 * 对应API:{@link //open.weibo.com/wiki/2/friendships/create_batch friendships/create_batch}
 	 *
 	 * @param string $uids 要关注的用户UID,用半角逗号分隔,最多不超过20个。
 	 * @return array
@@ -1907,7 +1907,7 @@ class SaeTClientV2
 	 * 取消关注某用户
 	 *
 	 * 取消关注某用户。成功则返回被取消关注人的资料,失败则返回一条字符串的说明。
-	 * <br />对应API:{@link http://open.weibo.com/wiki/2/friendships/destroy friendships/destroy}
+	 * <br />对应API:{@link //open.weibo.com/wiki/2/friendships/destroy friendships/destroy}
 	 * 
 	 * @access public
 	 * @param int $uid 要取消关注的用户UID
@@ -1925,7 +1925,7 @@ class SaeTClientV2
 	 * 取消关注某用户
 	 *
 	 * 取消关注某用户。成功则返回被取消关注人的资料,失败则返回一条字符串的说明。
-	 * <br />对应API:{@link http://open.weibo.com/wiki/2/friendships/destroy friendships/destroy}
+	 * <br />对应API:{@link //open.weibo.com/wiki/2/friendships/destroy friendships/destroy}
 	 * 
 	 * @access public
 	 * @param string $screen_name 要取消关注的用户昵称
@@ -1942,7 +1942,7 @@ class SaeTClientV2
 	 * 更新当前登录用户所关注的某个好友的备注信息
 	 *
 	 * 只能修改当前登录用户所关注的用户的备注信息。否则将给出400错误。
-	 * <br />对应API:{@link http://open.weibo.com/wiki/2/friendships/remark/update friendships/remark/update}
+	 * <br />对应API:{@link //open.weibo.com/wiki/2/friendships/remark/update friendships/remark/update}
 	 * 
 	 * @access public
 	 * @param int $uid 需要修改备注信息的用户ID。
@@ -1962,7 +1962,7 @@ class SaeTClientV2
 	 * 获取当前用户最新私信列表
 	 *
 	 * 返回用户的最新n条私信,并包含发送者和接受者的详细资料。
-	 * <br />对应API:{@link http://open.weibo.com/wiki/2/direct_messages direct_messages}
+	 * <br />对应API:{@link //open.weibo.com/wiki/2/direct_messages direct_messages}
 	 * 
 	 * @access public
 	 * @param int $page 页码
@@ -1990,7 +1990,7 @@ class SaeTClientV2
 	 * 获取当前用户发送的最新私信列表
 	 *
 	 * 返回登录用户已发送最新50条私信。包括发送者和接受者的详细资料。
-	 * <br />对应API:{@link http://open.weibo.com/wiki/2/direct_messages/sent direct_messages/sent}
+	 * <br />对应API:{@link //open.weibo.com/wiki/2/direct_messages/sent direct_messages/sent}
 	 * 
 	 * @access public
 	 * @param int $page 页码
@@ -2018,7 +2018,7 @@ class SaeTClientV2
 	/**
 	 * 获取与当前登录用户有私信往来的用户列表,与该用户往来的最新私信
 	 *
-	 * 对应API:{@link http://open.weibo.com/wiki/2/direct_messages/user_list direct_messages/user_list}
+	 * 对应API:{@link //open.weibo.com/wiki/2/direct_messages/user_list direct_messages/user_list}
 	 *
 	 * @param int $count  单页返回的记录条数,默认为20。
 	 * @param int $cursor 返回结果的游标,下一页用返回值里的next_cursor,上一页用previous_cursor,默认为0。
@@ -2035,7 +2035,7 @@ class SaeTClientV2
 	/**
 	 * 获取与指定用户的往来私信列表
 	 *
-	 * 对应API:{@link http://open.weibo.com/wiki/2/direct_messages/conversation direct_messages/conversation}
+	 * 对应API:{@link //open.weibo.com/wiki/2/direct_messages/conversation direct_messages/conversation}
 	 *
 	 * @param int $uid 需要查询的用户的UID。
 	 * @param int $since_id 若指定此参数,则返回ID比since_id大的私信(即比since_id时间晚的私信),默认为0。
@@ -2065,7 +2065,7 @@ class SaeTClientV2
 	/**
 	 * 根据私信ID批量获取私信内容
 	 *
-	 * 对应API:{@link http://open.weibo.com/wiki/2/direct_messages/show_batch direct_messages/show_batch}
+	 * 对应API:{@link //open.weibo.com/wiki/2/direct_messages/show_batch direct_messages/show_batch}
 	 *
 	 * @param string  $dmids 需要查询的私信ID,用半角逗号分隔,一次最多50个
 	 * @return array
@@ -2088,7 +2088,7 @@ class SaeTClientV2
 	 * 发送私信
 	 *
 	 * 发送一条私信。成功将返回完整的发送消息。
-	 * <br />对应API:{@link http://open.weibo.com/wiki/2/direct_messages/new direct_messages/new}
+	 * <br />对应API:{@link //open.weibo.com/wiki/2/direct_messages/new direct_messages/new}
 	 * 
 	 * @access public
 	 * @param int $uid 用户UID
@@ -2113,7 +2113,7 @@ class SaeTClientV2
 	 * 发送私信
 	 *
 	 * 发送一条私信。成功将返回完整的发送消息。
-	 * <br />对应API:{@link http://open.weibo.com/wiki/2/direct_messages/new direct_messages/new}
+	 * <br />对应API:{@link //open.weibo.com/wiki/2/direct_messages/new direct_messages/new}
 	 * 
 	 * @access public
 	 * @param string $screen_name 用户昵称
@@ -2137,7 +2137,7 @@ class SaeTClientV2
 	 * 删除一条私信
 	 *
 	 * 按ID删除私信。操作用户必须为私信的接收人。
-	 * <br />对应API:{@link http://open.weibo.com/wiki/2/direct_messages/destroy direct_messages/destroy}
+	 * <br />对应API:{@link //open.weibo.com/wiki/2/direct_messages/destroy direct_messages/destroy}
 	 * 
 	 * @access public
 	 * @param int $did 要删除的私信主键ID
@@ -2155,7 +2155,7 @@ class SaeTClientV2
 	 * 批量删除私信
 	 *
 	 * 批量删除当前登录用户的私信。出现异常时,返回400错误。
-	 * <br />对应API:{@link http://open.weibo.com/wiki/2/direct_messages/destroy_batch direct_messages/destroy_batch}
+	 * <br />对应API:{@link //open.weibo.com/wiki/2/direct_messages/destroy_batch direct_messages/destroy_batch}
 	 * 
 	 * @access public
 	 * @param mixed $dids 欲删除的一组私信ID,用半角逗号隔开,或者由一组评论ID组成的数组。最多20个。例如:"4976494627, 4976262053"或array(4976494627,4976262053);
@@ -2181,7 +2181,7 @@ class SaeTClientV2
 	/**
 	 * 获取用户基本信息
 	 *
-	 * 对应API:{@link http://open.weibo.com/wiki/2/account/profile/basic account/profile/basic}
+	 * 对应API:{@link //open.weibo.com/wiki/2/account/profile/basic account/profile/basic}
 	 *
 	 * @param int $uid  需要获取基本信息的用户UID,默认为当前登录用户。
 	 * @return array
@@ -2199,7 +2199,7 @@ class SaeTClientV2
 	/**
 	 * 获取用户的教育信息
 	 *
-	 * 对应API:{@link http://open.weibo.com/wiki/2/account/profile/education account/profile/education}
+	 * 对应API:{@link //open.weibo.com/wiki/2/account/profile/education account/profile/education}
 	 *
 	 * @param int $uid  需要获取教育信息的用户UID,默认为当前登录用户。
 	 * @return array
@@ -2217,7 +2217,7 @@ class SaeTClientV2
 	/**
 	 * 批量获取用户的教育信息
 	 *
-	 * 对应API:{@link http://open.weibo.com/wiki/2/account/profile/education_batch account/profile/education_batch}
+	 * 对应API:{@link //open.weibo.com/wiki/2/account/profile/education_batch account/profile/education_batch}
 	 *
 	 * @param string $uids 需要获取教育信息的用户UID,用半角逗号分隔,最多不超过20。
 	 * @return array
@@ -2241,7 +2241,7 @@ class SaeTClientV2
 	/**
 	 * 获取用户的职业信息
 	 *
-	 * 对应API:{@link http://open.weibo.com/wiki/2/account/profile/career account/profile/career}
+	 * 对应API:{@link //open.weibo.com/wiki/2/account/profile/career account/profile/career}
 	 *
 	 * @param int $uid  需要获取教育信息的用户UID,默认为当前登录用户。
 	 * @return array
@@ -2259,7 +2259,7 @@ class SaeTClientV2
 	/**
 	 * 批量获取用户的职业信息
 	 *
-	 * 对应API:{@link http://open.weibo.com/wiki/2/account/profile/career_batch account/profile/career_batch}
+	 * 对应API:{@link //open.weibo.com/wiki/2/account/profile/career_batch account/profile/career_batch}
 	 *
 	 * @param string $uids 需要获取教育信息的用户UID,用半角逗号分隔,最多不超过20。
 	 * @return array
@@ -2282,7 +2282,7 @@ class SaeTClientV2
 	/**
 	 * 获取隐私信息设置情况
 	 *
-	 * 对应API:{@link http://open.weibo.com/wiki/2/account/get_privacy account/get_privacy}
+	 * 对应API:{@link //open.weibo.com/wiki/2/account/get_privacy account/get_privacy}
 	 * 
 	 * @access public
 	 * @return array
@@ -2295,7 +2295,7 @@ class SaeTClientV2
 	/**
 	 * 获取所有的学校列表
 	 *
-	 * 对应API:{@link http://open.weibo.com/wiki/2/account/profile/school_list account/profile/school_list}
+	 * 对应API:{@link //open.weibo.com/wiki/2/account/profile/school_list account/profile/school_list}
 	 *
 	 * @param array $query 搜索选项。格式:array('key0'=>'value0', 'key1'=>'value1', ....)。支持的key:
 	 *  - province	int		省份范围,省份ID。
@@ -2319,7 +2319,7 @@ class SaeTClientV2
 	/**
 	 * 获取当前登录用户的API访问频率限制情况
 	 *
-	 * 对应API:{@link http://open.weibo.com/wiki/2/account/rate_limit_status account/rate_limit_status}
+	 * 对应API:{@link //open.weibo.com/wiki/2/account/rate_limit_status account/rate_limit_status}
 	 * 
 	 * @access public
 	 * @return array
@@ -2332,7 +2332,7 @@ class SaeTClientV2
 	/**
 	 * OAuth授权之后,获取授权用户的UID
 	 *
-	 * 对应API:{@link http://open.weibo.com/wiki/2/account/get_uid account/get_uid}
+	 * 对应API:{@link //open.weibo.com/wiki/2/account/get_uid account/get_uid}
 	 * 
 	 * @access public
 	 * @return array
@@ -2346,7 +2346,7 @@ class SaeTClientV2
 	/**
 	 * 更改用户资料
 	 *
-	 * 对应API:{@link http://open.weibo.com/wiki/2/account/profile/basic_update account/profile/basic_update}
+	 * 对应API:{@link //open.weibo.com/wiki/2/account/profile/basic_update account/profile/basic_update}
 	 * 
 	 * @access public
 	 * @param array $profile 要修改的资料。格式:array('key1'=>'value1', 'key2'=>'value2', .....)。
@@ -2386,7 +2386,7 @@ class SaeTClientV2
 	/**
 	 * 设置教育信息
 	 *
-	 * 对应API:{@link http://open.weibo.com/wiki/2/account/profile/edu_update account/profile/edu_update}
+	 * 对应API:{@link //open.weibo.com/wiki/2/account/profile/edu_update account/profile/edu_update}
 	 * 
 	 * @access public
 	 * @param array $edu_update 要修改的学校信息。格式:array('key1'=>'value1', 'key2'=>'value2', .....)。
@@ -2407,7 +2407,7 @@ class SaeTClientV2
 	/**
 	 * 根据学校ID删除用户的教育信息
 	 *
-	 * 对应API:{@link http://open.weibo.com/wiki/2/account/profile/edu_destroy account/profile/edu_destroy}
+	 * 对应API:{@link //open.weibo.com/wiki/2/account/profile/edu_destroy account/profile/edu_destroy}
 	 * 
 	 * @param int $id 教育信息里的学校ID。
 	 * @return array
@@ -2423,7 +2423,7 @@ class SaeTClientV2
 	/**
 	 * 设置职业信息
 	 *
-	 * 对应API:{@link http://open.weibo.com/wiki/2/account/profile/car_update account/profile/car_update}
+	 * 对应API:{@link //open.weibo.com/wiki/2/account/profile/car_update account/profile/car_update}
 	 * 
 	 * @param array $car_update 要修改的职业信息。格式:array('key1'=>'value1', 'key2'=>'value2', .....)。
 	 * 支持设置的项:
@@ -2447,7 +2447,7 @@ class SaeTClientV2
 	/**
 	 * 根据公司ID删除用户的职业信息
 	 *
-	 * 对应API:{@link http://open.weibo.com/wiki/2/account/profile/car_destroy account/profile/car_destroy}
+	 * 对应API:{@link //open.weibo.com/wiki/2/account/profile/car_destroy account/profile/car_destroy}
 	 * 
 	 * @access public
 	 * @param int $id  职业信息里的公司ID
@@ -2464,7 +2464,7 @@ class SaeTClientV2
 	/**
 	 * 更改头像
 	 *
-	 * 对应API:{@link http://open.weibo.com/wiki/2/account/avatar/upload account/avatar/upload}
+	 * 对应API:{@link //open.weibo.com/wiki/2/account/avatar/upload account/avatar/upload}
 	 *
 	 * @param string $image_path 要上传的头像路径, 支持url。[只支持png/jpg/gif三种格式, 增加格式请修改get_image_mime方法] 必须为小于700K的有效的GIF, JPG图片. 如果图片大于500像素将按比例缩放。
 	 * @return array
@@ -2480,7 +2480,7 @@ class SaeTClientV2
 	/**
 	 * 设置隐私信息
 	 *
-	 * 对应API:{@link http://open.weibo.com/wiki/2/account/update_privacy account/update_privacy}
+	 * 对应API:{@link //open.weibo.com/wiki/2/account/update_privacy account/update_privacy}
 	 * 
 	 * @param array $privacy_settings 要修改的隐私设置。格式:array('key1'=>'value1', 'key2'=>'value2', .....)。
 	 * 支持设置的项:
@@ -2503,7 +2503,7 @@ class SaeTClientV2
 	 * 获取当前用户的收藏列表
 	 *
 	 * 返回用户的发布的最近20条收藏信息,和用户收藏页面返回内容是一致的。
-	 * <br />对应API:{@link http://open.weibo.com/wiki/2/favorites favorites}
+	 * <br />对应API:{@link //open.weibo.com/wiki/2/favorites favorites}
 	 * 
 	 * @access public
 	 * @param  int $page 返回结果的页码,默认为1。
@@ -2524,7 +2524,7 @@ class SaeTClientV2
 	 * 根据收藏ID获取指定的收藏信息
 	 *
 	 * 根据收藏ID获取指定的收藏信息。
-	 * <br />对应API:{@link http://open.weibo.com/wiki/2/favorites/show favorites/show}
+	 * <br />对应API:{@link //open.weibo.com/wiki/2/favorites/show favorites/show}
 	 * 
 	 * @access public
 	 * @param int $id 需要查询的收藏ID。
@@ -2542,7 +2542,7 @@ class SaeTClientV2
 	/**
 	 * 根据标签获取当前登录用户该标签下的收藏列表
 	 *
-	 * 对应API:{@link http://open.weibo.com/wiki/2/favorites/by_tags favorites/by_tags}
+	 * 对应API:{@link //open.weibo.com/wiki/2/favorites/by_tags favorites/by_tags}
 	 *
 	 * 
 	 * @param int $tid  需要查询的标签ID。'
@@ -2563,7 +2563,7 @@ class SaeTClientV2
 	/**
 	 * 获取当前登录用户的收藏标签列表
 	 *
-	 * 对应API:{@link http://open.weibo.com/wiki/2/favorites/tags favorites/tags}
+	 * 对应API:{@link //open.weibo.com/wiki/2/favorites/tags favorites/tags}
 	 * 
 	 * @access public
 	 * @param int $count 单页返回的记录条数,默认为50。
@@ -2582,7 +2582,7 @@ class SaeTClientV2
 	/**
 	 * 收藏一条微博信息
 	 *
-	 * 对应API:{@link http://open.weibo.com/wiki/2/favorites/create favorites/create}
+	 * 对应API:{@link //open.weibo.com/wiki/2/favorites/create favorites/create}
 	 * 
 	 * @access public
 	 * @param int $sid 收藏的微博id
@@ -2600,7 +2600,7 @@ class SaeTClientV2
 	/**
 	 * 删除微博收藏。
 	 *
-	 * 对应API:{@link http://open.weibo.com/wiki/2/favorites/destroy favorites/destroy}
+	 * 对应API:{@link //open.weibo.com/wiki/2/favorites/destroy favorites/destroy}
 	 * 
 	 * @access public
 	 * @param int $id 要删除的收藏微博信息ID.
@@ -2619,7 +2619,7 @@ class SaeTClientV2
 	 * 批量删除微博收藏。
 	 *
 	 * 批量删除当前登录用户的收藏。出现异常时,返回HTTP400错误。
-	 * <br />对应API:{@link http://open.weibo.com/wiki/2/favorites/destroy_batch favorites/destroy_batch}
+	 * <br />对应API:{@link //open.weibo.com/wiki/2/favorites/destroy_batch favorites/destroy_batch}
 	 * 
 	 * @access public
 	 * @param mixed $fids 欲删除的一组私信ID,用半角逗号隔开,或者由一组评论ID组成的数组。最多20个。例如:"231101027525486630,201100826122315375"或array(231101027525486630,201100826122315375);
@@ -2644,7 +2644,7 @@ class SaeTClientV2
 	/**
 	 * 更新一条收藏的收藏标签
 	 *
-	 * 对应API:{@link http://open.weibo.com/wiki/2/favorites/tags/update favorites/tags/update}
+	 * 对应API:{@link //open.weibo.com/wiki/2/favorites/tags/update favorites/tags/update}
 	 * 
 	 * @access public
 	 * @param int $id 需要更新的收藏ID。
@@ -2669,7 +2669,7 @@ class SaeTClientV2
 	/**
 	 * 更新当前登录用户所有收藏下的指定标签
 	 *
-	 * 对应API:{@link http://open.weibo.com/wiki/2/favorites/tags/update_batch favorites/tags/update_batch}
+	 * 对应API:{@link //open.weibo.com/wiki/2/favorites/tags/update_batch favorites/tags/update_batch}
 	 *
 	 * @param int $tid  需要更新的标签ID。必填
 	 * @param string $tag  需要更新的标签内容。必填
@@ -2687,7 +2687,7 @@ class SaeTClientV2
 	 * 删除当前登录用户所有收藏下的指定标签
 	 *
 	 * 删除标签后,该用户所有收藏中,添加了该标签的收藏均解除与该标签的关联关系
-	 * <br />对应API:{@link http://open.weibo.com/wiki/2/favorites/tags/destroy_batch favorites/tags/destroy_batch}
+	 * <br />对应API:{@link //open.weibo.com/wiki/2/favorites/tags/destroy_batch favorites/tags/destroy_batch}
 	 *
 	 * @param int $tid  需要更新的标签ID。必填
 	 * @return array
@@ -2702,7 +2702,7 @@ class SaeTClientV2
 	/**
 	 * 获取某用户的话题
 	 *
-	 * 对应API:{@link http://open.weibo.com/wiki/2/trends trends}
+	 * 对应API:{@link //open.weibo.com/wiki/2/trends trends}
 	 * 
 	 * @param int $uid 查询用户的ID。默认为当前用户。可选。
 	 * @param int $page 指定返回结果的页码。可选。
@@ -2728,7 +2728,7 @@ class SaeTClientV2
 	/**
 	 * 判断当前用户是否关注某话题
 	 *
-	 * 对应API:{@link http://open.weibo.com/wiki/2/trends/is_follow trends/is_follow}
+	 * 对应API:{@link //open.weibo.com/wiki/2/trends/is_follow trends/is_follow}
 	 * 
 	 * @access public
 	 * @param string $trend_name 话题关键字。
@@ -2744,7 +2744,7 @@ class SaeTClientV2
 	/**
 	 * 返回最近一小时内的热门话题
 	 *
-	 * 对应API:{@link http://open.weibo.com/wiki/2/trends/hourly trends/hourly}
+	 * 对应API:{@link //open.weibo.com/wiki/2/trends/hourly trends/hourly}
 	 * 
 	 * @param  int $base_app 是否基于当前应用来获取数据。1表示基于当前应用来获取数据,默认为0。可选。
 	 * @return array
@@ -2760,7 +2760,7 @@ class SaeTClientV2
 	/**
 	 * 返回最近一天内的热门话题
 	 *
-	 * 对应API:{@link http://open.weibo.com/wiki/2/trends/daily trends/daily}
+	 * 对应API:{@link //open.weibo.com/wiki/2/trends/daily trends/daily}
 	 * 
 	 * @param int $base_app 是否基于当前应用来获取数据。1表示基于当前应用来获取数据,默认为0。可选。
 	 * @return array
@@ -2776,7 +2776,7 @@ class SaeTClientV2
 	/**
 	 * 返回最近一周内的热门话题
 	 *
-	 * 对应API:{@link http://open.weibo.com/wiki/2/trends/weekly trends/weekly}
+	 * 对应API:{@link //open.weibo.com/wiki/2/trends/weekly trends/weekly}
 	 * 
 	 * @access public
 	 * @param int $base_app 是否基于当前应用来获取数据。1表示基于当前应用来获取数据,默认为0。可选。
@@ -2793,7 +2793,7 @@ class SaeTClientV2
 	/**
 	 * 关注某话题
 	 *
-	 * 对应API:{@link http://open.weibo.com/wiki/2/trends/follow trends/follow}
+	 * 对应API:{@link //open.weibo.com/wiki/2/trends/follow trends/follow}
 	 * 
 	 * @access public
 	 * @param string $trend_name 要关注的话题关键词。
@@ -2809,7 +2809,7 @@ class SaeTClientV2
 	/**
 	 * 取消对某话题的关注
 	 *
-	 * 对应API:{@link http://open.weibo.com/wiki/2/trends/destroy trends/destroy}
+	 * 对应API:{@link //open.weibo.com/wiki/2/trends/destroy trends/destroy}
 	 * 
 	 * @access public
 	 * @param int $tid 要取消关注的话题ID。
@@ -2828,7 +2828,7 @@ class SaeTClientV2
 	/**
 	 * 返回指定用户的标签列表
 	 *
-	 * 对应API:{@link http://open.weibo.com/wiki/2/tags tags}
+	 * 对应API:{@link //open.weibo.com/wiki/2/tags tags}
 	 * 
 	 * @param int $uid 查询用户的ID。默认为当前用户。可选。
 	 * @param int $page 指定返回结果的页码。可选。
@@ -2853,7 +2853,7 @@ class SaeTClientV2
 	/**
 	 * 批量获取用户的标签列表
 	 *
-	 * 对应API:{@link http://open.weibo.com/wiki/2/tags/tags_batch tags/tags_batch}
+	 * 对应API:{@link //open.weibo.com/wiki/2/tags/tags_batch tags/tags_batch}
 	 * 
 	 * @param  string $uids 要获取标签的用户ID。最大20,逗号分隔。必填
 	 * @return array
@@ -2875,7 +2875,7 @@ class SaeTClientV2
 	/**
 	 * 返回用户感兴趣的标签
 	 *
-	 * 对应API:{@link http://open.weibo.com/wiki/2/tags/suggestions tags/suggestions}
+	 * 对应API:{@link //open.weibo.com/wiki/2/tags/suggestions tags/suggestions}
 	 * 
 	 * @access public
 	 * @param int $count 单页大小。缺省值10,最大值10。可选。
@@ -2891,7 +2891,7 @@ class SaeTClientV2
 	/**
 	 * 为当前登录用户添加新的用户标签
 	 *
-	 * 对应API:{@link http://open.weibo.com/wiki/2/tags/create tags/create}
+	 * 对应API:{@link //open.weibo.com/wiki/2/tags/create tags/create}
 	 * 
 	 * @access public
 	 * @param mixed $tags 要创建的一组标签,每个标签的长度不可超过7个汉字,14个半角字符。多个标签之间用逗号间隔,或由多个标签构成的数组。如:"abc,drf,efgh,tt"或array("abc", "drf", "efgh", "tt")
@@ -2911,7 +2911,7 @@ class SaeTClientV2
 	/**
 	 * 删除标签
 	 *
-	 * 对应API:{@link http://open.weibo.com/wiki/2/tags/destroy tags/destroy}
+	 * 对应API:{@link //open.weibo.com/wiki/2/tags/destroy tags/destroy}
 	 * 
 	 * @access public
 	 * @param int $tag_id 标签ID,必填参数
@@ -2927,7 +2927,7 @@ class SaeTClientV2
 	/**
 	 * 批量删除标签
 	 *
-	 * 对应API:{@link http://open.weibo.com/wiki/2/tags/destroy_batch tags/destroy_batch}
+	 * 对应API:{@link //open.weibo.com/wiki/2/tags/destroy_batch tags/destroy_batch}
 	 * 
 	 * @access public
 	 * @param mixed $ids 必选参数,要删除的tag id,多个id用半角逗号分割,最多10个。或由多个tag id构成的数组。如:“553,554,555"或array(553, 554, 555)
@@ -2948,7 +2948,7 @@ class SaeTClientV2
 	/**
 	 * 验证昵称是否可用,并给予建议昵称
 	 *
-	 * 对应API:{@link http://open.weibo.com/wiki/2/register/verify_nickname register/verify_nickname}
+	 * 对应API:{@link //open.weibo.com/wiki/2/register/verify_nickname register/verify_nickname}
 	 *
 	 * @param string $nickname 需要验证的昵称。4-20个字符,支持中英文、数字、"_"或减号。必填
 	 * @return array
@@ -2965,7 +2965,7 @@ class SaeTClientV2
 	/**
 	 * 搜索用户时的联想搜索建议
 	 *
-	 * 对应API:{@link http://open.weibo.com/wiki/2/search/suggestions/users search/suggestions/users}
+	 * 对应API:{@link //open.weibo.com/wiki/2/search/suggestions/users search/suggestions/users}
 	 *
 	 * @param string $q 搜索的关键字,必须做URLencoding。必填,中间最好不要出现空格
 	 * @param int $count 返回的记录条数,默认为10。
@@ -2983,7 +2983,7 @@ class SaeTClientV2
 	/**
 	 * 搜索微博时的联想搜索建议
 	 *
-	 * 对应API:{@link http://open.weibo.com/wiki/2/search/suggestions/statuses search/suggestions/statuses}
+	 * 对应API:{@link //open.weibo.com/wiki/2/search/suggestions/statuses search/suggestions/statuses}
 	 *
 	 * @param string $q 搜索的关键字,必须做URLencoding。必填
 	 * @param int $count 返回的记录条数,默认为10。
@@ -3001,7 +3001,7 @@ class SaeTClientV2
 	/**
 	 * 搜索学校时的联想搜索建议
 	 *
-	 * 对应API:{@link http://open.weibo.com/wiki/2/search/suggestions/schools search/suggestions/schools}
+	 * 对应API:{@link //open.weibo.com/wiki/2/search/suggestions/schools search/suggestions/schools}
 	 *
 	 * @param string $q 搜索的关键字,必须做URLencoding。必填
 	 * @param int $count 返回的记录条数,默认为10。
@@ -3020,7 +3020,7 @@ class SaeTClientV2
 	/**
 	 * 搜索公司时的联想搜索建议
 	 *
-	 * 对应API:{@link http://open.weibo.com/wiki/2/search/suggestions/companies search/suggestions/companies}
+	 * 对应API:{@link //open.weibo.com/wiki/2/search/suggestions/companies search/suggestions/companies}
 	 *
 	 * @param string $q 搜索的关键字,必须做URLencoding。必填
 	 * @param int $count 返回的记录条数,默认为10。
@@ -3038,7 +3038,7 @@ class SaeTClientV2
 	/**
 	 * @用户时的联想建议
 	 *
-	 * 对应API:{@link http://open.weibo.com/wiki/2/search/suggestions/at_users search/suggestions/at_users}
+	 * 对应API:{@link //open.weibo.com/wiki/2/search/suggestions/at_users search/suggestions/at_users}
 	 *
 	 * @param string $q 搜索的关键字,必须做URLencoding。必填
 	 * @param int $count 返回的记录条数,默认为10。
@@ -3063,7 +3063,7 @@ class SaeTClientV2
 	/**
 	 * 搜索与指定的一个或多个条件相匹配的微博
 	 *
-	 * 对应API:{@link http://open.weibo.com/wiki/2/search/statuses search/statuses}
+	 * 对应API:{@link //open.weibo.com/wiki/2/search/statuses search/statuses}
 	 *
 	 * @param array $query 搜索选项。格式:array('key0'=>'value0', 'key1'=>'value1', ....)。支持的key:
 	 *  - q				string	搜索的关键字,必须进行URLencode。
@@ -3092,7 +3092,7 @@ class SaeTClientV2
 	/**
 	 * 通过关键词搜索用户
 	 *
-	 * 对应API:{@link http://open.weibo.com/wiki/2/search/users search/users}
+	 * 对应API:{@link //open.weibo.com/wiki/2/search/users search/users}
 	 *
 	 * @param array $query 搜索选项。格式:array('key0'=>'value0', 'key1'=>'value1', ....)。支持的key:
 	 *  - q			string	搜索的关键字,必须进行URLencode。
@@ -3122,7 +3122,7 @@ class SaeTClientV2
 	 * 获取系统推荐用户
 	 *
 	 * 返回系统推荐的用户列表。
-	 * <br />对应API:{@link http://open.weibo.com/wiki/2/suggestions/users/hot suggestions/users/hot}
+	 * <br />对应API:{@link //open.weibo.com/wiki/2/suggestions/users/hot suggestions/users/hot}
 	 * 
 	 * @access public
 	 * @param string $category 分类,可选参数,返回某一类别的推荐用户,默认为 default。如果不在以下分类中,返回空列表:<br />
@@ -3152,7 +3152,7 @@ class SaeTClientV2
 	/**
 	 * 获取用户可能感兴趣的人
 	 *
-	 * 对应API:{@link http://open.weibo.com/wiki/2/suggestions/users/may_interested suggestions/users/may_interested}
+	 * 对应API:{@link //open.weibo.com/wiki/2/suggestions/users/may_interested suggestions/users/may_interested}
 	 * 
 	 * @access public
 	 * @param int $page 返回结果的页码,默认为1。
@@ -3171,7 +3171,7 @@ class SaeTClientV2
 	/**
 	 * 根据一段微博正文推荐相关微博用户。 
 	 *
-	 * 对应API:{@link http://open.weibo.com/wiki/2/suggestions/users/by_status suggestions/users/by_status}
+	 * 对应API:{@link //open.weibo.com/wiki/2/suggestions/users/by_status suggestions/users/by_status}
 	 * 
 	 * @access public
 	 * @param string $content 微博正文内容。
@@ -3189,7 +3189,7 @@ class SaeTClientV2
 	/**
 	 * 热门收藏
 	 *
-	 * 对应API:{@link http://open.weibo.com/wiki/2/suggestions/favorites/hot suggestions/favorites/hot}
+	 * 对应API:{@link //open.weibo.com/wiki/2/suggestions/favorites/hot suggestions/favorites/hot}
 	 *
 	 * @param int $count 每页返回结果数,默认20。选填
 	 * @param int $page 返回页码,默认1。选填
@@ -3206,7 +3206,7 @@ class SaeTClientV2
 	/**
 	 * 把某人标识为不感兴趣的人
 	 *
-	 * 对应API:{@link http://open.weibo.com/wiki/2/suggestions/users/not_interested suggestions/users/not_interested}
+	 * 对应API:{@link //open.weibo.com/wiki/2/suggestions/users/not_interested suggestions/users/not_interested}
 	 *
 	 * @param int $uid 不感兴趣的用户的UID。
 	 * @return array
diff --git a/library/WebPlugin/Partner/wechat/Config.inc.php b/library/WebPlugin/Partner/wechat/Config.inc.php
index 10bb49e..69ee429 100644
--- a/library/WebPlugin/Partner/wechat/Config.inc.php
+++ b/library/WebPlugin/Partner/wechat/Config.inc.php
@@ -3,8 +3,8 @@
 defined('SITE_MAIN') || define('SITE_MAIN', $_SERVER['HTTP_HOST']);
 
 return array(
-    'appId' => 'wx3ae21dcbb82ad672', // wx75e5a7c0c88e45c2  wx3ae21dcbb82ad672
-    'appKey' => 'e78afb2321e6a19085767e1a0f0d52c1', // ce21ae4a3f93852279175a167e54509b e78afb2321e6a19085767e1a0f0d52c1
-    'callback' => SITE_MAIN . '/passport/autosign/wechatback',
+    'appId' => 'wx3ae21dcbb82ad672',
+    'appKey' => 'e78afb2321e6a19085767e1a0f0d52c1',
+    'callback' => WebPlugin\Helpers::transHttpsUrl(SITE_MAIN) . '/passport/autosign/wechatback',
     'scope' => 'snsapi_login'
 );
diff --git a/library/WebPlugin/Pay/AliExpressgateway/Service.php b/library/WebPlugin/Pay/AliExpressgateway/Service.php
index b6eac94..42b4c0e 100644
--- a/library/WebPlugin/Pay/AliExpressgateway/Service.php
+++ b/library/WebPlugin/Pay/AliExpressgateway/Service.php
@@ -106,7 +106,7 @@ class Service extends PayAbstract
 	public function parseResponse(array $arrResponse)
 	{
 		/* 返回示例
-		 * http://www.yohobuy.com/pay/notice/aliexpressgatewayreturn?buyer_email=tds%40smartunite.com&buyer_id=2088302294447308&exterface=create_direct_pay_by_user&is_success=T&notify_id=RqPnCoPT3K9%252Fvwbh3I7xtEV5W65QRToFQ5fPrXsVxt12e%252FExCtC1XNiKnuRwupLaVLAR&notify_time=2011-06-11+07%3A48%3A10&notify_type=trade_status_sync&out_trade_no=1061003000&payment_type=1&seller_email=shop%40yoho.cn&seller_id=2088001550230585&subject=YOHO%E5%95%86%E5%93%81&total_fee=0.01&trade_no=2011061199833830&trade_status=TRADE_SUCCESS&sign=ca1c49f58d17eaa57aac308d0ac64434&sign_type=MD5
+		 * //www.yohobuy.com/pay/notice/aliexpressgatewayreturn?buyer_email=tds%40smartunite.com&buyer_id=2088302294447308&exterface=create_direct_pay_by_user&is_success=T&notify_id=RqPnCoPT3K9%252Fvwbh3I7xtEV5W65QRToFQ5fPrXsVxt12e%252FExCtC1XNiKnuRwupLaVLAR&notify_time=2011-06-11+07%3A48%3A10&notify_type=trade_status_sync&out_trade_no=1061003000&payment_type=1&seller_email=shop%40yoho.cn&seller_id=2088001550230585&subject=YOHO%E5%95%86%E5%93%81&total_fee=0.01&trade_no=2011061199833830&trade_status=TRADE_SUCCESS&sign=ca1c49f58d17eaa57aac308d0ac64434&sign_type=MD5
 		*/
                 UdpLog::info("【{$this->logProjectPrefix}-支付】,function:parseResponse,参数", $arrResponse);
 		if(isset($arrResponse['q'])){
diff --git a/library/WebPlugin/Pay/Alibank/Service.php b/library/WebPlugin/Pay/Alibank/Service.php
index 042bc82..8bb9589 100644
--- a/library/WebPlugin/Pay/Alibank/Service.php
+++ b/library/WebPlugin/Pay/Alibank/Service.php
@@ -47,7 +47,7 @@ class Service extends PayAbstract
             'service' => $this->config->service,
             'partner' => $this->config->partner,
             '_input_charset' => $this->config->input_charset,
-            'notify_url' => Yohobuy::SERVICE_NOTIFY . $this->config->notify_url,
+            'notify_url' => SERVICE_NOTIFY . $this->config->notify_url,
             'return_url' => Helpers::url($this->config->return_url),
             /* 业务参数 */
             'subject' => $params->goodsName,
@@ -107,7 +107,7 @@ class Service extends PayAbstract
     public function parseResponse(array $arrResponse)
     {
         /* 返回示例
-         * http://www.yohobuy.com/pay/notice/alipayreturn?buyer_email=tds%40smartunite.com&buyer_id=2088302294447308&exterface=create_direct_pay_by_user&is_success=T&notify_id=RqPnCoPT3K9%252Fvwbh3I7xtEV5W65QRToFQ5fPrXsVxt12e%252FExCtC1XNiKnuRwupLaVLAR&notify_time=2011-06-11+07%3A48%3A10&notify_type=trade_status_sync&out_trade_no=1061003000&payment_type=1&seller_email=shop%40yoho.cn&seller_id=2088001550230585&subject=YOHO%E5%95%86%E5%93%81&total_fee=0.01&trade_no=2011061199833830&trade_status=TRADE_SUCCESS&sign=ca1c49f58d17eaa57aac308d0ac64434&sign_type=MD5
+         * //www.yohobuy.com/pay/notice/alipayreturn?buyer_email=tds%40smartunite.com&buyer_id=2088302294447308&exterface=create_direct_pay_by_user&is_success=T&notify_id=RqPnCoPT3K9%252Fvwbh3I7xtEV5W65QRToFQ5fPrXsVxt12e%252FExCtC1XNiKnuRwupLaVLAR&notify_time=2011-06-11+07%3A48%3A10&notify_type=trade_status_sync&out_trade_no=1061003000&payment_type=1&seller_email=shop%40yoho.cn&seller_id=2088001550230585&subject=YOHO%E5%95%86%E5%93%81&total_fee=0.01&trade_no=2011061199833830&trade_status=TRADE_SUCCESS&sign=ca1c49f58d17eaa57aac308d0ac64434&sign_type=MD5
         */
         UdpLog::info("【{$this->logProjectPrefix}-支付宝银行支付】,function:parseResponse,回调参数", $arrResponse);
         if (isset($arrResponse['q'])) {
diff --git a/library/WebPlugin/Pay/Alibarcode/Config.php b/library/WebPlugin/Pay/Alibarcode/Config.php
index c71e369..f9e7c63 100644
--- a/library/WebPlugin/Pay/Alibarcode/Config.php
+++ b/library/WebPlugin/Pay/Alibarcode/Config.php
@@ -14,7 +14,7 @@ class Config
 	 * 测试网关
 	 * @var unknown_type
 	 */
-//	var $pay_url = 'http://mapi.d4192.alipay.net/cooperate/gateway.do';
+//	var $pay_url = '//mapi.d4192.alipay.net/cooperate/gateway.do';
 	
 	/**
 	 * 服务名,即时到帐为create_direct_pay_by_user
diff --git a/library/WebPlugin/Pay/Alibarcode/Service.php b/library/WebPlugin/Pay/Alibarcode/Service.php
index 7deaee1..b5f54ba 100644
--- a/library/WebPlugin/Pay/Alibarcode/Service.php
+++ b/library/WebPlugin/Pay/Alibarcode/Service.php
@@ -97,7 +97,7 @@ class Service extends PayAbstract
 	public function parseResponse(array $arrResponse)
 	{
 		/* 返回示例
-		 * http://www.yohobuy.com/pay/notice/alibarcodereturn?buyer_email=tds%40smartunite.com&buyer_id=2088302294447308&exterface=create_direct_pay_by_user&is_success=T&notify_id=RqPnCoPT3K9%252Fvwbh3I7xtEV5W65QRToFQ5fPrXsVxt12e%252FExCtC1XNiKnuRwupLaVLAR&notify_time=2011-06-11+07%3A48%3A10&notify_type=trade_status_sync&out_trade_no=1061003000&payment_type=1&seller_email=shop%40yoho.cn&seller_id=2088001550230585&subject=YOHO%E5%95%86%E5%93%81&total_fee=0.01&trade_no=2011061199833830&trade_status=TRADE_SUCCESS&sign=ca1c49f58d17eaa57aac308d0ac64434&sign_type=MD5
+		 * //www.yohobuy.com/pay/notice/alibarcodereturn?buyer_email=tds%40smartunite.com&buyer_id=2088302294447308&exterface=create_direct_pay_by_user&is_success=T&notify_id=RqPnCoPT3K9%252Fvwbh3I7xtEV5W65QRToFQ5fPrXsVxt12e%252FExCtC1XNiKnuRwupLaVLAR&notify_time=2011-06-11+07%3A48%3A10&notify_type=trade_status_sync&out_trade_no=1061003000&payment_type=1&seller_email=shop%40yoho.cn&seller_id=2088001550230585&subject=YOHO%E5%95%86%E5%93%81&total_fee=0.01&trade_no=2011061199833830&trade_status=TRADE_SUCCESS&sign=ca1c49f58d17eaa57aac308d0ac64434&sign_type=MD5
 		 */
                 UdpLog::info("【{$this->logProjectPrefix}-支付】,function:parseResponse,参数", $arrResponse);
 		if(isset($arrResponse['q'])){
diff --git a/library/WebPlugin/Pay/Alipay/Service.php b/library/WebPlugin/Pay/Alipay/Service.php
index 03edecc..f62145b 100644
--- a/library/WebPlugin/Pay/Alipay/Service.php
+++ b/library/WebPlugin/Pay/Alipay/Service.php
@@ -51,8 +51,8 @@ class Service extends PayAbstract
             'service' => $this->config->service,
             'partner' => $this->config->partner,
             '_input_charset' => $this->config->input_charset,
-            'notify_url' => Yohobuy::SERVICE_NOTIFY . $this->config->notify_url,
-            'return_url' => Helpers::url($this->config->return_url),
+            'notify_url' => SERVICE_NOTIFY . $this->config->notify_url,
+            'return_url' => Helpers::getHttpOrHttps() . Helpers::url($this->config->return_url),
             /* 业务参数 */
             'subject' => $params->goodsName,
             'out_trade_no' => $params->orderCode,
@@ -103,7 +103,7 @@ class Service extends PayAbstract
     public function parseResponse(array $arrResponse)
     {
         /* 返回示例
-         * http://www.yohobuy.com/pay/notice/alipayreturn?buyer_email=tds%40smartunite.com&buyer_id=2088302294447308&exterface=create_direct_pay_by_user&is_success=T&notify_id=RqPnCoPT3K9%252Fvwbh3I7xtEV5W65QRToFQ5fPrXsVxt12e%252FExCtC1XNiKnuRwupLaVLAR&notify_time=2011-06-11+07%3A48%3A10&notify_type=trade_status_sync&out_trade_no=1061003000&payment_type=1&seller_email=shop%40yoho.cn&seller_id=2088001550230585&subject=YOHO%E5%95%86%E5%93%81&total_fee=0.01&trade_no=2011061199833830&trade_status=TRADE_SUCCESS&sign=ca1c49f58d17eaa57aac308d0ac64434&sign_type=MD5
+         * //www.yohobuy.com/pay/notice/alipayreturn?buyer_email=tds%40smartunite.com&buyer_id=2088302294447308&exterface=create_direct_pay_by_user&is_success=T&notify_id=RqPnCoPT3K9%252Fvwbh3I7xtEV5W65QRToFQ5fPrXsVxt12e%252FExCtC1XNiKnuRwupLaVLAR&notify_time=2011-06-11+07%3A48%3A10&notify_type=trade_status_sync&out_trade_no=1061003000&payment_type=1&seller_email=shop%40yoho.cn&seller_id=2088001550230585&subject=YOHO%E5%95%86%E5%93%81&total_fee=0.01&trade_no=2011061199833830&trade_status=TRADE_SUCCESS&sign=ca1c49f58d17eaa57aac308d0ac64434&sign_type=MD5
          */
         UdpLog::info("【{$this->logProjectPrefix}-支付宝支付】,function:parseResponse,回调参数", $arrResponse);
         if (isset($arrResponse['q'])) {
diff --git a/library/WebPlugin/Pay/Banks.php b/library/WebPlugin/Pay/Banks.php
index 6f9e91d..9ff9855 100644
--- a/library/WebPlugin/Pay/Banks.php
+++ b/library/WebPlugin/Pay/Banks.php
@@ -7,89 +7,89 @@ class Banks
 	private static $list = array(
 		'BOCB2C' => array(
 			'name' => '中国银行',
-			'ico' => 'http://static.yohobuy.com/images/pay/icon/zhongguo.png'
+			'ico' => '//static.yohobuy.com/images/pay/icon/zhongguo.png'
 		),
 		'ABC' => array(
 			'name' => '中国农业银行',
-			'ico' => 'http://static.yohobuy.com/images/pay/icon/nongye.png'
+			'ico' => '//static.yohobuy.com/images/pay/icon/nongye.png'
 		),
 		'SPABANK' => array(
 			'name' => '平安银行',
-			'ico' => 'http://static.yohobuy.com/images/pay/icon/pingan.png'
+			'ico' => '//static.yohobuy.com/images/pay/icon/pingan.png'
 		),
 		'CMBC' => array(
 			'name' => '中国民生银行',
-			'ico' => 'http://static.yohobuy.com/images/pay/icon/minsheng.png'
+			'ico' => '//static.yohobuy.com/images/pay/icon/minsheng.png'
 		),
 		"ICBCB2C" => array(
 			'name' => '中国工商银行',
-			'ico' => 'http://static.yohobuy.com/images/pay/icon/gongshang.png'
+			'ico' => '//static.yohobuy.com/images/pay/icon/gongshang.png'
 		),
 		'SPDB' => array(
 			'name' => '浦发银行',
-			'ico' => 'http://static.yohobuy.com/images/pay/icon/pufa.png'
+			'ico' => '//static.yohobuy.com/images/pay/icon/pufa.png'
 		),
 		'BJRCB' => array(
 			'name' => '北京农商银行',
-			'ico' => 'http://static.yohobuy.com/images/pay/icon/beijingnongshang.png'
+			'ico' => '//static.yohobuy.com/images/pay/icon/beijingnongshang.png'
 		),
 		'HZCBB2C' => array(
 			'name' => '杭州银行',
-			'ico' => 'http://static.yohobuy.com/images/pay/icon/hangzhou.png'
+			'ico' => '//static.yohobuy.com/images/pay/icon/hangzhou.png'
 		),
 		'CMB' => array(
 			'name' => '招商银行',
-			'ico' => 'http://static.yohobuy.com/images/pay/icon/zhaoshang.png'
+			'ico' => '//static.yohobuy.com/images/pay/icon/zhaoshang.png'
 		),
 		'CIB' => array(
 			'name' => '兴业银行',
-			'ico' => 'http://static.yohobuy.com/images/pay/icon/xingye.png'
+			'ico' => '//static.yohobuy.com/images/pay/icon/xingye.png'
 		),
 		'FDB' => array(
 			'name' => '富滇银行',
-			'ico' => 'http://static.yohobuy.com/images/pay/icon/fudian.png'
+			'ico' => '//static.yohobuy.com/images/pay/icon/fudian.png'
 		),
 		'CEB-DEBIT' => array(
 			'name' => '中国光大银行',
-			'ico' => 'http://static.yohobuy.com/images/pay/icon/guangda.png'
+			'ico' => '//static.yohobuy.com/images/pay/icon/guangda.png'
 		),
 		'CCB' => array(
 			'name' => '中国建设银行',
-			'ico' => 'http://static.yohobuy.com/images/pay/icon/zhongguojianshe.png'
+			'ico' => '//static.yohobuy.com/images/pay/icon/zhongguojianshe.png'
 		),
 		'GDB' => array(
 			'name' => '广发银行',
-			'ico' => 'http://static.yohobuy.com/images/pay/icon/guangfa.png'
+			'ico' => '//static.yohobuy.com/images/pay/icon/guangfa.png'
 		),
 		'POSTGC' => array(
 			'name' => '中国邮政储蓄',
-			'ico' => 'http://static.yohobuy.com/images/pay/icon/zhongguoyouzhengchuxu.png'
+			'ico' => '//static.yohobuy.com/images/pay/icon/zhongguoyouzhengchuxu.png'
 		),
 		'SHBANK' => array(
 			'name' => '上海银行',
-			'ico' => 'http://static.yohobuy.com/images/pay/icon/shanghai.png'
+			'ico' => '//static.yohobuy.com/images/pay/icon/shanghai.png'
 		),
 		'NBBANK' => array(
 			'name' => '宁波银行',
-			'ico' => 'http://static.yohobuy.com/images/pay/icon/ningbo.png'
+			'ico' => '//static.yohobuy.com/images/pay/icon/ningbo.png'
 		)
 // 		'SDB' => array(
 // 			'name' => '深圳发展银行',
-// 			'ico' => 'http://static.yohobuy.com/images/bankico/SDB.gif'
+// 			'ico' => '//static.yohobuy.com/images/bankico/SDB.gif'
 // 		),
 		/*		'COMM' => array(
                     'name' => '交通银行',
-                    'ico' => 'http://static.yohobuy.com/images/bankico/COMM.gif'
+                    'ico' => '//static.yohobuy.com/images/bankico/COMM.gif'
                 ),  */
 // 		'CITIC' => array(
 // 			'name' => '中信银行',
-// 			'ico' => 'http://static.yohobuy.com/images/bankico/CITIC.gif'
+// 			'ico' => '//static.yohobuy.com/images/bankico/CITIC.gif'
 // 		),
 
 
 // 			'CEB' => array(
 // 					'name' => '光大银行',
-// 					'ico' => 'http://static.yohobuy.com/images/bankico/CEB.gif'
+// 					'ico' => '//static.yohobuy.com/images/bankico/CEB.gif'
 // 			),
 	);
 
diff --git a/library/WebPlugin/Pay/PayAbstract.php b/library/WebPlugin/Pay/PayAbstract.php
index b1166d4..1a61ead 100644
--- a/library/WebPlugin/Pay/PayAbstract.php
+++ b/library/WebPlugin/Pay/PayAbstract.php
@@ -1,7 +1,7 @@
 <?php
 
 namespace WebPlugin\Pay;
-
+use WebPlugin\Helpers;
 abstract class PayAbstract implements PayInterface {
 	
 	/**
@@ -14,14 +14,14 @@ abstract class PayAbstract implements PayInterface {
      *
 	 * @var
 	 */
-	public $baseNoticeUrl = "http://www.yohobuy.com/pay/";
+	public $baseNoticeUrl = "//www.yohobuy.com/pay/";
 
 	/**
 	 * 测试的回调地址
 	 * Enter description here ...
 	 * @var string
 	 */
-	public $testBaseNoticeUrl = "http://www.yohobuy.com/pay/";
+	public $testBaseNoticeUrl = "//www.yohobuy.com/pay/";
 
     /**
      * 获取支付的基地址
@@ -30,7 +30,7 @@ abstract class PayAbstract implements PayInterface {
      * @return string
      */
 	public function getBaseNoticeUrl($isTest){
-		return $isTest ? $this->testBaseNoticeUrl : $this->baseNoticeUrl;
+            return Helpers::getHttpOrHttps() . ($isTest ? $this->testBaseNoticeUrl : $this->baseNoticeUrl);
 	}
 
     /**
diff --git a/library/WebPlugin/Pay/Wechatqrcode/Service.php b/library/WebPlugin/Pay/Wechatqrcode/Service.php
index 6386882..aaaf37c 100644
--- a/library/WebPlugin/Pay/Wechatqrcode/Service.php
+++ b/library/WebPlugin/Pay/Wechatqrcode/Service.php
@@ -88,7 +88,7 @@ class Service extends PayAbstract
     public function parseResponse(array $data)
     {
         /* 返回示例
-         * http://www.yohobuy.com/pay/notice/wechatqrcodereturn?ordercode=93465435
+         * //www.yohobuy.com/pay/notice/wechatqrcodereturn?ordercode=93465435
          */
         UdpLog::info("【{$this->logProjectPrefix}-微信支付】,function:parseResponse,参数", $data);
 
diff --git a/library/WebPlugin/Pay/weixin/JsApiPay.php b/library/WebPlugin/Pay/weixin/JsApiPay.php
index 7649bd2..4ac6275 100644
--- a/library/WebPlugin/Pay/weixin/JsApiPay.php
+++ b/library/WebPlugin/Pay/weixin/JsApiPay.php
@@ -154,7 +154,7 @@ class JsApiPay
         $getData = $this->data;
         $data = array();
         $data["appid"] = WxPayConfig::APPID;
-        $data["url"] = "http://" . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
+        $data["url"] = "//" . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
         $time = time();
         $data["timestamp"] = "$time";
         $data["noncestr"] = "1234568";
diff --git a/library/WebPlugin/Pay/weixin/lib/WxPayApi.php b/library/WebPlugin/Pay/weixin/lib/WxPayApi.php
index 39a3ec8..53be269 100644
--- a/library/WebPlugin/Pay/weixin/lib/WxPayApi.php
+++ b/library/WebPlugin/Pay/weixin/lib/WxPayApi.php
@@ -49,7 +49,7 @@ class WxPayApi
         }
 
         //异步通知url
-        $inputObj->SetNotify_url(Yohobuy::SERVICE_NOTIFY . 'payment/weixin_notify'); //异步通知url
+        $inputObj->SetNotify_url(SERVICE_NOTIFY . 'payment/weixin_notify'); //异步通知url
 
         $inputObj->SetAppid(WxPayConfig::APPID); //公众账号ID
         $inputObj->SetMch_id(WxPayConfig::MCHID); //商户号
diff --git a/library/WebPlugin/PhpLog.php b/library/WebPlugin/PhpLog.php
old mode 100644
new mode 100755
index 11657ae..127e495
--- a/library/WebPlugin/PhpLog.php
+++ b/library/WebPlugin/PhpLog.php
@@ -270,4 +270,4 @@ class PhpLog
                 return "$time, " . "LOG, " . "$ip, " . "File[ $FilePath ], " . "Line[$FileLine]" . "------";
         }
     }
-}
\ No newline at end of file
+}
diff --git a/library/WebPlugin/SendSms.php b/library/WebPlugin/SendSms.php
index 44ccaa3..9dd09f8 100644
--- a/library/WebPlugin/SendSms.php
+++ b/library/WebPlugin/SendSms.php
@@ -6,7 +6,7 @@ namespace WebPlugin;
  */
 class SendSms
 {
-    private static $url = 'http://www.ztsms.cn/sendSms.do';
+    private static $url = '//www.ztsms.cn/sendSms.do';
     private static $username = 'youhuo';
     private static $password = '22b5d8454c5cea4d972b1b4958227d8f';
     private static $productid = '333333';
diff --git a/library/WebPlugin/Spyc.php b/library/WebPlugin/Spyc.php
index 1c42a41..ad1e544 100644
--- a/library/WebPlugin/Spyc.php
+++ b/library/WebPlugin/Spyc.php
@@ -4,9 +4,9 @@
    * @version 0.5.1
    * @author Vlad Andersen <vlad.andersen@gmail.com>
    * @author Chris Wanstrath <chris@ozmm.org>
-   * @link http://code.google.com/p/spyc/
+   * @link //code.google.com/p/spyc/
    * @copyright Copyright 2005-2006 Chris Wanstrath, 2006-2011 Vlad Andersen
-   * @license http://www.opensource.org/licenses/mit-license.php MIT License
+   * @license //www.opensource.org/licenses/mit-license.php MIT License
    * @package Spyc
    */
 namespace WebPlugin;
diff --git a/library/WebPlugin/UnionTrans.php b/library/WebPlugin/UnionTrans.php
index fefd653..c154575 100644
--- a/library/WebPlugin/UnionTrans.php
+++ b/library/WebPlugin/UnionTrans.php
@@ -120,7 +120,7 @@ class UnionTrans
 
             /* 加入联盟订单库 */
             $keyStr = 'client_id=' . $unionInfo['client_id'] . '&order_code=' . $order_code . '&orders_price=' . $order_amount . '&create_time=' . $create_times . '&channel_code=' . $channel_code . '&append=' . $append . '&mbr_name=' . $mbr_name . '&u_id=' . $u_id;
-            $result = Yohobuy::get('http://union.yohobuy.com/order', array(
+            $result = Yohobuy::get('//union.yohobuy.com/order', array(
                     'client_id' => $unionInfo['client_id'],
                     'order_code' => $order_code,
                     'orders_price' => $order_amount,
@@ -136,8 +136,8 @@ class UnionTrans
                 var_dump('union:', $result, "++");
             }
 
-            /* 通知新ERP (老的ERP http://192.168.200.102/CreateOrderUnion.aspx) */
-            $result = Yohobuy::post('http://portal.admin.yohobuy.com/api/orderunion/updateunion', array(
+            /* 通知新ERP (老的ERP //192.168.200.102/CreateOrderUnion.aspx) */
+            $result = Yohobuy::post('//portal.admin.yohobuy.com/api/orderunion/updateunion', array(
                     'data' => json_encode(array(
                         'order_code' => $order_code,
                         'unionid' => $unionInfo['client_id'],
@@ -153,7 +153,7 @@ class UnionTrans
             // 亿起发
             if ($unionInfo['client_id'] == 1001) {
                 $keyStr = 'client_id=' . $unionInfo['client_id'] . '&orders_id=' . $order_code . '&orders_price=' . $order_amount . '&create_time=' . $create_times . '&channel_code=' . $channel_code . '&append=' . $append . '&is_old_user=' . $is_old_user;
-                $result = Yohobuy::get('http://o.yiqifa.com/adv/yoho.jsp', array(
+                $result = Yohobuy::get('//o.yiqifa.com/adv/yoho.jsp', array(
                         'client_id' => $unionInfo['client_id'],
                         'orders_id' => $order_code,
                         'orders_price' => $order_amount,
@@ -172,7 +172,7 @@ class UnionTrans
             // 亿起发wap
             if ($unionInfo['client_id'] == 2995) {
                 $keyStr = 'client_id=' . $unionInfo['client_id'] . '&orders_id=' . $order_code . '&orders_price=' . $order_amount . '&create_time=' . $create_times . '&channel_code=' . $channel_code . '&append=' . $append . '&is_old_user=' . $is_old_user;
-                $result = Yohobuy::get('http://o.yiqifa.com/adv/yoho.jsp', array(
+                $result = Yohobuy::get('//o.yiqifa.com/adv/yoho.jsp', array(
                         'client_id' => $unionInfo['client_id'],
                         'orders_id' => $order_code,
                         'orders_price' => $order_amount,
@@ -191,9 +191,9 @@ class UnionTrans
 
             // 多麦
             $clientUrls = array(
-                3017 => 'http://www.duomai.com/api/push/yohobuy.php',
-                3019 => 'http://www.duomai.com/api/push/myohobuy.php',
-                3057 => 'http://www.duomai.com/api/push/yohobuyroi.php',
+                3017 => '//www.duomai.com/api/push/yohobuy.php',
+                3019 => '//www.duomai.com/api/push/myohobuy.php',
+                3057 => '//www.duomai.com/api/push/yohobuyroi.php',
             );
             if (array_key_exists($clientId, $clientUrls)) {
                 $urldata = self::getMaiDuoSplitData($order_code, $uid, $unionInfo['client_id'], $mbr_name, $is_old_user);
@@ -210,7 +210,7 @@ class UnionTrans
             if ($unionInfo['client_id'] == 3001) {
                 $xmldata = self::getOrderXmlData($order_code, $uid, $unionInfo['client_id'], $u_id, $mbr_name, $channel_code);
                 $keyStr = 'content=' . $xmldata . '&shopid=690';
-                $result = Yohobuy::post('http://union.fanli.com/dingdan/push?shopid=690', array(
+                $result = Yohobuy::post('//union.fanli.com/dingdan/push?shopid=690', array(
                         'content' => $xmldata,
                         'shopid' => 690,
                         'verify_code' => md5($keyStr)
@@ -223,10 +223,10 @@ class UnionTrans
 
             // 领科特wap 成果 51fanli
             $clientUrls = array(
-                1010 => 'http://service.linktech.cn/purchase_cps.php',
-                1009 => 'http://count.chanet.com.cn/add_action_ec.cgi',
-                2997 => 'http://service.linktech.cn/purchase_cps.php',
-                3001 => 'http://union.fanli.com/dingdan/push?shopid=690',
+                1010 => '//service.linktech.cn/purchase_cps.php',
+                1009 => '//count.chanet.com.cn/add_action_ec.cgi',
+                2997 => '//service.linktech.cn/purchase_cps.php',
+                3001 => '//union.fanli.com/dingdan/push?shopid=690',
             );
             if (array_key_exists($clientId, $clientUrls)) {
                 $result = Yohobuy::post($clientUrls[$clientId], array(
@@ -275,7 +275,7 @@ class UnionTrans
                     'title' => '', //$val['product_name'],
                     'category' => '', //$val['color_name'],
                     'category_title' => '',
-                    'url' => 'http://item.m.yohobuy.com/product/show_' . $val['product_skn'] . '.html',
+                    'url' => '//item.m.yohobuy.com/product/show_' . $val['product_skn'] . '.html',
                     'num' => $val['buy_number'],
                     'price' => $val['goods_price'],
                     'real_pay_fee' => round($amount * ($val['goods_amount'] / $goodsAmount), 2),
diff --git a/script/nginx/conf/vhost/production/location/yohobuypc_idc.conf b/script/nginx/conf/vhost/production/location/yohobuypc_idc.conf
deleted file mode 100644
index 22e03e2..0000000
--- a/script/nginx/conf/vhost/production/location/yohobuypc_idc.conf
+++ /dev/null
@@ -1,91 +0,0 @@
-
-   ## old idc
-   location ^~ /passport/auth/signin {
-        proxy_redirect off;
-        proxy_pass http://yohobuy-old-www;
-        proxy_set_header   Host   $host;
-        proxy_set_header   X-Real-IP  $remote_addr;
-        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
-        proxy_set_header   Accept-Encoding "gzip";
-    }
-
-   location ^~ /live/index {
-        proxy_redirect off;
-        proxy_pass http://yohobuy-old-www;
-        proxy_set_header   Host   $host;
-        proxy_set_header   X-Real-IP  $remote_addr;
-        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
-        proxy_set_header   Accept-Encoding "gzip";
-    }
-
-   location = /yohoshow {
-         return 301 http://$host;
-    }
-
-     location =/product/specials {
-         return 301 http://$host;
-     }
-
-     location =/search/thanks {
-         return 301 http://$host;
-     }
-
-     location =/search/vip {
-          return 301 http://$host;
-     }
-
-     location =/search/promotion {
-         return 301 http://$host;
-     }
-
-     location =/outlet {
-         return 301 http://$host;
-     }
-
-     location = /search {
-        # return 301 http://search.yohobuy.com$request_uri;
-         rewrite /search http://search.yohobuy.com permanent;
-     }
-
-       location ^~ /logout_ {
-              rewrite ^/logout_(.+).html http://www.yohobuy.com/logout.html?token=$1;
-         }
-
-       location ^~ /product/pro_ {
-             return 301 http://item.yohobuy.com$request_uri;
-         }
-
-       location = /sale {
-           rewrite /sale http://www.yohobuy.com/product/sale/ permanent;
-        }
-
-        location ^~ /brands/ {
-           rewrite /brands/$ http://www.yohobuy.com/brands permanent;
-        }
-        location ^~ /discount {
-            rewrite /discount http://search.yohobuy.com permanent;
-        }
-
-        location ^~ /gallery {
-            rewrite /gallery http://www.yohobuy.com permanent;
-        }
-
-        location ^~ /lookbook {
-            rewrite /lookbook http://guang.yohobuy.com permanent;
-        }
-
-        location ^~ /trends {
-            rewrite /trends http://guang.yohobuy.com permanent;
-        }
-
-        location ^~ /promotion {
-             rewrite /promotion http://list.yohobuy.com/sale permanent;
-        }
-
-        location /product/new {
-            rewrite ^/product/new(.*)$ http://list.yohobuy.com/new$1 permanent;
-        }
-
-        location ^~ /product/exhibit {
-             rewrite /product/exhibit http://www.yohobuy.com permanent;
-        }
\ No newline at end of file
diff --git a/script/nginx/conf/vhost/production/location/yohobuypc_php.conf b/script/nginx/conf/vhost/production/location/yohobuypc_php.conf
deleted file mode 100644
index 4e1ccd5..0000000
--- a/script/nginx/conf/vhost/production/location/yohobuypc_php.conf
+++ /dev/null
@@ -1,23 +0,0 @@
-    #SEO optimization
-    if ($host ~* ^www\.(.*)\.yohobuy\.com) {
-       set $sub_name $1;
-       return 301 $scheme://$sub_name.yohobuy.com$request_uri;
-    }
-
-    location ^~ /yohounion/ {
-        proxy_redirect off;
-        proxy_pass http://unionapi/union/;
-        proxy_set_header   Host   $host;
-        proxy_set_header   X-Real-IP  $http_x_forwarded_for;
-        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
-        proxy_set_header   Accept-Encoding "gzip";
-   }
-
-    ##pc_alipay_notice
-   location = /pay/notice/alimobilenoticemini {
-        proxy_redirect off;
-        proxy_pass http://yoho_service/payment/alipay_notify;
-        proxy_set_header   Host   service.yoho.cn;
-        proxy_set_header   X-Real-IP  $remote_addr;
-        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
-    }
\ No newline at end of file
diff --git a/script/nginx/conf/vhost/production/location/yohobuypc_static.conf b/script/nginx/conf/vhost/production/location/yohobuypc_static.conf
deleted file mode 100644
index 106b44d..0000000
--- a/script/nginx/conf/vhost/production/location/yohobuypc_static.conf
+++ /dev/null
@@ -1,15 +0,0 @@
-    location =/favicon.ico {
-        expires    30d;
-    }
-    location =/crossdomain.xml {
-        expires    30d;
-    }
-    location =/robots.txt {
-        expires    1d;
-    }
-
-   ##百度站长的校验文件, 百度站长账号feng322169 密码yoho9646
-    location = /baidu_verify_Mrj1Pt3L86.html {
-             root  /Data/PE/yohobuy_pc/assets;
-             expires 7d;
-    }
\ No newline at end of file
diff --git a/script/nginx/conf/vhost/testing/location/yohobuypc_exception.conf b/script/nginx/conf/vhost/testing/location/yohobuypc_exception.conf
new file mode 100644
index 0000000..93c318b
--- /dev/null
+++ b/script/nginx/conf/vhost/testing/location/yohobuypc_exception.conf
@@ -0,0 +1,16 @@
+    location ~* /special_(\d+)_(.*)\.html$  {
+        proxy_redirect off;
+        proxy_pass http://yohobuy-old-www;
+        proxy_set_header Host $host;
+        proxy_set_header X-Real-IP $remote_addr;
+        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+        proxy_set_header Accept-Encoding "gzip";
+    }
+
+   location = /index.html {
+       return 301 http://www.yohobuy.com/;
+   }
+
+   location ^~ /resource/getbanner {
+       rewrite /resource/getbanner(.*)$ http://www.yohobuy.com/common/getbanner$1 permanent;
+   }
diff --git a/script/nginx/conf/vhost/production/location/yohobuypc_httpskey.conf b/script/nginx/conf/vhost/testing/location/yohobuypc_httpskey.conf
index 5cc3752..24f8094 100644
--- a/script/nginx/conf/vhost/production/location/yohobuypc_httpskey.conf
+++ b/script/nginx/conf/vhost/testing/location/yohobuypc_httpskey.conf
@@ -1,8 +1,8 @@
       ssl on;
-      ssl_dhparam          /Data/local/nginx-1.8.0/conf/ssl/pc/server.pem;
+      #ssl_dhparam          /Data/local/nginx-1.8.0/conf/ssl/dhparam.pem;
 
       ssl_prefer_server_ciphers  on;
       ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
       ssl_ciphers "ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:AES128-GCM-SHA256:AES256-GCM-SHA384:DES-CBC3-SHA";
       ssl_session_tickets off;
-      ssl_session_cache shared:SSL:10m;
\ No newline at end of file
+      ssl_session_cache shared:SSL:10m;
diff --git a/script/nginx/conf/vhost/testing/location/yohobuypc_idc.conf b/script/nginx/conf/vhost/testing/location/yohobuypc_idc.conf
index 901b4b1..ad18a5d 100644
--- a/script/nginx/conf/vhost/testing/location/yohobuypc_idc.conf
+++ b/script/nginx/conf/vhost/testing/location/yohobuypc_idc.conf
@@ -1,13 +1,13 @@
 
-   ## old idc
-   location = /erp2goods {
+   #old idc
+   location ^~ /erp2goods {
         proxy_redirect off;
         proxy_pass http://yohobuy-old-www;
         proxy_set_header   Host   $host;
         proxy_set_header   X-Real-IP  $remote_addr;
         proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
         proxy_set_header   Accept-Encoding "gzip";
-    }
+   }
 
    location = /passport/auth/signin {
         proxy_redirect off;
@@ -16,7 +16,7 @@
         proxy_set_header   X-Real-IP  $remote_addr;
         proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
         proxy_set_header   Accept-Encoding "gzip";
-    }
+   }
 
    location = /live/index {
         proxy_redirect off;
@@ -25,20 +25,15 @@
         proxy_set_header   X-Real-IP  $remote_addr;
         proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
         proxy_set_header   Accept-Encoding "gzip";
-    }
+   }
 
    location = /yohoshow {
-        proxy_redirect off;
-        proxy_pass http://yohobuy-old-www;
-        proxy_set_header   Host   $host;
-        proxy_set_header   X-Real-IP  $remote_addr;
-        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
-        proxy_set_header   Accept-Encoding "gzip";
-    }
+       return 301 http://$host;
+   }
 
-     location =/product/specials {
-         return 301 http://$host;
-     }
+   location =/product/specials {
+       return 301 http://$host;
+   }
 
      location =/search/thanks {
          return 301 http://$host;
@@ -57,7 +52,8 @@
      }
 
      location = /search {
-         return 301 http://search.yohobuy.com$request_uri;
+        # return 301 http://search.yohobuy.com$request_uri;
+         rewrite /search http://search.yohobuy.com permanent;
      }
 
        location ^~ /logout_ {
@@ -65,12 +61,21 @@
          }
 
          location ^~ /product/pro_ {
-             return 301 http://item.yohobuy.com$request_uri;
+               proxy_redirect off;
+                     proxy_pass http://yohobuy-pc;
+                     proxy_set_header   Host  $host;
+                     proxy_set_header   X-Real-IP  $remote_addr;
+                     proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
+                     proxy_set_header   Accept-Encoding "gzip";
          }
 
-        location ^~ /brands/ {
-           rewrite /brands/$ http://www.yohobuy.com/brands permanent;
+        location = /sale {
+            rewrite /sale http://www.yohobuy.com/product/sale/ permanent;
         }
+
+        #location ^~ /brands/ {
+        #   rewrite /brands/$ http://www.yohobuy.com/brands permanent;
+        #}
         location ^~ /discount {
             rewrite /discount http://search.yohobuy.com permanent;
         }
@@ -97,4 +102,6 @@
 
         location ^~ /product/exhibit {
              rewrite /product/exhibit http://www.yohobuy.com permanent;
-        }
\ No newline at end of file
+        }
+
+
diff --git a/script/nginx/conf/vhost/testing/location/yohobuypc_node.conf b/script/nginx/conf/vhost/testing/location/yohobuypc_node.conf
index b7c44d3..d6a2857 100644
--- a/script/nginx/conf/vhost/testing/location/yohobuypc_node.conf
+++ b/script/nginx/conf/vhost/testing/location/yohobuypc_node.conf
@@ -1,43 +1,93 @@
-location ^~ /passport/autosign/wechat/ {
+     location = / {
         proxy_redirect off;
         proxy_pass http://yohobuy-node;
         proxy_set_header   Host   $host;
+        proxy_set_header   X-Real-IP  $remote_addr;
         proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
         proxy_set_header   Accept-Encoding "gzip";
     }
 
-    location ^~ /passport/login/wechat/ {
+    location = /woman {
         proxy_redirect off;
         proxy_pass http://yohobuy-node;
         proxy_set_header   Host   $host;
+        proxy_set_header   X-Real-IP  $remote_addr;
         proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
         proxy_set_header   Accept-Encoding "gzip";
     }
 
-    location = /product/index/getNodeContent {
-            proxy_redirect off;
-            proxy_pass http://yohobuy-node;
-            proxy_set_header   Host   $host;
-            proxy_set_header   X-Real-IP  $remote_addr;
-            proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
-            proxy_set_header   Accept-Encoding "gzip";
+     location = /girls {
+         return 301 /woman;
      }
 
+     location = /kids {
+        proxy_redirect off;
+        proxy_pass http://yohobuy-node;
+        proxy_set_header   Host   $host;
+        proxy_set_header   X-Real-IP  $remote_addr;
+        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
+        proxy_set_header   Accept-Encoding "gzip";
+    }
+
+     location = /lifestyle {
+        proxy_redirect off;
+        proxy_pass http://yohobuy-node;
+        proxy_set_header   Host   $host;
+        proxy_set_header   X-Real-IP  $remote_addr;
+        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
+        proxy_set_header   Accept-Encoding "gzip";
+    }
+
      location ^~ /product/sale/ {
-         proxy_redirect off;
-         proxy_pass http://yohobuy-node;
-         proxy_set_header   Host   $host;
-         proxy_set_header   X-Real-IP  $remote_addr;
-         proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
-         proxy_set_header   Accept-Encoding "gzip";
-     }
+        proxy_redirect off;
+        proxy_pass http://yohobuy-node;
+        proxy_set_header   Host   $host;
+        proxy_set_header   X-Real-IP  $remote_addr;
+        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
+        proxy_set_header   Accept-Encoding "gzip";
+    }
 
      location ^~ /product/outlets/ {
-         proxy_redirect off;
-         proxy_pass http://yohobuy-node;
-         proxy_set_header   Host   $host;
-         proxy_set_header   X-Real-IP  $remote_addr;
-         proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
-         proxy_set_header   Accept-Encoding "gzip";
-     }
+        proxy_redirect off;
+        proxy_pass http://yohobuy-node;
+        proxy_set_header   Host   $host;
+        proxy_set_header   X-Real-IP  $remote_addr;
+        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
+        proxy_set_header   Accept-Encoding "gzip";
+    }
+
+     location = /passport/autosign/wechat {
+        proxy_redirect off;
+        proxy_pass http://yohobuy-node;
+        proxy_set_header   Host   $host;
+        proxy_set_header   X-Real-IP  $remote_addr;
+        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
+        proxy_set_header   Accept-Encoding "gzip";
+    }
 
+     location ^~ /passport/login/wechat/ {
+        proxy_redirect off;
+        proxy_pass http://yohobuy-node;
+        proxy_set_header   Host   $host;
+        proxy_set_header   X-Real-IP  $remote_addr;
+        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
+        proxy_set_header   Accept-Encoding "gzip";
+    }
+
+     location = /guide {
+        proxy_redirect off;
+        proxy_pass http://yohobuy-node;
+        proxy_set_header   Host   $host;
+        proxy_set_header   X-Real-IP  $remote_addr;
+        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
+        proxy_set_header   Accept-Encoding "gzip";
+    }
+
+     location = /getbrandFloorDataAjax  {
+        proxy_redirect off;
+        proxy_pass http://yohobuy-node;
+        proxy_set_header   Host   $host;
+        proxy_set_header   X-Real-IP  $remote_addr;
+        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
+        proxy_set_header   Accept-Encoding "gzip";
+    }
\ No newline at end of file
diff --git a/script/nginx/conf/vhost/testing/location/yohobuypc_node443.conf b/script/nginx/conf/vhost/testing/location/yohobuypc_node443.conf
new file mode 100644
index 0000000..ce449de
--- /dev/null
+++ b/script/nginx/conf/vhost/testing/location/yohobuypc_node443.conf
@@ -0,0 +1,136 @@
+  #https flag, 1 means HTTPS, 0 means HTTP
+     set $httpsFlag 1;
+
+     location = / {
+         if ($httpsFlag = 0) {
+             return 301 http://$host$request_uri;
+         }
+
+        proxy_redirect off;
+        proxy_pass http://yohobuy-node;
+        proxy_set_header   Host   $host;
+        proxy_set_header   X-Real-IP  $remote_addr;
+        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
+        proxy_set_header   Accept-Encoding "gzip";
+    }
+
+    location = /woman {
+         if ($httpsFlag = 0) {
+             return 301 http://$host$request_uri;
+         }
+
+        proxy_redirect off;
+        proxy_pass http://yohobuy-node;
+        proxy_set_header   Host   $host;
+        proxy_set_header   X-Real-IP  $remote_addr;
+        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
+        proxy_set_header   Accept-Encoding "gzip";
+    }
+
+     location = /girls {
+         return 301 /woman;
+     }
+        
+     location = /kids {
+         if ($httpsFlag = 0) {
+             return 301 http://$host$request_uri;
+         }
+
+        proxy_redirect off;
+        proxy_pass http://yohobuy-node;
+        proxy_set_header   Host   $host;
+        proxy_set_header   X-Real-IP  $remote_addr;
+        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
+        proxy_set_header   Accept-Encoding "gzip";
+    }
+
+     location = /lifestyle {
+         if ($httpsFlag = 0) {
+             return 301 http://$host$request_uri;
+         }
+
+        proxy_redirect off;
+        proxy_pass http://yohobuy-node;
+        proxy_set_header   Host   $host;
+        proxy_set_header   X-Real-IP  $remote_addr;
+        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
+        proxy_set_header   Accept-Encoding "gzip";
+    }
+    
+     location ^~ /product/sale/ {
+         if ($httpsFlag = 0) {
+             return 301 http://$host$request_uri;
+         }
+
+        proxy_redirect off;
+        proxy_pass http://yohobuy-node;
+        proxy_set_header   Host   $host;
+        proxy_set_header   X-Real-IP  $remote_addr;
+        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
+        proxy_set_header   Accept-Encoding "gzip";
+    }
+    
+     location ^~ /product/outlets/ {
+         if ($httpsFlag = 0) {
+             return 301 http://$host$request_uri;
+         }
+
+        proxy_redirect off;
+        proxy_pass http://yohobuy-node;
+        proxy_set_header   Host   $host;
+        proxy_set_header   X-Real-IP  $remote_addr;
+        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
+        proxy_set_header   Accept-Encoding "gzip";
+    }
+    
+     location = /passport/autosign/wechat {
+         if ($httpsFlag = 0) {
+             return 301 http://$host$request_uri;
+         }
+
+        proxy_redirect off;
+        proxy_pass http://yohobuy-node;
+        proxy_set_header   Host   $host;
+        proxy_set_header   X-Real-IP  $remote_addr;
+        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
+        proxy_set_header   Accept-Encoding "gzip";
+    }
+ 
+     location ^~ /passport/login/wechat/ {
+         if ($httpsFlag = 0) {
+             return 301 http://$host$request_uri;
+         }
+
+        proxy_redirect off;
+        proxy_pass http://yohobuy-node;
+        proxy_set_header   Host   $host;
+        proxy_set_header   X-Real-IP  $remote_addr;
+        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
+        proxy_set_header   Accept-Encoding "gzip";
+    }
+
+     location = /guide {
+         if ($httpsFlag = 0) {
+             return 301 http://$host$request_uri;
+         }
+
+        proxy_redirect off;
+        proxy_pass http://yohobuy-node;
+        proxy_set_header   Host   $host;
+        proxy_set_header   X-Real-IP  $remote_addr;
+        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
+        proxy_set_header   Accept-Encoding "gzip";
+    }
+
+     location = /getbrandFloorDataAjax  {
+         if ($httpsFlag = 0) {
+             return 301 http://$host$request_uri;
+         }
+
+        proxy_redirect off;
+        proxy_pass http://yohobuy-node;
+        proxy_set_header   Host   $host;
+        proxy_set_header   X-Real-IP  $remote_addr;
+        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
+        proxy_set_header   Accept-Encoding "gzip";
+    }
\ No newline at end of file
diff --git a/script/nginx/conf/vhost/testing/location/yohobuypc_node80.conf b/script/nginx/conf/vhost/testing/location/yohobuypc_node80.conf
new file mode 100644
index 0000000..05c1f75
--- /dev/null
+++ b/script/nginx/conf/vhost/testing/location/yohobuypc_node80.conf
@@ -0,0 +1,136 @@
+  #https flag, 1 means HTTPS, 0 means HTTP
+     set $httpsFlag 1;
+
+     location = / {
+         if ($httpsFlag = 1) {
+             return 301 https://$host$request_uri;
+         }
+
+        proxy_redirect off;
+        proxy_pass http://yohobuy-node;
+        proxy_set_header   Host   $host;
+        proxy_set_header   X-Real-IP  $remote_addr;
+        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
+        proxy_set_header   Accept-Encoding "gzip";
+    }
+
+    location = /woman {
+         if ($httpsFlag = 1) {
+             return 301 https://$host$request_uri;
+         }
+
+        proxy_redirect off;
+        proxy_pass http://yohobuy-node;
+        proxy_set_header   Host   $host;
+        proxy_set_header   X-Real-IP  $remote_addr;
+        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
+        proxy_set_header   Accept-Encoding "gzip";
+    }
+
+     location = /girls {
+         return 301 /woman;
+     }
+
+     location = /kids {
+         if ($httpsFlag = 1) {
+             return 301 https://$host$request_uri;
+         }
+
+        proxy_redirect off;
+        proxy_pass http://yohobuy-node;
+        proxy_set_header   Host   $host;
+        proxy_set_header   X-Real-IP  $remote_addr;
+        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
+        proxy_set_header   Accept-Encoding "gzip";
+    }
+
+     location = /lifestyle {
+         if ($httpsFlag = 1) {
+             return 301 https://$host$request_uri;
+         }
+
+        proxy_redirect off;
+        proxy_pass http://yohobuy-node;
+        proxy_set_header   Host   $host;
+        proxy_set_header   X-Real-IP  $remote_addr;
+        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
+        proxy_set_header   Accept-Encoding "gzip";
+    }
+
+     location ^~ /product/sale/ {
+         if ($httpsFlag = 1) {
+             return 301 https://$host$request_uri;
+         }
+
+        proxy_redirect off;
+        proxy_pass http://yohobuy-node;
+        proxy_set_header   Host   $host;
+        proxy_set_header   X-Real-IP  $remote_addr;
+        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
+        proxy_set_header   Accept-Encoding "gzip";
+    }
+
+     location ^~ /product/outlets/ {
+         if ($httpsFlag = 1) {
+             return 301 https://$host$request_uri;
+         }
+
+        proxy_redirect off;
+        proxy_pass http://yohobuy-node;
+        proxy_set_header   Host   $host;
+        proxy_set_header   X-Real-IP  $remote_addr;
+        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
+        proxy_set_header   Accept-Encoding "gzip";
+    }
+
+     location = /passport/autosign/wechat {
+         if ($httpsFlag = 1) {
+             return 301 https://$host$request_uri;
+         }
+
+        proxy_redirect off;
+        proxy_pass http://yohobuy-node;
+        proxy_set_header   Host   $host;
+        proxy_set_header   X-Real-IP  $remote_addr;
+        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
+        proxy_set_header   Accept-Encoding "gzip";
+    }
+
+     location ^~ /passport/login/wechat/ {
+         if ($httpsFlag = 1) {
+             return 301 https://$host$request_uri;
+         }
+
+        proxy_redirect off;
+        proxy_pass http://yohobuy-node;
+        proxy_set_header   Host   $host;
+        proxy_set_header   X-Real-IP  $remote_addr;
+        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
+        proxy_set_header   Accept-Encoding "gzip";
+    }
+
+     location = /guide {
+         if ($httpsFlag = 1) {
+             return 301 https://$host$request_uri;
+         }
+
+        proxy_redirect off;
+        proxy_pass http://yohobuy-node;
+        proxy_set_header   Host   $host;
+        proxy_set_header   X-Real-IP  $remote_addr;
+        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
+        proxy_set_header   Accept-Encoding "gzip";
+    }
+
+     location = /getbrandFloorDataAjax  {
+         if ($httpsFlag = 1) {
+             return 301 https://$host$request_uri;
+         }
+
+        proxy_redirect off;
+        proxy_pass http://yohobuy-node;
+        proxy_set_header   Host   $host;
+        proxy_set_header   X-Real-IP  $remote_addr;
+        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
+        proxy_set_header   Accept-Encoding "gzip";
+    }
\ No newline at end of file
diff --git a/script/nginx/conf/vhost/testing/location/yohobuypc_php.conf b/script/nginx/conf/vhost/testing/location/yohobuypc_php.conf
index 4e1ccd5..7cb51a8 100644
--- a/script/nginx/conf/vhost/testing/location/yohobuypc_php.conf
+++ b/script/nginx/conf/vhost/testing/location/yohobuypc_php.conf
@@ -1,4 +1,4 @@
-    #SEO optimization
+#SEO optimization
     if ($host ~* ^www\.(.*)\.yohobuy\.com) {
        set $sub_name $1;
        return 301 $scheme://$sub_name.yohobuy.com$request_uri;
@@ -20,4 +20,41 @@
         proxy_set_header   Host   service.yoho.cn;
         proxy_set_header   X-Real-IP  $remote_addr;
         proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
-    }
\ No newline at end of file
+    }
+
+
+   location ^~  /brands {
+        proxy_redirect off;
+        proxy_pass http://yohobuy-pc;
+        proxy_set_header   Host   $host;
+        proxy_set_header   X-Real-IP  $remote_addr;
+        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
+        proxy_set_header   Accept-Encoding "gzip";
+    }
+
+   location ^~  /common/passport {
+        proxy_redirect off;
+        proxy_pass http://yohobuy-pc;
+        proxy_set_header   Host   $host;
+        proxy_set_header   X-Real-IP  $remote_addr;
+        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
+        proxy_set_header   Accept-Encoding "gzip";
+    }
+
+     location ^~ /Passport/session/index {
+            proxy_redirect off;
+            proxy_pass http://yohobuy-old-www;
+           proxy_set_header   Host   $host;
+            proxy_set_header   X-Real-IP  $remote_addr;
+            proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
+            proxy_set_header   Accept-Encoding "gzip";
+      }
+
+        location ^~ /home/address/area  {
+            proxy_redirect off;
+            proxy_pass http://yohobuy-pc;
+            proxy_set_header   Host   $host;
+            proxy_set_header   X-Real-IP  $remote_addr;
+            proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
+            proxy_set_header   Accept-Encoding "gzip";
+        }
\ No newline at end of file
diff --git a/script/nginx/conf/vhost/testing/location/yohobuypc_static.conf b/script/nginx/conf/vhost/testing/location/yohobuypc_static.conf
index 2a8ecc1..e899b99 100644
--- a/script/nginx/conf/vhost/testing/location/yohobuypc_static.conf
+++ b/script/nginx/conf/vhost/testing/location/yohobuypc_static.conf
@@ -6,4 +6,10 @@
     }
     location =/robots.txt {
         expires    1d;
+    }
+
+    ## baidu feng322169  yoho9646
+    location = /baidu_verify_Mrj1Pt3L86.html {
+             root  /Data/PE/yohobuy_pc/assets;
+             expires 7d;
     }
\ No newline at end of file
diff --git a/script/nginx/conf/vhost/testing/location/yohobuywap_app.conf b/script/nginx/conf/vhost/testing/location/yohobuywap_app.conf
new file mode 100644
index 0000000..8a4e291
--- /dev/null
+++ b/script/nginx/conf/vhost/testing/location/yohobuywap_app.conf
@@ -0,0 +1,32 @@
+#app api
+    location =/appembed {
+        default_type application/json;
+        return 200 '{"code":200,"message":"app embed","data":{"open":"N","url":"http://m.yohobuy.com"}}';
+    }
+
+    location =/lb/v1 {
+        #cc: e0323a9039add2978bf5b49550572c7c oo:e47ca7a09cf6781e29634502345930a7
+        #acecl:7ea6bdf07376a928c5d4677789c45463 opqcl:kai: 352f028bd6ecf28de1c285c573642659 guang:7ea6bdf07376a928c5d4677789c45463
+        #srp 62a165d59f8daf42e2df5f3c5aed8a2f krp:17d7a40f313560d4d9a1189a91e45ab9
+        #boc 94931e4a3036baeecdacb975e10a8ec6 bcc:dc9262a469f6f315f74c087a7b3a7f35
+        default_type application/json;
+        return 200 '{"code":200,"message":"Config Success","md5":"e4567a9039add2978bf5b49550572cff","data":{"ae":"e0323a9039add2978bf5b49550572c7c","url":"http://m.yohobuy.com","tl":"352f028bd6ecf28de1c285c573642659","dl":"2a90dfa0f37b92aaebf369e9a4d38ba4","rp":"17d7a40f313560d4d9a1189a91e45ab9","dli":"5b2d8b4b242e067616c6cd98851b2306"}}';
+    }
+
+    location =/hf/v1 {
+        proxy_redirect off;
+        proxy_pass http://yohobuy;
+        proxy_set_header   Host   $host;
+        proxy_set_header   X-Real-IP  $remote_addr;
+        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
+        proxy_set_header   Accept-Encoding "gzip";
+    }
+
+    location =/rn/v1 {
+        proxy_redirect off;
+        proxy_pass http://yohobuy;
+        proxy_set_header   Host   $host;
+        proxy_set_header   X-Real-IP  $remote_addr;
+        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
+        proxy_set_header   Accept-Encoding "gzip";
+    }
diff --git a/script/nginx/conf/vhost/testing/location/yohobuywap_httpskey.conf b/script/nginx/conf/vhost/testing/location/yohobuywap_httpskey.conf
new file mode 100644
index 0000000..b35a9a1
--- /dev/null
+++ b/script/nginx/conf/vhost/testing/location/yohobuywap_httpskey.conf
@@ -0,0 +1,8 @@
+ssl on;
+     ssl_dhparam          /Data/local/nginx-1.8.0/conf/ssl/dhparam.pem;
+
+     ssl_prefer_server_ciphers  on;
+     ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
+     ssl_ciphers "ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:AES128-GCM-SHA256:AES256-GCM-SHA384:DES-CBC3-SHA";
+     ssl_session_tickets off;
+     ssl_session_cache shared:SSL:10m;
diff --git a/script/nginx/conf/vhost/testing/location/yohobuywap_idc.conf b/script/nginx/conf/vhost/testing/location/yohobuywap_idc.conf
new file mode 100644
index 0000000..534c6a7
--- /dev/null
+++ b/script/nginx/conf/vhost/testing/location/yohobuywap_idc.conf
@@ -0,0 +1,229 @@
+#idc old proxy
+    location =/invite.html {
+        access_log /Data/logs/access.m.yohobuy.com.log  fenxi;
+        proxy_redirect off;
+        proxy_pass http://yohobuy_idc;
+        proxy_set_header   Host   m.yohobuy.com;
+        proxy_set_header   X-Real-IP  $remote_addr;
+        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
+        proxy_set_header   Accept-Encoding "gzip";
+    }
+    location =/app.html {
+        access_log /Data/logs/access.m.yohobuy.com.log  fenxi;
+        proxy_redirect off;
+        proxy_pass http://yohobuy_idc;
+        proxy_set_header   Host   m.yohobuy.com;
+        proxy_set_header   X-Real-IP  $remote_addr;
+        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
+        proxy_set_header   Accept-Encoding "gzip";
+    }
+    location =/yohood.html {
+        access_log /Data/logs/access.m.yohobuy.com.log  fenxi;
+        proxy_redirect off;
+        proxy_pass http://yohobuy_idc;
+        proxy_set_header   Host   m.yohobuy.com;
+        proxy_set_header   X-Real-IP  $remote_addr;
+        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
+        proxy_set_header   Accept-Encoding "gzip";
+    }
+    location ^~ /home/lottery {
+        access_log /Data/logs/access.m.yohobuy.com.log  fenxi;
+        proxy_redirect off;
+        proxy_pass http://yohobuy_idc;
+        proxy_set_header   Host   m.yohobuy.com;
+        proxy_set_header   X-Real-IP  $remote_addr;
+        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
+        proxy_set_header   Accept-Encoding "gzip";
+    }
+    location ^~ /home/redenvelopes {
+        access_log /Data/logs/access.m.yohobuy.com.log  fenxi;
+        proxy_redirect off;
+        proxy_pass http://yohobuy_idc;
+        proxy_set_header   Host   m.yohobuy.com;
+        proxy_set_header   X-Real-IP  $remote_addr;
+        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
+        proxy_set_header   Accept-Encoding "gzip";
+    }
+    location ^~ /home/orders/tickets {
+        access_log /Data/logs/access.m.yohobuy.com.log  fenxi;
+        proxy_redirect off;
+        proxy_pass http://yohobuy_idc;
+        proxy_set_header   Host   m.yohobuy.com;
+        proxy_set_header   X-Real-IP  $remote_addr;
+        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
+        proxy_set_header   Accept-Encoding "gzip";
+    }
+    location ^~ /home/currency/ {
+        access_log /Data/logs/access.m.yohobuy.com.log  fenxi;
+        proxy_redirect off;
+        proxy_pass http://yohobuy_idc;
+        proxy_set_header   Host   m.yohobuy.com;
+        proxy_set_header   X-Real-IP  $remote_addr;
+        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
+        proxy_set_header   Accept-Encoding "gzip";
+    }
+    location = /home/orders/cancel {
+        access_log /Data/logs/access.m.yohobuy.com.log  fenxi;
+        proxy_redirect off;
+        proxy_pass http://yohobuy_idc;
+        proxy_set_header   Host   m.yohobuy.com;
+        proxy_set_header   X-Real-IP  $remote_addr;
+        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
+        proxy_set_header   Accept-Encoding "gzip";
+    }
+    location ^~ /wechat {
+        access_log /Data/logs/access.m.yohobuy.com.log  fenxi;
+        proxy_redirect off;
+        proxy_pass http://yohobuy_idc;
+        proxy_set_header   Host   m.yohobuy.com;
+        proxy_set_header   X-Real-IP  $remote_addr;
+        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
+        proxy_set_header   Accept-Encoding "gzip";
+    }
+    location ^~ /huodong {
+        access_log /Data/logs/access.m.yohobuy.com.log  fenxi;
+        proxy_redirect off;
+        proxy_pass http://yohobuy_idc;
+        proxy_set_header   Host   m.yohobuy.com;
+        proxy_set_header   X-Real-IP  $remote_addr;
+        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
+        proxy_set_header   Accept-Encoding "gzip";
+    }
+    location ^~ /download {
+        access_log /Data/logs/access.m.yohobuy.com.log  fenxi;
+        proxy_redirect off;
+        proxy_pass http://yohobuy_idc;
+        proxy_set_header   Host   m.yohobuy.com;
+        proxy_set_header   X-Real-IP  $remote_addr;
+        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
+        proxy_set_header   Accept-Encoding "gzip";
+    }
+    location ^~ /events {
+        access_log /Data/logs/access.m.yohobuy.com.log  fenxi;
+        proxy_redirect off;
+        proxy_pass http://yohobuy_idc;
+        proxy_set_header   Host   m.yohobuy.com;
+        proxy_set_header   X-Real-IP  $remote_addr;
+        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
+        proxy_set_header   Accept-Encoding "gzip";
+    }
+    location ^~ /appactive {
+        access_log /Data/logs/access.m.yohobuy.com.log  fenxi;
+        proxy_redirect off;
+        proxy_pass http://yohobuy_idc;
+        proxy_set_header   Host   m.yohobuy.com;
+        proxy_set_header   X-Real-IP  $remote_addr;
+        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
+        proxy_set_header   Accept-Encoding "gzip";
+    }
+    location ^~ /cart/success {
+        access_log /Data/logs/access.m.yohobuy.com.log  fenxi;
+        proxy_redirect off;
+        proxy_pass http://yohobuy_idc;
+        proxy_set_header   Host   m.yohobuy.com;
+        proxy_set_header   X-Real-IP  $remote_addr;
+        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
+        proxy_set_header   Accept-Encoding "gzip";
+    }
+    location ^~ /shopping/success {
+        access_log /Data/logs/access.m.yohobuy.com.log  fenxi;
+        proxy_redirect off;
+        proxy_pass http://yohobuy_idc;
+        proxy_set_header   Host   m.yohobuy.com;
+        proxy_set_header   X-Real-IP  $remote_addr;
+        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
+        proxy_set_header   Accept-Encoding "gzip";
+    }
+    location ^~ /shopping/pay/aliwap {
+        access_log /Data/logs/access.m.yohobuy.com.log  fenxi;
+        proxy_redirect off;
+        proxy_pass http://yohobuy_idc;
+        proxy_set_header   Host   m.yohobuy.com;
+        proxy_set_header   X-Real-IP  $remote_addr;
+        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
+        proxy_set_header   Accept-Encoding "gzip";
+    }
+    location = /shopping/pay/wechatwap {
+        access_log /Data/logs/access.m.yohobuy.com.log  fenxi;
+        proxy_redirect off;
+        proxy_pass http://yohobuy_idc;
+        proxy_set_header   Host   m.yohobuy.com;
+        proxy_set_header   X-Real-IP  $remote_addr;
+        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
+        proxy_set_header   Accept-Encoding "gzip";
+    }
+    location ^~ /passport/syncsignin {
+        access_log /Data/logs/access.m.yohobuy.com.log  fenxi;
+        proxy_redirect off;
+        proxy_pass http://yohobuy_idc;
+        proxy_set_header   Host   m.yohobuy.com;
+        proxy_set_header   X-Real-IP  $remote_addr;
+        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
+        proxy_set_header   Accept-Encoding "gzip";
+    }
+
+    location = /product/index/search {
+            access_log /Data/logs/access.m.yohobuy.com.log  fenxi;
+            proxy_redirect off;
+            proxy_pass http://yohobuy_idc;
+            proxy_set_header   Host   m.yohobuy.com;
+            proxy_set_header   X-Real-IP  $remote_addr;
+            proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
+            proxy_set_header   Accept-Encoding "gzip";
+    }
+
+   location ^~ /share_ {
+        access_log /Data/logs/access.m.yohobuy.com.log  fenxi;
+        proxy_redirect off;
+        proxy_pass http://yohobuy_idc;
+        proxy_set_header   Host   m.yohobuy.com;
+        proxy_set_header   X-Real-IP  $remote_addr;
+        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
+        proxy_set_header   Accept-Encoding "gzip";
+    }
+
+   # idc old proxy for login to write memcache and cookie (if need?)
+    location ^~ /Passport/session {
+        access_log /Data/logs/access.m.yohobuy.com.log  fenxi;
+        proxy_redirect off;
+        proxy_pass http://yohobuy_idc;
+        proxy_set_header   Host   mapi.yohobuy.com;
+        proxy_set_header   X-Real-IP  $remote_addr;
+        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
+        proxy_set_header   Accept-Encoding "gzip";
+    }
+
+     location =/product/new/index {
+            return 301 http://m.yohobuy.com/product/new;
+        }
+
+
+       #old idc
+       location =/download/appsem {
+            return 301 http://cdn.yoho.cn/huodong-web/appsem/appsem.html;
+        }
+
+       location =/app {
+            return 301 http://www.yoho.cn;
+        }
+
+      location =/help.html {
+             return 301 http://m.yohobuy.com/home/help;
+        }
+
+       location ^~ /trends_detail_ {
+             return 301 http://guang.m.yohobuy.com;
+      }
+
+      #location =/about {
+      #       return 301 http://$host$request_uri;
+      #  }
+
+      #location =/brand/index/about{
+      #       return 301 http://$host$request_uri;
+      #  }
+      
+      location ^~ /product/pro_ {
+        return 301 http://item.m.yohobuy.com$request_uri;
+    }
+
diff --git a/script/nginx/conf/vhost/testing/location/yohobuywap_node.conf b/script/nginx/conf/vhost/testing/location/yohobuywap_node.conf
new file mode 100644
index 0000000..09b4067
--- /dev/null
+++ b/script/nginx/conf/vhost/testing/location/yohobuywap_node.conf
@@ -0,0 +1,106 @@
+
+location ^~ /passport/login/wechat/ {
+        proxy_redirect off;
+        proxy_pass http://yohobuywap-node;
+        proxy_set_header   Host   $host;
+        proxy_set_header   X-Real-IP  $remote_addr;
+        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
+        proxy_set_header   Accept-Encoding "gzip";
+    }
+
+location ^~ /activity {
+        proxy_redirect off;
+        proxy_pass http://yohobuywap-node;
+        proxy_set_header   Host   $host;
+        proxy_set_header   X-Real-IP  $remote_addr;
+        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
+        proxy_set_header   Accept-Encoding "gzip";
+    }
+
+#channel page
+location = / {
+    proxy_redirect off;
+    proxy_pass http://yohobuywap-node;
+    proxy_set_header   Host   $host;
+    proxy_set_header   X-Real-IP  $remote_addr;
+    proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
+    proxy_set_header   Accept-Encoding "gzip";
+}
+
+location = /boys {
+    proxy_redirect off;
+    proxy_pass http://yohobuywap-node;
+    proxy_set_header   Host   $host;
+    proxy_set_header   X-Real-IP  $remote_addr;
+    proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
+    proxy_set_header   Accept-Encoding "gzip";
+}
+
+location = /girls {
+    proxy_redirect off;
+    proxy_pass http://yohobuywap-node;
+    proxy_set_header   Host   $host;
+    proxy_set_header   X-Real-IP  $remote_addr;
+    proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
+    proxy_set_header   Accept-Encoding "gzip";
+}
+
+location = /girl {
+    return 301 /girls;
+}
+
+location = /kids {
+    proxy_redirect off;
+    proxy_pass http://yohobuywap-node;
+    proxy_set_header   Host   $host;
+    proxy_set_header   X-Real-IP  $remote_addr;
+    proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
+    proxy_set_header   Accept-Encoding "gzip";
+}
+
+location = /lifestyle {
+    proxy_redirect off;
+    proxy_pass http://yohobuywap-node;
+    proxy_set_header   Host   $host;
+    proxy_set_header   X-Real-IP  $remote_addr;
+    proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
+    proxy_set_header   Accept-Encoding "gzip";
+}
+
+location ^~ /channel {
+    proxy_redirect off;
+    proxy_pass http://yohobuywap-node;
+    proxy_set_header   Host   $host;
+    proxy_set_header   X-Real-IP  $remote_addr;
+    proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
+    proxy_set_header   Accept-Encoding "gzip";
+}
+
+location ^~ /product/sale/ {
+    proxy_redirect off;
+    proxy_pass http://yohobuywap-node;
+    proxy_set_header   Host   $host;
+    proxy_set_header   X-Real-IP  $remote_addr;
+    proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
+    proxy_set_header   Accept-Encoding "gzip";
+}
+
+location ^~ /guang/star/ {
+    proxy_redirect off;
+    proxy_pass http://yohobuywap-node;
+    proxy_set_header   Host   $host;
+    proxy_set_header   X-Real-IP  $remote_addr;
+    proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
+    proxy_set_header   Accept-Encoding "gzip";
+}
+
+
+location ^~ /product/outlet/ {
+    proxy_redirect off;
+    proxy_pass http://yohobuywap-node;
+    proxy_set_header   Host   $host;
+    proxy_set_header   X-Real-IP  $remote_addr;
+    proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
+    proxy_set_header   Accept-Encoding "gzip";
+}
+
diff --git a/script/nginx/conf/vhost/production/location/yohobuypc_node.conf b/script/nginx/conf/vhost/testing/location/yohobuywap_php.conf
index 8d90fbd..14753ce 100644
--- a/script/nginx/conf/vhost/production/location/yohobuypc_node.conf
+++ b/script/nginx/conf/vhost/testing/location/yohobuywap_php.conf
@@ -1,42 +1,41 @@
-location ^~ /passport/autosign/wechat/ {
+
+    # wechat pay
+    location ^~ /shopping/pay/aliwapreturn {
+        proxy_redirect off;
+        proxy_pass http://yohobuy;
+        proxy_set_header   Host   m.yohobuy.com;
+        proxy_set_header   X-Real-IP  $remote_addr;
+        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
+        proxy_set_header   Accept-Encoding "gzip";
+    }
+ 
+   location ^~ /home/orders/pay {
         proxy_redirect off;
-        proxy_pass http://yohobuy-node;
+        proxy_pass http://yohobuy;
         proxy_set_header   Host   $host;
+        proxy_set_header   X-Real-IP  $remote_addr;
         proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
         proxy_set_header   Accept-Encoding "gzip";
     }
 
-    location ^~ /passport/login/wechat/ {
+   location ^~ /shopping/pay/wechatwapapi {
         proxy_redirect off;
-        proxy_pass http://yohobuy-node;
+        proxy_pass http://yohobuy;
         proxy_set_header   Host   $host;
+        proxy_set_header   X-Real-IP  $remote_addr;
         proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
         proxy_set_header   Accept-Encoding "gzip";
     }
 
-    location = /product/index/getNodeContent {
-            proxy_redirect off;
-            proxy_pass http://yohobuy-node;
-            proxy_set_header   Host   $host;
-            proxy_set_header   X-Real-IP  $remote_addr;
-            proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
-            proxy_set_header   Accept-Encoding "gzip";
-     }
-
-     location ^~ /product/sale/ {
-         proxy_redirect off;
-         proxy_pass http://yohobuy-node;
-         proxy_set_header   Host   $host;
-         proxy_set_header   X-Real-IP  $remote_addr;
-         proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
-         proxy_set_header   Accept-Encoding "gzip";
-     }
+    location ^~ /coupon {
+        proxy_redirect off;
+        proxy_pass http://yohobuy;
+        proxy_set_header   Host   $host;
+        proxy_set_header   X-Real-IP  $remote_addr;
+        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
+        proxy_set_header   Accept-Encoding "gzip";
+    }
 
-     location ^~ /product/outlets/ {
-         proxy_redirect off;
-         proxy_pass http://yohobuy-node;
-         proxy_set_header   Host   $host;
-         proxy_set_header   X-Real-IP  $remote_addr;
-         proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
-         proxy_set_header   Accept-Encoding "gzip";
-     }
+   location = /coupon/index {
+        return 301 /activity/coupon?$query_string;
+   }
diff --git a/script/nginx/conf/vhost/testing/location/yohobuywap_static.conf b/script/nginx/conf/vhost/testing/location/yohobuywap_static.conf
new file mode 100644
index 0000000..33efb44
--- /dev/null
+++ b/script/nginx/conf/vhost/testing/location/yohobuywap_static.conf
@@ -0,0 +1,29 @@
+    #static file
+    location =/favicon.ico {
+        expires    7d;
+    }
+    location =/crossdomain.xml {
+        expires    7d;
+    }
+    location =/sitemap.xml {
+        expires    1d;
+    }
+    location =/robots.txt {
+        expires    1d;
+    }
+
+    location = /error.html {
+             root  /Data/PE/yohobuy_H5/assets;
+             expires 7d;
+    }
+    # app show help page
+         location =/help/shareorder.html {
+                 root  /Data/PE/yohobuy_H5/assets;
+                         expires 7d;
+                             }
+
+    ## baidu feng322169 yoho9646
+    location = /baidu_verify_bXX90VTyvs.html {
+             root  /Data/PE/yohobuy_H5/assets;
+             expires 7d;
+    }
diff --git a/script/nginx/conf/vhost/testing/yohobuypc.conf b/script/nginx/conf/vhost/testing/yohobuypc.conf
index 4c4eb21..85bf15b 100644
--- a/script/nginx/conf/vhost/testing/yohobuypc.conf
+++ b/script/nginx/conf/vhost/testing/yohobuypc.conf
@@ -1,10 +1,11 @@
 server
 {
     listen       80;
-    server_name   *.yohobuy.com;
-    root  /Data/code/git/web/yohobuy/yohobuy/www.yohobuy.com/public;
+    server_name  www.yohobuy.com  *.yohobuy.com;
+    root  /Data/PE/yohobuy_pc/yohobuy/www.yohobuy.com/public;
 
-    error_log  /Data/logs/error.pc.yohobuy.com.log warn;
+    access_log /Data/logs/nginx/access_pc.yohobuy.com.log  fenxi;
+    error_log  /Data/logs/error_pc.yohobuy.com.log warn;
 
      # static file
      include vhosts/location/yohobuypc_static.conf;
@@ -15,31 +16,100 @@ server
      # php
      include vhosts/location/yohobuypc_php.conf;
 
+     # node
+     include vhosts/location/yohobuypc_node.conf;
+
+     location ~* /special_(\d+)_(.*)\.html$  {
+        proxy_redirect off;
+        proxy_pass http://yohobuy-old-www;
+        proxy_set_header Host $host;
+        proxy_set_header X-Real-IP $remote_addr;
+        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+        proxy_set_header Accept-Encoding "gzip";
+    }
+
+    location ~* /special/(\d+)_(.*)\.html$  {
+        proxy_redirect off;
+        proxy_pass http://yohobuy-node;
+        proxy_set_header Host $host;
+        proxy_set_header X-Real-IP $remote_addr;
+        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+        proxy_set_header Accept-Encoding "gzip";
+    }
+
+   location ^~  /home/returns {
+        proxy_redirect off;
+        proxy_pass http://yohobuy-pc;
+        proxy_set_header   Host   $host;
+        proxy_set_header   X-Real-IP  $remote_addr;
+        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
+        proxy_set_header   Accept-Encoding "gzip";
+    }
+
     location = /index.html {
-	    return 301 http://www.yohobuy.com/;
+            return 301 http://www.yohobuy.com/;
+    }
+
+    location ^~ /resource/getbanner {
+        rewrite /resource/getbanner(.*)$ https://www.yohobuy.com/common/getbanner$1 permanent;
     }
 
-	location ^~ /resource/getbanner {
-	    rewrite /resource/getbanner(.*)$ https://www.yohobuy.com/common/getbanner$1 permanent;
-	}
+     #https flag, 1 means HTTPS, 0 means HTTP
+     set $httpsFlag 0;
+
+     location / {
+         if ($httpsFlag = 1) {
+             return 301 https://$host$request_uri;
+         }
+
+        proxy_redirect off;
+        proxy_pass http://yohobuy-pc;
+        proxy_set_header   Host   $host;
+        proxy_set_header   X-Real-IP  $remote_addr;
+        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
+        proxy_set_header   Accept-Encoding "gzip";
+    }
+
+}
+
+server
+{
+    listen   80;
+    listen   443 ssl;
+    ssl_certificate      /Data/local/nginx-1.8.0/conf/ssl/pc/server.pem;
+    ssl_certificate_key  /Data/local/nginx-1.8.0/conf/ssl/pc/server.key;
+
+    server_name list.yohobuy.com item.yohobuy.com sale.yohobuy.com new.yohobuy.com search.yohobuy.com guang.yohobuy.com shop.yohobuy.com;
+    
+
+    # https key
+    include vhosts/location/yohobuypc_httpskey.conf;
 
-    # others http 301 redirect https
     location / {
-        return 301 https://$host$request_uri;
+          proxy_redirect off;
+          proxy_pass http://yohobuy-pc;
+          proxy_set_header Host $host;
+          proxy_set_header X-Real-IP $remote_addr;
+          proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+          proxy_set_header Accept-Encoding "gzip";
     }
 }
 
 server
 {
     listen       443;
-    server_name    *.yohobuy.com;
+    server_name  www.yohobuy.com  *.yohobuy.com;
 
-    ssl_certificate      /Data/local/nginx-1.8.0/conf/ssl/server.crt;
-    ssl_certificate_key  /Data/local/nginx-1.8.0/conf/ssl/server.key;
+    ssl_certificate      /Data/local/nginx-1.8.0/conf/ssl/pc/server.pem;
+    ssl_certificate_key  /Data/local/nginx-1.8.0/conf/ssl/pc/server.key;
 
-    root  /Data/code/git/web/yohobuy/yohobuy/www.yohobuy.com/public;
+    root  /Data/PE/yohobuy_pc/yohobuy/www.yohobuy.com/public;
 
-    error_log  /Data/logs/error.pc.yohobuy.com.log warn;
+    access_log /Data/logs/nginx/access_pc.yohobuy.com.log  fenxi;
+    error_log  /Data/logs/error_pc.yohobuy.com.log warn;
+
+     # https key
+     include vhosts/location/yohobuypc_httpskey.conf;
 
      # static file
      include vhosts/location/yohobuypc_static.conf;
@@ -50,21 +120,42 @@ server
      # php
      include vhosts/location/yohobuypc_php.conf;
 
+     # node
+     include vhosts/location/yohobuypc_node.conf;
+
+    location ~* /special_(\d+)_(.*)\.html$  {
+        return 301 http://$host$request_uri;
+    }
+
+    location ~* /special/(\d+)_(.*)\.html$  {
+        return 301 http://$host$request_uri;
+    }
+
+    location ^~  /home/returns {
+        return 301 http://$host$request_uri;
+    }
+
     location = /index.html {
-	    return 301 https://www.yohobuy.com/;
+        return 301 http://www.yohobuy.com/;
     }
 
-    	location ^~ /resource/getbanner {
-    	    rewrite /resource/getbanner(.*)$ https://www.yohobuy.com/common/getbanner$1 permanent;
-    	}
+    location ^~ /resource/getbanner {
+        rewrite /resource/getbanner(.*)$ https://www.yohobuy.com/common/getbanner$1 permanent;
+    }
 
-  location / {
-      proxy_redirect off;
-      proxy_pass http://yohobuy_pc;
-      proxy_set_header Host $host;
-      proxy_set_header X-Real-IP $remote_addr;
-      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
-      proxy_set_header Accept-Encoding "gzip";
+     #https flag, 1 means HTTPS, 0 means HTTP
+     set $httpsFlag 0;
+
+     location / {
+         if ($httpsFlag = 0) {
+             return 301 http://$host$request_uri;
+         }
+        proxy_redirect off;
+        proxy_pass http://yohobuy-pc;
+        proxy_set_header   Host   $host;
+        proxy_set_header   X-Real-IP  $remote_addr;
+        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
+        proxy_set_header   Accept-Encoding "gzip";
     }
 }
 
@@ -73,6 +164,7 @@ server
      listen       80;
      server_name   admin.yohobuy.com union.yohobuy.com;
 
+     access_log /Data/logs/nginx/access_pc.yohobuy.com.log  fenxi;
      error_log  /Data/logs/error_pc.yohobuy.com.log warn;
 
      location / {
@@ -90,7 +182,10 @@ server
 {
      listen       80;
      server_name  huodong.yohobuy.com;
-     root  /Data/code/git/web/yohobuy/yohobuy/huodong.yohobuy.com/public;
+     root  /Data/PE/yohobuy_pc/yohobuy/huodong.yohobuy.com/public;
+
+     access_log /Data/logs/nginx/access_pc.yohobuy.com.log  fenxi;
+     error_log  /Data/logs/error_pc.yohobuy.com.log warn;
 
      location ^~ /cuxiao {
         proxy_redirect off;
@@ -100,7 +195,7 @@ server
         proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
         proxy_set_header   Accept-Encoding "gzip";
     }
-    
+
     location / {
         proxy_redirect off;
         proxy_pass http://yohobuy-old-huodong;
@@ -119,10 +214,16 @@ server
      listen       443;
      server_name  huodong.yohobuy.com;
 
-     ssl_certificate      /Data/local/nginx-1.8.0/conf/ssl/server.crt;
-     ssl_certificate_key  /Data/local/nginx-1.8.0/conf/ssl/server.key;
+    ssl_certificate      /Data/local/nginx-1.8.0/conf/ssl/pc/server.pem;
+    ssl_certificate_key  /Data/local/nginx-1.8.0/conf/ssl/pc/server.key;
+
+     root  /Data/PE/yohobuy_pc/yohobuy/huodong.yohobuy.com/public;
+
+     access_log /Data/logs/nginx/access_pc.yohobuy.com.log  fenxi;
+     error_log  /Data/logs/error_pc.yohobuy.com.log warn;
 
-     root  /Data/code/git/web/yohobuy/yohobuy/huodong.yohobuy.com/public;
+     # https key
+     include vhosts/location/yohobuypc_httpskey.conf;
 
      location ^~ /cuxiao {
         proxy_redirect off;
@@ -156,6 +257,46 @@ server
     ssl_certificate_key  /Data/local/nginx-1.8.0/conf/ssl/server.key;
 
     location = / {
-        return 301 https://www.yohobuy.com/;
+        return 301 http://www.yohobuy.com/;
     }
 }
+
+
+server
+{
+     listen 443;
+     server_name  analytics.m.yohobuy.com;
+
+     ssl_certificate      /Data/local/nginx-1.8.0/conf/ssl/m.yohobuy.pem;
+     ssl_certificate_key  /Data/local/nginx-1.8.0/conf/ssl/m.yohobuy.key;
+
+     # https key
+     include vhosts/location/yohobuypc_httpskey.conf;
+
+      location /  {
+            proxy_redirect off;
+            proxy_pass http://yohobuy_analytics;
+            proxy_set_header   Host   $host;
+            proxy_set_header   X-Real-IP  $remote_addr;
+            proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
+            proxy_set_header   Accept-Encoding "gzip";
+            proxy_set_header   http_referer  $http_referer;
+      }
+}
+
+ server
+{
+     listen 80;
+     server_name  analytics.m.yohobuy.com;
+
+      location /  {
+            proxy_redirect off;
+            proxy_pass http://yohobuy_analytics;
+            proxy_set_header   Host   $host;
+            proxy_set_header   X-Real-IP  $remote_addr;
+            proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
+            proxy_set_header   Accept-Encoding "gzip";
+            proxy_set_header   http_referer  $http_referer;
+      }
+
+}
diff --git a/script/nginx/conf/vhost/production/yohobuypc.conf b/script/nginx/conf/vhost/testing/yohobuypc0706.conf
index fb68c11..2639af9 100644
--- a/script/nginx/conf/vhost/production/yohobuypc.conf
+++ b/script/nginx/conf/vhost/testing/yohobuypc0706.conf
@@ -1,11 +1,11 @@
 server
 {
     listen       80;
-    server_name   *.yohobuy.com;
-    root  /Data/code/git/web/yohobuy/yohobuy/www.yohobuy.com/public;
+    server_name  www.yohobuy.com  *.yohobuy.com;
+    root  /Data/PE/yohobuy_pc/yohobuy/www.yohobuy.com/public;
 
     access_log /Data/logs/nginx/access_pc.yohobuy.com.log  fenxi;
-    error_log  /Data/logs/error.pc.yohobuy.com.log warn;
+    error_log  /Data/logs/error_pc.yohobuy.com.log warn;
 
      # static file
      include vhosts/location/yohobuypc_static.conf;
@@ -16,32 +16,143 @@ server
      # php
      include vhosts/location/yohobuypc_php.conf;
 
+     # node
+     include vhosts/location/yohobuypc_node80.conf;
+
+     location ~* /special_(\d+)_(.*)\.html$  {
+        proxy_redirect off;
+        proxy_pass http://yohobuy-old-www;
+        proxy_set_header Host $host;
+        proxy_set_header X-Real-IP $remote_addr;
+        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+        proxy_set_header Accept-Encoding "gzip";
+    }
+
     location = /index.html {
-	    return 301 http://www.yohobuy.com/;
+            return 301 http://www.yohobuy.com/;
+    }
+
+    location ^~ /resource/getbanner {
+        rewrite /resource/getbanner(.*)$ https://www.yohobuy.com/common/getbanner$1 permanent;
     }
 
-	location ^~ /resource/getbanner {
-	    rewrite /resource/getbanner(.*)$ https://www.yohobuy.com/common/getbanner$1 permanent;
-	}
+     #https flag, 1 means HTTPS, 0 means HTTP
+     set $httpsFlag 0;
+
+     location / {
+         if ($httpsFlag = 1) {
+             return 301 https://$host$request_uri;
+         }
+
+        proxy_redirect off;
+        proxy_pass http://yohobuy-pc;
+        proxy_set_header   Host   $host;
+        proxy_set_header   X-Real-IP  $remote_addr;
+        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
+        proxy_set_header   Accept-Encoding "gzip";
+    }
+
+}
+
+server
+{
+    listen   80;
+
+    server_name list.yohobuy.com item.yohobuy.com sale.yohobuy.com  search.yohobuy.com guang.yohobuy.com shop.yohobuy.com;
+
+    root  /Data/PE/yohobuy_pc/yohobuy/www.yohobuy.com/public;
+    access_log /Data/logs/nginx/access_pc.yohobuy.com.log  fenxi;
+    error_log  /Data/logs/error_pc.yohobuy.com.log warn;
+
+     # static file
+     include vhosts/location/yohobuypc_static.conf;
+
+     # old idc
+     include vhosts/location/yohobuypc_idc.conf;
+
+     # php
+     include vhosts/location/yohobuypc_php.conf;
+
+
+     #https flag, 1 means HTTPS, 0 means HTTP
+     set $httpsFlag 1;
+
+     location / {
+          if ($httpsFlag = 1) {
+              return 301 https://$host$request_uri;
+          }
+
+         proxy_redirect off;
+         proxy_pass http://yohobuy-pc;
+         proxy_set_header   Host   $host;
+         proxy_set_header   X-Real-IP  $remote_addr;
+         proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
+         proxy_set_header   Accept-Encoding "gzip";
+     }
+}
+
+server
+{
+    listen 443 ;
+
+    server_name list.yohobuy.com item.yohobuy.com sale.yohobuy.com search.yohobuy.com guang.yohobuy
+.com shop.yohobuy.com;
+
+    ssl_certificate      /Data/local/nginx-1.8.0/conf/ssl/pc/server.pem;
+    ssl_certificate_key  /Data/local/nginx-1.8.0/conf/ssl/pc/server.key;
+
+    root  /Data/PE/yohobuy_pc/yohobuy/www.yohobuy.com/public;
+    access_log /Data/logs/nginx/access_pc.yohobuy.com.log  fenxi;
+    error_log  /Data/logs/error_pc.yohobuy.com.log warn;
+
+     # https key
+     include vhosts/location/yohobuypc_httpskey.conf;
+
+     # static file
+     include vhosts/location/yohobuypc_static.conf;
+
+     # old idc
+     include vhosts/location/yohobuypc_idc.conf;
+
+     # php
+     include vhosts/location/yohobuypc_php.conf;
+
+     # node
+     #include vhosts/location/yohobuypc_node443.conf;
+
+    #https flag, 1 means HTTPS, 0 means HTTP
+    set $httpsFlag 1;
 
-    # others http 301 redirect https
     location / {
-        return 301 https://$host$request_uri;
+         if ($httpsFlag = 0) {
+             return 301 http://$host$request_uri;
+         }
+
+        proxy_redirect off;
+        proxy_pass http://yohobuy-pc;
+        proxy_set_header   Host   $host;
+        proxy_set_header   X-Real-IP  $remote_addr;
+        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
+        proxy_set_header   Accept-Encoding "gzip";
     }
+
 }
 
 server
 {
     listen       443;
-    server_name    *.yohobuy.com;
+    server_name  www.yohobuy.com  *.yohobuy.com;
 
     ssl_certificate      /Data/local/nginx-1.8.0/conf/ssl/pc/server.pem;
     ssl_certificate_key  /Data/local/nginx-1.8.0/conf/ssl/pc/server.key;
 
-    root  /Data/code/git/web/yohobuy/yohobuy/www.yohobuy.com/public;
+    root  /Data/PE/yohobuy_pc/yohobuy/www.yohobuy.com/public;
 
     access_log /Data/logs/nginx/access_pc.yohobuy.com.log  fenxi;
-    error_log  /Data/logs/error.pc.yohobuy.com.log warn;
+    error_log  /Data/logs/error_pc.yohobuy.com.log warn;
+
+     # https key
+     include vhosts/location/yohobuypc_httpskey.conf;
 
      # static file
      include vhosts/location/yohobuypc_static.conf;
@@ -52,21 +163,34 @@ server
      # php
      include vhosts/location/yohobuypc_php.conf;
 
+     # node
+     include vhosts/location/yohobuypc_node443.conf;
+
+    location ~* /special_(\d+)_(.*)\.html$  {
+        return 301 http://$host$request_uri;
+    }
+
     location = /index.html {
-	    return 301 https://www.yohobuy.com/;
+        return 301 http://www.yohobuy.com/;
     }
 
     location ^~ /resource/getbanner {
         rewrite /resource/getbanner(.*)$ https://www.yohobuy.com/common/getbanner$1 permanent;
     }
 
-  location / {
-      proxy_redirect off;
-      proxy_pass http://yohobuy-pc;
-      proxy_set_header Host $host;
-      proxy_set_header X-Real-IP $remote_addr;
-      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
-      proxy_set_header Accept-Encoding "gzip";
+     #https flag, 1 means HTTPS, 0 means HTTP
+     set $httpsFlag 1;
+
+     location / {
+         if ($httpsFlag = 0) {
+             return 301 http://$host$request_uri;
+         }
+        proxy_redirect off;
+        proxy_pass http://yohobuy-pc;
+        proxy_set_header   Host   $host;
+        proxy_set_header   X-Real-IP  $remote_addr;
+        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
+        proxy_set_header   Accept-Encoding "gzip";
     }
 }
 
@@ -93,7 +217,7 @@ server
 {
      listen       80;
      server_name  huodong.yohobuy.com;
-     root  /Data/code/git/web/yohobuy/yohobuy/huodong.yohobuy.com/public;
+     root  /Data/PE/yohobuy_pc/yohobuy/huodong.yohobuy.com/public;
 
      access_log /Data/logs/nginx/access_pc.yohobuy.com.log  fenxi;
      error_log  /Data/logs/error_pc.yohobuy.com.log warn;
@@ -128,9 +252,13 @@ server
     ssl_certificate      /Data/local/nginx-1.8.0/conf/ssl/pc/server.pem;
     ssl_certificate_key  /Data/local/nginx-1.8.0/conf/ssl/pc/server.key;
 
+     root  /Data/PE/yohobuy_pc/yohobuy/huodong.yohobuy.com/public;
+
      access_log /Data/logs/nginx/access_pc.yohobuy.com.log  fenxi;
      error_log  /Data/logs/error_pc.yohobuy.com.log warn;
-     root  /Data/code/git/web/yohobuy/yohobuy/huodong.yohobuy.com/public;
+
+     # https key
+     include vhosts/location/yohobuypc_httpskey.conf;
 
      location ^~ /cuxiao {
         proxy_redirect off;
@@ -160,15 +288,37 @@ server
     listen   443 ssl;
 
     server_name  yohobuy.com;
-    ssl_certificate      /Data/local/nginx-1.8.0/conf/ssl/pc/server.pem;
-    ssl_certificate_key  /Data/local/nginx-1.8.0/conf/ssl/pc/server.key;
-
-    error_log  /Data/logs/error_pc.yohobuy.com.log warn;
-
-    # https key
-    include vhosts/location/yohobuypc_httpskey.conf;
+    ssl_certificate      /Data/local/nginx-1.8.0/conf/ssl/server.crt;
+    ssl_certificate_key  /Data/local/nginx-1.8.0/conf/ssl/server.key;
 
     location = / {
-        return 301 https://www.yohobuy.com/;
+        return 301 http://www.yohobuy.com/;
     }
 }
+
+server
+{
+     listen       80;
+     listen       443 ssl;
+     server_name  analytics.m.yohobuy.com;
+
+     ssl_certificate      /Data/local/nginx-1.8.0/conf/ssl/m.yohobuy.pem;
+     ssl_certificate_key  /Data/local/nginx-1.8.0/conf/ssl/m.yohobuy.key;
+     ssl_dhparam          /Data/local/nginx-1.8.0/conf/ssl/dhparam.pem;
+
+     ssl_prefer_server_ciphers  on;
+     ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
+     ssl_ciphers "ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:AES128-GCM-SHA256:AES256-GCM-SHA384:DES-CBC3-SHA";
+     ssl_session_tickets off;
+     ssl_session_cache shared:SSL:10m;
+
+    location /  {
+        proxy_redirect off;
+        proxy_pass http://yohobuy_analytics;
+        proxy_set_header   Host   $host;
+        proxy_set_header   X-Real-IP  $remote_addr;
+        proxy_set_header   X-Forwarded-For $http_x_forwarded_for;
+        proxy_set_header   Accept-Encoding "gzip";
+        proxy_set_header   http_referer  $http_referer;
+    }
+}
\ No newline at end of file
diff --git a/script/nginx/conf/vhost/testing/yohobuypc0707.conf b/script/nginx/conf/vhost/testing/yohobuypc0707.conf
new file mode 100644
index 0000000..9b73874
--- /dev/null
+++ b/script/nginx/conf/vhost/testing/yohobuypc0707.conf
@@ -0,0 +1,302 @@
+server
+{
+    listen       80;
+    server_name  www.yohobuy.com;
+    root  /Data/code/git/web/yohobuy/yohobuy/www.yohobuy.com/public;
+    error_log  /Data/logs/error_pc.yohobuy.com.log warn;
+
+     ############################################################## begin
+     # if the protocol is http, please open these configs, otherwise close these configs.
+     # exception, alwalys use http protocol
+     #include vhosts/location/yohobuypc_exception.conf;
+
+     # static file
+     #include vhosts/location/yohobuypc_static.conf;
+
+     # old idc
+     #include vhosts/location/yohobuypc_idc.conf;
+
+     # php
+     #include vhosts/location/yohobuypc_php.conf;
+
+     # node
+     #include vhosts/location/yohobuypc_node80.conf;
+     ############################################################## end
+
+     #https flag, 1 means HTTPS, 0 means HTTP
+     set $httpsFlag 1;
+
+     location / {
+         if ($httpsFlag = 1) {
+             return 301 https://$host$request_uri;
+         }
+
+        proxy_redirect off;
+        proxy_pass http://yohobuy-pc;
+        proxy_set_header   Host   $host;
+        proxy_set_header   X-Real-IP  $remote_addr;
+        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
+        proxy_set_header   Accept-Encoding "gzip";
+    }
+}
+
+server
+{
+    listen       80;
+    server_name  *.yohobuy.com;
+    root  /Data/code/git/web/yohobuy/yohobuy/www.yohobuy.com/public;
+
+    error_log  /Data/logs/error_pc.yohobuy.com.log warn;
+
+     ############################################################## begin
+     # if the protocol is http, please open these configs, otherwise close these configs.
+     # exception, alwalys use http protocol
+     #include vhosts/location/yohobuypc_exception.conf;
+
+     # static file
+     #include vhosts/location/yohobuypc_static.conf;
+
+     # old idc
+     #include vhosts/location/yohobuypc_idc.conf;
+
+     # php
+     #include vhosts/location/yohobuypc_php.conf;
+     ############################################################## end
+
+     #https flag, 1 means HTTPS, 0 means HTTP
+     set $httpsFlag 1;
+
+     location / {
+         if ($httpsFlag = 1) {
+             return 301 https://$host$request_uri;
+         }
+
+        proxy_redirect off;
+        proxy_pass http://yohobuy-pc;
+        proxy_set_header   Host   $host;
+        proxy_set_header   X-Real-IP  $remote_addr;
+        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
+        proxy_set_header   Accept-Encoding "gzip";
+    }
+}
+
+
+server
+{
+    listen       443;
+    server_name  www.yohobuy.com;
+
+    ssl_certificate      /Data/local/nginx-1.8.0/conf/ssl/server.crt;
+    ssl_certificate_key  /Data/local/nginx-1.8.0/conf/ssl/server.key;
+
+    root  /Data/code/git/web/yohobuy/yohobuy/www.yohobuy.com/public;
+
+    error_log  /Data/logs/error_pc.yohobuy.com.log warn;
+
+     # https key
+     include vhosts/location/yohobuypc_httpskey.conf;
+
+     ############################################################## begin
+     # if the protocol is https, please open these configs, otherwise close these configs.
+     # exception, alwalys use http protocol
+     include vhosts/location/yohobuypc_exception.conf;
+
+     # static file
+     include vhosts/location/yohobuypc_static.conf;
+
+     # old idc
+     include vhosts/location/yohobuypc_idc.conf;
+
+     # php
+     include vhosts/location/yohobuypc_php.conf;
+
+     # node
+     include vhosts/location/yohobuypc_node443.conf;
+     ############################################################## end
+
+     #https flag, 1 means HTTPS, 0 means HTTP
+     set $httpsFlag 1;
+
+     location / {
+         if ($httpsFlag = 0) {
+             return 301 http://$host$request_uri;
+         }
+        proxy_redirect off;
+        proxy_pass http://yohobuy-pc;
+        proxy_set_header   Host   $host;
+        proxy_set_header   X-Real-IP  $remote_addr;
+        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
+        proxy_set_header   Accept-Encoding "gzip";
+    }
+}
+
+server
+{
+    listen       443;
+    server_name  *.yohobuy.com;
+
+    ssl_certificate      /Data/local/nginx-1.8.0/conf/ssl/server.crt;
+    ssl_certificate_key  /Data/local/nginx-1.8.0/conf/ssl/server.key;
+
+    root  /Data/code/git/web/yohobuy/yohobuy/www.yohobuy.com/public;
+
+    error_log  /Data/logs/error_pc.yohobuy.com.log warn;
+
+     # https key
+     include vhosts/location/yohobuypc_httpskey.conf;
+
+     ############################################################## begin
+     # if the protocol is https, please open these configs, otherwise close these configs.
+     # exception, alwalys use http protocol
+     include vhosts/location/yohobuypc_exception.conf;
+
+     # static file
+     include vhosts/location/yohobuypc_static.conf;
+
+     # old idc
+     include vhosts/location/yohobuypc_idc.conf;
+
+     # php
+     include vhosts/location/yohobuypc_php.conf;
+     ############################################################## end
+
+     #https flag, 1 means HTTPS, 0 means HTTP
+     set $httpsFlag 1;
+
+     location / {
+         if ($httpsFlag = 0) {
+             return 301 http://$host$request_uri;
+         }
+        proxy_redirect off;
+        proxy_pass http://yohobuy-pc;
+        proxy_set_header   Host   $host;
+        proxy_set_header   X-Real-IP  $remote_addr;
+        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
+        proxy_set_header   Accept-Encoding "gzip";
+    }
+}
+
+server
+{
+     listen       80;
+     server_name   admin.yohobuy.com union.yohobuy.com;
+
+     error_log  /Data/logs/error_pc.yohobuy.com.log warn;
+
+     location / {
+        proxy_redirect off;
+        proxy_pass http://yohobuy-old-www;
+        proxy_set_header   Host   admin.yohobuy.com;
+        proxy_set_header   X-Real-IP  $remote_addr;
+        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
+        proxy_set_header   Accept-Encoding "gzip";
+     }
+}
+
+server
+{
+     listen       80;
+     server_name  huodong.yohobuy.com;
+     root  /Data/code/git/web/yohobuy/yohobuy/huodong.yohobuy.com/public;
+
+     error_log  /Data/logs/error_pc.yohobuy.com.log warn;
+
+     location ^~ /cuxiao {
+        proxy_redirect off;
+        proxy_pass http://yohobuy-pc;
+        proxy_set_header   Host   $host;
+        proxy_set_header   X-Real-IP  $remote_addr;
+        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
+        proxy_set_header   Accept-Encoding "gzip";
+    }
+
+    location / {
+        proxy_redirect off;
+        proxy_pass http://yohobuy-old-huodong;
+        proxy_set_header   Host   $host;
+        proxy_set_header   X-Real-IP  $remote_addr;
+        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
+        proxy_set_header   Accept-Encoding "gzip";
+    }
+
+     # static file
+     include vhosts/location/yohobuypc_static.conf;
+}
+
+server
+{
+     listen       443;
+     server_name  huodong.yohobuy.com;
+
+    ssl_certificate      /Data/local/nginx-1.8.0/conf/ssl/server.crt;
+    ssl_certificate_key  /Data/local/nginx-1.8.0/conf/ssl/server.key;
+
+     root  /Data/code/git/web/yohobuy/yohobuy/huodong.yohobuy.com/public;
+
+     error_log  /Data/logs/error_pc.yohobuy.com.log warn;
+
+     # https key
+     include vhosts/location/yohobuypc_httpskey.conf;
+
+     location ^~ /cuxiao {
+        proxy_redirect off;
+        proxy_pass http://yohobuy-pc;
+        proxy_set_header   Host   $host;
+        proxy_set_header   X-Real-IP  $remote_addr;
+        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
+        proxy_set_header   Accept-Encoding "gzip";
+    }
+
+    location / {
+        proxy_redirect off;
+        proxy_pass http://yohobuy-old-huodong;
+        proxy_set_header   Host   $host;
+        proxy_set_header   X-Real-IP  $remote_addr;
+        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
+        proxy_set_header   Accept-Encoding "gzip";
+    }
+
+     # static file
+     include vhosts/location/yohobuypc_static.conf;
+}
+
+server
+{
+    listen       80;
+    listen   443 ssl;
+
+    server_name  yohobuy.com;
+    ssl_certificate      /Data/local/nginx-1.8.0/conf/ssl/server.crt;
+    ssl_certificate_key  /Data/local/nginx-1.8.0/conf/ssl/server.key;
+
+    location = / {
+        return 301 http://www.yohobuy.com/;
+    }
+}
+
+server
+{
+     listen       80;
+     listen       443 ssl;
+     server_name  analytics.m.yohobuy.com;
+
+     ssl_certificate      /Data/local/nginx-1.8.0/conf/ssl/server.crt;
+     ssl_certificate_key  /Data/local/nginx-1.8.0/conf/ssl/server.key;
+     #ssl_dhparam          /Data/local/nginx-1.8.0/conf/ssl/dhparam.pem;
+
+     ssl_prefer_server_ciphers  on;
+     ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
+     ssl_ciphers "ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:AES128-GCM-SHA256:AES256-GCM-SHA384:DES-CBC3-SHA";
+     ssl_session_tickets off;
+     ssl_session_cache shared:SSL:10m;
+
+    location /  {
+        proxy_redirect off;
+        proxy_pass http://yohobuy_analytics;
+        proxy_set_header   Host   $host;
+        proxy_set_header   X-Real-IP  $remote_addr;
+        proxy_set_header   X-Forwarded-For $http_x_forwarded_for;
+        proxy_set_header   Accept-Encoding "gzip";
+        proxy_set_header   http_referer  $http_referer;
+    }
+}
\ No newline at end of file
diff --git a/script/nginx/conf/vhost/testing/yohobuywap.conf b/script/nginx/conf/vhost/testing/yohobuywap.conf
new file mode 100644
index 0000000..6c9c42d
--- /dev/null
+++ b/script/nginx/conf/vhost/testing/yohobuywap.conf
@@ -0,0 +1,252 @@
+server
+{
+    listen       80;
+    server_name   m.yohobuy.com nginx1.m.yohobuy.com;
+
+    access_log /Data/logs/nginx/access_wap.yohobuy.com.log  fenxi;
+    error_log  /Data/logs/error_wap.yohobuy.com.log warn;
+    root  /Data/PE/yohobuy_H5/yohobuy/m.yohobuy.com/public;
+
+     # old idc
+     include vhosts/location/yohobuywap_idc.conf;
+     # app
+     include vhosts/location/yohobuywap_app.conf;
+     # php
+     include vhosts/location/yohobuywap_php.conf;
+     # node
+     #include vhosts/location/yohobuywap_node.conf;
+     # static file
+     include vhosts/location/yohobuywap_static.conf;
+    
+     #https flag, 1 means HTTPS, 0 means HTTP
+     set $httpsFlag 1;
+    
+     location / {
+         if ($httpsFlag = 1) {
+             return 301 https://$host$request_uri; 
+         } 
+         
+        proxy_redirect off;
+        proxy_pass http://yohobuy;
+        proxy_set_header   Host   $host;
+        proxy_set_header   X-Real-IP  $remote_addr;
+        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
+        proxy_set_header   Accept-Encoding "gzip"; 
+    }   
+}
+
+
+server
+{
+     listen       443;
+     server_name  m.yohobuy.com;
+
+     ssl_certificate      /Data/local/nginx-1.8.0/conf/ssl/yohobuy.pem;
+     ssl_certificate_key  /Data/local/nginx-1.8.0/conf/ssl/yohobuy.key;
+
+     # https key
+     include vhosts/location/yohobuywap_httpskey.conf;
+
+     root  /Data/PE/yohobuy_H5/yohobuy/m.yohobuy.com/public;
+
+     access_log /Data/logs/nginx/access_wap.yohobuy.com.log  fenxi;
+     error_log  /Data/logs/error_wap.yohobuy.com.log warn;
+
+     # old idc
+     include vhosts/location/yohobuywap_idc.conf;
+     # app
+     include vhosts/location/yohobuywap_app.conf;
+     # php
+     include vhosts/location/yohobuywap_php.conf;
+     # node
+     include vhosts/location/yohobuywap_node.conf;
+     # static file
+     include vhosts/location/yohobuywap_static.conf;
+ 
+     #https flag, 1 means HTTPS, 0 means HTTP
+     set $httpsFlag 1;
+
+     location / {
+         if ($httpsFlag = 0) {
+             return 301 http://$host$request_uri;
+         }
+        proxy_redirect off;
+        proxy_pass http://yohobuy;
+        proxy_set_header   Host   $host;
+        proxy_set_header   X-Real-IP  $remote_addr;
+        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
+        proxy_set_header   Accept-Encoding "gzip";
+    }
+}
+
+server
+{
+   
+    listen       80;
+    server_name  guang.m.yohobuy.com;
+
+    access_log /Data/logs/nginx/access_wap.yohobuy.com.log  fenxi;
+    error_log  /Data/logs/error_wap.yohobuy.com.log warn;
+    root  /Data/PE/yohobuy_H5/yohobuy/m.yohobuy.com/public;
+
+     # static file
+     include vhosts/location/yohobuywap_static.conf;
+
+     # guang rss
+     location ^~  /rss {
+        proxy_redirect off;
+        proxy_pass http://yohobuy;
+        proxy_set_header   Host   $host;
+        proxy_set_header   X-Real-IP  $remote_addr;
+        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
+        proxy_set_header   Accept-Encoding "gzip";
+     }
+
+     location / {
+        proxy_redirect off;
+        proxy_pass http://yohobuy;
+        proxy_set_header   Host   $host;
+        proxy_set_header   X-Real-IP  $remote_addr;
+        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
+        proxy_set_header   Accept-Encoding "gzip";
+     }
+}
+
+server
+{
+    listen       80;
+    server_name  *.m.yohobuy.com;
+
+    access_log /Data/logs/nginx/access_wap.yohobuy.com.log  fenxi;
+    error_log  /Data/logs/error_wap.yohobuy.com.log warn;
+    
+    root  /Data/PE/yohobuy_H5/yohobuy/m.yohobuy.com/public;
+    # static file
+    include vhosts/location/yohobuywap_static.conf;
+
+      #https flag, 1 means HTTPS, 0 means HTTP
+     set $httpsFlag 1;
+
+     location / {
+         if ($httpsFlag = 1) {
+             return 301 https://$host$request_uri;
+         }
+        proxy_redirect off;
+        proxy_pass http://yohobuy;
+        proxy_set_header   Host   $host;
+        proxy_set_header   X-Real-IP  $remote_addr;
+        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
+        proxy_set_header   Accept-Encoding "gzip";
+    }
+}
+
+server
+{
+     listen       443;
+     server_name  *.m.yohobuy.com;
+
+     ssl_certificate      /Data/local/nginx-1.8.0/conf/ssl/m.yohobuy.pem;
+     ssl_certificate_key  /Data/local/nginx-1.8.0/conf/ssl/m.yohobuy.key;
+
+     # https key
+     include vhosts/location/yohobuywap_httpskey.conf;
+     
+     access_log /Data/logs/nginx/access_wap.yohobuy.com.log  fenxi;
+     error_log  /Data/logs/error_wap.yohobuy.com.log warn;
+
+     root  /Data/PE/yohobuy_H5/yohobuy/m.yohobuy.com/public;
+
+     # static file
+     include vhosts/location/yohobuywap_static.conf;
+
+     # idc old proxy. while login to write memcache and cookie (if need?)
+     location ^~ /Passport/session {
+        access_log /Data/logs/access.m.yohobuy.com.log  fenxi;
+        proxy_redirect off;
+        proxy_pass http://yohobuy_idc;
+        proxy_set_header   Host   mapi.yohobuy.com;
+        proxy_set_header   X-Real-IP  $remote_addr;
+        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
+        proxy_set_header   Accept-Encoding "gzip";
+     }
+     # guang rss
+     location ^~  /rss {
+        proxy_redirect off;
+        proxy_pass http://yohobuy;
+        proxy_set_header   Host   $host;
+        proxy_set_header   X-Real-IP  $remote_addr;
+        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
+        proxy_set_header   Accept-Encoding "gzip";
+     }
+
+     #https flag, 1 means HTTPS, 0 means HTTP
+     set $httpsFlag 1;
+
+     location / {
+         if ($httpsFlag = 0) {
+             return 301 http://$host$request_uri;
+         }
+        proxy_redirect off;
+        proxy_pass http://yohobuy;
+        proxy_set_header   Host   $host;
+        proxy_set_header   X-Real-IP  $remote_addr;
+        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
+        proxy_set_header   Accept-Encoding "gzip";
+    }
+}
+
+server
+{
+     listen       80;
+     server_name   cuxiao.m.yohobuy.com;
+
+     access_log /Data/logs/nginx/access_wap.yohobuy.com.log  fenxi;
+     error_log  /Data/logs/error_wap.yohobuy.com.log warn;
+
+     location / {
+        proxy_redirect off;
+        proxy_pass http://yohobuy_idc;
+        proxy_set_header   Host   cuxiao.m.yohobuy.com;
+        proxy_set_header   X-Real-IP  $remote_addr;
+        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
+        proxy_set_header   Accept-Encoding "gzip";
+     }
+}
+
+
+
+server
+{
+     listen       80;
+     listen       443 ssl;
+     server_name  analytics.m.yohobuy.com;
+     error_log /Data/logs/nginx/access_m_analytics_error.log  warn;
+     access_log /Data/logs/nginx/access_m_analytics.log fenxi;
+
+     ssl_certificate      /Data/local/nginx-1.8.0/conf/ssl/m.yohobuy.pem;
+     ssl_certificate_key  /Data/local/nginx-1.8.0/conf/ssl/m.yohobuy.key;
+     ssl_dhparam          /Data/local/nginx-1.8.0/conf/ssl/dhparam.pem;
+
+     ssl_prefer_server_ciphers  on;
+     ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
+     ssl_ciphers "ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:AES128-GCM-SHA256:AES256-GCM-SHA384:DES-CBC3-SHA";
+     ssl_session_tickets off;
+     ssl_session_cache shared:SSL:10m;
+
+    root  /Data/PE/yohobuy_H5/yohobuy/m.yohobuy.com/public;
+
+
+    location /  {
+        proxy_redirect off;
+        proxy_pass http://yohobuy_analytics;
+        proxy_set_header   Host   $host;
+        proxy_set_header   X-Real-IP  $remote_addr;
+        proxy_set_header   X-Forwarded-For $http_x_forwarded_for;
+        proxy_set_header   Accept-Encoding "gzip";
+        proxy_set_header   http_referer  $http_referer;
+    }
+
+}
+
+
+
diff --git a/template/www.yohobuy.com/actions/about/index/link.phtml b/template/www.yohobuy.com/actions/about/index/link.phtml
index a28e9e2..71dfcd2 100644
--- a/template/www.yohobuy.com/actions/about/index/link.phtml
+++ b/template/www.yohobuy.com/actions/about/index/link.phtml
@@ -16,11 +16,11 @@
             <br>
             <h2>文字链接:</h2>
             <ul>
-                <li><a href="http://www.kuaidi100.com" target="_blank">快递查询</a></li>
+                <li><a href="//www.kuaidi100.com" target="_blank">快递查询</a></li>
             </ul>
             <h2>图片链接:</h2>
             <ul class="linkpic">
-                <li><a href="http://www.yoho.cn" target="_blank"><img alt="YOHO!" src="http://static.yohobuy.com/images/links/yohocn.jpg"></a></li>
+                <li><a href="//www.yoho.cn" target="_blank"><img alt="YOHO!" src="//static.yohobuy.com/images/links/yohocn.jpg"></a></li>
             </ul>
         </div>
     </div>
diff --git a/template/www.yohobuy.com/actions/about/index/newpower.phtml b/template/www.yohobuy.com/actions/about/index/newpower.phtml
index 1e61de2..aff33c9 100644
--- a/template/www.yohobuy.com/actions/about/index/newpower.phtml
+++ b/template/www.yohobuy.com/actions/about/index/newpower.phtml
@@ -11,9 +11,9 @@
     </div>
     <div class="main-container">
         {{#if devEnv}}
-            <img src="http://webstatic.dev.yohobuy.com/img/about/aboutnewpower.jpg?random=1466056691"/>
+            <img src="//webstatic.dev.yohobuy.com/img/about/aboutnewpower.jpg?random=1466056691"/>
         {{^}}
-            <img src="http://cdn.yoho.cn/yohobuy/assets/img/about/aboutnewpower.jpg?random=1466056691"/>
+            <img src="//cdn.yoho.cn/yohobuy/assets/img/about/aboutnewpower.jpg?random=1466056691"/>
         {{/if}}
         <div class="text-info">
             <p style="font-family:微软雅黑; text-align:left;">
diff --git a/template/www.yohobuy.com/actions/about/index/yohobuy.phtml b/template/www.yohobuy.com/actions/about/index/yohobuy.phtml
index 392be6a..9af0b89 100644
--- a/template/www.yohobuy.com/actions/about/index/yohobuy.phtml
+++ b/template/www.yohobuy.com/actions/about/index/yohobuy.phtml
@@ -11,23 +11,23 @@
     </div>
     <div class="main-container">
         {{#if devEnv}}
-            <img src="http://webstatic.dev.yohobuy.com/img/about/about.jpg?random=1466056691" />
+            <img src="//webstatic.dev.yohobuy.com/img/about/about.jpg?random=1466056691" />
         {{^}}
-            <img src="http://cdn.yoho.cn/yohobuy/assets/img/about/about.jpg?random=1466056691" />
+            <img src="//cdn.yoho.cn/yohobuy/assets/img/about/about.jpg?random=1466056691" />
         {{/if}}
         <div class="text-info">
             <p style="font-family:微软雅黑; text-align:left;">
                 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;“YOHO!BUY 有货”——年轻人潮流购物中心,(
-                <a style=" font:#000;" href="http://www.yohobuy.com" target="_blank">www.yohobuy.com</a>
+                <a style=" font:#000;" href="//www.yohobuy.com" target="_blank">www.yohobuy.com</a>
                 )YOHO!BUY 有货为南京新与力文化传播有限公司旗下网上商城,目前是中国最大的潮流品牌商品销售平台之一。借助中国潮流产业的发展和YOHO!在平面媒体、网络社区、线下活动等产品的推广,从刚开始的零品牌合作发展到目前200多个品牌“入驻”销售,包括国际潮流品牌、港台知名品牌、内地原创品牌等。<br>
                 <br>
                 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;同样秉承YOHO!“年轻是种态度”的口号,YOHO!BUY 有货专注于中国潮流趋势和受众的需要,凭借专业的买手团队和对中国潮流趋势敏锐的嗅觉,积极开拓符合中国年轻人喜爱的品牌和商品。YOHO!BUY 有货所销售的品牌均与品牌直接签订销售协议,保持货品与国际国内实体店铺同步,并通过独家定制、限量货品等引领潮流消费。
             </p>
             <p>
                 {{#if devEnv}}
-                    <img src="http://webstatic.dev.yohobuy.com/img/about/about_yohobuy.jpg?random=1466056691" />
+                    <img src="//webstatic.dev.yohobuy.com/img/about/about_yohobuy.jpg?random=1466056691" />
                 {{^}}
-                    <img src="http://cdn.yoho.cn/yohobuy/assets/img/about/about_yohobuy.jpg?random=1466056691" />
+                    <img src="//cdn.yoho.cn/yohobuy/assets/img/about/about_yohobuy.jpg?random=1466056691" />
                 {{/if}}
             </p>
         </div>
diff --git a/template/www.yohobuy.com/actions/cart/index/cart.phtml b/template/www.yohobuy.com/actions/cart/index/cart.phtml
index e39d0a9..8ec20a8 100644
--- a/template/www.yohobuy.com/actions/cart/index/cart.phtml
+++ b/template/www.yohobuy.com/actions/cart/index/cart.phtml
@@ -353,7 +353,7 @@ var s = d.createElement("script");s.type = "text/javascript";s.async = true;s.sr
 var s0 = d.getElementsByTagName("script")[0];s0.parentNode.insertBefore(s, s0); 
 })(document);	 
 </script>
-<script type="text/javascript" src="http://static.criteo.net/js/ld/ld.js" async="true"></script>
+<script type="text/javascript" src="//static.criteo.net/js/ld/ld.js" async="true"></script>
 <script type="text/javascript">
 window.criteo_q = window.criteo_q || [];
 window.criteo_q.push(
diff --git a/template/www.yohobuy.com/actions/cart/index/order-ensure.phtml b/template/www.yohobuy.com/actions/cart/index/order-ensure.phtml
old mode 100644
new mode 100755
index ec7039a..ec7039a
--- a/template/www.yohobuy.com/actions/cart/index/order-ensure.phtml
+++ b/template/www.yohobuy.com/actions/cart/index/order-ensure.phtml
diff --git a/template/www.yohobuy.com/actions/home/message/message-content.phtml b/template/www.yohobuy.com/actions/home/message/message-content.phtml
index a6b4cd6..df3e5be 100644
--- a/template/www.yohobuy.com/actions/home/message/message-content.phtml
+++ b/template/www.yohobuy.com/actions/home/message/message-content.phtml
@@ -26,7 +26,7 @@
                                 <!-- 优惠券消息 -->
                                 <div class="coupon-item">
                                     <div class="coupon-img">
-                                        <img src="http://static.yohobuy.com/images/v2/activity/default_coupon.jpg">
+                                        <img src="//static.yohobuy.com/images/v2/activity/default_coupon.jpg">
                                     </div>
                                     <div class="coupon-info">
                                         <p>{{remark}}</p>
diff --git a/template/www.yohobuy.com/actions/home/orders/orders.phtml b/template/www.yohobuy.com/actions/home/orders/orders.phtml
old mode 100644
new mode 100755
index b9f63cd..6f8d2bb
--- a/template/www.yohobuy.com/actions/home/orders/orders.phtml
+++ b/template/www.yohobuy.com/actions/home/orders/orders.phtml
@@ -56,7 +56,7 @@
                 {{> home/pager}}
             </div>
 
-            {{> home/help-us}}
+            {{!> home/help-us}}
         </div>
     {{/ meOrders}}
 </div>
diff --git a/template/www.yohobuy.com/actions/home/returns/returns-apply.phtml b/template/www.yohobuy.com/actions/home/returns/returns-apply.phtml
old mode 100644
new mode 100755
index d9dc4de..b83042d
--- a/template/www.yohobuy.com/actions/home/returns/returns-apply.phtml
+++ b/template/www.yohobuy.com/actions/home/returns/returns-apply.phtml
@@ -13,7 +13,8 @@
                     {{# exchange}}
                         <div class="return-prompt">
                             换货须知:<br>
-                            <p>自您签收商品7日内可以退货,15日内可以换货,在商品不影响二次销售的情况下(包括产品吊牌和外包装),YOHO!BUY 有货将为您办理退换货服务,请在网站提交"退换货"申请。<span>特别提醒:非质量问题的退换货,来回运费由您承担。寄回商品时需垫付运费,到付件无法签收。</span>换货后VIP积分累计时间重新计算,以您收到换货订单后15个工作日累加,如有疑问,请致电客服电话:400-889-9646。</p>
+                            <p>自您签收商品7日内可以退货,15日内可以换货,在商品不影响二次销售的情况下(包括产品吊牌和外包装),YOHO!有货将为您办理退换货服务,请在网站提交"退换货"申请。<span>特别提醒:非质量问题的退换货,来回运费由您承担。寄回商品时需垫付运费,到付件无法签收。</span>换货后VIP积分累计时间重新计算,以您收到换货订单后15个工作日累加,如有疑问,请联系 <a
+                                    href="http://chat8.live800.com/live800/chatClient/chatbox.jsp?companyID=620092&configID=149091&jid=8732423409&info=" target="_blank"><i class="icon-onlineservice"></i> 在线客服</a></p>
                             {{# tips}}
                                 {{> home/return-tips}}
                             {{/ tips}}
@@ -43,6 +44,15 @@
                                     <td class="return-goods-info">
                                         <a href="{{href}}">{{name}}</a>
                                         <span>颜色:{{color}}    尺码:{{size}}</span>
+                                        {{#if specialNoticeBo}}
+                                        <div class="special-tip">
+                                            <span>{{specialNoticeBo.title}} <i class="doubt"></i></span>
+                                            <div class="special-content">
+                                                <span>{{specialNoticeBo.remark1}}<br/>{{specialNoticeBo.remark2}}</span>
+                                                <i class="arrow"></i>
+                                            </div>
+                                        </div>
+                                        {{/if}}
                                     </td>
 
                                     {{#if banMsg}}
@@ -79,7 +89,7 @@
                                             <option value="0">请选择换货原因</option>
                                             {{#with exchange}}
                                                 {{# reason}}
-                                                    <option value="{{id}}">{{name}}</option>
+                                                    <option value="{{id}}" {{#if inactive}}disabled{{/if}}>{{name}}</option>
                                                 {{/ reason}}
                                             {{/with}}
                                         </select>
@@ -135,7 +145,8 @@
                     {{# refund}}
                         <div class="return-prompt">
                             退货须知:<br>
-                            <p>自您签收商品7日内可以退货,15日内可以换货,在商品不影响二次销售的情况下(包括产品吊牌和外包装),YOHO!BUY 有货将为您办理退换货服务,请在网站提交"退换货"申请。如您退货之后无法满足购买时参加的活动条件,请您将赠品同时申请退货。<span>特别提醒:非质量问题的退换货,来回运费由您承担,寄回商品时需垫付运费,到付件无法签收,如有疑问,请致电客服电话:400-889-9646。</span></p>
+                            <p>自您签收商品7日内可以退货,15日内可以换货,在商品不影响二次销售的情况下(包括产品吊牌和外包装),YOHO!有货将为您办理退换货服务,请在网站提交"退换货"申请。如您退货之后无法满足购买时参加的活动条件,请您将赠品同时申请退货。<span>特别提醒:非质量问题的退换货,来回运费由您承担,寄回商品时需垫付运费,到付件无法签收,如有疑问,请联系 <a
+                                        href="http://chat8.live800.com/live800/chatClient/chatbox.jsp?companyID=620092&configID=149091&jid=8732423409&info=" target="_blank"><i class="icon-onlineservice"></i> 在线客服</a> </span></p>
                             {{# tips}}
                                 {{> home/returns-tips}}
                             {{/ tips}}
@@ -164,6 +175,15 @@
                                     <td class="return-goods-info">
                                         <a href="{{href}}">{{name}}</a>
                                         <span>颜色:{{color}}    尺码:{{size}}</span>
+                                        {{#if specialNoticeBo}}
+                                        <div class="special-tip">
+                                            <span>{{specialNoticeBo.title}} <i class="doubt"></i></span>
+                                            <div class="special-content">
+                                                <span>{{specialNoticeBo.remark1}}<br/>{{specialNoticeBo.remark2}}</span>
+                                                <i class="arrow"></i>
+                                            </div>
+                                        </div>
+                                        {{/if}}
                                     </td>
                                     <td class="refund-price">
                                         {{price}}
@@ -176,7 +196,7 @@
                                                 <option value="0">请选择退货原因</option>
                                                 {{#with refund}}
                                                     {{# reason}}
-                                                        <option value="{{id}}">{{name}}</option>
+                                                        <option value="{{id}}" {{#if inactive}}disabled{{/if}}>{{name}}</option>
                                                     {{/ reason}}
                                                 {{/with}}
                                             </select>
@@ -253,7 +273,7 @@
                     </div>
                 </div>
             </div>
-            {{> home/help-us}}
+            {{!> home/help-us}}
         </div>
     {{/ returns}}
 </div>
diff --git a/template/www.yohobuy.com/actions/home/returns/returns-detail.phtml b/template/www.yohobuy.com/actions/home/returns/returns-detail.phtml
old mode 100644
new mode 100755
index 62c9b7c..a20de14
--- a/template/www.yohobuy.com/actions/home/returns/returns-detail.phtml
+++ b/template/www.yohobuy.com/actions/home/returns/returns-detail.phtml
@@ -21,6 +21,11 @@
                             {{/ statusList}}
                         </ul>
                     </div>
+                    {{#if canCancelUrl}}
+                    <div class="cancel-return">
+                        如果您不想退货了,您可以 <a href="javascript:;" data-id="{{returnId}}" class="cancel-trigger" data-url="{{canCancelUrl}}">取消申请</a>
+                    </div>
+                    {{/if}}
                     <div class="detail-container">
                         {{# express}}
                             <h2>请填写寄回快递单号,以便我们查询</h2>
@@ -79,7 +84,7 @@
                     </div>
                 {{/ detail}}
             </div>
-            {{> home/help-us}}
+            {{!> home/help-us}}
         </div>
     {{/ returns}}
 </div>
diff --git a/template/www.yohobuy.com/actions/home/returns/returns.phtml b/template/www.yohobuy.com/actions/home/returns/returns.phtml
old mode 100644
new mode 100755
index 5deb641..df7ef92
--- a/template/www.yohobuy.com/actions/home/returns/returns.phtml
+++ b/template/www.yohobuy.com/actions/home/returns/returns.phtml
@@ -65,8 +65,9 @@
                                     <div class="return-status">
                                         {{returnStatus}}
                                     </div>
-                                    <div class="operation">
-                                         <a class="op-item" href="{{moreHref}}" target="_blank">查看详情</a>
+                                    <div class="operation {{#if canCancelUrl}}cancel-return{{/if}}">
+                                        {{#if canCancelUrl}}<a class="op-item cancel-trigger" href="javascript:;" data-id="{{returnId}}" data-url="{{canCancelUrl}}">取消申请</a>{{/if}}
+                                        <a class="op-item" href="{{moreHref}}" target="_blank">查看详情</a>
                                     </div>
                                 </div>
                             </div>
@@ -77,7 +78,7 @@
                 {{> home/pager}}
             </div>
 
-            {{> home/help-us}}
+            {{!> home/help-us}}
         </div>
     {{/ returns}}
 </div>
diff --git a/template/www.yohobuy.com/actions/index/download/app.phtml b/template/www.yohobuy.com/actions/index/download/app.phtml
index 590d822..2473235 100644
--- a/template/www.yohobuy.com/actions/index/download/app.phtml
+++ b/template/www.yohobuy.com/actions/index/download/app.phtml
@@ -9,22 +9,22 @@
     <div class="main-wrapper">
         {{#if devEnv}}
             <div class="intro intro-1">
-                <img src="http://webstatic.dev.yohobuy.com/img/download/intro-1.png?random=1466056691">
+                <img src="//webstatic.dev.yohobuy.com/img/download/intro-1.png?random=1466056691">
             </div>
             <div class="intro intro-2">
-                <img src="http://webstatic.dev.yohobuy.com/img/download/intro-2.png?random=1466056691">
+                <img src="//webstatic.dev.yohobuy.com/img/download/intro-2.png?random=1466056691">
             </div>
             <div class="intro intro-3">
-                <img src="http://webstatic.dev.yohobuy.com/img/download/intro-3.png?random=1466056691">
+                <img src="//webstatic.dev.yohobuy.com/img/download/intro-3.png?random=1466056691">
             </div>
             <div class="intro intro-4">
-                <img src="http://webstatic.dev.yohobuy.com/img/download/intro-4.png?random=1466056691">
+                <img src="//webstatic.dev.yohobuy.com/img/download/intro-4.png?random=1466056691">
             </div>
             <div class="intro intro-5">
-                <img src="http://webstatic.dev.yohobuy.com/img/download/intro-5.png?random=1466056691">
+                <img src="//webstatic.dev.yohobuy.com/img/download/intro-5.png?random=1466056691">
             </div>
             <div class="intro intro-6">
-                <img src="http://webstatic.dev.yohobuy.com/img/download/intro-6.jpg?random=1466056691">
+                <img src="//webstatic.dev.yohobuy.com/img/download/intro-6.jpg?random=1466056691">
                 <div class="bottom-down">
                     <div class="qr-code right"></div>
                     <a href="http://itunes.apple.com/us/app/id490655927?ls=1&amp;mt=8" target="_blank" class="down-app-btn down-btns"></a>
@@ -33,22 +33,22 @@
             </div>
         {{^}}
             <div class="intro intro-1">
-                <img src="http://cdn.yoho.cn/yohobuy/assets/img/download/intro-1.png?random=1466056691">
+                <img src="//cdn.yoho.cn/yohobuy/assets/img/download/intro-1.png?random=1466056691">
             </div>
             <div class="intro intro-2">
-                <img src="http://cdn.yoho.cn/yohobuy/assets/img/download/intro-2.png?random=1466056691">
+                <img src="//cdn.yoho.cn/yohobuy/assets/img/download/intro-2.png?random=1466056691">
             </div>
             <div class="intro intro-3">
-                <img src="http://cdn.yoho.cn/yohobuy/assets/img/download/intro-3.png?random=1466056691">
+                <img src="//cdn.yoho.cn/yohobuy/assets/img/download/intro-3.png?random=1466056691">
             </div>
             <div class="intro intro-4">
-                <img src="http://cdn.yoho.cn/yohobuy/assets/img/download/intro-4.png?random=1466056691">
+                <img src="//cdn.yoho.cn/yohobuy/assets/img/download/intro-4.png?random=1466056691">
             </div>
             <div class="intro intro-5">
-                <img src="http://cdn.yoho.cn/yohobuy/assets/img/download/intro-5.png?random=1466056691">
+                <img src="//cdn.yoho.cn/yohobuy/assets/img/download/intro-5.png?random=1466056691">
             </div>
             <div class="intro intro-6">
-                <img src="http://cdn.yoho.cn/yohobuy/assets/img/download/intro-6.jpg?random=1466056691">
+                <img src="//cdn.yoho.cn/yohobuy/assets/img/download/intro-6.jpg?random=1466056691">
                 <div class="bottom-down">
                     <div class="qr-code right"></div>
                     <a href="http://itunes.apple.com/us/app/id490655927?ls=1&amp;mt=8" target="_blank" class="down-app-btn down-btns"></a>
@@ -60,9 +60,9 @@
     <div class="foot-wrapper">
         <a href="http://app.yohoshow.com/" target="_blank">
             {{#if devEnv}}
-                <img src="http://webstatic.dev.yohobuy.com/img/download/main-bottom.jpg">
+                <img src="//webstatic.dev.yohobuy.com/img/download/main-bottom.jpg">
             {{^}}
-                <img src="http://cdn.yoho.cn/yohobuy/assets/img/download/main-bottom.jpg">
+                <img src="//cdn.yoho.cn/yohobuy/assets/img/download/main-bottom.jpg">
             {{/if}}
         </a>
     </div>
diff --git a/template/www.yohobuy.com/actions/index/error/index.phtml b/template/www.yohobuy.com/actions/index/error/index.phtml
index 7b3999e..d838557 100644
--- a/template/www.yohobuy.com/actions/index/error/index.phtml
+++ b/template/www.yohobuy.com/actions/index/error/index.phtml
@@ -6,7 +6,7 @@
         <p class="links">
             <a href="{{newProductLink}}">浏览新品</a>
             &nbsp;&nbsp;
-            <a href="http://www.yohobuy.com/">返回首页</a>
+            <a href="//www.yohobuy.com/">返回首页</a>
         </p>
     </div>
 </div>
diff --git a/template/www.yohobuy.com/actions/pay/notice/index.phtml b/template/www.yohobuy.com/actions/pay/notice/index.phtml
index fd419f5..d07dac0 100644
--- a/template/www.yohobuy.com/actions/pay/notice/index.phtml
+++ b/template/www.yohobuy.com/actions/pay/notice/index.phtml
@@ -50,9 +50,9 @@
     </p>
 
     {{#if devEnv}}
-    <img class="notice-img" src="http://webstatic.dev.yohobuy.com/img/pay/notice.jpg">
+    <img class="notice-img" src="//webstatic.dev.yohobuy.com/img/pay/notice.jpg">
     {{^}}
-    <img class="notice-img" src="http://cdn.yoho.cn/yohobuy/assets/img/pay/notice.jpg">
+    <img class="notice-img" src="//cdn.yoho.cn/yohobuy/assets/img/pay/notice.jpg">
     {{/if}}
     {{/ payNotice}}
 </div>
diff --git a/template/www.yohobuy.com/actions/pay/payreturn/index.phtml b/template/www.yohobuy.com/actions/pay/payreturn/index.phtml
index fd419f5..d07dac0 100644
--- a/template/www.yohobuy.com/actions/pay/payreturn/index.phtml
+++ b/template/www.yohobuy.com/actions/pay/payreturn/index.phtml
@@ -50,9 +50,9 @@
     </p>
 
     {{#if devEnv}}
-    <img class="notice-img" src="http://webstatic.dev.yohobuy.com/img/pay/notice.jpg">
+    <img class="notice-img" src="//webstatic.dev.yohobuy.com/img/pay/notice.jpg">
     {{^}}
-    <img class="notice-img" src="http://cdn.yoho.cn/yohobuy/assets/img/pay/notice.jpg">
+    <img class="notice-img" src="//cdn.yoho.cn/yohobuy/assets/img/pay/notice.jpg">
     {{/if}}
     {{/ payNotice}}
 </div>
diff --git a/template/www.yohobuy.com/actions/product/detail/index.phtml b/template/www.yohobuy.com/actions/product/detail/index.phtml
index 1246056..e60866f 100644
--- a/template/www.yohobuy.com/actions/product/detail/index.phtml
+++ b/template/www.yohobuy.com/actions/product/detail/index.phtml
@@ -466,7 +466,7 @@
                                 </span>
                                 <div class="captcha-row">
                                     <input class="captcha" type="text">
-                                    <img class="captcha-img" src="http://www.yohobuy.com/passport/images?g=consult">
+                                    <img class="captcha-img" src="//www.yohobuy.com/passport/images?g=consult">
                                     <span class="captcha-warn warn-tip hide">
                                         <i class="iconfont">&#xe62c;</i>
                                         <em>请输入验证码</em>
diff --git a/template/www.yohobuy.com/actions/product/item/index.phtml b/template/www.yohobuy.com/actions/product/item/index.phtml
index 0c1209d..fd658cc 100644
--- a/template/www.yohobuy.com/actions/product/item/index.phtml
+++ b/template/www.yohobuy.com/actions/product/item/index.phtml
@@ -667,7 +667,7 @@ var _goodsData = {
 	try {
 		var timestamp = (new Date()).valueOf();
         var view = document.createElement('img');
-        view.src = 'http://shopping.yohobuy.com/1.jpg?t='+timestamp;
+        view.src = '//shopping.yohobuy.com/1.jpg?t='+timestamp;
 	} catch (e) {}
 } )();
 </script>
diff --git a/template/www.yohobuy.com/actions/shop/settled/apply.phtml b/template/www.yohobuy.com/actions/shop/settled/apply.phtml
index 663899a..1fbdcd7 100644
--- a/template/www.yohobuy.com/actions/shop/settled/apply.phtml
+++ b/template/www.yohobuy.com/actions/shop/settled/apply.phtml
@@ -1,16 +1,16 @@
 {{> layout/header}}
 <div class="settled-apply-page yoho-page">
     {{#if devEnv}}
-        <img class="banner center-content" src="http://webstatic.dev.yohobuy.com/img/about/apply.png">
+        <img class="banner center-content" src="//webstatic.dev.yohobuy.com/img/about/apply.png">
     {{^}}
-        <img class="banner center-content" src="http://cdn.yoho.cn/yohobuy/assets/img/about/apply.png">
+        <img class="banner center-content" src="//cdn.yoho.cn/yohobuy/assets/img/about/apply.png">
     {{/if}}
     <div class="apply-body center-content">
         <div class="title">
             {{#if devEnv}}
-                <img class="edit-img" src="http://webstatic.dev.yohobuy.com/img/about/edit.png">
+                <img class="edit-img" src="//webstatic.dev.yohobuy.com/img/about/edit.png">
             {{^}}
-                <img class="edit-img" src="http://cdn.yoho.cn/yohobuy/assets/img/about/edit.png">
+                <img class="edit-img" src="//cdn.yoho.cn/yohobuy/assets/img/about/edit.png">
             {{/if}}
             <span>填写卖家信息:</span>
         </div>
@@ -144,9 +144,9 @@
                         <td>
                             {{> about/category}}
                             {{#if devEnv}}
-                                <img id="category-add" class="category-add add-btn" src="http://webstatic.dev.yohobuy.com/img/about/add.png">
+                                <img id="category-add" class="category-add add-btn" src="//webstatic.dev.yohobuy.com/img/about/add.png">
                             {{^}}
-                                <img id="category-add" class="category-add add-btn" src="http://cdn.yoho.cn/yohobuy/assets/img/about/add.png">
+                                <img id="category-add" class="category-add add-btn" src="//cdn.yoho.cn/yohobuy/assets/img/about/add.png">
                             {{/if}}
                         </td>
                     </tr>
@@ -255,9 +255,9 @@
                                     <input class="shop-sales-volume" name="store-sales-volume[]" type="text" placeholder="输入价格">
                                     元
                                     {{#if devEnv}}
-                                        <img class="shop-add add-btn" src="http://webstatic.dev.yohobuy.com/img/about/add.png">
+                                        <img class="shop-add add-btn" src="//webstatic.dev.yohobuy.com/img/about/add.png">
                                     {{^}}
-                                        <img class="shop-add add-btn" src="http://cdn.yoho.cn/yohobuy/assets/img/about/add.png">
+                                        <img class="shop-add add-btn" src="//cdn.yoho.cn/yohobuy/assets/img/about/add.png">
                                     {{/if}}
                                 </li>
                             </ul>
diff --git a/template/www.yohobuy.com/actions/shop/settled/settled.phtml b/template/www.yohobuy.com/actions/shop/settled/settled.phtml
index d0c448b..00569b6 100644
--- a/template/www.yohobuy.com/actions/shop/settled/settled.phtml
+++ b/template/www.yohobuy.com/actions/shop/settled/settled.phtml
@@ -2,25 +2,25 @@
 <div class="settled-page center-content yoho-page">
     <a href="/settled/apply">
         {{#if devEnv}}
-            <img class="banner" src="http://webstatic.dev.yohobuy.com/img/about/banner.jpg">
+            <img class="banner" src="//webstatic.dev.yohobuy.com/img/about/banner.jpg">
         {{^}}
-            <img class="banner" src="http://cdn.yoho.cn/yohobuy/assets/img/about/banner.jpg">
+            <img class="banner" src="//cdn.yoho.cn/yohobuy/assets/img/about/banner.jpg">
         {{/if}}
     </a>
     <div class="flow-container">
         {{#if devEnv}}
-            <img class="flow-path" src="http://webstatic.dev.yohobuy.com/img/about/flow.jpg">
+            <img class="flow-path" src="//webstatic.dev.yohobuy.com/img/about/flow.jpg">
         {{^}}
-            <img class="flow-path" src="http://cdn.yoho.cn/yohobuy/assets/img/about/flow.jpg">
+            <img class="flow-path" src="//cdn.yoho.cn/yohobuy/assets/img/about/flow.jpg">
         {{/if}}
         <div id="fake-link" class="fake-link"></div>
     </div>
     <div id="mask" class="mask hide"></div>
     <div id="notice-container" class="notice-container hide">
         {{#if devEnv}}
-            <img src="http://webstatic.dev.yohobuy.com/img/about/note.png?1461857729">
+            <img src="//webstatic.dev.yohobuy.com/img/about/note.png?1461857729">
         {{^}}
-            <img src="http://cdn.yoho.cn/yohobuy/assets/img/about/note.png?1461857729">
+            <img src="//cdn.yoho.cn/yohobuy/assets/img/about/note.png?1461857729">
         {{/if}}
         <div id="fake-close" class="fake-close"></div>
     </div>
diff --git a/template/www.yohobuy.com/actions/shopping/pay/index.phtml b/template/www.yohobuy.com/actions/shopping/pay/index.phtml
index ee8e47e..a7d339c 100644
--- a/template/www.yohobuy.com/actions/shopping/pay/index.phtml
+++ b/template/www.yohobuy.com/actions/shopping/pay/index.phtml
@@ -94,16 +94,16 @@
         /* ]]> */
     </script>
     <script type="text/javascript"
-            src="http://www.googleadservices.com/pagead/conversion.js">
+            src="//www.googleadservices.com/pagead/conversion.js">
     </script>
     <noscript>
         <div style="display: inline;">
             <img height="1" width="1" style="border-style: none;" alt=""
-                 src="http://www.googleadservices.com/pagead/conversion/959290965/?value=100&amp;label=n6GICNu3-AIQ1by2yQM&amp;guid=ON&amp;script=0"/>
+                 src="//www.googleadservices.com/pagead/conversion/959290965/?value=100&amp;label=n6GICNu3-AIQ1by2yQM&amp;guid=ON&amp;script=0"/>
         </div>
     </noscript>
 
-    <iframe name="StatPage" src="http://www.yohobuy.com/shopping/cart/stat?step=end&order_code={{orderNum}}" width=0
+    <iframe name="StatPage" src="//www.yohobuy.com/shopping/cart/stat?step=end&order_code={{orderNum}}" width=0
             height=0 style="display:none"></iframe>
 
     <!-- Google Code for &#35746;&#21333;&#23436;&#25104;&#39029;-&#25628;&#32034; Conversion Page -->
@@ -118,7 +118,7 @@
         /* ]]> */
     </script>
     <script type="text/javascript"
-            src="http://www.googleadservices.com/pagead/conversion.js">
+            src="//www.googleadservices.com/pagead/conversion.js">
     </script>
     <script type="text/javascript">
         _ozprm = "orderid={{orderNum}}";
@@ -126,7 +126,7 @@
     <noscript>
         <div style="display:inline;">
             <img height="1" width="1" style="border-style:none;" alt=""
-                 src="http://www.googleadservices.com/pagead/conversion/991392201/?value=0&amp;label=asUdCK_i0AQQyePd2AM&amp;guid=ON&amp;script=0"/>
+                 src="//www.googleadservices.com/pagead/conversion/991392201/?value=0&amp;label=asUdCK_i0AQQyePd2AM&amp;guid=ON&amp;script=0"/>
         </div>
     </noscript>
 
diff --git a/template/www.yohobuy.com/actions/shopping/pay/notneedpay.phtml b/template/www.yohobuy.com/actions/shopping/pay/notneedpay.phtml
index 2124761..d4b9494 100644
--- a/template/www.yohobuy.com/actions/shopping/pay/notneedpay.phtml
+++ b/template/www.yohobuy.com/actions/shopping/pay/notneedpay.phtml
@@ -13,7 +13,7 @@
 		<div class="not-pay">
 			<p class="success">恭喜你,购买完成,我们会尽快发货!</p>
 			<p>当订单发货后,你可以登录订单中心查询快递发货详情。</p>
-			<a href="http://www.yohobuy.com/">返回首页</a>
+			<a href="//www.yohobuy.com/">返回首页</a>
 		</div>
 
     </div>
diff --git a/template/www.yohobuy.com/partials/home/help-us.phtml b/template/www.yohobuy.com/partials/home/help-us.phtml
index b78b9a9..1db01fa 100644
--- a/template/www.yohobuy.com/partials/home/help-us.phtml
+++ b/template/www.yohobuy.com/partials/home/help-us.phtml
@@ -1,8 +1,8 @@
 <p class="help-us">
     {{#if devEnv}}
-        <img class="help-us-icon" src="http://webstatic.dev.yohobuy.com/img/home/help-us.svg">
+        <img class="help-us-icon" src="//webstatic.dev.yohobuy.com/img/home/help-us.svg">
     {{^}}
-        <img class="help-us-icon" src="http://cdn.yoho.cn/yohobuy/assets/img/home/help-us.svg">
+        <img class="help-us-icon" src="//cdn.yoho.cn/yohobuy/assets/img/home/help-us.svg">
     {{/if}}
     客服电话:400-889-9646 08:00-22:30(周一至周日)
 </p>
\ No newline at end of file
diff --git a/template/www.yohobuy.com/partials/home/order-block.phtml b/template/www.yohobuy.com/partials/home/order-block.phtml
old mode 100644
new mode 100755
index f1e41d6..87f3627
--- a/template/www.yohobuy.com/partials/home/order-block.phtml
+++ b/template/www.yohobuy.com/partials/home/order-block.phtml
@@ -17,7 +17,10 @@
             <div class="order" data-id="{{orderNum}}">
                 <p class="order-title">
                     订单编号:{{orderNum}}
-                    <span class="right">下单时间:{{orderTime}}</span>
+                    <span class="order-time">下单时间:{{orderTime}}</span>
+                    {{#if canDelete}}
+                    <a class="right order-delete" href="javascript:;">删除订单</a>
+                    {{/if}}
                 </p>
                 <div class="order-wrap">
                     <ul>
@@ -30,7 +33,7 @@
                                     </a>
                                     <div class="text-info">
                                         {{#if refundStatus}}
-                                            <span class="had-refund">已退换</span>
+                                        <a href="{{goRefundUrl}}"><span class="had-refund">已退换</span></a>
                                         {{/if}}
                                         <a class="name" href="{{href}}" target="_blank">{{name}}</a>
                                         <span class="color-size">
@@ -63,6 +66,9 @@
                     <div class="pay">
                         {{pay}}
                         <span class="pay-tip">(含快递:{{fregit}}元)</span>
+                        {{#if isExchanged}}
+                        <span class="return-order">换货订单</span>
+                        {{/if}}
                     </div>
                     <div class="order-status">
                         {{#if noPay}}
@@ -129,6 +135,9 @@
                                     {{/if}}
                                 {{/if}}
                             {{/if}}
+                            {{#if hasDelete}}
+                                <span class="op-item restore-order">还原订单</span>
+                            {{/if}}
                         {{/ operation}}
                     </div>
                 </div>
@@ -136,4 +145,5 @@
         {{/ orders}}
     {{/if}}
 </div>
-{{> home/order-cancel-tpl}}
\ No newline at end of file
+{{> home/order-cancel-tpl}}
+{{> home/order-delete-confirm}}
\ No newline at end of file
diff --git a/template/www.yohobuy.com/partials/home/tabs.phtml b/template/www.yohobuy.com/partials/home/tabs.phtml
old mode 100644
new mode 100755
index 31c84c1..cb6b062
--- a/template/www.yohobuy.com/partials/home/tabs.phtml
+++ b/template/www.yohobuy.com/partials/home/tabs.phtml
@@ -1,7 +1,9 @@
-<ul class="tabs clearfix">
-    {{# tabs}}
+<div class="tabs-wrapper">
+    <ul class="tabs clearfix">
+        {{# tabs}}
         <li {{#if active}}class="active"{{/if}}>
-            <a href="{{url}}">{{name}}</a>
+        <a href="{{url}}">{{name}}</a>
         </li>
-    {{/ tabs}}
-</ul>
\ No newline at end of file
+        {{/ tabs}}
+    </ul>
+</div>
diff --git a/template/www.yohobuy.com/partials/index/home-analysis.phtml b/template/www.yohobuy.com/partials/index/home-analysis.phtml
index 70419b0..2b8874a 100644
--- a/template/www.yohobuy.com/partials/index/home-analysis.phtml
+++ b/template/www.yohobuy.com/partials/index/home-analysis.phtml
@@ -1,7 +1,7 @@
 <script>
     window.onload = function() {
         var hm = document.createElement("script");
-        hm.src = "http://static.criteo.net/js/ld/ld.js";
+        hm.src = "//static.criteo.net/js/ld/ld.js";
         hm.async = 1;
         var s = document.getElementsByTagName("script")[0];
         s.parentNode.insertBefore(hm, s);
diff --git a/template/www.yohobuy.com/partials/layout/analysis.phtml b/template/www.yohobuy.com/partials/layout/analysis.phtml
index 5c1bb33..2b14391 100644
--- a/template/www.yohobuy.com/partials/layout/analysis.phtml
+++ b/template/www.yohobuy.com/partials/layout/analysis.phtml
@@ -18,27 +18,6 @@ var _gaq = _gaq || [];
             ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
             var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
         })();
-        (function() {
-            var hm = document.createElement("script");
-            hm.src = "//hm.baidu.com/hm.js?c6ee7218b8321cb65fb2e98f284d8311";
-            hm.async = 1;
-            var s = document.getElementsByTagName("script")[0];
-            s.parentNode.insertBefore(hm, s);
-        })();
-        (function() {
-            var hm = document.createElement("script");
-            hm.src = "//hm.baidu.com/hm.js?65dd99e0435a55177ffda862198ce841";
-            hm.async = 1;
-            var s = document.getElementsByTagName("script")[0];
-            s.parentNode.insertBefore(hm, s);
-        })();
-        (function() {
-            var hm = document.createElement("script");
-            hm.src = "http://static.yohobuy.com/js/analytics/analysis.js";
-            hm.async = 1;
-            var s = document.getElementsByTagName("script")[0];
-            s.parentNode.insertBefore(hm, s);
-        })();
     }
     if (window.addEventListener) {
         window.addEventListener('load', async_load, false);
diff --git a/template/www.yohobuy.com/partials/layout/footer.phtml b/template/www.yohobuy.com/partials/layout/footer.phtml
index 26d92c0..bc5e52a 100644
--- a/template/www.yohobuy.com/partials/layout/footer.phtml
+++ b/template/www.yohobuy.com/partials/layout/footer.phtml
@@ -1,22 +1,22 @@
     {{> layout/page-footer}}
     
     {{#if rlsEnv}}
-    <script src="http://cdn.yoho.cn/yohobuy/{{version}}/lib.js"></script>
-    <script src="http://cdn.yoho.cn/yohobuy/{{version}}/index.js"></script>
+    <script src="//cdn.yoho.cn/yohobuy/{{version}}/lib.js"></script>
+    <script src="//cdn.yoho.cn/yohobuy/{{version}}/index.js"></script>
     {{/if}}
     {{#if preEnv}}
-    <script src="http://cdn.yoho.cn/yohobuy/{{version}}/lib.js"></script>
-    <script src="http://cdn.yoho.cn/yohobuy/{{version}}/index-debug.js"></script>
+    <script src="//cdn.yoho.cn/yohobuy/{{version}}/lib.js"></script>
+    <script src="//cdn.yoho.cn/yohobuy/{{version}}/index-debug.js"></script>
     {{/if}}
     {{#if testEnv}}
-    <script src="http://cdn.yoho.cn/yohobuy/{{version}}/lib.js"></script>
-    <script src="http://cdn.yoho.cn/yohobuy/{{version}}/index-debug.js"></script>
+    <script src="//cdn.yoho.cn/yohobuy/{{version}}/lib.js"></script>
+    <script src="//cdn.yoho.cn/yohobuy/{{version}}/index-debug.js"></script>
     {{/if}}
     {{#if devEnv}}
-    <script src="http://localhost:8001/static/js/sea.js?nowrap"></script>
+    <script src="//localhost:8001/static/js/sea.js?nowrap"></script>
     <script>
         seajs.config({
-            base: 'http://localhost:8001/'
+            base: '//localhost:8001/'
         });
     </script>
     {{/if}}
diff --git a/template/www.yohobuy.com/partials/layout/header.phtml b/template/www.yohobuy.com/partials/layout/header.phtml
index 5406084..84eb1da 100644
--- a/template/www.yohobuy.com/partials/layout/header.phtml
+++ b/template/www.yohobuy.com/partials/layout/header.phtml
@@ -15,16 +15,16 @@
     <link rel="dns-prefetch" href="//img12.static.yhbimg.com">
     <link rel="dns-prefetch" href="//img13.static.yhbimg.com">
 {{#if rlsEnv}}
-    <link rel="stylesheet" href="http://cdn.yoho.cn/yohobuy/{{version}}/index.css">
+    <link rel="stylesheet" href="//cdn.yoho.cn/yohobuy/{{version}}/index.css">
 {{/if}}
 {{#if preEnv}}
-    <link rel="stylesheet" href="http://cdn.yoho.cn/yohobuy/{{version}}/index.css">
+    <link rel="stylesheet" href="//cdn.yoho.cn/yohobuy/{{version}}/index.css">
 {{/if}}
 {{#if testEnv}}
-    <link rel="stylesheet" href="http://cdn.yoho.cn/yohobuy/{{version}}/index.css">
+    <link rel="stylesheet" href="//cdn.yoho.cn/yohobuy/{{version}}/index.css">
 {{/if}}
 {{#if devEnv}}
-    <link rel="stylesheet" href="http://webstatic.dev.yohobuy.com/css/index.css">
+    <link rel="stylesheet" href="//webstatic.dev.yohobuy.com/css/index.css">
 {{/if}}
 </head>
 <body>
diff --git a/template/www.yohobuy.com/partials/layout/page-footer.phtml b/template/www.yohobuy.com/partials/layout/page-footer.phtml
index cd8cd00..ecc2632 100644
--- a/template/www.yohobuy.com/partials/layout/page-footer.phtml
+++ b/template/www.yohobuy.com/partials/layout/page-footer.phtml
@@ -15,25 +15,25 @@
                                 <ul class="two-dim clearfix">
                                     <li class="left">
                                         {{#if devEnv}}
-                                            <img class="dim-img lazy" data-original="http://webstatic.dev.yohobuy.com/img/index/qr-app.png">
+                                            <img class="dim-img lazy" data-original="//webstatic.dev.yohobuy.com/img/index/qr-app.png">
                                         {{^}}
-                                            <img class="dim-img lazy" data-original="http://cdn.yoho.cn/yohobuy/assets/img/index/qr-app.png">
+                                            <img class="dim-img lazy" data-original="//cdn.yoho.cn/yohobuy/assets/img/index/qr-app.png">
                                         {{/if}}
                                         <p>YOHO!BUY 有货</p>
                                     </li>
                                     <li class="left">
                                         {{#if devEnv}}
-                                            <img class="dim-img lazy" data-original="http://webstatic.dev.yohobuy.com/img/index/qr-weixin.png">
+                                            <img class="dim-img lazy" data-original="//webstatic.dev.yohobuy.com/img/index/qr-weixin.png">
                                         {{^}}
-                                            <img class="dim-img lazy" data-original="http://cdn.yoho.cn/yohobuy/assets/img/index/qr-weixin.png">
+                                            <img class="dim-img lazy" data-original="//cdn.yoho.cn/yohobuy/assets/img/index/qr-weixin.png">
                                         {{/if}}
                                         <p>微信</p>
                                     </li>
                                     <li class="left">
                                         {{#if devEnv}}
-                                            <img class="dim-img lazy" data-original="http://webstatic.dev.yohobuy.com/img/index/qr-weibo.png">
+                                            <img class="dim-img lazy" data-original="//webstatic.dev.yohobuy.com/img/index/qr-weibo.png">
                                         {{^}}
-                                            <img class="dim-img lazy" data-original="http://cdn.yoho.cn/yohobuy/assets/img/index/qr-weibo.png">
+                                            <img class="dim-img lazy" data-original="//cdn.yoho.cn/yohobuy/assets/img/index/qr-weibo.png">
                                         {{/if}}
                                         <p>微博</p>
                                     </li>
@@ -139,27 +139,27 @@
                                     <li>
                                         <a href="http://www.yohomars.com/" target="_blank">
                                             {{#if devEnv}}
-                                                <img class="lazy" data-original="http://webstatic.dev.yohobuy.com/img/index/mars.png">
+                                                <img class="lazy" data-original="//webstatic.dev.yohobuy.com/img/index/mars.png">
                                             {{^}}
-                                                <img class="lazy" data-original="http://cdn.yoho.cn/yohobuy/assets/img/index/mars.png">
+                                                <img class="lazy" data-original="//cdn.yoho.cn/yohobuy/assets/img/index/mars.png">
                                             {{/if}}
                                         </a>
                                     </li>
                                     <li>
                                         <a href="http://app.yohoshow.com/" target="_blank">
                                             {{#if devEnv}}
-                                                <img class="lazy" data-original="http://webstatic.dev.yohobuy.com/img/index/show.png">
+                                                <img class="lazy" data-original="//webstatic.dev.yohobuy.com/img/index/show.png">
                                             {{^}}
-                                                <img class="lazy" data-original="http://cdn.yoho.cn/yohobuy/assets/img/index/show.png">
+                                                <img class="lazy" data-original="//cdn.yoho.cn/yohobuy/assets/img/index/show.png">
                                             {{/if}}
                                         </a>
                                     </li>
                                     <li>
                                         <a href="http://www.yoho.cn/product#yoho" target="_blank">
                                             {{#if devEnv}}
-                                                <img class="lazy" data-original="http://webstatic.dev.yohobuy.com/img/index/yoho.png">
+                                                <img class="lazy" data-original="//webstatic.dev.yohobuy.com/img/index/yoho.png">
                                             {{^}}
-                                                <img class="lazy" data-original="http://cdn.yoho.cn/yohobuy/assets/img/index/yoho.png">
+                                                <img class="lazy" data-original="//cdn.yoho.cn/yohobuy/assets/img/index/yoho.png">
                                             {{/if}}
                                         </a>
                                     </li>
@@ -209,16 +209,16 @@
                                 <span>新手指南</span>
                             </p>
                             <p>
-                                <a href="http://www.yohobuy.com/help/?category_id=81#help_b00reg" target="_blank">注册登录</a>
+                                <a href="//www.yohobuy.com/help/?category_id=81#help_b00reg" target="_blank">注册登录</a>
                             </p>
                             <p>
-                                <a href="http://www.yohobuy.com/help/?category_id=83" target="_blank">选购商品</a>
+                                <a href="//www.yohobuy.com/help/?category_id=83" target="_blank">选购商品</a>
                             </p>
                             <p>
-                                <a href="http://www.yohobuy.com/help/?category_id=103" target="_blank">订单支付</a>
+                                <a href="//www.yohobuy.com/help/?category_id=103" target="_blank">订单支付</a>
                             </p>
                             <p>
-                                <a href="http://www.yohobuy.com/help/?category_id=85" target="_blank">收货退款</a>
+                                <a href="//www.yohobuy.com/help/?category_id=85" target="_blank">收货退款</a>
                             </p>
                         </li>
                         <li class="left">
@@ -226,16 +226,16 @@
                                 <span>会员中心</span>
                             </p>
                             <p>
-                                <a href="http://www.yohobuy.com/help/?category_id=87" target="_blank">YOHO币</a>
+                                <a href="//www.yohobuy.com/help/?category_id=87" target="_blank">YOHO币</a>
                             </p>
                             <p>
-                                <a href="http://www.yohobuy.com/help/?category_id=91" target="_blank">会员制度</a>
+                                <a href="//www.yohobuy.com/help/?category_id=91" target="_blank">会员制度</a>
                             </p>
                             <p>
-                                <a href="http://www.yohobuy.com/help/?category_id=89" target="_blank">账户管理</a>
+                                <a href="//www.yohobuy.com/help/?category_id=89" target="_blank">账户管理</a>
                             </p>
                             <p>
-                                <a href="http://www.yohobuy.com/help/?category_id=93" target="_blank">密码管理</a>
+                                <a href="//www.yohobuy.com/help/?category_id=93" target="_blank">密码管理</a>
                             </p>
                         </li>
                         <li class="left">
@@ -243,16 +243,16 @@
                                 <span>购物指南</span>
                             </p>
                             <p>
-                                <a href="http://www.yohobuy.com/help/?category_id=95" target="_blank">全球购专区</a>
+                                <a href="//www.yohobuy.com/help/?category_id=95" target="_blank">全球购专区</a>
                             </p>
                             <p>
-                                <a href="http://www.yohobuy.com/help/?category_id=97" target="_blank">尺码选择</a>
+                                <a href="//www.yohobuy.com/help/?category_id=97" target="_blank">尺码选择</a>
                             </p>
                             <p>
-                                <a href="http://www.yohobuy.com/help/?category_id=99" target="_blank">发票</a>
+                                <a href="//www.yohobuy.com/help/?category_id=99" target="_blank">发票</a>
                             </p>
                             <p>
-                                <a href="http://www.yohobuy.com/help/?category_id=101" target="_blank">商品咨询</a>
+                                <a href="//www.yohobuy.com/help/?category_id=101" target="_blank">商品咨询</a>
                             </p>
                         </li>
                         <li class="left">
@@ -260,16 +260,16 @@
                                 <span>支付方式</span>
                             </p>
                             <p>
-                                <a href="http://www.yohobuy.com/help/?category_id=105" target="_blank">在线支付</a>
+                                <a href="//www.yohobuy.com/help/?category_id=105" target="_blank">在线支付</a>
                             </p>
                             <p>
-                                <a href="http://www.yohobuy.com/help/?category_id=107" target="_blank">货到付款</a>
+                                <a href="//www.yohobuy.com/help/?category_id=107" target="_blank">货到付款</a>
                             </p>
                             <p>
-                                <a href="http://www.yohobuy.com/help/?category_id=109" target="_blank">优惠券</a>
+                                <a href="//www.yohobuy.com/help/?category_id=109" target="_blank">优惠券</a>
                             </p>
                             <p>
-                                <a href="http://www.yohobuy.com/help/?category_id=111" target="_blank">YOHO币支付</a>
+                                <a href="//www.yohobuy.com/help/?category_id=111" target="_blank">YOHO币支付</a>
                             </p>
                         </li>
                         <li class="left">
@@ -277,16 +277,16 @@
                                 <span>配送方式</span>
                             </p>
                             <p>
-                                <a href="http://www.yohobuy.com/help/?category_id=113" target="_blank">配送时间</a>
+                                <a href="//www.yohobuy.com/help/?category_id=113" target="_blank">配送时间</a>
                             </p>
                             <p>
-                                <a href="http://www.yohobuy.com/help/?category_id=115" target="_blank">配送范围</a>
+                                <a href="//www.yohobuy.com/help/?category_id=115" target="_blank">配送范围</a>
                             </p>
                             <p>
-                                <a href="http://www.yohobuy.com/help/?category_id=119" target="_blank">顺丰速运</a>
+                                <a href="//www.yohobuy.com/help/?category_id=119" target="_blank">顺丰速运</a>
                             </p>
                             <p>
-                                <a href="http://www.yohobuy.com/help/?category_id=117" target="_blank">商品验收与签收</a>
+                                <a href="//www.yohobuy.com/help/?category_id=117" target="_blank">商品验收与签收</a>
                             </p>
                         </li>
                         <li class="left">
@@ -294,16 +294,16 @@
                                 <span>售后服务</span>
                             </p>
                             <p>
-                                <a href="http://www.yohobuy.com/help/?category_id=121" target="_blank">退换货政策</a>
+                                <a href="//www.yohobuy.com/help/?category_id=121" target="_blank">退换货政策</a>
                             </p>
                             <p>
-                                <a href="http://www.yohobuy.com/help/?category_id=123" target="_blank">退换货流程</a>
+                                <a href="//www.yohobuy.com/help/?category_id=123" target="_blank">退换货流程</a>
                             </p>
                             <p>
-                                <a href="http://www.yohobuy.com/help/?category_id=125" target="_blank">退款方式与时效</a>
+                                <a href="//www.yohobuy.com/help/?category_id=125" target="_blank">退款方式与时效</a>
                             </p>
                             <p>
-                                <a href="http://www.yohobuy.com/help/?category_id=127" target="_blank">投诉与建议</a>
+                                <a href="//www.yohobuy.com/help/?category_id=127" target="_blank">投诉与建议</a>
                             </p>
                         </li>
                         <li class="left">
@@ -311,16 +311,16 @@
                                 <span>APP常见问题</span>
                             </p>
                             <p>
-                                <a href="http://www.yohobuy.com/help/?category_id=133" target="_blank">IPhone版</a>
+                                <a href="//www.yohobuy.com/help/?category_id=133" target="_blank">IPhone版</a>
                             </p>
                             <p>
-                                <a href="http://www.yohobuy.com/help/?category_id=135" target="_blank">Android版</a>
+                                <a href="//www.yohobuy.com/help/?category_id=135" target="_blank">Android版</a>
                             </p>
                             <p>
-                                <a href="http://www.yohobuy.com/help/?category_id=137" target="_blank">wap版</a>
+                                <a href="//www.yohobuy.com/help/?category_id=137" target="_blank">wap版</a>
                             </p>
                             <p>
-                                <a href="http://www.yohobuy.com/help/?category_id=139" target="_blank">IPAD版</a>
+                                <a href="//www.yohobuy.com/help/?category_id=139" target="_blank">IPAD版</a>
                             </p>
                         </li>
                     </ul>
@@ -331,27 +331,27 @@
             <div class="center-content clearfix">
                 <div class="left right-flag">
                     <a href="https://ss.knet.cn/verifyseal.dll?sn=e14021832010046477dka7000000&amp;ct=df&amp;a=1&amp;pa=0.5902942178957805" target="_blank" rel="nofollow">
-                        <img src="http://static.yohobuy.com/images/v3/icon/credit-flag3.png">
+                        <img src="//static.yohobuy.com/images/v3/icon/credit-flag3.png">
                     </a>
                     <a href="http://www.isc.org.cn/" target="_blank" rel="nofollow">
-                        <img src="http://static.yohobuy.com/images/v3/icon/isc2.png">
+                        <img src="//static.yohobuy.com/images/v3/icon/isc2.png">
                     </a>
                 </div>
                 <div class="left about-us">
                     <p>
-                        <a href="http://www.yohobuy.com">返回首页</a>
+                        <a href="//www.yohobuy.com">返回首页</a>
                         <span>|</span>
-                        <a href="http://www.yohobuy.com/yohobuy.html">YOHO!BUY 有货</a>
+                        <a href="//www.yohobuy.com/yohobuy.html">YOHO!BUY 有货</a>
                         <span>|</span>
-                        <a href="http://www.yohobuy.com/newpower.html">新力传媒</a>
+                        <a href="//www.yohobuy.com/newpower.html">新力传媒</a>
                         <span>|</span>
-                        <a href="http://www.yohobuy.com/contact.html">联系我们</a>
+                        <a href="//www.yohobuy.com/contact.html">联系我们</a>
                         <span>|</span>
-                        <a href="http://shop.yohobuy.com/settled">商家入驻</a>
+                        <a href="//shop.yohobuy.com/settled">商家入驻</a>
                         <span>|</span>
-                        <a href="http://www.yohobuy.com/privacy.html">隐私条款</a>
+                        <a href="//www.yohobuy.com/privacy.html">隐私条款</a>
                         <span>|</span>
-                        <a href="http://www.yohobuy.com/link.html">友情链接</a>
+                        <a href="//www.yohobuy.com/link.html">友情链接</a>
                     </p>
                     <p>
                         CopyRight © 2007-2016 南京新与力文化传播有限公司
diff --git a/template/www.yohobuy.com/partials/layout/page-header.phtml b/template/www.yohobuy.com/partials/layout/page-header.phtml
index bdc98bf..104f132 100644
--- a/template/www.yohobuy.com/partials/layout/page-header.phtml
+++ b/template/www.yohobuy.com/partials/layout/page-header.phtml
@@ -4,7 +4,7 @@
         <div class="header-top">
             <div class="leftpart float-left">
                 <span class="icon-hamburger"></span>
-                <a href="http://www.yohobuy.com" class="header-yoho" >YOHO!BUY 有货</a>
+                <a href="//www.yohobuy.com" class="header-yoho" >YOHO!BUY 有货</a>
                 <ul class="yohoproducts-list">
                     <li class="yohoproducts-item">
                         <a href="http://www.yoho.cn" class="yohogroup" en="YOHO!" cn="集团官网">YOHO!</a>
@@ -26,42 +26,42 @@
             <div class="rightpart">
                 <div id="loginBox" class="float-left">
                     <span class="hi">Hi~</span>
-                    <a href="http://www.yohobuy.com/signin.html" class="loginbar">[请登录]</a>
-                    <a href="http://www.yohobuy.com/reg.html" class="registbar">[免费注册]</a>
+                    <a href="//www.yohobuy.com/signin.html" class="loginbar">[请登录]</a>
+                    <a href="//www.yohobuy.com/reg.html" class="registbar">[免费注册]</a>
                 </div>
                 <div class="tag-list-wrapper">
                     <ul class="tag-list">
                         <li class="tag-item myyoho" id="myYohoBox">
                             <span class="tag-seprate"></span>
-                            <a href="http://www.yohobuy.com/home?t=1453340799.4986">MY有货</a>
+                            <a href="//www.yohobuy.com/home?t=1453340799.4986">MY有货</a>
                             <span class="icon-bottomarrow"></span>
                             <div class="myyoho-info"></div>
                         </li>
                         <li class="tag-item myorder">
                             <span class="tag-seprate"></span>
                             <span class="icon-papers"></span>
-                            <a href="http://www.yohobuy.com/home/orders?t=1453168898.0176">我的订单</a>
+                            <a href="//www.yohobuy.com/home/orders?t=1453168898.0176">我的订单</a>
                         </li>
                         <li class="tag-item mycollect">
                             <span class="tag-seprate"></span>
                             <span class="icon-heart"></span>
-                            <a href="http://www.yohobuy.com/home/favorite?t=1453168898.0176">我的收藏</a>
+                            <a href="//www.yohobuy.com/home/favorite?t=1453168898.0176">我的收藏</a>
                         </li>
                         <li class="tag-item message">
                             <span class="tag-seprate"></span>
                             <span class="icon-mail"></span>
-                            <a href="http://www.yohobuy.com/home/message?t=1453168898.0176">消息</a>
+                            <a href="//www.yohobuy.com/home/message?t=1453168898.0176">消息</a>
                         </li>
                         <li class="tag-item phone">
                             <span class="tag-seprate"></span>
                             <span class="icon-iphone"></span>
-                            <a href="http://www.yohobuy.com/download/app">手机版</a>
+                            <a href="//www.yohobuy.com/download/app">手机版</a>
                             <div class="qr">
                                 <div class="qr-img"></div>
                                 <h3 class="qr-words">扫描二维码</h3>
                                 <h3 class="qr-words">下载有货手机客户端</h3>
                                 <h3 class="qr-more">
-                                    <a href="http://www.yohobuy.com/download/app">更多客户端下载</a>
+                                    <a href="//www.yohobuy.com/download/app">更多客户端下载</a>
                                 </h3>
                             </div>
                         </li>
@@ -115,9 +115,9 @@
                                             </div>
                                         </div>
                                         <div class="showdetail" data-code="{{content_code}}">
-                                            <a href="http://list.yohobuy.com/?gender=1,3&amp;msort=8">
+                                            <a href="//list.yohobuy.com/?gender=1,3&amp;msort=8">
                                                 <img src="data:image/gif;base64,R0lGODlhAQABAJEAAAAAAP///93d3f///yH5BAEAAAMALAAAAAABAAEAAAICVAEAOw==" alt="" style=""></a>
-                                            <a class="title" href="http://list.yohobuy.com/?gender=1,3&amp;msort=8">热门小物优选</a>
+                                            <a class="title" href="//list.yohobuy.com/?gender=1,3&amp;msort=8">热门小物优选</a>
                                         </div>
                                     </div>
                                 </div>
@@ -130,10 +130,10 @@
                 {{/ navbars}}
             </ul>
             <div class="outlets-logo"></div>
-            <div class="icon-logo"><a href="http://www.yohobuy.com/" class="main-link"></a></div>
+            <div class="icon-logo"><a href="//www.yohobuy.com/" class="main-link"></a></div>
             <div class="header-tool float-right">
                 <div class="search float-left {{searchcate}}" >
-                    <form action="http://search.yohobuy.com" method="get" id="searchForm">
+                    <form action="//search.yohobuy.com" method="get" id="searchForm">
                         <span class="searchspan">
                             <input type="hidden" id="defaultsearch">
                             <input class="searchinput" type="text" name="query" id="query_key" autocomplete="off" x-webkit-speech="" lang="zh-CN" x-webkit-grammar="builtin:translate" value="" onfocus="if(this.value==this.defaultValue){this.value='';this.style.color='#333'}" onblur="if(this.value==''){this.value=this.defaultValue;this.style.color='#999'}" maxlength="30"></span>
@@ -210,7 +210,7 @@
     </div>
     <div class="gobuy-notempty-footer">
         <h3>
-            <a href="http://www.yohobuy.com/shopping/cart">去购物车结算</a>
+            <a href="//www.yohobuy.com/shopping/cart">去购物车结算</a>
         </h3>
     </div>
     \{\{/carData\}\}
@@ -218,7 +218,7 @@
     <script type="text/html" id="tmpl-my-login-new">
       <div class="myyoho-info-header clearfix">
         <div class="myyoho-photo" ><img src="\{\{headerimg head_ico\}\}" alt="" data-url =""></div>
-        <h3 class="user-email"><a href="http://www.yohobuy.com/home?t=\{\{random\}\}">\{\{profile_name\}\}</a></h3>
+        <h3 class="user-email"><a href="//www.yohobuy.com/home?t=\{\{random\}\}">\{\{profile_name\}\}</a></h3>
         <h3 class="user-level">
             VIP:
             <span class="leveldetail">\{\{vip.curVipInfo.title\}\}</span>
@@ -238,37 +238,37 @@
       <ul class="myyoho-info-content">
         <li class="item">
             <span class="itemdetail float-left">
-                <a href="http://www.yohobuy.com/home/orders?t=\{\{timestamp\}\}">待处理的订单</a>
+                <a href="//www.yohobuy.com/home/orders?t=\{\{timestamp\}\}">待处理的订单</a>
             </span>
             <span class="itemnum float-right">\{\{orderCount\}\}</span>
         </li>
         <li class="item">
             <span class="itemdetail float-left">
-                <a href="http://www.yohobuy.com/home/favorite?t=\{\{timestamp\}\}">我的收藏</a>
+                <a href="//www.yohobuy.com/home/favorite?t=\{\{timestamp\}\}">我的收藏</a>
             </span>
             <span class="itemnum float-right"></span>
         </li>
         <li class="item">
             <span class="itemdetail float-left">
-                <a href="http://www.yohobuy.com/home/coupons?t=\{\{timestamp\}\}">我的优惠券</a>
+                <a href="//www.yohobuy.com/home/coupons?t=\{\{timestamp\}\}">我的优惠券</a>
             </span>
             <span class="itemnum float-right">\{\{couponCount\}\}</span>
         </li>
         <li class="item">
             <span class="itemdetail float-left">
-                <a href="http://www.yohobuy.com/home/currency?t=\{\{timestamp\}\}">我的YOHO币</a>
+                <a href="//www.yohobuy.com/home/currency?t=\{\{timestamp\}\}">我的YOHO币</a>
             </span>
             <span class="itemnum float-right">\{\{YohocoinCount\}\}</span>
         </li>
         <li class="item">
             <span class="itemdetail float-left">
-                <a href="http://www.yohobuy.com/home/returns?t=\{\{timestamp\}\}">我的退货换货</a>
+                <a href="//www.yohobuy.com/home/returns?t=\{\{timestamp\}\}">我的退货换货</a>
             </span>
             <span class="itemnum float-right">\{\{refundCount\}\}</span>
         </li>
       </ul>
       <div class="myyoho-info-footer">
-        <a href="http://www.yohobuy.com/home/user?t=\{\{timestamp\}\}">完善资料</a>
+        <a href="//www.yohobuy.com/home/user?t=\{\{timestamp\}\}">完善资料</a>
       </div>
     </script>
 </div>
diff --git a/template/www.yohobuy.com/partials/shopping/box-buy-analysis.phtml b/template/www.yohobuy.com/partials/shopping/box-buy-analysis.phtml
index a3b13bc..48d0d28 100644
--- a/template/www.yohobuy.com/partials/shopping/box-buy-analysis.phtml
+++ b/template/www.yohobuy.com/partials/shopping/box-buy-analysis.phtml
@@ -25,7 +25,7 @@
         ga('myTracker.ecommerce:send');
     </script>
 
-    <script src="http://static.yohobuy.com/js/AG_Tracking.js?v=20121102"></script>
+    <script src="//static.yohobuy.com/js/AG_Tracking.js?v=20121102"></script>
     <script type="text/javascript">
         //请将js代码嵌入到html中body标签结束之前。(整个body部分最后边)
         var _agq = _agq || [];
diff --git a/web-static/dist/yohobuy/4.6.3/index-debug.js b/web-static/dist/yohobuy/4.6.3/index-debug.js
new file mode 100644
index 0000000..c52c517
--- /dev/null
+++ b/web-static/dist/yohobuy/4.6.3/index-debug.js
@@ -0,0 +1,18199 @@
+define("index", ["jquery","handlebars","source-map","index","lazyload","jquery-pjax","dot","jquery.placeholder"], function(require, exports, module){
+var webYohobuy;
+
+//通用
+require("js/common");
+
+//头部
+require("js/header");
+
+//简化头部
+require("js/simple-header");
+
+//商品(列表、搜索、商品详情)
+require("js/product/entry");
+
+//频道页
+require("js/index/index");
+
+//品牌一览
+require("js/brand/index");
+
+//登录注册找回密码
+require("js/passport/entry");
+
+//购物车
+require("js/cart/cart");
+
+//逛
+require("js/guang/entry");
+
+//个人中心
+require("js/home/entry");
+
+//帮助中心
+require("js/help/entry");
+
+//订单确认
+require("js/order/ensure");
+
+//商品支付
+require("js/shopping/pay");
+
+//微信扫码支付
+require("js/pay/wechatqrcode");
+
+//关于我们
+require("js/about/entry");
+
+//领券频道
+require("js/coupon/entry");
+
+module.exports = webYohobuy;
+
+});
+define("js/common", ["jquery"], function(require, exports, module){
+/**
+ * 页面公共逻辑和接口
+ * @author: xuqi<qi.xu@yoho.cn>
+ * @date: 2015/11/23
+ */
+var $ = require("jquery");
+
+
+var $body = $('body');
+
+require("js/footer");
+
+function cookie(name) {
+    var re = new RegExp(name + '=([^;$]*)', 'i'),
+        matchPattern = '$1';
+
+    return re.test(decodeURIComponent(document.cookie)) ? RegExp[matchPattern] : '';
+}
+
+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 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;
+}
+
+//YAS统计代码
+(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.17/yas.js', '_yas');
+
+(function() {
+    var uid = getUid();
+
+    uid = uid === 0 ? '' : uid;
+
+    window._ozuid = uid; //暴露ozuid
+
+    if (window._yas) {
+        window._yas(1 * new Date(), '1.0.17', 'yohobuy_web', uid, '', '');
+    }
+}());
+
+//window.resize在width<1180时适配成990
+$(window).on('resize', function() {
+    var w = $(this).width();
+
+    //return top
+    if (w < 1360) {
+        $('.return-top').addClass('min');
+    } else {
+        $('.return-top').removeClass('min');
+    }
+
+    //body
+    if (w < 1180) {
+        $body.addClass('min-screen');
+    } else {
+        $body.removeClass('min-screen');
+    }
+}).trigger('resize');
+
+function queryString() {
+    var vars = {},
+        hash,
+        i,
+        search = window.location.search,
+        hashes = search ? decodeURIComponent(search).slice(1).split('&') : [];
+
+    for (i = 0; i < hashes.length; i++) {
+        hash = hashes[i].split('=');
+        vars[hash[0]] = hash[1];
+    }
+    return vars;
+}
+
+// 给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;
+    }
+});
+
+//个人中心左侧栏头像加载失败后,显示默认头像
+(function() {
+    $(window).load(function() {
+        var thumb = document.getElementById('user-thumb');
+        var img;
+
+        if (!thumb) {
+            return;
+        }
+
+        img = new Image();
+
+        img.src = thumb.src;
+
+        img.onerror = function() {
+            $(thumb).parent().append('<div class="default-user-thumb"></div>').end().remove();
+        };
+    });
+}());
+
+window.cookie = cookie;
+
+window.setCookie = setCookie;
+
+window.getUser = getUser;
+
+window.getUid = getUid;
+
+window.getShoppingKey = getShoppingKey;
+
+window.queryString = queryString;
+
+});
+define("js/footer", ["jquery"], function(require, exports, module){
+/**
+ * 尾部
+ * @author: wangqing<robin.wang@yoho.cn>
+ * @date: 2015/12/01
+ */
+
+var $ = require("jquery");
+
+var $returnTop = $('.return-top');
+
+/**
+ * 订阅
+ * @return {[type]} [description]
+ */
+function actionSubscription() {
+    var $subscriberBox = $('#subscriber-box'),
+        $subscriberBtn = $('#subscriber-btn'),
+        emailReg = /^[.\-_a-zA-Z0-9]+@[\-_a-zA-Z0-9]+\.[a-zA-Z0-9]/;
+
+    var iconCode = {
+        mail: '&#xe61b;',
+        tick: '&#xe61a'
+    };
+
+    $subscriberBox.focus(function() {
+        $(this).val('').css('color', '');
+        $subscriberBtn.removeClass('done').html(iconCode.mail);
+    });
+
+    $subscriberBtn.click(function() {
+        var email = $.trim($subscriberBox.val());
+
+        if (email !== '' && emailReg.test(email)) {
+            try {
+                $.ajax({
+                    url: '//www.yohobuy.com/common/emailSubscriber',
+                    dataType: 'jsonp',
+                    data: {
+                        email: email,
+                        tmp: Math.random(),
+                        uid: window.getUid()
+                    },
+                    success: function(data) {
+                        if (data.data.result === 1) {
+                            $subscriberBox.val('已订阅到:' + email);
+                            $subscriberBtn.addClass('done').html(iconCode.tick);
+                        } else {
+                            $subscriberBox.css('color', 'red');
+                        }
+                    }
+                });
+            } catch (e) {
+                console.log(e.message);
+            }
+        } else {
+            $subscriberBox.css('color', 'red');
+        }
+    });
+}
+
+function actionhomeFootChange() {
+    var $vote = $('.vote'),
+        $feedBackPage = $('#feed-back-page'),
+        count = $vote.children('li').length;
+
+    //意见反馈
+    $feedBackPage.on('click', 'span', function() {
+        var $this = $(this);
+
+        if ($this.hasClass('cur')) {
+            return;
+        }
+
+        $this.siblings('.cur').removeClass('cur');
+        $this.addClass('cur');
+
+        $vote.children().not('.hide').addClass('hide')
+            .end()
+            .eq($this.index()).removeClass('hide');
+    });
+
+    $vote.on('click', '.feed-back-btn', function() {
+        var $this = $(this),
+            $li = $this.closest('li'),
+            index = $li.index(),
+            _solution = [];
+
+        var _answer = $li.find('.feedback-answer').val(),
+            _feedback = $li.find('.feedback-id').val(),
+            _question = $li.find('.question-id').val();
+
+        $li.find(':checked').each(function() {
+            _solution.push($(this).val());
+        });
+
+        $.ajax({
+            url: '//www.yohobuy.com/common/suggestFeedback',
+            dataType: 'jsonp',
+            data: {
+                feedback_id: _feedback || 0,
+                question_id: _question || 0,
+                answer: _answer || '',
+                solution: _solution.join(',')
+            },
+            success: function(data) {
+                var next = index + 1;
+
+                if (~~data.data.result === 1) {
+                    if (index === count - 1) {
+                        alert('感谢您的参与!');
+                        return;
+                    }
+
+                    $li.addClass('hide');
+
+                    $vote.children(':eq(' + (index + 1) + ')').removeClass('hide');
+                    $feedBackPage.children('.cur').removeClass('cur');
+                    $feedBackPage.children(':eq(' + next + ')').addClass('cur');
+                }
+            }
+        });
+    });
+}
+
+function rePosReturn() {
+    if ($(window).height() > $(document).height()) {
+        $returnTop.addClass('hide');
+    }
+
+    // 只在窗口高度大于文档高度的时候,隐藏返回顶部
+    // else {
+    //     $returnTop.removeClass('hide');
+    // }
+}
+
+//返回顶部
+$returnTop.click(function() {
+    $('html,body').animate({
+        scrollTop: 0
+    }, 500);
+});
+
+$(window).scroll(function() {
+    if ($(window).scrollTop() === 0) {
+        $returnTop.addClass('hide');
+    } else {
+        $returnTop.removeClass('hide');
+    }
+});
+
+//如果初始是隐藏的,监听图片加载,重新确定return-top的高度
+if ($returnTop.hasClass('hide')) {
+    $('img').load(rePosReturn);
+}
+
+//初始化
+actionSubscription();
+actionhomeFootChange();
+
+//暴露给有可能通AJAX改变内容的页面去用
+window.rePosReturnTop = rePosReturn;
+
+});
+define("js/header", ["jquery","handlebars","source-map","index"], function(require, exports, module){
+/**
+ * 头部
+ * @author: wangqing<robin.wang@yoho.cn>
+ * @date: 2015/12/01
+ */
+var $ = require("jquery");
+var handlebars = require("handlebars");
+var json2 = require("index");
+var vipInfoCombine = null; //用户信息编译模板
+var loginInfoCombine = null; //登录信息编译模板
+// var apiDomain = $('#api-domain').val(); //获取数据的地址
+var cartTpl = ''; //购物车模板
+/**
+ * 搜寻的时候过滤非法字符(+-/:等非法字符单独出现)
+ * @type {RegExp}
+ */
+var reg = /^[\^\!\+\-\(\)\:\[\]\\\{\}\~\*\?\|\&\;\/]{0,}$/g;
+var keyword = '';
+var link = '';
+var dataLayer = [];
+var requestFrame = null;
+var logoanimationstart = 0;
+var $logotrans = $('.icon-logo');
+var isen = true;
+var loopdurationtime = 500;
+var globaltimeout;
+var onetimeoout;
+var $loginBox = $('#loginBox');
+/**
+ * banner和地址的映射
+ * @type {Object}
+ */
+var bannerMap = {
+    listboys: '4f78b0f418fc42314d8b6e791cfb7fa8',
+    listgirls: '00c1f025a51b6b597dc37925951ea27d',
+    listkids: 'b02df11184727701ade1b6de9737d08c',
+    listlifestyle: 'fd35c52dced0c880976ba858346d1fc5',
+    searchboys: '9fb8986ea700cc27a8057361c3924394',
+    searchgirls: 'e3e207a1443ca60c8037fe52a5560c18',
+    searchkids: '620fc77f479da8feaeb06f2324e5d0bb',
+    searchlifestyle: 'a3c93301c6ffaf3ed0f36a4a451be36d',
+    uniquebrandboys: '2ebb0810c0d1a67e5229149c9c3aba7d',
+    uniquebrandgirls: '99e23385f4ba4b65f406b7e2968ac821',
+    uniquebrandkids: 'a74ebc9b17840c91b9ea46568111fe6b',
+    uniquebrandlifestyle: '0e8c81ead53f56302baa4d0ad967f527',
+    brandsboys: '77b352db07129c76a9d532acad149f9f',
+    brandsgirls: 'bf047f16e52ebc38be5ce9c7623831e6',
+    brandskids: 'e3ae1ce9b5e13c6d271ef3eccb831652',
+    brandslifestyle: 'e4ac8029c30f65d7f1af030980d140fe',
+    newboys: '869d3c5f3b450fb52101d00a61ce87cb',
+    newgirls: 'd953b6dfdac02483d1dcce8d96055954',
+    newkids: '0874cb6d75df8e0e78f2d475e53ecc08',
+    newlifestyle: '43e8fc8e178115c262bbce2bd0012db7',
+    saleboys: 'c846e3165c994769b4201d8c32f3ae9b',
+    salegirls: '52b1d389edcbc62d65de71b80c4d6ad0',
+    salekids: 'ad8b1703c761ba00973868ab5199cc27',
+    salelifestyle: '7acc64905c70ac91846f43fb2cec4bbd',
+    homeboys: 'b0856a771ef1b59ab1234c74688fa42d',
+    homegirls: '2bd61fa12e4933211518f70fe5ce3c48',
+    homekids: '895c59e8c64b40399c9533509507320c',
+    homelifestyle: '2e037d4e25d2767352ca3e0a4627f7bd',
+    indexboys: '0c911d3000f52e8ca7cffb74f5864c29',
+    indexgirls: 'b645b8980c423ab30485e0a9d08c2ef7',
+    indexkids: '17f6d5d5d454d2c507bc5fcbc90f7756',
+    indexlifestyle: '735cd393e841762af8793c346abbbc36'
+};
+var cookieMap = {};
+
+var bannerApi = '//new.yohobuy.com/common/getbanner?content_code=';
+
+$('#api-domain').remove(); //删除信息表单
+
+function getSource(column, postition, event) {
+    try {
+        dataLayer.push({
+            louceng: column,
+            weizhi: postition,
+            event: event
+        });
+    } catch (e) {}
+}
+
+
+window.submitSearch = function() {
+    var $keywordinput = $('#query_key').val();
+    var $defaultsearch = $('#defaultsearch').val();
+    var column = 'Search';
+    var postition = 'Head Search';
+    var event = 'Search';
+    var $formatkeyword,
+        $formatkeywordinput;
+
+    $formatkeyword = $.trim(keyword.toLowerCase());
+    $formatkeywordinput = $.trim($keywordinput.toLowerCase());
+    getSource(column, postition, event);
+    if (link !== '' && keyword !== '' && $formatkeyword === $formatkeywordinput) {
+        location.href = link.replace('\'', '');
+    } else {
+        if (reg.test($keywordinput) && $keywordinput !== '') {
+            location.href = '//search.yohobuy.com/error?query=' + $keywordinput + '&result=error';
+        } else {
+            if ($keywordinput === '') {
+                $('#query_key').val($defaultsearch);
+            }
+            $('#searchForm').submit();
+            return false;
+        }
+    }
+};
+/**
+ * 增加关键字
+ * @return {[type]} [description]
+ */
+function actionAddKeyWords() {
+    var $keywords = $('#nav_keyword').text();
+    var defaultsearch = 'vans';
+    var $querykey = $('#query_key');
+
+    if ($keywords !== '') {
+        $querykey.css({
+            color: '#000'
+        });
+        $querykey.val($keywords);
+    } else {
+        $querykey.css({
+            color: '#e0e0e0'
+        });
+        $querykey.val(defaultsearch);
+        $querykey.on('focus', function(e) {
+            $querykey.css({
+                color: '#000'
+            });
+            $querykey.val('');
+        });
+    }
+}
+/**
+ * 定义购物车扩展
+ */
+
+function actionGoodsCart() {
+    var defaults = {
+        cookie: '_g',
+        cartNum: ''
+    };
+    var params = '';
+    var cartInfo = '';
+    var queryNum = 0;
+    var listIndex = 0;
+    var tmpList = 0;
+    var totalNum = 0;
+    var text = '';
+
+    $.fn.miniCart = function(options) {
+        params = $.extend(defaults, options);
+        if (typeof window.cookie(params.cookie) === 'undefined') {
+            cartInfo = null;
+        } else {
+            if (params.cookie) {
+                try {
+                    cartInfo = json2.parse(window.cookie(params.cookie));
+                } catch (e) {
+
+                }
+
+            }
+
+        }
+        if (cartInfo !== null && cartInfo !== '') {
+            totalNum = parseInt(cartInfo._nac) + parseInt(cartInfo._ac);
+            if (totalNum === 0) {
+                $('#icart-num').attr('class', 'icart-num icart-none');
+            } else {
+                $('#icart-num').attr('class', 'icart-num');
+            }
+            $(params.cartNum).html(totalNum);
+        }
+    };
+    $.fn.search = function(searchDomain) {
+
+        function getKeywords(obj) {
+            var key = $.trim($(obj).val());
+
+            key = key.replace(new RegExp('\'', 'gm'), ''); //去掉特殊字符
+            if (key === '') {
+                $('.search-list').hide();
+                return false;
+            }
+            key = encodeURI(key);
+            $.get(searchDomain + '?query=' + key, function(htmlData) {
+                $('.search-list').html(htmlData.data);
+                queryNum = $('.search-list').children('li').length;
+                listIndex = -1;
+                if (queryNum > 0) {
+                    $('.search-list').show();
+                } else {
+                    $('.search-list').hide();
+                }
+                $('.search-list').find('a').hover(function() {
+                    $(this).css('background-color', '#eee');
+                }, function() {
+                    $(this).css('background-color', '#fff');
+                });
+            }, 'jsonp');
+        }
+
+        function getText(obj) {
+            $('.search-list li:eq(' + tmpList + ')').children('a').css('background-color', '#fff');
+            $('.search-list li:eq(' + listIndex + ')').children('a').css('background-color', '#eee');
+            text = $('.search-list li:eq(' + listIndex + ')').children('a').attr('title');
+            $('#query_key').val(text);
+        }
+        return this.each(function() {
+            $(this).keyup(function(event) {
+                if (event.which === 38) {
+                    if (queryNum === 0) {
+                        return false;
+                    }
+                    if (listIndex === -1) {
+                        listIndex = 0;
+                    }
+                    tmpList = listIndex;
+                    listIndex = (listIndex - 1 + queryNum) % queryNum;
+                    getText(this);
+                } else if (event.which === 40) {
+                    if (queryNum === 0) {
+                        return false;
+                    }
+                    tmpList = listIndex;
+                    listIndex = (listIndex + 1) % queryNum;
+                    getText(this);
+                } else if (event.which === 13) {
+                    window.submitSearch();
+                } else {
+                    getKeywords(this);
+                }
+            });
+        });
+    };
+    $.extend({
+        getData: function(domain, options, onSuccess) {
+            var defaults = {
+                page: 1,
+                method: '',
+                v: 1,
+                return_type: 'jsonp',
+                open_key: '12345',
+                tmp: Math.random()
+            };
+            var params = '';
+
+            if (typeof (domain) === undefined || domain === '') {
+                return false;
+            }
+            params = $.extend(defaults, options);
+            params.page = params.page || 1;
+
+            // if (params.method === '') {
+            //     return false;
+            // }
+
+            try {
+                $.getJSON(domain + '/?callback=?', params, function(_data) {
+                    if (onSuccess !== '') {
+                        if (typeof onSuccess(_data.data) !== 'undefined') {
+                            json2.parse(onSuccess(_data.data));
+                        }
+                        return false;
+                    }
+                });
+            } catch (e) {
+                console.log(e.message);
+            }
+        },
+        getShoppingKey: function() {
+            var shoppingInfo = window.cookie('_g');
+            var shoppingData = json2.parse(shoppingInfo);
+            var spk;
+
+            if (typeof shoppingInfo === 'undefined' || shoppingInfo === null) {
+                spk = window.cookie('_SPK');
+                return spk ? spk : '';
+            }
+            return shoppingData._k;
+        }
+    });
+}
+
+/**
+ * 时间戳
+ * @param  {[type]} v1       [description]
+ * @param  {[type]} options) {               if (v1 [description]
+ * @return {[type]}          [description]
+ */
+handlebars.registerHelper('timestamp', function() {
+    return new Date().getTime();
+});
+/**
+ * 头像
+ * @param  {[type]} v1       [description]
+ * @param  {[type]} options) {               if (v1 [description]
+ * @return {[type]}          [description]
+ */
+handlebars.registerHelper('headerimg', function(headerimg) {
+
+    if (headerimg === '') {
+        return '//img10.static.yhbimg.com/headimg/2013/11/28/09/01cae078abe5fe320c88cdf4c220212688.gif' +
+            '?imageView/2/w/100/h/100';
+    } else {
+        return headerimg;
+    }
+
+});
+/**
+ * 判断等级为3的helper
+ * @param  {[type]} v1       [description]
+ * @param  {[type]} options) {               if (v1 [description]
+ * @return {[type]}          [description]
+ */
+
+handlebars.registerHelper('equallevelthree', function(v1, options) {
+
+    if (v1 === '3') {
+        return options.fn(this);
+    } else {
+        return options.inverse(this);
+    }
+});
+
+/**
+ * 判断不为'0'的helper
+ * @param  {[type]} v1       [description]
+ * @param  {[type]} options) {               if (v1 [description]
+ * @return {[type]}          [description]
+ */
+
+handlebars.registerHelper('notzero', function(v1, options) {
+    if (v1 !== '0') {
+        return options.fn(this);
+    } else {
+        return options.inverse(this);
+    }
+});
+
+/**
+ * 获取头部banner的回调函数
+ * @param {[type]} data [description]
+ */
+function JsonPCallBack(data) {
+    var topbanner;
+
+    if (+data.code === 200) {
+        if (typeof data.data === 'object') {
+            if (data.data.url !== '') {
+                topbanner = '<a target="_blank" href="' + data.data.url + '" class="page-top-banner"' +
+                    'style="height:36px;border:none;background-image:url(' + window.unescape(data.data.src) + ');' +
+                    'background-position: center;display:block;">&nbsp;</a>';
+            } else {
+                topbanner = '<div class="yoho-notice">' +
+                    '<div class="notice-container center-content">' +
+                        '<h1 class="notice-title">关于系统升级的公告</h1>' +
+                        '<div class="notice-content">' +
+                            '<p class="tips">尊敬的顾客:</p>' +
+                            '<p class="detail">您好!为了向您提供更优质的服务,目前系统正在升级,请耐心等待。</p>' +
+                            '<p class="detail">系统升级期间,部分地区用户体验会有暂时中断,如遇紧急事宜,欢迎垂询客服热线:' +
+                            '400-889-9646 09:00-22:30(周一至周日)。稍后系统将恢复正常' +
+                            '使用,欢迎您继续光顾YOHO!BUY有货!带来不便之处深表歉意,请您谅解!</p>' +
+                        '</div>' +
+                    '</div>' +
+                '</div>';
+            }
+            $('body').prepend(topbanner);
+        }
+    }
+}
+
+window.JsonPCallBack = JsonPCallBack;
+
+
+/**
+ * 获得banner数据
+ * @param  {[string]} code [banner对应的编码]
+ * @return {[type]}      [description]
+ */
+function getBannerData(code) {
+    var script = document.createElement('script');
+
+    script.src = bannerApi + code + '&client_type=web&callback=JsonPCallBack';
+    document.getElementsByTagName('head')[0].appendChild(script);
+}
+
+/**
+ * 显示和隐藏
+ * @param  {[type]} sourceClass [description]
+ * @param  {[type]} targetClass [description]
+ * @return {[type]}             [description]
+ */
+function toggleDisplay(sourceClass, targetClass) {
+    var $that,
+        targetobj;
+
+    $(sourceClass).hover(function(e) {
+        e.preventDefault();
+        $that = $(this);
+        targetobj = $(targetClass)[0];
+        if (targetobj.style.display === '') {
+            $that.addClass('acttags');
+            targetobj.style.display = 'block';
+        } else {
+            $that.removeClass('acttags');
+            targetobj.style.display = '';
+        }
+    });
+}
+
+/**
+ * 执行顶部显示和隐藏
+ * @return {[type]} [description]
+ */
+function actionTopTagToggle() {
+    var tags = [{
+            sourceClass: '.myyoho',
+            targetClass: '.myyoho-info'
+        }, {
+            sourceClass: '.phone',
+            targetClass: '.qr'
+        }],
+        obj,
+        i;
+
+    for (i = 0; i < tags.length; i++) {
+        obj = tags[i];
+        toggleDisplay(obj.sourceClass, obj.targetClass);
+    }
+}
+/**
+ * 执行顶部群组鼠标交互
+ * @return {[type]} [description]
+ */
+function actionYoHoGroup() {
+    var $this;
+
+    $('.yohogroup').mouseenter(function() {
+        $this = $(this);
+        $this.text($this.attr('cn'));
+    });
+    $('.yohogroup').mouseleave(function() {
+        $this = $(this);
+        $this.text($this.attr('en'));
+    });
+}
+
+/**
+ * 检测是否支持css3的动画
+ * @return {Boolean} [description]
+ */
+function isSupportCss3Animation() {
+    var thisFunc,
+        prefixList = ['webkit', 'moz', 'ms'],
+        i;
+
+    for (i = 0; i < prefixList.length; i++) {
+        thisFunc = prefixList[i] + 'RequestAnimationFrame';
+        if (window[thisFunc]) {
+            return true;
+        } else {
+            return false;
+        }
+    }
+
+}
+/**
+ * css3动画
+ * @param  {Array}  ) {               var thisFunc, prefixList [description]
+ * @return {[type]}   [description]
+ */
+function requestFrameAct() {
+    var prefixList = ['webkit', 'moz', 'ms'];
+    var func1 = prefixList[0] + 'RequestAnimationFrame';
+    var func2 = prefixList[1] + 'RequestAnimationFrame';
+    var func3 = prefixList[2] + 'RequestAnimationFrame';
+
+    if (window[func1]) {
+        return function(callback) {
+            requestAnimationFrame(callback);
+        };
+    }
+    if (window[func2]) {
+        return function(callback) {
+            window[func2](callback);
+        };
+    }
+    if (window[func3]) {
+        return function(callback) {
+            window[func3](callback);
+        };
+    }
+    return function(callback) {
+        window.setTimeout(callback, 67);
+    };
+}
+
+
+/**
+ * css3动画
+ * @return {[type]} [description]
+ */
+
+function tsAnimate() {
+    logoanimationstart += 10;
+    $logotrans.css({
+        transform: 'rotateX(' + logoanimationstart + 'deg)',
+        '-webkit-transform': 'rotateX(' + logoanimationstart + 'deg)',
+        '-moz-transform': 'rotateX(' + logoanimationstart + 'deg)'
+    });
+    if (logoanimationstart / 90 % 2 === 1) {
+        if (isen) {
+            $logotrans.css('background-image', 'url(//static.yohobuy.com/newheader/img/logo1.png)');
+            isen = false;
+        } else {
+            $logotrans.css('background-image', 'url(//static.yohobuy.com/newheader/img/logo_e.png)');
+            isen = true;
+        }
+    }
+    if (logoanimationstart / 90 % 2 === 0 && logoanimationstart % 360 !== 0) {
+        window.setTimeout(tsAnimate, 3000);
+    } else {
+        if (logoanimationstart % 360 === 0) {
+            window.setTimeout(tsAnimate, 1 * 60 * 1000);
+        } else {
+            requestFrame(function() {
+                tsAnimate();
+            });
+        }
+    }
+}
+
+/**
+ * 淡出
+ * @return {[type]} [description]
+ */
+function fadeAnimate() {
+    if (globaltimeout) {
+        window.clearTimeout(globaltimeout);
+    }
+    $logotrans.fadeOut(loopdurationtime, function() {
+        isen = false;
+
+        $logotrans.css('background-image', 'url(//static.yohobuy.com/newheader/img/logo.png)');
+        $logotrans.fadeIn(loopdurationtime, function() {
+            onetimeoout = window.setTimeout(function() {
+                $logotrans.fadeOut(loopdurationtime, function() {
+                    window.clearTimeout(onetimeoout);
+                    isen = true;
+                    $logotrans.css('background-image',
+                        'url(//static.yohobuy.com/newheader/img/logo_e.png)');
+                    $logotrans.fadeIn(loopdurationtime, function() {
+                        globaltimeout = window.setTimeout(fadeAnimate, 1 * 60 * 1000);
+                    });
+                });
+            }, 3000);
+        });
+    });
+}
+/**
+ * 执行头部logo动画
+ * @return {[type]} [description]
+ */
+function actionTopLogoAnimate() {
+    if (isSupportCss3Animation()) {
+        requestFrame = requestFrameAct();
+        window.setTimeout(tsAnimate, 3000);
+    } else {
+        window.setTimeout(fadeAnimate, 3000);
+    }
+}
+window.newArr = [];
+window.wrapperindex = 0;
+window.gindex = 0;
+window.targetArr1 = [];
+window.targetArr2 = [];
+window.targetArr3 = [];
+window.oh1 = 0;
+window.oh2 = 0;
+window.oh3 = 0;
+window.valueIndex = 0;
+window.nowIndex = 0;
+window.inner1 = '';
+window.inner2 = '';
+window.inner3 = '';
+window.finalresult = '';
+
+function createNewArray(obj) {
+    var $thirdnavpanel = $(obj);
+
+    $thirdnavpanel.find('.thirdnavbar').each(function() {
+        var $that = $(this);
+        var $alink = $that.find('a');
+        var _href = $alink.attr('href');
+        var hottag = $alink.attr('hot') === 'hot' ? true : false;
+        var objt = {};
+
+        if ($that.hasClass('category-title')) {
+            objt = {
+                type: 'title',
+                height: 49,
+                content: $that.text(),
+                index: window.valueIndex,
+                href: _href,
+                hot: false
+            };
+        } else {
+            objt = {
+                type: 'catlist',
+                height: 36,
+                content: $alink.text(),
+                index: window.valueIndex,
+                href: _href,
+                hot: hottag
+            };
+        }
+        window.valueIndex++;
+        window.newArr.push(objt);
+    });
+}
+
+function createWrapper() {
+    var arrlength = window.newArr.length;
+    var i = 0;
+    var objnew = [];
+    var aobj = [];
+    var bobj = [];
+    var cobj = [];
+    var final1 = '',
+        final2 = '',
+        final3 = '';
+    var a = 0;
+    var b = 0;
+    var c = 0;
+
+    for (i; i < arrlength; i++) {
+        objnew = window.newArr[i];
+        if (window.gindex === 0) {
+            window.oh1 = (window.oh1 + objnew.height);
+            if (window.oh1 >= 340 && i !== (arrlength - 1)) {
+                window.targetArr1 = window.newArr.slice(0, objnew.index + 1);
+                window.nowIndex = objnew.index + 1;
+                window.gindex++;
+            }
+            if (i === (arrlength - 1)) {
+                window.targetArr1 = window.newArr.slice(0, arrlength + 1);
+                break;
+            }
+        }
+        if (window.gindex === 1) {
+            window.oh2 = (window.oh2 + objnew.height);
+            if (window.oh2 >= 340 && i !== (arrlength - 1)) {
+                window.targetArr2 = window.newArr.slice(window.nowIndex, objnew.index + 1);
+                window.nowIndex = objnew.index + 1;
+                window.gindex++;
+            }
+            if (i === (arrlength - 1)) {
+                window.targetArr2 = window.newArr.slice(window.nowIndex, arrlength + 1);
+                break;
+            }
+        }
+        if (window.gindex === 2) {
+            window.oh3 = (window.oh3 + objnew.height);
+            if (window.oh3 >= 340 && i !== (arrlength - 1)) {
+                window.targetArr3 = window.newArr.slice(window.nowIndex, objnew.index + 1);
+                window.nowIndex = objnew.index + 1;
+                window.gindex++;
+                break;
+            }
+            if (i === (arrlength - 1)) {
+                window.targetArr3 = window.newArr.slice(window.nowIndex, arrlength + 1);
+                break;
+            }
+        }
+    }
+    for (a; a < window.targetArr1.length; a++) {
+        aobj = window.targetArr1[a] || {};
+        if (aobj.type === 'title') {
+            window.inner1 = window.inner1 +
+                '<li class="cattitle"><h3><a  href="' +
+                aobj.href +
+                '">' +
+                aobj.content +
+                '</a></h3></li>';
+        } else {
+            if (aobj.hot === true) {
+                window.inner1 = window.inner1 +
+                    '<li class="catdetail"><a  class="thirdcatelink hot" href="' +
+                    aobj.href +
+                    '">' +
+                    aobj.content +
+                    '</a></li>';
+            } else {
+                window.inner1 = window.inner1 +
+                    '<li class="catdetail"><a  class="thirdcatelink" href="' +
+                    aobj.href + '">' +
+                    aobj.content +
+                    '</a></li>';
+            }
+
+        }
+    }
+    for (b; b < window.targetArr2.length; b++) {
+        bobj = window.targetArr2[b] || {};
+        if (bobj.type === 'title') {
+            window.inner2 = (window.inner2 +
+                '<li class="cattitle"><h3><a  href="' +
+                bobj.href + '">' +
+                bobj.content +
+                '</a></h3></li>');
+        } else {
+            if (bobj.hot === true) {
+                window.inner2 = (window.inner2 +
+                    '<li class="catdetail"><a  class="thirdcatelink hot" href="' +
+                    bobj.href + '">' + bobj.content + '</a></li>');
+            } else {
+                window.inner2 = (window.inner2 +
+                    '<li class="catdetail"><a  class="thirdcatelink" href="' +
+                    bobj.href + '">' + bobj.content + '</a></li>');
+            }
+
+        }
+    }
+    for (c; c < window.targetArr3.length; c++) {
+        cobj = window.targetArr3[c] || {};
+        if (cobj.type === 'title') {
+            window.inner3 = (window.inner3 +
+                '<li class="cattitle"><h3><a  href="' +
+                cobj.href +
+                '">' +
+                cobj.content +
+                '</a></h3></li>');
+        } else {
+            if (cobj.hot === true) {
+                window.inner3 = (window.inner3 +
+                    '<li class="catdetail"><a  class="thirdcatelink hot" href="' +
+                    cobj.href + '">' +
+                    cobj.content +
+                    '</a></li>');
+            } else {
+                window.inner3 = (window.inner3 +
+                    '<li class="catdetail"><a  class="thirdcatelink" href="' +
+                    cobj.href + '">' +
+                    cobj.content +
+                    '</a></li>');
+            }
+
+        }
+    }
+    if (window.inner1 !== '') {
+        final1 = '<ul class="cate_row1 cate_row">' +
+            window.inner1 +
+            '</ul>';
+    }
+    if (window.inner2 !== '') {
+        final2 = '<ul class="cate_row2 cate_row">' +
+            window.inner2 +
+            '</ul>';
+    }
+    if (window.inner3 !== '') {
+        final3 = '<ul class="cate_row3 cate_row">' +
+            window.inner3 +
+            '</ul>';
+    }
+    window.finalresult = final1 + final2 + final3;
+    $('#' + window.wrapperindex).empty().append(window.finalresult);
+}
+
+function actionNav() {
+    $('.categorywrapper').each(function(index) {
+        window.wrapperindex = $(this).attr('id');
+        window.newArr = [];
+        window.gindex = 0;
+        window.targetArr1 = [];
+        window.targetArr2 = [];
+        window.targetArr3 = [];
+        window.oh1 = 0;
+        window.oh2 = 0;
+        window.oh3 = 0;
+        window.valueIndex = 0;
+        window.nowIndex = 0;
+        window.inner1 = '';
+        window.inner2 = '';
+        window.inner3 = '';
+        createNewArray($(this).find('.category'));
+        createWrapper();
+    });
+}
+
+/**
+ * 获取三级导航的tip图标
+ * @return {[type]} [description]
+ */
+function actionTipPic() {
+    var tipscode = {};
+    var $contentcode = '';
+    var $img = '';
+    var $title = '';
+    var $link = '';
+    var logolink = '';
+
+    $(document).on('mouseenter', '.sub-nav-item', function() {
+        $contentcode = $(this).find('.showdetail').attr('data-code');
+        if ($contentcode) {
+            if (!tipscode[$contentcode]) {
+                tipscode[$contentcode] = $contentcode;
+                $img = $(this).find('.showdetail').find('img');
+                $title = $(this).find('.showdetail').find('.title');
+                $link = $(this).find('.showdetail').find('a');
+                $.get(bannerApi + $contentcode + '&width=337&height=250&client_type=web', function(rsdata) {
+                    $img.attr('src', rsdata.data.src);
+                    $link.attr('href', rsdata.data.url);
+                    $title.text(rsdata.data.title);
+                }, 'jsonp');
+            }
+        }
+    });
+    logolink = $('.cure').find('.name-cn').find('a').attr('href');
+    $('.main-link').attr('href', logolink);
+}
+
+
+
+function closeCover() {
+    var $cover = $('#cover');
+
+    $cover.remove();
+}
+/**
+ * 首次进入有弹窗
+ * @return {[type]} [description]
+ */
+function actionCover() {
+    var gender = window.cookie('_Gender');
+    var newMask = '';
+    var windowheight = '';
+    var selfheight = '';
+    var containertop;
+    var length = '';
+
+    if (window.location.host === 'www.yohobuy.com' &&
+        (typeof gender === 'undefined' || gender === '' || gender === null)) {
+        $.get('//www.yohobuy.com/index/guide', function(data) {
+            newMask = document.createElement('div');
+            newMask.id = 'cover';
+            newMask.innerHTML = data;
+            document.body.appendChild(newMask);
+            windowheight = $(window).height();
+            selfheight = $('.guide-box').height();
+            containertop = windowheight / 2 - selfheight / 2;
+            length = $('.guide-box .clear').find('li').length;
+            $('.guide-box').css({
+                width: (200 * length) + 'px',
+                top: containertop + 'px'
+            });
+            $('#cover').bind('click', function(event) {
+                window.setCookie('_Gender', '1,3', {
+                    path: '/',
+                    domain: '.yohobuy.com',
+                    expires: 90
+                });
+                window.setCookie('_Channel', 'boys', {
+                    path: '/',
+                    domain: '.yohobuy.com',
+                    expires: 7
+                });
+                closeCover();
+            });
+            $('#cover .guide-box .close').bind('click', function(event) {
+                getSource('弹窗', 'CLOSE', 'homepage_man');
+                window.setCookie('_Gender', '1,3', {
+                    path: '/',
+                    domain: '.yohobuy.com',
+                    expires: 90
+                });
+                window.setCookie('_Channel', 'boys', {
+                    path: '/',
+                    domain: '.yohobuy.com',
+                    expires: 7
+                });
+                closeCover();
+            });
+            $('.boys img , .boys .go').bind('click', function(event) {
+                getSource('弹窗', 'BOYS', 'homepage_man');
+                window.setCookie('_Gender', '1,3', {
+                    path: '/',
+                    domain: '.yohobuy.com',
+                    expires: 90
+                });
+                window.setCookie('_Channel', 'boys', {
+                    path: '/',
+                    domain: '.yohobuy.com',
+                    expires: 7
+                });
+                closeCover();
+            });
+            $('.girls img, .girls .go').bind('click', function(event) {
+                getSource('弹窗', 'GIRLS', 'homepage_woman');
+                window.setCookie('_Gender', '2,3', {
+                    path: '/',
+                    domain: '.yohobuy.com',
+                    expires: 90
+                });
+                window.setCookie('_Channel', 'girls', {
+                    path: '/',
+                    domain: '.yohobuy.com',
+                    expires: 7
+                });
+            });
+            $('.lifestyle img, .lifestyle .go').bind('click', function(event) {
+                window.setCookie('_Channel', 'lifestyle', {
+                    path: '/',
+                    domain: '.yohobuy.com',
+                    expires: 7
+                });
+                getSource('弹窗', 'LIEFSTYLE', 'homepage_lifestyle');
+            });
+            $('#cover .guide-box').bind('click', function(event) {
+                event.stopPropagation();
+            });
+        });
+    }
+}
+/**
+ * 查询跳转后保留关键字
+ * @return {[type]} [description]
+ */
+function actionAddKeyWords() {
+    var $keywords = $('#nav_keyword').text();
+    var defaultsearch = $('#defaultsearch').val();
+    var $querykey = $('#query_key');
+
+    if ($keywords !== '') {
+        $querykey.css({
+            color: '#000'
+        });
+        $querykey.val($keywords);
+    } else {
+        $querykey.css({
+            color: '#e0e0e0'
+        });
+        $querykey.val(defaultsearch);
+        $querykey.on('focus', function(e) {
+            $querykey.css({
+                color: '#000'
+            });
+            $querykey.val('');
+        });
+    }
+    $(document).click(function(e) {
+        if (!$(e.target).closest('.searchspan, .search-list').length) {
+            $('.search-list').hide();
+        }
+    });
+}
+
+
+/**
+ * cookie 初始化
+ * @return {[type]} [description]
+ */
+function actionInitCookie() {
+    var $cookieGender = window.cookie('_Gender');
+    var $target = $('.cure');
+
+    if (typeof $cookieGender !== 'undefined' && $cookieGender !== '') {
+        window.setCookie('_Gender', 1, {
+            path: '/',
+            domain: '.yohobuy.com',
+            expires: 7
+        });
+    }
+    if ($target.find('.name-cn a').text() === '男生') {
+        window.setCookie('_Gender', '1,3', {
+            path: '/',
+            domain: '.yohobuy.com',
+            expires: 7
+        });
+        window.setCookie('_Channel', 'boys', {
+            path: '/',
+            domain: '.yohobuy.com',
+            expires: 7
+        });
+    }
+    if ($target.find('.name-cn a').text() === '女生') {
+        window.setCookie('_Gender', '2,3', {
+            path: '/',
+            domain: '.yohobuy.com',
+            expires: 7
+        });
+
+        // window.setCookie('_Channel', 'girls', {
+        //     path: '/',
+        //     domain: '.yohobuy.com',
+        //     expires: 7
+        // });
+    }
+    if ($target.find('.name-cn a').text() === '创意生活') {
+        window.setCookie('_Channel', 'lifestyle', {
+            path: '/',
+            domain: '.yohobuy.com',
+            expires: 7
+        });
+    }
+    if ($target.find('.name-cn a').text() === '潮童') {
+        window.setCookie('_Channel', 'kids', {
+            path: '/',
+            domain: '.yohobuy.com',
+            expires: 7
+        });
+    }
+}
+/**
+ * 提前设置好频道的cookie
+ */
+function setChannelCookie() {
+    $('.first-nav-item').click(function() {
+        var _cookieGender = window.cookie('_Gender');
+
+        if (typeof _cookieGender !== 'undefined' && _cookieGender !== '') {
+            window.setCookie('_Gender', 1, {
+                path: '/',
+                domain: '.yohobuy.com',
+                expires: 7
+            });
+        }
+        if ($(this).find('.name-cn a').text() === '男生') {
+            window.setCookie('_Gender', '1,3', {
+                path: '/',
+                domain: '.yohobuy.com',
+                expires: 7
+            });
+            window.setCookie('_Channel', 'boys', {
+                path: '/',
+                domain: '.yohobuy.com',
+                expires: 7
+            });
+        }
+        if ($(this).find('.name-cn a').text() === '女生') {
+            window.setCookie('_Gender', '2,3', {
+                path: '/',
+                domain: '.yohobuy.com',
+                expires: 7
+            });
+            window.setCookie('_Channel', 'girls', {
+                path: '/',
+                domain: '.yohobuy.com',
+                expires: 7
+            });
+        }
+        if ($(this).find('.name-cn a').text() === '创意生活') {
+            window.setCookie('_Channel', 'lifestyle', {
+                path: '/',
+                domain: '.yohobuy.com',
+                expires: 7
+            });
+        }
+        if ($(this).find('.name-cn a').text() === '潮童') {
+            window.setCookie('_Channel', 'kids', {
+                path: '/',
+                domain: '.yohobuy.com',
+                expires: 7
+            });
+        }
+    });
+
+}
+/**
+ * cookie集合
+ * @type {Object}
+ */
+function actionExeCookieMap() {
+    var cookies = document.cookie;
+    var cookiearr = cookies.split(';');
+    var i;
+    var temparr;
+    var key;
+
+    for (i = 0; i < cookiearr.length; i++) {
+        temparr = cookiearr[i].split('=');
+        if (typeof temparr[0] !== 'undefined') {
+            key = temparr[0].replace(/\s/g, '');
+            cookieMap[key] = temparr[1];
+        }
+    }
+}
+
+
+/**
+ * 购物车商品数量
+ * @return {[type]} [description]
+ */
+function actionUpdateCartNum() {
+    $('#miniCartBox').miniCart({
+        cartNum: '.ic-infomation'
+    });
+}
+/**
+ * 加载购物车数据
+ * @return {[type]} [description]
+ */
+function loadCartData() {
+    var shoppingInfo,
+        shoppingData,
+        strK;
+
+    $.getData('//www.yohobuy.com/common/shoppingCart', '', function(jsonData) {
+        if (cartTpl === '') {
+            cartTpl = handlebars.compile($('#mini-cart-tpl').html());
+        }
+        $('#miniCartBox').children('.gobuy-wrapper').html(cartTpl({
+            carData: jsonData
+        }));
+        if (parseInt($('.ic-infomation').html()) === 0) {
+            $('#miniCartBox .gobuy-wrapper').html('<div class="gobuy-empty">' +
+                '<h3 class="information">您的购物车暂无商品</h3></div>');
+        }
+        if ($('#miniCartBox .goods-list li').length < 1) {
+            shoppingInfo = window.cookie('_g');
+            shoppingData = json2.parse(shoppingInfo);
+            if (shoppingData !== null) {
+                strK = '{"_k":"' + shoppingData._k + '","_nac":0' + ',"_ac":0,"_r":0}';
+                window.setCookie('_g', strK, {
+                    path: '/',
+                    domain: '.yohobuy.com'
+                });
+            }
+            $('.ic-infomation').html(0);
+            $('#miniCartBox .gobuy-wrapper').html('<div class="gobuy-empty">' +
+                '<h3 class="information">您的购物车暂无商品</h3></div>');
+        }
+    });
+}
+/**
+ * 删除购物车数据
+ * @param  {[type]}  id        [description]
+ * @param  {Boolean} isreduce [description]
+ * @return {[type]}            [description]
+ */
+function delCartGoods(productSku, promotionId, productNum) {
+
+    $.getData('//www.yohobuy.com/common/delCartGoods', {
+
+        // shopping_key: $.getShoppingKey(),
+        product_sku: productSku,
+        promotion_id: promotionId,
+        product_num: productNum
+    }, function(jsonData) {
+        var shoppingInfo = window.cookie('_g');
+        var shoppingData = json2.parse(shoppingInfo);
+        var strK = '{"_k":"' + shoppingData._k + '","_nac":' + jsonData.total_goods_num + ',"_ac":0,"_r":0}';
+
+        window.setCookie('_g', strK, {
+            path: '/',
+            domain: '.yohobuy.com'
+        });
+        loadCartData();
+        actionUpdateCartNum();
+    });
+}
+
+
+/**
+ * 监听购物车删除
+ * @return {[type]} [description]
+ */
+function actionListenDelCarGoods() {
+    var $delcargoods, productSku, promotionId, productNum;
+
+    $(document).on('click', '.goodscardelete', function(e) {
+        $delcargoods = $(this);
+        productSku = $delcargoods.attr('product_sku');
+        promotionId = $delcargoods.attr('promotion_id');
+        productNum = $delcargoods.prev('h3').find('.num').html();
+        delCartGoods(productSku, promotionId, productNum);
+    });
+}
+/**
+ * 监听点击更多打折商品
+ * @return {[type]} [description]
+ */
+function actionListenCartMore() {
+    var $morecart;
+
+    $(document).on('click', '.mycart_i_down', function(e) {
+        $morecart = $(this);
+        $morecart.toggleClass('mycart_i_up');
+        $('#mycartmore').slideToggle(300);
+    });
+}
+/**
+ * 点击购物车
+ * @return {[type]} [description]
+ */
+function actionClickMiniCartBox() {
+    var $target;
+    var shopcarurl = '//www.yohobuy.com/shopping/cart';
+
+    $('#miniCartBox').on('click', function(e) {
+        $target = $(e.target);
+        if ($target.hasClass('gobuy')) {
+            window.location.href = shopcarurl;
+        }
+    });
+}
+
+/**
+ * 显示购物车效果
+ * @param  {Boolean} isShow [description]
+ * @return {[type]}         [description]
+ */
+function showMiniCart(isShow) {
+    if (isShow === 1) {
+        $('#miniCartBox').addClass('list-cur');
+        $('.gobuy-wrapper').show();
+        if (parseInt($('.ic-infomation').html()) !== 0) {
+            $('#miniCartBox .gobuy-wrapper').html('<div class="gobuy-loading">' +
+                '<h3 class="information">加载中,请稍后</h3></div>');
+            loadCartData();
+        } else {
+            $('#miniCartBox .gobuy-wrapper').html('<div class="gobuy-empty">' +
+                '<h3 class="information">您的购物车暂无商品</h3></div>');
+        }
+    } else {
+        $('#miniCartBox').removeClass('list-cur');
+        $('.gobuy-wrapper').hide();
+    }
+}
+
+
+/**
+ * 鼠标购物车的滑入滑出效果
+ * @return {[type]} [description]
+ */
+function actionGoodsCarMouseEffect() {
+    var $target;
+
+    $('#miniCartBox').mouseenter(function(e) {
+        $target = $(e.target);
+        if ($target.attr('id') === 'miniCartBox' || $target.attr('class') === 'ic-infomation') {
+            showMiniCart(1);
+        }
+    });
+    $('#miniCartBox').mouseleave(function(e) {
+        showMiniCart(0);
+    });
+}
+/**
+ * 获得banner & 异常通知
+ * @return {[type]} [description]
+ */
+function actionGetBannerAndNotice() {
+    var INDEXKIDS = 'indexkids',
+        INDEXLIFESTYLE = 'indexlifestyle',
+        INDEXBOYS = 'indexboys',
+        INDEXWOMAN = 'indexgirls',
+        UNIQUEBRAND = 'uniquebrand';
+    var url = window.location.href;
+    var host = window.location.host;
+    var code = '';
+    var firstarea;
+
+    if (url.indexOf('search') !== -1) {
+        code = bannerMap['search' + cookieMap._Channel];
+    }
+    if (url.indexOf('list') !== -1) {
+        code = bannerMap['list' + cookieMap._Channel];
+    }
+    if (url.indexOf('brands') !== -1) {
+        code = bannerMap['brands' + cookieMap._Channel];
+    }
+    if (url.indexOf('new') !== -1) {
+        code = bannerMap['new' + cookieMap._Channel];
+    }
+    if (url.indexOf('sale') !== -1) {
+        code = bannerMap['sale' + cookieMap._Channel];
+    }
+    if (url.indexOf('home') !== -1) {
+        code = bannerMap['home' + cookieMap._Channel];
+    }
+    if (url.indexOf('kids') !== -1) {
+        code = bannerMap[INDEXKIDS];
+    }
+    if (url.indexOf('woman') !== -1 || url.indexOf('girls') !== -1) {
+        code = bannerMap[INDEXWOMAN];
+    }
+    if (url.indexOf('lifestyle') !== -1) {
+        code = bannerMap[INDEXLIFESTYLE];
+    }
+    if (url.indexOf('www.yohobuy.com') !== -1 && window.location.pathname === '/') {
+        code = bannerMap[INDEXBOYS];
+    }
+    firstarea = host.split('.')[0];
+    if (firstarea !== 'list' && firstarea !== 'search' && firstarea !== 'www' &&
+        firstarea !== 'new' && firstarea !== 'item' && firstarea !== 'guang') {
+        code = bannerMap[UNIQUEBRAND + cookieMap._Channel];
+    }
+
+    getBannerData(code); //获得banner信息
+
+}
+
+function brandSwitch(index) {
+    $('.hot-brands').find('ul').stop().animate({
+        opacity: 0,
+        'z-index': 1
+    }, 200).eq(index).animate({
+        opacity: 1,
+        'z-index': 2
+    }, 200);
+}
+/**
+ * 品牌左右切换
+ * @return {[type]} [description]
+ */
+function actionBrandChange() {
+    var activeIndex = 0,
+        swiperLen;
+
+    if ($('.hot-brands').size() > 0) {
+        swiperLen = $('.hot-brands').find('ul').size();
+        $('.hot-brands').find('ul').eq(0).css({
+            opacity: 1,
+            'z-index': 2
+        });
+        $('.brands-control').on('click', '.next', function() {
+            if (activeIndex === swiperLen - 1) {
+                activeIndex = 0;
+            } else {
+                activeIndex++;
+            }
+            brandSwitch(activeIndex);
+        });
+        $('.brands-control').on('click', '.prev', function() {
+            if (activeIndex === 0) {
+                activeIndex = swiperLen - 1;
+            } else {
+                activeIndex--;
+            }
+            brandSwitch(activeIndex);
+        });
+
+
+    }
+}
+/**
+ * 循环检测购物车数量
+ * @return {[type]} [description]
+ */
+function actionLoopUpdCartNum() {
+    setInterval(actionUpdateCartNum, 2000);
+}
+/**
+ * 处理模板
+ * @return {[type]} [description]
+ */
+function actionExeTemplate() {
+    var $goodcartempwarpper = $('#goodcartempwarpper');
+    var resulthtml = '';
+
+    if ($goodcartempwarpper) {
+        if ($goodcartempwarpper.html()) {
+            resulthtml = $('#goodcartempwarpper').html().replace(/\\/g, '');
+            $('#goodcartempwarpper').html(resulthtml);
+            vipInfoCombine = handlebars.compile($('#tmpl-my-login-new').html());
+        }
+    }
+}
+/**
+ * 执行搜索
+ * @return {[type]} [description]
+ */
+function actionSearch() {
+    var searchDomain = '//search.yohobuy.com/api/suggest';
+
+    $('#query_key').search(searchDomain);
+}
+/**
+ * 获取登录状态
+ * @return {[type]} [description]
+ */
+function actionLoginState(_data) {
+    var timestamp = new Date().getTime();
+    var noLoginHtml = '<span>Hi~</span>[<a href="//www.yohobuy.com/signin.html" class="list-a login-out ">' +
+        '请登录</a>]&nbsp;' +
+        '[<a href="//www.yohobuy.com/reg.html" class="list-a login-out" onclick="">免费注册</a>]';
+    var loginHtml = '<span>Hi~<a href="//www.yohobuy.com/home?t=' + timestamp +
+        '">{{user_name}}</a></span>&nbsp;' +
+        '{{#if islogin}}' +
+        '[<a href="{{logout}}" class="list-a login-out">退出</a>]' +
+        '{{/if}}{{#unless islogin}}' +
+        '[<a href="//www.yohobuy.com/signin.html" class="list-a login-out">请登录</a>]&nbsp;' +
+        '[<a href="//www.yohobuy.com/reg.html" onclick="" class="list-a login-out">免费注册</a>]' +
+        '{{/unless}}';
+    var $boxObj = $('#loginBox');
+    var info = window.cookie('_UID');
+    var name = _data.data.profile_name;
+    var _length = 0;
+    var t = 0;
+    var char = '';
+    var user = info.split('::');
+    var userName = user[0] || ' ';
+    var _logout = '//www.yohobuy.com/logout.html';
+    var islogin = '1';
+    var _num = 0;
+    var data = {
+        user_name: name,
+        logout: _logout,
+        random: Math.random()
+    };
+
+    $boxObj.html('').show();
+
+
+    loginInfoCombine = handlebars.compile(loginHtml);
+    if (typeof info === 'undefined' || info === null) {
+        $boxObj.html(noLoginHtml);
+        return false;
+    }
+    if (typeof user === 'undefined' || user.length < 4) {
+        $boxObj.html(noLoginHtml);
+        return false;
+    }
+
+    for (t; t < userName.length; t++) {
+        char = userName.substr(t, 1);
+        if (/.*[\u4e00-\u9fa5]+.*$/.test(char)) {
+            _length += 2;
+        } else {
+            _length += 1;
+        }
+    }
+    if (_length <= 10) {
+        name = userName;
+    } else {
+        _num = 0;
+        for (t; t < userName.length; t++) {
+            if (_num < 10) {
+                char = userName.substr(t, 1);
+                if (char !== '*') {
+                    if (/.*[\u4e00-\u9fa5]+.*$/.test(char)) {
+                        _num += 2;
+                    } else {
+                        _num += 1;
+                    }
+                }
+                name += char;
+            }
+        }
+        if (name.length < userName.length) {
+            name += '...';
+        }
+    }
+
+
+    if (/http:\/\//.test(user[3])) {
+        _logout = user[3].replace('www.yohobuy.com', 'www.yohobuy.com');
+    } else {
+        _logout = '//www.yohobuy.com/logout.html';
+    }
+    if (_data.result === -1) {
+        islogin = '-1';
+    }
+    data.islogin = islogin;
+    $boxObj.html(loginInfoCombine(data));
+}
+/**
+ * 获得vip用户信息
+ * @return {[type]} [description]
+ */
+function actionVipInfo(_data) {
+    var vipInfo = _data.data;
+    var headUrl = '';
+
+    if (_data.result === 1) {
+        if (typeof vipInfo === undefined || vipInfo.length < 1) {
+            return false;
+        }
+        if (vipInfo.vip.curVipInfo.curLevel === '3') {
+            vipInfo.vip3 = true;
+        }
+
+        $('#myYohoBox').mouseenter(function() {
+            $(this).addClass('acttags');
+            $('#myYohoBox .myyoho-info').show().html(vipInfoCombine(vipInfo));
+            headUrl = $('.myyoho-photo img').attr('data-url');
+            if ($._checkUrlState === 1) {
+                $('.myyoho-photo').show().find('img').attr('src', headUrl);
+                return;
+            }
+            if (headUrl === '' || $._checkUrl !== '') {
+                return;
+            }
+            $.ajax({
+                url: headUrl,
+                type: 'GET',
+                complete: function(response) {
+                    if (response.status === 200 || response.status === 0) {
+                        $('.myyoho-photo').show().find('img').attr('src', headUrl);
+                        $._checkUrlState = 1;
+                    }
+                    $._checkUrl = headUrl;
+                }
+            });
+        });
+        $('#myYohoBox').mouseleave(function() {
+            $(this).removeClass('acttags');
+            $('#myYohoBox .myyoho-info').hide();
+        });
+    }
+}
+/**
+ * 获取登录信息
+ * @return {[type]} [description]
+ */
+function actionLoginInfo() {
+    $.getData('//www.yohobuy.com/common/passport', '', function(_data) {
+        if (_data && _data.result !== -1) {
+            actionLoginState(_data); // 更改登录状态
+            actionVipInfo(_data); //获得vip;
+        } else {
+            window.setCookie('_UID', '', {
+                path: '/',
+                domain: '.yohobuy.com',
+                expires: -1
+            });
+            $loginBox.show();
+        }
+    });
+}
+/**
+ * 初始化函数
+ * @return {[type]} [description]
+ */
+function init() {
+    actionNav(); //处理导航
+    actionTipPic(); //鼠标移入后查询
+    actionExeTemplate(); //处理模板
+    actionCover(); //初次登录弹框
+    actionInitCookie(); //初始化cookie
+    setChannelCookie(); //设置频道缓存
+    actionExeCookieMap(); //格式化cookie
+    actionGoodsCart(); //初始化购物车插件
+    actionYoHoGroup(); // yoho集团鼠标效果
+    actionTopTagToggle(); // yoho上部分开关
+    actionTopLogoAnimate(); //yoho logo动画
+    actionGetBannerAndNotice(); // 获取banner和服务器维护提示
+    actionBrandChange(); //切换品牌
+    actionGoodsCarMouseEffect(); //鼠标滑入滑出效果
+    actionUpdateCartNum(); //更新购物车数量
+    actionLoopUpdCartNum(); //循环检测购物车数量
+    actionSearch(); //搜索执行
+    actionClickMiniCartBox(); //点击购物车跳转
+    actionListenDelCarGoods(); //监听购物车删除
+    actionListenCartMore(); //
+    actionLoginInfo(); //获取登录信息
+    actionAddKeyWords(); //增加关键字
+}
+init();
+});
+define("js/simple-header", ["jquery"], function(require, exports, module){
+var $ = require("jquery");
+
+var $apiDom = $('#api-domain');
+
+var apiDomain = $apiDom.val(); //获取数据的地址
+
+$apiDom.remove(); //删除API信息
+
+if ($('.simple-header').size() > 0) {
+    $('.tool-options').on('mouseenter', function() {
+        $(this).find('.tool-select').fadeIn();
+    }).on('mouseleave', function() {
+        $(this).find('.tool-select').fadeOut();
+    });
+}
+
+/**
+ * 格式化用户名
+ * @return {[type]} [description]
+ */
+function formatUsernName(userName) {
+    var name,
+        char,
+        _num = 0,
+        _length = 0,
+        t;
+
+    for (t = 0; t < userName.length; t++) {
+        char = userName.substr(t, 1);
+        if (/.*[\u4e00-\u9fa5]+.*$/.test(char)) {
+            _length += 2;
+        } else {
+            _length += 1;
+        }
+    }
+    if (_length <= 10) {
+        name = userName;
+    } else {
+        _num = 0;
+        name = '';
+        for (t = 0; t < userName.length; t++) {
+            if (_num < 10) {
+                char = userName.substr(t, 1);
+                if (char !== '*') {
+                    if (/.*[\u4e00-\u9fa5]+.*$/.test(char)) {
+                        _num += 2;
+                    } else {
+                        _num += 1;
+                    }
+                }
+                name += char;
+            }
+        }
+        if (name.length < userName.length) {
+            name += '...';
+        }
+    }
+    return name;
+}
+
+/**
+ * 设置简单头部登陆状态
+ * @return {[type]} [description]
+ */
+function setLoginStatus(data) {
+    var info = data.data,
+        loginHtml,
+        name;
+
+    if (data.result !== -1) {
+        name = formatUsernName(info.profile_name);
+        loginHtml = '<span>Hi~</span>' +
+                    '<a href="//www.yohobuy.com/home?t=' + info.random + '">' + name + '</a>&nbsp;' +
+                    '<a href="//www.yohobuy.com/logout.html">[退出]</a>';
+    } else {
+        loginHtml = '<span>Hi~</span>&nbsp;' +
+                    '<a href="//www.yohobuy.com/signin.html">[请登录]</a>&nbsp;' +
+                    '<a href="//www.yohobuy.com/reg.html">[免费注册]</a>';
+    }
+    $('.header-tool li').eq(0).html(loginHtml);
+}
+
+/**
+ * 获取登录信息
+ * @return {[type]} [description]
+ */
+function actionLoginInfo() {
+    var param = {
+            return_type: 'jsonp'
+        };
+
+    $.getJSON('//www.yohobuy.com/common/passport' + '/?callback=?', param, function(_data) {
+        if (_data && _data.data) {
+            setLoginStatus(_data.data);
+        }
+    });
+}
+
+actionLoginInfo(); //获取登录信息
+
+
+});
+define("js/product/entry", ["jquery","handlebars","source-map","lazyload","index","jquery-pjax"], function(require, exports, module){
+/**
+ * 商品页面打包入口文件
+ * @auhtor: xuqi<qi.xu@yoho.cn>
+ * @date: 2015/12/28
+ */
+
+require("js/product/list");
+
+require("js/product/brand");
+
+require("js/product/hotrank");
+
+require("js/product/item");
+
+require("js/product/shop-index");
+
+});
+define("js/product/list", ["jquery","handlebars","source-map","lazyload"], function(require, exports, module){
+/**
+ * 商品列表页
+ * @author: xuqi<qi.xu@yoho.cn>
+ * @date: 2015/11/23
+ */
+var $ = require("jquery");
+
+require("js/product/filter");
+
+require("js/product/sort-pager");
+
+require("js/product/latest-walk");
+
+require("js/product/product");
+
+(function() {
+    var $banner = $('.banner-img'),
+        img;
+
+    if ($banner.length === 0) {
+        return;
+    }
+
+    img = new Image();
+
+    //重置Banner高度
+    img.onload = function() {
+        if (img.height) {
+            $banner.height(img.height);
+        }
+
+        img = null;
+    };
+
+    //replace('"', '')为处理浏览器兼容性代码,部分浏览器中取得的字符串中包含""
+    img.src = $banner.css('background-image').replace(/"/g, '').slice(4, -1);
+}());
+
+});
+define("js/product/filter", ["jquery","handlebars","source-map"], function(require, exports, module){
+/**
+ * 商品筛选逻辑
+ * @author: xuqi<qi.xu@yoho.cn>
+ * @date: 2015/12/4
+ */
+
+var $ = require("jquery"),
+    Handlebars = require("handlebars");
+
+var checkUnicode = {
+    unchecked: '&#xe635;',
+    checked: '&#xe636;'
+},
+moreUnicode = {
+    up: '&#xe610;',
+    down: '&#xe600;'
+};
+
+//品牌相关变量
+var $brandDefault = $('.brand .default'),
+    $brandInput = $('#brand-search-input'),
+    $brandPanel = $('.brand .brand-panel'),
+    $brandAttrs = $brandPanel.find('.attr'),
+    $brandMore = $('#brand-more'),
+    $brandMulti = $('#brand-multi'),
+    $brandsIndex = $('.brands-index');
+
+var $brandMoreTxt, $brandMoreIcon;
+
+//价格相关变量
+var $udPrice = $('.ud-price-range'),
+    interReg = /^\d+$/,
+    $limit, $min, $max, $btn;
+
+//分类相关变量
+var $sortSub = $('.sort-sub-wrap');
+
+//高级选项相关变量
+var $seniorSubWrap = $('.senior-sub-wrap'),
+    $seniorAttrWrap = $('.senior-attr-wrap');
+
+var seniorHoverTime, hoveredIndex;
+
+// 尺寸 handlebars 模板
+var sizeTmpl = '{{# size}}<a class="attr {{#if checked}}checked{{/if}}" href="{{href}}">{{name}}</a>{{/ size}}',
+    sizeCache = {}, // 缓存一下尺寸信息
+    $sizeWrap = $('.filter-box .size');
+
+sizeTmpl = Handlebars.compile(sizeTmpl);
+
+//清除checkbox选中状态[页面默认checked不清空]
+function clearChecked($checkbox, $checked) {
+    $checkbox.each(function() {
+        if ($(this).closest('.attr').hasClass('checked')) {
+            return;
+        }
+        $(this).removeClass('checked').html(checkUnicode.unchecked);
+    });
+    $checked.find('.checkbox').addClass('checked').html(checkUnicode.checked);
+}
+
+//显示更多品牌面板
+function brandShowMore() {
+    $brandDefault.addClass('hide');
+    $brandPanel.removeClass('hide');
+}
+
+//隐藏更多品牌面板
+function brandHideMore() {
+    $brandPanel.addClass('hide');
+    $brandDefault.removeClass('hide');
+
+    //清除索引状态
+    $brandsIndex.children('span').removeClass('hover');
+}
+
+//url构造&跳转
+function uriLoc(attr, val) {
+    var qs = window.queryString(),
+        newHref;
+
+    qs[attr] = val;
+    delete qs.page;
+    newHref = '?' + decodeURIComponent($.param(qs));
+    window.location.href = newHref;
+}
+
+//隐藏高级选项面板
+function hideSeniorPanel(index) {
+    $seniorSubWrap.children('.senior-sub:eq(' + hoveredIndex + ')').addClass('hide');
+    $seniorAttrWrap.children('.attr:eq(' + hoveredIndex + ')').removeClass('hover');
+    hoveredIndex = -1;
+}
+
+//屏蔽筛选项双击文字选中
+$('.filter-box').on('selectstart', '.attr, .brands-index span', function() {
+    return false;
+});
+
+//【分类】
+$('.sort-pre').on('click', 'li', function() {
+    var $this = $(this),
+        index = $this.index(),
+        id = $this.data('id');
+
+    if ($this.hasClass('active')) {
+
+        // 选中时,再次点击取消选中
+        $this.removeClass('active');
+        $sortSub.children(':eq(' + index + ')').addClass('hide');
+        $sizeWrap.addClass('hide');
+        return;
+    }
+
+    $this.siblings('.active').removeClass('active');
+    $this.addClass('active');
+
+    $sortSub.children(':not(.hide)').addClass('hide');
+    $sortSub.children(':eq(' + index + ')').removeClass('hide');
+
+    if (!$sizeWrap.data('load')) {
+        if (sizeCache[id]) {
+            $sizeWrap.find('.attr-content').html(sizeCache[id]);
+            $sizeWrap.removeClass('hide');
+        } else {
+            $.ajax({
+                url: '/product/search/sortSize',
+                data: {
+                    msort: id
+                }
+            }).then(function(res) {
+                if ($.type(res) === 'array' && res.length) {
+                    sizeCache[id] = sizeTmpl({
+                        size: res
+                    });
+                    $sizeWrap.find('.attr-content').html(sizeCache[id]);
+                    $sizeWrap.removeClass('hide');
+                } else {
+                    $sizeWrap.addClass('hide');
+                }
+            });
+        }
+    }
+});
+
+//【品牌】
+if ($brandMore.length > 0) {
+    $brandMoreTxt = $brandMore.children('em');
+    $brandMoreIcon = $brandMore.children('.iconfont');
+}
+
+//【品牌】多选
+$brandMulti.click(function() {
+    if ($brandPanel.css('display') === 'none') {
+
+        //显示品牌面板
+        $brandMore.trigger('click');
+    }
+
+    brandShowMore();
+    $brandPanel.removeClass('hide').addClass('multi'); //显示出checkbox
+    $(this).addClass('hide');
+
+    //隐藏更多按钮
+    $brandMore.addClass('hide');
+});
+
+//【品牌】更多
+$brandMore.click(function() {
+    var $this = $(this);
+
+    if ($this.hasClass('more')) {
+        brandHideMore();
+
+        $brandMoreTxt.text('更多');
+        $brandMoreIcon.html(moreUnicode.down);
+
+        //清空搜索框和搜索结果
+        $brandInput.val('').trigger('keyup');
+    } else {
+        brandShowMore();
+
+        $brandMoreTxt.text('收起');
+        $brandMoreIcon.html(moreUnicode.up);
+    }
+
+    $(this).toggleClass('more');
+});
+
+//【品牌】索引
+$brandsIndex.on('mouseenter', 'span', function() {
+    var $this = $(this),
+        index = $this.data('index');
+
+    if ($this.hasClass('hover')) {
+        return;
+    }
+    setTimeout(function() {
+        $this.siblings('span.hover').removeClass('hover');
+        $this.addClass('hover');
+
+        if ($this.index() === 0) {
+
+            //全部
+            $brandAttrs.removeClass('hide');
+        } else {
+            $brandAttrs.addClass('hide').filter('[data-index=' + index + ']').removeClass('hide');
+        }
+    }, 120);
+});
+
+//【品牌】搜索
+$brandInput.keyup(function() {
+    var val = $(this).val().toLowerCase();
+
+    if (val === '') {
+        $brandAttrs.removeClass('hide');
+    } else {
+        $brandAttrs.addClass('hide').filter('[data-key*="' + val + '"]').removeClass('hide');
+    }
+});
+
+//【品牌】多选确定
+$('#brand-multi-ok').click(function() {
+    var val = [];
+
+    if ($(this).hasClass('dis')) {
+        return;
+    }
+
+    $brandPanel.find('span.checked').each(function() {
+        val.push($(this).data('id'));
+    });
+
+    uriLoc('brand', val.join(','));
+});
+
+//【品牌/高级选项】多选取消
+$('.multi-select-cancel').click(function() {
+    var $panel = $(this).closest('.multi');
+
+    if ($panel.hasClass('brand-panel')) {
+
+        $brandMulti.removeClass('hide'); //显示多选按钮
+        $brandMore.trigger('click');
+
+        //显示出更多按钮
+        $brandMore.removeClass('hide');
+
+        //清空搜索框和搜索结果
+        $brandInput.val('').trigger('keyup');
+        brandHideMore();
+    }
+
+    $panel.addClass('hide').removeClass('multi');
+    clearChecked($panel.find('.checkbox.checked'), $panel.find('.attr.checked')); //清除选中状态
+
+    //确定按钮状态恢复dis
+    $(this).siblings('.multi-select-ok').addClass('dis');
+});
+
+//【品牌/高级选项】checkbox
+$('.check-container').on('click', '.attr', function() {
+    var $this = $(this),
+        $check = $this.find('.checkbox'),
+        $btnOk = $this.closest('.brand-panel, .senior-sub').find('.multi-select-ok');
+
+    $check.toggleClass('checked');
+
+    if ($check.hasClass('checked')) {
+        $check.html(checkUnicode.checked);
+    } else {
+        $check.html(checkUnicode.unchecked);
+    }
+
+    //更新按钮状态
+    if ($check.hasClass('checked') ||
+        $this.siblings('.attr').find('.checked').length > 0) {
+        $btnOk.removeClass('dis');
+    } else {
+        $btnOk.addClass('dis');
+    }
+});
+
+//【品牌/高级选项】当多选时阻止链接默认跳转
+$('.brand, .senior').on('click', '.attr > a', function(e) {
+    if ($(this).closest('.multi').length > 0) {
+        e.preventDefault();
+    }
+});
+
+// 已选中的条件,点击不刷新
+$('.filter-box').on('click', 'li.checked, a.checked', function(e) {
+    e.preventDefault();
+});
+
+//【价格】用户定义价格处理
+if ($udPrice.length > 0) {
+    $limit = $udPrice.find('.limit');
+    $min = $limit.filter('.min');
+    $max = $limit.filter('.max');
+    $btn = $udPrice.find('.price-sure');
+
+    //【价格】输入
+    $limit.keyup(function() {
+        var thisPrice = $.trim($(this).val()),
+            isPriInt = interReg.test(thisPrice),
+            intPrice,
+            min,
+            max;
+
+        if (!isPriInt) {
+            intPrice = parseInt(thisPrice, 10);
+            $(this).val(isNaN(intPrice) ? '' : intPrice);
+        }
+
+        min = $.trim($min.val());
+        max = $.trim($max.val());
+
+        if (min !== '' || max !== '') {
+            $btn.removeClass('hide');
+        } else {
+            $btn.addClass('hide');
+        }
+    });
+
+    //【价格】多项查询
+    $btn.click(function() {
+        var min = $.trim($min.val()),
+            max = $.trim($max.val()),
+            tmp;
+
+        //对于min大于max的情况,交换位置
+        if (min !== '' && max !== '' && +min > +max) {
+            tmp = max;
+            max = min;
+            min = tmp;
+        }
+
+        uriLoc('price', min + ',' + max);
+    });
+}
+
+//【高级选项】鼠标移入显示子项
+$seniorAttrWrap.on('mouseenter', '.attr', function() {
+    var $this = $(this);
+    var index = $this.index();
+
+    if ($this.hasClass('no-sub')) {
+        return;
+    }
+    $this.addClass('hover').siblings().removeClass('hover');
+
+    $seniorSubWrap.children('.senior-sub:eq(' + index + ')').removeClass('hide').siblings().addClass('hide');
+}).on('mouseleave', '.attr', function() {
+    var $this = $(this),
+        index = $this.index();
+
+    if ($this.hasClass('no-sub')) {
+        return;
+    }
+
+    hoveredIndex = index;
+
+    seniorHoverTime = setTimeout(function() {
+        hideSeniorPanel();
+    }, 100);
+});
+
+//【高级选项】多选
+$('.senior-sub').on('click', '.multi-select', function() {
+    $(this).closest('.senior-sub').addClass('multi');
+}).on('click', '.multi-select-ok', function() {
+    var $btn = $(this),
+        $sub = $btn.closest('.senior-sub'),
+        val = [];
+
+    if ($btn.hasClass('dis')) {
+        return;
+    }
+
+    $sub.find('span.checked').each(function() {
+        val.push($(this).data('id'));
+    });
+
+    uriLoc($sub.data('attr'), val.join(','));
+}).on('mouseenter', function() {
+    clearTimeout(seniorHoverTime);
+}).on('mouseleave', function() {
+    hideSeniorPanel();
+});
+
+});
+define("js/product/sort-pager", ["jquery"], function(require, exports, module){
+/**
+ * 筛选页和列表页操作banner中的每页N个商品选择逻辑
+ * @author: xuqi<qi.xu@yoho.cn>
+ * @date: 2015/12/4
+ */
+
+var $ = require("jquery");
+
+var $countPerPage = $('#count-per-page'),
+    $countChose = $countPerPage.next('ul');
+
+var SLIDETIME = 200;
+
+$(document).click(function(e) {
+    if ($(e.target).closest('.page-count').length > 0) {
+        return;
+    }
+
+    $countChose && $countChose.slideUp(SLIDETIME);
+});
+
+$countPerPage.click(function() {
+    if ($countChose.css('display') === 'none') {
+        $countChose.slideDown(SLIDETIME);
+    } else {
+        $countChose.slideUp(SLIDETIME);
+    }
+});
+});
+define("js/product/latest-walk", ["jquery","handlebars","source-map","lazyload"], function(require, exports, module){
+/**
+ * 最近浏览取接口渲染模板
+ * @author: xuqi<qi.xu@yoho.cn>
+ 8 @date: 2016/1/20
+ */
+
+var $ = require("jquery");
+var Handlebars = require("handlebars");
+var lazyLoad = require("lazyload");
+
+var $latestWalkCount = $('#latest-walk-count');
+
+(function() {
+    var tpl;
+
+    if ($latestWalkCount.length === 0) {
+        return;
+    }
+
+    tpl = Handlebars.compile($('#latest-walk-tpl').html());
+
+    $.ajax({
+        url: '//www.yohobuy.com/common/recentReview',
+        dataType: 'jsonp',
+        data: {
+            limit: $latestWalkCount.val()
+        },
+        success: function(data) {
+            var latestWalk = [],
+                res, i, cur;
+
+            if (data.code === 200) {
+                res = data.data;
+
+                //若无最近浏览,请隐藏容器
+                if (res.length === 0) {
+                    $('.latest-walk').addClass('hide');
+                    return;
+                }
+                for (i = 0; i < res.length; i++) {
+                    cur = res[i];
+
+                    latestWalk.push({
+                        href: cur.url,
+                        img: cur.pic_url,
+                        name: cur.product_name,
+                        salePrice: cur.price,
+                        marketPrice: cur.market_price
+                    });
+                }
+
+                if (latestWalk.length > 0) {
+                    $('#latest-walk-goods').html(tpl({
+                        latestWalk: latestWalk
+                    }));
+
+                    lazyLoad($('#latest-walk-goods .lazy'));
+                }
+            }
+        }
+    });
+}());
+});
+define("js/product/product", ["jquery","lazyload","handlebars","source-map"], function(require, exports, module){
+/**
+ *Description: 商品列表页
+ *Author: chenglong.wang@yoho.cn
+ *Date: 2015/12/2
+ */
+
+var $ = require("jquery"),
+    lazyLoad = require("lazyload"),
+    Handlebars = require("handlebars"),
+    productEvent = require("js/common/product-event");
+
+var $goodsContainer = $('.goods-container'),
+    $goodItem = $goodsContainer.find('.good-info'),
+    $goodItemWrapper = $goodsContainer.find('.good-item-wrapper'),
+    $goodInfoMain = $goodsContainer.find('.good-info-main'),
+    $goodSelectColor = $goodsContainer.find('.good-select-color'),
+    $productListNav = $('.product-list-nav'),
+    productList;
+
+lazyLoad($('img.lazy'));
+
+/**
+ * @description 初始化鼠标移入商品列表弹层效果
+ * @num 每列存放商品的个数
+ */
+exports.init = function(num) {
+    var $shopEntry = $('.shop-entry'),
+        $shopEntryArea = $('.shop-entry-area'),
+        shopEntryLen = $shopEntry.length;
+
+    if (shopEntryLen > 1) {
+
+        if (shopEntryLen === 3) {
+            $shopEntry.css({
+                width: '32%'
+            });
+        } else if (shopEntryLen % 2) {
+
+            // 大于 2 ,并且是基数
+            $('.shop-entry:gt(' + (shopEntryLen - 4) + ')').css({
+                width: '32%'
+            });
+        }
+
+        $('.shop-entry:nth-child(2n+1)').css({
+            marginLeft: 0
+        });
+
+        $shopEntry.last().css({
+            marginLeft: '2%'
+        });
+
+        if (shopEntryLen % 2 === 0) {
+            $shopEntry.find('.name').css({
+                width: '50%'
+            });
+        } else if (shopEntryLen % 3 === 0) {
+            $shopEntry.find('.name').css({
+                width: '26%'
+            });
+        }
+
+    } else {
+        $shopEntry.css({
+            width: '100%'
+        });
+    }
+
+    $shopEntryArea.slideDown();
+
+    productList = null;
+
+    $goodItem.unbind();
+
+    productList = productEvent($goodItem, num);
+
+    /**
+     * @description 构造商品颜色列表的html结构
+     * @param data 商品颜色的数组,[url: '',src: '']
+     * @return json {'colorListStr': '', 'ulNum': ''}
+     * */
+    function createColorList(data, _from) {
+        var colorListStr = '',
+            len = data.length,
+            row = 4, //每列ul放4个li
+            col = Math.ceil(len / row), //需要几**列**ul
+            i,
+            j,
+            index,
+            ulNum = 0;
+
+        for (i = 0; i < col; i++) {
+            colorListStr += '<ul>';
+            for (j = 0; j < row; j++) {
+                index = i * row + j;
+                if (index === len) {
+                    break;
+                }
+                colorListStr +=
+                    '<li>' +
+                    '<a target="_blank" href="' + data[i * row + j].url + _from + '">' +
+                    '<img src="' + data[i * row + j].src + '" data-cover="' + data[i * row + j].coverImg + '" />' +
+                    '</a>' +
+                    '</li>';
+
+                if (j === row - 1) {
+                    colorListStr += '</ul>';
+                    ulNum++;
+                }
+            }
+        }
+        if (ulNum < col) {
+            colorListStr += '</ul>';
+        }
+        return {
+            colorListStr: colorListStr,
+            ulNum: col
+        };
+    }
+
+    function removeHtmlFn() {
+        $goodInfoMain.html('');
+        $goodSelectColor.html('');
+        $goodItemWrapper.css({
+            display: 'none'
+        });
+    }
+
+    productList.addHandler('MouseEnter', function(event) {
+        var itemMr = 10, //list的右边距
+            itemMb = 35, //list的下边距
+            ulStr = '',
+            ulNum,
+            wrapperWidth,
+            diffWidth,
+            wrapperX,
+            wrapperY,
+            wrapperPl, //鼠标移入时弹层的左内边距
+            wrapperPt, //鼠标移入时弹层的上内边距
+            containerPt, //商品列表容器的上内边距
+            _from = event.target.attr('data-from') || '';
+
+        $.ajax({
+            type: 'POST',
+            url: '/product/list/getProductPic',
+            dataType: 'jsonp',
+            jsonp: 'callback',
+            data: {
+                skn: event.target.attr('data-skn'),
+                skc: event.target.attr('data-skc')
+            }
+        }).then(function(res) {
+            var data = res.data,
+                colorList = createColorList(data.pics, _from);
+
+            removeHtmlFn();
+
+            ulStr = colorList.colorListStr; //ajax请求的颜色列表
+            ulNum = colorList.ulNum;//ajax请求的颜色的数量
+
+            $goodInfoMain.append(event.targetDuplicate);
+            $goodSelectColor.append($(ulStr));
+
+            // 点击收藏商品不需要了
+            // if (data.isFavorite) {
+            //     $goodInfoMain.find('.col-btn').addClass('coled');
+            // } else {
+            //     $goodInfoMain.find('.col-btn').removeClass('coled');
+            // }
+
+            wrapperPl = $goodItemWrapper.css('paddingLeft');
+            wrapperPt = $goodItemWrapper.css('paddingTop');
+            containerPt = $goodsContainer.css('paddingTop');
+
+            wrapperWidth = 10 + (15 + 50) * ulNum + event.targetWidth;
+
+            //wrapperWidth = $goodItemWrapper.width();
+
+            wrapperX = (event.targetX - 1) * (event.targetWidth + itemMr) - (parseInt(wrapperPl) + 1);
+            wrapperY = (event.targetY - 1) *
+            (event.targetHeight + itemMb) + parseInt(containerPt) - (parseInt(wrapperPt) + 1);
+
+            //todo
+            //event.offsetR表示当前列表距离浏览器右侧边缘的距离
+            diffWidth = event.offsetR - ((15 + 50) * ulNum + 25);
+
+            if (diffWidth <= 0) {
+                wrapperX = wrapperX + diffWidth - 25;
+            }
+            $goodItemWrapper.css({
+                width: wrapperWidth,
+                left: wrapperX,
+                top: wrapperY,
+                display: 'inline-block'
+            });
+
+            // 鼠标悬浮获取到商品信息后显示第一张图片
+            if (data.pics[0] && data.pics[0].src) {
+                $goodInfoMain.find('.good-thumb img').attr('src', data.pics[0].src);
+            }
+        });
+    });
+
+    productList.addHandler('MouseLeave', function() {
+        removeHtmlFn();
+    });
+
+    $goodItemWrapper.mouseleave(function() {
+
+        removeHtmlFn();
+    });
+
+};
+
+//鼠标放在颜色列表上效果
+$(document).on('hover', '.good-select-color li', function() {
+    var coverImg = $(this).find('img').attr('data-cover'),
+        $coverImg = $(this).closest('.good-item-wrapper').find('.good-detail-img').find('img');
+
+    $coverImg.attr('src', coverImg);
+});
+
+// 左侧导航
+$productListNav.find('h3').click(function(event) {
+    var $this = $(this).closest('.product-list-nav');
+
+    if ($this.hasClass('active')) {
+
+        $this.find('.sort-child-list').stop(true, true).slideUp();
+
+    } else {
+
+        $this.find('.sort-child-list').stop(true, true).slideDown();
+    }
+
+    $this.toggleClass('active');
+});
+
+//左侧需要ajax内容
+(function() {
+    var $brandCard = $('#brand-card');
+    var $brandFavor = $('#brand-favor');
+    var html;
+
+    if ($brandCard.length) {
+        $.ajax({
+            type: 'POST',
+            url: '/product/index/getNodeContent',
+            data: {
+                node: $brandCard.data('node')
+            }
+        }).then(function(data) {
+            $brandCard.html(data);
+        });
+    }
+
+    //品牌页请求
+    if ($brandFavor.length) {
+        html = $('#pic-link-tpl').html();
+
+        $.ajax({
+            type: 'POST',
+            url: '/product/index/getAdnav',
+            data: {
+                brandId: $brandFavor.data('id')
+            }
+        }).then(function(data) {
+            if (data) {
+                $('#brand-ad').html(Handlebars.compile(html)({
+                    picLink: data
+                }));
+            }
+        });
+    }
+}());
+
+});
+define("js/common/product-event", ["jquery"], function(require, exports, module){
+/**
+ *Description: 商品自定义事件
+ *Author: chenglong.wang@yoho.cn
+ *Date: 2015/12/3
+ */
+
+var $ = require("jquery");
+
+function ProductEvent() {
+
+    this.handlers = {};
+
+}
+
+ProductEvent.prototype = {
+
+    constructor: ProductEvent,
+
+    addHandler: function(type, handler) {
+        if (typeof this.handlers[type] === 'undefined') {
+            this.handlers[type] = [];
+        }
+        this.handlers[type].push(handler);
+    },
+
+    fire: function(event) {
+        var handlers,
+            i;
+
+        if (!event.target) {
+
+            event.target = this;
+        }
+        if (this.handlers[event.type] instanceof Array) {
+            handlers = this.handlers[event.type];
+            for (i = 0; i < handlers.length; i++) {
+                handlers[i](event);
+            }
+        }
+    },
+
+    removeHandler: function(type, handler) {
+        var handlers,
+            i;
+
+        if (this.handlers[type] instanceof Array) {
+            handlers = this.handlers[type];
+            for (i = 0; i < handlers.length; i++) {
+                if (handlers[i] === handler) {
+                    break;
+                }
+            }
+            handlers.splice(i, 1);
+        }
+    }
+};
+
+module.exports = function($o, rowWidth) {
+
+    var pMouseHover = new ProductEvent();
+
+    var targetWidth = $o.eq(0).width(),
+        targetHeight = $o.eq(0).height(),
+        winW = $(window).width();
+
+    var delayFunc,
+        loadInfo;
+
+    function handleEvent(event) {
+        var $target,
+            targetX = 0,
+            targetY = 0,
+            rowW = rowWidth,
+            activeIndex = 0,
+            $targetDuplicate = '',
+            offsetL = 0,
+            offsetR = 0;
+
+
+        switch (event.type) {
+            case 'mouseenter':
+                $target = $(this);
+
+                delayFunc = setTimeout(function() {
+                    loadInfo = true;
+                    $targetDuplicate = $target.clone();
+                    activeIndex = $target.index() + 1;
+                    targetX = (activeIndex % rowW) === 0 ? rowW : activeIndex % rowW;
+                    targetY = Math.ceil(activeIndex / rowW);
+                    offsetL = $target.offset().left;
+                    offsetR = winW - (offsetL + targetWidth);
+
+                    pMouseHover.fire({
+                        type: 'MouseEnter',
+                        target: $target,
+                        targetWidth: targetWidth,
+                        targetHeight: targetHeight,
+                        targetX: targetX,
+                        targetY: targetY,
+                        rowWidth: rowW,
+                        activeIndex: activeIndex,
+                        targetDuplicate: $targetDuplicate,
+                        offsetL: offsetL,
+                        offsetR: offsetR
+                    });
+                }, 150);
+                break;
+            case 'mouseleave':
+                if (!loadInfo) {
+                    if (delayFunc) {
+                        clearTimeout(delayFunc);
+                    }
+                    pMouseHover.fire({
+                        type: 'MouseLeave'
+                    });
+                }
+                loadInfo = false;
+                break;
+        }
+    }
+
+    $o.bind({
+        mouseenter: handleEvent,
+        mouseleave: handleEvent
+    });
+
+    return pMouseHover;
+};
+});
+define("js/product/brand", ["jquery"], function(require, exports, module){
+/**
+ * 品牌页面
+ * @auhtor: bikai<kai.bi@yoho.cn>
+ * @date: 2016/1/21
+ */
+
+var $ = require("jquery");
+
+var $brandFavor = $('#brand-favor'),
+    id = $brandFavor.data('id');
+
+$brandFavor.on('click', function() {
+    $.ajax({
+        type: 'post',
+        url: '/product/index/favoriteBrand',
+        data: {
+            brandId: id
+        }
+    }).then(function(res) {
+        if (res.code === 200) {
+            $brandFavor.find('i').toggleClass('coled');
+        } else if (res.code === 403) {
+            location.href = '//www.yohobuy.com/signin.html?refer=' + encodeURIComponent(location.href);
+        }
+    });
+});
+
+//页面进入更新收藏状态
+$.ajax({
+    type: 'POST',
+    url: '/product/index/isFavoriteBrand',
+    data: {
+        brandId: id
+    }
+}).then(function(data) {
+    if (data.code === 200) {
+
+        //已收藏
+        $brandFavor.find('i').addClass('coled');
+    } else if (data.code === 404) {
+
+        //未收藏
+        $brandFavor.find('i').removeClass('coled');
+    }
+});
+
+});
+define("js/product/hotrank", ["jquery","handlebars","source-map","lazyload"], function(require, exports, module){
+/**
+ * 首页
+ * @author: liuyue<yue.liu@yoho.cn>
+ * @date: 2015/12/17
+ */
+
+var $ = require("jquery"),
+    Handlebars = require("handlebars"),
+    lazyLoad = require("lazyload");
+
+require("js/common/slider");
+require("js/common/logo-brand");
+
+lazyLoad($('img.lazy'));
+$('.slide-container').slider();
+$('.logo-brand').logoBrand({
+    showNum: 10,
+    url: $('.logo-brand').data('url')
+});
+
+/*
+ * 一周热卖
+ */
+(function($) {
+    var floatlayer = $('.hot-week').find('.floatlayer'),
+        sid = $('.hot-cate').find('li').eq(0).data('sid'),
+        weekOffsetTop,
+        source,
+        template,
+        page = 1,
+        hotCateW = 0,
+        weekEnd = false;
+
+    source = '\{{# list}}' +
+        '<div class="good-info">' +
+            '<div class="item-img">' +
+                '<a class="good-thumb" target="_blank" href="\{{url}}">' +
+                    '<img class="lazy" data-original="\{{thumb}}">' +
+                '</a>' +
+            '</div>' +
+            '<div class="good-detail-text">' +
+                '<a target="_blank" href="{{url}}">{{name}}</a>' +
+                '<p class="price">' +
+                    '{{# marketPrice}}<span class="market-price">¥{{.}}</span>{{/ marketPrice}} ' +
+                    '<span class="sale-price{{#unless marketPrice}}prime-cost{{/unless}}">' +
+                    '¥{{salePrice}}</span>' +
+                '</p>' +
+            '</div>' +
+        '</div>' +
+        '{{/ list}}';
+
+    //监听滚动事件,控制浮层样式及下拉加载更多
+    $(window).on('scroll', function() {
+        var maxH = weekOffsetTop + $('.hot-week').outerHeight(),
+            sid;
+
+        //热卖右侧浮动导航位置
+        weekOffsetTop = $('.hot-week').offset().top;
+        if ($(this).scrollTop() >= weekOffsetTop - $(window).height() / 2) {
+            if (floatlayer.offset().top + floatlayer.outerHeight() >= maxH) {
+                floatlayer.css({
+                    position: 'absolute',
+                    marginTop: 0,
+                    top: $('.hot-week').outerHeight() - floatlayer.outerHeight()
+                });
+            } else {
+                floatlayer.css({
+                    marginTop: -floatlayer.height() / 2
+                }).stop().animate({
+                    opacity: 1
+                }, 200, function() {
+                    floatlayer.show();
+                });
+            }
+
+        } else {
+            floatlayer.stop().animate({
+                opacity: 0
+            }, 200, function() {
+                floatlayer.hide();
+            });
+        }
+
+        if (floatlayer.offset().top >= $(this).scrollTop() + ($(window).height() - floatlayer.outerHeight()) / 2) {
+            floatlayer.css({
+                position: 'fixed',
+                marginTop: -floatlayer.height() / 2,
+                top: '50%'
+            });
+        }
+
+        //下拉加载
+        if ($(this).scrollTop() >= weekOffsetTop + $('.hot-week').height() - $(window).height()) {
+            if (!weekEnd) {
+                sid = $('.hot-cate').find('li.current').data('sid');
+                page++;
+                weekEnd = true; //防止多次请求
+                weekAjax(sid, page);
+            }
+        }
+
+    });
+
+    //热卖横导航及竖导航的超出显示控制
+    $('.hot-cate').find('li').each(function(i) {
+        var maxW = $('.hot-cate').width();
+
+        if (hotCateW <= maxW) {
+            hotCateW = hotCateW + $(this).width();
+            if (hotCateW >= maxW) {
+                $('.floatlayer').find('li').eq(i).hide().nextAll().hide();
+            }
+        }
+
+    });
+
+    //热卖横导航点击事件处理
+    $('.hot-cate').on('click', 'li', function() {
+        var nowIndex = $(this).index(),
+            sid = $(this).data('sid');
+
+        if ($(this).hasClass('current')) {
+            return;
+        }
+
+        //处理current样式
+        $(this).addClass('current').siblings().removeClass('current');
+        $('.floatlayer').find('li').removeClass('current').eq(nowIndex).addClass('current');
+
+        //返回热卖顶部,110为floor-header所占高度
+        $('body,html').stop().animate({
+            scrollTop: weekOffsetTop - 110
+        }, 500);
+
+        //调用ajax请求函数,重置page,weekEnd
+        weekAjax(sid);
+        page = 1;
+    });
+
+    //热卖右侧悬浮导航点击事件处理
+    $('.floatlayer').on('click', 'li', function() {
+        var nowIndex = $(this).index();
+
+        if ($(this).hasClass('current')) {
+            return;
+        }
+
+        $('.hot-cate').find('li').eq(nowIndex).trigger('click');
+
+        //处理current样式
+        $(this).addClass('current').siblings().removeClass('current');
+        $('.hot-cate').find('li').removeClass('current').eq(nowIndex).addClass('current');
+    });
+
+    /*
+     * 热卖内容ajax请求
+     * param: sid(ajax请求的id), page(ajax请求的页码)
+     */
+    function weekAjax(sid, page) {
+        var param = {};
+
+        if (page) {
+            param = {
+                sid: sid,
+                page: page
+            };
+        } else {
+            param = {
+                sid: sid
+            };
+        }
+        $.ajax({
+            type: 'GET',
+            dataType: 'json',
+            url: '/product/index/getdata',
+            data: param,
+            success: function(res) {
+                var data;
+
+                if (res.code === 200) {
+                    data = {
+                        list: res.data
+                    };
+
+                    //mustache渲染数据,并替换原内容
+                    template = Handlebars.compile(source);
+                    if (page) {
+                        $('.hot-week-list').append(template(data));
+                        floatlayer.css({
+                            position: 'fixed',
+                            marginTop: -floatlayer.height() / 2,
+                            top: '50%'
+                        });
+                    } else {
+                        $('.hot-week-list').html(template(data));
+                    }
+
+                    lazyLoad($('img.lazy'));
+                    weekEnd = false;
+                }
+            }
+        });
+    }
+
+    //热卖中导航current类处理
+    $('.hot-cate').find('li').eq(0).addClass('current');
+    $('.floatlayer').find('li').eq(0).addClass('current');
+})($);
+
+});
+define("js/common/slider", ["jquery","lazyload"], function(require, exports, module){
+/**
+ * 首页banner轮播
+ * @author: liuyue(yue.liu@yoho.cn)
+ * @date: 2015/12/04
+ */
+
+var $ = require("jquery"),
+    lazyLoad = require("lazyload");
+
+(function($) {
+    var Slider = function(element, options) {
+        this.$element = $(element);
+        this.options = $.extend({}, $.fn.slider.defaults, options);
+        this.bigItem = this.$element.find('.slide-wrapper').find('li');
+        this.smallItem = null;
+        this.len = this.bigItem.size();
+        this.index = 0;
+        this.timer = null;
+        this.init();
+    };
+
+    Slider.prototype = {
+        init: function() {
+            if (!this.$element) {
+                return;
+            }
+
+            if (this.len <= 1) {
+                lazyLoad(this.$element.find('img.lazy'));
+                return;
+            }
+            if (!!this.options.pagination) {
+                this.smallItem = $(this.options.pagination).find('li');
+            } else {
+                this._createPage();
+            }
+
+            if (this.options.orient) {
+                this._createOrient();
+            }
+            this._slideShow();
+            this._bindEvent();
+            this._autoplay();
+        },
+        _createOrient: function() {
+
+            var orientHtml = '<div class="slide-switch">' +
+                    '<a class="prev" href="javascript:;"><span class="iconfont">&#xe60c;</span></a>' +
+                    '<a class="next" href="javascript:;"><span class="iconfont">&#xe60b;</span></a>' +
+                '</div>';
+
+            if (this.$element.find('.slide-switch').length > 0) {
+                return;
+            }
+
+            this.$element.append(orientHtml);
+        },
+        _createPage: function() {
+            var pageHtml = '<div class="slide-pagination"><div class="slide-pagination-inner">' +
+                            '<div class="slide-shade"></div><div class="slide-pagination-last">',
+                i = 0;
+
+            if (this.len <= 1) {
+                return;
+            }
+            for (i = 0; i < this.len; i++) {
+                pageHtml += '<span></span>';
+            }
+            pageHtml += '</div></div></div>';
+            this.$element.append($(pageHtml));
+            this.smallItem = this.$element.find('.slide-pagination-inner span');
+        },
+        _bindEvent: function() {
+            var that = this;
+
+            this.$element.find('.slide-switch').on('click', '.next', function() {
+                that._nextSlide();
+                clearInterval(that.timer);
+                that.timer = setInterval(function() {
+                    that._nextSlide();
+                }, that.options.time);
+            }).on('click', '.prev', function() {
+                that._prevSlide();
+                clearInterval(that.timer);
+                that.timer = setInterval(function() {
+                    that._nextSlide();
+                }, that.options.time);
+            });
+
+            this.smallItem.on('mouseenter', function() {
+                that.index = $(this).index();
+                clearInterval(that.timer);
+                that._slideShow();
+            }).on('mouseleave', function() {
+                that._autoplay();
+            });
+
+            this.$element.on('mouseenter', function() {
+                $(this).find('.slide-switch').addClass('show');
+            }).on('mouseleave', function() {
+                $(this).find('.slide-switch').removeClass('show');
+            });
+        },
+        _nextSlide: function() {
+            if (this.index === this.len - 1) {
+                this.index = 0;
+            } else {
+                this.index++;
+            }
+            this._slideShow();
+        },
+        _prevSlide: function() {
+            if (this.index === 0) {
+                this.index = this.len - 1;
+            } else {
+                this.index--;
+            }
+            this._slideShow();
+        },
+        _slideShow: function() {
+            var $img = this.bigItem.eq(this.index).find('img.lazy');
+
+            //未加载图片的及时显示
+            if ($img.attr('src') !== $img.data('original')) {
+                lazyLoad($img, {
+                    event: 'sporty'
+                });
+                $img.trigger('sporty');
+            }
+
+            this.smallItem.eq(this.index).addClass('focus').siblings().removeClass('focus');
+            this.bigItem.eq(this.index).show().stop().animate({
+                opacity: 1
+            }, function() {
+
+                //修正IE下切换时文字会重叠的问题
+                $(this).find('.slide-tips > p').removeClass('hide');
+            }).siblings().stop().animate({
+                opacity: 0
+            }, function() {
+                $(this).hide().find('.slide-tips > p').addClass('hide');
+            });
+        },
+        _autoplay: function() {
+            var that = this;
+
+            clearInterval(this.timer);
+            this.timer = setInterval(function() {
+                that._nextSlide();
+            }, this.options.time);
+        }
+    };
+    $.fn.slider = function(option) {
+        return this.each(function() {
+            var $this = $(this),
+                data = $this.data('Slider'),
+                options = typeof option === 'object' && option;
+
+            if (!data) {
+                $this.data('Slider', (data = new Slider(this, options)));
+            }
+            if (typeof option === 'string') {
+                data[option]();
+            }
+        });
+    };
+    $.fn.slider.Constructor = Slider;
+    $.fn.slider.defaults = {
+        time: 5000,
+        orient: true, //左右切换箭头的显示
+        pagination: null
+    };
+})($);
+});
+define("js/common/logo-brand", ["jquery","handlebars","source-map","lazyload"], function(require, exports, module){
+/**
+ * 首页优选品牌js
+ * @author: liuyue(yue.liu@yoho.cn)
+ * @date: 2015/12/08
+ */
+
+var $ = require("jquery"),
+    Handlebars = require("handlebars"),
+    lazyLoad = require("lazyload");
+
+(function($) {
+    var LogoBrand = function(element, options) {
+        this.$element = $(element);
+        this.options = $.extend({}, $.fn.logoBrand.defaults, options);
+
+        this.init();
+    };
+
+    LogoBrand.prototype = {
+        init: function() {
+            this.$element.addClass('logos-' + this.options.showNum);
+            this._sendRequest();
+        },
+        _createHelper: function() {
+            var showNum = this.options.showNum;
+
+            Handlebars.registerHelper('brandList', function(items, options) {
+                var out = '<ul>',
+                    i = 0,
+                    item = null,
+                    fillNum = 0;
+
+                //不是每页显示个数的倍数,填充数据
+                if (items.length % showNum !== 0) {
+                    fillNum = showNum - (items.length % showNum);
+                    for (i = 0; i < fillNum; i++) {
+                        items.push({
+                            href: 'javascript:;',
+                            img: ''
+                        });
+                    }
+                }
+
+                for (i = 0; i < items.length; i++) {
+                    item = options.fn(items[i]);
+
+                    if (i % showNum === 5 || i === 5) {
+
+                        //插入切换按钮的位置
+                        out = out + '<li class="logo-brand-switch" data-page="' + Math.floor(i / showNum) + '">' +
+                                    '<a class="prev iconfont" href="javascript:;">&#xe60f;</a>' +
+                                    '<a class="next iconfont" href="javascript:;">&#xe60e;</a></li>' +
+                                    '<li data-page="' + Math.floor(i / showNum) + '">' + item + '</li>';
+                    } else if (i !== 0 && i % showNum === 0) {
+
+                        //插入more的位置,more占的是下一页第一个brand的位置,所以page是i/17
+                        out = out + '<li class="brand-more" data-page="' + Math.floor(i / (showNum + 1)) + '">' +
+                                    '<a href="javascript:;" target="_blank">MORE ></a></li>' +
+                                    '<li data-page="' + Math.floor(i / showNum) + '">' + item + '</li>';
+                    } else {
+                        out = out + '<li data-page="' + Math.floor(i / showNum) + '">' + item + '</li>';
+                    }
+                }
+
+                //加上最后一个more, more占的是下一页第一个brand的位置,这里已经循环不到brand,所以加在末尾
+                return out + '<li class="brand-more" data-page="' + Math.floor(i / (showNum + 1)) + '">' +
+                            '<a href="javascript:;" target="_blank">MORE ></a></li></ul>';
+
+            });
+        },
+        _sendRequest: function() {
+            var that = this;
+
+            $.ajax({
+                type: 'GET',
+                url: that.options.url,
+                dataType: 'json',
+                success: function(data) {
+                    var brandTpl,
+                        brandHtml;
+
+                    if (!data || data.length === 0) {
+                        return;
+                    }
+
+                    that._createHelper();
+                    brandHtml = '\{{#brandList logoBrand}}' +
+                        '<a href="\{{href}}" target="_blank"><img class="lazy" data-original="\{{img}}" alt=""></a>' +
+                        '\{{/brandList}}';
+                    brandTpl = Handlebars.compile(brandHtml);
+                    that.$element.html(brandTpl(data));
+                    that.$element.find('.brand-more a').attr('href', data.moreBrand);
+                    lazyLoad(that.$element.find('img.lazy'));
+                    that._bindEvent();
+                }
+            });
+        },
+        _brandShow: function(hidePage, showPage) {
+            var that = this;
+
+            lazyLoad($('li[data-page=' + showPage + ']').find('img.lazy').trigger('appear'));
+            that.$element.find('li[data-page=' + hidePage + ']').find('img').fadeOut('normal', function() {
+                that.$element.find('li').hide();
+                that.$element.find('li[data-page=' + showPage + ']').show().find('img').fadeIn();
+            });
+        },
+        _bindEvent: function() {
+            var that = this;
+
+            that.$element.on('click', '.next', function() {
+                var page = $(this).parent().data('page'),
+                    nextPage = 0,
+                    totalPage = Math.ceil(that.$element.find('li').size() / (that.options.showNum + 2)) - 1;
+
+                if (page === totalPage) {
+                    nextPage = 0;
+                } else {
+                    nextPage = page + 1;
+                }
+                that._brandShow(page, nextPage);
+            });
+
+            that.$element.on('click', '.prev', function() {
+                var page = $(this).parent().data('page'),
+                    prevPage = 0,
+                    totalPage = Math.ceil(that.$element.find('li').size() / (that.options.showNum + 2)) - 1;
+
+                if (page === 0) {
+                    prevPage = totalPage;
+                } else {
+                    prevPage = page - 1;
+                }
+                that._brandShow(page, prevPage);
+            });
+        }
+    };
+    $.fn.logoBrand = function(option) {
+        return this.each(function() {
+            var $this = $(this),
+                data = $this.data('LogoBrand'),
+                options = typeof option === 'object' && option;
+
+            if (!data) {
+                $this.data('LogoBrand', (data = new LogoBrand(this, options)));
+            }
+            if (typeof option === 'string') {
+                data[option]();
+            }
+        });
+    };
+    $.fn.logoBrand.Constructor = LogoBrand;
+    $.fn.logoBrand.defaults = {
+        showNum: 16,
+        url: '/boys/getBrand'
+    };
+})($);
+});
+define("js/product/item", ["jquery","lazyload","handlebars","source-map","index"], function(require, exports, module){
+/**
+ * 商品详情页
+ * @author: xuqi<qi.xu@yoho.cn>
+ * @date: 2015/12/23
+ */
+
+var $ = require("jquery"),
+    lazyLoad = require("lazyload"),
+    Handlebars = require("handlebars"),
+    JSON2 = require("index");
+
+var $imgShow = $('#img-show'),
+    $thumbs = $('#thumbs > .thumb-wrap');
+
+var $size = $('#sizes'),
+    $sizes = $size.children('.size'),
+    $sizeWarn = $size.find('.size-warn'),
+    $colorSizeTip = $size.children('.color-size-tip');
+
+var $num = $('#num'),
+    $plusNum = $('#plus-num'),
+    $minusNum = $('#minus-num');
+
+var $addToCart = $('#add-to-cart'),
+    $soldOut = $('#sold-out');
+
+var $lcContainer = $('.lc-container'),
+    $itemBuy = $('.item-buy');
+
+var $descColor = $('#desc-color');
+
+var thumbsLoaded = {};
+
+var $main = $('.main'),
+    id = $main.data('id');
+
+var maxStock = -1; //记录当前选中的颜色-尺码的库存量,若为-1,代表未选择尺码
+
+var SLIDETIME = 200;
+
+var colTxt = {
+    def: '收藏商品',
+    coled: '已收藏',
+    hover: '取消收藏'
+};
+
+var Alert = require("js/common/dialog").Alert;
+
+require("js/product/latest-walk");
+
+require("js/common/share");
+
+function imgShow(src) {
+    $imgShow.attr('src', src);
+}
+
+/**
+ * 获取当前选择的商品数目
+ * @return [Number]
+ */
+function getNum() {
+    return +$num.text();
+}
+
+//重置Num显示为1
+function resetNum() {
+    $num.text('1');
+
+    //+-按钮状态重置
+    if (maxStock === 1 || maxStock === 0) {
+
+        //数目为1/0时
+        $plusNum.addClass('dis');
+        $minusNum.addClass('dis');
+    } else {
+        $plusNum.removeClass('dis');
+        $minusNum.addClass('dis');
+    }
+}
+
+//加入购物车和已售罄状态控制
+function switchBtnStatus($color) {
+    if ($itemBuy.length === 0) {
+
+        //全部售罄,按钮状态不变
+        return;
+    }
+
+    //选中的商品存量为0或者某个颜色的total为0
+    if (maxStock === 0 || ($color && ~~$color.data('total') === 0)) {
+        $itemBuy.addClass('hide'); //隐藏加入购物车、即将开始、立即购买等相同位置的按钮
+        $soldOut.removeClass('hide');
+    } else {
+
+        //包括默认的-1情况下
+        $itemBuy.removeClass('hide');
+        $soldOut.addClass('hide');
+    }
+}
+
+//size warn
+function showSizeWarn() {
+    $sizes.not('.hide').children('.size-warn').removeClass('hide');
+}
+
+//size title
+(function() {
+    var $sizeTitleJson = $('#size-title-json'),
+        jsonHtml = $sizeTitleJson.html(),
+        sizeTitle;
+
+    if (jsonHtml === '') {
+        return;
+    }
+
+    sizeTitle = JSON2.parse(jsonHtml);
+
+    //数据获取后删除
+    $sizeTitleJson.remove();
+
+    $sizes.children('li').each(function() {
+        var $this = $(this),
+            key = $this.data('name');
+
+        $this.data('title', sizeTitle[key]);
+    });
+}());
+
+//初始化thumbsLoaded
+thumbsLoaded[$('.colors .focus').index()] = true;
+
+//品牌收藏
+$('#brand-favour').click(function() {
+    var $this = $(this);
+
+    $.ajax({
+        type: 'POST',
+        url: '/product/index/favoriteBrand',
+        data: {
+            brandId: $this.data('id')
+        }
+    }).then(function(data) {
+        if (data.code === 200) {
+            $this.toggleClass('coled');
+        } else if (data.code === 403) {
+            location.href = data.data.url;
+        }
+    });
+});
+
+//颜色
+$('.colors').on('click', 'li', function() {
+    var $this = $(this),
+        index = $this.index();
+
+    var $imgs;
+
+    //初始化color-size显示或隐藏
+    $colorSizeTip.addClass('hide');
+
+    //隐藏尺码提示
+    $sizeWarn.addClass('hide');
+
+    maxStock = -1;
+
+    if ($this.hasClass('focus')) {
+
+        //已获取焦点的颜色再次点击,清除尺码的选中
+        $sizes.eq(index).children('li').removeClass('focus');
+    } else {
+
+        //未获取焦点,选择尺码
+        $this.siblings('.focus').removeClass('focus');
+        $this.addClass('focus');
+
+        //切换图片显示
+        $thumbs.not('.hide').addClass('hide');
+        $imgs = $thumbs.eq(index).removeClass('hide').find('img');
+
+        if (typeof thumbsLoaded[index] === 'undefined') {
+
+            //trigger layLoad
+            lazyLoad($imgs, {
+                event: 'sporty'
+            });
+
+            $imgs.trigger('sporty');
+
+            thumbsLoaded[index] = true;
+        }
+
+        imgShow($imgs.first().data('shower'));
+
+        //切换详细信息的颜色显示
+        $descColor.text($this.data('color'));
+
+        //切换尺码显示
+        $sizes.not('.hide').addClass('hide').children('li').removeClass('focus');
+        $sizes.eq(index).removeClass('hide');
+    }
+
+    resetNum();
+    switchBtnStatus($this);
+});
+
+//缩略图鼠标移入显示
+$('#thumbs').on('mouseenter', '.thumb', function() {
+    imgShow($(this).data('shower'));
+});
+
+//尺码
+$size.on('click', 'li', function() {
+    var $this = $(this);
+
+    if ($this.hasClass('focus')) {
+        return;
+    }
+
+    maxStock = +$this.data('num');
+
+    $this.siblings('.focus').removeClass('focus');
+    $this.addClass('focus');
+
+    $colorSizeTip.html($this.data('title')).removeClass('hide');
+
+    $sizeWarn.addClass('hide');
+
+    switchBtnStatus();
+
+    resetNum();
+}).on('click', '.size-ruler', function() {
+
+    //尺码帮助
+
+    $('body,html').animate({
+        scrollTop: $('.size-info').offset().top
+    }, 300);
+});
+
+//数量
+$plusNum.click(function() {
+    var num = getNum();
+
+    if ($(this).hasClass('dis')) {
+        return;
+    }
+
+    if (maxStock === -1) {
+        showSizeWarn();//显示选择尺码提示
+        return;
+    }
+
+    //已售罄
+    if (maxStock === 0) {
+        return;
+    }
+
+    if (num === maxStock - 1) {
+
+        //+按钮不可点
+        $(this).addClass('dis');
+    }
+
+    //数目为1时点+则移除-不可点状态
+    if (num === 1) {
+        $minusNum.removeClass('dis');
+    }
+
+    $num.text(num + 1 > maxStock ? maxStock : num + 1);
+}).on('selectstart', function() {
+    return false;
+});
+
+$minusNum.click(function() {
+    var num = getNum();
+
+    if ($(this).hasClass('dis')) {
+        return;
+    }
+
+    if (num === 2) {
+        $(this).addClass('dis');
+    }
+
+    if (num === maxStock) {
+
+        //恢复+可点
+        $plusNum.removeClass('dis');
+    }
+
+    $num.text(num - 1 < 0 ? 0 : num - 1);
+}).on('selectstart', function() {
+    return false;
+});
+
+//限购码
+$('.get-lc:not(.dis)').hover(function() {
+    $lcContainer.removeClass('hide');
+}, function() {
+    $lcContainer.addClass('hide');
+});
+
+//加入购物车
+$addToCart.click(function() {
+    if (maxStock === -1) {
+        showSizeWarn();
+        return;
+    }
+
+    $.ajax({
+        type: 'POST',
+        url: '/cart/index/add',
+        data: {
+            productSku: $('.size:not(.hide) li.focus').data('sku'),
+            buyNumber: getNum()
+        }
+    }).then(function(data) {
+        var code = data.code;
+
+        if (code === 200) {
+            $('#type-chose').slideUp(SLIDETIME);
+            $('#balance').slideDown(SLIDETIME);
+
+            $('#cart-num').text(data.data.goods_count); //更新数目
+        }
+    });
+});
+
+//收藏
+$('#collect-product').click(function() {
+    var $this = $(this),
+        cancel;
+
+    if ($this.hasClass('coled')) {
+        cancel = true;
+    }
+
+    $.ajax({
+        type: 'POST',
+        url: '/product/item/togglecollect',
+        data: {
+            productId: id,
+            type: cancel ? 'cancel' : 'add'
+        }
+    }).then(function(data) {
+        var code = data.code;
+
+        if (code === 200) {
+
+            $this.toggleClass('coled');
+
+            if (cancel) {
+                $this.find('em').text(colTxt.def);
+            } else {
+                $this.find('em').text(colTxt.coled);
+            }
+        } else if (code === 403) {
+            location.href = data.data.url;
+        }
+    });
+}).hover(function() {
+    var $this = $(this);
+
+    if ($this.hasClass('coled')) {
+        $this.find('em').text(colTxt.hover);
+    }
+}, function() {
+    var $this = $(this);
+
+    if ($this.hasClass('coled')) {
+        $this.find('em').text(colTxt.coled);
+    }
+});
+
+//继续购物
+$('#keep-shopping').click(function() {
+    $('#type-chose').slideDown(SLIDETIME);
+    $('#balance').slideUp(SLIDETIME);
+});
+
+//立即购买
+$('#buy-now').click(function() {
+    var sku,
+        base,
+        myAlert;
+
+    if (maxStock === -1) {
+        showSizeWarn();
+        return;
+    }
+
+    if ($(this).hasClass('dis')) {
+        return;
+    }
+
+    base = $(this).data('base');
+
+    //潮流尖货
+    if (!base) {
+        myAlert = new Alert('打开APP可抢购该商品哦~~');
+        myAlert.show();
+        return;
+    }
+
+    sku = $sizes.find('.focus').data('sku');
+
+    if (sku && base) {
+        location.href = base + '?product_sku=' + sku;
+    }
+});
+
+//按钮鼠标移入效果【dis状态的按钮状态不变】
+$('.buy-btn').mouseover(function() {
+    if ($(this).hasClass('dis')) {
+        return;
+    }
+
+    $(this).addClass('hover');
+}).mouseleave(function() {
+    $(this).removeClass('hover');
+});
+
+//商品详情/材质洗涤切换
+$('.description-material').on('click', '.title', function() {
+    var $this = $(this),
+        index = $this.index();
+
+    var $description = $('.description-content'),
+        $material = $('.material-content');
+
+    if ($this.hasClass('cur')) {
+        return;
+    }
+
+    $this.addClass('cur');
+    $this.siblings('.cur').removeClass('cur');
+
+    if (index === 0) {
+
+        //商品信息
+        $description.slideDown(SLIDETIME);
+        $material.slideUp(SLIDETIME);
+    } else {
+        $description.slideUp(SLIDETIME);
+        $material.slideDown(SLIDETIME);
+    }
+});
+
+//售后服务
+$('.after-service-switch').click(function() {
+    var $this = $(this),
+        $content = $this.next('.after-service-content');
+
+    var html = {
+        def: '&#xe604;',
+        spread: '&#xe603;'
+    };
+
+    if ($content.css('display') === 'none') {
+        $content.slideDown(SLIDETIME);
+
+        $this.find('.triangle').html(html.spread);
+    } else {
+        $content.slideUp(SLIDETIME);
+
+        $this.find('.triangle').html(html.def);
+    }
+});
+
+
+//商品详情区的热点
+$.ajax({
+    type: 'GET',
+    url: '/product/item/hotarea',
+    data: {
+        productId: id
+    }
+}).then(function(html) {
+    $('#details-html').prepend(html);
+
+    //修正热区尺寸使居中
+    $('.hot-point-wrap > img').load(function() {
+        $(this).parent('.hot-point-wrap').width($(this).width());
+    });
+
+    //Bind Hover event
+    $('.hot-point').hover(function() {
+        $(this).addClass('hover');
+    }, function() {
+        $(this).removeClass('hover');
+    });
+});
+
+//商品详情懒加载
+lazyLoad($('#details-html img'));
+
+//只有一个尺码(多个或一个颜色)时默认选中第一个未售罄的颜色的第一个尺码
+(function() {
+    var hasOnlyOneSize = true,
+        i;
+
+    for (i = 0; i < $sizes.length; i++) {
+        if ($sizes.eq(i).find('li').length !== 1) {
+            hasOnlyOneSize = false;
+            break;
+        }
+    }
+
+    if (hasOnlyOneSize) {
+        $sizes.eq($('.colors .focus').index()).find('li').click();
+    }
+}());
+
+//咨询和评价
+(function() {
+    var commentPage = 1,
+        consultPage = 1;
+
+    var commentsTpl = Handlebars.compile($('#comments-tpl').html()),
+        consultsTpl = Handlebars.compile($('#consults-tpl').html());
+
+    var $commentsUl = $('#comments-ul'),
+        $consultsUl = $('#consults-ul');
+
+    var $commentNum = $('.comment-num'),
+        $consultNum = $('.consult-num');
+
+    var loadingComments,
+        loadingConsults;
+
+    //购买评价
+    function loadComments() {
+        if (loadingComments) {
+            return;
+        }
+
+        loadingComments = true;
+        $.ajax({
+            type: 'GET',
+            url: '/product/item/comments',
+            data: {
+                productId: id,
+                page: commentPage
+            }
+        }).then(function(data) {
+            var res;
+
+            if (data.code === 200) {
+                res = data.data;
+
+                if (res.length === 0) {
+                    $commentsUl.next('.more-wrap').addClass('hide');
+                    return;
+                }
+
+                //更新总数显示
+                $commentNum.text(res[0].total);
+
+                $commentsUl.append(commentsTpl({
+                    comments: res
+                }));
+                commentPage++;
+            }
+        }).always(function() {
+            loadingComments = false;
+        });
+    }
+
+    //顾客咨询
+    function loadConsults() {
+        if (loadingConsults) {
+            return;
+        }
+
+        loadingConsults = true;
+
+        $.ajax({
+            type: 'GET',
+            url: '/product/item/consults',
+            data: {
+                productId: id,
+                page: consultPage
+            }
+        }).then(function(data) {
+            var res;
+
+            if (data.code === 200) {
+                res = data.data;
+
+                if (res.length === 0) {
+                    $consultsUl.next('.more-wrap').addClass('hide');
+                    return;
+                }
+
+                //更新总数显示
+                $consultNum.text(res[0].total);
+
+                $consultsUl.append(consultsTpl({
+                    consults: res
+                }));
+                consultPage++;
+            }
+        }).always(function() {
+            loadingConsults = false;
+        });
+    }
+
+    //评价和咨询切换
+    $('.consult-comment').on('click', '.title', function() {
+        var $this = $(this),
+            index = $this.index();
+
+        var $comments = $('.comments'),
+            $consults = $('.consults');
+
+        if ($this.hasClass('cur')) {
+            return;
+        }
+
+        $this.addClass('cur');
+        $this.siblings('.cur').removeClass('cur');
+
+        if (index === 0) {
+
+            //咨询
+            $consults.slideDown(SLIDETIME);
+            $comments.slideUp(SLIDETIME);
+        } else {
+            $consults.slideUp(SLIDETIME);
+            $comments.slideDown(SLIDETIME);
+        }
+    }).on('click', '.load-more', function() {
+        var $this = $(this);
+
+        if ($this.hasClass('load-more-comments')) {
+            loadComments();
+        } else {
+            loadConsults();
+        }
+    });
+
+    //我要咨询
+    $('#consults-btn').click(function() {
+
+        //TODO:点击我要资讯的时候更新验证码显示
+        $('.new-consult').removeClass('hide');
+        $('.consult-success').addClass('hide');
+    });
+
+    //提交咨询
+    $('#submit-consult').click(function() {
+        var $this = $(this),
+            $parent = $this.closest('.new-consult'),
+            $textarea = $parent.find('.my-consult'),
+            content = $.trim($textarea.val());
+
+        var $consultWarn = $parent.find('.consult-warn');
+
+        var pass = true;
+
+        if (content === '') {
+            $textarea.addClass('error');
+            $consultWarn.removeClass('hide');
+
+            pass = false;
+        } else {
+            $textarea.removeClass('error');
+            $consultWarn.addClass('hide');
+        }
+
+        if (pass === false) {
+            return;
+        }
+
+        $.ajax({
+            type: 'POST',
+            url: '/product/item/addconsult',
+            data: {
+                productId: id,
+                content: content
+            }
+        }).then(function(data) {
+            var code = data.code;
+
+            if (code === 200) {
+                $parent.addClass('hide');
+
+                $parent.siblings('.consult-success').removeClass('hide');
+
+                //清空输入
+                $textarea.val('');
+            } else if (code === 403) {
+
+                //跳转登录页
+                location.href = data.data.url;
+            }
+        });
+    });
+
+    loadComments();
+    loadConsults();
+}());
+});
+define("js/common/dialog", ["jquery","handlebars","source-map"], function(require, exports, module){
+/**
+ * 弹框公共组件
+ * @author: xuqi<qi.xu@yoho.cn>
+ * @date: 2016/2/24
+ */
+
+var $ = require("jquery"),
+    Handlebars = require("handlebars");
+
+var defaultOptions = {
+    mask: true,
+    closeIcon: true,
+    refreshOnClose: false
+};
+
+var tpl =
+    '<div class="yoho-dialog {{className}} hide">' +
+        '{{#if closeIcon}}' +
+            '<span class="close">' +
+                '<i class="iconfont">&#xe602;</i>' +
+            '</span>' +
+        '{{/if}}' +
+        '<div class="content">' +
+            '{{{content}}}' +
+        '</div>' +
+        '<div class="btns">' +
+            '{{# btns}}' +
+                '<span {{#if id}}id="dialog-{{id}}"{{/if}} class="btn{{#each btnClass}} {{.}}{{/each}}">' +
+                    '{{name}}' +
+                '</span>' +
+            '{{/ btns}}' +
+        '</div>' +
+    '</div>';
+
+var tplFn = Handlebars.compile(tpl);
+
+//背景蒙版
+function createMask() {
+    if ($('.body-mask').length === 0) {
+        $('body').append('<div class="body-mask hide"></div>');
+    }
+
+    return $('.body-mask').css({
+        height: $(document).height(),
+        width: $(document).width()
+    });
+}
+
+function createDialog(data) {
+    $('body').append(tplFn(data));
+
+    return $('.yoho-dialog');
+}
+
+function cerateSubContent(text) {
+    var $yohoDialog = $('.yoho-dialog'),
+        subContent = '<p class="sub-content">' + text + '</p>';
+
+    if ($yohoDialog && $yohoDialog.length > 0) {
+        $yohoDialog.find('.content').after(subContent);
+    }
+}
+
+function Dialog(options) {
+    var opt = $.extend({}, defaultOptions, options);
+    var that = this,
+        i;
+
+    //实现继承时,只返回实例,不生成html
+    if (opt.inherit) {
+        return this;
+    }
+
+    if (opt.mask) {
+        that.$mask = createMask();
+    }
+
+    that.$el = createDialog(opt);
+
+
+    if (opt.subContent) {
+        cerateSubContent(opt.subContent);
+    }
+
+    if (opt.subContents) {
+        for (i = opt.subContents.length - 1; i >= 0; i--) {
+            cerateSubContent(opt.subContents[i]);
+        }
+    }
+
+    //绑定x关闭事件
+    that.$el.find('.close').click(function() {
+        that.close();
+        if (options.refreshOnClose) {
+            window.location.reload();
+        }
+    });
+
+    //绑定btn关闭事件
+    that.$el.find('.btn-close').click(function() {
+        that.close();
+    });
+
+    function bindBtnEvt(index) {
+        that.$el.find('#dialog-' + opt.btns[index].id).on('click', function() {
+            opt.btns[index].cb && opt.btns[index].cb();
+        });
+    }
+
+    //绑定按钮事件
+    if (!!opt.btns) {
+        for (i = 0; i < opt.btns.length; i++) {
+            bindBtnEvt(i);
+        }
+    }
+}
+
+Dialog.prototype.close = function() {
+    this.$mask && this.$mask.addClass('hide');
+    this.$el.remove();
+};
+
+Dialog.prototype.show = function() {
+    this.$mask && this.$mask.removeClass('hide');
+    this.$el.removeClass('hide').css({
+        'margin-top': -this.$el.height() / 2,
+        'margin-left': -this.$el.width() / 2
+    });
+};
+
+exports.Dialog = Dialog;
+
+//Alert
+function Alert(content) {
+    var that = this;
+    var option = {
+        content: content,
+        className: 'alert-dialog',
+        btns: [
+            {
+                id: 'alert-sure',
+                btnClass: ['alert-sure'],
+                name: '确定',
+                cb: function() {
+                    that.close();
+                }
+            }
+        ]
+    };
+
+    Dialog.call(this, option);
+}
+
+Alert.prototype = new Dialog({
+    inherit: true
+});
+Alert.prototype.constructor = Alert;
+exports.Alert = Alert;
+
+//Confirm
+function Confirm(opt) {
+    var that = this;
+
+    var option = {
+        content: opt.content,
+        className: 'confirm-dialog',
+        btns: [
+            {
+                id: 'confirm-sure',
+                btnClass: ['confirm-sure'],
+                name: '确定',
+                cb: opt.cb
+            },
+            {
+                id: 'confirm-cancel',
+                btnClass: ['confirm-cancel'],
+                name: '取消',
+                cb: function() {
+                    that.close();
+                }
+            }
+        ]
+    };
+
+    Dialog.call(this, option);
+}
+
+Confirm.prototype = new Dialog({
+    inherit: true
+});
+Confirm.prototype.constructor = Confirm;
+exports.Confirm = Confirm;
+
+});
+define("js/common/share", ["jquery"], function(require, exports, module){
+/**
+ * 分享
+ * @author: xuqi<qi.xu@yoho.cn>
+ * @date: 2016/3/1
+ */
+
+var $ = require("jquery");
+
+function shareBase(options) {
+    var openUrl = '';
+    var defOption = {
+        title: '',
+        url: window.location.href,
+        weixinUrl: '',
+        image: '',
+        desc: '',
+        channel: ''
+    };
+    var shareChannels = ['weibo', 'tweibo', 'qzone', 'renren', 'qq', 'douban','weixin'];
+    var sharebox;
+    var shareCon = '<em><i></i></em>';
+
+    defOption = $.extend(defOption, options);
+
+    if ($.inArray(defOption.channel, shareChannels) === -1) {
+        alert('不存在的分享平台!');
+        return false;
+    }
+
+    switch (defOption.channel) {
+        case 'weibo':
+            openUrl = 'http://service.weibo.com/share/share.php?url=' + defOption.url + '&title=' +
+                defOption.title + '&appkey=3739328910&searchPic=true&pic=' + defOption.image;
+            break;
+        case 'tweibo':
+            openUrl = 'http://share.v.t.qq.com/index.php?c=share&a=index&url=' + defOption.url + '&title=' +
+                defOption.title + '&appkey=c0af9c29e0900813028c2ccb42021792&pic=' + defOption.image;
+            break;
+        case 'qzone':
+            openUrl = 'http://sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_onekey?url=' + defOption.url + '&title=' +
+                defOption.title + '&desc=&summary=' + defOption.desc + '&site=YOHO!BUY 有货&pics=' + defOption.image;
+            break;
+        case 'renren':
+            openUrl = 'http://widget.renren.com/dialog/share?resourceUrl=' + defOption.url + '&srcUrl=' +
+                defOption.url + '&desc=' + defOption.desc + '&title=' + defOption.title + '&description=' +
+                defOption.desc + '&pic=' + defOption.image;
+            break;
+        case 'qq':
+            openUrl = 'http://connect.qq.com/widget/shareqq/index.html?url=' + defOption.url + '&desc=' +
+                defOption.desc + '&title=' + defOption.title.replace('%', '') + '&desc=&summary=' +
+                defOption.desc + '&site=YOHO!BUY 有货&pics=' + defOption.image;
+            break;
+        case 'weixin':
+            openUrl = 'http://s.jiathis.com/qrcode.php?url=' + defOption.weixinUrl + '&desc=' +
+                defOption.desc + '&title=' + defOption.title + '&description=' +
+                defOption.desc + '&pic=' + defOption.image;
+            break;
+        case 'douban':
+            openUrl = '//www.douban.com/share/service?href=' + defOption.url + '&text=' +
+                defOption.desc + '&image=' + defOption.image + '&title=' + defOption.title + '&comment=';
+            break;
+    }
+
+    if (defOption.channel === 'weixin') {
+        if (!defOption.self) {
+            return;
+        }
+
+        sharebox = defOption.self.closest('.share-to').find('.weixin-share-box');
+
+        if (sharebox.length > 0) {
+            shareCon += '<div class="con"><h2>分享到微信朋友圈</h2><p class="pic">' +
+            '<img src="' + openUrl + '" /></p><p class="w">打开微信,点击底部得“发现”,使用<br/>“扫一扫“即可将网页分享到我的朋友圈。</p>' +
+            '<a href="javascript:void(0)" class="close">x</a></div>';
+            sharebox.find('div').length > 0 ? sharebox.show() : sharebox.html(shareCon).show();
+
+            sharebox.find('.close').click(function() {
+                $(this).closest('.weixin-share-box').hide();
+            });
+        }
+    } else {
+        window.open(encodeURI(openUrl));
+    }
+}
+
+function share(channel, self) {
+    var title = document.title.replace(/(^\s*)|(\s*$)/g, '');
+    var desc = $('#share-desc').val();
+    var image = $('#share-img').val();
+    var weixinUrl = $('#weixin-url').val();
+
+
+    if (channel === 'weibo' || channel === 'tqq') {
+        shareBase({
+            channel: channel,
+            title: title,
+            image: image
+        });
+    } else {
+        shareBase({
+            channel: channel,
+            title: title,
+            desc: desc,
+            image: image,
+            self: self,
+            weixinUrl: weixinUrl
+        });
+    }
+}
+
+$('.share-wrapper').on('click', 'i', function() {
+    var $el = $(this),
+        type = $el.data('type'),
+        $weixinShareBox = $('.weixin-share-box');
+
+    if (type === 'weixin') {
+        share(type, $el);
+    } else {
+        $weixinShareBox.hide();
+        share(type);
+    }
+});
+
+});
+define("js/product/shop-index", ["jquery","lazyload","handlebars","source-map","jquery-pjax"], function(require, exports, module){
+/**
+ * 首页
+ * @author: bikai<kai.bi@yoho.cn>
+ * @date: 2016/4/26
+ */
+
+var $ = require("jquery"),
+    lazyLoad = require("lazyload"),
+    product = require("js/product/product");
+
+var $shopIntro = $('.shop-intro'),
+    $shopCollect = $('.shop-collect'),
+    $sliderLeft = $('.slider-left'),
+    $allGoods = $('.all-goods'),
+    $fixedArea = $allGoods.find('.fixed-area'),
+    fixedAreaTop = $fixedArea.offset() ? $fixedArea.offset().top : 0;
+
+// Pjax
+require("jquery-pjax");
+
+require("js/common/slider");
+require("js/product/list");
+
+product.init(4);
+
+lazyLoad($('img.lazy'));
+
+if ($sliderLeft.length) {
+    $sliderLeft.slider();
+}
+
+$shopIntro.on('click', function() {
+    $('.pop-shop-intro').show();
+    $('.mask').show();
+});
+
+$('.close-btn, .mask').on('click', function() {
+    $('.pop-shop-intro').hide();
+    $('.mask').hide();
+});
+
+
+// 收藏店铺
+function colloectAction() {
+    var $colloectIcon = $shopCollect.find('.shop-collect-ico'),
+        $colloectText = $shopCollect.find('.shop-collect-text'),
+        isFavorite = $colloectIcon.hasClass('on'),
+        needColloect = window.cookie('needColloect');
+
+    $.ajax({
+        type: 'post',
+        url: '/shoplist/setFavorite',
+        data: {
+            isFavorite: isFavorite ? 0 : 1,
+            needColloect: needColloect,
+            shopId: $shopCollect.data('id')
+        },
+        success: function(res) {
+            if (res.code === 200) {
+                if (isFavorite) {
+                    $colloectIcon.removeClass('on');
+                    $colloectText.html('收藏');
+                } else {
+                    $colloectIcon.addClass('on');
+                    $colloectText.html('已收藏');
+                }
+
+                if (needColloect) {
+                    $colloectIcon.addClass('on');
+                    $colloectText.html('已收藏');
+                }
+            } else if (res.code === 401) {
+                window.setCookie('needColloect', '1', {
+                    path: '/',
+                    domain: '.yohobuy.com',
+                    expires: 90
+                });
+                location.href = res.url;
+            }
+        }
+    });
+}
+
+$shopCollect.on('click', function() {
+    colloectAction();
+});
+
+if (window.cookie('needColloect') * 1 === 1 && window.getUid()) {
+    colloectAction();
+    window.setCookie('needColloect', '', {
+        path: '/',
+        domain: '.yohobuy.com',
+        expires: 1
+    });
+}
+
+// 全部商品使用 pjax 翻页
+$allGoods.pjax('a.pjax', '.goods-wrap', {
+    timeout: 5000,
+    scrollTo: false // 默认滚动没有动画,禁止掉
+}).on('pjax:end', function() {
+    product.init(4);
+    lazyLoad($('img.lazy'));
+
+    $fixedArea = $allGoods.find('.fixed-area'); // 翻页后 fixed-area 区域有变化,需要更新选择器
+
+    // 分页后移动到全部商品
+    $('html, body').animate({
+        scrollTop: $allGoods.offset().top - 30
+    });
+}).on('click', '.menu-list li', function() {
+    var $this = $(this);
+
+    $this.siblings().removeClass('on');
+    $this.addClass('on');
+});
+
+$(window).on('scroll', function() {
+    var scrollTop = $(this).scrollTop();
+
+    if (scrollTop > fixedAreaTop) {
+        $fixedArea.css({
+            position: 'fixed',
+            top: 0
+        });
+    } else {
+        $fixedArea.css({
+            position: 'static',
+            top: 0
+        });
+    }
+});
+
+});
+define("js/index/index", ["jquery","lazyload","handlebars","source-map"], function(require, exports, module){
+/**
+ * 首页
+ * @author: xuqi<qi.xu@yoho.cn>
+ * @date: 2015/11/23
+ */
+
+var $ = require("jquery"),
+    lazyLoad = require("lazyload"),
+    homePage = $('.home-page').data('page'),
+    brandUrl = $('.logo-brand').data('url');
+
+
+require("js/common/slider");
+require("js/common/slider2");
+require("js/common/logo-brand");
+
+require("js/common/accordion");
+
+$(document).on('mouseenter', '.imgopacity a img', function() {
+    $(this).css('opacity', 0.8);
+});
+$(document).on('mouseout', '.imgopacity a img', function() {
+    $(this).css('opacity', 1);
+});
+
+
+
+if ($.inArray(homePage, ['boys','girls','kids','lifestyle']) > -1) {
+    require("js/common/new-arrivls")({
+        type: homePage,
+        url: '/common/getNewArrival',
+        count: (homePage === 'boys') || (homePage === 'lifestyle') ? 5 : 4,
+        rows: [5,3]
+    });
+    window.setCookie('_Channel', homePage, {
+        domain: '.yohobuy.com',
+        path: '/',
+        expires: 365
+    });
+}
+
+
+
+lazyLoad($('img.lazy'));
+if (homePage === 'boys') {
+    $('.slide-container').slider({
+        pagination: '.thumb-pagination'
+    });
+} else {
+    $('.center-col').slider();
+    $('.slide-container').slider();
+}
+
+if (homePage === 'boys') {
+    $('.logo-brand').logoBrand({
+        url: brandUrl
+    });
+    $('.img-brand').slider2();
+} else {
+    $('.logo-brand').logoBrand({
+        showNum: 10,
+        url: brandUrl
+    });
+    $('.img-slider-wrapper').slider2();
+}
+
+
+
+});
+define("js/common/slider2", ["jquery"], function(require, exports, module){
+/**
+ * (品牌优选)图片幻灯片插件
+ * @author: wangqing(robin.wang@yoho.cn)
+ * @date: 205/7/2
+ */
+var $ = require("jquery");
+
+(function($) {
+    $.fn.slider2 = function(options) {
+        function autoplay(index, limit, toright) {
+            if (toright === true) {
+                $('.next').trigger('click');
+                if (index === (limit - 3)) {
+                    autoplayrecycle(--index, limit, false);
+                } else {
+                    autoplayrecycle(++index, limit, true);
+                }
+            } else {
+                $('.prev').trigger('click');
+                if (index === 0) {
+                    autoplayrecycle(++index, limit, true);
+                } else {
+                    autoplayrecycle(--index, limit, false);
+                }
+            }
+        }
+
+        function autoplayrecycle(index, limit, toright) {
+            window.setTimeout(autoplay, $.fn.slider2.defaults.delaytime, index, limit, toright);
+        }
+
+        function changePic(index, width, callback) {
+            var offersetleft = -(index * width);
+
+            $('.img-list')
+                .animate({
+                    'margin-left': offersetleft + 'px'
+                }, 'slow', callback);
+
+        }
+        $.fn.slider2.defaults = {
+            index: 0,
+            shownum: 3,
+            autoplay: false,
+            delaytime: 3000
+        };
+        return this.each(function() {
+            var opts = $.extend({}, $.fn.slider2.defaults, options);
+            var mr = parseInt($('.img-item').css('margin-right'));
+            var $banneritems = $('.img-item');
+            var bannerarr = [];
+            var _width = $banneritems.outerWidth() + mr,
+                _size = $banneritems.length,
+                j = 0;
+
+            if (_size <= 3) {
+                $(this).find('.img-brand-switch').hide();
+                return;
+            }
+            for (j = 0; j < $banneritems.length; j++) {
+                bannerarr.push($banneritems[j]);
+            }
+            _size = bannerarr.length;
+            $(this).find('.img-list').css({
+                width: (_width * _size)
+            });
+            $(this).find('.next').on('click', function(e) {
+                var i = 0,
+                    _obj = null;
+
+                e.preventDefault();
+
+                changePic(3, _width, function() {
+                    for (i = 0; i < 3; i++) {
+                        _obj = bannerarr.shift();
+
+                        $('.img-item').parent().append(_obj.outerHTML);
+                        bannerarr.push(_obj);
+                    }
+                    $('.img-item').first().remove();
+                    $('.img-item').first().remove();
+                    $('.img-item').first().remove();
+                    $('.img-list').css({
+                        'margin-left': '0'
+                    });
+                });
+            });
+            $(this).find('.prev').on('click', function(e) {
+                var i = 0,
+                    _obj = null,
+                    offersetleft = '';
+
+                e.preventDefault();
+                for (i = 0; i < 3; i++) {
+                    _obj = bannerarr.pop();
+
+                    $('.img-item').parent().prepend(_obj.outerHTML);
+                    bannerarr.unshift(_obj);
+                }
+                offersetleft = 3 * _width;
+                $('.img-item').last().remove();
+                $('.img-item').last().remove();
+                $('.img-item').last().remove();
+                $('.img-list').css({
+                    'margin-left': -offersetleft + 'px'
+                });
+                changePic(0, _width);
+            });
+            if (opts.autoplay === true) {
+                autoplayrecycle(opts.index, _size, true);
+            }
+        });
+
+    };
+
+}($));
+});
+define("js/common/accordion", ["jquery"], function(require, exports, module){
+var Slide = require("js/common/yohoui/YH.slide");
+var $ = require("jquery");
+
+var $contain = $('.slide-accordion');
+var $item = $contain.find('li');
+
+var $width = $item.width();
+var $spn = parseInt($('.home-page').width()) === 1150 ? (120 + 5) : (102 + 5);
+var slide;
+
+function switchfun(to) {
+    $item.each(function(index) {
+        $(this).css('zIndex', index);
+        if (index <= to) {
+            $(this).stop().animate({
+                left: index * $spn
+            }, 400);
+        } else {
+            $(this).stop().animate({
+                left: (to) * $spn + $width + $spn * (index - to - 1)
+            }, 400);
+        }
+    });
+}
+
+switchfun(0);
+
+slide = new Slide({
+    length: 5,
+    loop: false,
+    auto: false,
+    timeout: 2,
+    index: 0
+});
+
+slide.on('change', function(data) {
+    switchfun(data.to);
+});
+
+$item.mouseover(function() {
+    slide.go($(this).index());
+});
+
+slide.init();
+});
+define("js/common/yohoui/YH.slide", [], function(require, exports, module){
+var me = require("js/common/yohoui/YH.base");
+
+var slide = function(options) {
+    this.__lastTime = null;
+    this.__isStop = false;
+    options = me.extend(this.defaults, options);
+    slide.superclass.constructor.call(this, options);
+};
+
+me.inherit(slide, me.assembly);
+
+slide.prototype.oninit = function() {
+    var __self = this,
+        _o = __self.options;
+
+    if (_o.auto) {
+        __self.play();
+    }
+    __self.go(_o.index);
+    return this;
+};
+
+slide.prototype.go = function(_to, _from) {
+    var __self = this,
+        _o = __self.options;
+    var _direction,_loop,_current,_index,_originalto,o,key,_e;
+
+    if (__self.__lastTime) {
+        clearTimeout(__self.__lastTime);
+        __self.__lastTime = null;
+    }
+    _from = 'undefined' === typeof _from ? _o.index : _from;
+    _direction = _to === _from ? 0 : _to > _from ? 1 : -1;
+    _loop = _o.loop, _index = _o.length - 1, _originalto = _to;
+    if (_loop) {
+        if (_to > _index) {
+            _to = _to - _index - 1;
+        } else {
+            if (0 > _to) {
+                _to = _to + _index + 1;
+            } else {
+                _to = _to;
+            }
+        }
+    } else {
+        if (_to > _index) {
+            _to = _index;
+        } else {
+            if (0 > _to) {
+                _to = 0;
+            } else {
+                _to = _to;
+            }
+        }
+    }
+    _current = _o.index = _to;
+
+    o = {
+        from: _from,
+        to: _to,
+        originalto: _originalto,
+        direction: _direction
+    };
+
+    for (key in __self.registerEvent) {
+        if (__self.registerEvent[key].length > 0) {
+            for (_e in __self.registerEvent[key]) {
+                if (__self.registerEvent[key].hasOwnProperty(_e)) {
+                    __self.registerEvent[key][_e](o);
+                }
+            }
+        }
+    }
+
+    if (_current !== _index || _to) {
+        if (!__self.__isStop && _o.auto) {
+            __self.play();
+        }
+    } else {
+        if (__self.__lastTime) {
+            clearTimeout(__self.__lastTime);
+        }
+    }
+};
+
+slide.prototype.play = function() {
+    var __self = this,
+        _o = __self.options;
+
+    __self.__lastTime = setTimeout(function() {
+        __self.next();
+    }, 1000 * _o.timeout);
+    return this;
+};
+
+slide.prototype.next = function() {
+    var __self = this,
+    _o = __self.options;
+    var _from = _o.index;
+    var _to = _from + _o.step;
+
+    __self.go(_to, _from);
+};
+
+slide.prototype.prev = function() {
+    var __self = this,
+        _o = __self.options;
+    var _from = _o.index;
+    var _to = _from - _o.step;
+
+    __self.go(_to, _from);
+};
+
+slide.prototype.pause = function() {
+    var __self = this;
+
+    if (__self.__lastTime) {
+        clearTimeout(__self.__lastTime);
+    }
+    __self.__isStop = true;
+};
+
+slide.prototype.resume = function() {
+    var __self = this;
+
+    __self.__isStop = false;
+    __self.play();
+};
+
+slide.prototype.defaults = {
+    index: 0,
+    timeout: 5,
+    step: 1,
+    per: 1,
+    auto: false,
+    loop: false
+};
+
+module.exports = slide;
+});
+define("js/common/yohoui/YH.base", [], function(require, exports, module){
+var assembly;
+var classtype = {
+        '[object Array]': 'array',
+        '[object Boolean]': 'boolean',
+        '[object Date]': 'date',
+        '[object Function]': 'function',
+        '[object Number]': 'number',
+        '[object Object]': 'object',
+        '[object RegExp]': 'regexp',
+        '[object String]': 'string'
+    };
+var me = {
+    __Index: 0,
+    list: [],
+    get: function(id) {
+        return id === undefined ? this.list : this.list[id];
+    },
+    fn: function() { },
+    inherit: function(childClass, parentClass) {
+        var Constructor = me.fn;
+
+        Constructor.prototype = parentClass.prototype;
+        childClass.prototype = new Constructor();
+
+        childClass.prototype.constructor = childClass;
+        childClass.superclass = parentClass.prototype;
+
+        if (childClass.prototype.constructor === Object.prototype.constructor) {
+            childClass.prototype.constructor = parentClass;
+        }
+    },
+    extend: function(obj, newProperties) {
+        var key;
+
+        for (key in newProperties) {
+            if (newProperties.hasOwnProperty(key)) {
+                obj[key] = newProperties[key];
+            }
+        }
+        return obj;
+    },
+    copy: function(TargetClass, obj, newProperties) {
+        var value,o,key;
+
+        if (typeof obj !== 'object') {
+            return obj;
+        }
+        value = obj.valueOf();
+        if (obj !== value) {
+            return new obj.constructor(value);
+        }
+        if (obj instanceof obj.constructor && obj.constructor !== Object) {
+            if (TargetClass) {
+                o = new TargetClass();
+            } else {
+                o = me.clone(obj.constructor.prototype);
+            }
+
+            for (key in obj) {
+                if (TargetClass || obj.hasOwnProperty(key)) {
+                    o[key] = obj[key];
+                }
+            }
+        } else {
+            o = {};
+            for (key in obj) {
+                if (o.hasOwnProperty(key)) {
+                    o[key] = obj[key];
+                }
+            }
+        }
+        if (newProperties) {
+            for (key in newProperties) {
+                if (o.hasOwnProperty(key)) {
+                    o[key] = newProperties[key];
+                }
+            }
+        }
+
+        return o;
+    },
+    clone: function(obj) {
+        me.__cloneFunc.prototype = obj;
+        return new me.__cloneFunc();
+    },
+    __cloneFunc: function() {
+    },
+    delegate: function(func, scope) {
+        var args;
+
+        scope = scope || window;
+
+        if (arguments.length > 2) {
+            args = Array.prototype.slice.call(arguments, 2);
+
+            return function() {
+                return func.apply(scope, args);
+            };
+        } else {
+            return function() {
+                return func.call(scope);
+            };
+        }
+    },
+    dom: function($select, classCss) {
+        var wrap = $select;
+        var name, DOM = {
+            wrap: wrap
+        },
+            els = wrap[0].getElementsByTagName('*'),
+            elsLen = els.length;
+        var i;
+
+        for (i = 0; i < elsLen; i++) {
+            name = els[i].className;
+            if (name.indexOf(classCss) > -1) {
+                name = name.split(classCss)[1];
+            }
+            if (name) {
+                DOM[name] = wrap.find(els[i]);
+            }
+        }
+        return DOM;
+    },
+
+    //模板引擎
+    template: function() {
+        var result, key, reg,i;
+        var args = arguments;
+
+        if (args.length > 0) {
+            if (me.isString(args[0])) {
+                result = args[0];
+                if (args.length === 2 && me.isObject(args[1])) {
+                    for (key in args[1]) {
+                        if (args[1][key] !== undefined) {
+                            reg = new RegExp('({' + key + '})', 'g');
+
+                            result = result.replace(reg, args[1][key]);
+                        }
+                    }
+                } else {
+                    for (i = 1; i < args.length; i++) {
+                        if (args[i] !== undefined) {
+                            reg = new RegExp('({[' + (i - 1) + ']})', 'g');
+
+                            result = result.replace(reg, args[i]);
+                        }
+                    }
+                }
+            }
+        }
+        return result;
+    },
+    __type: function(obj) {
+        return obj == null ? String(obj) : classtype[Object.prototype.toString.call(obj)] || 'object';
+    },
+    isObject: function(obj) {
+        return this.isFunction(obj) || !!(obj && 'object' === typeof obj);
+    },
+    isFunction: function(obj) {
+        return this.__type(obj) === 'function';
+    },
+    isArray: Array.isArray || function(obj) {
+        return this.__type(obj) === 'array';
+    },
+    isNum: function(obj) {
+        return !isNaN(parseFloat(obj)) && isFinite(obj);
+    },
+    isString: function(obj) {
+        return this.__type(obj) === 'string';
+    },
+    each: function(data, callback, args) {
+        var i, len;
+
+        if (me.isArray(data)) {
+            for (i = 0, len = data.length; i < len; i++) {
+                if (callback.call(data[i], i, data[i], args) === false) {
+                    break;
+                }
+            }
+        } else {
+
+            for (i in data) {
+                if (callback.call(data[i], i, data[i], args) === false) {
+                    break;
+                }
+            }
+        }
+    },
+    funManager: {
+        __loadList: {},
+        __loadFun: function(item, callback, win) {
+
+            if (item.methord && me.isFunction(item.methord())) {
+                win = win || window;
+                item.methord()(item, function() {
+                    callback();
+                }, win);
+            }
+        },
+        load: function(fns, statechange, win, __index) {
+            __index = __index || 0;
+
+            if (fns[__index]) {
+                me.funManager.__loadFun(fns[__index], function() {
+                    me.funManager.load(fns, statechange, win, __index + 1);
+                }, win);
+            }
+            statechange(__index, win);
+        },
+        get: function(id) {
+            return this.__loadList[id];
+        }
+    },
+    log: function(msg) {
+        var console = window.console || {
+            log: function() { }
+        };
+
+        console.log(msg);
+    },
+    Event: {
+        mousewheel: function(e) {
+            var _eoe = e.originalEvent;
+            var _de = _eoe.detail ? _eoe.detail * -1 : _eoe.wheelDelta / 40;
+            var _direction = _de < 0 ? -1 : 1;
+
+            return {
+                direction: _direction,
+                unit: _de
+            };
+        },
+        __: function(_e, el, event, handle) {
+            var key;
+
+            for (key in _e) {
+                if (window[_e[key].validator]) {
+                    el[_e[key].validator](_e[key].prefix + event, handle, false);
+                    break;
+                }
+            }
+        },
+        add: function(el, event, handle) {
+            var _e = [
+                {
+                    validator: 'addEventListener',
+                    prefix: ''
+                },
+                {
+                    validator: 'attachEvent',
+                    prefix: 'on'
+                }
+                            ];
+
+            this.__(_e, el, event, handle);
+        },
+        remove: function(el, event, handle) {
+            var _e = [
+                {
+                    validator: 'removeEventListener',
+                    prefix: ''
+                },
+                {
+                    validator: 'detachEvent',
+                    prefix: 'on'
+                }
+                            ];
+
+            this.__(_e, el, event, handle);
+        }
+    },
+    getUid: function(_name) {
+        return me.template('me-{0}{1}-{2}', _name, new Date().getTime(), me.__Index++);
+    },
+    Browser: {
+        isTouch: function() {
+            var msGesture = window.navigator && window.navigator.msPointerEnabled && window.MSGesture;
+
+            return (('ontouchstart' in window) || msGesture || window.DocumentTouch) ? true : false;
+        },
+        Prefix: function() {
+            var i;
+
+            var props = ['perspectiveProperty', 'WebkitPerspective', 'MozPerspective', 'OPerspective', 'msPerspective'];
+            var obj = document.createElement('div');
+
+            for (i in props) {
+                if (obj.style[props[i]] !== undefined) {
+                    return me.template('-{0}-', props[i].replace('Perspective', '').toLowerCase());
+                }
+            }
+        },
+        parseURL: function(url) {
+            var a = document.createElement('a');
+            var ret,seg,len,i,s;
+
+            a.href = url;
+            return {
+                source: url,
+                protocol: a.protocol.replace(':', ''),
+                host: a.hostname,
+                port: a.port,
+                query: a.search,
+                params: (function() {
+                    ret = {},
+                    seg = a.search.replace(/^\?/, '').split('&'),
+                    len = seg.length, i = 0, s;
+
+                    for (; i < len; i++) {
+                        if (!seg[i]) {
+                            continue;
+                        }
+                        s = seg[i].split('=');
+                        ret[s[0]] = s[1];
+                    }
+                    return ret;
+                })(),
+                file: (a.pathname.match(/\/([^\/?#]+)$/i) || [null, ''])[1],
+                hash: a.hash.replace('#', ''),
+                path: a.pathname.replace(/^([^\/])/, '/$1'),
+                relative: (a.href.match(/tps?:\/\/[^\/]+(.+)/) || [null, ''])[1],
+                segments: a.pathname.replace(/^\//, '').split('/')
+            };
+        }
+    },
+    Array: {
+        indexOf: function(array, val) {
+            var i;
+
+            for (i = 0; i < array.length; i++) {
+                if (this[i] === val) {
+                    return i;
+                }
+            }
+            return -1;
+        },
+        remove: function(array, val) {
+            var index = this.indexOf(array, val);
+
+            if (index > -1) {
+                array.splice(index, 1);
+            }
+            return array;
+        }
+    }
+};
+
+assembly = function(options) {
+    this.initialized = false;
+    this.registerEvent = {
+        before: [],
+        change: [],
+        after: []
+    };
+    this.options = options;
+
+    this.init(options);
+};
+
+assembly.output = function() {
+    me.log(me.list);
+};
+assembly.prototype.oninit = me.fn;
+
+assembly.prototype.init = function(cfg) {
+    this.initialized = true;
+
+    // function _getClassName(_constructor, _constr) {
+    //     var _constr = _constr || "";
+    //     if (_constructor.superclass) {
+    //         var args = /(\w+)\.superclass/.exec(_constructor.arguments.callee);
+    //         if (args != null) {
+    //             _constr += args[1] + "-";
+    //             // return _getClassName(_constructor.superclass.constructor, _constr);
+    //         }
+    //     }
+    //     return _constr;
+    // }
+    this.__Uid = me.getUid('me');
+    this.oninit(cfg);
+    me.list[this.__Uid] = this;
+};
+assembly.prototype.destory = function() {
+    this.initialized = false;
+    delete me.list[this.__Uid];
+};
+assembly.prototype.getUid = function() {
+    return this.__Uid;
+};
+assembly.prototype.getOptions = function() {
+    return this.options;
+};
+assembly.prototype.config = function() {
+    if (arguments.length > 0) {
+        if (typeof (arguments[0]) === 'string') {
+            if (arguments.length > 1) {
+                this.options[arguments[0]] = arguments[1];
+            } else {
+                return this.options[name];
+            }
+        }
+    } else {
+        return this.options;
+    }
+};
+assembly.prototype.on = function(name, callback) {
+    var __self = this;
+    var _e = __self.registerEvent[name];
+
+    if (_e) {
+        _e.push(callback);
+    }
+    return _e;
+};
+assembly.prototype.off = function(name, callback) {
+    var __self = this;
+    var _e = __self.registerEvent[name];
+    var e = [];
+
+    me.each(_e, function(name, _callback) {
+
+        if (_callback === callback) {
+            e.push(name);
+        }
+    });
+
+    me.each(e.reverse(), function(name, _callback) {
+        _e.splice(_callback, 1);
+    });
+};
+me.assembly = assembly;
+
+module.exports = me;
+});
+define("js/common/new-arrivls", ["jquery","lazyload","handlebars","source-map"], function(require, exports, module){
+var $ = require("jquery"),
+        lazyload = require("lazyload");
+var Handlebars = require("handlebars");
+
+function InfiniteLoad(options) {
+    var defaults = {
+        index: 0,
+        isload: true,//是否正在加载
+        isrun: true,//判断是否执行
+        offset: {
+            height: null,
+            width: null
+        }
+    };
+
+    this.registerEvent = {
+        before: [],
+        change: [],
+        after: []
+    };
+
+    this.options = $.extend(true, {}, defaults, options);
+
+    return this;
+}
+
+InfiniteLoad.prototype.on = function(name, callback) {
+    var g = this;
+    var _e = g.registerEvent[name];
+
+    if (_e) {
+        _e.push(callback);
+    }
+    return _e;
+};
+
+InfiniteLoad.prototype.exect = function(key, params) {
+    var g = this;
+    var e;
+
+    if (g.registerEvent[key] && g.registerEvent[key].length > 0) {
+        for (e in g.registerEvent[key]) {
+            if (g.registerEvent[key].hasOwnProperty(e)) {
+                g.registerEvent[key][e](params);
+            }
+        }
+    }
+};
+
+InfiniteLoad.prototype.init = function() {
+    var g = this;
+    var p = this.options;
+
+    function __loadMore() {
+
+        if (p.isrun && p.isload && g.__directionCalculation()) {
+            p.isload = false;
+            p.index++;
+            g.exect('after', p);
+        }
+
+        g.exect('change', p);
+    }
+
+    g.exect('before', p);
+
+    $(window).scroll(__loadMore);
+};
+
+InfiniteLoad.prototype.emit = function() {
+    var p = this.options;
+
+    p.isload = true;
+};
+
+InfiniteLoad.prototype.stop = function() {
+    var p = this.options;
+
+    p.isrun = false;
+    p.isload = false;
+};
+
+InfiniteLoad.prototype.__directionCalculation = function() {
+    var p = this.options;
+
+    if (p.offset.height && p.offset.height() > 0 && $(window).scrollTop() + $(window).height() >= p.offset.height()) {
+        return true;
+    }
+    return false;
+};
+
+module.exports = function(data) {
+    var $container = $('#newarrivals .goods-container');
+    var $load = $('.loading a');
+    var load = new InfiniteLoad({
+        index: 1,
+        isload: false,
+        offset: {
+            height: function() {
+                return parseFloat($container.offset().top) + parseFloat($container.height()) - 200;
+            }
+        }
+    });
+    var loadAjax;
+    var url = data.url,
+        count = data.count,
+        rows = data.rows;
+
+    data.pageIndex = 0;
+
+    delete data.url;
+    delete data.count;
+    delete data.rows;
+
+    loadAjax = function(url, data, count) {
+
+        var options = {
+            type: 'POST',
+            url: url,
+            success: function(result) {
+                var code = result.code;
+                var myTemplate,len,pos;
+
+                if (code === 200) {
+                    len = result.goods.length % count;
+                    pos = result.goods.length - len - 1;
+
+                    result.goods.splice(pos, len);
+
+                    myTemplate = Handlebars.compile(load.tpl);
+
+                    $container.append(myTemplate(result.goods));
+                    data.pageIndex = data.pageIndex + result.goods.length;
+
+                    //懒加载插件貌似有点问题,图片先直接展示
+                    lazyload($container.find('img.lazy'));
+
+                    load.emit();
+                } else {
+
+                    load.stop();
+                    $load.html('查看更多');
+                }
+            },
+            error: function() {
+
+                load.stop();
+                $load.html('网络断开连接了~');
+            }
+        };
+
+        options.data = data;
+        $.ajax(options);
+    };
+
+
+    load.on('after', function(p) {
+
+        data.pageCount = count * rows[1];
+
+        loadAjax(url, data);
+    });
+
+    load.on('before', function(p) {
+
+
+        load.tpl = '{{#each this}}';
+        load.tpl += '<div class="good-info imgopacity" data-skn="{{skn}}">';
+        load.tpl += '    <div class="tag-container clearfix">';
+        load.tpl += '        {{# tags}}';
+        load.tpl += '            {{# isNew}}';
+        load.tpl += '                <span class="good-tag new-tag">NEW</span>';
+        load.tpl += '            {{/ isNew}}';
+        load.tpl += '            {{# isReNew}}';
+        load.tpl += '                <span class="good-tag renew-tag">再到着</span>';
+        load.tpl += '            {{/ isReNew}}';
+        load.tpl += '            {{# isSale}}';
+        load.tpl += '                <span class="good-tag sale-tag">SALE</span>';
+        load.tpl += '            {{/ isSale}}';
+        load.tpl += '            {{# isNewFestival}}';
+        load.tpl += '                <span class="good-tag new-festival-tag">新品节</span>';
+        load.tpl += '            {{/ isNewFestival}}';
+        load.tpl += '            {{# isLimit}}';
+        load.tpl += '                <span class="good-tag limit-tag">限量商品</span>';
+        load.tpl += '            {{/ isLimit}}';
+        load.tpl += '            {{# isYearEndPromotion}}';
+        load.tpl += '                <span class="good-tag yep-tag">年终大促</span>';
+        load.tpl += '            {{/ isYearEndPromotion}}';
+        load.tpl += '            {{# isYearMidPromotion}}';
+        load.tpl += '                <span class="good-tag ymp-tag">年中热促</span>';
+        load.tpl += '            {{/ isYearMidPromotion}}';
+        load.tpl += '        {{/ tags}}';
+        load.tpl += '    </div>';
+        load.tpl += '    <div class="good-detail-img">';
+        load.tpl += '        <a class="good-thumb" href="{{url}}" target= "_blank">';
+        load.tpl += '            <img class="lazy" data-original="{{thumb}}">';
+        load.tpl += '        </a>';
+        load.tpl += '        {{# isFew}}';
+        load.tpl += '            <p class="few-tag">即将售罄</p>';
+        load.tpl += '        {{/ isFew}}';
+
+        load.tpl += '        {{#if showColBtn}}';
+        load.tpl += '            <span class="col-btn iconfont{{#if coled}} coled{{/if}}">&#xe616;</span>';
+        load.tpl += '        {{/if}}';
+        load.tpl += '    </div>';
+        load.tpl += '    <div class="good-detail-text">';
+        load.tpl += '        <a href="{{url}}" target= "_blank">{{name}}</a>';
+        load.tpl += '        <p class="price">';
+        load.tpl += '            <span class="sale-price{{#unless marketPrice}}prime-cost{{/unless}}">';
+        load.tpl += '                ¥{{salePrice}}';
+        load.tpl += '            </span>';
+        load.tpl += '            {{# marketPrice}}';
+        load.tpl += '                <span class="market-price">¥{{.}}</span>';
+        load.tpl += '            {{/ marketPrice}}';
+        load.tpl += '        </p>';
+        load.tpl += '    </div>';
+        load.tpl += '</div>';
+        load.tpl += '{{/each}}';
+
+
+        data.pageCount = count * rows[0];
+
+        loadAjax(url, data, data.count);
+
+        //load.emit();
+    });
+
+    load.init();
+
+};
+});
+define("js/brand/index", ["jquery","lazyload","handlebars","source-map","dot"], function(require, exports, module){
+/**
+ * 首页
+ * @author: xuqi<qi.xu@yoho.cn>
+ * @date: 2015/11/23
+ */
+
+var $ = require("jquery"),
+    lazyLoad = require("lazyload");
+
+
+require("js/common/slider");
+require("js/brand/brands");
+
+lazyLoad($('img.lazy'));
+$('.slide-container').slider({
+    orient: true
+});
+});
+define("js/brand/brands", ["jquery","handlebars","source-map","dot"], function(require, exports, module){
+var $ = require("jquery"),
+    Handlebars = require("handlebars"),
+    dot = require("dot");
+
+var $tabs = $('.brands-tabs');
+var $list = $('.brands-list');
+var $gory = $('.brands-category');
+var $news = $('.news-txt ul');
+var $clearfix = $list.find('dl.clearfix');
+var $brand = $list.find('li>a');
+var $category = $gory.find('a');
+var $tab = $tabs.find('li>a');
+var $arr = $tabs.find('.hoverarr');
+var $thisTab;
+
+var categoryHeight = $category.height();
+var categoryTop = $category.offset() ? $category.offset().top : 0;
+var newsHeight = $news.height();
+var newsTop = $news.offset() ? $news.offset().top : 0;
+var timeout, _id;
+
+
+//用于临时存储数据
+var tempdata = {};
+
+var templete = '<div class="brands-dialog">';
+
+templete += '    <div class="brands-layer">';
+templete += '        <div class="layer-content">';
+templete += '            <div class="title">{{title}}</div>';
+templete += '            <div class="clearfix desc">';
+templete += '                <img src="{{icon}}">';
+templete += '                <p class="right">{{content}}</p>';
+templete += '            </div> ';
+templete += '            <div class="featured">';
+templete += '                <p>{{subtitle}}</p> ';
+templete += '                <div class="clearfix"> ';
+templete += '                    {{#each imgs}}';
+templete += '                    <img src="{{src}}">';
+templete += '                    {{/each}}';
+templete += '                </div>';
+templete += '            </div>';
+templete += '        </div>';
+templete += '    </div>';
+templete += '</div>';
+
+dot($('.brand-desc'));
+
+$.easing.easeOutQuint = function(x, t, b, c, d) {
+    return c * ((t = t / d - 1) * t * t * t * t + 1) + b;
+};
+
+function getQueryString(name) {
+    var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)');
+    var r = window.location.search.substr(1).match(reg);
+
+    if (r != null) {
+        return window.unescape(r[2]);
+    }
+    return null;
+}
+
+// 格式化资讯NEWS标题数量
+if ($news.length) {
+    $news.find('li').each(function() {
+        var $dom = $(this);
+        var domHeight = $dom.offset().top - newsTop + $dom.height();
+
+        if (domHeight > newsHeight) {
+            $dom.hide();
+        }
+    });
+}
+
+//头部图片TAB切换展示
+$tab.eq(0).parent('li').find('.brands-content').css('z-index', '1');
+
+_id = getQueryString('id') ? getQueryString('id') : 0;
+
+// 设置对应TAB选中
+$thisTab = $tab.eq(_id);
+$thisTab.find('.g-mask').addClass('g-mask-on');
+
+if (_id && $thisTab.length) {
+    $arr.css({
+        left: parseFloat($thisTab.offset().left) - parseFloat($tabs.offset().left)
+    });
+}
+$tab.hover(function() {
+    var $this = $(this);
+
+    clearTimeout(timeout);
+    timeout = setTimeout(function() {
+        var targetLeft = parseFloat($this.offset().left) - parseFloat($tabs.offset().left);
+
+        $arr.animate({
+            left: targetLeft
+        }, 200, 'easeOutQuint');
+    }, 50);
+    $tabs.find('.brands-content').removeAttr('style');
+    $this.parent('li').find('.brands-content').css('z-index', '1');
+
+}, function() {
+    clearTimeout(timeout);
+});
+
+//品牌类别滚动事件
+$(window).scroll(function() {
+    if ($(this).scrollTop() >= categoryTop) {
+        $gory.addClass('category-fix');
+    } else {
+        $gory.removeClass('category-fix');
+    }
+});
+
+//点击字母,页面滚动到相关区域
+$category.click(function() {
+    var name = $(this).attr('href').split('#')[1];
+    var targetTop = $list.find('[name=' + name + ']').offset().top - categoryHeight;
+
+    if (!$gory.hasClass('category-fix')) {
+        targetTop -= categoryHeight;
+    }
+
+    $('html,body').animate({
+        scrollTop: targetTop
+    }, 200);
+    return false;
+});
+
+
+//浮层代码
+function bindTemplete($select, data, templete) {
+    var $this = $select;
+    var offset = {
+        width: $this.width(),
+        left: $this.offset().left,
+        right: parseFloat($(window).width()) - parseFloat($this.offset().left) - parseFloat($this.width())
+    };
+
+    var $parent = $this.parent('li');
+    var myTemplate;
+
+    $list.find('.brands-dialog').remove();
+    myTemplate = Handlebars.compile(templete);
+    $parent.append(myTemplate(data));
+    dot($parent.find('.right'));
+
+    if (offset.right - 350 < 0) {
+        $parent.find('.brands-layer')
+                .addClass('brands-layer-right').css('left', -330 - offset.width);
+    }
+}
+
+//鼠标悬浮品牌,请求数据,并且展示
+function bindHoverEvent() {
+    $brand.unbind('mouseenter').unbind('mouseleave').hover(function() {
+        var $this = $(this);
+        var key = $this.attr('data-key');
+
+        var options = {
+            url: '/brands/brandinfo',
+            type: 'get',
+            data: {
+                brandId: key
+            },
+            success: function(_data) {
+
+                if (_data.code === 200 && _data.brand) {
+                    if (!tempdata.hasOwnProperty(_data.brand.key)) {
+                        tempdata[_data.brand.key] = _data.brand;
+                    }
+                    bindTemplete($this, tempdata[_data.brand.key], templete);
+                }
+            }
+        };
+
+        clearTimeout(timeout);
+        timeout = setTimeout(function() {
+            if (!tempdata.hasOwnProperty(key)) {
+                $.ajax(options);
+            } else {
+                bindTemplete($this, tempdata[key], templete);
+            }
+        }, 200);
+    }, function() {
+        clearTimeout(timeout);
+        $list.find('.brands-dialog').remove();
+    });
+}
+
+if ($clearfix.length < 26) {
+    $.ajax({
+        url: '/brands/brandList',
+        type: 'POST',
+        data: {
+            start: $clearfix.length ? ($clearfix.length + 1) : 1
+        },
+        success: function(_data) {
+            if (_data) {
+                $list.append(_data);
+                $brand = $list.find('li>a');
+                bindHoverEvent();
+            }
+        }
+    });
+}
+
+bindHoverEvent();
+});
+define("js/passport/entry", ["jquery","jquery.placeholder"], function(require, exports, module){
+/*
+ * 密码中心打包入口文件
+ */
+
+require("js/passport/reg");
+require("js/passport/back");
+require("js/passport/login");
+require("js/passport/reset");
+require("js/passport/vertification");
+require("js/passport/thirdlogin");
+require("js/passport/third-pwd");
+require("js/passport/relate");
+});
+define("js/passport/reg", ["jquery","jquery.placeholder"], function(require, exports, module){
+/*
+ * @description 注册页js
+ * @time 2015/12/14
+ */
+
+var $ = require("jquery"),
+    regValidate = require("js/passport/mail-phone-regx"),
+    computeComplex = require("js/passport/pwd-strength");
+
+var $registerPage = $('.register-page'),
+    $pwdTips = $('#pwd-tips'),
+    $pwdTip1 = $pwdTips.find('#pwd-tip1'),
+    $errTip = $('#err-tip'),
+    $registerBtn = $('#register-btn'),
+    $countDown = $('#count-down'),
+    $successBtn = $('.success-btn'),
+    countDown = 5,
+    clearT;
+
+var $sendCaptcha = $('#send-captcha'),
+    caCount = 4,
+    validateResult = [];
+
+var $pn = $('#phone-num'),
+    $mc = $('#msg-captcha'),
+    $pwd = $('#pwd'),
+    $repwd = $('#repwd'),
+    $ca = $('#captcha'),
+    timeResidue = 0;
+
+// 密码强度验证
+var $pwdIntensity = $('.pwd-intensity'),
+    $pwdParent = $pwdIntensity.closest('.pwd-intensity-container');
+
+//signup验证
+var $region = $('#country-code'),
+    $regionSelect = $('#region'),
+    isPwd = false,
+    pwdVal;
+
+var pwdReg = regValidate.pwdValidateRegx;
+
+var $curErrContainer;
+
+var oldPhone = ''; //如果手机号改变时刷新验证码
+
+require("jquery.placeholder");
+
+setTimeout(function() {
+    $pn.val('');
+    $mc.val('');
+    $pwd.val('');
+    $repwd.val('');
+    $ca.val('');
+}, 0);
+
+//验证码位数
+$ca.attr('maxlength', caCount);
+
+//密码规则提示
+$pwd.focus(function(event) {
+    $pwdTips.removeClass('hide');
+    isPwd = true;
+    pwdVal = $(this).val();
+}).blur(function() {
+    $pwdTips.addClass('hide');
+    isPwd = false;
+});
+
+
+//IE8 placeholder
+$('[placeholder]').placeholder();
+
+// 存储校验信息
+validateResult = [
+    {
+        id: 'phone-num',
+        message: '', //错误信息
+        status: false //当前的状态
+    },
+    {
+        id: 'captcha',
+        message: '',
+        status: false
+    },
+    {
+        id: 'msg-captcha',
+        message: '',
+        status: false
+    },
+    {
+        id: 'pwd',
+        message: '',
+        status: false
+    },
+    {
+        id: 'repwd',
+        message: '',
+        status: false
+    }
+];
+
+//刷新图形验证码
+function refreshPic() {
+    var time = new Date(),
+        $captchaImg = $('.captcha-img'),
+        captchaImgSrc = $captchaImg.attr('src').split('?')[0];
+
+    $captchaImg.attr('src', captchaImgSrc + '?t=' + time.getTime());
+}
+
+//手机号ajax校验
+function phoneAjaxFn(page, callback) {
+    var url,
+        data;
+
+    if (page === 'reg') {
+        url = '/passport/register/checkmobile';
+        data = {
+            mobile: $pn.val(),
+            area: $region.text().split('+')[1]
+        };
+    } else if (page === 'third') {
+        url = '/passport/autouserinfo/bindCheck';
+        data = {
+            mobile: $pn.val(),
+            area: $region.text().split('+')[1],
+            openId: $('#open-id').val(),
+            sourceType: $('#source-type').val()
+        };
+    }
+
+    validateResult[0].message = 'err';
+    validateResult[0].status = false;
+
+    $.ajax({
+        url: url,
+        type: 'POST',
+        data: data
+    }).then(function(data) {
+        if (!data) {
+            return;
+        }
+
+        switch (data.code) {
+            case 200:
+
+                if ($pn.val() !== oldPhone && oldPhone !== '') {
+
+                    // 如果手机号发生改变则刷新验证码并且更新状态
+                    refreshPic();
+                    $sendCaptcha.addClass('disable').attr('disabled', 'disabled');
+                    validateResult[1].message = '图形验证码错误';
+                    validateResult[1].status = false;
+                }
+
+                oldPhone = $pn.val();
+
+                validateResult[0].message = '';
+                validateResult[0].status = true;
+                break;
+            case 400:
+                refreshPic();
+                validateResult[0].message = data.message;
+                validateResult[0].status = false;
+                break;
+        }
+
+        callback();
+    });
+}
+
+//图形验证码ajax校验
+function picCaptchaAjaxFn(page, callback) {
+    var url;
+
+    if (page === 'reg') {
+        url = '/passport/register/piccaptcha';
+    } else if (page === 'third') {
+        url = '/passport/autouserinfo/checkPicCode';
+    }
+    $.ajax({
+        type: 'POST',
+        url: url,
+        data: {
+            verifyCode: $ca.val()
+
+            //mobile: $pn.val(),
+            //area: $region.text().split('+')[1]
+        }
+    }).then(function(data) {
+        if (!data) {
+            return;
+        }
+
+        switch (data.code) {
+            case 200:
+                validateResult[1].message = '';
+                validateResult[1].status = true;
+                break;
+            case 400:
+                refreshPic();
+                validateResult[1].message = '图形验证码错误';
+                validateResult[1].status = false;
+                break;
+        }
+        callback();
+    });
+}
+
+//短信验证码ajax校验
+function msgCaptchaAjaxFn(page, callback) {
+    var url;
+
+    if (page === 'reg') {
+        url = '/passport/register/msgcaptcha';
+    } else if (page === 'third') {
+        url = '/passport/autouserinfo/checkBindMsg';
+    }
+    $.ajax({
+        type: 'POST',
+        url: url,
+        data: {
+            code: $mc.val(),
+            mobile: $pn.val(),
+            area: $region.text().split('+')[1]
+        }
+    }).then(function(data) {
+        if (!data) {
+            return;
+        }
+
+        switch (data.code) {
+            case 200:
+                validateResult[2].message = '';
+                validateResult[2].status = true;
+                break;
+            case 400:
+                validateResult[2].message = '短信验证码错误';
+                validateResult[2].status = false;
+                break;
+        }
+
+        callback();
+    });
+}
+
+// 验证
+function validateRule(page, $element, callback) {
+
+    var val = $.trim($element.val()),
+        regionCode;
+
+
+
+    // 根据需求//redmine.yoho.cn/issues/3117改成上边的正则
+    // 对应的错误提示语也改了,感觉要不了多久就会改回来
+    // pwdReg = /^([a-zA-Z0-9\-\+_!@\#$%\^&\*\(\)\:\;\.=\[\]\\\',\?]){6,20}$/gi;
+
+    //手机号校验
+    if ($element.hasClass('phone-num')) {
+
+        regionCode = $region.text();
+
+
+        if (val === '') {
+            validateResult[0].message = '请输入手机号码';
+            validateResult[0].status = false;
+            callback();
+
+        } else {
+            if (!/^[0-9]+$/.test(val) ||
+                (regionCode === '+86' && !regValidate.phoneRegx[regionCode].test(val))) {
+                validateResult[0].message = '手机号码格式不正确,请重新输入';
+                validateResult[0].status = false;
+                callback();
+            } else {
+                phoneAjaxFn(page, callback);
+            }
+        }
+
+    //图形验证码校验
+    } else if ($element.hasClass('captcha')) {
+        if (val === '') {
+            validateResult[1].message = '请输入图形验证码';
+            validateResult[1].status = false;
+            callback();
+
+        } else if (val.length <= 3) {
+            validateResult[1].message = '图形验证码为4位';
+            validateResult[1].status = false;
+            callback();
+
+        } else {
+
+            // 并且手机号正确
+            if (validateResult[0].status) {
+                picCaptchaAjaxFn(page, callback);
+            } else {
+                validateResult[1].message = '图形验证码错误';
+                validateResult[1].status = false;
+                callback();
+            }
+
+        }
+
+    //短信验证码校验
+    } else if ($element.hasClass('msg-captcha')) {
+
+        if (val === '') {
+            validateResult[2].message = '请输入短信验证码';
+            validateResult[2].status = false;
+            callback();
+
+        } else if (val.length <= 3) {
+            validateResult[2].message = '短信验证码错误';
+            validateResult[2].status = false;
+            callback();
+
+        } else {
+
+            // 并且图形验证码正确
+            if (validateResult[1].status) {
+                msgCaptchaAjaxFn(page, callback);
+            } else {
+                validateResult[2].message = '短信验证码错误';
+                validateResult[2].status = false;
+                callback();
+            }
+        }
+
+    //密码校验
+    } else if ($element.hasClass('pwd')) {
+        if (val === '') {
+            validateResult[3].message = '请输入密码';
+            validateResult[3].status = false;
+
+        } else if (val.length < 6 || val.length > 20) {
+            validateResult[3].message = '密码只支持6-20位字符';
+            validateResult[3].status = false;
+
+        } else if (!pwdReg.test($element.val())) {
+            validateResult[3].message = '密码须字母和数字组合';
+            validateResult[3].status = false;
+
+        } else {
+            validateResult[3].message = '';
+            validateResult[3].status = true;
+        }
+        callback();
+
+    //二次密码校验
+    } else if ($element.hasClass('repwd')) {
+        if (val === '') {
+            validateResult[4].message = '请输入密码确认';
+            validateResult[4].status = false;
+
+        } else if ($pwd.val() !== val) {
+            validateResult[4].message = '与密码不一致,请重新输入';
+            validateResult[4].status = false;
+
+        } else {
+            validateResult[4].message = '';
+            validateResult[4].status = true;
+
+        }
+
+        callback();
+    }
+}
+
+function posErrTip() {
+    var tipPos = $curErrContainer.offset();
+
+    return $errTip.css({
+        top: tipPos.top - 40,
+        left: tipPos.left
+    });
+}
+
+//显示提示信息
+function showErrTip() {
+
+    var show = false,
+        i,
+        validateResultLen = validateResult.length;
+
+    for (i = 0; i < validateResultLen; i++) {
+        if (!show) {
+
+            //不可以通过status判断
+            if (!!validateResult[i].message && validateResult[i].message !== 'err') {
+
+                //显示错误提示
+                $errTip.find('span').text(validateResult[i].message);
+                $curErrContainer = $('#' + validateResult[i].id);
+                posErrTip().removeClass('hide');
+
+                show = true; //停止判断
+            } else {
+                $errTip.addClass('hide');
+            }
+        }
+    }
+}
+
+//显示红色边框
+function showBorder() {
+
+    var $errInput,
+        i,
+        validateResultLen = validateResult.length;
+
+    for (i = 0; i < validateResultLen; i++) {
+        if (!!validateResult[i].message) {
+
+            //显示红色边框
+            $errInput = $('#' + validateResult[i].id);
+            $errInput.addClass('error');
+
+        } else {
+
+            //去掉红色边框
+            $errInput = $('#' + validateResult[i].id);
+            $errInput.removeClass('error');
+        }
+    }
+}
+
+// 密码强度验证
+function pwdFn($obj) {
+    var pwd = $obj.val(),
+        pwdStrength = computeComplex(pwd),
+        level = 0;
+
+    if (pwdStrength === 0) {
+        level = 0;
+    } else if (pwdStrength <= 10) {
+        level = 1;
+    } else if (pwdStrength <= 20) {
+        level = 2;
+    } else {
+        level = 3;
+    }
+
+    switch (level) {
+        case 0:
+            $pwdParent.removeClass('red yellow green');
+            $pwdIntensity.removeClass('color');
+            break;
+        case 1:
+            $pwdParent.addClass('red').removeClass('yellow green');
+            $pwdIntensity.filter('.low').addClass('color');
+            $pwdIntensity.filter('.mid,.high').removeClass('color');
+            break;
+        case 2:
+            $pwdParent.addClass('yellow').removeClass('red green');
+            $pwdIntensity.filter('.low,.mid').addClass('color');
+            $pwdIntensity.filter('.high').removeClass('color');
+            break;
+        case 3:
+            $pwdParent.addClass('green').removeClass('yellow red');
+            $pwdIntensity.addClass('color');
+            break;
+    }
+
+    //提示框
+    if (pwd === '') {
+        $pwdTip1.removeClass('red yes no').addClass('default');
+    } else if (pwd.length < 6 || pwd.length > 20) {
+        $pwdTip1.removeClass('default yes').addClass('no red');
+    } else {
+        $pwdTip1.removeClass('default no red').addClass('yes');
+    }
+}
+
+//重新定位错误提示
+$(window).resize(function() {
+    if ($errTip.hasClass('hide')) {
+        return;
+    }
+
+    posErrTip();
+});
+
+// 失去焦点时开始校验
+// Tips: 不可以在获得焦点的时候验证,获得焦点和失去焦点的间隔太小,如果中间存在ajax校验的话会出现问题
+// ( ▼-▼ )注册页和信息完善页面接口不同
+exports.init = function(page) {
+
+    $('#agree-terms').click(function() {
+
+        var $this = $(this),
+            i,
+            passI = 0;
+
+        if (!!$this.attr('notchecked')) {
+
+            $this.removeAttr('notchecked');
+
+            //勾选
+            for (i = 0; i < validateResult.length; i++) {
+                if (validateResult[i].status) {
+                    passI++;
+                }
+            }
+            if (passI === 4) {
+                $registerBtn.removeClass('disable').removeAttr('disabled');
+            }
+        } else {
+
+            //取消勾选
+            $registerBtn.addClass('disable').attr('disabled', 'disabled');
+            $this.attr('notchecked', 'notchecked');
+        }
+    });
+
+    // 按回车键提交
+    $registerPage.on('keydown', function(e) {
+        var key = e.which;
+
+        if (key === 13) {
+            $registerBtn.click();
+        }
+    });
+
+    $registerPage.find('.va').keyup(function() {
+
+        var j,
+            statusLen = 0,
+            vLen = validateResult.length,
+            $that = $(this);
+
+        validateRule(page, $(this), function() {
+            showErrTip(); // 显示错误提示
+            showBorder(); // 显示红色边框
+
+            // 如果validateResult中有4个status为true表示验证通过
+            for (j = 0; j < vLen; j++) {
+
+                if (validateResult[j].status) {
+
+                    statusLen++;
+                }
+
+            }
+
+            if (statusLen === 4 && !$('#agree-terms').attr('notchecked')) {
+                $registerBtn.removeClass('disable').removeAttr('disabled');
+            } else {
+                $registerBtn.addClass('disable').attr('disabled', 'disabled');
+            }
+
+            // 图形验证通过时,发送短信按钮可点击
+            if (validateResult[1].status && timeResidue <= 0) {
+                $sendCaptcha.removeClass('disable').removeAttr('disabled');
+            } else {
+                $sendCaptcha.addClass('disable').attr('disabled', 'disabled');
+            }
+
+            //图形验证通过时,发送短信按钮可点击 end
+
+        });
+
+        // 如果是密码则校验强度
+        if (($that).hasClass('pwd')) {
+            pwdFn($that);
+        }
+
+    }).blur(function() {
+
+        /*validateRule($(this), function() {
+            showErrTip();
+            showBorder(); // 显示红色边框
+        });*/
+    });
+
+    $regionSelect.change(function() {
+
+        $region.text($('#region').val());
+
+        validateRule(page, $pn, showErrTip); //验证
+    });
+
+    // 点击发送验证码
+    $sendCaptcha.click(function() {
+        var t,
+            url;
+
+        if ($(this).hasClass('disable')) {
+            return;
+        }
+
+        timeResidue = 60;
+
+        $('#msg-tip').removeClass('hide');
+
+        $sendCaptcha.addClass('disable').attr('disabled', 'disabled');
+        $sendCaptcha.val('60秒可重新发送');
+
+        t = setInterval(function() {
+            if (timeResidue <= 0) {
+                $sendCaptcha.removeClass('disable').removeAttr('disabled').val('获取短信验证码');
+                clearInterval(t);
+                return;
+            }
+            $sendCaptcha.val(timeResidue-- + '秒可重新发送');
+        }, 1000);
+
+        if (page === 'reg') {
+            url = '/passport/register/sendBindMsg';
+        } else if (page === 'third') {
+            url = '/passport/autouserinfo/sendBindMsg';
+        }
+
+        //todo ajax 发送验证码
+        $.ajax({
+            type: 'POST',
+            url: url,
+            data: {
+                area: $region.text().split('+')[1],
+                mobile: $pn.val(),
+                verifyCode: $ca.val()
+            }
+        });
+    });
+
+    // 防止粘贴密码
+    if ($('.success-box').length <= 0) {
+        $pwd[0].onpaste = function() {
+            return false;
+        };
+    }
+
+    //ajax表单提交
+    $registerBtn.click(function() {
+        var url;
+
+        if (page === 'reg') {
+            url = '/passport/register/mobileregister';
+        } else if (page === 'third') {
+            url = '/passport/autouserinfo/bindMobile';
+        }
+
+        if ($(this).hasClass('disable')) {
+            return;
+        } else {
+
+            //ajax提交
+            $.ajax({
+                type: 'POST',
+                url: url,
+                data: {
+                    area: $region.text().split('+')[1],
+                    mobile: $pn.val(),
+                    verifyCode: $ca.val(),
+                    code: $mc.val(),
+                    password: $pwd.val()
+                }
+            }).then(function(data) {
+
+                var time = 0,
+                    t,
+                    refer;
+
+                if (data.code === 200) {
+
+                    refer = data.data.href;
+
+                    t = setTimeout(function() {
+                        time++;
+                    }, 1000);
+
+                    $.ajax({
+                        type: 'GET',
+                        url: data.data.session
+                    }).then(function(data) {
+
+                        if (data.code === 200 && t < 3) {
+                            clearInterval(t);
+                            location.href = refer;
+                        }
+                    });
+
+                    if (t >= 3) {
+                        clearInterval(t);
+                        location.href = refer;
+                    }
+                } else {
+
+                    //todo
+                    console.log('网络超时~');
+                }
+
+            });
+        }
+    });
+
+    $('.change-captcha').click(function() {
+        refreshPic();
+    });
+
+    //注册成功页面5秒后跳转
+    if ($('.success-box').length > 0) {
+        clearT = setInterval(function() {
+
+            if (countDown === 0) {
+
+                window.location.href = $successBtn.attr('data-url');
+
+                clearInterval(clearT);
+            }
+            $countDown.text(countDown--);
+        }, 1000);
+    }
+};
+});
+define("js/passport/mail-phone-regx", [], function(require, exports, module){
+/**
+ * 国家区号Map手机号码以及邮箱验证正则
+ * @author: xuqi<qi.xu@yoho.cn>
+ * @date: 2015/12/11
+ */
+
+var countryPhoneRegx = {
+    '+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]{1}[0-9]{8}$/,
+    '+81': /^0[9|8|7][0-9]{9}$/,
+    '+61': /^[0-9]{11}$/
+};
+
+var emailRegx = /^[.\-_a-zA-Z0-9]+@[\-_a-zA-Z0-9]+\.[a-zA-Z0-9]/;
+
+var pwdValidateRegx = /^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{6,20}$/;
+
+exports.phoneRegx = countryPhoneRegx;
+
+exports.emailRegx = emailRegx;
+
+exports.pwdValidateRegx = pwdValidateRegx;
+});
+define("js/passport/pwd-strength", [], function(require, exports, module){
+/*
+ * 计算密码复杂度
+ */
+
+function gettype(str, i) {
+    if (str.charCodeAt(i) >= 48 && str.charCodeAt(i) <= 57) {
+        return 1;
+    } else if (str.charCodeAt(i) >= 97 && str.charCodeAt(i) <= 122) {
+        return 2;
+    } else if (str.charCodeAt(i) >= 65 && str.charCodeAt(i) <= 90) {
+        return 3;
+    }
+
+    return 4;
+}
+
+function isregular(cur, pre, type) {
+    var curCode = cur.charCodeAt(0);
+    var preCode = pre.charCodeAt(0);
+
+    if (curCode - preCode === 0) {
+        return true;
+    }
+
+    if (type !== 4 && (curCode - preCode === 1 || curCode - preCode === -1)) {
+        return true;
+    }
+
+    return false;
+}
+
+function getcomplex(curType, preType) {
+    if (preType === 0 || curType === preType) {
+        return 0;
+    } else if (curType === 4 || preType === 4) {
+        return 2;
+    } else {
+        return 1;
+    }
+}
+
+function computeComplex(password) {
+    var complex = 0,
+        length = password.length,
+        pre = '',
+        preType = 0,
+        i = 0,
+        cur,
+        curType;
+
+
+    for (i = 0; i < length; i++) {
+        cur = password.charAt(i);
+        curType = gettype(password, i);
+
+        if (preType !== curType || !isregular(cur, pre, curType)) {
+            complex += curType + getcomplex(curType, preType);
+        }
+
+        pre = cur;
+        preType = curType;
+    }
+
+    return complex;
+}
+
+module.exports = computeComplex;
+});
+define("js/passport/back", ["jquery","jquery.placeholder"], function(require, exports, module){
+/**
+ * 找回密码
+ * @author: xuqi<qi.xu@yoho.cn>
+ * @date: 2015/12/14
+ */
+
+var $ = require("jquery"),
+    regx = require("js/passport/mail-phone-regx"),
+    emailReg = regx.emailRegx,
+    phoneRegx = regx.phoneRegx;
+
+var emailAc = require("js/passport/ac-email"); //邮箱自动完成
+
+var $cr = $('#country-code-hide'),
+    $phoneNum = $('#phone-num'),
+    $ca = $('#captcha'),
+    $ccList = $('#country-code-list'),
+    $cc = $('#country-code'),
+    $btn = $('#find-btn'),
+    $accErr = $('#account-err'),
+    $caErr = $('#captcha-err'),
+    caCount = 4, //验证码位数
+    hasPh = false,
+    hasCa = false;
+
+
+require("jquery.placeholder");
+
+function imgcode() {
+    var time = new Date(),
+        $captchaImg = $('#captcha-img'),
+        captchaImgSrc = $captchaImg.attr('src').split('?')[0];
+
+    $('#captcha-img').attr('src', captchaImgSrc + '?t=' + time.getTime());
+}
+
+function enableBtn() {
+    if (hasPh && hasCa) {
+        $btn.removeClass('disable').prop('disabled', false);
+    } else {
+        $btn.addClass('disable').prop('disabled', true);
+    }
+}
+
+function authcode() {
+    if (!hasPh || !hasCa) {
+        enableBtn();
+        return;
+    }
+
+    $.ajax({
+        type: 'POST',
+        url: '/passport/back/authcode',
+        data: {
+            verifyCode: $.trim($ca.val()),
+            phoneNum: $phoneNum.val(),
+            area: $cr.val()
+        }
+
+    }).then(function(data) {
+        if (data.code === 200) {
+            hasCa = true;
+        } else if (data.code === 402) {
+            hasPh = false;
+            hasCa = true;
+            $accErr.removeClass('hide').find('em').text('该账号不存在');
+            $phoneNum.addClass('error');
+        } else if (data.code === 400) {
+            hasCa = false;
+            imgcode();
+        }
+        enableBtn();
+    });
+}
+
+function vaPn(v) {
+    var pass = true,
+        errTxt = '';
+
+    v = $.trim(v);
+    if (v !== '') {
+        if (/^[0-9]+$/.test(v)) {
+            if (phoneRegx[$cr.val()].test(v)) {
+                pass = true;
+            } else {
+                errTxt = '手机号码格式不正确, 请重新输入';
+                pass = false;
+            }
+        } else {
+            if (emailReg.test(v)) {
+                pass = true;
+            } else {
+                errTxt = '邮箱格式不正确, 请重新输入';
+                pass = false;
+            }
+        }
+    } else {
+        errTxt = '账户名不能为空';
+        pass = false;
+    }
+    hasPh = pass;
+    authcode();
+
+    return {
+        pass: pass,
+        errTxt: errTxt
+    };
+}
+
+function vaCa() {
+    var v = $.trim($ca.val());
+
+    if (v === '' || v.length < caCount) {
+        hasCa = false;
+        enableBtn();
+        return;
+    }
+
+    hasCa = true;
+
+    authcode();
+}
+
+emailAc($phoneNum, function() {
+        var pnVa = vaPn($phoneNum.val());
+
+        if (pnVa.pass) {
+            $accErr.addClass('hide');
+            $phoneNum.removeClass('error');
+        } else {
+            $accErr.removeClass('hide').find('em').text(pnVa.errTxt);
+            $phoneNum.addClass('error');
+        }
+    }
+);
+
+$ca.attr('maxlength', caCount);
+
+//IE8 placeholder
+$('input').placeholder();
+
+$('#change-captcha, #captcha-img').on('click', function() {
+    imgcode();
+});
+
+$cc.on('click', function(e) {
+    e.stopPropagation();
+    if ($ccList.css('style') === 'block') {
+        $ccList.slideUp('fast');
+    } else {
+        $ccList.slideDown('fast');
+    }
+});
+
+$ccList.delegate('li', 'click', function(e) {
+    var $cur = $(this),
+        code = $cur.data('cc'),
+        pnVa;
+
+    e.stopPropagation();
+    $cr.val(code);
+    $cc.find('em').html($cur.text());
+
+    //切换后验证手机号码
+    if ($.trim($phoneNum.val()) !== '') {
+        pnVa = vaPn($phoneNum.val());
+        enableBtn();
+        if (hasPh) {
+            $accErr.addClass('hide');
+            $phoneNum.removeClass('error');
+        } else {
+            $accErr.removeClass('hide').text(pnVa.errTxt);
+            $phoneNum.addClass('error');
+        }
+    }
+    $ccList.slideUp('fast');
+});
+
+$(document).click(function() {
+    if ($ccList.css('display') === 'block') {
+        $ccList.slideUp();
+    }
+});
+
+$phoneNum.keyup(function() {
+    vaPn($.trim($(this).val()));
+}).focus(function() {
+    $(this).removeClass('error');
+
+    //focus隐藏错误提示
+    $accErr.addClass('hide');
+});
+
+//验证码在鼠标移开后验证, keyup时不再验证
+$ca.blur(function() {
+    var errTxt = $.trim($ca.val()) === '' ? '验证码不能为空' : '验证码不正确';
+
+    if (hasCa) {
+        $caErr.addClass('hide');
+        $ca.removeClass('error');
+    } else {
+        $caErr.removeClass('hide').find('em').text(errTxt);
+        $ca.addClass('error');
+
+        //验证码错误则刷新验证码
+        if ($ca.val() < caCount) {
+
+            //防止重复刷新验证码
+            imgcode();
+        }
+    }
+}).focus(function() {
+    $(this).removeClass('error');
+
+    //focus隐藏错误提示
+    $caErr.addClass('hide');
+}).keyup(function() {
+    vaCa();
+});
+
+$('#find-btn').click(function(e) {
+
+    if (/^[0-9]+$/.test($.trim($phoneNum.val()))) {
+        $('#find-form').attr('action', '/passport/back/mobile');
+    }
+    if ($(this).hasClass('disable')) {
+        return;
+    }
+    if (!hasCa || !hasPh) {
+        e.preventDefault();
+        return true;
+    }
+});
+});
+define("js/passport/ac-email", ["jquery"], function(require, exports, module){
+/**
+ * 邮箱自动补全
+ * @author:xuqi<qi.xu@yoho.cn>
+ * @date: 2016/2/22
+ */
+var $ = require("jquery");
+
+var mailPostfix = {
+    num: ['qq.com', '163.com', '126.com', 'sina.com', 'gmail.com', 'sohu.com', 'hotmail.com', '139.com', '189.com'],
+    other: ['gmail.com', 'qq.com', '163.com', '126.com', 'sina.com', 'sohu.com', 'hotmail.com', '139.com', '189.com']
+};
+
+var emailAcTime;
+
+/**
+ * @param $input 需要自动完成的$对象
+ * @param cb 鼠标移开/点击自动完成项后需要执行的操作(验证等)
+ */
+module.exports = function($input, cb) {
+    var ulHtml = '<ul id="email-autocomplete" class="email-autocomplete hide"></ul>';
+
+    var $emailAutoComplete;
+
+    $input.parent().append(ulHtml);
+
+    $emailAutoComplete = $('#email-autocomplete');
+
+    $input.on('keyup', function() {
+        var account = $.trim($(this).val()),
+            html = '',
+            accountMatch,
+            matchStr,
+            postfix,
+            i;
+
+        //输入@时自动补全邮箱后缀
+        //此处>0非错误,用于避免输入的第一个字符为@被识别为邮箱
+        if (account.indexOf('@') > 0) {
+            accountMatch = account.match(/^[0-9]+@(.*)/);
+            if (accountMatch) {
+
+                //数字邮箱补全
+                postfix = mailPostfix.num;
+                matchStr = accountMatch[1];
+            } else {
+                postfix = mailPostfix.other;
+                matchStr = account.match(/@(.*)/)[1];
+            }
+
+            for (i = 0; i < postfix.length; i++) {
+                if (postfix[i].indexOf(matchStr) > -1) {
+                    html += '<li>' + account.slice(0, account.indexOf('@')) + '@' + postfix[i] + '</li>';
+                }
+            }
+
+            if (html !== '' && /.com$/.test(account) === false) {
+                $emailAutoComplete.html(html).removeClass('hide');
+            } else {
+
+                //隐藏autocomplete
+                $emailAutoComplete.html('').addClass('hide');
+            }
+        }
+    }).on('blur', function() {
+        emailAcTime = setTimeout(function() {
+
+            //未点击自动完成项
+            $emailAutoComplete.addClass('hide');
+
+            cb && cb();
+        }, 200);
+    });
+
+    //邮箱自动完成列表项点击
+    $emailAutoComplete.on('click', 'li', function() {
+        clearTimeout(emailAcTime); //清空默认关闭
+
+        //点击自动完成项后进行验证
+        $input.val($(this).text()).focus();
+
+        $emailAutoComplete.addClass('hide');
+
+        cb && cb();
+    });
+};
+});
+define("js/passport/login", ["jquery","jquery.placeholder"], function(require, exports, module){
+/**
+ * 登录
+ * @author: xuqi<qi.xu@yoho.cn>
+ * @date: 2015/12/11
+ */
+var $ = require("jquery");
+
+var $account = $('#account'),
+    $password = $('#password'),
+    $captcha = $('#captcha');
+
+var $accountTip = $account.siblings('.err-tip'),
+    $passwordTip = $password.siblings('.err-tip'),
+    $captchaTip = $captcha.siblings('.err-tip'),
+    $capsLock = $('#caps-lock');
+
+var $countryCodeHide = $('#country-code-hide'),
+    $countryCodeEm = $('#country-code > em'),
+    $countryList = $('#country-list');
+
+var $emailAutoComplete = $('#email-autocomplete');
+
+var mailPhoneRegx = require("js/passport/mail-phone-regx");
+var mailAc = require("js/passport/ac-email"); //邮箱自动完成
+
+var $remember = $('.remember-me');
+
+var captchaUrl = '/passport/images?t='; // /passport/images?t=1454464125
+
+var $captchaWrap = $('.captcha-wrap'),
+    $captcha = $captchaWrap.find('#captcha'),
+    $captchaImg = $captchaWrap.find('#captcha-img'),
+    $captchaTip = $captchaWrap.find('.err-tip');
+
+//checkbox status unicode
+var checkbox = {
+    checked: '&#xe612;',
+    unchecked: '&#xe613;'
+};
+
+var authing = false;
+
+var emailAcTime;
+
+require("jquery.placeholder");
+
+//验证账户名
+function validateAccount() {
+    var pass = false,
+        account = $.trim($account.val()),
+        countryCode = $countryCodeHide.val(),
+        err;
+
+    if (account !== '') {
+        if (/^[0-9]+$/.test(account)) {
+
+            //如果是纯数字,则作为手机号码处理
+            if (countryCode !== '+86' ||
+                mailPhoneRegx.phoneRegx[countryCode].test(account)) {
+                pass = true;
+            } else {
+                pass = false;
+                err = '手机号码不正确,请重新输入';
+            }
+        } else {
+            if (mailPhoneRegx.emailRegx.test(account)) {
+                pass = true;
+            } else {
+                pass = false;
+                err = '邮箱格式不正确,请重新输入';
+            }
+        }
+    } else {
+        err = '请输入账户名';
+    }
+
+    if (pass) {
+        $accountTip.addClass('hide');
+        $account.removeClass('error');
+    } else {
+        $accountTip.removeClass('hide').children('em').text(err);
+        $account.addClass('error');
+    }
+    return pass;
+}
+
+//验证密码
+function validatePassword() {
+    var pass = false,
+        password = $.trim($password.val()),
+        err;
+
+    if (password !== '') {
+        if (password.length < 6) {
+            err = '请输入长度为6-20字符的密码';
+        } else {
+            pass = true;
+        }
+    } else {
+        err = '请输入密码';
+    }
+
+    if (pass) {
+        $passwordTip.addClass('hide');
+        $password.removeClass('error');
+    } else {
+        $passwordTip.removeClass('hide').children('em').text(err);
+        $password.addClass('error');
+    }
+    return pass;
+}
+
+//验证验证码
+function validateCaptcha() {
+    var pass = false,
+        captcha = $.trim($captcha.val()),
+        err;
+
+    // 验证码不可见的时候不验证
+    if ($captchaWrap.is(':hidden')) {
+        return true;
+    }
+
+    if (captcha !== '') {
+        if (captcha.length !== 4) {
+            err = '请输入长度为4字符的验证码';
+        } else {
+            pass = true;
+        }
+    } else {
+        err = '请输入验证码';
+    }
+
+    if (pass) {
+        $captchaTip.addClass('hide');
+        $captcha.removeClass('error');
+    } else {
+        $captchaTip.removeClass('hide').children('em').text(err);
+        $captcha.addClass('error');
+    }
+    return pass;
+}
+
+//验证
+function validate() {
+    var pass = true,
+        account = $.trim($account.val()),
+        password = $.trim($password.val());
+
+    if (account !== '') {
+        pass = validateAccount() && validatePassword() && validateCaptcha();
+    } else {
+        pass = false;
+        $account.addClass('error');
+
+        if (password === '') {
+
+            //账户名和密码都为空的情况下点击登陆,只在账户输入框后显示错误提示
+            $accountTip.addClass('both-error').removeClass('hide').children('em').text('请输入账户名和密码');
+            $passwordTip.addClass('hide');
+            $password.addClass('error');
+        } else {
+            $accountTip.removeClass('hide').children('em').text('请输入账户名');
+        }
+    }
+
+    return pass;
+}
+
+//密码错误次数,超过三次显示验证码
+function vaAccountErrTimes() {
+    $captchaImg.attr('src', captchaUrl + $.now());
+    $captcha.val('');
+    $captchaWrap.removeClass('hide');
+}
+
+//登录
+function login() {
+    var pass = validate();
+
+    if (pass && authing === false) {
+        authing = true;
+
+        $.ajax({
+            url: '/passport/login/auth',
+            type: 'POST',
+            data: {
+                areaCode: $countryCodeHide.val().replace('+', ''),
+                account: $.trim($account.val()),
+                password: $.trim($password.val()),
+                captcha: $.trim($captcha.val()),
+                isRemember: $remember.hasClass('checked') ? true : false
+            },
+            success: function(res) {
+                if (res.code === 200) {
+                    if (res.data) {
+
+                        //防止data.data为undefined时下行语句执行出错而导致脚本不能走到complete去处理authing
+                        location.href = res.data.session;
+                    }
+                } else {
+                    if (res.data.errorType === 'captcha') {
+                        $captchaTip.removeClass('hide').children('em').html(res.message);
+                        $captcha.addClass('error').val('');
+                    } else {
+                        $passwordTip.removeClass('hide').children('em').html(res.message);
+                        $password.addClass('error').val('');
+                    }
+
+                    //验证错误次数
+                    if (res.data && res.data.needCaptcha) {
+                        vaAccountErrTimes();
+                    }
+                }
+            },
+            complete: function() {
+                authing = false;
+            }
+        });
+    }
+}
+
+mailAc($account, function() {
+        if (validateAccount()) {
+            $.ajax({
+                url: '/passport/login/account',
+                type: 'GET',
+                data: {
+                    account: $.trim($account.val())
+                }
+            }).then(function(res) {
+                if (res.data && res.data.needCaptcha) {
+                    vaAccountErrTimes();
+                }
+            });
+        }
+    }
+);
+
+$('[placeholder]').placeholder();
+
+//展开地区列表
+$('#country-code').on('click', function() {
+    if ($countryList.css('display') === 'none') {
+        $countryList.slideDown();
+    }
+});
+
+//选中地区列表项
+$countryList.on('click', 'li', function() {
+    var $this = $(this),
+        cc = $this.data('cc');
+
+    $countryCodeEm.html($this.html());
+
+    $countryCodeHide.val(cc);
+
+    $countryList.slideUp();
+});
+
+//点击其他区域,收起区域列表
+$(document).on('click', function(e) {
+    if ($(e.target).closest('#country-code').length > 0) {
+        return;
+    }
+
+    if ($countryList.css('display') === 'block') {
+        $countryList.slideUp();
+    }
+});
+
+//密码
+$password.on('blur', function() {
+    validatePassword();
+
+    if ($capsLock.hasClass('hide')) {
+        return;
+    }
+
+    $capsLock.addClass('hide');
+}).on('keypress', function(e) {
+    var code = e.which;
+
+    //CapsLock检测
+    if (code >= 65 && code <= 90) {
+        $capsLock.removeClass('hide');
+        return;
+    }
+    $capsLock.addClass('hide');
+});
+
+// 验证码
+$captcha.on('blur', function() {
+    validateCaptcha();
+});
+
+//邮箱自动完成列表项点击
+$emailAutoComplete.on('click', 'li', function() {
+    clearTimeout(emailAcTime); //清空默认关闭
+
+    $account.val($(this).text()).focus();
+
+    $emailAutoComplete.addClass('hide');
+});
+
+//记住登录状态
+$remember.on('click', function() {
+    var $this = $(this);
+
+    $this.toggleClass('checked');
+
+    if ($this.hasClass('checked')) {
+        $this.children('i').html(checkbox.checked);
+    } else {
+        $this.children('i').html(checkbox.unchecked);
+    }
+});
+
+//focus到输入框则隐藏错误提示和样式
+$('.va').on('focus', function() {
+    var $this = $(this);
+
+    $this.removeClass('error');
+
+    $this.siblings('.err-tip').addClass('hide');
+});
+
+// 验证码刷新
+$captchaWrap.on('click', '.change-captcha, .captcha-img', function() {
+    $captchaImg.attr('src', captchaUrl + $.now());
+});
+
+//登录
+$('#login-btn').on('click', login);
+
+//Enter登录
+$('input.va').on('keypress', function(e) {
+    if (e.which === 13) {
+        login();
+    }
+});
+
+// 初始:只带账户名的页面,密码输入获得焦点
+if (($account.val() !== '' || $account.val() === $account.attr('placeholder')) &&
+    $password.val() === '') {
+    $password.focus();
+}
+});
+define("js/passport/reset", ["jquery","jquery.placeholder"], function(require, exports, module){
+/**
+ * 找回密码
+ * @author: xuqi<qi.xu@yoho.cn>
+ * @date: 2015/12/14
+ */
+
+var $ = require("jquery");
+
+var $pwd = $('#pwd'),
+    $repwd = $('#re-input'),
+    $next = $('#reset-pwd-btn'),
+    $pwdErr = $('#pwd-err'),
+    $repwdErr = $('#repwd-err'),
+    $pwdTips = $('#pwd-tips');
+
+var hasNoErrPw = false;
+
+var $pwdIntensity = $('.pwd-intensity'),
+    $pwdParent = $pwdIntensity.closest('.pwd-intensity-container'),
+    $pwdTip1 = $('#pwd-tip1');
+
+var pwdRegx = require("js/passport/mail-phone-regx").pwdValidateRegx;
+
+require("jquery.placeholder");
+
+
+/*
+ * 计算密码复杂度
+ */
+
+function gettype(str, i) {
+    if (str.charCodeAt(i) >= 48 && str.charCodeAt(i) <= 57) {
+        return 1;
+    } else if (str.charCodeAt(i) >= 97 && str.charCodeAt(i) <= 122) {
+        return 2;
+    } else if (str.charCodeAt(i) >= 65 && str.charCodeAt(i) <= 90) {
+        return 3;
+    }
+
+    return 4;
+}
+
+function isregular(cur, pre, type) {
+    var curCode = cur.charCodeAt(0);
+    var preCode = pre.charCodeAt(0);
+
+    if (curCode - preCode === 0) {
+        return true;
+    }
+
+    if (type !== 4 && (curCode - preCode === 1 || curCode - preCode === -1)) {
+        return true;
+    }
+
+    return false;
+}
+
+function getcomplex(curType, preType) {
+    if (preType === 0 || curType === preType) {
+        return 0;
+    } else if (curType === 4 || preType === 4) {
+        return 2;
+    } else {
+        return 1;
+    }
+}
+
+function computeComplex(password) {
+    var complex = 0,
+        length = password.length,
+        pre = '',
+        preType = 0,
+        i = 0,
+        cur,
+        curType;
+
+
+    for (i = 0; i < length; i++) {
+        cur = password.charAt(i);
+        curType = gettype(password, i);
+
+        if (preType !== curType || !isregular(cur, pre, curType)) {
+            complex += curType + getcomplex(curType, preType);
+        }
+
+        pre = cur;
+        preType = curType;
+    }
+
+    return complex;
+}
+
+function pwdKeyupEvt() {
+    var pwd = $pwd.val(),
+        pwdStrength = computeComplex(pwd),
+        level = 0;
+
+    //TODO:自定义密码强度规则,需要修正
+    if (pwdStrength === 0) {
+        level = 0;
+    } else if (pwdStrength <= 10) {
+        level = 1;
+    } else if (pwdStrength <= 20) {
+        level = 2;
+    } else {
+        level = 3;
+    }
+    switch (level) {
+        case 0:
+            $pwdParent.removeClass('red yellow green');
+            $pwdIntensity.removeClass('color');
+            break;
+        case 1:
+            $pwdParent.addClass('red').removeClass('yellow green');
+            $pwdIntensity.filter('.low').addClass('color');
+            $pwdIntensity.filter('.mid,.high').removeClass('color');
+            break;
+        case 2:
+            $pwdParent.addClass('yellow').removeClass('red green');
+            $pwdIntensity.filter('.low,.mid').addClass('color');
+            $pwdIntensity.filter('.high').removeClass('color');
+            break;
+        case 3:
+            $pwdParent.addClass('green').removeClass('yellow red');
+            $pwdIntensity.addClass('color');
+            break;
+    }
+
+    //提示框
+    if (pwd === '') {
+        $pwdTip1.removeClass('red yes no').addClass('default');
+    } else if (pwd.length < 6 || pwd.length > 20) {
+        $pwdTip1.removeClass('default yes').addClass('no red');
+    } else {
+        $pwdTip1.removeClass('default no red').addClass('yes');
+    }
+
+    if (pwdRegx.test(pwd)) {
+        hasNoErrPw = true;
+    } else {
+        hasNoErrPw = false;
+    }
+}
+
+//IE8 placeholder
+$('input').placeholder();
+
+$('.va').keyup(function() {
+    var pass = true;
+
+    if ($(this).hasClass('pwd')) {
+        pwdKeyupEvt();
+    } else {
+        if ($(this).val() === '') {
+            pass = false;
+        }
+    }
+    if (pass && hasNoErrPw && $pwd.val() === $repwd.val()) {
+        pass = true;
+    } else {
+        pass = false;
+    }
+    if (pass) {
+        $next.removeClass('disable').prop('disabled', false);
+    } else {
+        $next.addClass('disable').prop('disabled', true);
+    }
+}).blur(function() {
+    var $this = $(this),
+        v = $this.val();
+
+    if ($this.hasClass('pwd')) {
+        if (v === '') {
+            $this.addClass('error');
+            $pwdErr.removeClass('hide').find('em').text('请输入密码');
+        } else if (v.length < 6 || v.length > 20) {
+            $this.addClass('error');
+            $pwdErr.removeClass('hide').find('em').text('密码只支持6-20位');
+        } else if (!pwdRegx.test(v)) {
+            $this.addClass('error');
+            $pwdErr.removeClass('hide').find('em').text('密码须字母和数字组合');
+        } else {
+            $pwdErr.addClass('hide');
+            if ($repwd.val() !== '') {
+                if (v !== $repwd.val()) {
+                    $repwd.addClass('error');
+                    $repwdErr.removeClass('hide').find('em').text('两次密码输入不一致,请重新输入');
+                } else {
+                    $repwd.removeClass('error');
+                    $repwdErr.addClass('hide');
+                }
+            }
+        }
+    } else {
+        if (v === '') {
+            $this.addClass('error');
+            $repwdErr.removeClass('hide').find('em').text('请输入密码确认');
+        } else {
+            if ($pwd.val() !== '' && v !== $pwd.val()) {
+                $this.addClass('error');
+                $repwdErr.removeClass('hide').find('em').text('两次密码输入不一致,请重新输入');
+            } else {
+                $this.removeClass('error');
+                $repwdErr.addClass('hide');
+            }
+        }
+    }
+}).focus(function() {
+    $(this).removeClass('error');
+
+    //focus后错误提示隐藏
+    if ($(this).hasClass('pwd')) {
+        $pwdErr.addClass('hide');
+    } else {
+        $repwdErr.addClass('hide');
+    }
+});
+
+$pwd.focus(function() {
+    $pwdErr.addClass('hide');
+    $pwdTips.removeClass('hide');
+}).blur(function() {
+    $pwdTips.addClass('hide');
+});
+
+$('#pwd, #repwd').keydown(function(e) {
+    var code = e.keyCode || e.which;
+
+    //空格输入过滤
+    if (code === 32) {
+        e.preventDefault();
+        return;
+    }
+});
+
+});
+define("js/passport/vertification", ["jquery"], function(require, exports, module){
+/**
+ * 验证手机
+ * @author: xuqi<qi.xu@yoho.cn>
+ * @date: 2015/12/14
+ */
+
+var $ = require("jquery");
+
+var $sc = $('#send-captcha'),
+    $msgTip = $('#captcha-tip'),
+    $errTip = $('#err-tip'),
+    $next = $('#next-step'),
+    seconds,
+    itime;
+
+$sc.click(function() {
+    $.post('/passport/back/sendbackmobile', {
+        mobile: $('#mobile').val(),
+        area: $('#area').val(),
+        verifyCode: $('#captchaPic').val()
+    }, function(jsonData) {
+        if (jsonData.code === 200) {
+            $errTip.hide();
+            if ($(this).hasClass('disable')) {
+                return;
+            }
+            seconds = 60;
+
+            //$sc.addClass('disable').prop('disabled', true);
+            $sc.addClass('disable').attr('disabled', true);
+            $msgTip.removeClass('hide');
+
+            $sc.val(seconds-- + '秒后可重新操作');
+            itime = setInterval(function() {
+                if (seconds === 0) {
+                    clearInterval(itime);
+
+                    //$sc.val('发送验证码').removeClass('disable').prop('disabled', false);
+                    $sc.val('发送验证码').removeClass('disable').removeAttr('disabled');
+                } else {
+                    $sc.val(seconds-- + '秒后可重新操作');
+                }
+            }, 1000);
+        } else {
+            $(this).addClass('error');
+            $errTip.removeClass('hide').text('发送失败');
+        }
+    });
+});
+
+seconds = 60;
+
+//$sc.addClass('disable').prop('disabled', true);
+$sc.addClass('disable').attr('disabled', true);
+$msgTip.removeClass('hide');
+
+$sc.val(seconds-- + '秒后可重新操作');
+itime = setInterval(function() {
+    if (seconds === 0) {
+        clearInterval(itime);
+
+        //$sc.val('发送验证码').removeClass('disable').prop('disabled', false);
+        $sc.val('发送验证码').removeClass('disable').removeAttr('disabled');
+    } else {
+        $sc.val(seconds-- + '秒后可重新操作');
+    }
+}, 1000);
+
+
+$('#captcha').keyup(function() {
+    var v = $.trim($(this).val()),
+        that = this;
+
+    if (v.length === 4) {
+        $.ajax({
+            type: 'POST',
+            url: '/passport/back/backmobile',
+            dataType: 'json',
+            data: {
+                code: $('#captcha').val(),
+                verifyCode: $('#captchaPic').val(),
+                area: $('#area').val(),
+                mobile: $('#mobile').val()
+            },
+            success: function(res) {
+                if (res.code === 200) {
+
+                    //添加验证码正确验证
+                    $next.removeClass('disable').attr('href', res.data);
+                    $errTip.addClass('hide');
+                    $(that).removeClass('error');
+                } else {
+                    $next.addClass('disable');
+                    $errTip.removeClass('hide').find('em').text('验证码输入错误');
+                    $(that).addClass('error');
+                }
+            }
+        });
+    } else {
+        $next.addClass('disable').attr('href', 'javascript:;');
+    }
+}).blur(function() {
+    var v = $.trim($(this).val());
+
+    if (v === '') {
+
+        //添加验证码正确验证
+        $(this).addClass('error');
+        $errTip.removeClass('hide').text('请输入验证码');
+    }
+}).focus(function() {
+    $(this).removeClass('error');
+});
+});
+define("js/passport/thirdlogin", ["jquery"], function(require, exports, module){
+/**
+ * 第三方登录首页
+ * @author: wq
+ * @date: 2016/1/21
+ */
+var $ = require("jquery");
+var phoneRegx = require("js/passport/mail-phone-regx").phoneRegx;
+
+var nopermissionoption = $('#nopermissionmessage').html(); //倒计时dom
+var sendmessagehtml = $('.validatewrapper').html(); //发送短信dom
+var second = +$('.second').text(); //倒计时秒数
+var dovalidate = false; //校验验证码标识
+var validatecode = false; //验证码是否通过
+var choosedpic = '//cdn.yoho.cn/yohobuy/assets/img/passport/choosed.png';//已选择图片
+
+var $wrapper = $('.bindwrapper'),
+    $phoneTip = $wrapper.find('.phone-err-tip'),
+    $nextBtn = $wrapper.find('.yohobindbtn');
+
+/**
+ * 选择协议
+ * @return {[type]} [description]
+ */
+function chooseProtocol() {
+    $('.choosetag').on('change', function() {
+        var btnColor = '#f02200';
+
+        if ($(this).attr('checked') === 'checked') {
+            $('.choosewrapper').css({
+                'background-image': 'url("' + choosedpic + '")'
+            });
+        } else {
+            $('.choosewrapper').css({
+                'background-image': 'none'
+            });
+            btnColor = '#CCCCCC';
+        }
+        $nextBtn.css({
+            'background-color': btnColor
+        });
+    });
+}
+/**
+ * 判断是否同意协议
+ * @return {[type]} [description]
+ */
+function isagree() {
+    return $('.choosetag').attr('checked') === 'checked';
+}
+/**
+ * 选择区域的开关
+ * @return {[type]} [description]
+ */
+function chooseAreaToogle() {
+    $('.optionshow').on('click', function() {
+        $('.optionslist').toggleClass('hide');
+    });
+}
+
+/**
+ * 验证码校验
+ * @return {[type]} [description]
+ */
+function codeValidate() {
+    var validatenum = '';
+
+    $(document).on('keyup', '#validatenum', function() {
+        validatenum = $(this).val();
+        if (validatenum.length === 4) {
+            if (!dovalidate) {
+                dovalidate = true;
+                $.ajax({
+                    type: 'POST',
+                    url: '/passport/autouserinfo/checkBindMsg',
+                    data: {
+                        code: validatenum,
+                        mobile: $('#mobile').val(),
+                        area: $('#areacode').val()
+                    }
+                }).then(function(data) {
+                    dovalidate = false;
+                    if (data.code === 200) {
+                        validatecode = true;
+                    } else {
+                        alert(data.message);
+                    }
+                });
+            }
+        }
+    });
+
+    $('#validatenum').focus(function() {
+        $(this).removeAttr('placeholder');
+    }).blur(function() {
+        $(this).attr('placeholder', '验证码');
+    });
+}
+
+/**
+ * 选择区域
+ * @return {[type]} [description]
+ */
+function chooseArea() {
+    $('.optionitem').on('click', function() {
+        var $option = $(this);
+        var areanum = $option.attr('areanum');
+        var areaname = $option.text();
+
+        $('#areaname').text(areaname);
+        $('#areanum').text(areanum);
+        $('#areacode').val(areanum);
+        $('.optionslist').addClass('hide');
+    });
+}
+/**
+ * 取消选择区域
+ * @return {[type]} [description]
+ */
+function cancelChooseArea() {
+    $(document).on('click', 'body', function(e) {
+        var $target = $(e.target);
+
+        if ($target.hasClass('yohoselectarea') ||
+            $target.hasClass('areaname') ||
+            $target.hasClass('righttag') ||
+            $target.hasClass('optionslist') ||
+            $target.hasClass('optionitem')) {
+            return;
+        } else {
+            $('.optionslist').addClass('hide');
+        }
+    });
+}
+/**
+ * 去掉区域号的加号
+ * @return {[type]} [description]
+ */
+function fixAreaNum() {
+    var $opitem = '';
+    var itemarecode = '';
+
+    $('.optionitem').each(function() {
+        $opitem = $(this);
+        itemarecode = $opitem.attr('areanum').replace(/\+/g, '');
+        $opitem.attr('areanum', itemarecode);
+    });
+}
+
+/**
+ * 关闭蒙层
+ * @return {[type]} [description]
+ */
+function closeMask() {
+    var $target;
+
+    $(document).on('click', '#alreayregist', function(e) {
+        $target = $(e.target);
+        if ($target.hasClass('mask') || $target.hasClass('backdrop')) {
+            $('#alreayregist').hide();
+            $('.backdrop').hide();
+        }
+    });
+    $(document).on('click', '#bindconfirm', function(e) {
+        $target = $(e.target);
+        if ($target.hasClass('mask') || $target.hasClass('backdrop')) {
+            $('#bindconfirm').hide();
+            $('.backdrop').hide();
+        }
+    });
+}
+/**
+ * 绑定其他手机号
+ * @return {[type]} [description]
+ */
+function yohoBindBtn() {
+    $(document).on('click', '#yohobindbtn', function(e) {
+        $('.phonenum').val('');
+        $('#bindconfirm').hide();
+        $('.backdrop').hide();
+    });
+    $(document).on('click', '#yohobindbtn2', function(e) {
+        $('.phonenum').val('');
+        $('#alreayregist').hide();
+        $('.backdrop').hide();
+    });
+}
+/**
+ * 发送短信的时间变换动画
+ * @return {[type]} [description]
+ */
+function changeSecond() {
+    second -= 1;
+    if (second < 0) {
+        second = 60;
+        $('.validatewrapper').html(sendmessagehtml);
+        return;
+    } else {
+        $('.second').text(second);
+        window.setTimeout(changeSecond, 1000);
+    }
+
+}
+/**
+ * 时间循环
+ * @param  {[type]} phonenum [description]
+ * @return {[type]}          [description]
+ */
+function circleTime(phonenum) {
+    $('.validatewrapper').html(nopermissionoption);
+    window.setTimeout(changeSecond, 1000);
+}
+/**
+ * 发送短信
+ * @return {[type]} [description]
+ */
+function sendMessageValidate() {
+    $(document).on('click', '#sendmessage', function() {
+        if ($('#sendmessage').attr('disabled') === 'disabled') {
+            return;
+        }
+        circleTime($('#mobile').val());
+        $.ajax({
+            type: 'POST',
+            url: '/passport/autouserinfo/sendBindMsg',
+            data: {
+                mobile: $('#mobile').val(),
+                area: $('#areacode').val()
+            }
+        }).then(function(data) {
+            if (data.code !== 200) {
+                alert(data.message);
+            }
+        });
+
+    });
+}
+
+/**
+ * 最终提交表单
+ */
+function actionSubmit() {
+    var mobile = '';
+    var area = '';
+
+    area = $('#areacode').val();
+    mobile = $('#mobile').val();
+    $.ajax({
+        type: 'POST',
+        url: '/passport/autouserinfo/bindMobile',
+        data: {
+            area: area,
+            openId: $('#openId').val(),
+            sourceType: $('#sourceType').val(),
+            mobile: mobile,
+            code: $('#validatenum').val()
+        }
+    }).then(function(data) {
+        if (data.code === 200) {
+            if (data.data && data.data.refer) {
+                window.location.href = data.data.refer;
+            } else {
+                window.location.href = '/passport/thirdlogin/bindsuccess';
+            }
+        } else {
+            alert(data.message);
+        }
+    });
+}
+
+/**
+ * 确认去绑定
+ * @return {[type]} [description]
+ */
+function goToBindPhone() {
+    $(document).on('click', '#gotobindphone', function() {
+        if (validatecode === true) {
+            $('#inarea').val($('#areacode').val());
+            $('#inmobile').val($('#mobile').val());
+            actionSubmit();
+        } else {
+            alert('请输入正确验证码');
+        }
+    });
+}
+/**
+ * 点击下一步
+ * @return {[type]} [description]
+ */
+function nextStep() {
+    var openId = '';
+    var sourceType = '';
+    var mobile = '';
+    var areaCode = '';
+    var username = '';
+    var headImg = '';
+
+    $('#bindfirststep').on('click', function(e) {
+        var regx;
+
+        e.preventDefault();
+        mobile = $('.phonenum').val();
+        areaCode = $('#areanum').text();
+        regx = phoneRegx['+' + areaCode];
+
+        if (!isagree()) {
+            return;
+        }
+        if (mobile === '' || !regx || !regx.test(mobile)) {
+            $phoneTip.find('em').text('手机格式错误');
+            $phoneTip.removeClass('hide');
+            return;
+        }
+        openId = $('#openId').val() || '29803EC6D4AAC3AAB8ABDB6AE829D579';
+        sourceType = $('#sourceType').val() || 'qq';
+        $.ajax({
+            type: 'post',
+            url: '/passport/autouserinfo/bindCheck',
+            data: {
+                mobile: mobile,
+                area: areaCode,
+                openId: openId,
+                sourceType: sourceType
+            },
+            dataType: 'json',
+            success: function(data) {
+                var winHeight = $(window).height();
+
+                if (data.code === 200) {
+                    $('#bindmobileform').attr('action', data.data.next);
+                    $('#bindmobileform').submit();
+                } else if (data.code === 201) {
+
+                    // 已注册 未绑定
+                    username = data.data.user.username;
+                    headImg = data.data.user.headImg;
+                    $('#registphone').text(mobile);
+                    $('#username').text(username);
+                    if (headImg === '') {
+                        $('#userphoto').attr('src', '//img10.static.yhbimg.com/headimg/2013/11/28/09/' +
+                            '01cae078abe5fe320c88cdf4c220212688.gif?imageView/2/w/100/h/100');
+                    } else {
+                        $('#userphoto').attr('src', headImg);
+                    }
+                    $('#logindirectly2').attr('href', data.data.user.bindLogin);
+                    $('.backdrop').show();
+                    $('#sendmessage').click();
+                    $('#alreayregist .mask').css({
+                        'padding-top': winHeight > 440 ? winHeight / 2 : 217
+                    });
+                    $('#alreayregist').show();
+                } else if (data.code === 203) {
+
+                    // 已注册 可关联
+                    $('#bindmobileform').attr('action', data.data.next);
+                    $('#bindmobileform').submit();
+                } else if (data.code === 205) {
+
+                    // 未注册 不可关联
+                    username = data.data.user.username;
+                    headImg = data.data.user.headImg;
+                    $('#registphonetwo').text(mobile);
+                    $('#username1').text(username);
+                    if (headImg === '') {
+                        $('#userphoto1').attr('src', '//img10.static.yhbimg.com/headimg/2013/11/28/09/' +
+                            '01cae078abe5fe320c88cdf4c220212688.gif?imageView/2/w/100/h/100');
+                    } else {
+                        $('#userphoto1').attr('src', headImg);
+                    }
+                    $('#logindirectly').attr('href', data.data.user.bindLogin);
+                    $('.backdrop').show();
+                    $('#bindconfirm .mask').css({
+                        'padding-top': winHeight > 440 ? winHeight / 2 : 217
+                    });
+                    $('#bindconfirm').show();
+                } else if (data.code === 402) {
+                    $phoneTip.find('em').text('手机格式错误');
+                    $phoneTip.removeClass('hide');
+                } else {
+                    if (data && data.message) {
+                        alert(data.message);
+                    }
+                }
+            }
+        });
+    });
+}
+
+$wrapper.on('keydown', '.phonenum', function(e) {
+    if (e.keyCode === 13) {
+        $nextBtn.trigger('click');
+        return false;
+    }
+});
+
+function init() {
+    fixAreaNum(); //去掉所有区域的+
+    sendMessageValidate(); //有交互的发送短信
+    chooseProtocol(); //选择协议
+    chooseArea(); //选择区域
+    chooseAreaToogle(); //选择区域展示或关闭
+    cancelChooseArea(); //取消选择区域
+    nextStep();  //下一步
+    closeMask(); //关闭蒙层
+    yohoBindBtn(); //绑定其他手机号点击
+    goToBindPhone(); //绑定手机
+    codeValidate(); //验证码校验
+}
+init();
+});
+define("js/passport/third-pwd", ["jquery"], function(require, exports, module){
+/**
+ * 第三方绑定完善个人信息
+ * @author: wq
+ * @date: 2016/1/27
+ */
+var $ = require("jquery");
+var dovalidate = false; //校验验证码的标识
+var isvalidatecode = false; //是否验证成功的标识
+var isvalidatepwd = false; //密码验证是否通过的标识
+var second = ''; //倒计时时间
+var nopermissionoption = ''; //倒计时的dom
+var sendmessagehtml = ''; //发送短信的dom
+var submitStatus = false; //信息提交状态
+
+var $wrapper = $('.bindwrapper'),
+    $codeTip = $wrapper.find('.code-err-tip'),
+    $pwdTip = $wrapper.find('.pwd-err-tip'),
+    $pwdTip2 = $('#pwd-tip2'),
+    $sendMsgBtn = $('#sendmessage');
+var $pwd,
+    $pwdParent,
+    $pwdTip1,
+    $pwdIntensity;
+
+var pwdRegx = require("js/passport/mail-phone-regx").pwdValidateRegx;
+var mobile = $('#mobile').val(),
+    area = $('#area').val();
+
+nopermissionoption = $('#nopermissionmessage').html();
+sendmessagehtml = $('.validatewrapper').html();
+second = +$('.second').text();
+
+
+function gettype(str, i) {
+    if (str.charCodeAt(i) >= 48 && str.charCodeAt(i) <= 57) {
+        return 1;
+    } else if (str.charCodeAt(i) >= 97 && str.charCodeAt(i) <= 122) {
+        return 2;
+    } else if (str.charCodeAt(i) >= 65 && str.charCodeAt(i) <= 90) {
+        return 3;
+    }
+
+    return 4;
+}
+
+function isregular(cur, pre, type) {
+    var curCode = cur.charCodeAt(0);
+    var preCode = pre.charCodeAt(0);
+
+    if (curCode - preCode === 0) {
+        return true;
+    }
+
+    if (type !== 4 && (curCode - preCode === 1 || curCode - preCode === -1)) {
+        return true;
+    }
+
+    return false;
+}
+
+
+function getcomplex(curType, preType) {
+    if (preType === 0 || curType === preType) {
+        return 0;
+    } else if (curType === 4 || preType === 4) {
+        return 2;
+    } else {
+        return 1;
+    }
+}
+
+
+/**
+ * @desc: 计算密码复杂度(from://www.oschina.net/code/snippet_127301_17269)
+ * @author: xuqi(qi.xu@yoho.cn)
+ * @date: 2015/5/6
+ */
+function computeComplex(password) {
+    var complex = 0;
+    var length = password.length;
+    var pre = '';
+    var preType = 0;
+    var i = 0;
+    var cur = '';
+    var curType = '';
+
+    for (i; i < length; i++) {
+        cur = password.charAt(i);
+        curType = gettype(password, i);
+        if (preType !== curType || !isregular(cur, pre, curType)) {
+            complex += curType + getcomplex(curType, preType);
+        }
+        pre = cur;
+        preType = curType;
+    }
+
+    return complex;
+}
+
+function showErrTip($dom, info) {
+    $dom.find('em').text(info);
+    $dom.removeClass('hide');
+}
+
+function changeSecond() {
+    second -= 1;
+    if (second < 0) {
+        second = 60;
+        $('.validatewrapper').html(sendmessagehtml);
+        return;
+    } else {
+        $('.second').text(second);
+        window.setTimeout(changeSecond, 1000);
+    }
+
+}
+/**
+ * 启动倒计时
+ * @return {[type]} [description]
+ */
+function circleTime() {
+    $('.validatewrapper').html(nopermissionoption);
+    window.setTimeout(changeSecond, 1000);
+}
+
+function sendMessageValidate() {
+    $(document).on('click', '#sendmessage', function() {
+        circleTime();
+        $.ajax({
+            type: 'POST',
+            url: '/passport/autouserinfo/sendBindMsg',
+            data: {
+                mobile: mobile,
+                area: area
+            }
+        }).then(function(data) {
+            if (data.code !== 200) {
+                alert(data.message);
+            }
+        });
+
+    });
+}
+
+
+
+function codeValidate() {
+    var validatenum = '';
+
+    $(document).on('keyup', '#validatenum', function() {
+        $('#err-info').hide();
+        validatenum = $(this).val();
+        if (validatenum.length === 4) {
+            if (!dovalidate) {
+                dovalidate = true;
+                $.ajax({
+                    type: 'POST',
+                    url: '/passport/autouserinfo/checkBindMsg',
+                    data: {
+                        code: validatenum,
+                        mobile: mobile,
+                        area: area
+                    }
+                }).then(function(data) {
+                    dovalidate = false;
+                    if (data.code !== 200) {
+                        $('#err-info').show();
+                    } else {
+                        isvalidatecode = true;
+                    }
+                });
+            }
+        }
+    });
+}
+
+function pwdKeyupEvt() {
+    var pwd = $pwd.val(),
+        pwdStrength = computeComplex(pwd),
+        level = 0;
+
+    if (pwdStrength === 0) {
+        level = 0;
+    } else if (pwdStrength <= 10) {
+        level = 1;
+    } else if (pwdStrength <= 20) {
+        level = 2;
+    } else {
+        level = 3;
+    }
+    switch (level) {
+        case 0:
+            $pwdParent.removeClass('red yellow green');
+            $pwdIntensity.removeClass('color');
+            break;
+        case 1:
+            $pwdParent.addClass('red').removeClass('yellow green');
+            $pwdIntensity.filter('.low').addClass('color');
+            $pwdIntensity.filter('.mid,.high').removeClass('color');
+            break;
+        case 2:
+            $pwdParent.addClass('yellow').removeClass('red green');
+            $pwdIntensity.filter('.low,.mid').addClass('color');
+            $pwdIntensity.filter('.high').removeClass('color');
+            break;
+        case 3:
+            $pwdParent.addClass('green').removeClass('yellow red');
+            $pwdIntensity.addClass('color');
+            break;
+    }
+    if (pwd === '') {
+        isvalidatepwd = false;
+        $pwdTip1.removeClass('red yes no').addClass('default');
+    } else {
+        if (pwd.length < 6 || pwd.length > 20) {
+            isvalidatepwd = false;
+            $pwdTip1.removeClass('default yes').addClass('no red');
+        } else {
+            isvalidatepwd = true;
+            $pwdTip1.removeClass('default no red').addClass('yes');
+        }
+        if (/^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]*$/.test(pwd)) {
+            $pwdTip2.removeClass('default no red').addClass('yes');
+        } else {
+            $pwdTip2.removeClass('default yes').addClass('no red');
+        }
+    }
+}
+
+function validatePwd() {
+    $(document).on('keyup', '.pwdcontent', function() {
+        pwdKeyupEvt($(this));
+    });
+    $(document).on('focus', '.pwdcontent', function() {
+        $('#pwd-tips').removeClass('hide');
+    });
+    $(document).on('blur', '.pwdcontent', function() {
+        $('#pwd-tips').addClass('hide');
+    });
+}
+
+/**
+ * 最终提交表单
+ */
+function actionSubmit() {
+    var pwd = '';
+    var code = '';
+
+    // 查看提交状态,避免重复提交
+    if (submitStatus) {
+        return;
+    }
+    submitStatus = true;
+    setTimeout(function() {
+        submitStatus = false;
+    }, 50000);
+
+    pwd = $('#pwd').val();
+    code = $('#validatenum').val();
+    $.ajax({
+        type: 'POST',
+        url: '/passport/autouserinfo/bindMobile',
+        data: {
+            area: area,
+            openId: $('#openId').val(),
+            sourceType: $('#sourceType').val(),
+            mobile: mobile,
+            password: pwd,
+            code: code
+        }
+    }).then(function(data) {
+        submitStatus = false;
+        if (data.code === 200) {
+            if (data.data && data.data.refer) {
+                window.location.href = data.data.refer;
+            } else {
+                window.location.href = '/passport/thirdlogin/bindsuccess';
+            }
+        } else {
+            alert(data.message);
+        }
+    });
+}
+/**
+ * 确定完善信息
+ * @return {[type]} [description]
+ */
+function actionConfirm() {
+    var validatenum = '';
+    var pwd = '';
+
+    $('#confirmsubmit').on('click', function() {
+        var isAssess = true;
+
+        validatenum = $('#validatenum').val();
+        pwd = $('#pwd').val();
+
+        if (validatenum === '') {
+            showErrTip($codeTip, '短信验证码不能为空');
+            isAssess = false;
+        } else if (isvalidatecode === false) {
+            showErrTip($codeTip, '请输入正确的验证码');
+            isAssess = false;
+        }
+
+        if (pwd === '') {
+            showErrTip($pwdTip, '密码不能为空');
+            isAssess = false;
+        } else if (pwd.length < 6 || pwd.length > 20) {
+            showErrTip($pwdTip, '密码只支持6-20位字符');
+            isAssess = false;
+        } else if (!pwdRegx.test(pwd)) {
+            showErrTip($pwdTip, '密码须由字母和数字组合');
+            isAssess = false;
+        } else if (isvalidatepwd === false) {
+            showErrTip($pwdTip, '请输入符合强度的密码');
+            isAssess = false;
+        }
+
+        if (!isAssess) {
+            return;
+        }
+
+        actionSubmit();
+    });
+}
+
+
+
+function init() {
+    $pwd = $('#pwd');
+    $pwdParent = $('.safelevel');
+    $pwdIntensity = $('.pwd-intensity');
+    $pwdTip1 = $('#pwd-tip1');
+    sendMessageValidate();
+    codeValidate();
+    validatePwd();
+    actionConfirm();
+    if (mobile && area) {
+        $sendMsgBtn.click();
+    }
+}
+
+init();
+
+});
+define("js/passport/relate", ["jquery"], function(require, exports, module){
+/**
+ * 第三方关联
+ * @author: yyqing<yanqing.yang@yoho.cn>
+ * @date: 2016/4/11
+ */
+var $ = require("jquery");
+
+var $relateMain = $('#relate-main'),
+    $codeValidate = $('#code-validate'),
+    $vaWrapper = $codeValidate.find('.validate-wrapper'),
+    $msgCode = $codeValidate.find('.msg-code'),
+    $second = $codeValidate.find('.count-down span'),
+    $errTip = $codeValidate.find('.code-error'),
+    $hideDom = $('#hide-info');
+
+var relate = {};
+
+var circleTime = {};
+
+relate = $hideDom.data();
+$hideDom.remove();
+
+// 倒计时
+circleTime = {
+    init: function() {
+        if (this.timer) {
+            window.clearTimeout(this.timer);
+        }
+        this.second = 60;
+        $vaWrapper.addClass('waiting');
+        this.changeTime();
+    },
+    changeTime: function() {
+        var that = this;
+
+        if (this.second && this.second > 0) {
+            $second.text(this.second);
+            this.second--;
+            this.timer = window.setTimeout(function() {
+                that.changeTime();
+            }, 1000);
+        } else {
+            this.clearTime();
+        }
+    },
+    clearTime: function() {
+        if (this.timer) {
+            window.clearTimeout(this.timer);
+        }
+        $vaWrapper.removeClass('waiting');
+    }
+};
+
+function sendVerifyMsg() {
+    circleTime.init();
+
+    $.ajax({
+        type: 'POST',
+        url: '/passport/autouserinfo/sendBindMsg',
+        data: {
+            mobile: relate.mobile,
+            area: relate.area
+        }
+    }).then(function(jsonData) {
+        if (jsonData && jsonData.code !== 200) {
+            circleTime.clearTime();
+            alert(jsonData.message);
+        }
+    });
+}
+
+function relateMobile() {
+    var code = $msgCode.val();
+
+    if (!code) {
+        return;
+    }
+
+    $.ajax({
+        type: 'POST',
+        url: '/passport/autouserinfo/relateMobile',
+        data: {
+            mobile: relate.mobile,
+            area: relate.area,
+            openId: relate.openid,
+            sourceType: relate.source,
+            code: code
+        }
+    }).then(function(jsonData) {
+        if (jsonData.code === 200) {
+            window.location.href = jsonData.data.refer;
+        } else if (jsonData.code === 402) {
+            $errTip.removeClass('hide');
+        } else {
+            $errTip.addClass('hide');
+            alert(jsonData.message);
+        }
+    });
+}
+
+$('#next-step-btn').click(function() {
+    sendVerifyMsg();
+    $relateMain.addClass('hide');
+    $errTip.addClass('hide');
+    $codeValidate.removeClass('hide');
+});
+
+$codeValidate.on('keydown', '.msg-code', function(e) {
+    if (e.keyCode === 13) {
+        relateMobile();
+        return false;
+    }
+});
+
+$codeValidate.on('click', '.get-code', function() {
+    sendVerifyMsg();
+});
+
+$codeValidate.on('click', '.perv-step', function() {
+    circleTime.clearTime();
+    $relateMain.removeClass('hide');
+    $codeValidate.addClass('hide');
+    $msgCode.val('');
+});
+
+$('#relate-btn').click(function() {
+    relateMobile();
+});
+});
+define("js/cart/cart", ["jquery","handlebars","source-map"], function(require, exports, module){
+/**
+ * @description:  购物车
+ * @author: chenglong.wang@yoho.cn
+ * @tips: 购物车的商品计价在服务端处理,客户端只要在每次操作后刷新页面重新渲染就可以了
+ */
+
+var $ = require("jquery");
+var Handlerbars = require("handlebars");
+var dialog = require("js/common/dialog");
+
+var Confirm = dialog.Confirm;
+var Alert = dialog.Alert;
+
+var $cartnewSum = $('.cartnew-sum'),
+    $cartnewTips = $('.cartnew-tips'),
+    $payWapper = $('.pay-wapper'),
+    $goodsDetail = $('.goods-detail'),
+    $histroy = $('.histroy'),
+    $together = $('.together'),
+    $shopCart = $('.shop-cart'),
+    togetherProductSource,
+    togetherProductTemplate,
+    togetherProductStr,
+    subjoinPage,
+    subjoinPageNum,
+    subjoinPageAll,
+    pageDom,
+    selected,
+    pageNum = 1,
+    delUrl,
+    count,
+    countJSON,
+    dataJSON,
+    pacList = 0,
+    shopNum = 1,
+    shopNumAll,
+    productSku,
+    promotionId,
+    promotionPrice,
+    yetCollect,
+    collect,
+    content,
+    productId,
+    shopName,
+    delNum,
+    understock,
+    selectArray = [],
+    PromotionArray = [],
+    perList = false,
+    commonList = false,
+    hasPromotion = false,
+    htmlInfo,
+    shopJson,
+    oldprice,
+    wapperPrice,
+    countBusy = false;
+
+
+// 关闭温馨提示
+$cartnewTips.find('.btn_close').click(function() {
+    $cartnewTips.fadeOut();
+});
+
+// checkbox提交ajax
+function choiceOut(data) {
+    $.ajax({
+        type: 'POST',
+        dataType: 'json',
+        url: '/cart/index/select',
+        data: data,
+        beforeSend: function() {
+            $('.loading').css({
+                top: $(document).scrollTop() + 200
+            });
+            $('.loading').show();
+        }
+    }).then(function(d) {
+        if (d.code === 200) {
+            window.history.go(0);
+        }
+    });
+}
+
+//单选提交
+$payWapper.one('click', '.common-sell-box input[type="checkbox"], .pre-sell-box input[type="checkbox"]', function() {
+    selected = $(this).attr('checked') ? 'Y' : 'N';
+    selectArray = [];
+    selectArray.push({
+        product_sku: $(this).parents('tr').data('id'),
+        selected: selected,
+        buy_number: $(this).parents('tr').data('productnum'),
+        goods_type: $(this).parents('tr').data('goodstype'),
+        promotion_id: $(this).parents('tr').data('promotionid') ? $(this).parents('tr').data('promotionid') : 0
+    });
+    if ($(this).parents('tr').promotion_id) {
+        hasPromotion = true;
+    } else {
+        hasPromotion = false;
+    }
+    dataJSON = {
+        skuList: JSON.stringify(selectArray),
+        hasPromotion: hasPromotion
+    };
+    choiceOut(dataJSON);
+});
+
+//多选提交
+$cartnewSum.one('click', 'input[type="checkbox"]', function() {
+    selectArray = [];
+    shopJson = {};
+    dataJSON = {};
+    selected = $(this).attr('checked') ? 'Y' : 'N';
+    $('.pay-wapper:first tr').each(function() {
+        if ($(this).data('promotionid')) {
+            hasPromotion = true;
+        }
+        if ($(this).data('id')) {
+            selectArray.push({
+                product_sku: $(this).data('id'),
+                selected: selected,
+                buy_number: $(this).data('productnum'),
+                goods_type: $(this).data('goodstype'),
+                promotion_id: $(this).data('promotionid') ? $(this).data('promotionid') : 0
+            });
+        }
+    });
+    dataJSON = {
+        skuList: JSON.stringify(selectArray),
+        hasPromotion: hasPromotion
+    };
+    choiceOut(dataJSON);
+});
+
+function isCheck(obj, className) {
+    selectArray = [];
+    dataJSON = {};
+    selected = obj.attr('checked') ? 'Y' : 'N';
+    $('.' + className).each(function() {
+        if ($(this).data('promotionid')) {
+            hasPromotion = true;
+        } else {
+            hasPromotion = false;
+        }
+        if ($(this).data('id')) {
+            selectArray.push({
+                product_sku: $(this).data('id'),
+                selected: selected,
+                buy_number: $(this).data('productnum'),
+                goods_type: $(this).data('goodstype'),
+                promotion_id: $(this).data('promotionid') ? $(this).data('promotionid') : 0
+            });
+        }
+    });
+    dataJSON = {
+        skuList: JSON.stringify(selectArray),
+        hasPromotion: hasPromotion
+    };
+    choiceOut(dataJSON);
+}
+
+$('.per-list').on('click', 'input[type="checkbox"]', function() {
+    isCheck($(this), 'pre-sell-box');
+});
+
+$('.common-list').on('click', 'input[type="checkbox"]', function() {
+    isCheck($(this), 'common-sell-box');
+});
+
+// 凑单商品,最近浏览异步加载
+togetherProductSource = $('#togetherProduct').html();
+togetherProductTemplate = Handlerbars.compile(togetherProductSource);
+
+function getTogetherProduct($obj, url, page) {
+    $.ajax({
+        type: 'GET',
+        dataType: 'json',
+        url: url,
+        data: page
+    }).then(function(d) {
+        if (d.code === 200) {
+            if (d.data.item) {
+                if (d.data.item.length > 0) {
+                    $obj.html(' ');
+                    togetherProductStr = togetherProductTemplate(d.data);
+                    $obj.append($(togetherProductStr));
+                    $('#orderProduct li:last').addClass('end');
+                    $('.gift').removeClass('none');
+                }
+            }
+        }
+    });
+}
+
+// 最近浏览
+getTogetherProduct($histroy, '/cart/index/getHistroyProduct');
+
+// 凑单商品
+getTogetherProduct($together, '/cart/index/getTogetherProduct');
+
+//凑单商品翻页
+$together.on('click', '.pagenext, .pageprev', function() {
+    getTogetherProduct($together, '/cart/index/getTogetherProduct', {
+        page: Math.ceil(Math.random() * 100) + 1
+    });
+
+});
+
+//凑单商品,历史商品商品折叠
+$shopCart.on('click', '.icon-minus, .icon-add', function() {
+    if ($(this).hasClass('icon-minus')) {
+        $(this).parents('.title').next('.main').hide();
+        $(this).parents('h2').next('.right').hide();
+    } else {
+        $(this).parents('.title').next('.main').show();
+        $(this).parents('h2').next('.right').show();
+    }
+    $(this).siblings('i').toggleClass('none');
+    $(this).toggleClass('none');
+
+});
+
+// 最近浏览翻页
+$histroy.on('click', '.pagenext, .pageprev', function() {
+    if ($(this).hasClass('pagenext')) {
+        pageNum++;
+    } else {
+        --pageNum > 0 || (pageNum = 1);
+    }
+    getTogetherProduct($histroy, '/cart/index/getHistroyProduct', {
+        page: pageNum
+    });
+
+});
+
+
+//根据id获取商品信息
+function productInfo(data) {
+    $.ajax({
+        type: 'GET',
+        dataType: 'html',
+        url: '/cart/index/getProductInfo',
+        data: data
+    }).then(function(d) {
+        pacList = 0;
+        $goodsDetail.html(' ');
+        $goodsDetail.append(d);
+        $goodsDetail.show();
+        $('.detail-bigpic:not(.none) .con li:first').addClass('active');
+
+        if ($('.showSizeBox:not(.none) span').length < 2) {
+            $('.showSizeBox:not(.none) span:first').addClass('atcive');
+        }
+        if (Number($('#addToCart').val()) !== 1) {
+            $('.showSizeBox span').data('num', 0);
+        }
+        $.each($('.showSizeBox span'), function() {
+            if ($(this).data('num') <= 0) {
+                $(this).addClass('null-atcivec');
+                console.log($('.showSizeBox:not(.none) span:first'));
+                $('.showSizeBox:not(.none) span:first').removeClass('atcive');
+            }
+        });
+
+        if (typeof promotionPrice !== 'undefined') {
+            oldprice = $('.detail-info .oldprice del').html() ? $('.detail-info .oldprice del').html() : wapperPrice;
+            htmlInfo = '<span class="oldprice">现价:<del>' + oldprice + '</del></span>' +
+                        '<span class="newprice">活动价:<b class="promotion-price">' + promotionPrice + '</b></span>';
+            $('.detail-info .price').html(htmlInfo);
+        }
+
+        $('.detail-bigpic:not(.none) .bigpic:gt(0)').hide();
+
+        $('.showSizeBox:not(.none)').find('span').each(function() {
+        if ($(this).hasClass('null-atcivec')) {
+            $('.addcart').addClass('none');
+            $('.btn_sellout').removeClass('none');
+        } else {
+            $('.addcart').removeClass('none');
+            $('.btn_sellout').addClass('none');
+            return false;
+        }
+    });
+    });
+}
+
+function removeInfo() {
+    $goodsDetail.html(' ');
+    $goodsDetail.css({
+        top: $(document).scrollTop() + 30,
+        left: $(document).width() / 2 - $goodsDetail.width() / 2
+    });
+
+}
+
+//显示加价购商品信息
+$payWapper.on('click', '.cart-add-btn', function() {
+    productId = $(this).data('id');
+    promotionId = $(this).parents('table').data('promotion');
+    promotionPrice = $(this).parents('table').find('.subjoin-price').html();
+    wapperPrice = $(this).parents('table').find('.wapper-price').html();
+    removeInfo();
+    productInfo({
+        productId: productId
+    });
+});
+
+//凑单商品,历史商品商品记录
+$('.clearfix').on('click', '.btn_view_s', function() {
+    productId = $(this).data('id');
+    promotionId = $(this).parents('table').data('promotion');
+    promotionPrice = $(this).parents('table').find('.subjoin-price').html();
+    removeInfo();
+    productInfo({
+        productId: productId
+    });
+});
+
+//关闭商品信息窗口
+$goodsDetail.on('click', '.colse', function() {
+    $goodsDetail.hide();
+    $goodsDetail.html(' ');
+    shopNum = 1;
+});
+
+//展开加价购商品列表
+function fold(icon) {
+    icon.addClass('none').siblings('i').removeClass('none');
+    icon.parents('.cart-product-num').siblings('div').toggleClass('fold');
+    icon.siblings('.unfold-color').toggleClass('none');
+    icon.siblings('.cart-page').toggleClass('none');
+}
+
+$payWapper.on('click', '.icon-minusCart, .icon-addCart', function() {
+    fold($(this));
+});
+
+
+$payWapper.on('click', '.unfold-color', function() {
+    fold($(this));
+    $(this).siblings('.icon-minusCart').removeClass('none');
+    $(this).siblings('.icon-addCart').addClass('none');
+});
+
+//加价购商品分页
+$payWapper.on('click', '.cart-btn-next', function() {
+    subjoinPage = $(this).siblings('p').find('.f-red');
+    subjoinPageAll = Number($(this).siblings('p').find('.subjoinPageNum').html());
+    subjoinPageNum = Number(subjoinPage.html());
+    subjoinPage.html(subjoinPageNum + 1);
+    if (subjoinPageNum >= subjoinPageAll - 1) {
+        $(this).hide();
+    } else {
+        $(this).siblings('i').show();
+    }
+    pageDom = $(this).parents('.cart-product-num').siblings('div').find('table');
+    pageDom.addClass('none').eq(subjoinPageNum).removeClass('none');
+});
+
+$payWapper.on('click', '.cart-btn-pre', function() {
+    subjoinPage = $(this).siblings('p').find('.f-red');
+    subjoinPageAll = Number($(this).siblings('p').find('.subjoinPageNum').html());
+    subjoinPageNum = Number(subjoinPage.html());
+    subjoinPage.html(subjoinPageNum - 1);
+    if (subjoinPageNum <= 2) {
+        $(this).hide();
+    } else {
+        $(this).siblings('i').show();
+    }
+    pageDom = $(this).parents('.cart-product-num').siblings('div').find('table');
+    pageDom.addClass('none').eq(subjoinPageNum - 2).removeClass('none');
+});
+
+//删除购物车商品,把删除的商品移入cookie中
+function cartDel(data, delUrl, cookieList) {
+    $.ajax({
+        type: 'POST',
+        dataType: 'json',
+        url: delUrl,
+        data: dataJSON,
+        beforeSend: function() {
+            $('.loading').css({
+                top: $(document).scrollTop() + 200
+            });
+            $('.loading').show();
+        }
+    }).then(function(d) {
+        if (d.code === 200) {
+            if (cookieList) {
+                window.setCookie('cart-del-list', JSON.stringify(cookieList), {
+                    domain: '.yohobuy.com',
+                    path: '/'
+                });
+            }
+            window.history.go(0);
+        } else if (d.code === 300) {
+            $('.loading').hide();
+            new Alert(d.message).show();
+        } else if (d.code === 403) {
+            if (d.data.url) {
+                window.location = d.data.url;
+            }
+        }
+    });
+}
+
+//商品信息弹出框,加入收藏夹
+$goodsDetail.on('click', '.fav_count', function() {
+    $.ajax({
+        type: 'POST',
+        dataType: 'json',
+        url: '/product/item/togglecollect',
+        data: {
+            productId: productId,
+            type: 'add'
+        }
+    }).then(function(d) {
+        if (d.code === 200) {
+            new Alert(d.message).show();
+        } else if (d.code === 403) {
+            if (d.data.url) {
+                window.location = d.data.url;
+            }
+        } else {
+            new Alert(d.message).show();
+        }
+    });
+});
+
+
+//删除商品
+$payWapper.on('click', '.cart-del-btn', function() {
+    dataJSON = {};
+    selectArray = [];
+    promotionId = $(this).parents('tr').data('promotionid') ? $(this).parents('tr').data('promotionid') : 0;
+    selectArray.push({
+        product_sku: $(this).parents('tr').data('id'),
+        buy_number: $(this).parents('tr').data('productnum'),
+        promotion_id: promotionId
+    });
+
+    if (promotionId) {
+        hasPromotion = true;
+    } else {
+        hasPromotion = false;
+    }
+
+    dataJSON = {
+        skuList: JSON.stringify(selectArray),
+        hasPromotion: hasPromotion
+    };
+    content = '<div><span></span>删除商品</div>' +
+              '<p>确定从购物车中删除此商品?</p>';
+    if (!$(this).data('gift')) {
+        countJSON = {
+            productPrice: $(this).parents('tr').find('.productPrice').text(),
+            productTitle: $(this).parents('tr').find('.pay-pro-info a').text(),
+            link: $(this).parents('tr').find('.pay-pro-info a').attr('href'),
+            productNum: $(this).parents('tr').data('productnum'),
+            productSku: $(this).parents('tr').data('id'),
+            promotionId: $(this).parents('tr').data('promotionid')
+        };
+    }
+    delUrl = '/cart/index/remove';
+    new Confirm({
+        content: content,
+        cb: function() {
+                cartDel(dataJSON, delUrl, countJSON);
+            }
+    }).show();
+});
+
+//移入收藏夹
+$payWapper.on('click', '.cart-remove-btn', function() {
+    dataJSON = {};
+    selectArray = [];
+    promotionId = $(this).parents('tr').data('promotionid') ? $(this).parents('tr').data('promotionid') : 0;
+    selectArray.push({
+        product_sku: $(this).parents('tr').data('id'),
+        buy_number: $(this).parents('tr').data('productnum'),
+        promotion_id: promotionId
+    });
+
+    if (promotionId) {
+        hasPromotion = true;
+    } else {
+        hasPromotion = false;
+    }
+
+    dataJSON = {
+        skuList: JSON.stringify(selectArray),
+        hasPromotion: hasPromotion
+    };
+
+    cartDel(dataJSON, '/cart/index/fav');
+});
+
+//批量删除商品
+$cartnewSum.on('click', '.delAll', function() {
+    dataJSON = {};
+    countJSON = {};
+    selectArray = [];
+    PromotionArray = [];
+    $('.pay-wapper:first tr').each(function() {
+        if ($(this).find('input[type="checkbox"]').attr('checked')) {
+            promotionId = $(this).data('promotionid') ? $(this).data('promotionid') : 0;
+            if (promotionId) {
+                hasPromotion = true;
+            }
+            if ($(this).data('id')) {
+                if ($(this).find('input[type="checkbox"]').attr('checked')) {
+                    selectArray.push({
+                        product_sku: $(this).data('id'),
+                        buy_number: $(this).data('productnum'),
+                        promotion_id: promotionId
+                    });
+                }
+                countJSON = {
+                    productPrice: $(this).find('.productPrice').text(),
+                    productTitle: $(this).find('.pay-pro-info a').text(),
+                    link: $(this).find('.pay-pro-info a').attr('href'),
+                    productNum: $(this).data('productnum'),
+                    productSku: $(this).data('id'),
+                    promotionId: $(this).data('promotionid')
+                };
+                PromotionArray.push(countJSON);
+            }
+        }
+    });
+    delUrl = '/cart/index/remove';
+    content = '<div><span></span>删除商品</div>' +
+              '<p>确定从购物车中删除所有选中商品?</p>';
+    dataJSON = {
+        skuList: JSON.stringify(selectArray),
+        hasPromotion: hasPromotion
+    };
+    if (!$.isEmptyObject(selectArray)) {
+        new Confirm({
+            content: content,
+            cb: function() {
+                    cartDel(dataJSON, delUrl, PromotionArray);
+                }
+        }).show();
+    } else {
+        new Alert('请至少选择一件商品').show();
+    }
+});
+
+//批量移入收藏夹商品
+$cartnewSum.on('click', '.removeAll', function() {
+    dataJSON = {};
+    countJSON = {};
+    selectArray = [];
+    $('.pay-wapper:first tr').each(function() {
+        if ($(this).find('input[type="checkbox"]').attr('checked')) {
+            promotionId = $(this).data('promotionid') ? $(this).data('promotionid') : 0;
+            if (promotionId) {
+                hasPromotion = true;
+            }
+
+            if ($(this).data('id')) {
+                if ($(this).find('input[type="checkbox"]').attr('checked')) {
+                    selectArray.push({
+                        product_sku: $(this).data('id'),
+                        buy_number: $(this).data('productnum'),
+                        promotion_id: promotionId
+                    });
+                }
+            }
+        }
+    });
+    dataJSON = {
+        skuList: JSON.stringify(selectArray),
+        hasPromotion: hasPromotion
+    };
+    if (!$.isEmptyObject(selectArray)) {
+        cartDel(dataJSON, '/cart/index/fav');
+    } else {
+        new Alert('请至少选择一件商品').show();
+    }
+});
+
+//购物车商品增减
+function countAJAX(data) {
+    countBusy = true;
+    $.ajax({
+        type: 'POST',
+        dataType: 'json',
+        url: '/cart/index/modify',
+        data: data
+    }).then(function(d) {
+        if (d.code === 200) {
+            window.history.go(0);
+        }
+        countBusy = false;
+    });
+}
+
+$payWapper.on('click', '.minus, .plus', function() {
+    countJSON = {};
+    count = $(this).hasClass('minus') ? 'decreaseNum' : 'increaseNum';
+    countJSON['' + count] = 1;
+    if (countBusy || ($(this).siblings('input').val() === '1' && $(this).hasClass('minus'))) {
+        return false;
+    }
+
+    countAJAX($.extend(countJSON,
+        {
+            sku: $(this).parents('tr').data('id')
+        }
+    ));
+});
+
+$('.gift').on('click', '.up, .down', function() {
+    $(this).siblings('i').toggleClass('none');
+    $(this).toggleClass('none');
+});
+
+//加入购物车
+
+function addcart(data, cookieList) {
+    $.ajax({
+        type: 'POST',
+        url: '/cart/index/add',
+        data: data
+    }).then(function(d) {
+        if (d.code === 200) {
+            window.history.go(0);
+            if (cookieList) {
+                window.setCookie('cart-del-list', JSON.stringify(cookieList), {
+                    domain: '.yohobuy.com',
+                    path: '/'
+                });
+            }
+        } else if (d.code === 500) {
+            new Alert(d.message).show();
+        }
+    });
+}
+
+$goodsDetail.on('click', '.addcart', function() {
+    if ($('.showSizeBox:not(.none) .atcive').length !== 0) {
+        shopNumAll = $('.showSizeBox:not(.none) .atcive').data('num');
+        productSku = $('.showSizeBox:not(.none) .atcive').data('sku');
+        dataJSON = {
+            productSku: productSku,
+            buyNumber: $('#mnum').val(),
+            promotionId: promotionId
+        };
+    } else {
+        new Alert('请选择尺码').show();
+        return false;
+    }
+
+    if ($('#mnum').val() > shopNumAll) {
+        new Alert('库存不足,目前还有' + shopNumAll + '个库存').show();
+    } else {
+        if (Number($('#addToCart').val()) === 1) {
+            addcart(dataJSON);
+        } else {
+            new Alert('该商品无法加入购物车').show();
+        }
+    }
+});
+
+$goodsDetail.on('click', '.cut, .add', function() {
+    count = $(this).hasClass('minus') ? 'decreaseNum' : 'increaseNum';
+    if (promotionId) {
+        if ($(this).hasClass('cut')) {
+            new Alert('-_-,已经是最后一件,不能在减了!').show();
+        } else {
+            new Alert('最多只能购买1,您好像购买的太多了!').show();
+        }
+    } else {
+        if ($(this).hasClass('add')) {
+            shopNum++;
+        } else {
+            shopNum--;
+        }
+        if (shopNum < 1) {
+            new Alert('-_-,已经是最后一件,不能在减了!').show();
+            shopNum = 1;
+            return false;
+        }
+
+        $('#mnum').val(shopNum);
+    }
+
+});
+
+$goodsDetail.on('click', '.color', function() {
+    pacList = 0;
+    $('.color').find('p').removeClass('atcive');
+    $(this).find('p').addClass('atcive');
+    $('.showSizeBox').addClass('none').eq($(this).index()).removeClass('none');
+    if ($('.showSizeBox:not(.none) span').length < 2) {
+        $('.showSizeBox:not(.none) span:first').addClass('atcive');
+    }
+    $('.detail-bigpic').addClass('none').eq($(this).index()).removeClass('none');
+    $('.detail-bigpic').eq($(this).index()).find('.bigpic').hide();
+    $('.detail-bigpic').eq($(this).index()).find('.bigpic:first').show();
+    $('.detail-bigpic').eq($(this).index()).find('.con li').removeClass('active');
+    $('.detail-bigpic').eq($(this).index()).find('.con li:first').addClass('active');
+    $('.showSizeBox').eq($(this).index()).find('span').each(function() {
+        if ($(this).hasClass('null-atcivec')) {
+            $('.addcart').addClass('none');
+            $('.btn_sellout').removeClass('none');
+        } else {
+            $('.addcart').removeClass('none');
+            $('.btn_sellout').addClass('none');
+            return false;
+        }
+    });
+});
+
+$goodsDetail.on('click', '.showSizeBox span', function() {
+    shopNumAll = $(this).data('num');
+    if ($(this).data('num') > 0) {
+        $('.showSizeBox:not(.none) span').removeClass('atcivec atcive').eq($(this).index()).addClass('atcive');
+        $('.addcart').removeClass('none');
+        $('.btn_sellout').addClass('none');
+    } else {
+        $('.showSizeBox:not(.none) span').removeClass('atcivec atcive').eq($(this).index()).addClass('atcivec');
+        $('.addcart').addClass('none');
+        $('.btn_sellout').removeClass('none');
+    }
+});
+
+//撤销删除
+$('.goBack').on('click', function() {
+    dataJSON = {};
+    delNum = $('.dev-revocation .goBack').index(this);
+    selectArray = [];
+    $('.dev-revocation tr').each(function(index) {
+        if (delNum !== index) {
+            countJSON = {
+                productPrice: $(this).find('.productPrice').text(),
+                productTitle: $(this).find('.title').text(),
+                link: $(this).find('.title').attr('href'),
+                productNum: $(this).data('productnum'),
+                productSku: $(this).data('productsku'),
+                promotionId: $(this).data('promotionid')
+            };
+            selectArray.push(countJSON);
+        }
+    });
+    dataJSON = {
+        productSku: $(this).parents('tr').data('productsku'),
+        promotionId: $(this).parents('tr').data('promotionid'),
+        buyNumber: $(this).parents('tr').data('productnum')
+    };
+    addcart(dataJSON, selectArray);
+});
+
+$goodsDetail.on('click', '.piclist li', function() {
+    pacList = $(this).index();
+    $('.detail-bigpic:not(.none) .piclist li').removeClass('active');
+    $(this).addClass('active');
+    $('.detail-bigpic:not(.none) .bigpic').hide().eq($(this).index()).show();
+});
+
+function isSollect() {
+    $('.gift-wrapper .fold').show();
+    if ($('.pre-sell-box input:checked').length === $('.pre-sell-box input[type="checkbox"]').length) {
+        $('.per-list input[type="checkbox"]').attr('checked', true);
+    }
+    if ($('.common-sell-box input:checked').length === $('.common-sell-box input[type="checkbox"]').length) {
+        $('.common-list input[type="checkbox"]').attr('checked', true);
+    }
+    if ($('.common-list input[type="checkbox"]').attr('checked')) {
+        commonList = true;
+    }
+    if ($('.per-list input[type="checkbox"]').attr('checked')) {
+        perList = true;
+    }
+    if ($('.per-list').length !== 0 && $('.common-list').length !== 0) {
+        if (commonList && perList) {
+            $('.batch_div input[type="checkbox"]').attr('checked', true);
+        }
+    } else {
+        if (commonList || perList) {
+            $('.batch_div input[type="checkbox"]').attr('checked', true);
+        }
+    }
+
+    $('.cart-page').each(function() {
+        if ($(this).data('pageall') === 1) {
+            $('.cart-btn-pre', this).hide();
+            $('.cart-btn-next', this).hide();
+        } else {
+            $('.cart-btn-pre', this).hide();
+        }
+    });
+
+    if ($('.pre-sell-box input:checked').length > 0 && $('.common-sell-box input:checked').length > 0) {
+        $('.go_cash_tips').show();
+        $('.btn_account_disabled').show();
+        $('.btn_account').hide();
+    } else {
+        $('.go_cash_tips').hide();
+        $('.btn_account').show();
+        $('.btn_account_disabled').hide();
+    }
+
+    $('.pay-wapper tr').each(function() {
+        if ($(this).data('pid')) {
+            selectArray.push($(this).data('pid') + '');
+        }
+
+    });
+    $.ajax({
+        type: 'POST',
+        url: '/cart/index/checkFav',
+        data: {
+            pidList: JSON.stringify(selectArray)
+        }
+    }).then(function(d) {
+        yetCollect = '<span class="cart-yetremove-btn">已收藏</span>';
+        collect = '<a href="javascript:void(0);" class="cart-remove-btn"><span>移入收藏</span></a>';
+        $.each(d.data, function(key, val, index) {
+            $('.pay-wapper tr').each(function() {
+                if (Number($(this).data('pid')) === Number(key)) {
+                    if (val) {
+                        $(this).find('.cart-operation').append(yetCollect);
+                    } else {
+                        $(this).find('.cart-operation').append(collect);
+                    }
+                }
+            });
+        });
+    });
+}
+
+isSollect();
+
+$goodsDetail.on('click', '.pre, .next', function() {
+    if ($(this).hasClass('next')) {
+        if (pacList >= $(this).siblings('.con').find('li').length - 1) {
+            return false;
+        }
+        pacList++;
+    } else {
+        if (pacList < 1) {
+            return false;
+        }
+        pacList--;
+    }
+    $(this).siblings('.con').find('li').removeClass('active').eq(pacList).addClass('active');
+    $('.detail-bigpic:not(.none) .bigpic').hide().eq(pacList).show();
+});
+
+//结算
+$('.btn_account').on('click', function() {
+    understock = '';
+    if ($('.pay-wapper input:checked').parents('tr').find('.tipNoStore').length > 0) {
+        shopName = $('.pay-wapper input:checked').parents('tr').find('.tipNoStore');
+        $.each(shopName.parents('tr').find('.pay-pro-info a'), function() {
+            understock += $(this).html();
+        });
+        new Alert(understock + '库存不足').show();
+    } else {
+        if ($('.zp').length > 0 && !$(this).attr('title')) {
+            $(this).attr('title', '1');
+            new Alert('您有赠品没有选择,请选择完再结算!').show();
+        } else {
+            if ($('input:checked').length > 0) {
+                if ($('.pre-sell-box input:checked').length > 0) {
+                    window.location.href = '/cart/index/orderEnsure?type=2';
+                } else {
+                    window.location.href = '/cart/index/orderEnsure?type=1';
+                }
+            } else {
+                new Alert('请至少选择一件商品').show();
+            }
+        }
+    }
+});
+
+$payWapper.on('selectstart', function() {
+    return false;
+});
+$goodsDetail.on('selectstart', function() {
+    return false;
+});
+});
+define("js/guang/entry", ["jquery","lazyload","dot","jquery-pjax"], function(require, exports, module){
+/**
+ * 逛打包入口
+ * @author: xuqi<qi.xu@yoho.cn>
+ * @date: 2016/3/29
+ */
+
+require("js/guang/list");
+
+require("js/guang/detail");
+
+require("js/guang/index");
+
+});
+define("js/guang/list", ["jquery","lazyload","dot"], function(require, exports, module){
+/**
+ * 逛编辑页、列表页
+ * @author: xuqi<qi.xu@yoho.cn>
+ * @date: 2015/12/15
+ */
+
+require("js/guang/msg");
+require("js/guang/img-blink");
+require("js/guang/right-side");
+});
+define("js/guang/msg", ["jquery","lazyload","dot"], function(require, exports, module){
+var $ = require("jquery"),
+    lazyLoad = require("lazyload");
+
+var prising;
+
+require("dot");
+
+//资讯文字截取和lazyload
+function dotLazy() {
+
+    //文字截取
+    $('.msg-title, .msg-content .content').dotdotdot({
+        wrap: 'letter'
+    });
+
+    //Lazyload
+    lazyLoad($('#msg-list img.lazy'));
+}
+
+//资讯点赞
+$('.guang-page').on('click', '.like-icon', function() {
+    var $this = $(this),
+        msgId = $this.closest('.msg-content').data('id'),
+        url;
+
+    //同一资讯多次点击归一处理
+    if (prising === msgId) {
+        return;
+    }
+
+    prising = msgId;
+
+    $this.toggleClass('liked');
+
+    //点赞或取消点赞
+    if ($this.hasClass('liked')) {
+        url = '/guang/info/praise';
+    } else {
+        url = '/guang/info/cancelPraise';
+    }
+    $.ajax({
+        type: 'GET',
+        url: url,
+        data: {
+            id: msgId,
+            time: new Date().getTime()
+        }
+    }).then(function(data) {
+        if (data.code === 200) {
+            if (data.data * 1 === 0) {
+                $this.next('b').addClass('num-0').children('.num').html('0'); //隐藏数字显示
+            } else {
+                $this.next('b').removeClass('num-0').children('.num').html(data.data);
+            }
+        }
+        prising = false;
+    });
+}).on('mouseenter mouseleave', '.like-icon', function() {
+    $(this).closest('.like').toggleClass('hover');
+});
+
+dotLazy();
+
+exports.dotLazy = dotLazy;
+
+});
+define("js/guang/img-blink", ["jquery"], function(require, exports, module){
+/**
+ * 图片移入闪动效果JS
+ * @auhor: xuqi<qi.xu@yoho.cn>
+ * @date: 2015/7/29
+ */
+
+var $ = require("jquery");
+
+$('.guang-page').on('mouseover', 'a img, a .bg-img', function(e) {
+    var $el = $(e.target);
+
+    //slider中的图片不做此效果
+    if ($el.closest('.slider').length > 0) {
+        return;
+    }
+
+    $el.addClass('blink');
+
+    setTimeout(function() {
+        $el.removeClass('blink');
+    }, 100);
+});
+
+});
+define("js/guang/right-side", ["jquery","lazyload","dot"], function(require, exports, module){
+/**
+ * 右侧栏文字截取js
+ */
+var $ = require("jquery"),
+    lazyLoad = require("lazyload");
+
+require("dot");
+
+$('.ex-reco-context').dotdotdot({
+    wrap: 'letter'
+});
+
+lazyLoad($('.ads img.lazy'));
+});
+define("js/guang/detail", ["jquery","lazyload","dot","jquery-pjax"], function(require, exports, module){
+/**
+ * 逛详情页
+ * @author: liuyue<yue.liu@yoho.cn>
+ * @date: 2015/12/16
+ */
+
+var $ = require("jquery"),
+    lazyLoad = require("lazyload"),
+    $commentArea = $('#comment-area'),
+    articleId = $('.detail-body').data('id');
+
+var $commentList = $commentArea.find('.comments-wrap'),
+    $commentNum = $('#article-comment > .comment-num'),
+    commenting = false, //评论请求尚未返回变量
+    locating = false, //评论页面正在跳转
+    $commentBtn = $('#comment-btn'),
+    MAX_COMMENTS_WORDS = 100,
+    $wordCountTip = $('#word-count-tip');
+
+require("js/guang/right-side");
+require("js/guang/img-blink");
+
+require("js/common/share");
+
+//Pjax
+require("jquery-pjax");
+
+lazyLoad({
+    failure_limit: 50
+});
+
+//点击评论滑到评论区
+// $('#article-comment').click(function() {
+//     $('html, body').animate({
+//         scrollTop: $commentArea.offset().top - 20
+//     }, 800);
+// });
+
+//文章点赞与取消点赞
+$('#prise-btn').click(function() {
+    var prising = false,
+        url,
+        $this = $(this);
+
+    if (prising) {
+        return;
+    }
+    $this.toggleClass('liked');
+    if ($this.hasClass('liked')) {
+
+        //点赞
+        url = '/guang/info/praise';
+    } else {
+
+        //取消点赞
+        url = '/guang/info/cancelPraise';
+    }
+    prising = true;
+    $.ajax({
+        type: 'GET',
+        url: url,
+        data: {
+            id: articleId
+        }
+    }).then(function(data) {
+        if (data.code === 200) {
+            $this.find('.like-num').html(data.data);
+        }
+        prising = false;
+    });
+}).bind('mouseenter mouseleave', function() {
+    $(this).toggleClass('hover');
+});
+
+//文章收藏与取消收藏
+$('#collect-btn').click(function() {
+    var collecting = false,
+        url,
+        col,
+        $this = $(this);
+
+    if (collecting) {
+        return;
+    }
+    if ($this.hasClass('collected')) {
+
+        //取消收藏
+        url = '/guang/info/cancelcollect';
+        col = 0;
+    } else {
+
+        //收藏
+        url = '/guang/info/collect';
+        col = 1;
+    }
+    collecting = true;
+    $.ajax({
+        type: 'GET',
+        url: url,
+        data: {
+            id: articleId
+        }
+    }).then(function(data) {
+        var hrefUrl;
+
+        switch (data.code) {
+            case 401:
+
+                //防止从已有col的页面再次进行跳转后出错的情况
+                if (/\?col=(1|0)/.test(location.href)) {
+                    hrefUrl = location.href.replace(/\?col=(1|0)/, '?col=' + col);
+                } else {
+                    hrefUrl = location.href + '?col=' + col;
+                }
+                location.href = '//www.yohobuy.com/signin.html?refer=' + encodeURI(hrefUrl);
+                break;
+            case 400:
+
+                // alert(data.message);
+                break;
+            case 200:
+                if (/\?col=(1|0)/.test(location.href)) {
+
+                    //如果页面url中含有col,为了防止页面刷新时收藏或者取消收藏会根据col来的问题,进行页面跳转拿掉参数
+                    location.href = location.href.replace(/\?col=(1|0)/, '');
+                } else {
+                    $this.toggleClass('collected');
+                }
+                break;
+        }
+        collecting = false;
+    });
+}).bind('mouseenter mouseleave', function() {
+    $(this).toggleClass('hover');
+});
+
+function showComment() {
+    var commonlist = $('.comments-list').find('li').length;
+
+    if (commonlist === 0) {
+        $('.commnets-resultwrapper').hide();
+        $('.comments-empty').show();
+    } else {
+        $('.commnets-resultwrapper').show();
+        $('.comments-empty').hide();
+    }
+}
+showComment();
+
+//评论
+function comment(id) {
+    var commentInfo = $('#comment-info').val();
+
+    if (commentInfo === '') {
+        alert('评论不能为空');
+        return false;
+    }
+    commenting = true;
+    $.ajax({
+        url: '/guang/info/comment',
+        data: {
+            id: id,
+            comment: commentInfo
+        },
+        type: 'post',
+        success: function(data) {
+            switch (data.code) {
+                case 401:
+                    locating = true;
+                    location.href = '//www.yohobuy.com/signin.html?refer=' +
+                                    window.escape(location.href + '#comment-info');
+                    break;
+                case 400:
+                    alert(data.message);
+                    break;
+                case 200:
+                    if (data.data) {
+                        $commentList.html(data.data.content);
+                        $commentNum.html(data.data.count);
+                        showComment();
+
+                        //clear comment-text
+                        $('#comment-info').val('').keyup();
+                    }
+                    break;
+            }
+            commenting = false;
+        }
+    });
+}
+
+$commentBtn.click(function(e) {
+
+    //页面正在跳转或者正在AJAX请求时评论无效
+    if (locating || commenting) {
+        return false;
+    }
+
+    //字数不符合要求
+    if ($('#comment-info').val().length - MAX_COMMENTS_WORDS > 0) {
+        return;
+    }
+    e.preventDefault();
+    comment(articleId);
+});
+
+
+//comment pager pjax
+$(document).pjax('.comment-pager a', '#pjax-container', {
+    timeout: 5000
+});
+
+//分页后移动到评论框的位置
+$(document).on('pjax:end', function() {
+    showComment();
+    $('html,body').scrollTop($('#comment-info').offset().top);
+});
+
+$('#comment-info').keyup(function() {
+    var len = $(this).val().length,
+        showTxt;
+
+    if (len === 0) {
+        $wordCountTip.html('');
+        $commentBtn.addClass('disable');
+    } else {
+        if (len - MAX_COMMENTS_WORDS <= 0) {
+            showTxt = '还可以输入' + (MAX_COMMENTS_WORDS - len) + '字';
+            $commentBtn.removeClass('disable');
+        } else {
+            showTxt = '已超过<span class="exceed-count">' + (len - MAX_COMMENTS_WORDS) + '</span>字';
+            $commentBtn.addClass('disable');
+        }
+    }
+    $wordCountTip.html(showTxt);
+});
+
+//init
+$('#comment-info').trigger('keyup');
+
+});
+define("js/guang/index", ["jquery","lazyload","dot","jquery-pjax"], function(require, exports, module){
+/**
+ * 逛首页
+ * @author: xuqi<qi.xu@yoho.cn>
+ * @date: 2015/12/15
+ */
+
+var $ = require("jquery");
+
+var msg = require("js/guang/msg");
+
+require("jquery-pjax");
+require("js/common/slider");
+
+require("js/guang/img-blink");
+
+require("js/guang/right-side");
+
+$('#slider').slider(); //初始化slider
+
+$(document).pjax('.pjax-link, .msg-pager a', '#pjax-container', {
+    timeout: 2000
+});
+
+$(document).on('pjax:end', function() {
+    msg.dotLazy();
+});
+});
+define("js/home/entry", ["jquery","handlebars","source-map","dot"], function(require, exports, module){
+/**
+ * 个人中心页js打包入口文件
+ * @author: zhaobiao<bill.zhao@yoho.cn>
+ * @date: 2016/02/17
+ */
+
+require("js/home/index");
+require("js/home/orders");
+require("js/home/favorite");
+require("js/home/currency");
+
+require("js/home/returns");
+require("js/home/comment");
+require("js/home/complaints");
+require("js/home/message");
+
+require("js/home/edit");
+require("js/home/gift");
+require("js/home/validate");
+require("js/home/address");
+require("js/home/common-address");
+});
+define("js/home/index", ["jquery","handlebars","source-map"], function(require, exports, module){
+/**
+ * 个人中心首页
+ * @author: xuqi<qi.xu@yoho.cn>
+ * @date: 2016/2/17
+ */
+
+var $ = require("jquery");
+
+require("js/home/order-block");
+
+//关闭消息提示
+$('#close-message').click(function() {
+    $('.message-tip').slideUp(200);
+});
+
+//新品上架
+(function() {
+    var $naPager = $('.na-pager'),
+        $naUl = $('.new-arrival ul'),
+        naPage = Math.ceil($naUl.children('li').length / 5),
+        naItemWith = $naUl.children('li:last-child').outerWidth(),
+        naCurPage = 1;
+
+    $naUl.width($naUl.width() * naPage);
+
+    //最新上架翻页
+    $naPager.click(function() {
+        var $this = $(this),
+            left;
+
+        if ($this.hasClass('next')) {
+
+            //后翻
+            ++naCurPage;
+
+            //第2页显示前翻按钮
+            if (naCurPage === 2) {
+                $this.siblings().removeClass('no-visible');
+            }
+
+            //最后一页隐藏后翻按钮
+            if (naCurPage === naPage) {
+                $this.addClass('no-visible');
+            }
+        } else {
+
+            //前翻
+            --naCurPage;
+
+            //倒数第2页显示后翻按钮
+            if (naCurPage === naPage - 1) {
+                $this.siblings().removeClass('no-visible');
+            }
+
+            //第1页隐藏前翻按钮
+            if (naCurPage === 1) {
+                $this.addClass('no-visible');
+            }
+        }
+
+        left = -5 * (naCurPage - 1) * naItemWith;
+
+        $naUl.animate({
+            marginLeft: left
+        }, 400);
+    });
+}());
+});
+define("js/home/order-block", ["jquery","handlebars","source-map"], function(require, exports, module){
+/**
+ * 订单
+ * @author: xuqi<qi.xu@yoho.cn>
+ * @date: 2016/2/17
+ */
+
+var $ = require("jquery");
+var Handlebars = require("handlebars");
+
+var dialog = require("js/common/dialog");
+
+var Dialog = dialog.Dialog;
+var Confirm = dialog.Confirm;
+
+var $tpl = $('#cancel-dialog-tpl');
+
+var html = $tpl.html();
+
+var active;
+
+var dialogMessage = '<p class="message-title"><i class="order-icon {{messageIcon}}"></i>{{messageTitle}}</p><p class="message-summary">{{messageSummary}}</p>';
+var $dialogEdit = $('#edit-dialog-tpl');
+var $addressManage, $province, $city, $county, $selectList, $name, $phone, $address, $telCode, $tel, isProvinceChecked = false;
+;
+
+function cancelFactory(id) {
+    var options = {
+        mask: true,
+        btns: [
+            {
+                id: 'cancel-sure',
+                name: '确定并取消订单',
+                btnClass: ['cancel-sure'],
+                cb: function() {
+                    var $checked = $('.cancel-dialog :checked');
+                    var $tip = $('.cancel-dialog .cancel-tip');
+                    var text = '';
+                    if ($checked.val() === '10') {
+                        text = $checked.parent().find('#reason_other').val();
+                    } else {
+                        text = $checked.siblings('label').text();
+                    }
+                    if ($checked.length === 0) {
+                        $tip.html('请选择要取消订单的原因');
+                        return;
+                    }
+                    $.ajax({
+                        type: 'POST',
+                        url: '/home/orders/cancelorder',
+                        data: {
+                            orderCode: id,
+                            reasonId: $checked.val(),
+                            reason: text
+                        }
+                    }).then(function(data) {
+                        if (data.code === 200) {
+                            active.close();
+                            active = showMessgaeDialog('icon-success', '订单修改', '您已成功取消了该订单', function() {
+                                location.reload(true);
+                            });
+                            active.show();
+                        } else {
+                            $tip.html(data.message);
+                        }
+                    });
+                }
+            },
+            {
+                id: 'cancel-no',
+                name: '暂不取消',
+                btnClass: ['cancel-no'],
+                cb: function() {
+                    active.close();
+                }
+            }
+        ],
+        content: html,
+        className: 'cancel-dialog'
+    };
+
+    return new Dialog(options);
+}
+
+function showMessgaeDialog(message_icon, message_title, message_summary, cb) {
+    var template = Handlebars.compile(dialogMessage);
+    var html = template({messageIcon: message_icon, messageTitle: message_title, messageSummary: message_summary});
+    var options = {
+        mask: true,
+        btns: [
+            {
+                id: 'message-sure',
+                name: '确定',
+                btnClass: ['message-sure'],
+                cb: function() {
+                    active.close();
+                    cb && cb();
+                }
+            }
+        ],
+        content: html,
+        className: 'message-dialog',
+    };
+
+    return new Dialog(options);
+
+}
+
+// 编辑订单
+function editOrder(id) {
+    var options = {
+        mask: true,
+        btns: [
+            {
+                id: 'edit-sure',
+                name: '确定',
+                btnClass: ['edit-sure'],
+                cb: function() {
+                    saveAddress(id);
+                }
+            },
+            {
+                id: 'edit-no',
+                name: '取消',
+                btnClass: ['edit-no'],
+                cb: function() {
+                    active.close();
+                }
+            }
+        ],
+        content: $dialogEdit.html(),
+        className: 'edit-order-dialog'
+    };
+
+    return new Dialog(options);
+}
+
+$tpl.remove();
+$dialogEdit.remove();
+
+//查看物流
+$('.check-logistics').click(function() {
+    $(this).siblings('.logistics').removeClass('hide');
+});
+
+$('.close-logistics').click(function() {
+    $(this).closest('.logistics').addClass('hide');
+});
+
+
+//订单列表&订单详情【取消订单和确认收货】
+$('.me-orders, .order-detail').on('click', '.cancel-order', function(e) {
+
+    //取消订单
+    active = cancelFactory($(this).closest('.order, .order-detail').data('id'));
+    active.show();
+}).on('click', '.confirm-received', function(e) {
+    var id = $(this).closest('.order, .order-detail').data('id');
+
+    //确认收货
+    active = new Confirm({
+        cb: function() {
+            $.ajax({
+                type: 'POST',
+                url: '/home/orders/confirmorder',
+                data: {
+                    orderCode: id
+                }
+            }).then(function(data) {
+                if (data.code === 200) {
+                    active.close();
+                    history.go(0);
+                }
+            });
+        },
+        content: '您确定要确认收货吗?'
+    });
+    active.show();
+}).on('click', '.edit-order', function() {
+    $(this).addClass('edit-order-active');
+    active = editOrder($(this).closest('.order, .order-detail').data('id'))
+    active.show();
+    newAddress(0);
+});
+
+// 地址操作
+function newAddress(id) {
+    var code, codeId;
+
+    var pId = id || 0; //如果没有传id则获取所有省列表
+
+    var addressCodeReg = /[0-9]{2}/gi;
+
+    $addressManage = $('.edit-order-dialog');
+    $province = $addressManage.find('select[name="province"]');
+    $city = $addressManage.find('select[name="city"]');
+    $county = $addressManage.find('select[name="county"]');
+    $selectList = $addressManage.find('select[name="province"],select[name="city"]');
+    $name = $addressManage.find('.inp[name="name"]');
+    $phone = $addressManage.find('.inp[name="phone"]');
+    $address = $addressManage.find('.inp[name="address"]');
+    $telCode = $addressManage.find('.inp[name="tel-code"]');
+    $tel = $addressManage.find('.inp[name="tel"]');
+
+    var validate = validateForm();
+
+    code = $province.data("areacode") + '';
+    codeId = !!code && code.match(addressCodeReg);
+
+    //获取省
+    getAddress({
+        id: pId,
+        type: 'getProvince',
+        selectId: codeId[0]
+    }, function() {
+
+        var provinceId = $province.val();
+
+        if (provinceId !== '0') {
+            isProvinceChecked = true;
+
+            //如果获取的省有默认选中项则获取市
+            getAddress({
+                id: provinceId,
+                type: 'getCity',
+                selectId: '' + codeId[0] + codeId[1]
+            }, function() {
+
+                var cityId = $city.val();
+
+                //如果获取的市有默认选中项则获取县
+                if (cityId !== '0') {
+                    getAddress({
+                        id: cityId,
+                        type: 'getCounty',
+                        selectId: code
+                    });
+                }
+            });
+        } else {
+            $addressManage.find('select[name="city"]').html('<option value="0">请选择城市</option>');
+            $addressManage.find('select[name="county"]').html('<option value="0">请选择区县</option>');
+        }
+    });
+
+    // 发生change事件时获取下一级地址
+    $selectList.change(function() {
+
+        var $this = $(this);
+
+        if ($this.attr('name') === 'province') {
+
+            if ($this.val() === '0') {
+                $addressManage.find('select[name="city"]').html('<option value="0">请选择城市</option>');
+                $addressManage.find('select[name="county"]').html('<option value="0">请选择区县</option>');
+            } else {
+                getAddress({
+                    id: $this.val(),
+                    type: 'getCity'
+                }, function() {
+                    isProvinceChecked = true;
+                });
+                $addressManage.find('select[name="county"]').html('<option value="0">请选择区县</option>');
+            }
+        }
+
+        if ($this.attr('name') === 'city' && isProvinceChecked) {
+
+            if ($this.val() === '0') {
+                $addressManage.find('select[name="county"]').html('<option value="0">请选择区县</option>');
+            } else {
+                getAddress({
+                    id: $this.val(),
+                    type: 'getCounty'
+                });
+            }
+        }
+    });
+    $name.on('blur', function() {
+        validate.name($.trim($name.val()));
+    });
+    $address.on('blur', function() {
+        validate.address($.trim($address.val()));
+    });
+    $phone.on('blur', function() {
+        validate.mobile($.trim($phone.val()));
+    });
+    $tel.on('blur', function() {
+        validate.tel($.trim($telCode.val()), $.trim($tel.val()));
+    })
+    $county.on('change', function() {
+        validate.city($province.val(), $city.val(),$county.val());
+    })
+}
+/**
+ * @description: 改函数会返回地址信息
+ * d {Object} type: 'getProvince'获取省 type: 'getCity'获取城市 type: 'getCounty'获取县
+ * id: 0 && type: 'getProvince' 获取所有省,默认没有选中项
+ * id !== 0 && type: 'getProvince' 获取所有省,默认选中用户所在的省
+ */
+function getAddress(d, callback) {
+
+    var $obj;
+    var selectId = d.selectId;
+
+    if (d.type === 'getProvince') {
+
+        //url = 'getProvince';
+        $obj = $province;
+    } else if (d.type === 'getCity') {
+
+        //url = 'getCity';
+        $obj = $city;
+    } else if (d.type === 'getCounty') {
+
+        //url = 'getCounty';
+        $obj = $county;
+    }
+
+    $.ajax({
+        type: 'GET',
+        url: '/cart/index/getAreaList',
+        dataType: 'json',
+        data: {
+            id: d.id * 1
+        }
+    }).then(function(d) {
+
+        structureOption($obj, d.data, selectId);
+
+        if (typeof callback === 'function') {
+            callback();
+        }
+
+    });
+}
+
+// 构建select下拉选项
+function structureOption($obj, data, selectId) {
+
+    var i,
+        optionHtml = '',
+        defaultOption,
+        isStar = '';
+
+    for (i = 0; i < data.length; i++) {
+
+        if (data[i].is_support_express === 'Y') {
+            isStar = '*';
+        } else {
+            isStar = '';
+        }
+
+        if (data[i].id === selectId) {
+            optionHtml += '<option selected value="' + data[i].id + '">' + isStar + data[i].caption + '</option>';
+        } else {
+            optionHtml += '<option value="' + data[i].id + '">' + isStar + data[i].caption + '</option>';
+        }
+    }
+
+
+    if ($obj.attr('name') === 'province') {
+        defaultOption = '<option value="0">请选择省份</option>';
+    } else if ($obj.attr('name') === 'city') {
+        defaultOption = '<option value="0">请选择城市</option>';
+
+    } else if ($obj.attr('name') === 'county') {
+        defaultOption = '<option value="0">请选择区县</option>';
+    }
+
+    $obj.html(defaultOption + optionHtml);
+}
+
+// 保存地址
+function saveAddress(id) {
+    var name = $name.val(),
+        province = $province.val(),
+        city = $city.val(),
+        county = $county.val(),
+        address = $address.val(),
+        phone = $phone.val(),
+        telCode = $telCode.val(),
+        tel = $tel.val();
+
+    // var $err_name = $name.siblings('.error'),
+    //     $err_province = $province.siblings('.error'),
+    //     $err_address = $address.siblings('.error'),
+    //     $err_phone = $phone.siblings('.error'),
+    //     $err_tel = $tel.siblings('.error');
+
+    var postData = {
+        orderCode: id,
+        userName: name,
+        areaCode: county,
+        address: address,
+        mobile: phone,
+        phoneCode: telCode,
+        phoneNum: tel
+    };
+    var validate = validateForm();
+    if (!validate.name(name) || !validate.city(province, city, county) || !validate.address(address) || !validate.mobile(phone) || !validate.tel(telCode, tel)) {
+        return;
+    }
+
+    $.ajax({
+        type: 'post',
+        url: '/home/orders/modifyAddress',
+        data: postData
+    }).then(function(d) {
+        if (d.code === 200) {
+            active.close();
+            active = showMessgaeDialog('icon-waiting', '订单修改', '您的订单正在尝试修改,请耐心等待。稍后可在订单详情页查看修改情况!', function() {
+                location.reload(true);
+            });
+            active.show();
+        } else {
+            new dialog.Alert(d.message).show();
+        }
+    })
+}
+function validateForm() {
+    var $err_name = $name.siblings('.error'),
+        $err_province = $province.siblings('.error'),
+        $err_address = $address.siblings('.error'),
+        $err_phone = $phone.siblings('.error'),
+        $err_tel = $tel.siblings('.error');
+
+    var nameReg = /^[\u4e00-\u9fa5]{2,5}$/;
+    var addressReg = /^[a-zA-Z0-9-#()()\u4e00-\u9fa5]+$/;
+    var phoneReg = /^(13[0-9]|15[012356789]|17[678]|18[0-9]|14[57])[0-9]{8}$/;
+    var telCodeReg = /^[0-9]{3,4}$/;
+    var telReg = /^[0-9]{8}$/;
+    var _right_html = '<i class="order-icon icon-right"></i>';
+    var _error_html = '<i class="order-icon icon-error"></i><b></b>';
+
+    return {
+        name: function(name) {
+            if (!nameReg.test(name)) {
+                $err_name.html(_error_html);
+                $err_name.find('b').html('真实姓名至少2个中文,最多5个中文');
+                $err_name.show();
+                return false;
+            } else {
+                $err_name.html(_right_html).show();
+                return true;
+            }
+        },
+        city: function(province, city, county) {
+            if (province === '0' || city === '0' || county === '0') {
+                $err_province.html(_error_html);
+                $err_province.find('b').html('请填写完整的省市区信息');
+                $err_province.show();
+                return false;
+            } else {
+                $err_province.html(_right_html).show();
+                return true;
+            }
+        },
+        address: function(address) {
+            if (!addressReg.test(address)) {
+                var message = '详细地址不能为空';
+                if ($.trim(address) !== '') {
+                    message = '只能包含数字、字母、汉字、#、-、()及其组合';
+                }
+                $err_address.html(_error_html);
+                $err_address.find('b').html(message);
+                $err_address.show();
+                return false;
+            } else {
+                $err_address.html(_right_html).show();
+                return true;
+            }
+        },
+        mobile: function(phone) {
+            if (!phoneReg.test(phone)) {
+                var message = '手机号码不能为空';
+                if ($.trim(phone) !== '') {
+                    message = '你输入的联系电话格式不正确';
+                }
+                $err_phone.html(_error_html);
+                $err_phone.find('b').html(message);
+                $err_phone.show();
+                return false;
+            } else {
+                $err_phone.html(_right_html).show();
+                return true;
+            }
+        },
+        tel: function(telCode, tel) {
+            if(telCode === '' && tel === ''){
+                _right_html = '';
+            }
+            if ((!!telCode && !telCodeReg.test(telCode)) || (!!tel && !telReg.test(tel)) ||
+                (telCodeReg.test(telCode) && !telReg.test(tel)) ||
+                (!telCodeReg.test(telCode) && telReg.test(tel))) {
+                $err_tel.html(_error_html);
+                $err_tel.find('b').html('你输入的电话格式不正确');
+                $err_tel.show();
+                return false;
+            } else {
+                $err_tel.html(_right_html).show();
+                return true;
+            }
+        }
+    }
+}
+
+});
+define("js/home/orders", ["jquery","handlebars","source-map"], function(require, exports, module){
+/**
+ * 我的订单
+ * @author: xuqi<qi.xu@yoho.cn>
+ * @date: 2016/2/17
+ */
+var $ = require("jquery");
+
+
+require("js/home/order-block");
+
+//不同订单包裹提示
+
+$('.why').click(function() {
+    $('#differentBag').show();
+    return false;
+
+});
+$('#differentBag').click(function() {
+    return false;
+});
+$(document).click(function() {
+    $('#differentBag').hide();
+});
+
+
+//订单包裹左右切换
+function lunBo($pre, $next, $ul, $iWidth) {
+    var i = 1,
+        j = 1;
+
+    var iSpeed = 0,
+        isMoving = false;
+
+    $pre.click(function() {
+        if (isMoving) {
+            return;
+        }
+
+        if ($ul.css('left') === '0px') {
+            iSpeed = 0;
+
+        } else {
+            iSpeed += j * $iWidth;
+            isMoving = true;
+        }
+        $ul.stop().animate({
+            left: iSpeed
+        }, 300, function() {
+            isMoving = false;
+        });
+    });
+    $next.click(function() {
+        var $largeLeft = $ul.parent().width() - $ul.width() + 'px';
+
+        if (isMoving) {
+            return;
+        }
+
+        if ($ul.css('left') === $largeLeft) {
+            $ul.css('left', $largeLeft);
+        } else {
+            iSpeed += -i * $iWidth;
+            isMoving = true;
+        }
+
+        $ul.stop().animate({
+            left: iSpeed
+        }, 300, function() {
+            isMoving = false;
+        });
+    });
+}
+
+//订单分类
+$('.bag').find('ul').each(function() {
+    var $pre = $(this).parent().parent().find('.pre');
+    var $next = $(this).parent().parent().find('.next');
+
+    var $iWidth = $(this).find('li').eq(0).width();
+    var $length = $(this).find('li').size();
+    var $ulWidth = $iWidth * $length;
+
+    $(this).css('width', $ulWidth);
+    if ($length > 5) {
+        $pre.show();
+        $next.show();
+        lunBo($pre, $next, $(this), $iWidth);
+    } else {
+        $pre.hide();
+        $next.hide();
+    }
+
+});
+
+});
+define("js/home/favorite", ["jquery","handlebars","source-map","dot"], function(require, exports, module){
+/**
+ * 我的收藏
+ * @author: xuqi<qi.xu@yoho.cn>
+ * @date: 2016/2/23
+ */
+
+var $ = require("jquery"),
+    Handlebars = require("handlebars");
+
+var phoneReg = require("js/passport/mail-phone-regx").phoneRegx['+86'];
+
+var clockTxt = {
+    on: '[ 降价通知 ]',
+    off: '[ 取消通知 ]'
+};
+
+var param = location.href.match(/type=(.*)[&]*/),
+    favType;
+
+var curSkn;
+
+var $curClock;
+
+require("dot");
+
+//商品收藏
+(function() {
+    var $defaultSorts,
+        $allSorts;
+
+    var $bodyMask,
+        $noticeNum,
+        $priceNotice,
+        $noticeContent,
+        $noticeSuccess,
+        $noticeErrorMsg,
+        $noticeSubOrCancel,
+        $phone;
+
+    var reduction = {},
+        noticeNum;
+
+    // 同步订阅数量
+    function syncSubscribeNum(num) {
+        noticeNum = num * 1;
+        $noticeNum.text(num);
+        $noticeSuccess.find('.notice-num').text(5 - num);
+    }
+
+    //关闭价格订阅弹窗和蒙层
+    function closeNoticeBox() {
+        $bodyMask.addClass('hide');
+        $priceNotice.addClass('hide');
+
+        //重置头部文字
+        $noticeSubOrCancel.text('订阅成功');
+    }
+
+    //显示价格订阅弹窗和蒙层
+    function showNoticeBox() {
+        var top = $(document).scrollTop() + $(window).height() / 2;
+
+        if (typeof $bodyMask === 'undefined') {
+            $('body').append('<div class="body-mask hide"></div>');
+            $bodyMask = $('.body-mask');
+        }
+
+        $bodyMask.css({
+            height: $(document).height(),
+            width: $(document).width()
+        }).removeClass('hide');
+
+        $priceNotice.removeClass('error');
+
+        if ($curClock.hasClass('noticed')) {
+
+            //取消降价通知
+            $.ajax({
+                type: 'GET',
+                url: '/home/favorite/cancelnotice',
+                data: {
+                    id: curSkn
+                }
+            }).then(function(data) {
+                if (data.code === 200) {
+                    syncSubscribeNum(data.data.num);
+                    $noticeContent.addClass('hide');
+                    $noticeSuccess.removeClass('hide');
+                    $noticeSubOrCancel.text('取消成功');
+                    $priceNotice.removeClass('hide').css({
+                        top: top
+                    });
+
+                    if ($curClock.closest('.reduction-products').length > 0) {
+                        $curClock.closest('.fav-good').remove();
+                    } else {
+                        $curClock.removeClass('noticed').text(clockTxt.on);
+                    }
+                } else {
+                    if (data.message) {
+                        $noticeErrorMsg.text(data.message);
+                        $priceNotice.removeClass('hide').addClass('error').css({
+                            top: top
+                        });
+                    }
+                }
+            });
+        } else {
+            if (noticeNum >= 5) {
+                $noticeErrorMsg.text('您的订阅数已经到达上限');
+                $priceNotice.removeClass('hide').addClass('error').css({
+                    top: top
+                });
+            } else {
+                $noticeContent.removeClass('hide');
+                $noticeSuccess.addClass('hide');
+                $priceNotice.removeClass('hide').css({
+                    top: top
+                });
+            }
+        }
+
+    }
+
+    if ($('.fav-products').length === 0) {
+        return;
+    }
+
+    $defaultSorts = $('.default-sorts');
+    $allSorts = $('.all-sorts');
+
+    $noticeNum = $('.reduction-notice span');
+
+    $priceNotice = $('.price-notice');
+
+    $noticeContent = $('#price-notice .content');
+    $noticeSuccess = $('#price-notice .success');
+    $noticeErrorMsg = $('#price-notice .error-message');
+    $noticeSubOrCancel = $noticeSuccess.find('.subscribe-or-cancel');
+    $phone = $('#notice-phone-num');
+
+    reduction.phone = $phone.val();
+    reduction.change = false;
+
+    noticeNum = $noticeNum.text() * 1;
+
+    //展开分类
+    $('#spread-sort').click(function() {
+        $defaultSorts.slideUp(function() {
+            $allSorts.slideDown();
+        });
+    });
+
+    //收起分类
+    $('#retract-sort').click(function() {
+        $allSorts.slideUp(function() {
+            $defaultSorts.slideDown();
+        });
+    });
+
+    //降价通知
+    $('.price-down-clock').click(function() {
+        $curClock = $(this);
+        curSkn = $curClock.closest('.fav-good').data('id');
+        showNoticeBox();
+    });
+
+    //checkbox【手动触发checkbox点击后跳转链接的地址】
+    $('.reduction-filter input[type="checkbox"]').change(function() {
+        location.href = $(this).parent().attr('href');
+    });
+
+    //降价通知确定按钮
+    $('#price-notice').on('click', '.close', function() {
+        closeNoticeBox();
+    }).on('click', '.price-notice-sure', function() {
+        var phone,
+            errTxt;
+
+        if (!$priceNotice.hasClass('error') && !$noticeContent.hasClass('hide')) {
+
+            //订阅到手机号
+            phone = $.trim($phone.val());
+
+            if (phone === '' || !phoneReg.test(phone)) {
+                errTxt = phone === '' ? '请输入手机号码' : '手机号码格式不正确';
+
+                $phone.addClass('error');
+                $('#price-notice .err-text').removeClass('hide').find('em').html(errTxt);
+                return;
+            } else {
+                $phone.removeClass('error');
+                $('#price-notice .err-text').addClass('hide');
+            }
+
+            if (reduction.phone !== '' && reduction.phone !== phone && !reduction.change) {
+                $('#price-notice .phone-diff').removeClass('hide');
+                reduction.change = true;
+                return;
+            }
+
+            $.ajax({
+                type: 'GET',
+                url: '/home/favorite/notice',
+                data: {
+                    mobile: phone,
+                    id: curSkn
+                }
+            }).then(function(data) {
+                if (data.code === 200) {
+                    syncSubscribeNum(data.data.num);
+                    $noticeSuccess.removeClass('hide');
+                    $noticeContent.addClass('hide');
+
+                    reduction.phone = phone;
+                    reduction.change = false;
+                    $('#price-notice .phone-diff').addClass('hide');
+
+                    //切换商品通知文字
+                    $curClock.toggleClass('noticed').text(clockTxt.off);
+                } else {
+                    if (data.message) {
+                        $noticeErrorMsg.text(data.message);
+                        $priceNotice.removeClass('hide').addClass('error');
+                    }
+                }
+            });
+        } else {
+
+            //关闭窗口
+            closeNoticeBox();
+        }
+    });
+
+    //商品可参加活动
+    $('.has-activity').click(function() {
+        var $this = $(this),
+            $activites = $this.next('.activites'),
+            $li = $this.closest('li');
+
+        if ($activites.hasClass('hide')) {
+
+            //显示
+            $activites.removeClass('hide');
+            $li.css('padding-bottom', $activites.outerHeight());
+        } else {
+
+            //隐藏
+            $activites.addClass('hide');
+            $li.css('padding-bottom', '');
+        }
+    });
+}());
+
+
+//品牌收藏
+(function() {
+    var naTpl;
+    var naCache = {};
+
+    /**
+     * 翻页控制
+     * @param $li 当前品牌容器
+     * @param flag 翻页方向/-1-pre 1-next
+     */
+    function pageControll($li, flag) {
+        var id = $li.data('id'),
+            $ul = $li.find('.na-goods-ul'),
+            theCache = naCache[id],
+            curPage = theCache.cur ? theCache.cur : 1,
+            page = Math.ceil(theCache.total / 5);
+
+        var $pre = $li.find('.na-pre');
+        var $next = $li.find('.na-next');
+
+        curPage += flag;
+
+        //初始
+        $pre.removeClass('hidden');
+        $next.removeClass('hidden');
+
+        //第一页
+        if (curPage === 1) {
+            $pre.addClass('hidden');
+        }
+
+        //最后一页
+        if (curPage === page) {
+            $next.addClass('hidden');
+        }
+
+        $ul.animate({
+            marginLeft: -(curPage - 1) * $ul.parent('.na-goods').width()
+        }, 200);
+
+        theCache.cur = curPage;
+    }
+
+    function setListPadding($li, $naList) {
+        $li.css('padding-bottom', $naList.outerHeight() + 10);
+    }
+
+    if ($('.fav-brands').length === 0) {
+        return;
+    }
+
+    naTpl = Handlebars.compile($('#na-tpl').html());
+
+    // 新品到着【重要信息:最多显示20个新品到着商品】
+    $('.na-trigger').click(function() {
+        var $this = $(this),
+            $naList = $this.next('.na-list'),
+            $li = $this.closest('li'),
+            id;
+
+        if (!$naList.hasClass('hide')) {
+            $naList.addClass('hide');
+            $li.css('padding-bottom', '');
+            return;
+        }
+
+        id = $li.data('id');
+
+        if (naCache[id] && naCache[id].cache) {
+            $naList.removeClass('hide');
+            setListPadding($li, $naList);
+            return;
+        }
+
+        $.ajax({
+            type: 'GET',
+            url: '/home/favorite/newproduct',
+            data: {
+                id: id
+            }
+        }).then(function(data) {
+            var html,
+                res,
+                tplData;
+
+            if (data.code === 200) {
+                res = data.data;
+                tplData = res.length === 0 ? {} : {
+                    naGoods: res
+                };
+                html = naTpl(tplData);
+
+                $naList.removeClass('hide').find('.na-content').html(html);
+                setListPadding($li, $naList);
+
+                //初始,判断是否显示Next翻页
+                if (res.length > 5) {
+                    $li.find('.na-next').removeClass('hidden');
+                }
+
+                if (!naCache[id]) {
+                    naCache[id] = {};
+                }
+
+                naCache[id].cache = true;//set cache
+                naCache[id].total = res.length;
+            }
+        });
+    });
+
+    $('.na-content').on('click', '.na-pre, .na-next', function() {
+        var $this = $(this);
+
+        var flag = $this.hasClass('na-pre') ? -1 : 1;
+
+        pageControll($this.closest('.fav-brand'), flag);
+    });
+}());
+
+//文章收藏
+(function() {
+    if ($('.fav-articles').length < 0) {
+        return;
+    }
+
+    $('.fav-articles .desc').dotdotdot();
+}());
+
+if (param && param.length) {
+    favType = param[1];
+}
+
+//全选【通用】
+$('#me-checkall').click(function() {
+    $('.checkbox input[type="checkbox"]').prop('checked', $(this).prop('checked'));
+});
+
+//删除收藏
+$('.del-favorite').click(function(e) {
+    var id = $(this).closest('.fav-row').data('id'),
+        shopid = $(this).closest('.fav-row').data('shopid'),
+        brandorshoptype = $(this).closest('.fav-row').data('brandorshoptype');
+
+    e.preventDefault();
+
+    $.ajax({
+        type: 'GET',
+        url: '/home/favorite/cancel',
+        data: {
+            id: id,
+            shopid: shopid,
+            brandorshoptype: brandorshoptype,
+            type: favType
+        }
+    }).then(function(data) {
+        if (data.code === 200) {
+            history.go(0);
+        }
+    });
+});
+
+//删除多个商品/品牌/文章【通用】
+$('#me-del-checked').click(function() {
+    var ids = [],
+        name = '商品';
+
+    if (favType === 'brand') {
+        name = '品牌';
+    } else if (favType === 'article') {
+        name = '文章';
+    }
+
+    if (confirm('您确定要删除您收藏的' + name + '吗?')) {
+        $('.checkbox input[type="checkbox"]:checked').each(function() {
+            ids.push($(this).closest('.fav-row').data('id'));
+        });
+
+        if (ids.length === 0) {
+            alert('请选中您要移除的' + name);
+            return;
+        }
+
+        $.ajax({
+            type: 'GET',
+            url: '/home/favorite/cancel',
+            data: {
+                id: ids.join(','),
+                type: favType
+            }
+        }).then(function(data) {
+            history.go(0);
+        });
+    }
+});
+
+if (location.href.match(/is_reduction=(.*)[&]*/)) {
+    $('.reductionChecked').attr('checked', true);
+}
+if (location.href.match(/is_promotion=(.*)[&]*/)) {
+    $('.activityChecked').attr('checked', true);
+}
+});
+define("js/home/currency", ["jquery"], function(require, exports, module){
+/**
+ * 我的YOHO币
+ * @author: xuqi<qi.xu@yoho.cn>
+ * @date: 2016/3/22
+ */
+
+var $ = require("jquery");
+
+$('.filter-select').change(function() {
+    location.href = $(this).val();
+});
+});
+define("js/home/returns", ["jquery","handlebars","source-map"], function(require, exports, module){
+/**
+ * 我的退/换货
+ * @author: yyqing<yanqing.yang@yoho.cn>
+ * @date: 2016/2/26
+ */
+
+require("js/home/returns-detail");
+require("js/home/returns-apply");
+});
+define("js/home/returns-detail", ["jquery"], function(require, exports, module){
+/**
+ * 退换货详情
+ * @author: yyqing<yanqing.yang@yoho.cn>
+ * @date: 2016/2/26
+ */
+
+var $ = require("jquery");
+
+var $returnState = $('.visual-return-state li'),
+    $detail = $('.detail-container'),
+    $courierCode = $('.courier-code'),
+    $expressCompany = $('#express-company'),
+    $expressNumber = $('#express-number'),
+    $expressViewBox = $('.express-view-box > span');
+
+var returnId = $('#return-id').val(),
+    expId = $('#express-old-id').val(),
+    expNumber = $expressNumber.val(),
+    expCompany = '',
+    expList = {},
+    isChange = false;
+
+function syncExpressInfo() {
+    expCompany = expList[expId] ? expList[expId] : '';
+    $expressViewBox.html(expCompany + ' 快递单号:' + expNumber);
+    $expressCompany.val(expId);
+    $expressNumber.val(expNumber);
+}
+
+function validateExpress() {
+    var send = {};
+
+    send.number = $expressNumber.val();
+    send.id = $expressCompany.val() * 1;
+
+    if (!send.id) {
+        alert('请选择快递公司');
+    } else if (!send.number) {
+        alert('请填入快递单号');
+    } else {
+        return send;
+    }
+
+    return false;
+}
+
+function sendExpressCode() {
+    var sendParm = validateExpress();
+
+    if (!sendParm) {
+        return;
+    }
+
+    $.ajax({
+        type: 'POST',
+        url: '/home/returns/setExpressNumber',
+        data: {
+            id: returnId,
+            isChange: isChange,
+            expressId: sendParm.id,
+            expressNumber: sendParm.number,
+            expressCompany: expList[sendParm.id]
+        }
+    }).then(function(jsonData) {
+        if (jsonData.code === 200) {
+            expId = sendParm.id;
+            expNumber = sendParm.number;
+            $returnState.eq(2).addClass('act');
+        } else {
+            alert(jsonData.message);
+        }
+        syncExpressInfo();
+        $courierCode.removeClass('in-edit');
+    });
+}
+
+if ($detail.parent().hasClass('exchange-detail')) {
+    isChange = true;
+}
+
+$expressCompany.val(expId);
+
+$detail.find('.company-list').each(function() {
+    var data = $(this).data();
+
+    expList[data.id] = data.name;
+});
+
+$('#modify').click(function() {
+    $courierCode.addClass('in-edit');
+});
+
+$('#submit-btn').click(function() {
+    sendExpressCode();
+});
+});
+define("js/home/returns-apply", ["jquery","handlebars","source-map"], function(require, exports, module){
+/**
+ * 退换货申请
+ * @author: yyqing<yanqing.yang@yoho.cn>
+ * @date: 2016/2/29
+ */
+var $ = require("jquery"),
+    Addr = require("js/home/common-address");
+
+var $goodsTable = $('#goods-table'),
+    $checkBox = $goodsTable.find('input[type="checkbox"]'),
+    $reasons = $goodsTable.find('.return-reason'),
+    $file = $goodsTable.find('input[type=file]'),
+    $refundType = $('input[name="refund-type"]'),
+    $province = $('#province'),
+    $city = $('#city'),
+    $areaCode = $('#area');
+
+var $refundInfo = $('#refund-pay-info'),
+    $payYoho = $refundInfo.find('.type-yoho'),
+    $payBank = $refundInfo.find('.type-bank'),
+    $payAli = $refundInfo.find('.type-alipay');
+
+var $exchange = $('.exchange-detail'),
+    $hidePhone = $exchange.find('input[name="hide-phone"]'),
+    $refundMode = $exchange.find('.refund-mode');
+
+var $submitBox = $('.submit-box'),
+    $waitPoint = $submitBox.find('.wait-gif span');
+
+var pageType = 0,  // 0-换货  1-退货
+    orderCode = $('#order-code').val(),
+    defaultArea = $exchange.find('input[name="hide-area"]').val(),
+    defaultPhone = $hidePhone.val(),
+    disPhone = '',
+    verifyTip = '',
+    colorSize = {},
+    timer;
+
+require("plugin/jquery.qupload");
+
+if (defaultPhone) {
+    $hidePhone.remove();
+    disPhone = defaultPhone.replace(/(\d{3})\d{4}(\d{4})/, '$1****$2');
+    $exchange.find('input[name="phone"]').val(disPhone);
+}
+
+function syncRefundMode(code) {
+    $.ajax({
+        type: 'POST',
+        url: '/home/returns/getDelivery',
+        data: {
+            areaCode: code
+        }
+    }).then(function(jsonData) {
+        var _html = '';
+
+        if (jsonData.code === 200) {
+            $.each(jsonData.data, function(k, v) {
+                var checked = '';
+
+                if (v.is_default === 'Y') {
+                    checked = 'checked="checked"';
+                }
+                _html += '<input type="radio" name="delivery-tpye" value="' +
+                    v.id + '" ' + checked + '"">' + v.name;
+            });
+            $refundMode.html(_html);
+        }
+    });
+}
+
+function setBackInput(type) {
+    $payYoho.hide();
+    if (type === 2) {
+        $payBank.show();
+        $payAli.hide();
+        $payYoho.hide();
+    } else if (type === 3) {
+        $payAli.show();
+        $payBank.hide();
+        $payYoho.hide();
+    } else if (type === 4) {
+        $payYoho.show();
+        $payBank.hide();
+        $payAli.hide();
+    }
+}
+
+if ($refundInfo.length) {
+    pageType = 1;
+
+    $refundType.each(function() {
+        if ($(this).prop('checked')) {
+            setBackInput($(this).val() * 1);
+        }
+    });
+} else if (defaultArea) {
+    syncRefundMode(defaultArea);
+}
+
+defaultArea = defaultArea ? defaultArea : '';
+Addr.loadAllData(defaultArea, {
+    areaDomId: 'area'
+});
+
+// 页面获取size列表数据
+$goodsTable.find('.sizeinfo').each(function() {
+    var sizes = [];
+
+    $(this).children().each(function() {
+        sizes.push($(this).data());
+    });
+    colorSize[$(this).data().id] = sizes;
+});
+
+$reasons.change(function() {
+    var $par = $(this).parent().parent(),
+        type = $(this).val() * 1;
+
+    if (type === 4 || type === 6 || type === 8) {
+        $par.next().show();
+    } else {
+        $par.next().hide();
+    }
+});
+
+$checkBox.change(function() {
+    var $par = $(this).parent().parent();
+
+    if ($(this).prop('checked')) {
+        $par.find('select').prop('disabled', false);
+    } else {
+        $par.find('select').val(0).prop('disabled', true);
+        $par.next().hide();
+    }
+});
+
+$goodsTable.on('change', '.exchange-color', function() {
+    var $warp = $(this).closest('.exchange-choose-wrap'),
+        _html = '<option value="0">请选择尺码</option>',
+        id = $(this).val();
+
+    if (colorSize[id]) {
+        $.each(colorSize[id], function(k, v) {
+            _html += '<option value="' + v.id + '">' + v.name + '</option>';
+        });
+    }
+    $warp.find('.exchange-size').html(_html).val(0);
+});
+
+$goodsTable.on('click', '.btn-del', function() {
+    $(this).parent().empty();
+});
+
+$file.each(function(e) {
+    var $this = $('#upload-img-' + e),
+        $par = $this.closest('.problem-description');
+
+    $this.qupload({
+        button_image_url: '',
+        upload_url: window.location.origin + '/home/returns/imgUpload',
+        file_post_name: 'fileData',
+        button_text: '<span class="btn_upload_text">上传图片</span>',
+        button_text_style: '.btn_upload_text{color: #ffffff;}',
+        button_width: 116,
+        button_height: 33,
+        button_text_left_padding: 32,
+        button_text_top_padding: 8,
+        button_action: window.SWFUpload.BUTTON_ACTION.SELECT_FILE,
+        file_size_limit: '10240',
+        file_types: '*.jpg;*.jpeg;*.png;*.bmp',
+        uploadSuccessed: function(data) {
+            var $imgList = $par.find('li'),
+                isShow = false,
+                img, _html;
+
+            img = JSON.parse(data).imgList[0];
+            _html = '<span class="btn-del" title="删除"></span>' +
+                '<img src="' + img.imgUrl + '" width="126" height="126">' +
+                '<input type="hidden" name="imgs" value="' + img.imgRelUrl + '">';
+            $imgList.each(function() {
+                if (!isShow && !$(this).find('img').length) {
+                    isShow = true;
+                    $(this).html(_html);
+                }
+            });
+        }
+    });
+});
+
+$exchange.on('change', '#area', function() {
+    var code = $(this).val() * 1;
+
+    if (code) {
+        syncRefundMode(code);
+    }
+});
+
+$refundType.change(function() {
+    var type = $(this).val() * 1;
+
+    setBackInput(type);
+});
+
+// 打包退换货商品信息
+function packGoogsList() {
+    var goods = [],
+        type = '换货';
+
+    if (pageType) {
+        type = '退货';
+    }
+    if (!$checkBox.length) {
+        verifyTip = '没有可以' + type + '的商品';
+    }
+
+    $checkBox.each(function() {
+        var $par = $(this).parent().parent(),
+            $next = $par.next(),
+            goodsInfo;
+
+        if (verifyTip.length) {
+            return;
+        }
+
+        if ($(this).prop('checked')) {
+            goodsInfo = {
+                product_skn: $par.find('input[name="skn"]').val(),
+                product_skc: $par.find('input[name="skc"]').val(),
+                product_sku: $par.find('input[name="sku"]').val(),
+                goods_type: $par.find('input[name="typeid"]').val(),
+                last_price: $par.find('input[name="price"]').val(),
+                reason: $par.find('.return-reason').val() * 1
+            };
+
+            if (pageType) {
+                goodsInfo.returned_reason = goodsInfo.reason;
+            } else {
+                goodsInfo.exchange_reason = goodsInfo.reason;
+                goodsInfo.new_goods_id = $par.find('.exchange-color').val() * 1;
+                goodsInfo.new_product_sku = $par.find('.exchange-size').val() * 1;
+
+                if (!verifyTip && !goodsInfo.new_goods_id) {
+                    verifyTip = '请选择要换的颜色';
+                }
+
+                if (!verifyTip && !goodsInfo.new_product_sku) {
+                    verifyTip = '请选择要换的尺码';
+                }
+            }
+            if (!verifyTip && !goodsInfo.reason) {
+                verifyTip = '请选择' + type + '原因';
+            }
+
+            if (goodsInfo.reason === 4 ||
+                goodsInfo.reason === 6 ||
+                goodsInfo.reason === 8) {
+                goodsInfo.remark = $.trim($next.find('textarea').val());
+                goodsInfo.evidence_images = [];
+                $next.find('input[name="imgs"]').each(function() {
+                    goodsInfo.evidence_images.push($(this).val());
+                });
+
+                if (!verifyTip && !goodsInfo.remark) {
+                    verifyTip = '请填写' + type + '描述';
+                }
+
+                if (!verifyTip && !goodsInfo.evidence_images.length) {
+                    verifyTip = '请上传图片';
+                }
+            }
+            delete goodsInfo.reason;
+
+            goods.push(goodsInfo);
+        }
+    });
+
+    if (!verifyTip && !goods.length) {
+        verifyTip = '请选择要' + type + '的商品';
+    }
+
+    return goods;
+}
+
+// 打包退货信息
+function packRefundInfo() {
+    var res = {};
+
+    res.goods = packGoogsList();
+    res.payment = {};
+
+    $refundType.each(function() {
+        if ($(this).prop('checked')) {
+            res.payment.return_amount_mode = $(this).val() * 1;
+        }
+    });
+
+    if (!verifyTip && !res.payment.return_amount_mode) {
+        verifyTip = '请选择退款方式';
+    }
+
+    if (res.payment.return_amount_mode === 2) {
+        res.payment.province = $province.val();
+        res.payment.city = $city.val();
+        res.payment.area_code = $areaCode.val();
+        if (!verifyTip && !res.payment.area_code * 1) {
+            verifyTip = '请选择银行所在地';
+        }
+
+        res.payment.bank_name = $.trim($refundInfo.find('input[name="bank-name"]').val());
+        if (!verifyTip && !res.payment.bank_name) {
+            verifyTip = '请填写银行名称';
+        }
+
+        res.payment.payee_name = $.trim($refundInfo.find('input[name="payee-name"]').val());
+        if (!verifyTip && !res.payment.payee_name) {
+            verifyTip = '请填写收款人姓名';
+        }
+
+        res.payment.bank_card = $.trim($refundInfo.find('input[name="bank-card"]').val());
+        if (!verifyTip && !res.payment.bank_card) {
+            verifyTip = '请填写收款账户';
+        }
+
+    } else if (res.payment.return_amount_mode === 3) {
+        res.payment.alipay_name = $.trim($refundInfo.find('input[name="alipay-name"]').val());
+        if (!verifyTip && !res.payment.alipay_name) {
+            verifyTip = '请填写收款人姓名';
+        }
+
+        res.payment.alipay_account = $.trim($refundInfo.find('input[name="alipay-account"]').val());
+        if (!verifyTip && !res.payment.alipay_account) {
+            verifyTip = '请填写收款账户';
+        }
+
+    }
+    return res;
+}
+
+// 打包换货信息
+function packExchangeInfo() {
+    var res = {};
+
+    res.goods = packGoogsList();
+
+    res.consigneeName = $.trim($exchange.find('input[name="name"]').val());
+    if (!verifyTip && !res.consigneeName) {
+        verifyTip = '请填写收货人姓名';
+    }
+
+    res.areaCode = $areaCode.val();
+    if (!verifyTip && !res.areaCode * 1) {
+        verifyTip = '请选择地区';
+    }
+
+    res.address = $.trim($exchange.find('input[name="address"]').val());
+    if (!verifyTip && !res.address) {
+        verifyTip = '请填写详细地址';
+    }
+
+    res.mobile = $.trim($exchange.find('input[name="phone"]').val());
+    if (res.mobile === disPhone) {
+        res.mobile = defaultPhone;
+    } else {
+        if (!verifyTip && !res.mobile) {
+            verifyTip = '请填写手机号';
+        }
+    }
+
+    res.zipCode = $.trim($exchange.find('input[name="postcode"]').val());
+    res.deliveryType = $exchange.find('input[name="delivery-tpye"]:checked').val();
+    if (!verifyTip && !res.deliveryType) {
+        verifyTip = '请选择商品返回方式';
+    }
+
+    return res;
+}
+
+function loadWaiting(status) {
+    var text = '○';
+
+    if (status) {
+        $submitBox.addClass('applying');
+        timer = setInterval(function() {
+            $waitPoint.text(text);
+            if (text.length > 3) {
+                text = '';
+            }
+            text += '○';
+        }, 600);
+    } else {
+        $submitBox.removeClass('applying');
+        clearInterval(timer);
+    }
+}
+
+// 提交申请
+$('.save-btn').click(function() {
+    var url, data;
+
+    verifyTip = '';  // 初始化提示语
+    if (pageType) {
+        url = '/home/returns/saveRefund';
+        data = packRefundInfo();
+    } else {
+        url = '/home/returns/saveExchange';
+        data = packExchangeInfo();
+    }
+    data.orderCode = orderCode;
+
+    if (verifyTip) {
+        alert(verifyTip);
+        return;
+    }
+
+    loadWaiting(true);
+    $.ajax({
+        type: 'POST',
+        url: url,
+        data: data
+    }).then(function(jsonData) {
+        if (jsonData.code === 200) {
+            if (jsonData.data && jsonData.data.refer) {
+                window.location.href = jsonData.data.refer;
+            }
+        } else {
+            alert(jsonData.message);
+            loadWaiting(false);
+        }
+    });
+});
+});
+define("js/home/common-address", ["jquery","handlebars","source-map"], function(require, exports, module){
+/**
+ * 个人中心页-地址管理
+ * @author: wsl<shuiling.wang@yoho.cn>
+ * @date: 2016/02/24
+ */
+
+var $ = require("jquery"),
+    dialog = require("js/common/dialog"),
+    Alert = dialog.Alert;
+
+var address = {
+
+    // 省的控件ID
+    provinceDomId: 'province',
+
+    // 城市的控件ID
+    cityDomId: 'city',
+
+    // 地区的控件ID
+    areaDomId: 'areaCode',
+
+    initDomIds: function(domOptions) {
+        var the = this;
+
+        if (domOptions.provinceDomId !== undefined) {
+            the.provinceDomId = domOptions.provinceDomId;
+        }
+        if (domOptions.cityDomId !== undefined) {
+            the.cityDomId = domOptions.cityDomId;
+        }
+        if (domOptions.areaDomId !== undefined) {
+            the.areaDomId = domOptions.areaDomId;
+        }
+    },
+
+    // 初始化地址数据
+    loadAreaData: function(pCode, toDomId, defaultValue, allCode) {
+        var the = this,
+            $toDom = $('#' + toDomId),
+            i = 0,
+            point = '';
+
+        var active,
+            val,
+            nId,
+            selecter;
+
+        $toDom.empty();
+
+        if (pCode < 91) {
+            $('#' + the.areaDomId).empty();
+            $('#county').attr('disabled', 'disabled');
+        }
+
+        $.ajax({
+            type: 'GET',
+            url: '/home/address/area',
+            data: 'id=' + pCode,
+
+            success: function(jsonData) {
+                jsonData.code = 200;
+
+                if (jsonData.code !== 200) {
+                    active = new Alert('暂无数据');
+                    active.show();
+                    return false;
+                }
+
+                $toDom.append('<option value="0">' + defaultValue + '</option>');
+                for (i in jsonData.options) {
+                    if (jsonData.options[i]) {
+                        val = jsonData.options[i];
+                        point = (toDomId === the.areaDomId && val.is_support === 'Y') ? '*' : '';
+                        nId = val.value;
+                        selecter = '';
+
+                        if (typeof (allCode) !== 'undefined' && allCode !== 0 &&
+                            nId === allCode.substr(0, nId.length)) {
+                            selecter = 'selected';
+                        }
+                        $toDom.append('<option value="' + nId + '" ' + selecter + '>' + point + val.text + '</option>');
+                    }
+                }
+            }
+        });
+    },
+    bindAreaChange: function(domOptions) {
+        var the = this;
+
+        if ($('#' + the.provinceDomId).data('events') !== undefined) {
+            return;
+        }
+
+        // 初始化
+        $('#' + the.provinceDomId).change(function() {
+            var pCode = $('#' + the.provinceDomId).val();
+
+            if (pCode === '0') {
+                return;
+            }
+
+            the.loadAreaData(pCode, the.cityDomId, '请选择城市', pCode);
+            $('#' + the.areaDomId).hide();
+            the.showAreaSel(domOptions.dispDomId);
+        });
+
+        $('#' + this.cityDomId).change(function() {
+            var pCode = $('#' + the.cityDomId).val();
+
+            if (pCode === '0') {
+                return;
+            }
+
+            the.loadAreaData(pCode, the.areaDomId, '请选择区县', pCode);
+            $('#' + the.areaDomId).show();
+            the.showAreaSel(domOptions.dispDomId);
+        });
+
+        $('#' + the.areaDomId).change(function() {
+            the.showAreaSel(domOptions.dispDomId);
+        });
+
+        the.showAreaSel(domOptions.dispDomId);
+    },
+
+    /**
+     * 显示地区选择
+     */
+    showAreaSel: function(dispDomId) {
+        var the = this,
+            strAddr = '',
+            strProvince = $('#' + the.provinceDomId).find('option:selected').text(),
+            strCity = $('#' + the.cityDomId).find('option:selected').text(),
+            strArea = $('#' + the.areaDomId).find('option:selected').text();
+
+        if (dispDomId !== undefined && dispDomId !== '') {
+            if (strProvince.indexOf('选择') < 0) {
+                strAddr = strProvince;
+            }
+
+            if (strCity !== '' && strCity.indexOf('选择') < 0) {
+                strAddr += ',' + strCity;
+            }
+
+            if (strArea !== '' && strArea.indexOf('选择') < 0) {
+                strAddr += ',' + strArea;
+            }
+            $('#' + dispDomId).html(strAddr);
+        }
+    },
+
+    loadAllData: function(areaCode, domOptions) {
+        var the = this;
+
+        the.initDomIds(domOptions);
+        areaCode += '';
+
+        if (areaCode < 91) {
+            the.loadAreaData(0, the.provinceDomId, '请选择省份', '');
+            $('#' + the.areaDomId).hide();
+            $('#' + the.cityDomId).html('<option value="0">请选择市</option>');
+        } else if (areaCode.length === 4) {
+            the.loadAreaData(0, the.provinceDomId, '请选择省份', areaCode);
+            the.loadAreaData(areaCode.substr(0, 2), the.cityDomId, '请选择城市', areaCode);
+            the.loadAreaData(areaCode, the.areaDomId, '请选择区县', areaCode);
+            $('#' + the.areaDomId).show();
+        } else if (areaCode.length === 6) {
+            the.loadAreaData(0, the.provinceDomId, '请选择省份', areaCode);
+            the.loadAreaData(areaCode.substr(0, 2), the.cityDomId, '请选择城市', areaCode);
+            the.loadAreaData(areaCode.substr(0, 4), the.areaDomId, '请选择区县', areaCode);
+            $('#' + this.areaDomId).show();
+        }
+        the.bindAreaChange(domOptions);
+    }
+};
+
+module.exports = address;
+
+});
+define("plugin/jquery.qupload", ["jquery"], function(require, exports, module){
+/**
+ * upload plugin
+ * 
+ */
+var $ = require("jquery");
+var SWFUpload = require("plugin/swfupload.queue").SWFUpload;
+
+var file_upload_limit = 6;
+$.fn.extend({
+    qupload : function(options) {
+        writeProgressHtml();
+        initSwfUpload($(this).attr('id'), options);
+    }
+});
+
+var hasProgreeHtml = 0;
+
+// 创建进度条的html
+function writeProgressHtml() {
+    if (hasProgreeHtml == 0) // 一个页面只创建一次
+    {
+        $('body')
+                .append(
+                        '<div id="progressDialog" style="display: none;width:370px;height:80px !important;"><div style="padding:10px 20px;"><span id="curUploadStatus">图片上传中……请稍等</span><div id="progress"></div></div></div>');
+        hasProgreeHtml = 1;
+    }
+}
+
+function setUploadStatus(uploadNum, totalUploadNum) {
+    $('#uploadNum').html(uploadNum);
+    $('#totalUploadNum').html(totalUploadNum);
+}
+
+// 初始化swf
+function initSwfUpload(btnId, options) {
+    // 上传成功的回调函数
+    var uploadSuccessCallBack = null;
+    if (options.uploadSuccessed != undefined) {
+        uploadSuccessCallBack = options.uploadSuccessed;
+    }
+    // 上传的key
+    var uploadKeyValue = '';
+    if (options.uploadKey != undefined) {
+        uploadKeyValue = options.uploadKey;
+    }
+
+    // 上传之前可以做的操作参数
+    var preUploadCallBack = null;
+    if (options.preupload != undefined) {
+        preUploadCallBack = options.preupload;
+    }
+
+    // 弹出层ID
+    var progressDivId = 'progressDialog';
+    // 进度条ID
+    var progressTargetId = 'progress';
+
+    // 共有多少张需要上传
+    var totalUploadNum = 0;
+
+    // 当前已经上传的张数
+    var curUploadedNum = 0;
+
+    this.options = options;
+
+    var numTest = 0;
+    
+    var errmsg_box = this.options.errmsg_box;
+
+    // 设置默认值函数
+    function setDefaultValue(optionName, optionValue) {
+        this.options[optionName] = options[optionName] == undefined ? optionValue
+                : options[optionName];
+    }
+
+    setDefaultValue('flash_url',
+            "http://static.yohobuy.com/admin/js/swfupload/swfupload.swf");
+    setDefaultValue('upload_url', "http://upload.yohobuy.com");
+    setDefaultValue('file_post_name', "Filedata");
+    setDefaultValue('file_size_limit', "2 MB");
+    setDefaultValue('file_types', "*.*");
+    setDefaultValue('file_types_description', "All Files");
+    setDefaultValue('file_upload_limit', file_upload_limit);
+    setDefaultValue('file_queue_limit', 0);
+    setDefaultValue('button_image_url',
+            "http://static.yohobuy.com/admin/images/btn_swfupload.png");
+    setDefaultValue('button_width', "104");
+    setDefaultValue('button_height', "20");
+    setDefaultValue('button_text', '<span class="btn_upload_xzzp">选择本地照片</span>');
+    setDefaultValue('button_text_style', '.btn_upload_xzzp{color:#ffffff}');
+    setDefaultValue('button_text_left_padding', 24);
+    setDefaultValue('button_text_top_padding', 0);
+    setDefaultValue('button_window_mode', 'TRANSPARENT');
+    setDefaultValue('button_cursor', '-2');
+
+    var settings = {
+        flash_url : this.options.flash_url,
+        upload_url : this.options.upload_url,
+        file_post_name : this.options.file_post_name,
+        // post_params: {"PHPSESSID" : "<?php echo session_id(); ?>"},
+        file_size_limit : this.options.file_size_limit,
+        file_types : this.options.file_types,
+        file_types_description : this.options.file_types_description,
+        file_upload_limit : this.options.file_upload_limit,
+        file_queue_limit : this.options.file_queue_limit,
+        prevent_swf_caching : false,
+        preserve_relative_urls : false,
+        custom_settings : {
+
+        },
+        debug : false,
+
+        // Button settings
+        button_image_url : this.options.button_image_url,
+        button_width : this.options.button_width,
+        button_height : this.options.button_height,
+        button_placeholder_id : btnId,
+        button_text : this.options.button_text,
+        button_text_style : this.options.button_text_style,
+        button_text_left_padding : this.options.button_text_left_padding,
+        button_text_top_padding : this.options.button_text_top_padding,
+        button_window_mode : this.options.button_window_mode,
+        button_cursor : this.options.button_cursor,
+
+        // The event handler functions are defined in handlers.js
+        file_dialog_start_handler : fileDialogStart,
+        file_queued_handler : fileQueued,
+        file_queue_error_handler : fileQueueError,
+        file_dialog_complete_handler : fileDialogComplete,
+        upload_start_handler : uploadStart,
+        upload_progress_handler : uploadProgress,
+        upload_error_handler : uploadError,
+        upload_success_handler : uploadSuccess,
+        upload_complete_handler : uploadComplete,
+        queue_complete_handler : queueComplete,
+        button_action: this.options.button_action
+    };
+
+    var swfu = new SWFUpload(settings);
+
+    function fileQueued(file) {
+        try {
+
+        } catch (ex) {
+            this.debug(ex);
+        }
+
+    }
+
+    function fileQueueError(file, errorCode, message) {
+        var errmsg;
+        try {
+            if (errorCode === SWFUpload.QUEUE_ERROR.QUEUE_LIMIT_EXCEEDED) {
+                alert("您尝试上传太多文件.\n"
+                        + (message === 0 ? "您已达到上传限制." : "您最多还可以 "
+                                + (message > 1 ? "上传 " + message + "文件."
+                                        : "一个文件.")));
+                return;
+            }
+            
+            // var progress = new FileProgress(file,
+            // this.customSettings.progressTarget);
+            // progress.setError();
+            // progress.toggleCancel(false);
+            switch (errorCode) {
+            
+            case SWFUpload.QUEUE_ERROR.FILE_EXCEEDS_SIZE_LIMIT:
+                // progress.setStatus("File is too big.");
+                
+                errmsg = '文件超过'+settings.file_size_limit/1024+'M';
+                alert(errmsg);
+                this.debug("Error Code: File too big, File name: "
+                                + file.name + ", File size: " + file.size
+                                + ", Message: " + message); 
+                break;
+            case SWFUpload.QUEUE_ERROR.ZERO_BYTE_FILE:
+                // progress.setStatus("Cannot upload Zero Byte files.");
+                alert('请上传有内容的文件!');
+                this.debug("Error Code: Zero byte file, File name: "
+                        + file.name + ", File size: " + file.size
+                        + ", Message: " + message);
+                break;
+            case SWFUpload.QUEUE_ERROR.INVALID_FILETYPE:
+                alert('请上传指定类型的文件!');
+                this.debug("Error Code: Invalid File Type, File name: "
+                        + file.name + ", File size: " + file.size
+                        + ", Message: " + message);
+                break;
+            default:
+                if (file !== null) {
+                    // progress.setStatus("Unhandled Error");
+                }
+                alert('上传文件失败,请稍后在试!');
+                this.debug("Error Code: " + errorCode + ", File name: "
+                        + file.name + ", File size: " + file.size
+                        + ", Message: " + message);
+                break;
+            }
+        } catch (ex) {
+            this.debug(ex);
+        }
+    }
+
+    function fileDialogStart() {
+        if (preUploadCallBack != null) {
+            preUploadCallBack();
+        }
+    }
+
+    // 选择文件完成
+    function fileDialogComplete(numFilesSelected, numFilesQueued) {
+        try {
+
+            if (numFilesSelected > 0) {
+                // document.getElementById(this.customSettings.cancelButtonId).disabled
+                // = false;
+                totalUploadNum = numFilesSelected;
+                curUploadedNum = 1;
+                setUploadStatus(curUploadedNum, totalUploadNum);
+                this.startUpload();
+            }
+
+        } catch (ex) {
+            this.debug(ex);
+        }
+    }
+
+    // 开始上传
+    function uploadStart(file) {
+        this.addPostParam('_key', uploadKeyValue);
+        //$('#' + progressDivId).dialog();
+    }
+
+    // 上传进度
+    function uploadProgress(file, bytesLoaded, bytesTotal) {
+        // $('#uploadData').html(bytesLoaded + "/" + bytesTotal);
+        // $('#uploadData').html( $('#uploadData').html() + ' - ' + bytesLoaded
+        // + '+' + ',' + bytesTotal );
+        var percent = Math.ceil((bytesLoaded / bytesTotal) * 100);
+        //$("#progress").progressbar({
+        //  value : percent
+        //});
+    }
+
+    // 上传成功
+    function uploadSuccess(file, serverData) {
+        curUploadedNum++;
+        setUploadStatus(curUploadedNum, totalUploadNum);
+        if (uploadSuccessCallBack != null) {
+            uploadSuccessCallBack(serverData);
+        }
+    }
+
+    // 上传出错
+    function uploadError(file, errorCode, message) {
+
+        try {
+            if (errorCode === SWFUpload.QUEUE_ERROR.QUEUE_LIMIT_EXCEEDED) {
+                alert("您尝试上传太多文件.\n"
+                        + (message === 0 ? "您已达到上传限制." : "您最多还可以 "
+                                + (message > 1 ? "上传 " + message + "文件."
+                                        : "一个文件.")));
+                return;
+            }
+            switch (errorCode) {
+            
+            case SWFUpload.QUEUE_ERROR.FILE_EXCEEDS_SIZE_LIMIT:
+                alert("Error Code: 文件太大。 文件名为: " + file.name + ", 大小为: "
+                        + file.size + ", Message: " + message);
+                break;
+            case SWFUpload.QUEUE_ERROR.ZERO_BYTE_FILE:
+
+                alert("Error Code: 文件为0, 文件名为: " + file.name + ", 大小为: "
+                        + file.size + ", Message: " + message);
+                break;
+            case SWFUpload.QUEUE_ERROR.INVALID_FILETYPE:
+                alert("Error Code: 文件类型不合要求, 文件名为: " + file.name + ", 大小为: "
+                        + file.size + ", Message: " + message);
+                break;
+            default:
+                if (file !== null) {
+
+                }
+                alert("上传出错" + "Error Code: " + errorCode + ", File name: "
+                        + file.name + ", File size: " + file.size
+                        + ", Message: " + message);
+                break;
+            }
+        } catch (ex) {
+            this.debug(ex);
+        }
+    }
+
+    // 上传完成
+    function uploadComplete(file) {
+        //$('#' + progressDivId).dialog('close');
+    }
+
+    // This event comes from the Queue Plugin
+    function queueComplete(numFilesUploaded) {
+
+    }
+}
+
+window.SWFUpload = SWFUpload;
+});
+define("plugin/swfupload.queue", [], function(require, exports, module){
+/*
+    Queue Plug-in
+    
+    Features:
+        *Adds a cancelQueue() method for cancelling the entire queue.
+        *All queued files are uploaded when startUpload() is called.
+        *If false is returned from uploadComplete then the queue upload is stopped.
+         If false is not returned (strict comparison) then the queue upload is continued.
+        *Adds a QueueComplete event that is fired when all the queued files have finished uploading.
+         Set the event handler with the queue_complete_handler setting.
+        
+    */
+var SWFUpload = require("plugin/swfupload").SWFUpload;
+
+if (typeof(SWFUpload) === "function") {
+    SWFUpload.queue = {};
+    
+    SWFUpload.prototype.initSettings = (function (oldInitSettings) {
+        return function () {
+            if (typeof(oldInitSettings) === "function") {
+                oldInitSettings.call(this);
+            }
+            
+            this.queueSettings = {};
+            
+            this.queueSettings.queue_cancelled_flag = false;
+            this.queueSettings.queue_upload_count = 0;
+            
+            this.queueSettings.user_upload_complete_handler = this.settings.upload_complete_handler;
+            this.queueSettings.user_upload_start_handler = this.settings.upload_start_handler;
+            this.settings.upload_complete_handler = SWFUpload.queue.uploadCompleteHandler;
+            this.settings.upload_start_handler = SWFUpload.queue.uploadStartHandler;
+            
+            this.settings.queue_complete_handler = this.settings.queue_complete_handler || null;
+        };
+    })(SWFUpload.prototype.initSettings);
+
+    SWFUpload.prototype.startUpload = function (fileID) {
+        this.queueSettings.queue_cancelled_flag = false;
+        this.callFlash("StartUpload", [fileID]);
+    };
+
+    SWFUpload.prototype.cancelQueue = function () {
+        this.queueSettings.queue_cancelled_flag = true;
+        this.stopUpload();
+        
+        var stats = this.getStats();
+        while (stats.files_queued > 0) {
+            this.cancelUpload();
+            stats = this.getStats();
+        }
+    };
+    
+    SWFUpload.queue.uploadStartHandler = function (file) {
+        var returnValue;
+        if (typeof(this.queueSettings.user_upload_start_handler) === "function") {
+            returnValue = this.queueSettings.user_upload_start_handler.call(this, file);
+        }
+        
+        // To prevent upload a real "FALSE" value must be returned, otherwise default to a real "TRUE" value.
+        returnValue = (returnValue === false) ? false : true;
+        
+        this.queueSettings.queue_cancelled_flag = !returnValue;
+
+        return returnValue;
+    };
+    
+    SWFUpload.queue.uploadCompleteHandler = function (file) {
+        var user_upload_complete_handler = this.queueSettings.user_upload_complete_handler;
+        var continueUpload;
+        
+        if (file.filestatus === SWFUpload.FILE_STATUS.COMPLETE) {
+            this.queueSettings.queue_upload_count++;
+        }
+
+        if (typeof(user_upload_complete_handler) === "function") {
+            continueUpload = (user_upload_complete_handler.call(this, file) === false) ? false : true;
+        } else if (file.filestatus === SWFUpload.FILE_STATUS.QUEUED) {
+            // If the file was stopped and re-queued don't restart the upload
+            continueUpload = false;
+        } else {
+            continueUpload = true;
+        }
+        
+        if (continueUpload) {
+            var stats = this.getStats();
+            if (stats.files_queued > 0 && this.queueSettings.queue_cancelled_flag === false) {
+                this.startUpload();
+            } else if (this.queueSettings.queue_cancelled_flag === false) {
+                this.queueEvent("queue_complete_handler", [this.queueSettings.queue_upload_count]);
+                this.queueSettings.queue_upload_count = 0;
+            } else {
+                this.queueSettings.queue_cancelled_flag = false;
+                this.queueSettings.queue_upload_count = 0;
+            }
+        }
+    };
+}
+
+exports.SWFUpload = SWFUpload;
+});
+define("plugin/swfupload", [], function(require, exports, module){
+/**
+ * SWFUpload: http://www.swfupload.org, http://swfupload.googlecode.com
+ *
+ * mmSWFUpload 1.0: Flash upload dialog - http://profandesign.se/swfupload/,  http://www.vinterwebb.se/
+ *
+ * SWFUpload is (c) 2006-2007 Lars Huring, Olov Nilz锟絥 and Mammon Media and is released under the MIT License:
+ * http://www.opensource.org/licenses/mit-license.php
+ *
+ * SWFUpload 2 is (c) 2007-2008 Jake Roberts and is released under the MIT License:
+ * http://www.opensource.org/licenses/mit-license.php
+ *
+ */
+
+
+/* ******************* */
+/* Constructor & Init  */
+/* ******************* */
+var SWFUpload;
+
+if (SWFUpload == undefined) {
+    SWFUpload = function (settings) {
+        this.initSWFUpload(settings);
+    };
+}
+
+SWFUpload.prototype.initSWFUpload = function (settings) {
+    try {
+        this.customSettings = {};   // A container where developers can place their own settings associated with this instance.
+        this.settings = settings;
+        this.eventQueue = [];
+        this.movieName = "SWFUpload_" + SWFUpload.movieCount++;
+        this.movieElement = null;
+
+
+        // Setup global control tracking
+        SWFUpload.instances[this.movieName] = this;
+
+        // Load the settings.  Load the Flash movie.
+        this.initSettings();
+        this.loadFlash();
+        this.displayDebugInfo();
+    } catch (ex) {
+        delete SWFUpload.instances[this.movieName];
+        throw ex;
+    }
+};
+
+/* *************** */
+/* Static Members  */
+/* *************** */
+SWFUpload.instances = {};
+SWFUpload.movieCount = 0;
+SWFUpload.version = "2.2.0 2009-03-25";
+SWFUpload.QUEUE_ERROR = {
+    QUEUE_LIMIT_EXCEEDED            : -100,
+    FILE_EXCEEDS_SIZE_LIMIT         : -110,
+    ZERO_BYTE_FILE                  : -120,
+    INVALID_FILETYPE                : -130
+};
+SWFUpload.UPLOAD_ERROR = {
+    HTTP_ERROR                      : -200,
+    MISSING_UPLOAD_URL              : -210,
+    IO_ERROR                        : -220,
+    SECURITY_ERROR                  : -230,
+    UPLOAD_LIMIT_EXCEEDED           : -240,
+    UPLOAD_FAILED                   : -250,
+    SPECIFIED_FILE_ID_NOT_FOUND     : -260,
+    FILE_VALIDATION_FAILED          : -270,
+    FILE_CANCELLED                  : -280,
+    UPLOAD_STOPPED                  : -290
+};
+SWFUpload.FILE_STATUS = {
+    QUEUED       : -1,
+    IN_PROGRESS  : -2,
+    ERROR        : -3,
+    COMPLETE     : -4,
+    CANCELLED    : -5
+};
+SWFUpload.BUTTON_ACTION = {
+    SELECT_FILE  : -100,
+    SELECT_FILES : -110,
+    START_UPLOAD : -120
+};
+SWFUpload.CURSOR = {
+    ARROW : -1,
+    HAND : -2
+};
+SWFUpload.WINDOW_MODE = {
+    WINDOW : "window",
+    TRANSPARENT : "transparent",
+    OPAQUE : "opaque"
+};
+
+// Private: takes a URL, determines if it is relative and converts to an absolute URL
+// using the current site. Only processes the URL if it can, otherwise returns the URL untouched
+SWFUpload.completeURL = function(url) {
+    if (typeof(url) !== "string" || url.match(/^https?:\/\//i) || url.match(/^\//)) {
+        return url;
+    }
+    
+    var currentURL = window.location.protocol + "//" + window.location.hostname + (window.location.port ? ":" + window.location.port : "");
+    
+    var indexSlash = window.location.pathname.lastIndexOf("/");
+    if (indexSlash <= 0) {
+        path = "/";
+    } else {
+        path = window.location.pathname.substr(0, indexSlash) + "/";
+    }
+    
+    return /*currentURL +*/ path + url;
+    
+};
+
+
+/* ******************** */
+/* Instance Members  */
+/* ******************** */
+
+// Private: initSettings ensures that all the
+// settings are set, getting a default value if one was not assigned.
+SWFUpload.prototype.initSettings = function () {
+    this.ensureDefault = function (settingName, defaultValue) {
+        this.settings[settingName] = (this.settings[settingName] == undefined) ? defaultValue : this.settings[settingName];
+    };
+    
+    // Upload backend settings
+    this.ensureDefault("upload_url", "");
+    this.ensureDefault("preserve_relative_urls", false);
+    this.ensureDefault("file_post_name", "Filedata");
+    this.ensureDefault("post_params", {});
+    this.ensureDefault("use_query_string", false);
+    this.ensureDefault("requeue_on_error", false);
+    this.ensureDefault("http_success", []);
+    this.ensureDefault("assume_success_timeout", 0);
+    
+    // File Settings
+    this.ensureDefault("file_types", "*.*");
+    this.ensureDefault("file_types_description", "All Files");
+    this.ensureDefault("file_size_limit", 0);   // Default zero means "unlimited"
+    this.ensureDefault("file_upload_limit", 0);
+    this.ensureDefault("file_queue_limit", 0);
+
+    // Flash Settings
+    this.ensureDefault("flash_url", "swfupload.swf");
+    this.ensureDefault("prevent_swf_caching", true);
+    
+    // Button Settings
+    this.ensureDefault("button_image_url", "");
+    this.ensureDefault("button_width", 1);
+    this.ensureDefault("button_height", 1);
+    this.ensureDefault("button_text", "");
+    this.ensureDefault("button_text_style", "color: #000000; font-size: 16pt;");
+    this.ensureDefault("button_text_top_padding", 0);
+    this.ensureDefault("button_text_left_padding", 0);
+    this.ensureDefault("button_action", SWFUpload.BUTTON_ACTION.SELECT_FILES);
+    this.ensureDefault("button_disabled", false);
+    this.ensureDefault("button_placeholder_id", "");
+    this.ensureDefault("button_placeholder", null);
+    this.ensureDefault("button_cursor", SWFUpload.CURSOR.ARROW);
+    this.ensureDefault("button_window_mode", SWFUpload.WINDOW_MODE.WINDOW);
+    
+    // Debug Settings
+    this.ensureDefault("debug", false);
+    this.settings.debug_enabled = this.settings.debug;  // Here to maintain v2 API
+    
+    // Event Handlers
+    this.settings.return_upload_start_handler = this.returnUploadStart;
+    this.ensureDefault("swfupload_loaded_handler", null);
+    this.ensureDefault("file_dialog_start_handler", null);
+    this.ensureDefault("file_queued_handler", null);
+    this.ensureDefault("file_queue_error_handler", null);
+    this.ensureDefault("file_dialog_complete_handler", null);
+    
+    this.ensureDefault("upload_start_handler", null);
+    this.ensureDefault("upload_progress_handler", null);
+    this.ensureDefault("upload_error_handler", null);
+    this.ensureDefault("upload_success_handler", null);
+    this.ensureDefault("upload_complete_handler", null);
+    
+    this.ensureDefault("debug_handler", this.debugMessage);
+
+    this.ensureDefault("custom_settings", {});
+
+    // Other settings
+    this.customSettings = this.settings.custom_settings;
+    
+    // Update the flash url if needed
+    if (!!this.settings.prevent_swf_caching) {
+        this.settings.flash_url = this.settings.flash_url + (this.settings.flash_url.indexOf("?") < 0 ? "?" : "&") + "preventswfcaching=" + new Date().getTime();
+    }
+    
+    if (!this.settings.preserve_relative_urls) {
+        //this.settings.flash_url = SWFUpload.completeURL(this.settings.flash_url); // Don't need to do this one since flash doesn't look at it
+        this.settings.upload_url = SWFUpload.completeURL(this.settings.upload_url);
+        if (this.settings.button_image_url) {
+            this.settings.button_image_url = SWFUpload.completeURL(this.settings.button_image_url);
+        }
+    }
+    
+    delete this.ensureDefault;
+};
+
+// Private: loadFlash replaces the button_placeholder element with the flash movie.
+SWFUpload.prototype.loadFlash = function () {
+    var targetElement, tempParent;
+
+    // Make sure an element with the ID we are going to use doesn't already exist
+    if (document.getElementById(this.movieName) !== null) {
+        throw "ID " + this.movieName + " is already in use. The Flash Object could not be added";
+    }
+
+    // Get the element where we will be placing the flash movie
+    targetElement = document.getElementById(this.settings.button_placeholder_id) || this.settings.button_placeholder;
+
+    if (targetElement == undefined) {
+        throw "Could not find the placeholder element: " + this.settings.button_placeholder_id;
+    }
+
+    // Append the container and load the flash
+    tempParent = document.createElement("div");
+    tempParent.innerHTML = this.getFlashHTML(); // Using innerHTML is non-standard but the only sensible way to dynamically add Flash in IE (and maybe other browsers)
+    targetElement.parentNode.replaceChild(tempParent.firstChild, targetElement);
+
+    // Fix IE Flash/Form bug
+    if (window[this.movieName] == undefined) {
+        window[this.movieName] = this.getMovieElement();
+    }
+    
+};
+
+// Private: getFlashHTML generates the object tag needed to embed the flash in to the document
+SWFUpload.prototype.getFlashHTML = function () {
+    // Flash Satay object syntax: http://www.alistapart.com/articles/flashsatay
+    return ['<object id="', this.movieName, '" type="application/x-shockwave-flash" data="', this.settings.flash_url, '" width="', this.settings.button_width, '" height="', this.settings.button_height, '" class="swfupload">',
+                '<param name="wmode" value="', this.settings.button_window_mode, '" />',
+                '<param name="movie" value="', this.settings.flash_url, '" />',
+                '<param name="quality" value="high" />',
+                '<param name="menu" value="false" />',
+                '<param name="allowScriptAccess" value="always" />',
+                '<param name="flashvars" value="' + this.getFlashVars() + '" />',
+                '</object>'].join("");
+};
+
+// Private: getFlashVars builds the parameter string that will be passed
+// to flash in the flashvars param.
+SWFUpload.prototype.getFlashVars = function () {
+    // Build a string from the post param object
+    var paramString = this.buildParamString();
+    var httpSuccessString = this.settings.http_success.join(",");
+    
+    // Build the parameter string
+    return ["movieName=", encodeURIComponent(this.movieName),
+            "&amp;uploadURL=", encodeURIComponent(this.settings.upload_url),
+            "&amp;useQueryString=", encodeURIComponent(this.settings.use_query_string),
+            "&amp;requeueOnError=", encodeURIComponent(this.settings.requeue_on_error),
+            "&amp;httpSuccess=", encodeURIComponent(httpSuccessString),
+            "&amp;assumeSuccessTimeout=", encodeURIComponent(this.settings.assume_success_timeout),
+            "&amp;params=", encodeURIComponent(paramString),
+            "&amp;filePostName=", encodeURIComponent(this.settings.file_post_name),
+            "&amp;fileTypes=", encodeURIComponent(this.settings.file_types),
+            "&amp;fileTypesDescription=", encodeURIComponent(this.settings.file_types_description),
+            "&amp;fileSizeLimit=", encodeURIComponent(this.settings.file_size_limit),
+            "&amp;fileUploadLimit=", encodeURIComponent(this.settings.file_upload_limit),
+            "&amp;fileQueueLimit=", encodeURIComponent(this.settings.file_queue_limit),
+            "&amp;debugEnabled=", encodeURIComponent(this.settings.debug_enabled),
+            "&amp;buttonImageURL=", encodeURIComponent(this.settings.button_image_url),
+            "&amp;buttonWidth=", encodeURIComponent(this.settings.button_width),
+            "&amp;buttonHeight=", encodeURIComponent(this.settings.button_height),
+            "&amp;buttonText=", encodeURIComponent(this.settings.button_text),
+            "&amp;buttonTextTopPadding=", encodeURIComponent(this.settings.button_text_top_padding),
+            "&amp;buttonTextLeftPadding=", encodeURIComponent(this.settings.button_text_left_padding),
+            "&amp;buttonTextStyle=", encodeURIComponent(this.settings.button_text_style),
+            "&amp;buttonAction=", encodeURIComponent(this.settings.button_action),
+            "&amp;buttonDisabled=", encodeURIComponent(this.settings.button_disabled),
+            "&amp;buttonCursor=", encodeURIComponent(this.settings.button_cursor)
+        ].join("");
+};
+
+// Public: getMovieElement retrieves the DOM reference to the Flash element added by SWFUpload
+// The element is cached after the first lookup
+SWFUpload.prototype.getMovieElement = function () {
+    if (this.movieElement == undefined) {
+        this.movieElement = document.getElementById(this.movieName);
+    }
+
+    if (this.movieElement === null) {
+        throw "Could not find Flash element";
+    }
+    
+    return this.movieElement;
+};
+
+// Private: buildParamString takes the name/value pairs in the post_params setting object
+// and joins them up in to a string formatted "name=value&amp;name=value"
+SWFUpload.prototype.buildParamString = function () {
+    var postParams = this.settings.post_params; 
+    var paramStringPairs = [];
+
+    if (typeof(postParams) === "object") {
+        for (var name in postParams) {
+            if (postParams.hasOwnProperty(name)) {
+                paramStringPairs.push(encodeURIComponent(name.toString()) + "=" + encodeURIComponent(postParams[name].toString()));
+            }
+        }
+    }
+
+    return paramStringPairs.join("&amp;");
+};
+
+// Public: Used to remove a SWFUpload instance from the page. This method strives to remove
+// all references to the SWF, and other objects so memory is properly freed.
+// Returns true if everything was destroyed. Returns a false if a failure occurs leaving SWFUpload in an inconsistant state.
+// Credits: Major improvements provided by steffen
+SWFUpload.prototype.destroy = function () {
+    try {
+        // Make sure Flash is done before we try to remove it
+        this.cancelUpload(null, false);
+        
+
+        // Remove the SWFUpload DOM nodes
+        var movieElement = null;
+        movieElement = this.getMovieElement();
+        
+        if (movieElement && typeof(movieElement.CallFunction) === "unknown") { // We only want to do this in IE
+            // Loop through all the movie's properties and remove all function references (DOM/JS IE 6/7 memory leak workaround)
+            for (var i in movieElement) {
+                try {
+                    if (typeof(movieElement[i]) === "function") {
+                        movieElement[i] = null;
+                    }
+                } catch (ex1) {}
+            }
+
+            // Remove the Movie Element from the page
+            try {
+                movieElement.parentNode.removeChild(movieElement);
+            } catch (ex) {}
+        }
+        
+        // Remove IE form fix reference
+        window[this.movieName] = null;
+
+        // Destroy other references
+        SWFUpload.instances[this.movieName] = null;
+        delete SWFUpload.instances[this.movieName];
+
+        this.movieElement = null;
+        this.settings = null;
+        this.customSettings = null;
+        this.eventQueue = null;
+        this.movieName = null;
+        
+        
+        return true;
+    } catch (ex2) {
+        return false;
+    }
+};
+
+
+// Public: displayDebugInfo prints out settings and configuration
+// information about this SWFUpload instance.
+// This function (and any references to it) can be deleted when placing
+// SWFUpload in production.
+SWFUpload.prototype.displayDebugInfo = function () {
+    this.debug(
+        [
+            "---SWFUpload Instance Info---\n",
+            "Version: ", SWFUpload.version, "\n",
+            "Movie Name: ", this.movieName, "\n",
+            "Settings:\n",
+            "\t", "upload_url:               ", this.settings.upload_url, "\n",
+            "\t", "flash_url:                ", this.settings.flash_url, "\n",
+            "\t", "use_query_string:         ", this.settings.use_query_string.toString(), "\n",
+            "\t", "requeue_on_error:         ", this.settings.requeue_on_error.toString(), "\n",
+            "\t", "http_success:             ", this.settings.http_success.join(", "), "\n",
+            "\t", "assume_success_timeout:   ", this.settings.assume_success_timeout, "\n",
+            "\t", "file_post_name:           ", this.settings.file_post_name, "\n",
+            "\t", "post_params:              ", this.settings.post_params.toString(), "\n",
+            "\t", "file_types:               ", this.settings.file_types, "\n",
+            "\t", "file_types_description:   ", this.settings.file_types_description, "\n",
+            "\t", "file_size_limit:          ", this.settings.file_size_limit, "\n",
+            "\t", "file_upload_limit:        ", this.settings.file_upload_limit, "\n",
+            "\t", "file_queue_limit:         ", this.settings.file_queue_limit, "\n",
+            "\t", "debug:                    ", this.settings.debug.toString(), "\n",
+
+            "\t", "prevent_swf_caching:      ", this.settings.prevent_swf_caching.toString(), "\n",
+
+            "\t", "button_placeholder_id:    ", this.settings.button_placeholder_id.toString(), "\n",
+            "\t", "button_placeholder:       ", (this.settings.button_placeholder ? "Set" : "Not Set"), "\n",
+            "\t", "button_image_url:         ", this.settings.button_image_url.toString(), "\n",
+            "\t", "button_width:             ", this.settings.button_width.toString(), "\n",
+            "\t", "button_height:            ", this.settings.button_height.toString(), "\n",
+            "\t", "button_text:              ", this.settings.button_text.toString(), "\n",
+            "\t", "button_text_style:        ", this.settings.button_text_style.toString(), "\n",
+            "\t", "button_text_top_padding:  ", this.settings.button_text_top_padding.toString(), "\n",
+            "\t", "button_text_left_padding: ", this.settings.button_text_left_padding.toString(), "\n",
+            "\t", "button_action:            ", this.settings.button_action.toString(), "\n",
+            "\t", "button_disabled:          ", this.settings.button_disabled.toString(), "\n",
+
+            "\t", "custom_settings:          ", this.settings.custom_settings.toString(), "\n",
+            "Event Handlers:\n",
+            "\t", "swfupload_loaded_handler assigned:  ", (typeof this.settings.swfupload_loaded_handler === "function").toString(), "\n",
+            "\t", "file_dialog_start_handler assigned: ", (typeof this.settings.file_dialog_start_handler === "function").toString(), "\n",
+            "\t", "file_queued_handler assigned:       ", (typeof this.settings.file_queued_handler === "function").toString(), "\n",
+            "\t", "file_queue_error_handler assigned:  ", (typeof this.settings.file_queue_error_handler === "function").toString(), "\n",
+            "\t", "upload_start_handler assigned:      ", (typeof this.settings.upload_start_handler === "function").toString(), "\n",
+            "\t", "upload_progress_handler assigned:   ", (typeof this.settings.upload_progress_handler === "function").toString(), "\n",
+            "\t", "upload_error_handler assigned:      ", (typeof this.settings.upload_error_handler === "function").toString(), "\n",
+            "\t", "upload_success_handler assigned:    ", (typeof this.settings.upload_success_handler === "function").toString(), "\n",
+            "\t", "upload_complete_handler assigned:   ", (typeof this.settings.upload_complete_handler === "function").toString(), "\n",
+            "\t", "debug_handler assigned:             ", (typeof this.settings.debug_handler === "function").toString(), "\n"
+        ].join("")
+    );
+};
+
+/* Note: addSetting and getSetting are no longer used by SWFUpload but are included
+    the maintain v2 API compatibility
+*/
+// Public: (Deprecated) addSetting adds a setting value. If the value given is undefined or null then the default_value is used.
+SWFUpload.prototype.addSetting = function (name, value, default_value) {
+    if (value == undefined) {
+        return (this.settings[name] = default_value);
+    } else {
+        return (this.settings[name] = value);
+    }
+};
+
+// Public: (Deprecated) getSetting gets a setting. Returns an empty string if the setting was not found.
+SWFUpload.prototype.getSetting = function (name) {
+    if (this.settings[name] != undefined) {
+        return this.settings[name];
+    }
+
+    return "";
+};
+
+
+
+// Private: callFlash handles function calls made to the Flash element.
+// Calls are made with a setTimeout for some functions to work around
+// bugs in the ExternalInterface library.
+SWFUpload.prototype.callFlash = function (functionName, argumentArray) {
+    argumentArray = argumentArray || [];
+    
+    var movieElement = this.getMovieElement();
+    var returnValue, returnString;
+
+    // Flash's method if calling ExternalInterface methods (code adapted from MooTools).
+    try {
+        returnString = movieElement.CallFunction('<invoke name="' + functionName + '" returntype="javascript">' + __flash__argumentsToXML(argumentArray, 0) + '</invoke>');
+        returnValue = eval(returnString);
+    } catch (ex) {
+        throw "Call to " + functionName + " failed";
+    }
+    
+    // Unescape file post param values
+    if (returnValue != undefined && typeof returnValue.post === "object") {
+        returnValue = this.unescapeFilePostParams(returnValue);
+    }
+
+    return returnValue;
+};
+
+/* *****************************
+    -- Flash control methods --
+    Your UI should use these
+    to operate SWFUpload
+   ***************************** */
+
+// WARNING: this function does not work in Flash Player 10
+// Public: selectFile causes a File Selection Dialog window to appear.  This
+// dialog only allows 1 file to be selected.
+SWFUpload.prototype.selectFile = function () {
+    this.callFlash("SelectFile");
+};
+
+// WARNING: this function does not work in Flash Player 10
+// Public: selectFiles causes a File Selection Dialog window to appear/ This
+// dialog allows the user to select any number of files
+// Flash Bug Warning: Flash limits the number of selectable files based on the combined length of the file names.
+// If the selection name length is too long the dialog will fail in an unpredictable manner.  There is no work-around
+// for this bug.
+SWFUpload.prototype.selectFiles = function () {
+    this.callFlash("SelectFiles");
+};
+
+
+// Public: startUpload starts uploading the first file in the queue unless
+// the optional parameter 'fileID' specifies the ID 
+SWFUpload.prototype.startUpload = function (fileID) {
+    this.callFlash("StartUpload", [fileID]);
+};
+
+// Public: cancelUpload cancels any queued file.  The fileID parameter may be the file ID or index.
+// If you do not specify a fileID the current uploading file or first file in the queue is cancelled.
+// If you do not want the uploadError event to trigger you can specify false for the triggerErrorEvent parameter.
+SWFUpload.prototype.cancelUpload = function (fileID, triggerErrorEvent) {
+    if (triggerErrorEvent !== false) {
+        triggerErrorEvent = true;
+    }
+    this.callFlash("CancelUpload", [fileID, triggerErrorEvent]);
+};
+
+// Public: stopUpload stops the current upload and requeues the file at the beginning of the queue.
+// If nothing is currently uploading then nothing happens.
+SWFUpload.prototype.stopUpload = function () {
+    this.callFlash("StopUpload");
+};
+
+/* ************************
+ * Settings methods
+ *   These methods change the SWFUpload settings.
+ *   SWFUpload settings should not be changed directly on the settings object
+ *   since many of the settings need to be passed to Flash in order to take
+ *   effect.
+ * *********************** */
+
+// Public: getStats gets the file statistics object.
+SWFUpload.prototype.getStats = function () {
+    return this.callFlash("GetStats");
+};
+
+// Public: setStats changes the SWFUpload statistics.  You shouldn't need to 
+// change the statistics but you can.  Changing the statistics does not
+// affect SWFUpload accept for the successful_uploads count which is used
+// by the upload_limit setting to determine how many files the user may upload.
+SWFUpload.prototype.setStats = function (statsObject) {
+    this.callFlash("SetStats", [statsObject]);
+};
+
+// Public: getFile retrieves a File object by ID or Index.  If the file is
+// not found then 'null' is returned.
+SWFUpload.prototype.getFile = function (fileID) {
+    if (typeof(fileID) === "number") {
+        return this.callFlash("GetFileByIndex", [fileID]);
+    } else {
+        return this.callFlash("GetFile", [fileID]);
+    }
+};
+
+// Public: addFileParam sets a name/value pair that will be posted with the
+// file specified by the Files ID.  If the name already exists then the
+// exiting value will be overwritten.
+SWFUpload.prototype.addFileParam = function (fileID, name, value) {
+    return this.callFlash("AddFileParam", [fileID, name, value]);
+};
+
+// Public: removeFileParam removes a previously set (by addFileParam) name/value
+// pair from the specified file.
+SWFUpload.prototype.removeFileParam = function (fileID, name) {
+    this.callFlash("RemoveFileParam", [fileID, name]);
+};
+
+// Public: setUploadUrl changes the upload_url setting.
+SWFUpload.prototype.setUploadURL = function (url) {
+    this.settings.upload_url = url.toString();
+    this.callFlash("SetUploadURL", [url]);
+};
+
+// Public: setPostParams changes the post_params setting
+SWFUpload.prototype.setPostParams = function (paramsObject) {
+    this.settings.post_params = paramsObject;
+    this.callFlash("SetPostParams", [paramsObject]);
+};
+
+// Public: addPostParam adds post name/value pair.  Each name can have only one value.
+SWFUpload.prototype.addPostParam = function (name, value) {
+    this.settings.post_params[name] = value;
+    this.callFlash("SetPostParams", [this.settings.post_params]);
+};
+
+// Public: removePostParam deletes post name/value pair.
+SWFUpload.prototype.removePostParam = function (name) {
+    delete this.settings.post_params[name];
+    this.callFlash("SetPostParams", [this.settings.post_params]);
+};
+
+// Public: setFileTypes changes the file_types setting and the file_types_description setting
+SWFUpload.prototype.setFileTypes = function (types, description) {
+    this.settings.file_types = types;
+    this.settings.file_types_description = description;
+    this.callFlash("SetFileTypes", [types, description]);
+};
+
+// Public: setFileSizeLimit changes the file_size_limit setting
+SWFUpload.prototype.setFileSizeLimit = function (fileSizeLimit) {
+    this.settings.file_size_limit = fileSizeLimit;
+    this.callFlash("SetFileSizeLimit", [fileSizeLimit]);
+};
+
+// Public: setFileUploadLimit changes the file_upload_limit setting
+SWFUpload.prototype.setFileUploadLimit = function (fileUploadLimit) {
+    this.settings.file_upload_limit = fileUploadLimit;
+    this.callFlash("SetFileUploadLimit", [fileUploadLimit]);
+};
+
+// Public: setFileQueueLimit changes the file_queue_limit setting
+SWFUpload.prototype.setFileQueueLimit = function (fileQueueLimit) {
+    this.settings.file_queue_limit = fileQueueLimit;
+    this.callFlash("SetFileQueueLimit", [fileQueueLimit]);
+};
+
+// Public: setFilePostName changes the file_post_name setting
+SWFUpload.prototype.setFilePostName = function (filePostName) {
+    this.settings.file_post_name = filePostName;
+    this.callFlash("SetFilePostName", [filePostName]);
+};
+
+// Public: setUseQueryString changes the use_query_string setting
+SWFUpload.prototype.setUseQueryString = function (useQueryString) {
+    this.settings.use_query_string = useQueryString;
+    this.callFlash("SetUseQueryString", [useQueryString]);
+};
+
+// Public: setRequeueOnError changes the requeue_on_error setting
+SWFUpload.prototype.setRequeueOnError = function (requeueOnError) {
+    this.settings.requeue_on_error = requeueOnError;
+    this.callFlash("SetRequeueOnError", [requeueOnError]);
+};
+
+// Public: setHTTPSuccess changes the http_success setting
+SWFUpload.prototype.setHTTPSuccess = function (http_status_codes) {
+    if (typeof http_status_codes === "string") {
+        http_status_codes = http_status_codes.replace(" ", "").split(",");
+    }
+    
+    this.settings.http_success = http_status_codes;
+    this.callFlash("SetHTTPSuccess", [http_status_codes]);
+};
+
+// Public: setHTTPSuccess changes the http_success setting
+SWFUpload.prototype.setAssumeSuccessTimeout = function (timeout_seconds) {
+    this.settings.assume_success_timeout = timeout_seconds;
+    this.callFlash("SetAssumeSuccessTimeout", [timeout_seconds]);
+};
+
+// Public: setDebugEnabled changes the debug_enabled setting
+SWFUpload.prototype.setDebugEnabled = function (debugEnabled) {
+    this.settings.debug_enabled = debugEnabled;
+    this.callFlash("SetDebugEnabled", [debugEnabled]);
+};
+
+// Public: setButtonImageURL loads a button image sprite
+SWFUpload.prototype.setButtonImageURL = function (buttonImageURL) {
+    if (buttonImageURL == undefined) {
+        buttonImageURL = "";
+    }
+    
+    this.settings.button_image_url = buttonImageURL;
+    this.callFlash("SetButtonImageURL", [buttonImageURL]);
+};
+
+// Public: setButtonDimensions resizes the Flash Movie and button
+SWFUpload.prototype.setButtonDimensions = function (width, height) {
+    this.settings.button_width = width;
+    this.settings.button_height = height;
+    
+    var movie = this.getMovieElement();
+    if (movie != undefined) {
+        movie.style.width = width + "px";
+        movie.style.height = height + "px";
+    }
+    
+    this.callFlash("SetButtonDimensions", [width, height]);
+};
+// Public: setButtonText Changes the text overlaid on the button
+SWFUpload.prototype.setButtonText = function (html) {
+    this.settings.button_text = html;
+    this.callFlash("SetButtonText", [html]);
+};
+// Public: setButtonTextPadding changes the top and left padding of the text overlay
+SWFUpload.prototype.setButtonTextPadding = function (left, top) {
+    this.settings.button_text_top_padding = top;
+    this.settings.button_text_left_padding = left;
+    this.callFlash("SetButtonTextPadding", [left, top]);
+};
+
+// Public: setButtonTextStyle changes the CSS used to style the HTML/Text overlaid on the button
+SWFUpload.prototype.setButtonTextStyle = function (css) {
+    this.settings.button_text_style = css;
+    this.callFlash("SetButtonTextStyle", [css]);
+};
+// Public: setButtonDisabled disables/enables the button
+SWFUpload.prototype.setButtonDisabled = function (isDisabled) {
+    this.settings.button_disabled = isDisabled;
+    this.callFlash("SetButtonDisabled", [isDisabled]);
+};
+// Public: setButtonAction sets the action that occurs when the button is clicked
+SWFUpload.prototype.setButtonAction = function (buttonAction) {
+    this.settings.button_action = buttonAction;
+    this.callFlash("SetButtonAction", [buttonAction]);
+};
+
+// Public: setButtonCursor changes the mouse cursor displayed when hovering over the button
+SWFUpload.prototype.setButtonCursor = function (cursor) {
+    this.settings.button_cursor = cursor;
+    this.callFlash("SetButtonCursor", [cursor]);
+};
+
+/* *******************************
+    Flash Event Interfaces
+    These functions are used by Flash to trigger the various
+    events.
+    
+    All these functions a Private.
+    
+    Because the ExternalInterface library is buggy the event calls
+    are added to a queue and the queue then executed by a setTimeout.
+    This ensures that events are executed in a determinate order and that
+    the ExternalInterface bugs are avoided.
+******************************* */
+
+SWFUpload.prototype.queueEvent = function (handlerName, argumentArray) {
+    // Warning: Don't call this.debug inside here or you'll create an infinite loop
+    
+    if (argumentArray == undefined) {
+        argumentArray = [];
+    } else if (!(argumentArray instanceof Array)) {
+        argumentArray = [argumentArray];
+    }
+    
+    var self = this;
+    if (typeof this.settings[handlerName] === "function") {
+        // Queue the event
+        this.eventQueue.push(function () {
+            this.settings[handlerName].apply(this, argumentArray);
+        });
+        
+        // Execute the next queued event
+        setTimeout(function () {
+            self.executeNextEvent();
+        }, 0);
+        
+    } else if (this.settings[handlerName] !== null) {
+        throw "Event handler " + handlerName + " is unknown or is not a function";
+    }
+};
+
+// Private: Causes the next event in the queue to be executed.  Since events are queued using a setTimeout
+// we must queue them in order to garentee that they are executed in order.
+SWFUpload.prototype.executeNextEvent = function () {
+    // Warning: Don't call this.debug inside here or you'll create an infinite loop
+
+    var  f = this.eventQueue ? this.eventQueue.shift() : null;
+    if (typeof(f) === "function") {
+        f.apply(this);
+    }
+};
+
+// Private: unescapeFileParams is part of a workaround for a flash bug where objects passed through ExternalInterface cannot have
+// properties that contain characters that are not valid for JavaScript identifiers. To work around this
+// the Flash Component escapes the parameter names and we must unescape again before passing them along.
+SWFUpload.prototype.unescapeFilePostParams = function (file) {
+    var reg = /[$]([0-9a-f]{4})/i;
+    var unescapedPost = {};
+    var uk;
+
+    if (file != undefined) {
+        for (var k in file.post) {
+            if (file.post.hasOwnProperty(k)) {
+                uk = k;
+                var match;
+                while ((match = reg.exec(uk)) !== null) {
+                    uk = uk.replace(match[0], String.fromCharCode(parseInt("0x" + match[1], 16)));
+                }
+                unescapedPost[uk] = file.post[k];
+            }
+        }
+
+        file.post = unescapedPost;
+    }
+
+    return file;
+};
+
+// Private: Called by Flash to see if JS can call in to Flash (test if External Interface is working)
+SWFUpload.prototype.testExternalInterface = function () {
+    try {
+        return this.callFlash("TestExternalInterface");
+    } catch (ex) {
+        return false;
+    }
+};
+
+// Private: This event is called by Flash when it has finished loading. Don't modify this.
+// Use the swfupload_loaded_handler event setting to execute custom code when SWFUpload has loaded.
+SWFUpload.prototype.flashReady = function () {
+    // Check that the movie element is loaded correctly with its ExternalInterface methods defined
+    var movieElement = this.getMovieElement();
+
+    if (!movieElement) {
+        this.debug("Flash called back ready but the flash movie can't be found.");
+        return;
+    }
+
+    this.cleanUp(movieElement);
+    
+    this.queueEvent("swfupload_loaded_handler");
+};
+
+// Private: removes Flash added fuctions to the DOM node to prevent memory leaks in IE.
+// This function is called by Flash each time the ExternalInterface functions are created.
+SWFUpload.prototype.cleanUp = function (movieElement) {
+    // Pro-actively unhook all the Flash functions
+    try {
+        if (this.movieElement && typeof(movieElement.CallFunction) === "unknown") { // We only want to do this in IE
+            this.debug("Removing Flash functions hooks (this should only run in IE and should prevent memory leaks)");
+            for (var key in movieElement) {
+                try {
+                    if (typeof(movieElement[key]) === "function") {
+                        movieElement[key] = null;
+                    }
+                } catch (ex) {
+                }
+            }
+        }
+    } catch (ex1) {
+    
+    }
+
+    // Fix Flashes own cleanup code so if the SWFMovie was removed from the page
+    // it doesn't display errors.
+    window["__flash__removeCallback"] = function (instance, name) {
+        try {
+            if (instance) {
+                instance[name] = null;
+            }
+        } catch (flashEx) {
+        
+        }
+    };
+
+};
+
+
+/* This is a chance to do something before the browse window opens */
+SWFUpload.prototype.fileDialogStart = function () {
+    this.queueEvent("file_dialog_start_handler");
+};
+
+
+/* Called when a file is successfully added to the queue. */
+SWFUpload.prototype.fileQueued = function (file) {
+    file = this.unescapeFilePostParams(file);
+    this.queueEvent("file_queued_handler", file);
+};
+
+
+/* Handle errors that occur when an attempt to queue a file fails. */
+SWFUpload.prototype.fileQueueError = function (file, errorCode, message) {
+    file = this.unescapeFilePostParams(file);
+    this.queueEvent("file_queue_error_handler", [file, errorCode, message]);
+};
+
+/* Called after the file dialog has closed and the selected files have been queued.
+    You could call startUpload here if you want the queued files to begin uploading immediately. */
+SWFUpload.prototype.fileDialogComplete = function (numFilesSelected, numFilesQueued, numFilesInQueue) {
+    this.queueEvent("file_dialog_complete_handler", [numFilesSelected, numFilesQueued, numFilesInQueue]);
+};
+
+SWFUpload.prototype.uploadStart = function (file) {
+    file = this.unescapeFilePostParams(file);
+    this.queueEvent("return_upload_start_handler", file);
+};
+
+SWFUpload.prototype.returnUploadStart = function (file) {
+    var returnValue;
+    if (typeof this.settings.upload_start_handler === "function") {
+        file = this.unescapeFilePostParams(file);
+        returnValue = this.settings.upload_start_handler.call(this, file);
+    } else if (this.settings.upload_start_handler != undefined) {
+        throw "upload_start_handler must be a function";
+    }
+
+    // Convert undefined to true so if nothing is returned from the upload_start_handler it is
+    // interpretted as 'true'.
+    if (returnValue === undefined) {
+        returnValue = true;
+    }
+    
+    returnValue = !!returnValue;
+    
+    this.callFlash("ReturnUploadStart", [returnValue]);
+};
+
+
+
+SWFUpload.prototype.uploadProgress = function (file, bytesComplete, bytesTotal) {
+    file = this.unescapeFilePostParams(file);
+    this.queueEvent("upload_progress_handler", [file, bytesComplete, bytesTotal]);
+};
+
+SWFUpload.prototype.uploadError = function (file, errorCode, message) {
+    file = this.unescapeFilePostParams(file);
+    this.queueEvent("upload_error_handler", [file, errorCode, message]);
+};
+
+SWFUpload.prototype.uploadSuccess = function (file, serverData, responseReceived) {
+    file = this.unescapeFilePostParams(file);
+    this.queueEvent("upload_success_handler", [file, serverData, responseReceived]);
+};
+
+SWFUpload.prototype.uploadComplete = function (file) {
+    file = this.unescapeFilePostParams(file);
+    this.queueEvent("upload_complete_handler", file);
+};
+
+/* Called by SWFUpload JavaScript and Flash functions when debug is enabled. By default it writes messages to the
+   internal debug console.  You can override this event and have messages written where you want. */
+SWFUpload.prototype.debug = function (message) {
+    this.queueEvent("debug_handler", message);
+};
+
+
+/* **********************************
+    Debug Console
+    The debug console is a self contained, in page location
+    for debug message to be sent.  The Debug Console adds
+    itself to the body if necessary.
+
+    The console is automatically scrolled as messages appear.
+    
+    If you are using your own debug handler or when you deploy to production and
+    have debug disabled you can remove these functions to reduce the file size
+    and complexity.
+********************************** */
+   
+// Private: debugMessage is the default debug_handler.  If you want to print debug messages
+// call the debug() function.  When overriding the function your own function should
+// check to see if the debug setting is true before outputting debug information.
+SWFUpload.prototype.debugMessage = function (message) {
+    if (this.settings.debug) {
+        var exceptionMessage, exceptionValues = [];
+
+        // Check for an exception object and print it nicely
+        if (typeof message === "object" && typeof message.name === "string" && typeof message.message === "string") {
+            for (var key in message) {
+                if (message.hasOwnProperty(key)) {
+                    exceptionValues.push(key + ": " + message[key]);
+                }
+            }
+            exceptionMessage = exceptionValues.join("\n") || "";
+            exceptionValues = exceptionMessage.split("\n");
+            exceptionMessage = "EXCEPTION: " + exceptionValues.join("\nEXCEPTION: ");
+            SWFUpload.Console.writeLine(exceptionMessage);
+        } else {
+            SWFUpload.Console.writeLine(message);
+        }
+    }
+};
+
+SWFUpload.Console = {};
+SWFUpload.Console.writeLine = function (message) {
+    var console, documentForm;
+
+    try {
+        console = document.getElementById("SWFUpload_Console");
+
+        if (!console) {
+            documentForm = document.createElement("form");
+            document.getElementsByTagName("body")[0].appendChild(documentForm);
+
+            console = document.createElement("textarea");
+            console.id = "SWFUpload_Console";
+            console.style.fontFamily = "monospace";
+            console.setAttribute("wrap", "off");
+            console.wrap = "off";
+            console.style.overflow = "auto";
+            console.style.width = "700px";
+            console.style.height = "350px";
+            console.style.margin = "5px";
+            documentForm.appendChild(console);
+        }
+
+        console.value += message + "\n";
+
+        console.scrollTop = console.scrollHeight - console.clientHeight;
+    } catch (ex) {
+        alert("Exception: " + ex.name + " Message: " + ex.message);
+    }
+};
+
+exports.SWFUpload = SWFUpload;
+});
+define("js/home/comment", ["jquery"], function(require, exports, module){
+/**
+ * 我的评论
+ * @author: yyqing<yanqing.yang@yoho.cn>
+ * @date: 2016/3/1
+ */
+var $ = require("jquery");
+
+var $comment = $('.comment-table'),
+    $remarkBtn = $comment.find('.remark-btn');
+
+var $dialog = $('#comment-dialog-widget'),
+    $titleBar = $dialog.find('.dialog-titlebar'),
+    $commentArea = $dialog.find('textarea');
+
+var pageW = $(document).width(),
+    pageH = $(document).height(),
+    winH = $(window).height();
+
+var dialog = {
+        canmove: false,
+        offset: {},
+        maxtop: 0,
+        maxleft: 0
+    },
+    orderInfo = {},
+    $optDom;
+
+// 处理订单数据
+$remarkBtn.each(function() {
+    var $next = $(this).next(),
+        data = $next.data(),
+        key = data.orderid;
+
+    orderInfo[key] = {};
+    orderInfo[key].productSkn = data.productskn;
+    orderInfo[key].productId = data.productid;
+    orderInfo[key].goodsId = data.goodsid;
+    orderInfo[key].orderId = data.orderid;
+    orderInfo[key].erpSkuId = data.erpskuid;
+
+    $next.remove();
+    $(this).data('code', key);
+});
+
+$remarkBtn.click(function() {
+    var scrollTop = $(document).scrollTop();
+
+    $optDom = $(this);
+    $commentArea.val('');
+    $dialog.removeClass('hide').css({
+        top: scrollTop + (winH - $dialog.outerHeight()) / 2,
+        left: (pageW - $dialog.outerWidth()) / 2
+    });
+});
+
+// 评论弹窗
+$titleBar.bind('mousedown', function(e) {
+    if ($(e.target).hasClass('dialog-close-btn')) {
+        return;
+    }
+
+    dialog.canmove = true;
+    dialog.offset = {
+        x: e.offsetX,
+        y: e.offsetY
+    };
+    dialog.maxtop = pageH - $dialog.outerHeight();
+    dialog.maxleft = pageW - $dialog.outerWidth();
+});
+
+$(document).mousemove(function(e) {
+    var mtop, mleft;
+
+    if (!dialog.canmove) {
+        return;
+    }
+
+    mtop = e.pageY - dialog.offset.y;
+    mleft = e.pageX - dialog.offset.x;
+    mtop = mtop < dialog.maxtop ? mtop : dialog.maxtop;
+    mleft = mleft < dialog.maxleft ? mleft : dialog.maxleft;
+    $dialog.css({
+        top: mtop > 0 ? mtop : 0,
+        left: mleft > 0 ? mleft : 0
+    });
+}).mouseup(function(e) {
+    dialog.canmove = false;
+});
+
+$dialog.on('click', '.dialog-save-btn', function() {
+    var remark = $.trim($commentArea.val()),
+        param;
+
+    if (remark === '') {
+        alert('请添加评论内容');
+        return;
+    }
+    if ($optDom.length) {
+        param = orderInfo[$optDom.data().code];
+        param.content = remark;
+
+        $.ajax({
+            type: 'POST',
+            url: '/home/comment/saveComment',
+            data: param
+        }).then(function(jsonData) {
+            var $par = $optDom.parent();
+
+            if (jsonData.code === 200) {
+                $par.prev().text(remark);
+                $par.html('<span class="remarked">已评论!</span>');
+                $optDom.length = 0;
+                $dialog.addClass('hide');
+            } else {
+                alert(jsonData.message);
+            }
+        });
+    }
+});
+
+$dialog.on('click', '.dialog-close-btn', function() {
+    $optDom.length = 0;
+    $dialog.addClass('hide');
+});
+});
+define("js/home/complaints", ["jquery"], function(require, exports, module){
+/**
+ * 我的投诉
+ * @author: yyqing<yanqing.yang@yoho.cn>
+ * @date: 2016/3/18
+ */
+
+var $ = require("jquery");
+
+var $cancelBtn = $('.cancel-btn'),
+    $title = $('#title'),
+    $customer = $('#customer'),
+    $complaintsType = $('#complaintsType'),
+    $orderCode = $('#orderCode'),
+    $content = $('#content');
+
+var ajaxing = false;
+var rule = {
+        title: {
+            dom: $title,
+            min: 1,
+            max: 10,
+            onshow: '请输入您的投诉主题',
+            onfocus: '请输入主题',
+            onmin: '投诉主题不能为空',
+            onmax: '输入投诉主题不能超过10个字'
+        },
+        customer: {
+            dom: $customer,
+            min: 1,
+            max: 10,
+            onshow: '请填写您要投诉的对象,比如:客服00*号、发货员...',
+            onfocus: '请填写您要投诉的对象',
+            onmin: '投诉对象不能为空',
+            onmax: '输入投诉对象不能超过10个字'
+        },
+        orderCode: {
+            dom: $orderCode,
+            regexp: /^([0-9,]{9,})$/, //一个和多个订单
+            onshow: '如果多个是多个订单号,请用英文逗号隔开,没有则不填',
+            onfocus: '请输入订单号',
+            onerror: '您输入的订单格式不对,如果多个是多个订单号,请用英文逗号隔开'
+        },
+        content: {
+            dom: $content,
+            min: 1,
+            max: 130,
+            onshow: '输入您投诉的内容',
+            onfocus: '请输入您投诉的内容',
+            onmin: '投诉内容不能为空',
+            onmax: '输入的投诉内容不能超过130个字'
+        }
+    };
+
+function preventResubmit() {
+    if (!ajaxing) {
+        ajaxing = true;
+        setTimeout(function() {
+            ajaxing = false;
+        }, 1000);
+        return false;
+    }
+    return true;
+}
+
+function validate(info) {
+    var $tips = info.dom.siblings('.option-tip'),
+        val = $.trim(info.dom.val()),
+        len = val.length;
+
+    if (info.min && len < info.min) {
+        $tips.text(info.onmin);
+        return false;
+    } else if (info.max && len > info.max) {
+        $tips.text(info.onmax);
+        return false;
+    }
+
+    if (info.regexp && !info.regexp.test(val)) {
+        $tips.text(info.onerror);
+        return false;
+    }
+
+    $tips.text('输入正确');
+    return true;
+}
+
+function validateForm() {
+    var res = {},
+        focus;
+
+    $.each(rule, function(key, info) {
+        if (validate(info)) {
+            res[key] = $.trim(info.dom.val());
+        } else {
+            if (!focus) {
+                focus = key;
+                info.dom.focus();
+            }
+        }
+    });
+    res.complaintsType = $complaintsType.val();
+
+    if (focus) {
+        return false;
+    }
+    return res;
+}
+
+function addComplaint() {
+    var sendParm = validateForm();
+
+    if (preventResubmit() || !sendParm) {
+        return;
+    }
+
+    $.ajax({
+        type: 'POST',
+        url: '/home/complaints/addcomplaints',
+        data: sendParm
+    }).then(function(jsonData) {
+        ajaxing = false;
+        if (jsonData.code === 200) {
+            window.location.reload();
+        } else {
+            alert(jsonData.message);
+        }
+    });
+}
+
+function cancelComplaint(id, dom) {
+    var $dom = dom;
+
+    if (preventResubmit()) {
+        return;
+    }
+
+    $.ajax({
+        type: 'POST',
+        url: '/home/complaints/cancelcomplaints',
+        data: {
+            id: id
+        }
+    }).then(function(jsonData) {
+        ajaxing = false;
+        if (jsonData.code === 200) {
+            $dom.prev().remove();
+            $dom.text('问题已撤销');
+        } else {
+            alert(jsonData.message);
+        }
+    });
+}
+
+$.each(rule, function(key, info) {
+    info.dom.focus(function() {
+        info.dom.siblings('.option-tip').text(info.onfocus);
+    }).blur(function() {
+        validate(info);
+    });
+});
+
+$('#complaint-submit').click(function() {
+    addComplaint();
+});
+
+$cancelBtn.click(function() {
+    var data = $(this).data();
+
+    if (data && data.id) {
+        cancelComplaint(data.id, $(this).parent());
+    }
+});
+});
+define("js/home/message", ["jquery"], function(require, exports, module){
+/**
+ * 我的信息
+ * @author: yyqing<yanqing.yang@yoho.cn>
+ * @date: 2016/3/21
+ */
+var $ = require("jquery");
+
+var $container = $('#message-main-container'),
+    $msgCheck = $container.find('.msg-check'),
+    $readBtn = $container.find('.read-choose-btn'),
+    $checked;
+
+var operationId = [];
+
+require("js/home/message-content");
+
+function hasNew() {
+    var newMsg = false;
+
+    $checked = $container.find('.msg-check:checked');
+    operationId = [];
+
+    $checked.each(function() {
+        var $par = $(this).parent().parent();
+
+        operationId.push($(this).val());
+        if ($par.hasClass('new-msg')) {
+            newMsg = true;
+        }
+    });
+
+    if (newMsg) {
+        $readBtn.addClass('has-new');
+    } else {
+        $readBtn.removeClass('has-new');
+    }
+}
+
+function msgOperation(type, data) {
+    var url;
+
+    switch (type) {
+        case 'del':
+            url = '/home/message/delMessage';
+            break;
+        case 'read':
+            url = '/home/message/readMessage';
+            break;
+    }
+
+    $.ajax({
+        type: 'GET',
+        url: url,
+        data: data
+    }).then(function(jsonData) {
+        if (!jsonData.code) {
+            if (type === 'del') {
+                $container.html(jsonData);
+                $msgCheck = $container.find('.msg-check');
+                $readBtn = $container.find('.read-choose-btn');
+            }
+        } else {
+            if (jsonData.code === 200) {
+                if (type === 'read') {
+                    $checked.removeAttr('checked');
+                    $checked.parent().parent().removeClass('new-msg');
+                    hasNew();
+                }
+            } else {
+                alert(jsonData.message);
+            }
+        }
+    });
+}
+
+$container.on('change', 'input[type="checkbox"]', function() {
+    var checked = $(this).attr('checked');
+
+    if ($(this).hasClass('choose-all')) {
+        if (checked === 'checked') {
+            $msgCheck.attr('checked', true);
+        } else {
+            $msgCheck.removeAttr('checked');
+        }
+    }
+    hasNew();
+});
+
+$container.on('click', '.del-btn', function() {
+    if (confirm('您确定要删除这条短消息?')) {
+        msgOperation('del', $(this).data());
+    }
+});
+
+$container.on('click', '.del-choose-btn', function() {
+    if (!operationId.length) {
+        alert('请选中您要删除的消息');
+        return;
+    }
+
+    if (confirm('确定要删除您选中的消息')) {
+        msgOperation('del', {
+            id: operationId.join(',')
+        });
+    }
+});
+
+$container.on('click', '.read-choose-btn', function() {
+    if ($(this).hasClass('has-new')) {
+        msgOperation('read', {
+            id: operationId.join(',')
+        });
+    }
+});
+});
+define("js/home/message-content", ["jquery"], function(require, exports, module){
+/**
+ * 我的信息
+ * @author: yyqing<yanqing.yang@yoho.cn>
+ * @date: 2016/3/25
+ */
+var $ = require("jquery");
+
+var $pickBtn = $('.pick-coupon-btn');
+
+var pickBusy = false;
+
+$pickBtn.click(function() {
+    var data = $(this).data();
+
+    if (pickBusy) {
+        return;
+    }
+    pickBusy = true;
+    $.ajax({
+        type: 'GET',
+        url: '/home/message/pickCoupon',
+        data: data
+    }).then(function(jsonData) {
+        var msg = jsonData.message;
+
+        if (jsonData.code === 200) {
+            msg = '领取成功';
+            $(this).removeClass('pick-coupon-btn');
+        }
+
+        pickBusy = false;
+
+        alert(msg);
+    });
+});
+});
+define("js/home/edit", ["jquery","handlebars","source-map"], function(require, exports, module){
+/**
+ * 个人中心页-个人资料编辑
+ * @author: zhaobiao<bill.zhao@yoho.cn>
+ * @date: 2016/02/17
+ */
+var $ = require("jquery");
+
+var $allEditForms = $('.userinfo-edit form');
+
+var address = require("js/home/common-address");
+
+var date = {
+    init: function(year, month, day) {
+        var $year = $('#year'),
+            $month = $('#month'),
+            $day = $('#day');
+
+        var that = this;
+
+        this.createDay($year.val(), $month.val(), $day.val());
+
+        $year.on('change', function() {
+            that.update();
+        });
+
+        $month.on('change', function() {
+            that.update();
+        });
+    },
+    update: function() {
+        this.createDay($('#year').val(), $('#month').val(), $('#day').val());
+    },
+    createDay: function(year, month, day) {
+        var html = '<select name="day" id="day">',
+            monthArray = new Array(4, 6, 9, 11),
+            dayNum = 31;
+
+        var select,
+            i;
+
+        year = parseInt(year);
+        month = parseInt(month);
+
+        if (year === 0) {
+            year = 0;
+        }
+
+        if (month === 0) {
+            month = 0;
+        }
+
+        $('#year').val(year.toString());
+        $('#month').val(month.toString());
+
+        html += '<option value="0">日</option>';
+
+        if (year > 0 && month > 0) {
+            if ($.inArray(month, monthArray) !== -1) {
+                dayNum = 30;
+            } else if (month === 2) {
+                dayNum = 28;
+                if (0 === year % 4 && (year % 100 !== 0 || year % 400 === 0)) {
+                    dayNum = 29;
+                }
+            }
+
+            for (i = 1; i <= dayNum; i++) {
+                select = '';
+
+                if (parseInt(day) === i) {
+                    select = 'selected';
+                }
+                html += '<option value="' + i + '" ' + select + '>' + i	+ '</option>';
+            }
+        }
+        html += '</select>';
+
+        $('#day').replaceWith(html);
+    }
+};
+
+
+$('.userinfo-edit h2').on('click', function() {
+    var $form = $(this).next();
+
+    $allEditForms.slideUp('fast');
+    $form.css('display') === 'none' ? $form.slideDown('slow') : null;
+
+});
+
+function checkBaseForm() {
+    var nicknameLength = $('#nickname').val().length,
+        usernameLength = $('#username').val().length,
+        $gender = $('input[name="gender"]'),
+        $year = $('#year'),
+        $month = $('#month'),
+        $day = $('#day');
+
+    if (nicknameLength === 0) {
+        alert('请输入昵称');
+        return false;
+    }
+
+    if (usernameLength === 0) {
+        alert('请输入用户名');
+        return false;
+    }
+
+    if (nicknameLength >= 20) {
+        alert('昵称最长为20个字符');
+        return false;
+    }
+
+
+    if (!$gender.is(':checked')) {
+        alert('请选择性别');
+        return false;
+    }
+
+    if ($year.val() === '0' || $month.val() === '0' || $day.val() === '0') {
+        alert('请选择出生年月日');
+        return false;
+    }
+
+    return true;
+}
+
+function checkContactForm() {
+    if ($('#province').val() === '0' || $('#city').val() === '0' || $('#areaCode').val() === '0') {
+        alert('请选择所在区域');
+        return false;
+    }
+
+    if ($('#province').val() === null || $('#city').val() === null || $('#areaCode').val() === null) {
+        alert('请选择所在区域');
+        return false;
+    }
+
+    if ($('#phone').val().length === 0 && $('#mobile').val().length === 0) {
+        alert('电话和手机号码不能同时为空,请填写!');
+        return false;
+    }
+
+
+    if ($('#fullAddress').val().length === 0) {
+        alert('请填写地址');
+        return false;
+    }
+
+    if ($('#zipCode').val().length === 0 || $('#zipCode').val().length < 2) {
+        alert('请填写邮编');
+        return false;
+    }
+
+    return true;
+}
+
+function checkHabbitForm() {
+    if (!$('.user-habbit-info input').is(':checked')) {
+        alert('请填写购物&着装习惯');
+        return false;
+    }
+
+    return true;
+}
+
+function checkFavoriteForm() {
+    if ($('#likebrand').val() === '') {
+        alert('请选择品牌');
+        return false;
+    }
+
+    return true;
+}
+
+function delBrand(brandId) {
+    var brand = $('#likebrand').val();
+
+    if (parseInt(brandId) === 0) {
+        return false;
+    }
+
+    $('#likebrand').val(brand.replace(',' + brandId + ',', ','));
+    $('#pp-' + brandId).attr('checked', false);
+    $('#brand-' + brandId).remove();
+}
+
+
+
+function addBrand(domObj, brandId, brandName) {
+    var html = '<li id="brand-' + brandId + '">' +
+                brandName + '<a href="javascript:void(0);" class="btn-del"></a></li>';
+
+    var brandInfo = $('#brand-' + brandId).html(),
+        brandStr = $('#likebrand').val();
+
+    var $brandBox = $('#brand-box');
+
+    if (parseInt(brandId) === 0) {
+        return false;
+    }
+
+    if (typeof domObj !== 'undefined' && domObj !== '' && domObj.checked === false) {
+        delBrand(brandId);
+        return false;
+    }
+    if (brandInfo) {
+        alert('您已经选择了该品牌.');
+        return false;
+    }
+    $brandBox.append(html);
+
+    $brandBox.find('li>a').off('click').on('click', function() {
+        delBrand($(this).closest('li').attr('id').substr(6));
+    });
+
+    brandStr += brandId + ',';
+    $('#likebrand').val(brandStr);
+}
+
+function checkBrand() {
+    var postData = {
+            brandName: $('#keywords').val()
+        };
+
+    $.post('/home/user/isbrandname', postData, function(data) {
+        if (data.code === 200) {
+            if (data.data.id && data.data.brand_name) {
+                addBrand('', data.data.id, data.data.brand_name);
+                $('#keywords').val('');
+                return true;
+            } else {
+                alert('网络异常,请重试');
+                return false;
+            }
+        }
+        alert(data.message);
+        return false;
+    }, 'json');
+}
+
+function save(postUrl, btnId) {
+    var $form = $('#' + btnId).closest('form');
+
+    $.post(postUrl, $form.serialize(), function(data) {
+        if (data.code === 200) {
+            alert(data.message);
+            setTimeout(function() {
+                $form.closest('div').next().find('h2').click();
+            }, 100);
+            return true;
+        }
+        alert(data.message);
+        return false;
+    }, 'json');
+}
+
+
+$('#base-info').on('click', function() {
+    if (checkBaseForm()) {
+        save('/home/user/edituserinfo/', 'base-info');
+    }
+});
+
+$('#contact-info').on('click', function() {
+    if (checkContactForm()) {
+        save('/home/user/editusercontactinfo/', 'contact-info');
+    }
+});
+
+$('#shopping-info').on('click', function() {
+    if (checkHabbitForm()) {
+        save('/home/user/edituserhabitsinfo/', 'shopping-info');
+    }
+});
+
+$('#favorite-brand').on('click', function() {
+    if (checkFavoriteForm()) {
+        $.ajax({
+            url: '/home/user/edituserlikebrand/',
+            type: 'post',
+            datatype: 'json',
+            data: {
+                brand: $('#likebrand').val()
+            },
+            success: function(data) {
+                if (data.code === 200) {
+                    alert(data.message);
+                    return true;
+                }
+                alert(data.message);
+                return false;
+            },
+            error: function(err) {
+                alert('网络异常');
+            }
+        });
+    }
+});
+
+$('#add-brand-btn').on('click', function() {
+    checkBrand();
+});
+
+$('.user-favorite-info input[type="checkbox"]').on('click', function() {
+    var $this = $(this);
+
+    addBrand(this, $this.attr('id').substr(3), $this.parent().text());
+});
+
+(function() {
+    var $brands = $('#brand-box li');
+
+    if ($brands.length > 0) {
+        $brands.find('a').on('click', function() {
+            delBrand($(this).closest('li').attr('id').substr(6));
+        });
+    }
+})();
+
+date.init();
+
+(function() {
+    if (!$('#province').val()) {
+        address.loadAllData(0, {
+            provinceDomId: 'province',
+            cityDomId: 'city',
+            areaDomId: 'areaCode'
+        });
+    } else {
+        address.bindAreaChange({
+            provinceDomId: 'province',
+            cityDomId: 'city',
+            areaDomId: 'areaCode'
+        });
+    }
+})();
+
+});
+define("js/home/gift", ["jquery","handlebars","source-map"], function(require, exports, module){
+/**
+ * 个人中心页-兑换礼品卡
+ * @author: wsl<shuiling.wang@yoho.cn>
+ * @date: 2016/02/22
+ */
+var $ = require("jquery"),
+    dialog = require("js/common/dialog"),
+    Alert = dialog.Alert;
+
+var $giftError = $('.giftCardCode').find('.gift-error'),
+    $codeError = $('.captchaCode').find('.gift-error'),
+    reg = '',
+    code = '',
+    i = 1;
+
+var active;
+
+var Gift = {
+    suc: [
+        false,
+        false,
+        false,
+        false
+    ],
+    checkCard: function(num) {
+        reg = /^[0-9a-zA-Z]{4,4}$/;
+
+        if (!reg.test($('#giftCardCode' + num).val())) {
+            $giftError.html('您输入的兑换码有误,兑换码必须为数字或字母,每个文本框里只能输入四个兑换码!');
+            Gift.suc[num - 1] = false;
+        } else {
+            for (i = 1; i <= 3; i++) {
+                if (!reg.test($('#giftCardCode' + i).val())) {
+                    $giftError.html('您输入的兑换码有误,兑换码必须为数字或字母,每个文本框里只能输入四个兑换码!');
+                    Gift.suc[i] = false;
+                } else {
+                    $giftError.html('');
+                    Gift.suc[i] = true;
+                }
+            }
+
+            if (num !== 3) {
+                $('#giftCardCode' + (num + 1)).focus();
+            }
+        }
+    },
+    bindGiftCardForm: function() {
+        $('#giftCardCode1').bind('blur keyup', function() {
+            Gift.checkCard(1);
+        });
+
+        $('#giftCardCode2').bind('blur keyup', function() {
+            Gift.checkCard(2);
+        });
+
+        $('#giftCardCode3').bind('blur keyup', function() {
+            Gift.checkCard(3);
+        });
+
+        $('#captchaCode').bind('blur keyup', function() {
+            code = $('#captchaCode').val();
+
+            if (code.length <= 0) {
+                $codeError.html('请输入验证码!');
+                Gift.suc[3] = false;
+            } else {
+                $codeError.html('');
+                Gift.suc[3] = true;
+            }
+        });
+    },
+
+    checkForm: function() {
+        if (!reg.test($('#giftCardCode1').val()) || !reg.test($('#giftCardCode2').val()) ||
+            !reg.test($('#giftCardCode3').val())) {
+            $giftError.html('您输入的兑换码有误,兑换码必须为数字或字母,每个文本框里只能输入四个兑换码!');
+            return false;
+        }
+
+        if ($.trim($('#captchaCode').val()) === '') {
+            $codeError.html('请输入验证码!');
+            return false;
+        }
+        return true;
+    }
+};
+
+//更换验证码
+function refreshCaptcha() {
+    var dt = new Date();
+
+    $('#imgcode').attr('src', '/passport/images?t=' + dt.getTime());
+    return false;
+}
+
+$('#sub-gift').on('click', function() {
+    if (Gift.checkForm()) {
+        $.post('/home/gift/exchange', $('#giftCardForm').serialize(), function(data) {
+            if (data.code === 200) {
+                window.location.href = '/home/gift?type=1';
+            } else if (data.code === 400) {
+                active = new Alert(data.message);
+                active.show();
+                refreshCaptcha();
+            } else {
+                window.location.href = '/home/gift?type=2';
+            }
+        }, 'json');
+    } else {
+        return false;
+    }
+});
+
+$(document).on('click', '#imgcode,.check-img', function() {
+    refreshCaptcha();
+});
+
+$(function() {
+    refreshCaptcha();
+    Gift.bindGiftCardForm();
+});
+});
+define("js/home/validate", ["jquery","handlebars","source-map"], function(require, exports, module){
+/**
+ * 个人中心页-账号安全验证
+ * @author:wsl<shuiling.wang@yoho.cn>
+ * @date: 2016/02/23
+ */
+var $ = require("jquery"),
+    dialog = require("js/common/dialog"),
+    phoneRegx = require("js/passport/mail-phone-regx"),
+    Alert = dialog.Alert;
+
+var $checkUser = $('.check-user'),
+    $checkInput = $checkUser.find('input').not('input[type=button],input[type=hidden],input[type=reset]'),
+    canSend = true,
+    canFlag = true,
+    stime = 60;
+
+var sInt,
+    active;
+
+$.ajaxSetup({
+    async: false
+});
+
+if (!Array.prototype.indexOf) {
+    Array.prototype.indexOf = function(obj, start) {
+        var i,
+            j;
+
+        for (i = (start || 0), j = this.length; i < j; i++) {
+            if (this[i] === obj) {
+                return i;
+            }
+        }
+
+        return -1;
+    };
+}
+
+function errorInfoAction(opt, txt) {
+    opt.$checkInfo.html('<div class="form-error">' + txt + '</div>');
+    if (opt.dom.attr('name') !== 'code' && opt.dom.attr('name') !== 'verifyCode') {
+        opt.dom.addClass('input-error');
+    }
+    return false;
+}
+
+function successInfoAction(opt) {
+    opt.$checkInfo.html('<div class="form-success">&nbsp;</div>');
+
+    if (opt.dom.attr('name') !== 'code' && opt.dom.attr('name') !== 'verifyCode') {
+        opt.dom.removeClass('input-error');
+    }
+    return true;
+}
+
+function checkFormAjax(ajaxData) {
+    var res;
+
+    $.post(ajaxData.url, ajaxData.data, function(data) {
+        if (typeof data.code !== 'undefined' && data.code === 200) {
+            res = successInfoAction(ajaxData.opt);
+        } else {
+            ajaxData.txt = ajaxData.txt !== '' && ajaxData.txt !== null ? ajaxData.txt : data.message;
+            res = errorInfoAction(ajaxData.opt, ajaxData.txt);
+        }
+    });
+
+    return res;
+}
+
+// 身份校验
+function checkForm(dom) {
+    var val = dom.val(),
+        len = val.length,
+        $domParent = dom.parent(),
+        $checkInfo = $domParent.find('.check-info'),
+        inputName = dom.attr('name'),
+        regular = '',
+        text = '',
+        mobileValue = '',
+        opt = {
+            $checkInfo: $checkInfo,
+            dom: dom
+        },
+        ajaxData = {
+            opt: opt
+        };
+
+    $checkInfo.html('');
+
+    if (inputName === 'password') {
+        if (len === 0) {
+            return errorInfoAction(opt, '密码不能为空!');
+        } else {
+            $.extend(ajaxData, {
+                url: '/home/account/checkpassword',
+                data: {
+                    password: val
+                },
+                txt: '密码错误!'
+            });
+            return checkFormAjax(ajaxData);
+        }
+    } else if (inputName === 'verifyCode') {
+        $.extend(ajaxData, {
+            url: '/home/account/checkverifycode',
+            data: {
+                verifyCode: val
+            },
+            txt: '验证码错误!'
+        });
+        return checkFormAjax(ajaxData);
+    } else if (inputName === 'email') {
+        regular = phoneRegx.emailRegx;
+
+        if (val.match(regular) === null) {
+            return errorInfoAction(opt, '邮箱错误!');
+        } else {
+            $.extend(ajaxData, {
+                url: '/home/account/checkemail',
+                data: {
+                    email: val
+                },
+                txt: ''
+            });
+            return checkFormAjax(ajaxData);
+        }
+    } else if (inputName === 'mobile') {
+        regular = phoneRegx.phoneRegx;
+        text = val.split('-');
+
+        if (text.length === 1) {
+            regular = val.match('^1[35847]{1}[0-9]{9}');
+        } else {
+            regular = regular['+' + text[0]].test(text[1]);
+        }
+
+        if (len === 0) {
+            return errorInfoAction(opt, '手机号不能为空!');
+        } else if (regular === null || !regular) {
+            return errorInfoAction(opt, '手机号错误!');
+        } else {
+            $.extend(ajaxData, {
+                url: '/home/account/checkmobile',
+                data: {
+                    mobile: val
+                },
+                txt: '手机号已经存在!'
+            });
+            return checkFormAjax(ajaxData);
+        }
+    } else if (inputName === 'newPwd') {
+        regular = phoneRegx.pwdValidateRegx;
+
+        if (!regular.test(val)) {
+            return errorInfoAction(opt, '建议6~20个数字+字母组合!');
+        } else {
+            return successInfoAction(opt);
+        }
+    } else if (inputName === 'confirm_password') {
+        if ($('#newPwd').val() !== val) {
+            return errorInfoAction(opt, '两次密码不一致!');
+        } else {
+            return successInfoAction(opt);
+        }
+
+        // else if ($('#newPwd').val() !== '') {
+        //     $('#newPwd').next().html('<div class="form-success">&nbsp;</div>');
+        //     return successInfoAction(opt);
+        // }
+    } else if (inputName === 'code') {
+        mobileValue = $('#realAccount').length > 0 ? $('#realAccount').val() : $('#mobilevalue').val();
+
+        if (val !== '') {
+            $.extend(ajaxData, {
+                url: '/home/account/checkmobilemsg',
+                data: {
+                    mobile: mobileValue,
+                    code: $('#inputcode').val()
+                },
+                txt: '验证码错误!'
+            });
+            return checkFormAjax(ajaxData);
+        }
+    } else {
+        return true;
+    }
+}
+
+// 校验表单
+function checkAllForm() {
+    var arr = [];
+
+    canFlag = false;
+
+    $.each($checkInput, function(key, item) {
+        arr[key] = checkForm($(item));
+    });
+
+    if (arr.indexOf(false) >= 0) {
+        return false;
+    } else {
+        return true;
+    }
+}
+
+// 切换验证码
+function changeCode() {
+    var timestamp = (new Date()).getTime();
+
+    $('#the-code-img').attr('src', '/passport/images?len=6&time=' + timestamp);
+}
+
+// 重新发送倒计时
+function code() {
+    var sstring = '';
+
+    if (stime > 0) {
+        sstring = '重新发送' + stime + '秒';
+        $('#sendButton').text(sstring);
+        stime = stime - 1;
+    } else {
+        stime = 60;
+        $('#sendButton').text('发送验证码');
+        clearInterval(sInt);
+        canSend = true;
+    }
+}
+
+// 发送手机验证码ajax请求
+function sendMobileMsg(mobileV) {
+    var $code = $('#inputcode'),
+        $ccheckInfo = $code.parent().find('check-info');
+
+    $.post('/home/account/sendmobilemsg', {
+        mobile: mobileV
+    }, function(data) {
+        if (typeof data.code !== 'undefined' && data.code === 200) {
+            canSend = false;
+            sInt = setInterval(function() {
+                code();
+            }, 1000);
+            $ccheckInfo.html('');
+        } else {
+            $ccheckInfo.html('<div class="form-error">验证码发送失败</div>');
+        }
+    });
+}
+
+// 发送手机验证码
+function sendcode() {
+    var $mobile = $('#mobilevalue');
+
+    var $mcheckInfo,
+        mobileV,
+        mobileObj;
+
+    if ($mobile.length > 0) {
+        $mcheckInfo = $mobile.next(),
+        mobileV = $mobile.val(),
+        mobileObj = mobileV.split('-');
+
+        if (mobileObj.length === 1) {
+            mobileObj = mobileV.match('^1[35847]{1}[0-9]{9}');
+        } else {
+            mobileObj = phoneRegx.phoneRegx['+' + mobileObj[0]].test(mobileObj[1]);
+        }
+    } else {
+        mobileV = $('#realAccount').val();
+    }
+
+    if (canSend) {
+        if ($mobile.length > 0) {
+            if (mobileObj === null || !mobileObj) {
+                $mcheckInfo.html('<div class="form-error">手机号错误!</div>');
+                $mobile.addClass('input-error');
+                return false;
+            }
+
+            if ($mcheckInfo.find('.form-success').length > 0) {
+                sendMobileMsg(mobileV);
+            }
+        }
+
+        if ($('#realAccount').length > 0) {
+            sendMobileMsg(mobileV);
+        }
+    } else {
+        return false;
+    }
+}
+
+// 验证完成后倒计时跳转
+function toHome() {
+    window.location.href = '/home/account';
+}
+
+// ajax公共处理模块
+function ajaxAction(opt, flag) {
+    $.post(opt.url, opt.data, function(data) {
+        if (data.code === 200) {
+            if (flag) {
+                opt.hrefUrl += '&checkCode=' + data.data;
+            }
+            window.location.href = opt.hrefUrl;
+        } else {
+            canFlag = true;
+            active = new Alert(data.message);
+            active.show();
+            return false;
+        }
+    }, 'json');
+}
+
+// 提交表单
+function submitForm() {
+    var step = $('.progress-bar .cur').index(),
+        verifyType = $('#verifyType').val(),
+        curType = '',
+        opt = {};
+
+    if ($('.email').length > 0) {
+        curType = 'email';
+    }
+
+    if ($('.mobile').length > 0) {
+        curType = 'mobile';
+    }
+
+    if ($('.userpwd').length > 0) {
+        curType = 'userpwd';
+    }
+
+    /*
+     * step 0: 验证身份 1:验证第二步骤 2:验证第三步骤
+     * verifyType 验证身份的状态 1:登录密码验证 2:邮箱的身份验证 3:手机的身份验证
+     */
+    if (step === 0) {
+        if (verifyType === '1') {
+            opt = {
+                url: '/home/account/verifypassword',
+                data: $('#pwdform').serialize(),
+                hrefUrl: '/home/account/' + curType + '?step=2'
+            };
+
+            ajaxAction(opt, 'step1');
+
+            // if (!ajaxAction(opt)) {
+            //     $("input[type=reset]").trigger("click");
+            // }
+        } else if (verifyType === '2') {
+            opt = {
+                url: '/home/account/sendemail',
+                data: {
+                    checkType: curType,
+                    email: $('#realAccount').val()
+                },
+                hrefUrl: '/home/account/sendemailsuccess?email=' + $('#realAccount').val() +
+                        '&type=1&checkType=' + curType
+            };
+            ajaxAction(opt);
+        } else {
+            opt = {
+                url: '/home/account/checkmobilemsg',
+                data: {
+                    mobile: $('#realAccount').val(),
+                    code: $('#inputcode').val()
+                },
+                hrefUrl: '/home/account/' + curType + '?step=2'
+            };
+            ajaxAction(opt, 'step1');
+        }
+    } else if (step === 1) {
+        if (curType === 'userpwd') {
+            opt = {
+                url: '/home/account/modifypwd',
+                data: $('#pwdform').serialize(),
+                hrefUrl: '/home/account/userpwd?step=3&success=true'
+            };
+            ajaxAction(opt);
+        } else if (curType === 'email') {
+            opt = {
+                url: '/home/account/modifyemail',
+                data: {
+                    email: $('#email').val()
+                },
+                hrefUrl: '/home/account/sendemailsuccess?email=' + $('#email').val() +
+                        '&type=2&checkType=email'
+            };
+            ajaxAction(opt);
+        } else {
+            opt = {
+                url: '/home/account/modifymobile',
+                data: {
+                    mobile: $('#mobilevalue').val(),
+                    code: $('#inputcode').val()
+                },
+                hrefUrl: '/home/account/mobile?step=3&success=true'
+            };
+            ajaxAction(opt);
+        }
+    }
+}
+
+$(function() {
+    var t = null;
+
+    if ($('.res-info').length > 0) {
+        t = setTimeout(function() {
+            toHome();
+        }, 5000);
+    }
+
+    changeCode();
+
+    $('#pwdform').submit(function() {
+        return false;
+    });
+
+    $checkInput.blur(function() {
+        checkForm($(this));
+    });
+
+    $('.sub-btn').on('click', function() {
+        if (canFlag === false) {
+            return false;
+        }
+
+        if (checkAllForm()) {
+            submitForm();
+        } else {
+            return false;
+        }
+    });
+
+    $('input[name=verifyCode]').keydown(function(e) {
+        if (e.keyCode === 13) {
+            if (canFlag === false) {
+                return false;
+            }
+
+            if (checkAllForm()) {
+                submitForm();
+            } else {
+                return false;
+            }
+        }
+    });
+
+    $('.the-code').on('click', function() {
+        changeCode();
+    });
+
+    $('#send-mobile-code').on('click', function() {
+        sendcode();
+    });
+
+    if ($('#newPwd').length > 0) {
+        $('#newPwd').on('input', function(e) {
+            var $confirm = $('input[name=confirm_password]'),
+                confirmV = $confirm.val(),
+                newPwdV = $('#newPwd').val(),
+                opt = {
+                    dom: $confirm,
+                    $checkInfo: $confirm.next()
+                };
+
+            if (confirmV.length > 0 && newPwdV !== confirmV) {
+                errorInfoAction(opt, '两次密码不一致!');
+            }
+        });
+    }
+});
+});
+define("js/home/address", ["jquery","handlebars","source-map"], function(require, exports, module){
+/**
+ * 个人中心页-地址管理
+ * @author: wsl<shuiling.wang@yoho.cn>
+ * @date: 2016/02/24
+ */
+var $ = require("jquery"),
+    regionCode = require("js/home/common-address"),
+    dialog = require("js/common/dialog"),
+    Alert = dialog.Alert;
+
+var active;
+
+var $del = $('.address-del'),
+    $edit = $('.address-modify'),
+    $input = $('.input-1');
+
+var address = {
+
+    evil: function(fn) {
+        var Fn = Function;
+
+        return new Fn('return ' + fn)();
+    },
+
+    clearAddrForm: function() {
+        $('#addressName').val('');
+        $('#address').val('');
+        $('#zipCode').val('');
+        $('#phone').val('');
+        $('#mobile').val('');
+        $('#email').val('');
+        $('#addrId').val(0);
+        $('#province').val(0);
+        $('#city').val(0);
+        $('#areaCode').val(0).hide();
+        $('#btn-reset').hide();
+        $('#form-status').html('添加新地址');
+    },
+
+    editAddr: function(id) {
+        $.getJSON('/home/address/editAddress?id=' + id, function(jsonData) {
+            if (jsonData.code === 200) {
+                $('#form-status').html('修改地址');
+                $('#addressName').val(jsonData.data.consignee);
+
+                regionCode.loadAllData(jsonData.data.area_code, {});
+                $('#address').val(jsonData.data.address);
+                $('#email').val(jsonData.data.email);
+                $('#phone').val(jsonData.data.phone);
+                $('#mobile').val(jsonData.data.mobile);
+                $('#zipCode').val(jsonData.data.zip_code);
+                $('#addrId').val(jsonData.data.address_id);
+                $('#btn-reset').show();
+            }
+        });
+    },
+
+    saveAddr: function(callbackFunc) {
+        $.post('/home/address/saveAddress', $('#address-form').serialize(), function(data) {
+            if (data.code === 200) {
+                location.reload();
+            } else {
+                active = new Alert(data.message);
+                active.show();
+            }
+        }, 'json');
+    },
+
+    // 删除地址
+    delAddr: function(addrId) {
+        $.getJSON('/home/address/delAddress?id=' + addrId, function(jsonData) {
+            if (jsonData.code === 200) {
+                $('.address-list').find('li[addressId=' + addrId + ']').remove();
+                if (addrId === $('#addrId').val()) {
+                    address.clearAddrForm();
+                }
+            } else {
+                active = new Alert('删除失败');
+                active.show();
+            }
+        });
+    },
+
+    setDefaultAddr: function(addrId) {
+        var oldBtn = $('.address-list').find('.default-btn'),
+            oldLi = $('.address-list').find('.default-btn').parents('li'),
+            curLi = $('.address-list').find('li[addressId=' + addrId + ']'),
+            curBtn = curLi.find('.set-default-btn');
+
+        $.getJSON('/home/address/defaultAddress?id=' + addrId, function(jsonData) {
+            if (jsonData.code === 200) {
+                oldBtn.attr('class', 'btn-c3 set-default-btn');
+                oldLi.removeClass('preferred');
+                oldBtn.html('<span>设为常用地址</span>');
+                curBtn.attr('class', 'btn-c2 default-btn');
+                oldBtn.html('<span>设为常用地址</span>');
+                curLi.addClass('preferred');
+            } else {
+                active = new Alert('设置失败');
+                active.show();
+            }
+        });
+    }
+};
+
+if (!Array.prototype.indexOf) {
+    Array.prototype.indexOf = function(obj, start) {
+        var i,
+            j;
+
+        for (i = (start || 0), j = this.length; i < j; i++) {
+            if (this[i] === obj) {
+                return i;
+            }
+        }
+
+        return -1;
+    };
+}
+
+// 获取地址id
+function getAddressId(dom) {
+    var li = dom.parents('.address-content'),
+        id = li.attr('addressId');
+
+    return id;
+}
+
+//表单焦点显示
+function focusAction(opt) {
+    var msg = '';
+
+    if (opt.inputName === 'addressName') {
+        msg = '真实姓名在2到5个汉字之间';
+    }
+
+    if (opt.inputName === 'address') {
+        msg = '请填写详细地址';
+    }
+
+    if (opt.inputName === 'zipCode') {
+        msg = '请输入收货人所在地邮编号';
+    }
+
+    if (opt.inputName === 'phone') {
+        msg = '格式例如:0577-88888888';
+    }
+
+    if (opt.inputName === 'mobile') {
+        msg = '请输入手机号,如1360000000';
+    }
+
+    if (opt.inputName === 'email') {
+        msg = '用来接收订单提醒邮件,便于您及时了解订单状态';
+    }
+
+    opt.$checkInfo.removeClass('form-prompt').addClass('form-focus').html(msg);
+}
+
+//表单失去焦点显示
+function blurAction(opt) {
+    var regular = '',
+        res = true,
+        msg = '输入正确',
+        domClass = 'form-info form-success',
+        value = opt.val;
+
+    if (opt.inputName === 'addressName') {
+        regular = /^[\u4e00-\u9fa5]{2,5}$/;
+
+        if (opt.len < 1 || opt.len > 12) {
+            msg = '真实姓名在2到5个汉字之间,请确认';
+            res = false;
+            domClass = 'form-info form-error';
+        } else if (regular.test(opt.val) === false) {
+            msg = '真实姓名至少2个中文,最多5个中文';
+            res = false;
+            domClass = 'form-info form-error';
+        }
+    }
+
+    if (opt.inputName === 'address') {
+        if (opt.len < 2) {
+            msg = '请填写详细地址';
+            res = false;
+            domClass = 'form-info form-error';
+        }
+    }
+
+    if (opt.inputName === 'zipCode') {
+        regular = /^[0-9]{6}$/;
+
+        if (opt.len === 0) {
+            msg = '请输入收货人所在地邮编号';
+            res = false;
+            domClass = 'form-info form-error';
+        } else if (regular.test(opt.val) === false) {
+            msg = '你输入的邮编式不正确';
+            res = false;
+            domClass = 'form-info form-error';
+        }
+    }
+
+    if (opt.inputName === 'phone') {
+        regular = /^(0[0-9]{2,3}\-)?([2-9][0-9]{6,7})+(\-[0-9]{1,4})?$/;
+
+        if (opt.len === 0) {
+            msg = '你真的不想留联系电话了吗?';
+            res = true;
+            domClass = 'form-info form-success';
+        } else if (regular.test(opt.val) === false) {
+            msg = '你输入的联系电话格式不正确';
+            res = false;
+            domClass = 'form-info form-error';
+        }
+    }
+
+    if (opt.inputName === 'mobile') {
+        regular = /^1[3|4|5|8|7][0-9]{9}$/;
+
+        if (opt.len !== 11) {
+            msg = '手机号码必须是11位的,请确认';
+            res = false;
+            domClass = 'form-info form-error';
+        } else if (regular.test(opt.val) === false) {
+            msg = '您输入的手机号格式不正确';
+            res = false;
+            domClass = 'form-info form-error';
+        }
+    }
+
+    if (opt.inputName === 'email') {
+        regular = '^[a-z0-9_\-]+(\.[_a-z0-9\-]+)*@([_a-z0-9\-]+\.)+([a-z]{2}|aero|arpa|biz|com|coop|' +
+                    'edu|gov|info|int|jobs|mil|museum|name|nato|net|org|pro|travel)$';
+
+        if (value.match(regular) === null || opt.len === 0) {
+            msg = '你输入的邮件地址格式不正确';
+            res = false;
+            domClass = 'form-info form-error';
+        }
+    }
+
+    opt.$checkInfo.removeClass().addClass(domClass).html(msg);
+    return res;
+}
+
+
+// 地址表单验证
+function checkAddressForm(dom, action) {
+    var val = dom.val(),
+        $domParent = dom.parent(),
+        opt = {
+            val: val,
+            len: val.length,
+            $domParent: dom.parent(),
+            $checkInfo: $domParent.find('span'),
+            inputName: dom.attr('name')
+        };
+
+    if (action === 'focus') {
+        focusAction(opt);
+    }
+
+    if (action === 'blur') {
+        return blurAction(opt);
+    }
+}
+
+function fullOneValidator() {
+    var phone = $('#phone').next(),
+        mobile = $('#mobile').next();
+
+    if (mobile.hasClass('form-success') && !phone.hasClass('form-error') && $('#phone').val().length === 0) {
+        phone.removeClass().addClass('form-prompt form-info').html('请输入你的联系电话,可以为空哦');
+        return true;
+    } else if (phone.html() === '输入正确' && !mobile.hasClass('form-error') && $('#mobile').val().length === 0) {
+        mobile.removeClass().addClass('form-prompt form-info').html('填写手机号便于接收发货和收货通知');
+        return true;
+    } else if (!mobile.hasClass('form-success') && phone.html() !== '输入正确') {
+        phone.removeClass().addClass('form-success form-info').html('你真的不想留联系电话了吗?');
+        mobile.removeClass().addClass('form-prompt form-info').html('填写手机号便于接收发货和收货通知');
+        $('#mobile').focus();
+        return false;
+    }
+}
+
+//校验所有内容
+function checkAllForm() {
+    var arr = [];
+
+    $.each($input, function(key, item) {
+        arr.push(checkAddressForm($(item), 'blur'));
+    });
+
+    arr.push(fullOneValidator());
+
+    $.each($('.form-info'), function(key, item) {
+        if ($(item).hasClass('form-error')) {
+            $(item).prev().focus();
+            return false;
+        }
+    });
+
+
+    if (arr.indexOf(false) === -1) {
+        return true;
+    } else {
+        return false;
+    }
+}
+
+$(document).on('click', '.set-default-btn', function() {
+    var id = getAddressId($(this));
+
+    address.setDefaultAddr(id);
+});
+
+$del.on('click', function() {
+    var id = getAddressId($(this));
+
+    address.delAddr(id);
+});
+
+$edit.on('click', function() {
+    var id = getAddressId($(this));
+
+    address.editAddr(id);
+    $('#btn-reset').show();
+});
+
+$input.on('focus', function() {
+    checkAddressForm($(this), 'focus');
+});
+
+$input.on('blur', function() {
+    checkAddressForm($(this), 'blur');
+});
+
+$('#address-info').on('click', function() {
+    if (checkAllForm()) {
+        address.saveAddr();
+    }
+});
+
+$(document).ready(function() {
+    regionCode.loadAllData(
+        0,
+        {
+            provinceDomId: 'province',
+            cityDomId: 'city',
+            areaDomId: 'areaCode'
+        }
+    );
+
+    address.clearAddrForm();
+
+    $('#btn-reset').click(function() {
+        address.clearAddrForm();
+    });
+});
+});
+define("js/help/entry", ["jquery","handlebars","source-map"], function(require, exports, module){
+/**
+ * 帮助中心页js打包入口文件
+ * @author: yyqing<yanqing.yang@yoho.cn>
+ * @date: 2016/3/23
+ */
+
+require("js/help/search");
+});
+define("js/help/search", ["jquery","handlebars","source-map"], function(require, exports, module){
+/**
+ * 我的信息
+ * @author: yyqing<yanqing.yang@yoho.cn>
+ * @date: 2016/3/23
+ */
+var $ = require("jquery"),
+    Handlebars = require("handlebars");
+
+var $searchMain = $('.search-content'),
+    $dialog = $('#help-dialog-widget'),
+    $dialogBg = $('#help-dialog-bg');
+
+var docW = $(document).width(),
+    winH = $(window).height();
+
+var tpl =
+    '<div class="dialog-titlebar">' +
+        '<span class="dialog-close-btn"></span>' +
+    '</div>' +
+    '<div class="dialog-content">' +
+        '<p class="ask">问:<br>{{ask}}</p>' +
+        '<p class="answer">答:<br>{{answer}}</p>' +
+    '</div>';
+
+var tplFn = Handlebars.compile(tpl);
+
+$searchMain.on('click', '.faqs', function() {
+    var data = $(this).data(),
+        top = $(document).scrollTop();
+
+    $dialog.html(tplFn(data)).removeClass('hide');
+    $dialogBg.removeClass('hide');
+
+    $dialog.html(tplFn(data)).css({
+        top: top + (winH - $dialog.outerHeight()) / 2,
+        left: (docW - $dialog.outerWidth()) / 2
+    });
+});
+
+$dialog.on('click', '.dialog-close-btn', function() {
+    $dialog.addClass('hide');
+    $dialogBg.addClass('hide');
+});
+});
+define("js/order/ensure", ["jquery","handlebars","source-map"], function(require, exports, module){
+/**
+ * @description: 订单保存
+ * @time: 2015/12/21
+ */
+
+var $ = require("jquery");
+
+var address = require("js/order/address");
+
+var dialog = require("js/common/dialog");
+
+var accMul = function(arg1, arg2) {
+    var m = 0,
+ s1 = arg1.toString(),
+ s2 = arg2.toString();
+
+    try {
+        m += s1.split('.')[1].length;
+    } catch (e) {
+    }
+    try {
+        m += s2.split('.')[1].length;
+    } catch (e) {
+    }
+    return Number(s1.replace('.', '')) * Number(s2.replace('.', '')) / Math.pow(10, m);
+};
+
+var Order = {
+    /*业务数据(人民币)*/
+    Data: {
+        product: 0, //商品价格
+        activity: 0, //活动
+        carriage: 0, //邮费
+        juan: 0, //优惠卷
+        yohocoin: 0 //YOHO币
+    },
+    /*view 交互*/
+    UI: {
+        e: {
+            $pan: $('.pan'),
+            $jc: $('#juancode'),
+            $bp: $('#biprice'),
+            $statistics: $('li', '.play-total'),
+            $tobi: $('p em', '.play-bi-pan .play-pan'),
+            $cancel: $('.cancel', '.btn-group'),
+            $total: $('em', '.to-play'),
+            $tbody: $('table tbody', '.pay-wapper'),
+
+            //请填写并核对一下信息
+            $orderSelectionSave: $('.address-list h2 span'),
+            $addAddress: $('.add-address'),
+            $addressManage: $('.address-manage'),
+            $spanPayTypeLegend: $('span.pay-type-legend'),
+            $supportType: $('.support-type'),
+            $existAddressListWrap: $('.exist-address-list'),
+            $existAddressList: $('.exist-address-list').find('li'),
+            $existAddress: $('.exist-address-list').find('input[name="exist-address"]'),
+            $payTimeModify: $('.pay-time-modify'),
+            $switchPayModify: $('.switch-pay-modify'),
+            $modityPayInfo: $('.modity-pay-info'),
+            $payTotal: $('.play-total'),
+            $toPay: $('.to-play em'),
+            $redEnvelopes: $('.red-envelopes'),
+            $useEnvelopes: $('.use-envelopes'),
+            $hasEnvelopes: $('.has-envelopes span'),
+            $useEnvelopesInput: $('.use-envelopes').find('input'),
+            $expressFee: $('.express-fee')
+        },
+        init: function() {
+            var e = this.e,
+                    d = Order.Data,
+                    c = Order.Common;
+
+            //初始化产品价格(表格中的价格)
+            e.$tbody.find('tr').each(function(index) {
+
+                var td = $(this).find('td');
+                var len = e.$tbody.find('tr').length;
+                var subtotal = parseFloat(td.eq(1).html()) * parseInt(td.eq(3).html());
+
+                td.eq(1).html('¥' + td.eq(1).html());
+
+                if (td.hasClass('xforone')) {
+                    td.eq(4).find('del').html('¥' + c.strFixed(subtotal));
+                    subtotal = 0;
+                } else {
+                    td.eq(4).html('¥' + c.strFixed(subtotal));
+                }
+                d.product += subtotal;
+                if (!index) {
+                    td.last().attr('rowspan', len);
+                } else {
+                    td.last().remove();
+                }
+                if (index === len - 1) {
+                    e.$tbody.find('tr').eq(0).find('td').last().html('<strong>¥' + c.strFixed(d.product) + '</strong>');
+                }
+            });
+
+            // 使用优惠券、使用yoho币点击展开
+            e.$pan.find('dt').click(function() {
+
+                var pan = $(this).parent('dl.pan');
+
+                if (pan.find('dd').is(':hidden')) {
+                    c.winShow(pan);
+
+                    $(this).addClass('active');
+                } else {
+                    c.winHide(pan);
+
+                    $(this).removeClass('active');
+                }
+
+            });
+
+            //请填写并核对一下信息
+            e.$orderSelectionSave.click(function() {
+                var i = 0,
+                        $addressLi = $('.exist-address-list li'),
+                        liLen = $addressLi.length,
+                        notSelect = 0;
+
+                if (!$(this).attr('expand')) {
+
+                    $(this).attr('expand', 'expand').text('[不保存并关闭]');
+
+                    $('.exist-address-list li').removeClass('hide');
+
+                    $('.save-btn').removeClass('hide');
+
+                    e.$existAddressListWrap.addClass('address-expand');
+
+                    if (liLen === 1) {
+                        e.$addressManage.removeClass('hide');
+                    }
+
+                } else {
+
+                    for (i = 0; i < liLen; i++) {
+
+                        if ($addressLi.eq(i).hasClass('address_select')) {
+                            notSelect++;
+                        }
+
+                        if (!$addressLi.eq(i).hasClass('address_select')) {
+                            $addressLi.eq(i).addClass('hide');
+                        }
+                    }
+
+                    if (notSelect === 0) {
+                        $('.exist-address-list li:not(".use-new-address")').removeClass('hide');
+
+                        $('.use-new-address input').removeAttr('checked');
+                    }
+
+                    $('.address-list-inner li.address_select input').attr('checked', 'checked');
+                    $('.address-list-inner li').removeClass('active');
+                    $('.address-list-inner li.address_select').addClass('active');
+
+                    $(this).removeAttr('expand').text('[修改]');
+
+                    $('.save-btn').addClass('hide');
+
+                    e.$existAddressListWrap.removeClass('address-expand');
+
+                    e.$addressManage.addClass('hide');
+                }
+
+            });
+
+
+            //支付及送货时间
+            e.$switchPayModify.click(function() {
+
+                if (e.$payTimeModify.hasClass('hide')) {
+                    e.$payTimeModify.removeClass('hide');
+                    e.$modityPayInfo.addClass('hide');
+                    $(this).text('[不保存并关闭]');
+                } else {
+                    e.$payTimeModify.addClass('hide');
+                    e.$modityPayInfo.removeClass('hide');
+                    $(this).text('[修改]');
+
+                    e.$payTimeModify.find('input[name="pay-type"]').filter('.checked').attr('checked', 'checked');
+                    e.$payTimeModify.find('input[name="pay-time-radio"]').filter('.checked').attr('checked', 'checked');
+                    e.$payTimeModify.find('input[name="call-me"]').filter('.checked').attr('checked', 'checked');
+                }
+            });
+
+            e.$spanPayTypeLegend.click(function() {
+                $(this).toggleClass('active');
+
+                e.$supportType.toggleClass('hide');
+            });
+
+            $(document).on('click', '.exist-address-list li', function() {
+
+                $('.exist-address-list li').removeClass('active');
+
+                $(this).addClass('active');
+
+                $(this).find('input').attr('checked', 'checked');
+
+                if ($(this).hasClass('use-new-address')) {
+                    e.$addressManage.removeClass('hide');
+
+                    $('.address-manage input').val('');
+
+                    $('.save-btn').removeAttr('data-id');
+
+                    // 0表示获取所有省的列表,'000000'表示无匹配的区域码
+                    address.newAddress(0, '000000');
+                }
+            });
+        },
+
+        //渲染价格明细
+        render: function(data, tips) {
+
+            // 下面这段是在服务端算价格
+            var e = this.e,
+                    i,
+                    dArr = data.promotion_formula_list,
+                    packageList = data.package_list,
+                    str = '',
+                    isExpress = '';
+
+            var tipsStr;
+
+            var envelopesVal;
+
+            if (!!tips) {
+                tipsStr = tips;
+            } else {
+                tipsStr = '';
+            }
+
+            for (i = 0; i < dArr.length; i++) {
+
+                if (dArr[i].promotion === '优惠券:') {
+                    dArr[i].promotion = (tipsStr ? tipsStr : '优惠券') + '<span class="juan-modify">[修改]</span>:';
+                }
+
+                if (dArr[i].promotion === 'YOHO币:') {
+                    dArr[i].promotion = 'YOHO币<span class="bi-modify">[修改]</span>:';
+                }
+
+                if (dArr[i].isExpress) {
+                    isExpress = 'total-express-w';
+                } else {
+                    isExpress = '';
+                }
+
+                str += '<li class="' + isExpress + '">' +
+                        '<label>' + dArr[i].promotion + '</label>' +
+                        '<em>' + dArr[i].promotion_amount + '</em>' +
+                        '</li>';
+            }
+
+            e.$payTotal.html(str);
+            e.$toPay.html((data.last_order_amount).toFixed(2));
+
+            //有货币清零状态更新
+            $('#biprice').val(accMul(100, data.use_yoho_coin));
+            if (~~data.use_yoho_coin === 0) {
+                $('.errbitip').text('');
+            } else {
+                $('.errbitip').text('抵扣' + data.use_yoho_coin.toFixed(2) + '元');
+            }
+
+            envelopesVal = e.$useEnvelopesInput.data('all') - data.use_red_envelopes;
+
+            if (~~data.use_red_envelopes > 0) {
+                e.$useEnvelopes.find('span').html('-¥' + data.use_red_envelopes.toFixed(2));
+                e.$useEnvelopes.find('input').attr('data-use', data.use_red_envelopes);
+            } else {
+                e.$useEnvelopes.find('span').html('-¥0.00');
+                e.$hasEnvelopes.html('¥' + (e.$useEnvelopesInput.attr('data-all') * 1).toFixed(2));
+                e.$redEnvelopes.removeClass('active');
+                e.$useEnvelopesInput.prop('checked', false);
+            }
+            e.$hasEnvelopes.html('¥' + envelopesVal.toFixed(2));
+
+            if (packageList) {
+                e.$expressFee.each(function(index, expressCost) {
+                    var orignCost = packageList[index].shopping_orig_cost,
+                        disCount = packageList[index].shopping_cut_cost,
+                        realCost = packageList[index].shopping_cost;
+
+                    var cost = parseInt(orignCost) === 0 ?
+                        '运费:¥0.00元' :
+                        '运费:¥' + realCost + '元(原价' + orignCost + '元,优惠' + disCount + ')元';
+
+                    $(expressCost).text(cost);
+                });
+            }
+        }
+    },
+    /*公共方法*/
+    Common: {
+        enterNUM: function(str1, str2) {
+            str1 = str1.replace(/[^\d]/g, '');
+            if (str1 && str2) {
+                str1 = parseInt(str1);
+                str2 = parseInt(str2);
+                if (str1 > str2) {
+                    str1 = str2;
+                }
+            }
+            return str1;
+        },
+        calucate: function() {
+            var p = Order.Data;
+
+            $.each(Order.Data, function(key, index) {
+                p[key] = parseFloat(Order.Data[key]);
+            });
+            return p.product - p.activity + p.carriage - p.juan - p.yohocoin;
+        },
+        winShow: function(pan) {
+            pan.find('dt').show();
+            pan.find('dd').show();
+            if (pan.attr('class').match(/(-bi-)|(-juan-)/g)) {
+                pan.find('dt').hide();
+            }
+        },
+        winHide: function(pan) {
+            pan.find('dt').show();
+            pan.find('dd').hide();
+
+            /*if (pan.hasClass('play-juan-pan') && $('.juan-modify').length > 0) {
+             pan.find('dt').hide();
+             }
+
+             if (pan.hasClass('play-bi-pan') && $('.bi-modify').length > 0) {
+             pan.find('dt').hide();
+             }*/
+        },
+        strFixed: function(str) {
+            return parseFloat(str).toFixed(2);
+        }
+    },
+    /*业务逻辑*/
+    Bll: {
+        e: {
+            $juanok: $('#juansubmit'),
+            $juantip: $('.errtip', '.play-juan-pan'),
+            $biok: $('#bisubmit'),
+            $carriageGroup: $('input[name="carriagegroup"]'),
+            $selectExpress: $('.express-list input'),
+            $bp: $('#biprice'),
+            $errorTip: $('.errbitip'),
+            $useEnvelopes: $('.use-envelopes'),
+            $hasEnvelopes: $('.has-envelopes span'),
+            $useEnvelopesInput: $('.use-envelopes').find('input'),
+            $redEnvelopes: $('.red-envelopes'),
+            $loading: $('.loading')
+        },
+        init: function() {
+            var e = this.e,
+                    u = Order.UI,
+                    options,
+                    c = Order.Common,
+                    envelopesVal;
+
+            function getSelectData(callback) {
+
+                var $juangroupInput = $('.play-juan.is-select input[name="juangroup"]:checked');
+                var expressVal = $('.express-list input[name="carriagegroup"]:checked').val();
+                var biVal = $('#biprice.is-select').val();
+                var codeVal = $juangroupInput.val();
+                var cartType = $('.address-manage').attr('cart-type');
+                var redEnvelopes = $('.use-envelopes input:checked').attr('data-use');
+                var resultData;
+
+                codeVal = codeVal ? codeVal : $juangroupInput.closest('li').find('#juancode').val();
+
+                resultData = {
+                    cartType: cartType,
+                    deliveryWay: expressVal,
+                    couponCode: codeVal,
+                    yohoCoin: biVal
+
+                    //redEnvelopes: e.$useEnvelopesInput.length > 0 ? ~~e.$hasEnvelopes.text().substring(1) : '0'
+                };
+
+                if (!!redEnvelopes) {
+                    resultData.redEnvelopes = redEnvelopes;
+                }
+
+                callback(resultData);
+
+            }
+
+            // 选择快递
+            e.$selectExpress.click(function() {
+
+                var expressId = $(this).val();
+
+                e.$loading.show();
+
+                getSelectData(function(d) {
+
+                    d.deliveryWay = expressId;
+
+                    options = {
+                        type: 'POST',
+                        url: '/cart/index/orderCompute',
+                        data: d,
+                        success: function(data) {
+                            e.$loading.hide();
+
+                            if (data.code === 200) {
+                                u.render(data.data);
+
+                                if (expressId === '1') {
+
+                                    $('.express-list.sf').addClass('hide');
+                                } else if (expressId === '2') {
+                                    $('.express-list.sf').removeClass('hide');
+                                }
+                            } else {
+                                new dialog.Alert(data.message).show();
+                            }
+                        }
+                    };
+
+                    $.ajax(options);
+                });
+            });
+
+            //点击 优惠卷支付 确认按钮
+            e.$juanok.click(function() {
+
+                var pan = $(this).parents('dl.pan');
+
+                var juanText = '';
+
+                $('.play-juan').addClass('is-select');
+
+                getSelectData(function(d) {
+
+                    var code = d.couponCode;
+
+                    if (!code) {
+
+                        e.$juantip.html('请选择或填写一个优惠券');
+                        $('.play-juan').removeClass('is-select');
+
+                    } else {
+
+                        e.$loading.show();
+
+                        options = {
+                            type: 'POST',
+                            url: '/cart/index/orderCompute',
+                            data: d,
+                            success: function(data) {
+
+                                e.$loading.hide();
+
+                                if (data.code === 200) {
+
+                                    juanText = $('.play-juan input[value="' + code + '"]').next().text();
+                                    u.render(data.data, juanText);
+
+                                    //$('#juancode').val(code);
+
+                                    c.winHide(pan);
+                                    e.$juantip.html('');
+
+                                    //$('.play-juan-pan dt').hide();
+
+                                } else {
+                                    e.$juantip.html(data.message);
+                                    $('.play-juan').removeClass('is-select');
+                                }
+                            }
+                        };
+
+                        $.ajax(options);
+                    }
+                });
+
+            });
+
+            // 优惠券修改
+            $(document).on('click', '.juan-modify', function() {
+
+
+                var $pan = $('.play-juan-pan');
+
+                c.winShow($pan);
+            });
+
+            e.$biok.click(function() {
+
+                var pan = $(this).parents('dl.pan');
+                var juanText;
+
+                $('#biprice').addClass('is-select');
+
+                getSelectData(function(d) {
+
+                    if (!!d.couponCode) {
+                        juanText = $('.play-juan input[value="' + d.couponCode + '"]').next().text();
+                    }
+
+                    //if (d.yohoCoin * 1 === 0) {
+                    if (!/^\d+$/.test(d.yohoCoin + '') || d.yohoCoin * 1 === 0) {
+                        $('.errbitip').html('请输入一个正整数');
+                        $('#biprice').removeClass('is-select');
+
+                    } else if (d.yohoCoin * 1 > $('.play-pan em').text() * 1) {
+
+                        $('.errbitip').html('您的YOHO币不足');
+                        $('#biprice').removeClass('is-select');
+
+                    } else {
+                        e.$loading.show();
+
+                        options = {
+                            type: 'POST',
+                            url: '/cart/index/orderCompute',
+                            data: d,
+                            success: function(data) {
+
+                                e.$loading.hide();
+
+                                if (data.code === 200) {
+
+                                    u.render(data.data, juanText);
+                                    c.winHide(pan);
+
+                                    //$('.play-bi-pan dt').hide();
+
+                                } else {
+                                    $('.errbitip').html(data.message);
+                                    $('#biprice').removeClass('is-select');
+                                }
+                            }
+                        };
+
+                        $.ajax(options);
+                    }
+
+                });
+            });
+
+            // 修改yoho币
+            $(document).on('click', '.bi-modify', function() {
+
+
+                var $pan = $('.play-bi-pan');
+
+                c.winShow($pan);
+            });
+
+            e.$bp.keyup(function() {
+
+                var val = $(this).val();
+
+                //if (val * 1 < 0 || val.indexOf('.') > 0) {
+                if (!/^\d+$/.test(val + '')) {
+                    e.$errorTip.html('请输入一个正整数');
+                } else if (val * 1 > $(this).data('bi') * 1) {
+                    e.$errorTip.html('您的YOHO币不足');
+                } else {
+                    e.$errorTip.html('抵扣' + (val / 100).toFixed(2) + '元');
+                }
+            });
+
+            // 取消yoho 币
+            $('.cancel-bi').click(function() {
+
+
+                var $pan = $('.play-bi-pan');
+                var juanText;
+
+                $('.errbitip').html('');
+
+                if ($('#biprice').hasClass('is-select')) {
+
+                    e.$loading.show();
+
+                    getSelectData(function(d) {
+
+                        d.yohoCoin = 0;
+
+                        if (!!d.couponCode) {
+                            juanText = $('.play-juan input[value="' + d.couponCode + '"]').next().text();
+                        }
+
+                        options = {
+                            type: 'POST',
+                            url: '/cart/index/orderCompute',
+                            data: d,
+                            success: function(data) {
+
+                                e.$loading.hide();
+
+                                if (data.code === 200) {
+                                    u.render(data.data, juanText);
+                                    c.winHide($pan);
+
+                                    $('#biprice').val('0');
+
+                                    //$('.play-bi-pan dt').hide();
+                                    $('#biprice').removeClass('is-select');
+
+                                    $('.errbitip').html('');
+
+                                    // $('.use-envelopes input').attr('checked', 'checked');
+                                    // $('.red-envelopes').addClass('active');
+
+                                } else {
+                                    $('.errbitip').html(data.message);
+                                }
+                            }
+                        };
+
+                        $.ajax(options);
+                    });
+
+                } else {
+                    c.winHide($pan);
+                    $('#biprice').val('0');
+                }
+
+            });
+
+            // 取消优惠券
+            $('.cancel-code').click(function() {
+
+                var $pan = $('.play-juan-pan');
+
+                if ($('.play-juan').hasClass('is-select')) {
+
+                    e.$loading.show();
+
+                    getSelectData(function(d) {
+
+                        d.couponCode = '';
+
+                        options = {
+                            type: 'POST',
+                            url: '/cart/index/orderCompute',
+                            data: d,
+                            success: function(data) {
+
+                                e.$loading.hide();
+
+                                if (data.code === 200) {
+                                    u.render(data.data);
+
+                                    c.winHide($pan);
+                                    $('.play-juan').removeClass('is-select');
+
+                                    $('#juancode').val('')
+                                            .siblings('input[name="juangroup"]').attr('checked', 'checked');
+
+                                    // $('.use-envelopes input').attr('checked', 'checked');
+                                    // $('.red-envelopes').addClass('active');
+
+                                } else {
+                                    e.$juantip.html(data.message);
+                                }
+                            }
+                        };
+
+                        $.ajax(options);
+                    });
+                } else {
+                    c.winHide($pan);
+                }
+            });
+
+
+            // 红包
+            envelopesVal = e.$useEnvelopesInput.data('all') - e.$useEnvelopesInput.data('use'); // 剩余的红包
+            e.$hasEnvelopes.text('¥' + envelopesVal.toFixed(2));
+            e.$useEnvelopes.find('input').click(function() {
+
+                var $this = $(this),
+                        juanText;
+
+                e.$loading.show();
+
+                $this.attr('disabled', 'disabled');
+
+                getSelectData(function(d) {
+
+                    if (!!$this.attr('checked')) {
+
+                        //d.redEnvelopes = $this.val();
+                        d.redEnvelopes = $this.data('use');
+
+                    } else {
+
+                        d.redEnvelopes = 0;
+                    }
+
+                    juanText = $('.play-juan input[value="' + d.couponCode + '"]').next().text();
+
+                    options = {
+                        type: 'POST',
+                        url: '/cart/index/orderCompute',
+                        data: d,
+                        success: function(data) {
+                            e.$loading.hide();
+
+                            if (data.code === 200) {
+                                u.render(data.data, juanText);
+
+                                $this.removeAttr('disabled');
+
+                                if (!!$this.attr('checked')) {
+                                    e.$redEnvelopes.addClass('active');
+                                } else {
+                                    e.$useEnvelopes.find('span').html('-¥0.00');
+                                    e.$hasEnvelopes.html('¥' + ($this.attr('data-all') * 1).toFixed(2));
+                                    e.$redEnvelopes.removeClass('active');
+                                }
+                            } else {
+
+                                new dialog.Alert(data.message).show();
+                            }
+                        }
+                    };
+
+                    $.ajax(options);
+                });
+
+            });
+
+
+            //发票抬头和备注字数限制
+            function limitStrLen($obj, len) {
+
+                var $this = $obj;
+
+                $this.keyup(function() {
+
+                    if ($this.val().length > len) {
+
+                        $this.val($this.val().substr(0, len));
+                    }
+                });
+            }
+
+            limitStrLen($('#piaodesc'), 30);
+            limitStrLen($('#notedesc'), 100);
+        }
+    }
+};
+
+Order.Data.activity = 0;
+Order.Data.carriage = 0;
+
+Order.UI.init();
+Order.Bll.init();
+
+
+address.getUserAddressList();
+
+// 0表示获取所有省的列表,'000000'表示无匹配的区域码
+address.newAddress(0, '000000');
+address.modifyAddress();
+address.saveAddress();
+
+//不同订单包裹提示
+
+$('.why').click(function() {
+    $('#differentBag').show();
+    return false;
+
+});
+$('#differentBag').click(function() {
+    return false;
+});
+$(document).click(function() {
+    $('#differentBag').hide();
+});
+
+//订单包裹左右切换
+function lunBo($pre, $next, $ul, $iWidth) {
+    var i = 1,
+            j = 1;
+
+    var iSpeed = 0,
+            isMoving = false;
+
+    $pre.click(function() {
+        if (isMoving) {
+            return;
+        }
+
+        if ($ul.css('left') === '0px') {
+            iSpeed = 0;
+
+        } else {
+            iSpeed += j * $iWidth;
+            isMoving = true;
+        }
+        $ul.stop().animate({
+            left: iSpeed
+        }, 300, function() {
+            isMoving = false;
+        });
+    });
+    $next.click(function() {
+        var $largeLeft = $ul.parent().width() - $ul.width() + 'px';
+
+        if (isMoving) {
+            return;
+        }
+
+        if ($ul.css('left') === $largeLeft) {
+            $ul.css('left', $largeLeft);
+        } else {
+            iSpeed += -i * $iWidth;
+            isMoving = true;
+        }
+
+        $ul.stop().animate({
+            left: iSpeed
+        }, 300, function() {
+            isMoving = false;
+        });
+    });
+}
+
+
+
+//订单分类
+$('.bag').find('ul').each(function() {
+    var $pre = $(this).parent().parent().find('.pre');
+    var $next = $(this).parent().parent().find('.next');
+
+    var $iWidth = $(this).find('li').eq(0).width();
+    var $length = $(this).find('li').size();
+    var $ulWidth = $iWidth * $length;
+
+    $(this).css('width', $ulWidth);
+    if ($length > 5) {
+        $pre.show();
+        $next.show();
+        lunBo($pre, $next, $(this), $iWidth);
+    } else {
+        $pre.hide();
+        $next.hide();
+    }
+});
+
+});
+define("js/order/address", ["jquery","handlebars","source-map"], function(require, exports, module){
+/**
+ * @description: 地址管理
+ * @author: chenglong.wang@yoho.cn
+ */
+
+var $ = require("jquery");
+var dialog = require("js/common/dialog");
+
+
+var isProvinceChecked = false;
+
+var $addressManage = $('.address-manage'),
+    $province = $addressManage.find('.text-input[name="province"]'),
+    $city = $addressManage.find('.text-input[name="city"]'),
+    $county = $addressManage.find('.text-input[name="county"]'),
+    $selectList = $addressManage.find('.text-input[name="province"], .text-input[name="city"]'),
+    $addressList = $('.address-list'),
+    $name = $addressManage.find('.text-input[name="name"]'),
+    $phone = $addressManage.find('.text-input[name="phone"]'),
+    $mail = $addressManage.find('.text-input[name="mail"]'),
+    $address = $addressManage.find('.text-input[name="address"]'),
+    $code = $addressManage.find('.text-input[name="code"]'),
+    $saveBtn = $('.save-btn'),
+    $telCode = $addressManage.find('.text-input[name="tel-code"]'),
+    $tel = $addressManage.find('.text-input[name="tel"]'),
+    $useNewAddress = $('.use-new-address'),
+    $existAddressList = $('.exist-address-list'),
+    $loading = $('.loading'),
+    $orderEditMain = $('#order-edit-main');
+
+var cartType = $addressManage.attr('cart-type');
+
+$loading.show();
+
+// 构建select下拉选项
+function structureOption($obj, data, selectId) {
+
+    var i,
+        optionHtml = '',
+        defaultOption,
+        isStar = '';
+
+    for (i = 0; i < data.length; i++) {
+
+        if (data[i].is_support_express === 'Y') {
+            isStar = '*';
+        } else {
+            isStar = '';
+        }
+
+        if (data[i].id === selectId) {
+            optionHtml += '<option selected value="' + data[i].id + '">' + isStar + data[i].caption + '</option>';
+        } else {
+            optionHtml += '<option value="' + data[i].id + '">' + isStar + data[i].caption + '</option>';
+        }
+    }
+
+
+    if ($obj.attr('name') === 'province') {
+        defaultOption = '<option value="0">请选择省份</option>';
+    } else if ($obj.attr('name') === 'city') {
+        defaultOption = '<option value="0">请选择城市</option>';
+
+    } else if ($obj.attr('name') === 'county') {
+        defaultOption = '<option value="0">请选择区县</option>';
+    }
+
+    $obj.html(defaultOption + optionHtml);
+}
+/**
+ * @description: 改函数会返回地址信息
+ * d {Object} type: 'getProvince'获取省 type: 'getCity'获取城市 type: 'getCounty'获取县
+ * id: 0 && type: 'getProvince' 获取所有省,默认没有选中项
+ * id !== 0 && type: 'getProvince' 获取所有省,默认选中用户所在的省
+ */
+function getAddress(d, callback) {
+
+    var $obj;
+    var selectId = d.selectId;
+
+    if (d.type === 'getProvince') {
+
+        //url = 'getProvince';
+        $obj = $province;
+    } else if (d.type === 'getCity') {
+
+        //url = 'getCity';
+        $obj = $city;
+    } else if (d.type === 'getCounty') {
+
+        //url = 'getCounty';
+        $obj = $county;
+    }
+
+    $.ajax({
+        type: 'GET',
+        url: '/cart/index/getAreaList',
+        dataType: 'json',
+        data: {
+            id: d.id * 1
+        }
+    }).then(function(d) {
+
+        structureOption($obj, d.data, selectId);
+
+        if (typeof callback === 'function') {
+            callback();
+        }
+
+    });
+}
+
+//手机号码****处理
+function setPhoneStar(pn) {
+    return pn.replace(/^(\d{3}).*(\d{4})$/, '$1****$2');
+}
+
+// 修改地址时把用户信息带过来
+function getUserInfo($obj) {
+
+    $name.val($obj.attr('data-name'));
+    $name.attr('data-id', $obj.attr('data-id'));
+    $address.val($obj.attr('data-addressDesc'));
+    $phone.val($obj.attr('data-mobile'));
+    $mail.val($obj.attr('data-email'));
+    $code.val($obj.attr('data-zipcode'));
+    $telCode.val($obj.attr('data-phoneCode'));
+    $tel.val($obj.attr('data-phoneNum'));
+}
+
+// 更新地址列表状态
+function refreshAddressStatus() {
+    $useNewAddress.removeClass('active');
+    $existAddressList.find('li:not(".active")').addClass('hide');
+    $existAddressList.find('li.active').addClass('address_select');
+    $addressManage.addClass('hide');
+    $saveBtn.addClass('hide').removeAttr('data-id'); //清除data-id
+    $existAddressList.removeClass('address-expand');
+    $('.address-list h2 span').text('[修改]');
+}
+
+//获取用户已经存在的地址列表
+exports.getUserAddressList = function() {
+
+    var addressData,
+        i,
+        addressStr = '',
+        isChecked = '',
+        isHide = '',
+        addressText = '',
+        hasDefault = 0;
+
+    $.ajax({
+        type: 'GET',
+        url: '/cart/index/getAddress',
+        dataType: 'json'
+    }).then(function(d) {
+
+        $loading.hide();
+
+        if (d.code === 200) {
+
+            addressData = d.data.list;
+
+            if (!addressData) {
+
+                // 新用户引导
+                if (!!$orderEditMain.attr('data-new')) {
+
+                    $saveBtn.addClass('new-user-btn').html('下一步:选择支付及送货时间');
+
+                    $('.pay-btn').addClass('new-user-pay').html('下一步:发票和备注');
+
+                    $('.switch-pay-modify').html('');
+
+                }
+
+                $addressList.find('>h2').find('span').click();
+
+                $('.exist-address-list li').click();
+
+                $('.use-new-address').removeClass('active');
+
+                return;
+
+            }
+
+            for (i = 0; i < addressData.length; i++) {
+
+                if (addressData[i].checked) {
+
+                    isChecked = 'checked';
+                    isHide = 'active address_select';
+                    hasDefault++;
+                    addressText = '默认地址';
+
+                } else {
+                    isChecked = '';
+                    isHide = 'hide';
+                    addressText = '设为默认地址';
+                }
+
+                addressStr +=
+                    '<li data-id="' + addressData[i].id + '" class="' + isHide +
+                    '" data-express="' + addressData[i].isSupport + '">' +
+                    '<input data-name="' + addressData[i].user +
+                    '" data-areaCode="' + addressData[i].areaCode +
+                    '" data-addressDesc="' + addressData[i].addressDesc +
+                    '" data-mobile="' + addressData[i].mobile +
+                    '" data-phoneNum="' + addressData[i].phoneNum +
+                    '" data-phoneCode="' + addressData[i].phoneCode +
+                    '" data-zipCode="' + addressData[i].zipCode +
+                    '" data-email="' + addressData[i].email +
+                    '" class="radio" type="radio" name="address" ' + isChecked + ' />' +
+                    '<label for="">' +
+                    '<strong>' + addressData[i].user + '</strong>' + addressData[i].address +
+                    '<a href="javascript:void(0);" class="default-address">' + addressText + '</a>' +
+                    '<div class="order-modify-btn">' +
+                    '<span class="address-modify">[修改]</span>' +
+                    '<span class="address-del">[删除]</span>' +
+                    '</div>' +
+                    '</label>' +
+                    '</li>';
+            }
+
+            $('.use-new-address').before($(addressStr));
+
+            //说明用户的地址列表没有默认地址
+            if (hasDefault === 0) {
+
+                //没有默认地址则把所有地址都显示出来
+                //$('.exist-address-list li:not(".use-new-address")').removeClass('hide');
+                $('.address-list h2 span').click();
+            }
+
+            if ($('.active.address_select').attr('data-express') === 'N') {
+                $('.express-list input[name="carriagegroup"][value="2"]').attr('disabled', 'disabled');
+                $('.express-list input[name="carriagegroup"][value="1"]').attr('checked', 'checked');
+                $('.express-list.sf').addClass('hide');
+                $('.is-sup').removeClass('hide');
+            } else {
+                $('.express-list input[name="carriagegroup"][value="2"]').removeAttr('disabled');
+                $('.express-list.sf').removeClass('hide');
+                $('.is-sup').addClass('hide');
+            }
+
+        }
+
+    });
+};
+
+/*
+ * 添加地址&修改地址
+ * id: 根据id获取省市区列表
+ * code: 根据code确定是否选中省市区
+ */
+exports.newAddress = function(id, code) {
+
+    var pId = id || 0; //如果没有传id则获取所有省列表
+
+    var addressCodeReg = /[0-9]{2}/gi;
+
+    var codeId = !!code && code.match(addressCodeReg);
+
+    //获取省
+    getAddress({
+        id: pId,
+        type: 'getProvince',
+        selectId: codeId[0]
+    }, function() {
+
+        var provinceId = $province.val();
+
+        if (provinceId !== '0') {
+
+            //如果获取的省有默认选中项则获取市
+            getAddress({
+                id: provinceId,
+                type: 'getCity',
+                selectId: '' + codeId[0] + codeId[1]
+            }, function() {
+
+                var cityId = $city.val();
+
+                //如果获取的市有默认选中项则获取县
+                if (cityId !== '0') {
+                    getAddress({
+                        id: cityId,
+                        type: 'getCounty',
+                        selectId: code
+                    });
+                }
+            });
+        } else {
+            $addressManage.find('select[name="city"]').html('<option value="0">请选择城市</option>');
+            $addressManage.find('select[name="county"]').html('<option value="0">请选择区县</option>');
+        }
+    });
+
+    // 发生change事件时获取下一级地址
+    $selectList.change(function() {
+
+        var $this = $(this);
+
+        if ($this.attr('name') === 'province') {
+
+            if ($this.val() === '0') {
+                $addressManage.find('select[name="city"]').html('<option value="0">请选择城市</option>');
+                $addressManage.find('select[name="county"]').html('<option value="0">请选择区县</option>');
+            } else {
+                getAddress({
+                    id: $this.val(),
+                    type: 'getCity'
+                }, function() {
+                    isProvinceChecked = true;
+                });
+                $addressManage.find('select[name="county"]').html('<option value="0">请选择区县</option>');
+            }
+        }
+
+        if ($this.attr('name') === 'city' && isProvinceChecked) {
+
+            if ($this.val() === '0') {
+                $addressManage.find('select[name="county"]').html('<option value="0">请选择区县</option>');
+            } else {
+                getAddress({
+                    id: $this.val(),
+                    type: 'getCounty'
+                });
+            }
+        }
+    });
+};
+
+//修改地址
+exports.modifyAddress = function() {
+
+    $addressList.click(function(event) {
+
+        var $this = $(event.target),
+            id = $this.closest('li').attr('data-id'),
+            areaCode = $this.closest('li').find('.radio').attr('data-areaCode');
+
+        if ($this.hasClass('address-modify')) {
+            $addressManage.removeClass('hide');
+            exports.newAddress(0, areaCode);
+            getUserInfo($this.closest('li').find('.radio'));
+            $('.address-list-inner .save-btn').removeClass('hide');
+            $saveBtn.attr('data-id', id);
+            isProvinceChecked = true;
+        } else if ($this.hasClass('address-del')) {
+
+            $loading.show();
+
+            $.ajax({
+                type: 'POST',
+                url: '/cart/index/delAddress',
+                data: {
+                    id: id
+                }
+            }).then(function(d) {
+
+                $loading.hide();
+
+                if (d.code === 200) {
+
+                    $this.closest('li').remove();
+                } else {
+                    new dialog.Alert(d.message).show();
+                }
+            }).fail(function() {
+
+                //todo
+            });
+        } else if ($this.hasClass('default-address') && !$this.parents('li').hasClass('address_select')) {
+
+            $loading.show();
+
+            // 设为默认地址
+            $.ajax({
+                type: 'post',
+                url: '/cart/index/setDefaultAddress',
+                data: {
+                    id: id
+                }
+            }).then(function(d) {
+
+                $loading.hide();
+
+                if (d.code === 200) {
+
+                    $('.exist-address-list li').removeClass('address_select')
+                        .find('.default-address').text('设为默认地址');
+                    $this.parents('li').addClass('address_select');
+                    $this.text('默认地址');
+
+                } else {
+                    new dialog.Alert(d.message).show();
+                }
+            });
+        }
+    });
+};
+
+// 保存地址并送到这个地址
+exports.saveAddress = function() {
+    $saveBtn.click(function() {
+
+        var $this = $(this);
+
+        var name = $name.val(),
+            province = $province.val(),
+            city = $city.val(),
+            county = $county.val(),
+            address = $address.val(),
+            phone = $phone.val(),
+            telCode = $telCode.val(),
+            tel = $tel.val(),
+            mail = $mail.val(),
+            code = $code.val();
+
+        var provinceText = $province.find('option[value="' + province + '"]').text().replace(/\*/, ''),
+            cityText = $city.find('option[value="' + city + '"]').text().replace(/\*/, ''),
+            countyText = $county.find('option[value="' + county + '"]').text().replace(/\*/, '');
+
+
+        var postData = {
+            consignee: name,
+            areaCode: county,
+            address: address,
+            email: mail,
+            mobile: phone,
+            zipCode: code,
+            phoneCode: telCode,
+            phoneNum: tel
+        };
+
+        var addressStr;
+        var $modifyLi;
+        var hasCheckedAddress;
+
+        var nameReg = /^[\u4e00-\u9fa5]{2,5}$/;
+        var addressReg = /^[\s\S]{2,100}$/;
+        var phoneReg = /^(13[0-9]|15[012356789]|17[678]|18[0-9]|14[57])[0-9]{8}$/;
+        var codeReg = /^[0-9]{6}$/;
+        var emailReg = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
+        var telCodeReg = /^[0-9]{3,5}$/;
+        var telReg = /^[0-9]{5,10}$/;
+
+
+        function hasText(val) {
+
+            if (val === telCode) {
+
+                if (!!val) {
+                    return val + '-';
+                } else {
+                    return ' ';
+                }
+
+            } else {
+                if (!!val) {
+                    return val + ' ';
+                } else {
+                    return ' ';
+                }
+            }
+        }
+
+        hasCheckedAddress = $('.exist-address-list li:not(".use-new-address")')
+            .find('input[name="address"]:checked').length > 0;
+
+        // 说明是送货到这个地址
+        if (!$('.add-address').attr('checked') && hasCheckedAddress && !$('.save-btn').attr('data-id')) {
+
+            $('.exist-address-list li').removeClass('address_select');
+            $('.exist-address-list li.active').addClass('address_select')
+                .find('input[name="address"]').attr('checked', 'checked');
+
+            $('.address-list span').removeAttr('expand');
+
+            refreshAddressStatus();
+
+        }
+
+        //if (!!$('.add-address').attr('checked')) {
+        if (!$('.address-manage').hasClass('hide')) {
+
+            if (!nameReg.test(name)) {
+                new dialog.Alert('真实姓名至少2个中文,最多5个中文').show();
+                return;
+            }
+            if (!addressReg.test(address)) {
+                new dialog.Alert('你输入的地址格式不正确').show();
+                return;
+            }
+            if (!phoneReg.test(phone)) {
+                new dialog.Alert('你输入的联系电话格式不正确').show();
+                return;
+            }
+
+            if ((!!telCode && !telCodeReg.test(telCode)) || (!!tel && !telReg.test(tel)) ||
+                (telCodeReg.test(telCode) && !telReg.test(tel)) ||
+                (!telCodeReg.test(telCode) && telReg.test(tel))) {
+                new dialog.Alert('你输入的电话格式不正确').show();
+                return;
+            }
+
+            if (!!mail && !emailReg.test(mail)) {
+                new dialog.Alert('你输入的邮箱格式不正确').show();
+                return;
+            }
+
+            if (!!code && !codeReg.test(code)) {
+                new dialog.Alert('你输入的邮编格式不正确').show();
+                return;
+            }
+
+            // 如果存在data-id说明是修改,否则是新增
+            if (!!$saveBtn.attr('data-id')) {
+                postData.id = $saveBtn.attr('data-id');
+            }
+
+            $.ajax({
+                type: 'post',
+                url: '/cart/index/saveAddress',
+                data: postData
+            }).then(function(d) {
+
+                var addressData;
+
+                if (d.code === 200) {
+
+                    addressData = d.data;
+
+                    if (addressData.is_support === 'Y') {
+                        $('.express-list input[name="carriagegroup"][value="2"]').removeAttr('disabled');
+                        $('.express-list.sf').removeClass('hide');
+                        $('.is-sup').addClass('hide');
+
+                    } else {
+
+                        $('.express-list input[name="carriagegroup"][value="2"]').attr('disabled', 'disabled');
+                        $('.express-list input[name="carriagegroup"][value="1"]').attr('checked', 'checked');
+                        $('.express-list.sf').addClass('hide');
+                        $('.is-sup').removeClass('hide');
+                    }
+
+                    if (!!postData.id) {
+
+                        // 修改操作接口没有返回id
+                        addressStr = '<li class="active" data-id="' + postData.id +
+                        '" data-express="' + addressData.is_support + '">' +
+                        '<input data-name="' + postData.consignee +
+                        '" data-areaCode="' + postData.areaCode +
+                        '" data-addressDesc="' + postData.address +
+                        '" data-mobile="' + postData.mobile +
+                        '" data-phoneNum="' + postData.phoneNum +
+                        '" data-phoneCode="' + postData.phoneCode +
+                        '" data-zipCode="' + postData.zipCode +
+                        '" data-email="' + postData.email +
+                        '" checked="checked" class="radio" type="radio" name="address" />' +
+                        '<label>' +
+                        '<strong>' + name + '</strong>' +
+                        '<span>' + provinceText + ' ' + cityText + ' ' + countyText + ' ' + address +
+                        ' ' + hasText(code) + setPhoneStar(phone) + hasText(telCode) + hasText(tel) + '</span>' +
+                        '<a href="javascript:void(0);" class="default-address">设为默认地址</a>' +
+                        '<div class="order-modify-btn">' +
+                        '<span class="address-modify">[修改]</span>' +
+                        '<span class="address-del">[删除]</span>' +
+                        '</div>' +
+                        '</label>' +
+                        '</li>';
+                    } else {
+
+                        //添加操作接口有返回id
+                        addressStr = '<li class="active" data-id="' + addressData.id +
+                        '" data-express="' + addressData.is_support + '">' +
+                        '<input data-name="' + addressData.consignee +
+                        '" data-areaCode="' + addressData.area_code +
+                        '" data-addressDesc="' + addressData.address +
+                        '" data-mobile="' + addressData.mobile +
+                        '" data-phoneNum="' + postData.phoneNum +
+                        '" data-phoneCode="' + postData.phoneCode +
+                        '" data-zipCode="' + addressData.zip_code +
+                        '" data-email="' + addressData.email +
+                        '" checked="checked" class="radio" type="radio" name="address" />' +
+                        '<label>' +
+                        '<strong>' + name + '</strong>' +
+                        '<span>' + provinceText + ' ' + cityText + ' ' + countyText + ' ' + address +
+                        ' ' + hasText(code) + setPhoneStar(phone) + hasText(telCode) + hasText(tel) + '</span>' +
+                        '<a href="javascript:void(0);" class="default-address">设为默认地址</a>' +
+                        '<div class="order-modify-btn">' +
+                        '<span class="address-modify">[修改]</span>' +
+                        '<span class="address-del">[删除]</span>' +
+                        '</div>' +
+                        '</label>' +
+                        '</li>';
+                    }
+
+
+
+                    // 如果dataID存在说明是修改操作
+                    if (!!$this.attr('data-id')) {
+
+                        $modifyLi = $('.exist-address-list li[data-id="' + $this.attr('data-id') + '"]');
+
+                        $modifyLi.after($(addressStr)).remove();
+                    } else {
+                        $('.use-new-address').before($(addressStr));
+                    }
+
+                    $('.address-list span').removeAttr('expand');
+
+                    refreshAddressStatus();
+                } else {
+                    new dialog.Alert(d.message).show();
+                }
+            });
+        }
+
+        if ($('.exist-address-list li').find('input[name="address"]:checked').length === 0) {
+            new dialog.Alert('请选择一个地址').show();
+            return;
+        } else {
+
+            if ($('.exist-address-list li').find('input[name="address"]:checked')
+                    .closest('li').attr('data-express') === 'N') {
+                $('.express-list input[name="carriagegroup"][value="2"]').attr('disabled', 'disabled');
+                $('.express-list input[name="carriagegroup"][value="1"]').attr('checked', 'checked');
+                $('.express-list.sf').addClass('hide');
+                $('.is-sup').removeClass('hide');
+            } else {
+                $('.express-list input[name="carriagegroup"][value="2"]').removeAttr('disabled');
+                $('.express-list.sf').removeClass('hide');
+                $('.is-sup').addClass('hide');
+            }
+        }
+
+
+        // 说明需要新用户引导,展开支付及送货时间
+        if ($this.hasClass('new-user-btn')) {
+
+            $('.switch-pay-modify').click();
+        }
+
+    });
+};
+
+
+
+// 支付及送货时间选择
+$('.pay-time-modify .pay-btn').click(function() {
+
+    var $this = $(this);
+
+    var $payInfoBox = $('.modity-pay-info'),
+        $payTime = $('.pay-time-modify'),
+        payTypeVal = $payTime.find('input[name="pay-type"]:checked').val(),
+        payTypeText = $payTime.find('input[name="pay-type"]:checked').next('label').text(),
+        payTimeText = $payTime.find('input[name="pay-time-radio"]:checked').next('label').text(),
+        payTimeVal = $payTime.find('input[name="pay-time-radio"]:checked').val(),
+        isCall = $payTime.find('input[name="call-me"]:checked').next('label').text(),
+        callMeVal = $payTime.find('input[name="call-me"]:checked').val();
+
+
+    $loading.show();
+
+    $.ajax({
+        type: 'POST',
+        url: '/cart/index/orderCompute',
+        dataType: 'json',
+        data: {
+            cartType: cartType,
+            paymentType: payTypeVal
+        }
+    }).then(function(d) {
+
+        $loading.hide();
+
+        if (d.code === 200) {
+
+            $payInfoBox.find('li').eq(0).find('span').text(payTypeText);
+            $payInfoBox.find('li').eq(1).find('span').text(payTimeText);
+            $payInfoBox.find('li').eq(2).find('span').text(isCall);
+
+            $('.pay-time-modify').addClass('hide')
+                .find('input[name="pay-type"][value=' + payTypeVal + ']').addClass('checked')
+                .end().find('input[name="pay-time-radio"][value=' + payTimeVal + ']').addClass('checked')
+                .end().find('input[name="call-me"][value=' + callMeVal + ']').addClass('checked');
+
+            $('.modity-pay-info').removeClass('hide');
+
+            $('.switch-pay-modify').text('[修改]');
+
+            if ($this.hasClass('new-user-pay')) {
+
+                $('.play-piao-pan dd').css({
+
+                    display: 'block'
+                });
+                $('.play-piao-pan dt').addClass('active');
+            }
+
+        } else {
+            new dialog.Alert(d.message).show();
+        }
+    });
+});
+
+function getYohoBiList() {
+
+    var $juanUl = $('.play-juan ul'),
+        juanStr = '',
+        dLen,
+        data,
+        i;
+
+    $.ajax({
+        type: 'GET',
+        dataType: 'json',
+        url: '/cart/index/getCouponList'
+    }).then(function(d) {
+
+        if (d.code === 200) {
+            data = d.data;
+            dLen = data.length;
+
+            for (i = 0; i < dLen; i++) {
+                juanStr += '<li>' +
+                '<input name="juangroup" type="radio" value="' +
+                data[i].code + '" ' + (data[i].valid ? '' : 'disabled="disabled"') + '>' +
+                '<label>' + data[i].desc + '</label>' +
+                '</li>';
+            }
+
+            $juanUl.prepend($(juanStr));
+
+        }
+    });
+}
+getYohoBiList();
+
+// 把Y、N转换成bool
+
+function ytoTrue(val) {
+
+    if (val === 'N') {
+        return false;
+    } else {
+        return true;
+    }
+}
+
+
+// 去支付
+$('.to-play input.submit').click(function() {
+
+    var $this = $(this);
+
+    var addressId = $('.exist-address-list input[name="address"]:checked').closest('li').attr('data-id'),
+        deliveryTimeId = $('.pay-time-modify input[name="pay-time-radio"]:checked').val(),
+        deliveryWayId = $('.select-express input[name="carriagegroup"]:checked').val(),
+        invoiceTitle = $('#piaodesc').val(),
+        invoiceId = $('#piaotype').val(),
+        paymentType = $('.pay-time-modify input[name="pay-type"]:checked').val(),
+        paymentId = $('.pay-time-modify input[name="pay-type"]:checked').data('pay'),
+        remark = $('#notedesc').val(),
+        yohoCoin = $('#biprice').val(),
+        isPreContact = $('.pay-time-modify input[name="call-me"]:checked').val(),
+        isPrintPrice = $('.play-pan input[name="isPP"]:checked').val(),
+        redEnvelopes = $('.use-envelopes input:checked').attr('data-use'),
+        $juangroupInput = $('.play-juan.is-select input[name="juangroup"]:checked'),
+        codeVal = $juangroupInput.val(),
+        juanCode = !!codeVal ? codeVal : $juangroupInput.closest('li').find('#juancode').val();
+
+    $loading.show();
+
+    if (!!$this.attr('disabled')) {
+        return;
+    }
+
+    $this.attr('disabled', 'disabled');
+
+    $.ajax({
+        type: 'POST',
+        dataType: 'json',
+        url: '/cart/index/orderSub',
+        data: {
+            addressId: addressId,
+            cartType: cartType,
+            deliveryTimeId: deliveryTimeId,
+            deliveryWayId: deliveryWayId,
+            invoiceTitle: invoiceTitle,
+            invoiceId: invoiceId,
+            paymentId: paymentId,
+            paymentType: paymentType,
+            remark: remark,
+            couponCode: juanCode,
+            yohoCoin: yohoCoin,
+            isPreContact: ytoTrue(isPreContact),
+            isPrintPrice: ytoTrue(isPrintPrice),
+            redEnvelopes: redEnvelopes
+        }
+    }).then(function(d) {
+
+        $loading.hide();
+
+        if (d.code === 200) {
+            window.location.href = d.data.payUrl;
+        } else {
+            new dialog.Alert(d.message).show();
+        }
+    }).always(function() {
+        $this.removeAttr('disabled');
+    });
+});
+
+});
+define("js/shopping/pay", ["jquery"], function(require, exports, module){
+/**
+ * 支付页面
+ */
+
+//切换选项卡
+var $ = require("jquery"),
+    $choseTag = $('.mode div'),
+    $mode = $('.mode'),
+    $showPayImg = $('#show-pay-img'),
+    $btnty = $('#btnby'),
+    $lightBox = $('.light-box'),
+    $choosePay = $('#choosePay').val(),
+    $chooseMoid = $('.mode div[id="' + $choosePay + '"]').parent().data('value'),
+    $showValue = $choosePay ? $chooseMoid : $('.mode').eq(0).data('value'),
+    $payUrl = $('#payUrl').val(),
+    $modeData,
+    activeTab,
+    imgAlt,
+    imgSrc,
+    orderCode,
+    payment;
+
+$.jqtab = function(tabtit, tabcon) {
+
+    $(tabtit + ' li').click(function() {
+        activeTab = $(this).find('a').attr('tab');
+
+        $(tabtit + ' li').removeClass('thistab');
+        $(this).addClass('thistab');
+        $(tabcon).hide();
+        $('#' + activeTab).fadeIn();
+        return false;
+    });
+};
+
+
+$.jqtab('#tabs', '.tab-con');
+
+//选项卡点击
+function choosed() {
+    if ($choosePay) {
+        $('.mode div[id="' + $choosePay + '"]').addClass('choosed-tag').parent().addClass('choose-type');
+    } else {
+        $mode.eq(0).addClass('choose-type').show();
+        $mode.eq(0).find('div').addClass('choosed-tag');
+    }
+    $btnty.attr('value', '前往' + $('#' + $chooseMoid).attr('alt'));
+    $showPayImg.attr('src', $('#' + $chooseMoid).attr('src'));
+}
+
+choosed();
+
+$mode.click(function() {
+    $modeData = $(this).data();
+    $showValue = $modeData.value;
+    imgAlt = $('#' + $showValue).attr('alt');
+    imgSrc = $('#' + $showValue).attr('src');
+
+    $mode.removeClass('choose-type');
+    $(this).addClass('choose-type');
+    $choseTag.removeClass('choosed-tag');
+    $(this).find('.borer-tag').addClass('choosed-tag');
+    $btnty.attr('value', '前往' + imgAlt);
+    $showPayImg.attr('src', imgSrc);
+    return false;
+});
+
+
+$('.close').click(function() {
+    $lightBox.hide();
+});
+
+$('.change').click(function() {
+    $lightBox.hide();
+});
+
+//支付方式选择按钮
+function getData(payment, orderCode) {
+    $.ajax({
+        type: 'get',
+        url: '/common/addpaymentinterval',
+        dataType: 'json',
+        data: {
+            orderCode: orderCode,
+            payment: payment
+        }
+    });
+}
+
+$('#btnby').click(function() {
+    payment = $('.choose-type').attr('data-id');
+    orderCode = $('.order-num').text();
+    getData(payment, orderCode);
+    window.open($payUrl + '?order_code=' + orderCode + '&payment_type=' + $showValue);
+    $lightBox.show();
+});
+
+//发送支付确认
+$('.pay-over').unbind('click').bind('click', function() {
+    var _this = this;
+
+    $.post('/shopping/pay/sendPay',
+        {
+            orderCode: orderCode,
+            paymentId: payment
+        },
+        function() {
+            window.location.href = $(_this).data('url');
+        }
+    );
+});
+});
+define("js/pay/wechatqrcode", ["jquery"], function(require, exports, module){
+/**
+ * 微信支付页面
+ */
+
+var $ = require("jquery"),
+    $wOdetail = $('.w-odetail'),
+    $payHost = $('#payHost').val(),
+    $paySuccessUrl = $('#paySuccessUrl').val(),
+    $wPerm = $('.w-p-erm');
+
+require("plugin/jquery.qrcode");
+
+$wOdetail.click(function() {
+    $('.w-addrinfo').slideToggle('slow');
+
+    if ($wOdetail.find('i').hasClass('up')) {
+        $wOdetail.html('收起详情<i class="down"></i>');
+    } else {
+        $wOdetail.html('订单详情<i class="up"></i>');
+    }
+});
+
+$wPerm.qrcode({
+    render: 'table',
+    text: $wPerm.data('url')
+});
+
+function checkPayStatus() {
+    $.ajax({
+        url: $payHost,
+        dataType: 'jsonp',
+        success: function(data) {
+            if (data.message === 'success') {
+                window.location.href = $paySuccessUrl;
+            }
+        }
+    });
+}
+
+
+setInterval(checkPayStatus, 3000);
+});
+define("plugin/jquery.qrcode", ["jquery"], function(require, exports, module){
+/* jscs: disable */
+/* jshint ignore:start */
+var jQuery = require("jquery");
+
+(function(r) {
+    r.fn.qrcode = function(h) {
+        var s;
+
+        function u(a) {
+            this.mode = s;
+            this.data = a
+        }
+
+        function o(a, c) {
+            this.typeNumber = a;
+            this.errorCorrectLevel = c;
+            this.modules = null;
+            this.moduleCount = 0;
+            this.dataCache = null;
+            this.dataList = []
+        }
+
+        function q(a, c) {
+            if (void 0 == a.length) throw Error(a.length + "/" + c);
+            for (var d = 0; d < a.length && 0 == a[d];) d++;
+            this.num = Array(a.length - d + c);
+            for (var b = 0; b < a.length - d; b++) this.num[b] = a[b + d]
+        }
+
+        function p(a, c) {
+            this.totalCount = a;
+            this.dataCount = c
+        }
+
+        function t() {
+            this.buffer = [];
+            this.length = 0
+        }
+        u.prototype = {
+            getLength: function() {
+                return this.data.length
+            },
+            write: function(a) {
+                for (var c = 0; c < this.data.length; c++) a.put(this.data.charCodeAt(c), 8)
+            }
+        };
+        o.prototype = {
+            addData: function(a) {
+                this.dataList.push(new u(a));
+                this.dataCache = null
+            },
+            isDark: function(a, c) {
+                if (0 > a || this.moduleCount <= a || 0 > c || this.moduleCount <= c) throw Error(a + "," + c);
+                return this.modules[a][c]
+            },
+            getModuleCount: function() {
+                return this.moduleCount
+            },
+            make: function() {
+                if (1 > this.typeNumber) {
+                    for (var a = 1, a = 1; 40 > a; a++) {
+                        for (var c = p.getRSBlocks(a, this.errorCorrectLevel), d = new t, b = 0, e = 0; e < c.length; e++) b += c[e].dataCount;
+                        for (e = 0; e < this.dataList.length; e++) c = this.dataList[e], d.put(c.mode, 4), d.put(c.getLength(), j.getLengthInBits(c.mode, a)), c.write(d);
+                        if (d.getLengthInBits() <= 8 * b) break
+                    }
+                    this.typeNumber = a
+                }
+                this.makeImpl(!1, this.getBestMaskPattern())
+            },
+            makeImpl: function(a, c) {
+                this.moduleCount = 4 * this.typeNumber + 17;
+                this.modules = Array(this.moduleCount);
+                for (var d = 0; d < this.moduleCount; d++) {
+                    this.modules[d] = Array(this.moduleCount);
+                    for (var b = 0; b < this.moduleCount; b++) this.modules[d][b] = null
+                }
+                this.setupPositionProbePattern(0, 0);
+                this.setupPositionProbePattern(this.moduleCount -
+                    7, 0);
+                this.setupPositionProbePattern(0, this.moduleCount - 7);
+                this.setupPositionAdjustPattern();
+                this.setupTimingPattern();
+                this.setupTypeInfo(a, c);
+                7 <= this.typeNumber && this.setupTypeNumber(a);
+                null == this.dataCache && (this.dataCache = o.createData(this.typeNumber, this.errorCorrectLevel, this.dataList));
+                this.mapData(this.dataCache, c)
+            },
+            setupPositionProbePattern: function(a, c) {
+                for (var d = -1; 7 >= d; d++)
+                    if (!(-1 >= a + d || this.moduleCount <= a + d))
+                        for (var b = -1; 7 >= b; b++) - 1 >= c + b || this.moduleCount <= c + b || (this.modules[a + d][c + b] =
+                            0 <= d && 6 >= d && (0 == b || 6 == b) || 0 <= b && 6 >= b && (0 == d || 6 == d) || 2 <= d && 4 >= d && 2 <= b && 4 >= b ? !0 : !1)
+            },
+            getBestMaskPattern: function() {
+                for (var a = 0, c = 0, d = 0; 8 > d; d++) {
+                    this.makeImpl(!0, d);
+                    var b = j.getLostPoint(this);
+                    if (0 == d || a > b) a = b, c = d
+                }
+                return c
+            },
+            createMovieClip: function(a, c, d) {
+                a = a.createEmptyMovieClip(c, d);
+                this.make();
+                for (c = 0; c < this.modules.length; c++)
+                    for (var d = 1 * c, b = 0; b < this.modules[c].length; b++) {
+                        var e = 1 * b;
+                        this.modules[c][b] && (a.beginFill(0, 100), a.moveTo(e, d), a.lineTo(e + 1, d), a.lineTo(e + 1, d + 1), a.lineTo(e, d + 1), a.endFill())
+                    }
+                return a
+            },
+            setupTimingPattern: function() {
+                for (var a = 8; a < this.moduleCount - 8; a++) null == this.modules[a][6] && (this.modules[a][6] = 0 == a % 2);
+                for (a = 8; a < this.moduleCount - 8; a++) null == this.modules[6][a] && (this.modules[6][a] = 0 == a % 2)
+            },
+            setupPositionAdjustPattern: function() {
+                for (var a = j.getPatternPosition(this.typeNumber), c = 0; c < a.length; c++)
+                    for (var d = 0; d < a.length; d++) {
+                        var b = a[c],
+                            e = a[d];
+                        if (null == this.modules[b][e])
+                            for (var f = -2; 2 >= f; f++)
+                                for (var i = -2; 2 >= i; i++) this.modules[b + f][e + i] = -2 == f || 2 == f || -2 == i || 2 == i || 0 == f && 0 == i ? !0 : !1
+                    }
+            },
+            setupTypeNumber: function(a) {
+                for (var c =
+                        j.getBCHTypeNumber(this.typeNumber), d = 0; 18 > d; d++) {
+                    var b = !a && 1 == (c >> d & 1);
+                    this.modules[Math.floor(d / 3)][d % 3 + this.moduleCount - 8 - 3] = b
+                }
+                for (d = 0; 18 > d; d++) b = !a && 1 == (c >> d & 1), this.modules[d % 3 + this.moduleCount - 8 - 3][Math.floor(d / 3)] = b
+            },
+            setupTypeInfo: function(a, c) {
+                for (var d = j.getBCHTypeInfo(this.errorCorrectLevel << 3 | c), b = 0; 15 > b; b++) {
+                    var e = !a && 1 == (d >> b & 1);
+                    6 > b ? this.modules[b][8] = e : 8 > b ? this.modules[b + 1][8] = e : this.modules[this.moduleCount - 15 + b][8] = e
+                }
+                for (b = 0; 15 > b; b++) e = !a && 1 == (d >> b & 1), 8 > b ? this.modules[8][this.moduleCount -
+                    b - 1
+                ] = e : 9 > b ? this.modules[8][15 - b - 1 + 1] = e : this.modules[8][15 - b - 1] = e;
+                this.modules[this.moduleCount - 8][8] = !a
+            },
+            mapData: function(a, c) {
+                for (var d = -1, b = this.moduleCount - 1, e = 7, f = 0, i = this.moduleCount - 1; 0 < i; i -= 2)
+                    for (6 == i && i--;;) {
+                        for (var g = 0; 2 > g; g++)
+                            if (null == this.modules[b][i - g]) {
+                                var n = !1;
+                                f < a.length && (n = 1 == (a[f] >>> e & 1));
+                                j.getMask(c, b, i - g) && (n = !n);
+                                this.modules[b][i - g] = n;
+                                e--; - 1 == e && (f++, e = 7)
+                            }
+                        b += d;
+                        if (0 > b || this.moduleCount <= b) {
+                            b -= d;
+                            d = -d;
+                            break
+                        }
+                    }
+            }
+        };
+        o.PAD0 = 236;
+        o.PAD1 = 17;
+        o.createData = function(a, c, d) {
+            for (var c = p.getRSBlocks(a,
+                    c), b = new t, e = 0; e < d.length; e++) {
+                var f = d[e];
+                b.put(f.mode, 4);
+                b.put(f.getLength(), j.getLengthInBits(f.mode, a));
+                f.write(b)
+            }
+            for (e = a = 0; e < c.length; e++) a += c[e].dataCount;
+            if (b.getLengthInBits() > 8 * a) throw Error("code length overflow. (" + b.getLengthInBits() + ">" + 8 * a + ")");
+            for (b.getLengthInBits() + 4 <= 8 * a && b.put(0, 4); 0 != b.getLengthInBits() % 8;) b.putBit(!1);
+            for (; !(b.getLengthInBits() >= 8 * a);) {
+                b.put(o.PAD0, 8);
+                if (b.getLengthInBits() >= 8 * a) break;
+                b.put(o.PAD1, 8)
+            }
+            return o.createBytes(b, c)
+        };
+        o.createBytes = function(a, c) {
+            for (var d =
+                    0, b = 0, e = 0, f = Array(c.length), i = Array(c.length), g = 0; g < c.length; g++) {
+                var n = c[g].dataCount,
+                    h = c[g].totalCount - n,
+                    b = Math.max(b, n),
+                    e = Math.max(e, h);
+                f[g] = Array(n);
+                for (var k = 0; k < f[g].length; k++) f[g][k] = 255 & a.buffer[k + d];
+                d += n;
+                k = j.getErrorCorrectPolynomial(h);
+                n = (new q(f[g], k.getLength() - 1)).mod(k);
+                i[g] = Array(k.getLength() - 1);
+                for (k = 0; k < i[g].length; k++) h = k + n.getLength() - i[g].length, i[g][k] = 0 <= h ? n.get(h) : 0
+            }
+            for (k = g = 0; k < c.length; k++) g += c[k].totalCount;
+            d = Array(g);
+            for (k = n = 0; k < b; k++)
+                for (g = 0; g < c.length; g++) k < f[g].length &&
+                    (d[n++] = f[g][k]);
+            for (k = 0; k < e; k++)
+                for (g = 0; g < c.length; g++) k < i[g].length && (d[n++] = i[g][k]);
+            return d
+        };
+        s = 4;
+        for (var j = {
+                PATTERN_POSITION_TABLE: [
+                    [],
+                    [6, 18],
+                    [6, 22],
+                    [6, 26],
+                    [6, 30],
+                    [6, 34],
+                    [6, 22, 38],
+                    [6, 24, 42],
+                    [6, 26, 46],
+                    [6, 28, 50],
+                    [6, 30, 54],
+                    [6, 32, 58],
+                    [6, 34, 62],
+                    [6, 26, 46, 66],
+                    [6, 26, 48, 70],
+                    [6, 26, 50, 74],
+                    [6, 30, 54, 78],
+                    [6, 30, 56, 82],
+                    [6, 30, 58, 86],
+                    [6, 34, 62, 90],
+                    [6, 28, 50, 72, 94],
+                    [6, 26, 50, 74, 98],
+                    [6, 30, 54, 78, 102],
+                    [6, 28, 54, 80, 106],
+                    [6, 32, 58, 84, 110],
+                    [6, 30, 58, 86, 114],
+                    [6, 34, 62, 90, 118],
+                    [6, 26, 50, 74, 98, 122],
+                    [6, 30, 54, 78, 102, 126],
+                    [6, 26, 52,
+                        78, 104, 130
+                    ],
+                    [6, 30, 56, 82, 108, 134],
+                    [6, 34, 60, 86, 112, 138],
+                    [6, 30, 58, 86, 114, 142],
+                    [6, 34, 62, 90, 118, 146],
+                    [6, 30, 54, 78, 102, 126, 150],
+                    [6, 24, 50, 76, 102, 128, 154],
+                    [6, 28, 54, 80, 106, 132, 158],
+                    [6, 32, 58, 84, 110, 136, 162],
+                    [6, 26, 54, 82, 110, 138, 166],
+                    [6, 30, 58, 86, 114, 142, 170]
+                ],
+                G15: 1335,
+                G18: 7973,
+                G15_MASK: 21522,
+                getBCHTypeInfo: function(a) {
+                    for (var c = a << 10; 0 <= j.getBCHDigit(c) - j.getBCHDigit(j.G15);) c ^= j.G15 << j.getBCHDigit(c) - j.getBCHDigit(j.G15);
+                    return (a << 10 | c) ^ j.G15_MASK
+                },
+                getBCHTypeNumber: function(a) {
+                    for (var c = a << 12; 0 <= j.getBCHDigit(c) -
+                        j.getBCHDigit(j.G18);) c ^= j.G18 << j.getBCHDigit(c) - j.getBCHDigit(j.G18);
+                    return a << 12 | c
+                },
+                getBCHDigit: function(a) {
+                    for (var c = 0; 0 != a;) c++, a >>>= 1;
+                    return c
+                },
+                getPatternPosition: function(a) {
+                    return j.PATTERN_POSITION_TABLE[a - 1]
+                },
+                getMask: function(a, c, d) {
+                    switch (a) {
+                        case 0:
+                            return 0 == (c + d) % 2;
+                        case 1:
+                            return 0 == c % 2;
+                        case 2:
+                            return 0 == d % 3;
+                        case 3:
+                            return 0 == (c + d) % 3;
+                        case 4:
+                            return 0 == (Math.floor(c / 2) + Math.floor(d / 3)) % 2;
+                        case 5:
+                            return 0 == c * d % 2 + c * d % 3;
+                        case 6:
+                            return 0 == (c * d % 2 + c * d % 3) % 2;
+                        case 7:
+                            return 0 == (c * d % 3 + (c + d) % 2) % 2;
+                        default:
+                            throw Error("bad maskPattern:" +
+                                a);
+                    }
+                },
+                getErrorCorrectPolynomial: function(a) {
+                    for (var c = new q([1], 0), d = 0; d < a; d++) c = c.multiply(new q([1, l.gexp(d)], 0));
+                    return c
+                },
+                getLengthInBits: function(a, c) {
+                    if (1 <= c && 10 > c) switch (a) {
+                        case 1:
+                            return 10;
+                        case 2:
+                            return 9;
+                        case s:
+                            return 8;
+                        case 8:
+                            return 8;
+                        default:
+                            throw Error("mode:" + a);
+                    } else if (27 > c) switch (a) {
+                        case 1:
+                            return 12;
+                        case 2:
+                            return 11;
+                        case s:
+                            return 16;
+                        case 8:
+                            return 10;
+                        default:
+                            throw Error("mode:" + a);
+                    } else if (41 > c) switch (a) {
+                        case 1:
+                            return 14;
+                        case 2:
+                            return 13;
+                        case s:
+                            return 16;
+                        case 8:
+                            return 12;
+                        default:
+                            throw Error("mode:" +
+                                a);
+                    } else throw Error("type:" + c);
+                },
+                getLostPoint: function(a) {
+                    for (var c = a.getModuleCount(), d = 0, b = 0; b < c; b++)
+                        for (var e = 0; e < c; e++) {
+                            for (var f = 0, i = a.isDark(b, e), g = -1; 1 >= g; g++)
+                                if (!(0 > b + g || c <= b + g))
+                                    for (var h = -1; 1 >= h; h++) 0 > e + h || c <= e + h || 0 == g && 0 == h || i == a.isDark(b + g, e + h) && f++;
+                            5 < f && (d += 3 + f - 5)
+                        }
+                    for (b = 0; b < c - 1; b++)
+                        for (e = 0; e < c - 1; e++)
+                            if (f = 0, a.isDark(b, e) && f++, a.isDark(b + 1, e) && f++, a.isDark(b, e + 1) && f++, a.isDark(b + 1, e + 1) && f++, 0 == f || 4 == f) d += 3;
+                    for (b = 0; b < c; b++)
+                        for (e = 0; e < c - 6; e++) a.isDark(b, e) && !a.isDark(b, e + 1) && a.isDark(b, e +
+                            2) && a.isDark(b, e + 3) && a.isDark(b, e + 4) && !a.isDark(b, e + 5) && a.isDark(b, e + 6) && (d += 40);
+                    for (e = 0; e < c; e++)
+                        for (b = 0; b < c - 6; b++) a.isDark(b, e) && !a.isDark(b + 1, e) && a.isDark(b + 2, e) && a.isDark(b + 3, e) && a.isDark(b + 4, e) && !a.isDark(b + 5, e) && a.isDark(b + 6, e) && (d += 40);
+                    for (e = f = 0; e < c; e++)
+                        for (b = 0; b < c; b++) a.isDark(b, e) && f++;
+                    a = Math.abs(100 * f / c / c - 50) / 5;
+                    return d + 10 * a
+                }
+            }, l = {
+                glog: function(a) {
+                    if (1 > a) throw Error("glog(" + a + ")");
+                    return l.LOG_TABLE[a]
+                },
+                gexp: function(a) {
+                    for (; 0 > a;) a += 255;
+                    for (; 256 <= a;) a -= 255;
+                    return l.EXP_TABLE[a]
+                },
+                EXP_TABLE: Array(256),
+                LOG_TABLE: Array(256)
+            }, m = 0; 8 > m; m++) l.EXP_TABLE[m] = 1 << m;
+        for (m = 8; 256 > m; m++) l.EXP_TABLE[m] = l.EXP_TABLE[m - 4] ^ l.EXP_TABLE[m - 5] ^ l.EXP_TABLE[m - 6] ^ l.EXP_TABLE[m - 8];
+        for (m = 0; 255 > m; m++) l.LOG_TABLE[l.EXP_TABLE[m]] = m;
+        q.prototype = {
+            get: function(a) {
+                return this.num[a]
+            },
+            getLength: function() {
+                return this.num.length
+            },
+            multiply: function(a) {
+                for (var c = Array(this.getLength() + a.getLength() - 1), d = 0; d < this.getLength(); d++)
+                    for (var b = 0; b < a.getLength(); b++) c[d + b] ^= l.gexp(l.glog(this.get(d)) + l.glog(a.get(b)));
+                return new q(c, 0)
+            },
+            mod: function(a) {
+                if (0 >
+                    this.getLength() - a.getLength()) return this;
+                for (var c = l.glog(this.get(0)) - l.glog(a.get(0)), d = Array(this.getLength()), b = 0; b < this.getLength(); b++) d[b] = this.get(b);
+                for (b = 0; b < a.getLength(); b++) d[b] ^= l.gexp(l.glog(a.get(b)) + c);
+                return (new q(d, 0)).mod(a)
+            }
+        };
+        p.RS_BLOCK_TABLE = [
+            [1, 26, 19],
+            [1, 26, 16],
+            [1, 26, 13],
+            [1, 26, 9],
+            [1, 44, 34],
+            [1, 44, 28],
+            [1, 44, 22],
+            [1, 44, 16],
+            [1, 70, 55],
+            [1, 70, 44],
+            [2, 35, 17],
+            [2, 35, 13],
+            [1, 100, 80],
+            [2, 50, 32],
+            [2, 50, 24],
+            [4, 25, 9],
+            [1, 134, 108],
+            [2, 67, 43],
+            [2, 33, 15, 2, 34, 16],
+            [2, 33, 11, 2, 34, 12],
+            [2, 86, 68],
+            [4, 43, 27],
+            [4, 43, 19],
+            [4, 43, 15],
+            [2, 98, 78],
+            [4, 49, 31],
+            [2, 32, 14, 4, 33, 15],
+            [4, 39, 13, 1, 40, 14],
+            [2, 121, 97],
+            [2, 60, 38, 2, 61, 39],
+            [4, 40, 18, 2, 41, 19],
+            [4, 40, 14, 2, 41, 15],
+            [2, 146, 116],
+            [3, 58, 36, 2, 59, 37],
+            [4, 36, 16, 4, 37, 17],
+            [4, 36, 12, 4, 37, 13],
+            [2, 86, 68, 2, 87, 69],
+            [4, 69, 43, 1, 70, 44],
+            [6, 43, 19, 2, 44, 20],
+            [6, 43, 15, 2, 44, 16],
+            [4, 101, 81],
+            [1, 80, 50, 4, 81, 51],
+            [4, 50, 22, 4, 51, 23],
+            [3, 36, 12, 8, 37, 13],
+            [2, 116, 92, 2, 117, 93],
+            [6, 58, 36, 2, 59, 37],
+            [4, 46, 20, 6, 47, 21],
+            [7, 42, 14, 4, 43, 15],
+            [4, 133, 107],
+            [8, 59, 37, 1, 60, 38],
+            [8, 44, 20, 4, 45, 21],
+            [12, 33, 11, 4, 34, 12],
+            [3, 145, 115, 1, 146,
+                116
+            ],
+            [4, 64, 40, 5, 65, 41],
+            [11, 36, 16, 5, 37, 17],
+            [11, 36, 12, 5, 37, 13],
+            [5, 109, 87, 1, 110, 88],
+            [5, 65, 41, 5, 66, 42],
+            [5, 54, 24, 7, 55, 25],
+            [11, 36, 12],
+            [5, 122, 98, 1, 123, 99],
+            [7, 73, 45, 3, 74, 46],
+            [15, 43, 19, 2, 44, 20],
+            [3, 45, 15, 13, 46, 16],
+            [1, 135, 107, 5, 136, 108],
+            [10, 74, 46, 1, 75, 47],
+            [1, 50, 22, 15, 51, 23],
+            [2, 42, 14, 17, 43, 15],
+            [5, 150, 120, 1, 151, 121],
+            [9, 69, 43, 4, 70, 44],
+            [17, 50, 22, 1, 51, 23],
+            [2, 42, 14, 19, 43, 15],
+            [3, 141, 113, 4, 142, 114],
+            [3, 70, 44, 11, 71, 45],
+            [17, 47, 21, 4, 48, 22],
+            [9, 39, 13, 16, 40, 14],
+            [3, 135, 107, 5, 136, 108],
+            [3, 67, 41, 13, 68, 42],
+            [15, 54, 24, 5, 55, 25],
+            [15,
+                43, 15, 10, 44, 16
+            ],
+            [4, 144, 116, 4, 145, 117],
+            [17, 68, 42],
+            [17, 50, 22, 6, 51, 23],
+            [19, 46, 16, 6, 47, 17],
+            [2, 139, 111, 7, 140, 112],
+            [17, 74, 46],
+            [7, 54, 24, 16, 55, 25],
+            [34, 37, 13],
+            [4, 151, 121, 5, 152, 122],
+            [4, 75, 47, 14, 76, 48],
+            [11, 54, 24, 14, 55, 25],
+            [16, 45, 15, 14, 46, 16],
+            [6, 147, 117, 4, 148, 118],
+            [6, 73, 45, 14, 74, 46],
+            [11, 54, 24, 16, 55, 25],
+            [30, 46, 16, 2, 47, 17],
+            [8, 132, 106, 4, 133, 107],
+            [8, 75, 47, 13, 76, 48],
+            [7, 54, 24, 22, 55, 25],
+            [22, 45, 15, 13, 46, 16],
+            [10, 142, 114, 2, 143, 115],
+            [19, 74, 46, 4, 75, 47],
+            [28, 50, 22, 6, 51, 23],
+            [33, 46, 16, 4, 47, 17],
+            [8, 152, 122, 4, 153, 123],
+            [22, 73, 45,
+                3, 74, 46
+            ],
+            [8, 53, 23, 26, 54, 24],
+            [12, 45, 15, 28, 46, 16],
+            [3, 147, 117, 10, 148, 118],
+            [3, 73, 45, 23, 74, 46],
+            [4, 54, 24, 31, 55, 25],
+            [11, 45, 15, 31, 46, 16],
+            [7, 146, 116, 7, 147, 117],
+            [21, 73, 45, 7, 74, 46],
+            [1, 53, 23, 37, 54, 24],
+            [19, 45, 15, 26, 46, 16],
+            [5, 145, 115, 10, 146, 116],
+            [19, 75, 47, 10, 76, 48],
+            [15, 54, 24, 25, 55, 25],
+            [23, 45, 15, 25, 46, 16],
+            [13, 145, 115, 3, 146, 116],
+            [2, 74, 46, 29, 75, 47],
+            [42, 54, 24, 1, 55, 25],
+            [23, 45, 15, 28, 46, 16],
+            [17, 145, 115],
+            [10, 74, 46, 23, 75, 47],
+            [10, 54, 24, 35, 55, 25],
+            [19, 45, 15, 35, 46, 16],
+            [17, 145, 115, 1, 146, 116],
+            [14, 74, 46, 21, 75, 47],
+            [29, 54, 24, 19,
+                55, 25
+            ],
+            [11, 45, 15, 46, 46, 16],
+            [13, 145, 115, 6, 146, 116],
+            [14, 74, 46, 23, 75, 47],
+            [44, 54, 24, 7, 55, 25],
+            [59, 46, 16, 1, 47, 17],
+            [12, 151, 121, 7, 152, 122],
+            [12, 75, 47, 26, 76, 48],
+            [39, 54, 24, 14, 55, 25],
+            [22, 45, 15, 41, 46, 16],
+            [6, 151, 121, 14, 152, 122],
+            [6, 75, 47, 34, 76, 48],
+            [46, 54, 24, 10, 55, 25],
+            [2, 45, 15, 64, 46, 16],
+            [17, 152, 122, 4, 153, 123],
+            [29, 74, 46, 14, 75, 47],
+            [49, 54, 24, 10, 55, 25],
+            [24, 45, 15, 46, 46, 16],
+            [4, 152, 122, 18, 153, 123],
+            [13, 74, 46, 32, 75, 47],
+            [48, 54, 24, 14, 55, 25],
+            [42, 45, 15, 32, 46, 16],
+            [20, 147, 117, 4, 148, 118],
+            [40, 75, 47, 7, 76, 48],
+            [43, 54, 24, 22, 55, 25],
+            [10,
+                45, 15, 67, 46, 16
+            ],
+            [19, 148, 118, 6, 149, 119],
+            [18, 75, 47, 31, 76, 48],
+            [34, 54, 24, 34, 55, 25],
+            [20, 45, 15, 61, 46, 16]
+        ];
+        p.getRSBlocks = function(a, c) {
+            var d = p.getRsBlockTable(a, c);
+            if (void 0 == d) throw Error("bad rs block @ typeNumber:" + a + "/errorCorrectLevel:" + c);
+            for (var b = d.length / 3, e = [], f = 0; f < b; f++)
+                for (var h = d[3 * f + 0], g = d[3 * f + 1], j = d[3 * f + 2], l = 0; l < h; l++) e.push(new p(g, j));
+            return e
+        };
+        p.getRsBlockTable = function(a, c) {
+            switch (c) {
+                case 1:
+                    return p.RS_BLOCK_TABLE[4 * (a - 1) + 0];
+                case 0:
+                    return p.RS_BLOCK_TABLE[4 * (a - 1) + 1];
+                case 3:
+                    return p.RS_BLOCK_TABLE[4 *
+                        (a - 1) + 2];
+                case 2:
+                    return p.RS_BLOCK_TABLE[4 * (a - 1) + 3]
+            }
+        };
+        t.prototype = {
+            get: function(a) {
+                return 1 == (this.buffer[Math.floor(a / 8)] >>> 7 - a % 8 & 1)
+            },
+            put: function(a, c) {
+                for (var d = 0; d < c; d++) this.putBit(1 == (a >>> c - d - 1 & 1))
+            },
+            getLengthInBits: function() {
+                return this.length
+            },
+            putBit: function(a) {
+                var c = Math.floor(this.length / 8);
+                this.buffer.length <= c && this.buffer.push(0);
+                a && (this.buffer[c] |= 128 >>> this.length % 8);
+                this.length++
+            }
+        };
+        "string" === typeof h && (h = {
+            text: h
+        });
+        h = r.extend({}, {
+            render: "canvas",
+            width: 256,
+            height: 256,
+            typeNumber: -1,
+            correctLevel: 2,
+            background: "#ffffff",
+            foreground: "#000000"
+        }, h);
+        return this.each(function() {
+            var a;
+            if ("canvas" == h.render) {
+                a = new o(h.typeNumber, h.correctLevel);
+                a.addData(h.text);
+                a.make();
+                var c = document.createElement("canvas");
+                c.width = h.width;
+                c.height = h.height;
+                for (var d = c.getContext("2d"), b = h.width / a.getModuleCount(), e = h.height / a.getModuleCount(), f = 0; f < a.getModuleCount(); f++)
+                    for (var i = 0; i < a.getModuleCount(); i++) {
+                        d.fillStyle = a.isDark(f, i) ? h.foreground : h.background;
+                        var g = Math.ceil((i + 1) * b) - Math.floor(i * b),
+                            j = Math.ceil((f + 1) * b) - Math.floor(f * b);
+                        d.fillRect(Math.round(i * b), Math.round(f * e), g, j)
+                    }
+            } else {
+                a = new o(h.typeNumber, h.correctLevel);
+                a.addData(h.text);
+                a.make();
+                c = r("<table></table>").css("width", h.width + "px").css("height", h.height + "px").css("border", "0px").css("border-collapse", "collapse").css("background-color", h.background);
+                d = h.width / a.getModuleCount();
+                b = h.height / a.getModuleCount();
+                for (e = 0; e < a.getModuleCount(); e++) {
+                    f = r("<tr></tr>").css("height", b + "px").appendTo(c);
+                    for (i = 0; i < a.getModuleCount(); i++) r("<td></td>").css("width",
+                        d + "px").css("background-color", a.isDark(e, i) ? h.foreground : h.background).appendTo(f)
+                }
+            }
+            a = c;
+            jQuery(a).appendTo(this)
+        })
+    }
+})(jQuery);
+/* jscs: enable */
+/* jshint ignore:end */
+});
+define("js/about/entry", ["jquery","jquery.placeholder","handlebars","source-map"], function(require, exports, module){
+/**
+ * 逛打包入口
+ * @author: yyqing<yanqing.yang@yoho.cn>
+ * @date: 2016/4/14
+ */
+
+require("js/about/settled");
+
+});
+define("js/about/settled", ["jquery","jquery.placeholder","handlebars","source-map"], function(require, exports, module){
+/**
+ * 商家入驻
+ * @author: xuqi<qi.xu@yoho>
+ * @date: 2016/3/24
+ */
+
+var $ = require("jquery");
+
+var reg = require("js/passport/mail-phone-regx");
+
+require("jquery.placeholder");
+require("plugin/jquery.qupload");
+
+//入口页
+(function() {
+    var $mask,
+        $dialog;
+
+    if ($('.settled-page').length === 0) {
+        return;
+    }
+
+    $mask = $('#mask');
+    $dialog = $('#notice-container');
+
+    function showNotice() {
+        var wh = $(window).height();
+
+        $mask.removeClass('hide');
+        $dialog.css({
+            'max-height': wh - 60
+        }).removeClass('hide');
+    }
+
+    function hideNotice() {
+        $mask.addClass('hide');
+        $dialog.addClass('hide');
+    }
+
+    $('#fake-link').click(showNotice);
+
+    $('#fake-close').click(hideNotice);
+    $('#mask').click(hideNotice);
+}());
+
+//申请页
+(function() {
+    var $otherBr,
+        $otherNp,
+        $otherRp,
+        $categoryUl,
+        $shopListTr,
+        $shops,
+        $panel;
+
+    var $postcode,
+        $email,
+        $phoneNum,
+        $upKey,
+        $styleCount;
+
+    var categoryHtml = $('#category-tpl').html();
+
+    var Dialog = require("js/common/dialog").Dialog;
+    var successDialog,
+        SWFUpload = window.SWFUpload,
+        upKey;
+
+    if ($('.settled-apply-page').length < 0) {
+        return;
+    }
+
+    $('[placeholder]').placeholder();
+
+    $otherBr = $('#other-brand-relation');
+    $otherNp = $('#other-new-period');
+    $otherRp = $('#other-replenishment-period');
+    $categoryUl = $('#category-list');
+    $shopListTr = $('#shop-list');
+    $shops = $('#shops');
+    $panel = $('#mask, #submit-success');
+
+    $postcode = $('#postcode');
+    $email = $('#email');
+    $phoneNum = $('#phone-number');
+    $upKey = $('#upload-key');
+    $styleCount = $('#style-count');
+    upKey = $upKey.val();
+    $upKey.remove();
+
+    function initUpload(arr) {
+        $.each(arr, function(k, v) {
+            $('#' + v.dom).qupload({
+                uploadKey: upKey,
+                button_image_url: '',
+                button_text: '<span class="btn_upload_text">上传</span>',
+                button_text_style:
+                    '.btn_upload_text{color:#000;margin-left:30px;' +
+                    'line-height: 2em;font-size:14px;}',
+                button_text_left_padding: 32,
+                button_text_top_padding: 8,
+                button_width: 160,
+                button_height: 35,
+                button_action: SWFUpload.BUTTON_ACTION.SELECT_FILE,//单选
+                file_size_limit: '10240',
+                file_types: v.type,
+                uploadSuccessed: function(serverData) {
+                    var data = JSON.parse(serverData);
+
+                    if (data.code !== 12) {
+                        alert(data.message);
+                        return false;
+                    }
+                    v.callback(data.data.hit.Filedata.return_file_path);
+                }
+            });
+        });
+    }
+
+    function validate() {
+        var pass = true,
+            postcodeReg = /[0-9]\d{5}(?!\d)/,
+            emailReg = reg.emailRegx,
+            phoneReg = reg.phoneRegx['+86'],
+            styleCountReg = /^(0|[1-9][0-9]*)$/;
+
+        $('.va, .category-item select, .for-other, .category-item').removeClass('error');
+
+        $('.va-null').each(function() {
+            if ($(this).val() === '') {
+                $(this).addClass('error');
+                pass = false;
+            }
+        });
+
+        if ($postcode.val() === '' || !postcodeReg.test($postcode.val())) {
+            $postcode.addClass('error');
+            pass = false;
+        }
+
+        if ($email.val() === '' || !emailReg.test($email.val())) {
+            $email.addClass('error');
+            pass = false;
+        }
+
+        if ($phoneNum.val() === '' || !(phoneReg.test($phoneNum.val()))) {
+            $phoneNum.addClass('error');
+            pass = false;
+        }
+
+        if ($styleCount.val() === '' || !(styleCountReg.test($styleCount.val()))) {
+            $styleCount.addClass('error');
+            pass = false;
+        }
+
+        $('.category-item').each(function() {
+            if ($(this).get(0).selectedIndex === 0) {
+                $(this).addClass('error');
+                pass = false;
+            }
+        });
+
+        if ($('input[name="seller-role"]:checked').index() === 3 &&
+            $otherBr.val() === '') {
+            pass = false;
+            $otherBr.addClass('error');
+        }
+
+        if ($('input[name="new_cycle"]:checked').index() === 5 &&
+            $otherNp.val() === '') {
+            pass = false;
+            $otherNp.addClass('error');
+        }
+
+        if ($('input[name="supply_cycle"]:checked').index() === 5 &&
+            $otherRp.val() === '') {
+            pass = false;
+            $otherRp.addClass('error');
+        }
+
+        return pass;
+    }
+
+    function addCategoryUI() {
+        $categoryUl.closest('tr').removeClass('hide');
+        $categoryUl.append('<li>' + categoryHtml + '</li>');
+    }
+
+    //获取二级分类的方法
+    function getCategoryTwo() {
+        var id = $(this).val();
+        var $categoryTwo = $(this).parent().find('.category-two');
+        var html = '<option>选择二级分类</option>';
+
+        if (id === '') {
+            $categoryTwo.html(html);
+            return;
+        }
+
+        $.ajax({
+            url: '/shop/settled/getTwoCategory',
+            type: 'GET',
+            data: {
+                id: id
+            }
+        }).then(function(data) {
+            var res = [];
+            var key;
+
+            if (data.code === 200) {
+                res = data.data;
+                for (key = 0; key < res.length; key++) {
+                    html += '<option value="' + res[key].id + '" >' + res[key].name + '</option>';
+                }
+            }
+            $categoryTwo.html(html);
+        });
+    }
+
+    // 初始化上传插件
+    initUpload([
+        {
+            dom: 'upload-brand-material',
+            type: '*.ppt;*.pdf;*.zip;*.rar',
+            callback: function(data) {
+                $('#brand-material').val(data);
+                $('.brand-tip').html('上传成功');
+                alert('上传成功!');
+            }
+        },
+        {
+            dom: 'upload-goods-material',
+            type: '*.xls;*.xlsx;*.zip;*.rar',
+            callback: function(data) {
+                $('#goods-material').val(data);
+                $('.goods-tip').html('上传成功');
+                alert('上传成功!');
+            }
+        }
+    ]);
+
+    // 提交成功
+    if (location.search.indexOf('state=1') > -1) {
+        successDialog = new Dialog({
+            className: 'settled-success',
+            closeIcon: false,
+            content: '<h1 class="main-title">恭喜您已提交成功</h1><h2 class="sub-title">我们将尽快与您联系</h2>',
+            btns: [
+                {
+                    id: 'apply-success-ok',
+                    btnClass: ['apply-success-ok'],
+                    name: '确认',
+                    cb: function() {
+                        location.href = '/shop/settled/index';
+                    }
+                }
+            ]
+        });
+        successDialog.show();
+        return;
+    }
+
+    $('input[name="seller_role"]').change(function() {
+        if ($(this).index() === 3) {
+            $otherBr.removeClass('hide');
+        } else {
+            $otherBr.addClass('hide');
+        }
+    });
+
+    $('input[name="new-cycle"]').change(function() {
+        if ($(this).index() === 5) {
+            $otherNp.removeClass('hide');
+        } else {
+            $otherNp.addClass('hide');
+        }
+    });
+
+    $('input[name="supply-cycle"]').change(function() {
+        if ($(this).index() === 5) {
+            $otherRp.removeClass('hide');
+        } else {
+            $otherRp.addClass('hide');
+        }
+    });
+
+    $('input[name="have-store"]').change(function() {
+        if ($(this).index() === 1) {
+            $shopListTr.addClass('hide');
+        } else {
+            $shopListTr.removeClass('hide');
+        }
+    });
+
+    $('.form-container').on('change', '.category-one', getCategoryTwo);
+
+    $('#category-add').click(addCategoryUI);
+
+    $shops.delegate('.shop-add', 'click', function() {
+        $shops.append(
+            '<li>' +
+                '<input class="shop-addres" name="store-address[]" type="text" placeholder="输入店铺地址">' +
+                '<span>月均销售:</span>' +
+                '<input class="shop-sales-volume" type="text" name="store-sales-volume[]" placeholder="输入价格">' +
+                '<span>元</span>' +
+            '</li>'
+        );
+    });
+
+    $('#apply-post').click(function() {
+        var scrollTo;
+
+        if (validate()) {
+            $panel.removeClass('hide');
+            $('form').submit();
+        } else {
+            $('.error').first().focus();
+            scrollTo = $('.error').first().offset().top;
+            $(window).scrollTop(scrollTo - 10);
+        }
+    });
+
+    if (navigator.userAgent.indexOf('MSIE') >= 0) {
+        $('[placeholder]').focus(function() {
+            var $input = $(this);
+
+            $input.removeClass('placeholder');
+        }).blur(function() {
+            var $input = $(this);
+
+            if ($input.val() === '') {
+                $input.addClass('placeholder');
+            }
+        });
+    }
+}());
+});
+define("js/coupon/entry", ["jquery","lazyload","handlebars","source-map"], function(require, exports, module){
+/**
+ * 领券频道打包入口
+ * @author: zhaobiao<biao.zhao@yoho.cn>
+ * @date: 2016/4/12
+ */
+
+require("js/coupon/coupon");
+
+});
+define("js/coupon/coupon", ["jquery","lazyload","handlebars","source-map"], function(require, exports, module){
+/**
+ * 领券频道
+ * @author: 赵彪<bill.zhao@yoho.cn>
+ * @date: 2016/04/14
+ */
+var $ = require("jquery"),
+    lazyLoad = require("lazyload"),
+    Dialog = require("js/common/dialog").Dialog;
+
+
+var alertConfig,
+    makeAlert;
+
+// j面跳转对象
+var redirect = {
+
+    // 去逛逛跳转链接
+    gunangSrc: null,
+
+    // 查看优惠券跳转链接
+    checkCouponSrc: null,
+    goToGuang: function() {
+        window.location.href = this.gunangSrc;
+    },
+    goToCheck: function() {
+        window.location.href = this.checkCouponSrc;
+    },
+
+    // 处理网络返回
+    403: function(url) {
+        window.location.href = url;
+    },
+    200: function(url) {
+        this.checkCouponSrc = url;
+    }
+};
+
+//加载底部图片
+lazyLoad($('img.lazy'));
+
+require("js/common/slider");
+
+
+$('.slide-container').slider();
+
+// 根据配置执行展示弹窗
+function couponAlert(opt) {
+    var newAlert = new Dialog(opt);
+
+    newAlert.show();
+}
+
+// 配置弹窗
+alertConfig = {
+    success: {
+        content: '恭喜您,成功领取优惠券',
+        subContents: ['特殊情况下到账有延时', '请耐心等待'],
+        className: 'subcontent-dialog',
+        refreshOnClose: true,
+        btns: [
+            {
+                id: 1,
+                name: '去购物啦',
+                btnClass: ['black', 'btn-close'],
+                cb: function() {
+                    redirect.goToGuang();
+                }
+            },
+            {
+                id: 2,
+                name: '查看优惠券',
+                btnClass: ['btn-close'],
+                cb: function() {
+                    redirect.goToCheck();
+                }
+            }
+        ]
+    },
+    alreadyGot: {
+        content: '您已领取过优惠券',
+        subContent: '快去选购心仪的潮品吧',
+        className: 'subcontent-dialog',
+        btns: [
+            {
+                id: 1,
+                name: '去使用',
+                btnClass: ['btn-close'],
+                cb: function() {
+                    redirect.goToGuang();
+                }
+            }
+        ]
+    },
+    expired: {
+        content: '优惠券已过期',
+        subContent: '去领最新的优惠券吧',
+        className: 'subcontent-dialog',
+        btns: [
+            {
+                id: 1,
+                name: '关闭',
+                btnClass: ['btn-close']
+            }
+        ]
+    },
+    failed: {
+        content: '领取失败',
+        subContents: ['请刷新重试,', '多次无效请联系客服'],
+        className: 'subcontent-dialog',
+        btns: [
+            {
+                id: 1,
+                name: '刷新',
+                btnClass: ['btn-close'],
+                cb: function() {
+                    window.location.reload();
+                }
+            }
+        ]
+    }
+};
+
+// 对应不同的网络返回码展示不同的弹窗
+makeAlert = {
+    200: function() {
+        couponAlert(alertConfig.success);
+    },
+    401: function() {
+        couponAlert(alertConfig.alreadyGot);
+    },
+    315: function() {
+        couponAlert(alertConfig.expired);
+    },
+    400: function() {
+        couponAlert(alertConfig.failed);
+    },
+    403: function() {
+
+        // do not make alert when user are not login in
+    }
+};
+
+function requestCoupon(id) {
+    $.ajax({
+        type: 'GET',
+        url: '/coupon/sendcoupon',
+        data: {
+            id: id
+        },
+        success: function(res) {
+            var code = res.code;
+
+            // 如果返回的数据里有url,则执行redirect里的方法
+            res.url && res.url.length > 0 && redirect[code] && redirect[code](res.url + '?'+ location.href.split('?')[1]);
+
+            // 如果能找到对应code则执行相应方法,如果没有的对应code则执行error提示
+            makeAlert[code] ? makeAlert[code]() : makeAlert['400']();
+
+        },
+        error: function(err) {
+            var Alert = require("js/common/dialog").Alert;
+
+            new Alert('网络异常').show();
+        }
+    });
+}
+
+$('.enable .info').on('click', function(e) {
+    e.preventDefault();
+    requestCoupon($(this).closest('a').data('id'));
+    redirect.gunangSrc = $(this).closest('a').get(0).href;
+});
+
+});
diff --git a/web-static/dist/yohobuy/4.6.3/index.css b/web-static/dist/yohobuy/4.6.3/index.css
new file mode 100644
index 0000000..527e111
--- /dev/null
+++ b/web-static/dist/yohobuy/4.6.3/index.css
@@ -0,0 +1 @@
+@charset "utf-8";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}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}.clearfix:after{content:'';display:table;clear:both}body{font-family:arial,Microsoft YaHei}@font-face{font-family:iconfont;src:url(../assets/font/iconfont.eot?v1559f4c2ba4);src:url(../assets/font/iconfont.eot?v1559f4c2ba4#iefix) format('embedded-opentype'),url(../assets/font/iconfont.woff?v1559f4c3400) format('woff'),url(../assets/font/iconfont.ttf?v1559f4c33fe) format('truetype'),url(../assets/font/iconfont.svg?v1559f4c2bb7#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}.center-content{width:1150px;margin-left:auto;margin-right:auto}.min-screen .center-content{width:990px}.left,.pull-left{float:left}.pull-right,.right{float:right}.center{text-align:center}.hide{display:none!important}a:focus,input,textarea{outline:none}a{text-decoration:none;color:#000}.body-mask{position:absolute;z-index:9;background:#000;opacity:.2;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=20)";top:0;left:0}.yoho-notice{width:100%;height:100px;font-size:12px;background-color:#555;font-family:微软雅黑}.yoho-notice .notice-title{height:100px;line-height:100px;font-size:27px;font-weight:700;color:#fff;width:245px;position:absolute}.yoho-notice .notice-content{padding:16px 0 0 300px;color:#e8e8e8}.yoho-notice .notice-content .tips{margin-bottom:10px}.yoho-notice .notice-content .detail{line-height:16px}.yoho-header .header-topwrapper{width:100%;background-color:#f4f4f4;min-width:1150px}.yoho-header .header-top{width:1150px;height:32px;line-height:32px;margin:0 auto;position:relative}.yoho-header #loginBox{display:none}.yoho-header .leftpart{position:relative;padding-left:5px;padding-right:5px}.yoho-header .leftpart:hover{background-color:#dcdcdc}.yoho-header .leftpart:hover .yohoproducts-list{display:block!important}.yoho-header .leftpart .acttags{background-color:#dcdcdc}.yoho-header .yohoproducts-list{position:absolute;display:none;width:170px;left:0;top:32px;background-color:#f4f4f4;padding-top:30px;padding-bottom:10px;padding-left:20px;z-index:19}.yoho-header .yohoproducts-item{height:14px;line-height:14px;margin-bottom:20px}.yoho-header .yohoproducts-item a{color:#9196a0;font-size:14px}.yoho-header .yohoproducts-item:hover a{color:#000}.yoho-header .rightpart{position:absolute;right:0;top:0}.yoho-header .rightpart .acttags{background-color:#dcdcdc}.yoho-header .rightpart .tag-seprate{border-color:#dcdcdc}.yoho-header .hi,.yoho-header .loginbar,.yoho-header .registbar{display:inline-block;float:left}.yoho-header .hi{color:#8e8e8e;font-size:12px}.yoho-header #loginBox a,.yoho-header #loginBox span,.yoho-header .header-yoho,.yoho-header .login-out,.yoho-header .loginbar,.yoho-header .registbar{color:#000;font-size:12px}.yoho-header .registbar{margin-left:7px}.yoho-header .tag-list-wrapper{margin-left:13px;float:left}.yoho-header .tag-list{margin-left:13px;height:34px}.yoho-header .tag-seprate{margin-top:11px;width:0;height:14px;display:inline-block;float:left;border-left:1px solid #dcdcdc}.yoho-header .tag-item{display:inline-block;float:left;line-height:32px;box-sizing:border-box;margin-left:-1px}.yoho-header .tag-item a{color:#8e8e8e;font-size:12px;display:inline-block}.yoho-header .tag-item span{display:inline-block}.yoho-header .myyoho{padding-right:10px;position:relative}.yoho-header .myyoho .tag-seprate{margin-right:12px}.yoho-header .myyoho-info{position:absolute;display:none;top:32px;left:-110px;width:300px;background-color:#f8f8f8;z-index:18}.yoho-header .myyoho-photo{overflow:hidden}.yoho-header .myyoho-photo img{display:block;margin:0 auto;width:63px;height:63px;border-radius:50%}.yoho-header .myyoho-info-header{margin:17px auto 0;width:257px;border-bottom:1px solid #dcdcdc;text-align:center;padding-bottom:15px}.yoho-header .user-email{margin-top:14px;color:#000;height:25px;line-height:20px;font-size:18px}.yoho-header .user-level{color:#000;height:20px;line-height:20px;font-size:18px}.yoho-header .user-level .leveldetail{color:#8cc4f9}.yoho-header .levelinfo{width:100%;padding-top:10px;clear:both;height:15px}.yoho-header .levelwrapper{width:150px;height:14px;background-color:#e2e2e2;margin-left:40px;position:relative}.yoho-header .levelspan{position:absolute;left:2px;height:14px;top:0;line-height:16px}.yoho-header .levelwrapper .integrate{height:14px;line-height:15px;background-color:#ceae64;text-align:left;padding-left:5px}.yoho-header .cardcate{font-size:14px;line-height:14px;margin-left:5px}.yoho-header .myyoho-info-content{margin:20px auto 0;padding-left:35px;padding-right:29px;border-bottom:1px solid #dcdcdc}.yoho-header .myyoho-info-content .item{height:12px;line-height:12px;margin-bottom:16px}.yoho-header .myyoho-info-content .item a{font-size:14px;color:#000}.yoho-header .myyoho-info-footer{height:51px;line-height:51px;text-align:center}.yoho-header .myyoho-info-footer a{color:#000;font-size:14px}.yoho-header .myorder{padding-right:10px}.yoho-header .myorder .tag-seprate{margin-right:11px}.yoho-header .mycollect{padding-right:11px}.yoho-header .mycollect .tag-seprate{margin-right:11px}.yoho-header .message{padding-right:10px}.yoho-header .message .tag-seprate{margin-right:11px}.yoho-header .phone{padding-right:8px;position:relative}.yoho-header .phone .tag-seprate{margin-right:10px}.yoho-header .qr{position:absolute;display:none;top:32px;left:-100px;width:231px;height:290px;background-color:#f8f8f8;z-index:19}.yoho-header .qr-img{position:relative;background-image:url(../assets/img/header/qr.png?v1559f4c3c92);background-repeat:no-repeat;background-size:100% 100%;margin:32px auto 15px;width:143px;height:147px}.yoho-header .qr-words{height:25px;line-height:25px;font-size:16px;text-align:center}.yoho-header .qr-more{margin-top:6px;line-height:25px;font-size:14px;text-align:center}.yoho-header .onlineserver .tag-seprate{margin-right:10px}.yoho-header .header-navwrapper{width:100%;height:130px;position:relative;min-width:1150px}.yoho-header .header-navcontent{width:1150px;height:130px;margin:0 auto}.yoho-header .first-nav-list{margin-top:45px}.yoho-header .first-nav-item{float:left;padding:8px 23px 0}.yoho-header .first-nav-item .menu-ico{width:84px;height:32px;display:block}.yoho-header .all a,.yoho-header .all span,.yoho-header .boys a,.yoho-header .boys span,.yoho-header .girls a,.yoho-header .girls span,.yoho-header .kids a,.yoho-header .kids span,.yoho-header .lifestyle a,.yoho-header .lifestyle span{color:#fff!important}.yoho-header .all{background-color:#5e4b3c}.yoho-header .all .sub-nav-wrapper{background-color:#000;display:block!important}.yoho-header .all .third-nav-wrapper{border-top:2px solid #000}.yoho-header .searchcateboys .searchinput{border:1px solid #3a3a3a}.yoho-header .searchcateboys .icon-search{background-color:#3a3a3a!important}.yoho-header .searchcategirls .searchinput{border:1px solid #ff88ae}.yoho-header .searchcategirls .icon-search{background-color:#ff88ae!important}.yoho-header .searchcatewoman .searchinput{border:1px solid #ff88ae}.yoho-header .searchcatewoman .icon-search{background-color:#ff88ae!important}.yoho-header .searchcatekids .searchinput{border:1px solid #7bd3f9!important}.yoho-header .searchcatekids .icon-search{background-color:#7bd3f9!important}.yoho-header .gobuyboys{background-position:0 0}.yoho-header .gobuyboys,.yoho-header .gobuygirls{background-image:url(../assets/img/sprite.header.png?v1559f4c4795)}.yoho-header .gobuygirls{background-position:-56px 0}.yoho-header .gobuykids{background-position:-28px 0}.yoho-header .gobuykids,.yoho-header .gobuylifestyle{background-image:url(../assets/img/sprite.header.png?v1559f4c4795)}.yoho-header .gobuylifestyle{background-position:0 -28px}.yoho-header .gobuyoutlets{background-image:url(../assets/img/sprite.header.png?v1559f4c4795);background-position:-28px -28px}.yoho-header .searchcatelifestyle .searchinput{border:1px solid #5e4b3c!important}.yoho-header .searchcatelifestyle .icon-search{background-color:#5e4b3c!important}.yoho-header .boys{background-color:#3a3a3a}.yoho-header .boys .sub-nav-wrapper{background-color:#3a3a3a;display:block!important}.yoho-header .boys .third-nav-wrapper{border-top:2px solid #3a3a3a}.yoho-header .girls{background-color:#ff88ae}.yoho-header .girls .sub-nav-wrapper{background-color:#ff88ae;display:block!important}.yoho-header .girls .third-nav-wrapper{border-top:2px solid #ff88ae}.yoho-header .kids{background-color:#7bd3f9}.yoho-header .kids .sub-nav-wrapper{background-color:#7bd3f9;display:block!important}.yoho-header .kids .third-nav-wrapper{border-top:2px solid #7bd3f9}.yoho-header .lifestyle{background-color:#5e4b3c}.yoho-header .lifestyle .sub-nav-wrapper{background-color:#5e4b3c;display:block!important}.yoho-header .lifestyle .third-nav-wrapper{border-top:2px solid #5e4b3c}.yoho-header .outlets>.sub-nav-wrapper{display:block!important}.yoho-header .name-cn{text-align:center;line-height:16px!important}.yoho-header .name-cn a{color:#000;font-size:16px!important}.yoho-header .name-en{text-align:center;line-height:14px!important;margin-bottom:6px}.yoho-header .name-en a{color:#8e8e8e;font-size:12px;line-height:14px!important;font-family:arial!important}.yoho-header .sub-nav-wrapper{display:none;height:40px;left:0;width:100%;position:absolute;z-index:11}.yoho-header .sub-nav-list{width:1150px;height:40px;margin:0 auto;overflow:hidden}.yoho-header .sub-nav-item{float:left;padding:12px 46px 12px 0;box-sizing:border-box;margin-right:38px}.yoho-header .sub-nav-item a{position:relative;color:#fff;font-size:14px;line-height:14px;display:inline-block}.yoho-header .sub-nav-item:last-child{margin-right:0!important}.yoho-header .newlogo{display:block;width:26px;height:12px;background-image:url(../assets/img/header/new.png?v1559f4c3c8f);background-repeat:no-repeat;position:absolute;right:-29px;top:-6px}.yoho-header .actsecondnav,.yoho-header .sub-nav-item:hover>a{padding-bottom:3px;border-bottom:2px solid #fff}.yoho-header .sub-nav-item:hover .third-nav-wrapper{display:block}.yoho-header .third-nav-wrapper{box-sizing:border-box;height:410px;position:absolute;left:0;top:38px;width:100%;min-width:1150px;display:none;z-index:17;padding-top:30px;padding-bottom:30px;background-color:#f8f8f8}.yoho-header .third-nav{width:1150px;height:100%;margin:0 auto}.yoho-header .category{width:880px;float:left;overflow:hidden}.yoho-header .category .thirdnavlist{box-sizing:border-box;width:220px;height:240px;float:left;padding-left:20px;border-right:1px solid #dcdcdc;padding-right:20px}.yoho-header .category-title{color:#000;font-size:16px;width:178px;padding-bottom:12px;border-bottom:1px solid #000;line-height:16px;margin-bottom:20px}.yoho-header .category-title a{color:#000!important}.yoho-header .category-list{margin-top:16px;margin-bottom:30px}.yoho-header .category-item{line-height:28px}.yoho-header .category-list a{color:#a1a1a1!important;font-size:14px}.yoho-header .category-list .category-item .hot{color:#e01!important;font-size:14px}.yoho-header .category-item-act a{color:#000!important}.yoho-header .showdetail{box-sizing:border-box;padding-left:19px;padding-right:19px;width:337px;height:250px;float:right}.yoho-header [class*=" icon-"],.yoho-header [class^=icon-]{display:inline-block;vertical-align:middle;background-repeat:none}.yoho-header .icon-hamburger{background-position:-56px -40px;width:13px;height:11px}.yoho-header .icon-hamburger,.yoho-header .icon-headphones{background-image:url(../assets/img/sprite.header.png?v1559f4c4795)}.yoho-header .icon-headphones{background-position:-84px 0;width:15px;height:10px;margin-top:2px}.yoho-header .icon-heart{background-position:-41px -56px;width:12px;height:11px}.yoho-header .icon-heart,.yoho-header .icon-mail{background-image:url(../assets/img/sprite.header.png?v1559f4c4795);margin-top:-2px}.yoho-header .icon-mail{background-position:-56px -28px;width:16px;height:10px}.yoho-header .icon-iphone{background-position:-84px 0;width:8px}.yoho-header .icon-iphone,.yoho-header .icon-papers{background-image:url(../assets/img/sprite.header.png?v1559f4c4795);height:14px;margin-top:-2px}.yoho-header .icon-papers{background-position:-29px -56px;width:10px}.yoho-header .icon-bottomarrow{background-image:url(../assets/img/sprite.header.png?v1559f4c4795);background-position:-71px -40px;width:10px;height:5px;margin-top:-2px}.yoho-header .outlets-logo{background:url(../assets/img/header/outlets.png?v1559f4c3c90) no-repeat 50%;width:200px;height:34px;left:42%;margin-top:28px;position:absolute;display:none}.yoho-header .icon-logo{background:url(../assets/img/header/logo.png?v1559f4c3c8d) no-repeat 50%;width:182px;height:53px;top:22px;left:44.2%;position:absolute}.yoho-header .icon-logo .main-link{display:block;width:100%;height:100%}.yoho-header .search{position:relative}.yoho-header .searchspan{margin-top:45px;float:left;display:inline-block;overflow:hidden}.yoho-header .searchinput{float:left;width:240px;height:28px;border:1px solid #000;box-sizing:border-box;padding:6px 0 5px 10px;border-right:none}.yoho-header .icon-search{background:url(../assets/img/header/search.png?v1559f4c3c93) no-repeat 50%;width:80px;height:28px;float:left;border:none;margin-top:45px;background-color:#3a3a3a}.yoho-header .search-list{position:absolute;top:73px;left:0;z-index:11;box-sizing:border-box;display:none;background-color:#fff;padding-top:20px;width:100%;max-height:500px;border-left:1px solid #000;border-right:1px solid #000;border-bottom:1px solid #000}.yoho-header .search-item{position:relative;padding:5px;height:25px;line-height:25px;font:12px}.yoho-header .search-item:hover{background-color:#f4f4f4}.yoho-header .searchvalue{position:absolute;left:10px;max-width:192px;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.yoho-header .valuenum{position:absolute;right:10px;font-size:12px}.yoho-header .header-tool{padding-right:23px}.yoho-header .gobuy{margin-top:47px;margin-left:23px;width:26px;height:26px;position:relative;cursor:pointer}.yoho-header .gobuy-wrapper{position:absolute;display:none;top:24px;right:-14px;width:378px;padding-top:6px;z-index:19}.yoho-header .gobuy-empty{position:absolute;width:100%;height:507px;z-index:1;background:#f8f8f8 url(../assets/img/header/empty_car.png?v1559f4c3c88) no-repeat 106px 132px}.yoho-header .gobuy-empty .information{margin-top:300px;width:100%;height:18px;line-height:18px;font-size:18px;text-align:center}.yoho-header .gobuy-loading{position:absolute;width:100%;height:407px;z-index:1;background:#f8f8f8 url(../assets/img/header/loading.gif?v1559f4c3c8c) no-repeat center 150px}.yoho-header .gobuy-loading .information{margin-top:180px;width:100%;height:12px;line-height:12px;font-size:12px;text-align:center}.yoho-header .gobuy-notempty{position:absolute;width:100%;z-index:1;background-color:#f8f8f8;overflow:hidden}.yoho-header .goods-list-wrapper{width:100%;max-height:444px;margin-bottom:19px;overflow-y:auto;overflow-x:hidden}.yoho-header .goods-list{margin-top:40px}.yoho-header .goods-item{height:64px;margin-bottom:18px;padding-left:18px}.yoho-header .goods-img{display:inline-block;float:left;width:46px;height:62px;margin-right:13px}.yoho-header .goods-detail{margin-right:16px}.yoho-header .goods-detail .content{width:170px;height:14px;line-height:14px;font-size:14px;margin-bottom:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.yoho-header .goods-detail .content a{color:#666;outline:none;text-decoration:none}.yoho-header .goods-detail .style{height:14px;line-height:14px;font-size:14px;color:#b0b0b0}.yoho-header .goods-price .priceandnum{height:14px;line-height:14px;font-size:14px;margin-bottom:13px;min-width:75px;text-align:right}.yoho-header .goods-price .delete{display:inline-block;float:right;font-size:14px;color:#000}.yoho-header .activity-item{margin-bottom:8px;padding-left:18px}.yoho-header .activity-name{display:inline-block;box-sizing:border-box;border:none;width:60px;height:18px;line-height:18px;background-color:#3a3a3a;color:#fff;font-size:14px;text-align:center;margin-right:13px;vertical-align:top}.yoho-header .activity-content{display:inline-block;line-height:14px;width:250px;color:#3a3a3a;font-size:12px;word-break:break-all}.yoho-header .gobuy-notempty-footer{width:100%;height:61px;text-align:center}.yoho-header .gobuy-notempty-footer h3{box-sizing:border-box;width:349px;margin:0 auto;height:61px;line-height:61px;border-top:1px solid #dcdcdc}.yoho-header .gobuy-notempty-footer a{font-size:18px;color:#444}.yoho-header .ic-infomation{position:absolute;background-image:url(../assets/img/sprite.header.png?v1559f4c4795);background-position:0 -56px;width:27px;height:20px;top:-10px;right:-15px;color:#fff;text-align:center;line-height:20px;font-size:12px}.yoho-header .float-left{float:left}.yoho-header .float-right{float:right}.yoho-header .showdetail img{display:block;box-sizing:border-box;width:337px;height:250px}.yoho-header .showdetail .title{display:block;margin-top:40px;width:100%;height:15px;text-align:center;line-height:15px;font-size:14px;color:#000!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.yoho-header .cate_row{float:left;height:352px;box-sizing:border-box}.yoho-header .cate_row li{box-sizing:border-box}.yoho-header .cate_row1{width:253px}.yoho-header .cate_row2{width:278px;border-left:1px solid #ccc;padding-left:50px}.yoho-header .cate_row3{width:270px;border-left:1px solid #ccc;padding-left:50px}.yoho-header .third-nav .cattitle{width:180px;padding-bottom:10px;border-bottom:1px solid #000;line-height:18px;margin-bottom:20px}.yoho-header .third-nav .cattitle h3 a{color:#000!important;font-size:14px}.yoho-header .third-nav .catdetail{line-height:14px;height:14px;margin-bottom:24px;min-width:200px}.yoho-header .third-nav .catdetail a{color:#a1a1a1!important;font-size:14px}.yoho-header .third-nav .catdetail .hot{color:#e01!important}.yoho-header .thirdcatelink:hover{text-decoration:underline!important}.yoho-header .hovercontent{display:none}.yoho-header.outlets .header-navwrapper{background-color:#3a3a3a}.yoho-header.outlets .header-navwrapper .sub-nav-wrapper{background-color:#e6e6e6;margin-top:37px}.yoho-header.outlets .header-navwrapper .third-nav-wrapper{border-top:0}.yoho-header.outlets .outlets-logo{display:block}.yoho-header.outlets .icon-logo{display:none}.yoho-header.outlets .first-nav-item.cure{background:none}.yoho-header.outlets .first-nav-item>h3,.yoho-header.outlets .header-tool>.search{display:none}.yoho-header.outlets .sub-nav-list{padding-left:15%}.yoho-header.outlets .sub-nav-list .sub-nav-item{width:14%;text-align:center}.yoho-header.outlets .sub-nav-list .sub-nav-item>a{color:#222!important}.yoho-header.outlets .sub-nav-list .sub-nav-item:hover a{border-color:#555}.yoho-header.outlets .sub-nav-list .third-nav{text-align:left}.simple-header{height:66px;margin:0 0 20px;border-bottom:2px solid #222}.simple-header .header-inner{width:990px;height:100%;margin:0 auto}.simple-header .logo{float:left;line-height:66px;font-size:0}.simple-header .logo img{vertical-align:middle}.simple-header .header-tool{float:right;line-height:66px;font-size:0}.simple-header .header-tool li{display:inline-block;padding:0 10px;line-height:28px}.simple-header .header-tool li,.simple-header .header-tool li a,.simple-header .header-tool li span{font-size:12px;vertical-align:middle}.simple-header .header-tool li .tell-icon{font-size:12px}.simple-header .header-tool li .tell-icon~span{font-weight:700}.simple-header .header-tool .login-box a{color:#666}.simple-header .header-tool .tool-options{position:relative;font-size:0;cursor:pointer}.simple-header .header-tool .tool-options .iconfont,.simple-header .header-tool .tool-options span{display:inline-block;font-size:12px;height:28px;line-height:28px;vertical-align:top}.simple-header .header-tool .tool-options .iconfont.up,.simple-header .header-tool .tool-options span.up{display:none}.simple-header .header-tool .tool-options .tool-select{display:none;position:absolute;width:74px;left:0;background:#eaeceb;z-index:6}.simple-header .header-tool .tool-options .tool-select a{display:block;padding:0 0 0 10px;border-top:1px solid #ddd}.simple-header .header-tool .tool-options:hover{background-color:#eaeceb}.simple-header .header-tool .tool-options:hover .iconfont.up{display:inline-block}.simple-header .header-tool .tool-options:hover .iconfont.down{display:none}.min-screen .yoho-header .header-topwrapper{min-width:990px}.min-screen .yoho-header .header-top{width:990px}.min-screen .yoho-header .header-navwrapper{min-width:990px}.min-screen .yoho-header .header-navcontent,.min-screen .yoho-header .header-wrapper{width:990px}.min-screen .yoho-header .icon-logo{left:39.2%}.min-screen .yoho-header .icon-logo .main-link{display:block;width:100%;height:100%}.min-screen .yoho-header .sub-nav-list{width:990px;min-width:990px}.min-screen .yoho-header .sub-nav-item{margin-right:15px}.min-screen .yoho-header .first-nav-item{float:left;padding:10px 14px 0;margin-right:3px}.min-screen .yoho-header .third-nav{width:990px}.min-screen .yoho-header .third-nav-wrapper{min-width:990px}.min-screen .yoho-header .category{width:800px}.min-screen .yoho-header .cate_row1{width:204px}.min-screen .yoho-header .cate_row2{width:244px;border-left:1px solid #ccc;padding-left:39px}.min-screen .yoho-header .cate_row3{width:163px;border-left:1px solid #ccc;padding-left:28px}.min-screen .yoho-header .category .thirdnavlist{width:200px}.min-screen .yoho-header .category-title{width:152px}.min-screen .yoho-header .showdetail{width:190px;padding-right:0}.min-screen .yoho-header .showdetail img{width:174px;height:155px}#cover{position:fixed;z-index:12}#cover,#cover .con{left:0;top:0;width:100%;height:100%}#cover .con{background:rgba(0,0,0,.6)!important;position:absolute;z-index:13;opacity:.5;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=50)"}#cover .tag_img_warpper{margin:0 auto;width:180px;height:168px}#cover .tag_img_warpper img{width:100%;height:100%}#cover .guide-box{background:#fff;margin:0 auto;height:400px;position:relative;z-index:14}#cover .guide-box .close{top:-15px;text-align:center;right:-15px;color:#fff;line-height:22px;font-size:24px;position:absolute;background:#000;border-radius:50px;border:currentColor;border-image:none;width:28px;height:28px;line-height:25px;display:block}#cover .guide-box li{padding:10px;width:200px;height:400px;float:left;box-sizing:border-box}#cover .guide-box li .go{margin:26px auto 0;width:100%;height:18px;text-align:center;color:#b0b0b0;line-height:18px;font-size:18px;font-style:italic;font-weight:lighter;display:block}#cover .guide-box li.girls{border-left-color:#eee;border-left-width:1px;border-left-style:solid}#cover .guide-box li.girls .goods-num{text-align:center;color:#bbb;line-height:12px;font-size:12px;margin-top:16px}#cover .guide-box li.lifestyle{border-left-color:#eee;border-left-width:1px;border-left-style:solid}#cover .guide-box li.lifestyle .goods-num{text-align:center;color:#bbb;line-height:12px;font-size:12px;margin-top:16px}#cover .guide-box li.kids{border-left-color:#eee;border-left-width:1px;border-left-style:solid}#cover .guide-box li.boys .goods-num,#cover .guide-box li.kids .goods-num{text-align:center;color:#bbb;line-height:12px;font-size:12px;margin-top:16px}#cover .boys .block_cn,#cover .girls .block_cn,#cover .kids .block_cn,#cover .lifestyle .block_cn{text-align:center;line-height:26px;font-size:26px;font-weight:700;margin-top:30px}#cover .boys .block_en,#cover .girls .block_en,#cover .kids .block_en,#cover .lifestyle .block_en{text-align:center;line-height:26px;font-size:26px;font-weight:700;margin-top:19px}#cover .boys .block_cn,#cover .boys .block_en{color:#000}#cover .girls .block_cn,#cover .girls .block_en{color:#ff88ae}#cover .kids .block_cn,#cover .kids .block_en{color:#7ad9f8}#cover .lifestyle .block_cn,#cover .lifestyle .block_en{color:#4f4037!important}#cover .boys .block_line,#cover .girls .block_line,#cover .kids .block_line,#cover .lifestyle .block_line{margin:20px auto 0;width:50px;height:0;border-bottom-color:#ccc;border-bottom-width:1px;border-bottom-style:solid}.yoho-footer{font-size:12px}.yoho-footer *{box-sizing:border-box}.yoho-footer .red{color:#e01}.yoho-footer .rgb6{color:#666}.yoho-footer .rgb9{color:#999}.yoho-footer .rgbf{color:#fff}.yoho-footer .index-foot{background:#eee;padding:20px 0}.yoho-footer .index-foot dd{float:left;width:370px;margin-right:20px;overflow:hidden}.yoho-footer .index-foot dd ul{margin-top:18px;padding-top:18px}.yoho-footer .index-foot dd.last{margin-right:0}.yoho-footer .foot-panel{background:#fff;padding:20px}.yoho-footer .title{position:relative;text-align:center}.yoho-footer .title-line{border-bottom:1px solid #ddd;position:absolute;top:9px;width:100%;left:0}.yoho-footer .text{position:absolute;width:100%;text-align:center;left:0;top:0}.yoho-footer .text span{background:#fff;font-size:18px;line-height:18px;padding:0 10px}.yoho-footer .item-nav{padding-top:20px}.yoho-footer .item-nav span{color:#fff;padding:0 3px;cursor:pointer;font-size:20px}.yoho-footer .item-nav .cur{color:#999}.yoho-footer .vote{line-height:24px}.yoho-footer .vote input{margin:0 5px 0 1px}.yoho-footer .vote .button{height:24px;line-height:24px;width:55px;font-size:12px;margin-top:11px;margin-right:10px;background:#222;color:#fff;display:inline-block;text-align:center;cursor:pointer}.yoho-footer .vote p{height:24px;overflow:hidden}.yoho-footer .vote textarea{width:98%;height:68px;vertical-align:middle;margin:5px 0 0;resize:none}.yoho-footer .vote-item p{float:left;width:50%}.yoho-footer .mobile{margin-right:-10px}.yoho-footer .mobile li{margin-right:10px;float:left}.yoho-footer .mobile img{display:block;width:103px;height:131px}.yoho-footer .index-banner{width:100%;margin-top:20px}.yoho-footer .two-dim{margin-right:-10px;overflow:hidden}.yoho-footer .two-dim li{border:1px solid #ddd;margin-right:10px}.yoho-footer .two-dim li a{display:block}.yoho-footer .two-dim li p{text-align:center;margin-top:13px;margin-bottom:10px;line-height:12px}.yoho-footer .dim-img{display:block;width:87px;height:87px;margin:7px}.yoho-footer .dim-hover{position:absolute}.yoho-footer .dim-hover img{width:38px;height:38px}.yoho-footer .dim-active .dim-img{opacity:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"}.yoho-footer .dim-active .dim-hover{display:none}.yoho-footer .footerbottom{width:100%}.yoho-footer .promise{padding:20px 0 10px;background:#000}.yoho-footer .promise .left{margin-right:60px;line-height:30px;font-size:12px;font-weight:700}.yoho-footer .promise .left .iconfont{display:inline-block;font-weight:400;font-size:22px;vertical-align:middle;margin-right:5px}.yoho-footer .promise .left:first-child .iconfont{font-size:27px}.yoho-footer .subscribe{border:1px solid #262626;width:240px}.yoho-footer .subscribe input{width:180px;height:32px;padding:0 10px;line-height:32px;border:none;margin:0;background:#000}.yoho-footer .subscribe a{display:block;float:right;margin-right:20px;font-size:20px;line-height:28px;opacity:.5;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=50)"}.yoho-footer .footer-help{background:#000;font-size:12px;overflow:hidden}.yoho-footer .footer-help>div{padding:15px 0;border-top:1px solid #262626}.yoho-footer .footer-help ul{width:110%}.yoho-footer .footer-help p{line-height:24px}.yoho-footer .footer-help p span{color:#fff}.yoho-footer .footer-help p a{color:#666}.yoho-footer .footer-help p a:hover{text-decoration:underline}.yoho-footer .footer-help li{width:180px}.yoho-footer .footer-help .screen{border-top:1px solid #262626;padding:15px 0}.yoho-footer .footer-link{background:#000;padding:10px 0 30px;font-size:12px}.yoho-footer .footer-link .right-flag{margin-top:3px}.yoho-footer .footer-link .right-flag a{margin-right:5px}.yoho-footer .footer-link .about-us{line-height:20px;color:#666;margin-left:10px}.yoho-footer .footer-link .about-us a{color:#666}.yoho-footer .footer-link .about-us span{padding:0 10px}.yoho-footer .return-top{position:fixed;width:60px;height:60px;left:50%;margin-left:595px;text-align:center;line-height:50px;color:#fff;background:#000;opacity:.5;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";bottom:20px;cursor:pointer;z-index:4}.yoho-footer .return-top .iconfont{font-size:34px}.yoho-footer .return-top:hover{opacity:.9;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=90)"}.yoho-footer .return-top.min{left:100%;right:20px;margin-left:auto}.min-screen .yoho-footer .index-foot dd{width:316px}.min-screen .yoho-footer .two-dim{margin-top:26px;margin-bottom:10px;overflow:hidden}.min-screen .yoho-footer .dim-img{width:69px;height:69px}.min-screen .yoho-footer .mobile{margin-top:26px;padding-bottom:15px}.min-screen .yoho-footer .mobile img{width:85px;height:108px}.min-screen .yoho-footer .promise .left{margin-right:45px}.min-screen .yoho-footer .subscribe{width:200px}.min-screen .yoho-footer .subscribe input{width:140px}.min-screen .yoho-footer .footer-help li{width:150px}.path-nav{font-size:12px;padding:15px 0;height:18px;line-height:18px}.path-nav,.path-nav a{color:#666}.path-nav .iconfont{font-size:12px}.path-nav .last{font-weight:700}.slider{position:relative;height:327px;width:100%;overflow:hidden}.slider img{max-width:100%;max-height:100%}.slide-pagination{position:absolute;left:0;right:0;bottom:12px;text-align:center}.slide-pagination-inner{display:inline-block;position:relative;padding:7px;vertical-align:middle}.slide-shade{position:absolute;left:0;right:0;top:0;bottom:0;background:#000;opacity:.3;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=30)";border-radius:13px}.slide-pagination-last span{display:block;float:left;position:relative;margin:0 7px;width:12px;height:12px;background:#fff;cursor:pointer;opacity:.6;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=60)";border-radius:6px;z-index:2}.slide-pagination-last span.focus{opacity:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"}.slide-switch{display:none}.slide-switch a{display:block;position:absolute;top:50%;margin:-30px 0 0;width:60px;height:60px;line-height:56px;text-align:center;z-index:2;background:#fff;opacity:.55;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=55)"}.slide-switch a .iconfont{font-size:32px;color:#59585a}.slide-switch a:hover{opacity:.9;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=90)"}.slide-switch .prev{left:0}.slide-switch .next{right:0}.slide-switch.show{display:block}.yoho-dialog{position:fixed;padding:20px;top:50%;left:50%;min-height:130px;min-width:350px;background:#f8f8f8;z-index:12;border:5px solid rgba(0,0,0,.38)}.yoho-dialog .close{position:absolute;top:5px;right:5px;cursor:pointer}.yoho-dialog .btns,.yoho-dialog .content{text-align:center}.yoho-dialog .alert-sure,.yoho-dialog .confirm-sure{background:#000;color:#fff}.yoho-dialog .btn{display:inline-block;width:56px;height:26px;line-height:26px;text-align:center;border:1px solid #000;cursor:pointer;margin-left:10px}.yoho-dialog .btn:first-child{margin-left:0}.yoho-dialog.alert-dialog .content,.yoho-dialog.confirm-dialog .content{width:350px;height:auto;min-height:90px;overflow:hidden;line-height:20px;position:relative;padding-top:40px;padding-bottom:20px}.yoho-dialog.alert-dialog .content p,.yoho-dialog.confirm-dialog .content p{position:absolute;left:0;bottom:25px;width:100%;color:#444;line-height:25px}.yoho-dialog.alert-dialog .content div,.yoho-dialog.confirm-dialog .content div{position:absolute;top:0;left:100px;padding-top:30px;font-size:22px;font-weight:700;width:150px;height:30px;line-height:30px;margin:0 auto}.yoho-dialog.alert-dialog .content div span,.yoho-dialog.confirm-dialog .content div span{background-image:url(../assets/img/sprite.cart.png?v1559f4c4796);background-position:0 -272px;float:left;width:27px;height:30px}.yoho-dialog.subcontent-dialog{padding:30px 0}.yoho-dialog.subcontent-dialog .content{font-weight:700;margin:0 auto 30px}.yoho-dialog.subcontent-dialog .sub-content{text-align:center;font-size:12px;color:#555;margin-left:5px;margin-bottom:5px}.yoho-dialog.subcontent-dialog .btn{margin-top:25px;width:100px;font-size:13px;margin-left:0;margin-right:0}.yoho-dialog.subcontent-dialog .btn.black{background-color:#000;color:#fff}.pager{font-size:12px}.pager a{height:24px;padding:0 9px;line-height:24px;display:inline-block;text-align:center;margin-right:8px;color:#222}.pager a.cur{color:#fff;background-color:#222}.pager a:first-child .iconfont{right:auto;left:-5px}.pager .iconfont{position:relative;vertical-align:middle;bottom:1px;right:-5px;font-size:14px}.err-page{width:650px;height:200px;overflow:hidden;margin:100px auto}.err-page .tips-404{float:left;height:200px;padding-left:20px}.err-page .tips-404 .tip{font-size:24px;color:#000;margin-top:55px}.err-page .tips-404 .links{font-size:12px;color:#666;margin-top:15px}.err-page:before{content:'';display:block;width:200px;height:200px;background:url(../assets/img/404.png?v1559f4c2ba2) 50% no-repeat;float:left}.share-wrapper{position:relative}.share-wrapper i{display:block;float:left;width:16px;height:16px;margin-left:5px;cursor:pointer}.share-wrapper .weibo{background-position:0 0}.share-wrapper .tweibo,.share-wrapper .weibo{background-image:url(../assets/img/sprite.share.png?v1559f4c4796)}.share-wrapper .tweibo{background-position:-18px 0}.share-wrapper .renren{background-position:0 -18px}.share-wrapper .qzone,.share-wrapper .renren{background-image:url(../assets/img/sprite.share.png?v1559f4c4796)}.share-wrapper .qzone{background-position:-18px -18px}.share-wrapper .qq{background-position:-36px 0}.share-wrapper .douban,.share-wrapper .qq{background-image:url(../assets/img/sprite.share.png?v1559f4c4796)}.share-wrapper .douban{background-position:-36px -18px}.share-wrapper .weixin{background-image:url(../assets/img/sprite.share.png?v1559f4c4796);background-position:0 -36px}.share-wrapper .weixin-share-box{display:none;position:absolute;width:282px;height:302px;padding-top:9px;text-align:center;font-family:Microsoft Yahei,Arial,Verdana;top:22px;right:-26px;z-index:2}.share-wrapper .weixin-share-box em,.share-wrapper .weixin-share-box em i{position:absolute;width:0;height:0;font-size:0;border-width:0 10px 9px;border-style:dashed dashed solid}.share-wrapper .weixin-share-box em{border-color:transparent transparent #d6d6d6;top:0;left:50%;margin-left:-10px}.share-wrapper .weixin-share-box em i{border-color:transparent transparent #e8e8e8;overflow:hidden;top:1px;left:-15px}.share-wrapper .weixin-share-box .con{position:relative;width:280px;height:300px;overflow:hidden;background-color:#fff;border:1px solid #d6d6d6;box-shadow:0 2px 4px #d1d1d1}.share-wrapper .weixin-share-box h2{display:block;height:46px;line-height:46px;background-color:#e8e8e8;color:#000;font-size:18px}.share-wrapper .weixin-share-box .pic,.share-wrapper .weixin-share-box .pic img{width:168px;height:168px}.share-wrapper .weixin-share-box .pic{overflow:hidden;margin:16px auto}.share-wrapper .weixin-share-box .w{font-size:13px;color:#9f9f9f;line-height:20px}.share-wrapper .weixin-share-box .close{position:absolute;width:45px;height:45px;line-height:45px;overflow:hidden;top:0;right:0;font-size:16px;color:#999}.product-search-page .goods-container{height:auto;padding:25px 0 0;position:relative;width:1160px}.product-search-page .goods-container .good-info{width:222px}.product-search-page .path-nav .last{font-weight:400}.product-search-page .path-nav .last span{font-weight:700}.min-screen .product-search-page .goods-container{height:auto;padding-top:25px;position:relative;width:1000px}.min-screen .product-search-page .goods-container .good-info{width:190px}.min-screen .product-search-page .goods-container .good-info .good-detail-img{height:255px}.min-screen .product-search-page .goods-container .block-next-page{width:190px;height:255px}.min-screen .product-search-page .filter-box .brand .attr-content{max-width:750px}.product-list-page .list-left{width:160px}.product-list-page .list-right{width:970px}.product-list-page .brand-banner{position:relative;height:150px;overflow:hidden}.product-list-page .brand-banner .opt-wrap{position:absolute;width:100%;height:32px;top:50%;margin-top:-16px;text-align:right}.product-list-page .brand-banner a,.product-list-page .brand-banner span{display:inline-block;height:20px;margin-right:5px;line-height:20px;border:1px solid #fff;padding:5px 10px;color:#fff;font-size:12px}.product-list-page .brand-banner .iconfont{font-size:13px}.product-list-page .brand-banner .brand-favor{margin-right:0;cursor:pointer}.product-list-page .brand-banner .coled{color:red}.product-list-page .brand-about{font-size:12px;line-height:150%}.product-list-page .sort-intro{margin-bottom:20px}.product-list-page .sort-intro .texts{width:386px;height:298px;padding:0 50px;border:1px solid #eaeceb;text-align:center;overflow:hidden}.product-list-page .sort-intro .name{font-size:30px;font-weight:700;margin-top:60px}.product-list-page .sort-intro .en-name{font-size:14px;font-weight:700}.product-list-page .sort-intro .desc{color:#666;margin-top:15px;font-size:12px;line-height:150%}.product-list-page .sort-intro .img{width:480px;height:300px}.product-list-page .sort-intro .key-entry{width:330px;margin:30px auto 0}.product-list-page .sort-intro .key-entry a{float:left;display:block;width:110px;line-height:20px;font-size:12px;color:#069;text-decoration:underline}.product-list-page .sell-signboard .left-list li{padding-left:0;height:auto;margin-bottom:10px;line-height:inherit}.product-list-page .sell-signboard .left-list li img{width:100%}.product-list-page.search-page .path-nav .last{font-weight:400}.product-list-page.search-page .path-nav .last span{font-weight:700}.min-screen .product-list-page .sort-intro .texts{width:346px;height:248px;padding:0 30px}.min-screen .product-list-page .sort-intro .name{margin-top:30px}.min-screen .product-list-page .sort-intro .img{width:400px;height:250px}.new-sale-page .sale-list-banner{width:100%;position:relative}.new-sale-page .sale-list-banner ul{overflow:hidden;width:100%;position:relative;z-index:1}.new-sale-page .sale-list-banner ul li{width:100%;height:100%;display:block;float:left;position:absolute;top:0;left:0}.new-sale-page .sale-list-pagation{z-index:2;position:absolute;left:0;bottom:50px;width:100%;height:20px;text-align:center}.new-sale-page .sale-list-pagation div{display:inline-block}.new-sale-page .sale-list-pagation span{display:block;width:20px;height:20px;background:url(../assets/img/product/default-normal.png?v1559f4c3d11);float:left;margin:0 10px;cursor:pointer}.new-sale-page .sale-list-pagation span.active{background:url(../assets/img/product/default-active.png?v1559f4c3d10)}.new-sale-page .header-title{position:relative;width:100%;height:42px;margin:20px 0;text-align:center;font-size:20px}.new-sale-page .header-title .count-wrap{position:relative}.new-sale-page .header-title .count{background:#fff;padding:0 5px;color:#999;font-size:12px;margin-top:6px}.new-sale-page .header-title .line-through{position:absolute;bottom:9px;left:0;right:0;height:1px;border-top:1px dotted #999}.new-sale-page .new-banner img{display:block;width:100%}.new-sale-page .new-brands{position:relative;width:100%;margin-top:25px}.new-sale-page .new-brands>*{float:left}.new-sale-page .new-brands .next,.new-sale-page .new-brands .pre{position:absolute;display:block;width:40px;height:40px;line-height:40px;color:#fff;background:#e0e0e0;text-align:center;top:50%;margin-top:-20px;cursor:pointer;opacity:.8;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=80)"}.new-sale-page .new-brands .next:hover,.new-sale-page .new-brands .pre:hover{opacity:.9;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=90)"}.new-sale-page .new-brands .pre{left:0}.new-sale-page .new-brands .next{right:0}.new-sale-page .new-brands .brands-wrap{position:relative;overflow:hidden;width:890px;height:76px;margin-left:40px}.new-sale-page .new-brands .brands{position:absolute;width:auto;height:76px}.new-sale-page .new-brands .brands li{float:left;margin-left:14px}.new-sale-page .new-brands .brands li a{display:block;width:164px;height:76px;line-height:76px;vertical-align:middle;text-align:center}.new-sale-page .new-brands .brands li img{vertical-align:middle;max-width:100%;max-height:100%;border:none}.new-sale-page .new-floor-title{position:relative;margin:35px auto;width:300px;height:31px;line-height:31px;font-size:18px;border:1px solid #000}.new-sale-page .new-floor-title .date{position:absolute;left:-1px;top:-1px;width:155px;height:33px;color:#fff;text-align:center;background:url(../assets/img/product/floor-title.png?v1559f4c3d11)}.new-sale-page .new-floor-title .title{float:right;margin-right:40px}.min-screen .new-sale-page .new-brands .brands-wrap{width:730px}.filter-box{border:1px solid #dfdfdf}.filter-box .section{padding:10px 15px;font-size:12px;border-top:1px solid #dfdfdf}.filter-box .section:first-child{border-top:none;padding:5px 15px}.filter-box .title{float:left;width:75px;line-height:30px;font-weight:700}.filter-box .attr-content{margin-left:75px}.filter-box .multi-select{display:inline-block;width:60px;height:18px;line-height:18px;border:1px solid #555;color:#555;text-align:center;cursor:pointer}.filter-box .attr{display:block;float:left;padding:0 10px;margin-right:30px;line-height:30px;cursor:pointer;color:#666;-moz-user-select:none}.filter-box .attr a{color:#666}.filter-box .attr:first-child{margin-left:0}.filter-box .attr.checked,.filter-box .attr.checked a{color:#e01}.filter-box .attr:hover{text-decoration:underline}.filter-box .color .attr{margin-right:0}.filter-box .checked .color-block{width:16px;height:16px;border:2px solid #222;padding:2px;background-size:100%!important}.filter-box .checked .color-block .sub-color-block{display:block;width:16px;height:16px;background-position:50%!important}.filter-box .checked-conditions{line-height:30px;background:#eaeceb}.filter-box .checked-conditions .title{margin-top:5px}.filter-box .checked-conditions .tag{display:block;float:left;padding:0 10px;margin:5px 30px 5px 0;background:#000;color:#fff;cursor:pointer}.filter-box .checked-conditions .color-block{height:14px;width:14px;border:1px solid #fff;margin-bottom:-3px;background-size:100%!important;background-position:50%!important}.filter-box .checked-conditions .clear-checked{margin-top:5px;color:#999;float:right}.filter-box .checked-conditions .clear-checked:hover{color:#468fa2}.filter-box .checked-conditions .close{font-size:14px}.filter-box .sort-pre .active .attr{border:1px solid #000}.filter-box .sort-pre .attr{position:relative}.filter-box .active .sort-up-icon{visibility:visible}.filter-box .sort-up-icon{position:absolute;width:15px;height:9px;left:50%;margin-left:-7px;bottom:-17px;z-index:3;visibility:hidden;background:url(../assets/img/product/senior-up.png?v1559f4c3d15) no-repeat;background-position:50% 0}.filter-box .sort-sub-wrap{width:100%}.filter-box .sort-sub-wrap .sort-sub{border-top:1px solid #eaeceb;margin-top:15px;padding:0 0 15px}.filter-box .sort-sub-wrap .sort-sub .attr{padding-top:15px}.filter-box .brand{position:relative}.filter-box .brand .attr{box-sizing:border-box;width:20%;height:30px;margin:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.filter-box .brand .attr-content{max-width:900px}.filter-box .brand .brand-opt{position:absolute;right:20px;top:15px;color:#555}.filter-box .brand .multi .attr.checked,.filter-box .brand .multi .attr.checked a{color:#000}.filter-box .brand .brand-more{margin-right:10px;cursor:pointer}.filter-box .brand .brands-index{float:left;line-height:30px;margin-right:5px;cursor:pointer}.filter-box .brand .brands-index span{margin:0 3px;-moz-user-select:none}.filter-box .brand .brands-index span:first-child{margin-left:10px}.filter-box .brand .brands-index span.hover{color:red}.filter-box .brand .brand-search{float:left;height:18px;line-height:18px;border:1px solid #b0b0b0;margin-top:5px;margin-left:10px}.filter-box .brand .brand-search input{float:left;border:none;width:100px;height:18px;padding:0}.filter-box .brand .brand-search .btn{position:relative;display:inline-block;top:-1px;width:55px;height:20px;line-height:20px;background:#3a3a3a;color:#fff;text-align:center;cursor:default}.filter-box .brand .panel-body{padding:15px 20px;background:#f4f7f6;margin-top:5px;margin-left:10px}.filter-box .brand .panel-body .ul-scroll{overflow:auto;min-height:30px;max-height:150px}.filter-box .btns{display:none;margin-top:10px;text-align:center}.filter-box .multi .btns{display:block}.filter-box .multi-select-cancel,.filter-box .multi-select-ok{width:55px;height:24px;border:none;background:#000;color:#fff;font-size:14px;margin-right:20px;cursor:pointer;outline:none;font-family:Microsoft YaHei}.filter-box .multi-select-cancel.dis,.filter-box .multi-select-ok.dis{background:#ccc}.filter-box .ud-price-range{margin-top:2px}.filter-box .limit{height:22px;width:42px;border:1px solid #ccc;padding:0}.filter-box .price-sep{margin:0 5px}.filter-box .price-sure{height:24px;width:44px;background:#333;color:#fff;margin-left:10px;outline:none;border:none;font-size:12px;cursor:pointer}.filter-box .color-block{display:inline-block;height:22px;width:22px;border:1px solid #ccc;margin-bottom:-6px;margin-right:5px;background-size:100%!important;background-repeat:no-repeat!important;background-position:50%!important}.filter-box .senior{padding-bottom:6px}.filter-box .senior .attr-content{position:relative}.filter-box .senior .senior-attr-wrap>.attr:hover{text-decoration:none}.filter-box .senior-attr-wrap{position:relative}.filter-box .senior-attr-wrap>.attr.hover,.filter-box .senior-attr-wrap>.attr:hover{font-weight:700}.filter-box .senior-attr-wrap>.attr.hover>.iconfont,.filter-box .senior-attr-wrap>.attr:hover>.iconfont{visibility:hidden}.filter-box .senior-attr-wrap>.attr.hover .senior-up-icon,.filter-box .senior-attr-wrap>.attr:hover .senior-up-icon{visibility:visible}.filter-box .senior-sub{box-sizing:border-box;position:absolute;padding:0 15px 15px 91px;left:-91px;right:-16px;top:39px;background:#fff;border:1px solid #dfdfdf;border-top:0;z-index:2}.filter-box .senior-sub ul{max-width:950px}.filter-box .senior-sub .multi-select{position:absolute;top:20px;right:15px}.filter-box .senior-sub .attr{height:30px}.filter-box .senior-sub.multi .multi-select{display:none}.filter-box .senior-baffle{height:18px;margin-top:-18px;background:none}.filter-box .senior-content{padding-top:15px;border-top:1px solid #eaeceb}.filter-box .senior-up-icon{position:relative;width:100%;height:9px;z-index:3;margin-left:-11px;visibility:hidden;background:url(../assets/img/product/senior-up.png?v1559f4c3d15) no-repeat;background-position:50% 0;top:-1px;top:1px\9}.filter-box .checkbox{display:none;float:left}.filter-box .multi .checkbox{display:block;color:#ccc;font-size:12px;margin-right:3px}.filter-box .multi .checkbox.checked{color:#000}.filter-box .multi .checkbox.checked+span{color:#000;font-weight:700}.min-screen .filter-box .brand .attr{width:25%}:root .senior-up-icon,_:-ms-fullscreen{top:1px}.sort-pager{height:48px;background:#f5f7f6;line-height:48px;margin:10px 0}.sort-pager .checks,.sort-pager .sort-type{color:#999;font-size:12px;padding:0 10px}.sort-pager .checks .iconfont,.sort-pager .sort-type .iconfont{font-size:12px}.sort-pager .checks.active,.sort-pager .checks.checked,.sort-pager .sort-type.active,.sort-pager .sort-type.checked{color:#000;font-weight:700}.sort-pager .checks.active .iconfont,.sort-pager .checks.checked .iconfont,.sort-pager .sort-type.active .iconfont,.sort-pager .sort-type.checked .iconfont{font-weight:100}.sort-pager .checks .iconfont{background:#fff}.sort-pager .sort-type:first-child .iconfont{display:none}.sort-pager .pager-wrap{float:right;padding:15px 0}.sort-pager .page-count{position:relative;height:18px;float:left;font-size:12px;line-height:18px}.sort-pager .page-count>span{float:left;display:block;width:42px;height:10px;line-height:10px;padding:3px;border:1px solid #ccc;color:#222;cursor:pointer;margin-right:10px;background:#fff}.sort-pager .page-count .iconfont{font-size:14px;color:#ccc;float:right}.sort-pager .page-count>ul{position:absolute;display:none;width:48px;border-left:1px solid #ccc;border-right:1px solid #ccc;background:#fff;z-index:1}.sort-pager .page-count li{padding:0 3px;border-bottom:1px solid #ccc}.sort-pager .page-count li:hover{background:#376cf7;color:#fff}.sort-pager .page-count a{display:block;width:100%}.sort-pager .page-orient{float:left;font-size:14px;line-height:15px;margin:0 20px}.sort-pager .page-orient .dis-icon{color:#e6e6e6}.sort-pager .page-orient i{color:red}.good-info{margin-bottom:35px;width:222px;margin-right:10px;float:left}.good-info .good-detail-img{width:100%;height:300px;position:relative}.good-info .good-detail-img .good-thumb,.good-info .good-detail-img img.lazy{display:block;overflow:hidden;width:100%;height:100%}.good-info .good-detail-img .few-tag{width:100%;position:absolute;left:0;height:16px;line-height:16px;background:#ffac5b;color:#fff;font-size:12px;text-align:center;bottom:0}.good-info .good-detail-text{color:#222;font-size:12px;text-align:left;overflow:hidden}.good-info .good-detail-text>a{margin-top:16px;line-height:1.5;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.good-info .good-detail-text>.price{margin-top:5px}.good-info .good-detail-text .brand a{color:#666;line-height:1.5}.good-info .good-detail-text .market-price{text-decoration:line-through;color:#999}.good-info .col-btn{position:absolute;top:15px;right:15px;color:#ccc;font-size:12px}.good-info .col-btn.coled{color:#f95b4f}.good-info .tag-container{font-size:12px;height:22px;line-height:22px}.good-info .tag-container .good-tag{float:left;box-sizing:border-box;display:block;height:22px;padding:0 7px;margin-right:3px;color:#fff}.good-info .tag-container .good-tag:nth-last-of-type(1){margin-right:0}.good-info .tag-container .new-tag{background:#78dc7d}.good-info .tag-container .renew-tag{background:#78dc7e}.good-info .tag-container .running-man-tag{background-color:#017df9;color:#f7ed02}.good-info .tag-container .sale-tag,.good-info .tag-container .yep-tag,.good-info .tag-container .ymp-tag{background:#ff565b}.good-info .tag-container .limit-tag{color:#4e4e4e;border:1px solid #4e4e4e}@keyframes a{0%{max-width:0}to{max-width:150px}}.good-item-wrapper{border:1px solid #ddd;padding-left:20px;padding-top:18px;padding-right:20px;position:absolute;background:#fff;display:none}.good-item-wrapper .good-info-main{float:left}.good-item-wrapper .col-btn{display:block}.good-item-wrapper .col-btn:hover{cursor:pointer}.good-item-wrapper .good-select-color{float:left;margin-top:22px;overflow:hidden;animation:a .6s 1}.good-item-wrapper .good-select-color ul{display:block;float:left;margin-left:15px}.good-item-wrapper .good-select-color li{width:50px;margin-bottom:15px}.good-item-wrapper .good-select-color li a,.good-item-wrapper .good-select-color li img{display:block;overflow:hidden;width:100%}.block-next-page,.good-item-wrapper .good-info{margin-right:10px}.block-next-page{width:222px;height:297px;padding-top:22px;margin-bottom:35px;float:left;cursor:pointer}.block-next-page a{display:block}.block-next-page a img{width:100%;height:100%;display:block;overflow:hidden}.latest-walk{overflow:hidden;border-top:2px solid #eaeceb;font-size:12px}.latest-walk h2{padding-top:15px;font-size:14px}.latest-walk .goods{min-width:984px;height:241px;margin:30px 0;overflow:hidden}.latest-walk .good{float:left;margin-right:14px;width:150px}.latest-walk img{display:block;width:150px;height:201px}.latest-walk .name{display:block;height:18px;line-height:18px;max-width:150px;margin:5px 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.latest-walk .market-price{color:#999;margin-right:5px;text-decoration:line-through}.latest-walk .sale-price{color:#000;font-weight:700}.min-screen .latest-walk .goods{width:820px;min-width:820px;height:301px}.min-screen .latest-walk .good{margin-right:10px;width:195px}.min-screen .latest-walk img{width:195px;height:261px}.product-page .sort-container{width:100%;font-size:12px;border-bottom:1px solid #ebebeb;padding-bottom:10px;margin-bottom:10px}.product-page .sort-container h2{height:28px;line-height:28px;color:#222;font-weight:700;position:relative}.product-page .sort-container h2 span{color:#bbb;padding-left:5px}.product-page .product-list-nav h3{height:28px;line-height:28px;color:#222;font-weight:700;position:relative;text-indent:10px;cursor:pointer}.product-page .product-list-nav h3 span{color:#bbb;padding-left:5px}.product-page .product-list-nav h3 span.icon-triangle{display:inline-block;padding-left:0;width:0;height:0;border-top:6px solid #fff;border-left:6px solid #000;border-bottom:6px solid #fff;position:absolute;top:50%;margin-top:-6px;left:0;transition:transform .3s}.product-page .product-list-nav.active .icon-triangle{transform:rotate(90deg)}.product-page .product-list-nav.active .sort-child-list{display:block}.product-page .sort-child-list{display:none}.product-page .sort-child-list li{color:#bbb}.product-page .sort-child-list li span{padding-left:5px;color:#bbb}.product-page .sort-child-list li.active{background:#333;color:#fff}.product-page .sort-child-list li.active a{color:#fff}.product-page .sort-child-list a{display:block;color:#666;padding-left:10px;height:22px;line-height:22px}.product-page .sort-child-list.new-sale{display:block}.product-page .nav-pic-title{height:35px;line-height:35px;color:#000;font-weight:700;border-bottom:1px solid #ebebeb;font-size:12px}.product-page .pic-nav{display:block}.product-page .pic-nav li{margin-bottom:10px}.product-page .pic-nav img,.product-page .pic-nav li{display:block;width:100%;overflow:hidden}.product-page .brand-ad img,.product-page .brand-card img{max-width:100%}.product-page .no-result{border:1px solid #eaeceb;padding:60px 0;text-align:center;margin-bottom:20px}.product-page .no-result .no-title{font-size:16px}.product-page .no-result .keyword{color:#e01}.product-page .no-result .search-again{width:490px;margin:15px auto}.product-page .no-result .search-again input{float:left;width:380px;height:18px;padding:15px 5px;border:10px solid #343434;color:#333;outline:none;box-sizing:content-box}.product-page .no-result .search-again .search-again-btn{float:left;width:80px;height:68px;line-height:68px;background:#343434;vertical-align:middle;color:#fff;cursor:pointer;outline:none;border:none}.product-page .no-result .search-again .iconfont{font-size:30px}.product-page .no-result .no-tip{font-size:12px;color:#999}.hotrank-page .popular-list{width:1160px}.hotrank-page .popular-list li{position:relative;float:left;width:378px;height:596px;overflow:hidden;list-style:none;margin:0 8px 0 0}.hotrank-page .popular-list li .item-img{width:100%;height:506px;line-height:506px;text-align:center;overflow:hidden}.hotrank-page .popular-list li img{display:block;width:100%;height:100%}.hotrank-page .popular-list .polular-icon{position:absolute;top:0;right:0;width:50px;height:50px;line-height:60px;background:#ffc513 url(../assets/img/product/hotrank/popular-icon.png?v1559f4c3d6f) no-repeat 50%;text-align:center;color:#ffc513;font-weight:700}.hotrank-page .popular-list .item-content{width:100%;padding:14px 0 0;height:77px;overflow:hidden;text-align:center;color:#222;line-height:18px}.hotrank-page .popular-list .item-content h2{max-height:36px;font-size:12px;color:#000;line-height:18px;text-align:center;overflow:hidden}.hotrank-page .popular-list .item-content p{display:inline-block;margin:3px 0 0;font-size:12px;text-align:center;line-height:20px;color:#000}.hotrank-page .popular-list .item-content p span{text-decoration:line-through;margin:0 10px 0 0;color:#999}.hotrank-page .popular-list .popular-item6,.hotrank-page .popular-list .popular-item7,.hotrank-page .popular-list .popular-item8,.hotrank-page .popular-list .popular-item9{width:280px;height:464px;margin:0 10px 0 0;overflow:hidden}.hotrank-page .popular-list .popular-item6 .item-img,.hotrank-page .popular-list .popular-item7 .item-img,.hotrank-page .popular-list .popular-item8 .item-img,.hotrank-page .popular-list .popular-item9 .item-img{height:374px;line-height:374px}.hotrank-page .hot-week{position:relative;padding:0 0 40px}.hotrank-page .hot-cate{height:45px;background:#f5f7f6;overflow:hidden}.hotrank-page .hot-cate li{float:left;height:45px;line-height:45px;display:table-cell}.hotrank-page .hot-cate li a{vertical-align:middle;padding:0 26px;font-size:14px;color:#777;border-left:1px solid #999}.hotrank-page .hot-cate li:first-child a{border:none}.hotrank-page .hot-cate li.current a{font-size:16px;color:#000}.hotrank-page .hot-week-list{width:1160px}.hotrank-page .hot-week-list .good-info{width:280px;height:464px;margin:10px 10px 0 0}.hotrank-page .hot-week-list .good-info .tag-container{display:none}.hotrank-page .hot-week-list .good-info .good-detail-img{height:374px;line-height:374px;text-align:center;font-size:0}.hotrank-page .hot-week-list .good-info .good-detail-img img{vertical-align:middle}.hotrank-page .hot-week-list .good-info .good-detail-text{height:77px;overflow:hidden;text-align:center;color:#222;line-height:18px}.hotrank-page .hot-week-list .good-info .good-detail-text a{max-height:36px;font-size:12px;color:#000;line-height:18px;text-align:center;overflow:hidden}.hotrank-page .hot-week-list .good-info .good-detail-text p{display:inline-block;margin:3px 0 0;font-size:12px;text-align:center;line-height:20px;color:#000}.hotrank-page .hot-week-list .good-info .good-detail-text p .sale-price{margin:0 10px 0 0}.hotrank-page .floatlayer{display:none;position:fixed;top:50%;left:50%;margin:0 0 0 575px;opacity:0;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"}.hotrank-page .floatlayer li{width:42px;height:42px;border:2px solid #555;border-top:none;border-bottom-width:1px;text-align:center}.hotrank-page .floatlayer li a{position:relative;display:table-cell;width:42px;height:42px;vertical-align:middle;color:#555;font-size:12px}.hotrank-page .floatlayer li a span{display:inline-block;vertical-align:middle;width:28px;word-wrap:break-word}.hotrank-page .floatlayer li:first-child{border-top:1px solid #555}.hotrank-page .floatlayer li.current,.hotrank-page .floatlayer li:hover{background:#555}.hotrank-page .floatlayer li.current a,.hotrank-page .floatlayer li:hover a{color:#fff}.min-screen .hotrank-page{width:990px}.min-screen .hotrank-page .popular-list li{width:324px;height:521px}.min-screen .hotrank-page .popular-list li .item-img{height:434px;line-height:434px}.min-screen .hotrank-page .popular-list .popular-item6,.min-screen .hotrank-page .popular-list .popular-item7,.min-screen .hotrank-page .popular-list .popular-item8,.min-screen .hotrank-page .popular-list .popular-item9{width:240px;height:408px}.min-screen .hotrank-page .popular-list .popular-item6 .item-img,.min-screen .hotrank-page .popular-list .popular-item7 .item-img,.min-screen .hotrank-page .popular-list .popular-item8 .item-img,.min-screen .hotrank-page .popular-list .popular-item9 .item-img{height:320px;line-height:320px}.min-screen .hotrank-page .hot-week-list .good-info{width:240px;height:408px}.min-screen .hotrank-page .hot-week-list .good-info .good-detail-img{height:320px;line-height:320px}.shop-entry-area{width:100%;height:auto;overflow:hidden;display:none}.shop-entry-area .shop-entry:first-child{margin-left:0}.shop-entry{position:relative;background:#f5f7f6;border:1px solid #eaeceb;padding:12px 15px;width:49%;box-sizing:border-box;float:left;margin:0 0 10px 2%}.shop-entry .logo{width:80px;height:50px}.shop-entry .name{margin-left:10px;width:70%}.shop-entry .shop-name{font-size:16px;color:#222;line-height:26px;height:26px}.shop-entry .shop-name,.shop-entry .sorts{width:100%;display:block;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.shop-entry .sorts{color:#999;font-size:12px;line-height:18px;height:18px}.shop-entry .sorts a{color:#999}.shop-entry .entry-btn{position:absolute;right:15px;top:50%;width:110px;height:32px;line-height:32px;margin-top:-16px;background:#222;text-align:center;color:#fff;font-size:12px}.shop-entry .entry-btn .iconfont{font-size:12px}.goods-container{height:auto;padding:25px 0 0;position:relative;width:980px}.goods-container .good-info{width:235px}.product-detail-page .brand-banner{height:45px;width:100%}.product-detail-page .brand-banner img{display:block;height:45px}.product-detail-page .brand-banner .opt{margin-top:5px}.product-detail-page .brand-banner .brand-fav,.product-detail-page .brand-banner .home{display:inline-block;width:32px;height:32px;line-height:32px;border:1px solid #fff;text-align:center;color:#fff;cursor:pointer}.product-detail-page .brand-banner .home{margin-right:5px}.product-detail-page .brand-banner .home .iconfont{font-size:14px}.product-detail-page .brand-banner .brand-fav .iconfont{font-size:13px}.product-detail-page .brand-banner .coled{color:#ee0014}.product-detail-page .path-nav{border:none;margin-bottom:0}.product-detail-page .main{width:990px;margin:0 auto}.product-detail-page .main .infos{width:465px}.product-detail-page .main .img{position:relative;width:420px;height:560px}.product-detail-page .main .img-show{display:block;width:100%;height:100%}.product-detail-page .main .tags{position:absolute;top:0;left:0}.product-detail-page .main .good-tag{float:left;box-sizing:border-box;height:22px;line-height:22px;color:#fff;padding:0 7px;margin-right:5px;font-size:12px}.product-detail-page .main .new-tag{background:#78dc7d}.product-detail-page .main .renew-tag{background:#78dc7e}.product-detail-page .main .running-man-tag{background-color:#017df9;color:#f7ed02}.product-detail-page .main .sale-tag,.product-detail-page .main .yep-tag,.product-detail-page .main .ymp-tag{background:#ff565b}.product-detail-page .main .few-tag{background:#ffac5b}.product-detail-page .main .limit-tag{border:1px solid #4e4e4e;color:#4e4e4e;background:#fff}.product-detail-page .main .thumbs{width:75px;height:510px;margin-left:2px;overflow:hidden}.product-detail-page .main .thumb{display:block;width:75px;cursor:pointer;margin-bottom:2px}.product-detail-page .main .name{font-size:18px;font-weight:700;line-height:24px}.product-detail-page .main .sale-tip{color:#ee0014;padding-left:3px}.product-detail-page .main .brand-name{color:#666;font-size:12px}.product-detail-page .main .title{color:#999;font-size:12px}.product-detail-page .main .market-price{margin-top:8px}.product-detail-page .main .price{color:#000;font-size:22px;line-height:24px;font-weight:700}.product-detail-page .main .has-other-price{color:#999;text-decoration:line-through;font-size:12px}.product-detail-page .main .arrival-date{color:#ee0014;font-size:14px;font-weight:700;margin-left:24px}.product-detail-page .main .vip-price{line-height:14px;color:#222;margin-top:5px;background:url(../assets/img/product/vip-price-icon.png?v1559f4c3d1d) no-repeat;padding-left:48px;font-size:12px}.product-detail-page .main .vip-price .cur,.product-detail-page .main .vip-price .login-url{color:#f02200}.product-detail-page .main .vip-price .vip-price-item{margin-left:5px}.product-detail-page .main .vip-price .vip-schedual{color:#999;text-decoration:underline;margin-left:5px}.product-detail-page .main .activity{margin-top:12px}.product-detail-page .main .activity li{line-height:20px}.product-detail-page .main .ac-type{display:inline-block;min-width:50px;max-width:100px;height:16px;line-height:16px;margin-right:5px;padding:0 5px;text-align:center;background:#999;color:#fff;font-size:12px;overflow:hidden;vertical-align:middle}.product-detail-page .main .ac-des{font-size:12px}.product-detail-page .main .row{margin-top:10px}.product-detail-page .main .trade-content{padding-top:20px;margin-top:20px;border-top:1px solid #eaeceb}.product-detail-page .main .chose-color{font-size:12px}.product-detail-page .main .chose-color .title{margin-top:14px}.product-detail-page .main .chose-color img{display:block;height:36px;width:36px;border:2px solid #fff}.product-detail-page .main .chose-color .focus img{border-color:#222}.product-detail-page .main .chose-color li{margin-right:5px;margin-bottom:5px;cursor:pointer}.product-detail-page .main .chose-size{font-size:12px}.product-detail-page .main .chose-size .title{margin-top:6px}.product-detail-page .main .chose-size li{float:left;display:block;height:22px;line-height:22px;margin-right:5px;margin-bottom:5px;padding:0 5px;border:1px solid #eaeceb;text-align:center;cursor:pointer;min-width:28px}.product-detail-page .main .chose-size li.disable{opacity:.5;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=50)"}.product-detail-page .main .chose-size li.focus{color:#fff;background:#222}.product-detail-page .main .size-wrapper{width:415px}.product-detail-page .main .size{float:left;color:#666}.product-detail-page .main .size-ruler{float:left;display:block;width:57px;height:24px;background:url(../assets/img/product/size-ruler.jpg?v1559f4c3d1c);margin-bottom:5px;cursor:pointer}.product-detail-page .main .num-warn,.product-detail-page .main .size-warn{float:left;height:24px;line-height:24px}.product-detail-page .main .color-size-tip{color:#999;clear:both;line-height:18px}.product-detail-page .main .chose-count .title{margin-top:6px}.product-detail-page .main .num{display:block;width:38px;height:23px;line-height:23px;text-align:center;border:1px solid #eaeceb;color:#333;font-size:12px;background:#ebebe4}.product-detail-page .main .minus-plus{display:block;width:14px;height:23px;border:1px solid #eaeceb;border-left:none;text-align:center;cursor:pointer}.product-detail-page .main .minus-plus i{display:block;width:13px;height:11px;line-height:8px;font-size:12px;-moz-user-select:none}.product-detail-page .main .minus-plus .dis{color:#999}.product-detail-page .main .minus{border-top:1px solid #eaeceb;font-size:13px}.product-detail-page .main .lc-btn{float:left;display:block;width:80px;height:25px;line-height:25px;color:#fff;background:#222;margin-left:10px;font-size:12px;text-align:center;cursor:default}.product-detail-page .main .lc-btn.dis,.product-detail-page .main .lc-btn.had-lc,.product-detail-page .main .lc-btn.lc-sold-out{background:#ccc}.product-detail-page .main .num-wraper{position:relative}.product-detail-page .main .lc-container{position:absolute;top:-39px;right:-233px;z-index:1}.product-detail-page .main .lc-arrow{position:absolute;top:40px;left:-12px;width:13px;height:20px;background:url(../assets/img/product/arrow.png?v1559f4c3d0e)}.product-detail-page .main .lc-content{box-sizing:border-box;width:220px;height:285px;text-align:center;background:#f8f8f8;border:1px solid #cecece;padding:40px 25px 0}.product-detail-page .main .lc-content .qr-code{width:137px;height:137px;background:url(../assets/img/product/top-good-qr.png?v1559f4c3d1c);margin:0 auto}.product-detail-page .main .lc-content .title{font-size:18px;color:#000;margin:12px 0;line-height:24px}.product-detail-page .main .lc-content .sub-title{font-size:14px;color:#939290}.product-detail-page .main .buy-btn{display:inline-block;margin-right:10px;height:48px;line-height:48px;width:197px;text-align:center;color:#fff;background:#e92601;font-size:14px;cursor:pointer}.product-detail-page .main .buy-btn.hover{background:#eb3b19;background:rgba(233,38,1,.8)}.product-detail-page .main .buy-btn.dis{background:#ccc}.product-detail-page .main .collect-product,.product-detail-page .main .keep-shopping{display:inline-block;width:127px;height:48px;text-align:center;line-height:48px;background:#fff;color:#222;border:1px solid #ccc;font-weight:700;font-size:12px;cursor:pointer}.product-detail-page .main .collect-product .iconfont,.product-detail-page .main .keep-shopping .iconfont{color:#ccc;font-size:14px}.product-detail-page .main .collect-product.coled .iconfont,.product-detail-page .main .keep-shopping.coled .iconfont{color:#fa5252}.product-detail-page .main .share-row{margin-top:20px}.product-detail-page .main .share-row .title{margin-top:2px}.product-detail-page .main .balance{display:none}.product-detail-page .main .balance .success-tip{color:#222;font-size:18px;margin-bottom:10px}.product-detail-page .main .balance .cart-total{color:#999;font-size:12px}.product-detail-page .main .balance .balance-btns{margin-top:20px}.product-detail-page .other-infos{padding-bottom:30px}.product-detail-page .info-block{margin-top:30px;color:#999;border-top:2px solid #eaeceb;font-size:12px}.product-detail-page .info-block .basic{width:640px;margin:0 auto}.product-detail-page .info-block .basic li{float:left;width:25%;line-height:20px}.product-detail-page .info-block .comfort{width:470px;border:1px solid #eaeceb;margin:17px auto 0;padding-bottom:15px}.product-detail-page .info-block .comfort li{margin:12px 20px 0}.product-detail-page .info-block .comfort-block{display:inline-block;width:14px;height:10px;border:1px solid #eaeceb;margin-right:2px}.product-detail-page .info-block .comfort-block.cur{background:#999;border:1px solid #999}.product-detail-page .block-title{margin-bottom:25px;text-align:center}.product-detail-page .block-title .title{display:inline-block;padding-top:15px;font-weight:700;cursor:pointer}.product-detail-page .block-title .title.cur{color:#222;border-top:2px solid #222;margin-top:-2px}.product-detail-page .block-title .sep{display:inline-block;margin:0 30px;color:#eaeceb;font-size:14px;cursor:default;font-weight:700}.product-detail-page .description-content{overflow:hidden}.product-detail-page .material-content{display:none;overflow:hidden}.product-detail-page .material-detail li{width:860px;padding-bottom:20px;border-bottom:1px dotted #eaeceb;margin:0 auto 20px}.product-detail-page .material-detail li img{float:left;width:125px;height:50px}.product-detail-page .material-detail li .name{float:left;width:100px;line-height:25px;border-right:1px dotted #eaeceb;color:#666;font-weight:700;text-align:center;font-size:14px}.product-detail-page .material-detail li .text{float:left;width:614px;padding-left:20px;line-height:18px}.product-detail-page .wash{text-align:center}.product-detail-page .wash li{display:inline-block;padding:0 20px;color:#666;border-right:1px solid #eaeceb}.product-detail-page .size-info{text-align:center}.product-detail-page .fitting-report-table,.product-detail-page .reference-table,.product-detail-page .size-table{text-align:center;margin:0 auto}.product-detail-page .fitting-report-table th,.product-detail-page .reference-table th,.product-detail-page .size-table th{width:110px;text-align:center}.product-detail-page .fitting-report-table tr,.product-detail-page .reference-table tr,.product-detail-page .size-table tr{height:30px}.product-detail-page .fitting-report-table td,.product-detail-page .fitting-report-table tr,.product-detail-page .reference-table td,.product-detail-page .reference-table tr,.product-detail-page .size-table td,.product-detail-page .size-table tr{text-align:center}.product-detail-page .fitting-report-table thead,.product-detail-page .reference-table thead,.product-detail-page .size-table thead{background:#f5f7f6;color:#999}.product-detail-page .fitting-report-table tbody,.product-detail-page .reference-table tbody,.product-detail-page .size-table tbody{color:#222}.product-detail-page .fitting-report-table .avatar,.product-detail-page .reference-table .avatar,.product-detail-page .size-table .avatar{width:26px;height:26px;border-radius:50px}.product-detail-page .fitting-report-table .avatar-col,.product-detail-page .reference-table .avatar-col,.product-detail-page .size-table .avatar-col{width:26px;padding-left:20px;padding-right:20px}.product-detail-page .fitting-report-table .model-col,.product-detail-page .reference-table .model-col,.product-detail-page .size-table .model-col{width:90px}.product-detail-page .fitting-report-table .remark-col,.product-detail-page .reference-table .remark-col,.product-detail-page .size-table .remark-col{width:200px}.product-detail-page .fr-img-wrap{width:100%;text-align:center}.product-detail-page .fr-img-wrap img{max-width:100%}.product-detail-page .ref-model{padding-top:10px}.product-detail-page .ref-model .model{width:444px;height:35px;padding-top:47px;padding-left:316px;color:#666;overflow:hidden;margin:10px auto 0}.product-detail-page .ref-model .model em{margin-left:5px}.product-detail-page .size-tip{color:#999;margin-top:15px;text-align:center}.product-detail-page .details{text-align:center;font-size:12px;color:#999;line-height:18px}.product-detail-page .details-html{width:750px;text-align:center;margin:0 auto}.product-detail-page .details-html b{font-weight:700}.product-detail-page .details-html i{font-style:italic}.product-detail-page .consults{display:none}.product-detail-page .consult-comment .title,.product-detail-page .consult-comment .title.cur{color:#666}.product-detail-page .cc-content{background:#f5f7f6;padding:20px 20px 0;font-size:12px}.product-detail-page .cc-content h2{font-weight:700;font-size:14px;margin-bottom:10px;color:#000}.product-detail-page .cc-content li{border-top:1px solid #eaeceb;padding:20px 0}.product-detail-page .cc-content .user-info{color:#999;line-height:16px}.product-detail-page .cc-content .user-info>*{float:left}.product-detail-page .cc-content .user-info .name{color:#666}.product-detail-page .cc-content .user-info .date{color:#bbb}.product-detail-page .cc-content .user-info .question{color:#222}.product-detail-page .cc-content .user-avatar{width:30px;height:30px;margin-right:5px}.product-detail-page .cc-content .more-wrap{text-align:center;border-top:1px solid #eaeceb;padding:20px 0;font-size:14px;font-weight:700;color:#666}.product-detail-page .cc-content .btn-wrap{padding:20px 0;border-top:1px solid #eaeceb}.product-detail-page .cc-content .load-more{cursor:pointer}.product-detail-page .cc-content .btn{display:block;width:140px;height:32px;line-height:32px;color:#fff;background:#222;text-align:center;font-size:12px;margin:0 auto;cursor:pointer}.product-detail-page .cc-content .btn .iconfont{font-size:14px}.product-detail-page .cc-content .comment,.product-detail-page .cc-content .consult{margin-top:10px}.product-detail-page .cc-content .consults{display:none}.product-detail-page .new-consult{padding:20px 0;border-top:1px solid #eaeceb}.product-detail-page .new-consult textarea{width:590px;height:80px;padding:5px;outline:none;resize:none}.product-detail-page .new-consult .submit-consult{display:block;width:140px;height:32px;line-height:32px;margin:8px 0 0}.product-detail-page .new-consult .error{border-color:#e01}.product-detail-page .consult-success{border-top:1px solid #eaeceb;margin-top:30px;text-align:center;padding:20px 0}.product-detail-page .consult-success p{width:295px;height:55px;line-height:55px;margin:0 auto;border:2px solid #222;display:block;color:#222;font-weight:700}.product-detail-page .after-service{text-align:center;margin-top:30px}.product-detail-page .after-service .after-service-content{display:none}.product-detail-page .after-service .after-service-switch{height:44px;line-height:44px;background:#eaeceb;text-align:center;font-size:12px;cursor:pointer}.product-detail-page .after-service .after-service-switch .iconfont{font-size:12px}.product-detail-page .after-service .text{padding:20px 15px;background:#f5f7f6;text-align:left;color:#666;line-height:18px}.product-detail-page .after-service .orange{color:#f9761a}.product-detail-page .after-service h4{font-weight:700;font-size:14px;line-height:24px;color:#222;margin-top:10px}.product-detail-page .after-service h4:first-child{margin-top:0}.product-detail-page .after-service .img-1{width:715px;height:259px;margin:0 auto;background:url(../assets/img/product/after-service-1.png?v1559f4c3d0b)}.product-detail-page .after-service .img-2{width:715px;height:230px;margin:0 auto;background:url(../assets/img/product/after-service-2.png?v1559f4c3d0c)}.product-detail-page .after-service a{color:#666}.product-detail-page .service{width:403px;height:19px;margin:45px auto;background:url(../assets/img/product/service.png?v1559f4c3d16)}.product-detail-page .latest-walk{overflow:inherit}.product-detail-page .latest-walk .goods{width:1010px;margin:0 auto;height:auto}.product-detail-page .latest-walk .goods>div{float:left;width:180px;margin-right:22px}.product-detail-page .latest-walk img{height:240px;width:180px;display:block}.product-detail-page .latest-walk .name{display:block;margin-top:5px;color:#222;line-height:16px}.product-detail-page .latest-walk .price{color:#222;font-weight:700;margin-top:5px}.product-detail-page .latest-walk .market-price{margin-right:5px}.product-detail-page .latest-walk .has-sale{text-decoration:line-through;color:#999}.product-detail-page .warn-tip{display:inline-block;color:#e01;margin-left:7px;font-size:12px}.product-detail-page .warn-tip i{font-size:14px}.product-detail-page .hot-point-wrap{position:relative;margin:0 auto}.product-detail-page .hot-point-wrap .hot-point{position:absolute;background:#fff\9;filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=0)}.product-detail-page .hot-point-wrap .hot-point.hover .pointer{background-position:0 -25px}.product-detail-page .hot-point-wrap .hot-point.hover .hp-good{display:block}.product-detail-page .hot-point-wrap .pointer{position:absolute;display:block;background:url(../assets/img/product/hp-num.png?v1559f4c3d14) no-repeat 0 0;color:#fff;cursor:pointer;width:25px;height:25px;line-height:25px;text-align:center;left:0;top:0;font-size:18px}.product-detail-page .hot-point-wrap .hp-good{display:none;position:absolute;left:30px;top:0;width:210px;background:#000;height:60px;padding:10px}.product-detail-page .hot-point-wrap .hp-good .pic{display:block;float:left;width:60px;height:60px;margin-right:10px}.product-detail-page .hot-point-wrap .hp-good .info{position:relative;float:left;color:#fff;font-size:12px;width:140px;height:60px;line-height:20px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;text-align:left}.product-detail-page .hot-point-wrap .hp-good .check-btn{display:block;position:absolute;height:18px;width:40px;text-decoration:none;right:0;bottom:0;text-align:center;background:#e8e8e8;border-radius:2px}.shop-index-page{margin:10px auto 30px;width:1150px}.shop-index-page .shop-banner{position:relative}.shop-index-page .shop-banner .shop-name{position:absolute;left:260px;bottom:20px;font-size:36px;color:#fff}.shop-index-page .shop-banner .banner-img{width:100%;height:150px}.shop-index-page .shop-banner .opt-wrap{position:absolute;top:65%;right:0;padding:0 10px}.shop-index-page .shop-banner .shop-collect,.shop-index-page .shop-banner .shop-intro{display:inline-block;width:110px;height:30px;margin-right:10px;font-size:16px;line-height:30px;text-align:center;color:#fff;border:1px solid #fff;cursor:pointer}.shop-index-page .shop-banner .shop-collect i,.shop-index-page .shop-banner .shop-intro i{background-repeat:no-repeat;float:left;position:relative;left:11px;top:5px}.shop-index-page .shop-banner .shop-collect .shop-intro-ico,.shop-index-page .shop-banner .shop-intro .shop-intro-ico{width:16px;height:20px;background-image:url(../assets/img/product/shop-instro.png?v1559f4c3d19);margin-right:12px}.shop-index-page .shop-banner .shop-collect .shop-collect-ico,.shop-index-page .shop-banner .shop-intro .shop-collect-ico{width:20px;height:19px;background-image:url(../assets/img/product/shop-collection.png?v1559f4c3d18);top:6px;margin-right:12px}.shop-index-page .shop-banner .shop-collect .shop-collect-ico.on,.shop-index-page .shop-banner .shop-intro .shop-collect-ico.on{background-image:url(../assets/img/product/shop-collection-on.png?v1559f4c3d17)}.shop-index-page .shop-nav{box-sizing:border-box;margin-bottom:30px;padding:0 20px;width:100%;height:40px;color:#fff;background:#000;font-size:16px}.shop-index-page .shop-nav a{position:relative;top:8px;display:inline-block;line-height:26px;color:#fff}.shop-index-page .shop-nav .nav-item{position:relative;float:left;width:160px;text-align:center}.shop-index-page .shop-nav .nav-item.first{width:100px;text-align:left}.shop-index-page .shop-nav .current a{border-bottom:2px solid #fff}.shop-index-page .coupon{margin-top:20px;width:100%;height:80px}.shop-index-page .coupon .coupon-title{width:162px;height:100%;background-image:url(../assets/img/sprite.product.png?v1559f4c4797);background-position:0 0}.shop-index-page .slider-wrap{height:360px}.shop-index-page .slider-wrap .slide-wrapper img{width:auto;height:auto}.shop-index-page .slider-left{float:left;margin-right:10px;width:660px;height:100%;overflow:hidden;position:relative}.shop-index-page .slider-left .slide-wrapper{height:358px}.shop-index-page .slider-left .slide-switch a.prev{margin-left:-330px}.shop-index-page .slider-left .slide-switch a.next{margin-right:-330px}.shop-index-page .slider-left img{width:100%;height:100%}.shop-index-page .slider-left .slide-pagination{display:none}.shop-index-page .slider-right{float:left;width:300px;height:100%}.shop-index-page .slider-right .slider-item{display:block;margin-bottom:10px;width:100%;height:175px}.shop-index-page .floor-header{margin-top:50px}.shop-index-page .hot-single,.shop-index-page .new-arrivel{width:980px}.shop-index-page .hot-single .item,.shop-index-page .new-arrivel .item{float:left;position:relative;margin-right:10px;margin-bottom:20px;width:235px;height:315px;font-size:14px;text-align:center;line-height:1.5;background:#f5f5f5;font-weight:700}.shop-index-page .hot-single .item img,.shop-index-page .new-arrivel .item img{width:235px;height:250px}.shop-index-page .hot-single .item .title,.shop-index-page .new-arrivel .item .title{width:220px;padding:0 5px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.shop-index-page .hot-single .hat,.shop-index-page .new-arrivel .hat{position:absolute;top:0;right:0;width:50px;height:50px;color:#ffc513;text-align:center;line-height:57px;background-image:url(../assets/img/sprite.product.png?v1559f4c4797);background-position:0 -82px}.shop-index-page .mask{background-color:#000;opacity:.5;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";position:fixed;top:0;left:0;right:0;bottom:0;z-index:12;display:none;cursor:pointer}.shop-index-page .pop-shop-intro{display:none}.shop-index-page .shop-intro-bg{width:908px;height:604px;background-color:#000;opacity:.5;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";position:fixed;left:50%;top:50%;z-index:13;margin:-302px 0 0 -454px}.shop-index-page .shop-intro-area{width:898px;height:594px;padding:60px 10px 35px 40px;background-color:#fff;position:fixed;left:50%;top:50%;margin:-297px 0 0 -449px;z-index:14;box-sizing:border-box}.shop-index-page .shop-intro-area .close-btn{width:18px;height:18px;background-image:url(../assets/img/product/shop-instro-close.png?v1559f4c3d18);position:absolute;right:20px;top:20px;cursor:pointer}.shop-index-page .shop-intro-area .brand-cont{overflow:auto;width:100%;height:499px;padding-right:30px;box-sizing:border-box}.shop-index-page .shop-intro-area .intro-title{float:left}.shop-index-page .shop-intro-area .intro-title h2{width:100%;float:left;text-align:left;font-size:26px;font-weight:700;color:#000;font-style:italic}.shop-index-page .shop-intro-area .intro-title p{font-family:黑体;font-size:20px;text-align:left;padding:10px 0;float:left}.shop-index-page .shop-intro-area .intro-cont{width:100%;float:left;margin-top:55px;font-size:14px;line-height:20px}.shop-index-page .shop-intro-area .intro-cont p{text-indent:2em}.shop-index-page .shop-intro-area .intro-cont img{width:100%;margin-top:10px}.shop-index-page .fixed-area{background:#fff;z-index:1;width:970px}.shop-index-page .all-goods-menu{width:100%;height:40px;line-height:40px}.shop-index-page .all-goods-menu .menu-tag{color:#d0021b;font-size:18px;font-weight:700;text-align:left;padding:0 20px 0 10px;border-right:1px solid #000;float:left}.shop-index-page .all-goods-menu .menu-list{width:810px;height:40px;overflow:hidden;float:left;font-size:14px}.shop-index-page .all-goods-menu .menu-list li{display:inline-block;padding:0 15px}.shop-index-page .all-goods-menu .menu-list .on{background:#000;height:28px;line-height:28px}.shop-index-page .all-goods-menu .menu-list .on a{color:#fff}.shop-index-page .all-goods-menu .more{font-size:14px;float:right}.shop-index-page .sort-pager .sort-type:first-child .iconfont{display:inline-block}.shop-index-page .loading{position:relative;width:100%;text-align:center}.shop-index-page .loading a{display:block;height:35px;width:120px;margin:0 auto;background-color:#000;color:#fff;font-size:14px;line-height:35px;text-align:center}.shop-index-page .trend-info,.shop-index-page .trend-info .trend-list{width:100%}.shop-index-page .trend-info .trend-list li{float:left;width:316px;margin-left:10px;text-align:center}.shop-index-page .trend-info .trend-list li:first-child{margin-left:0}.shop-index-page .trend-info .trend-list img{width:100%;height:181px}.shop-index-page .trend-info .trend-list .main-title,.shop-index-page .trend-info .trend-list .sub-title{box-sizing:border-box;font-size:16px;margin-top:15px;padding:0 10px;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:24px}.shop-index-page .trend-info .trend-list .sub-title{margin-top:0;font-size:14px}.shop-index-page .goods-wrap .goods-container .good-info{width:235px;height:auto;margin-bottom:35px}.shop-index-page .goods-wrap .goods-container .good-detail-text{text-align:left}.shop-index-page .left-modular{width:160px;font-size:14px;margin-top:20px;float:left}.shop-index-page .left-modular .title{width:100%;height:25px;line-height:25px;background:#000;color:#fff;font-family:黑体;padding-left:14px;box-sizing:border-box}.shop-index-page .left-modular .left-list{width:100%;margin-top:5px}.shop-index-page .left-modular .left-list li{width:100%;height:42px;line-height:42px;background:#f5f5f5;float:left;box-sizing:border-box;margin-top:5px;padding-left:14px}.shop-index-page .left-modular .left-list li a{color:#000}.shop-index-page .left-modular .left-list li.on{border:1px solid #000}.shop-index-page .classic-recommend .left-list li{height:50px;line-height:50px}.shop-index-page .classic-recommend .classic-name{width:96px;display:inline-block;line-height:14px;vertical-align:middle;font-weight:700}.shop-index-page .classic-recommend .classic-name .name{font-size:14px}.shop-index-page .classic-recommend .classic-name .en-name{font-size:12px}.shop-index-page .classic-recommend img{width:40px;max-height:40px;margin-right:5px;vertical-align:middle}.shop-index-page .sell-recommend .left-list li{padding-left:0;height:auto;margin-bottom:25px;line-height:inherit}.shop-index-page .sell-recommend .left-list li img{width:100%}.shop-index-page ::-webkit-scrollbar{width:16px;height:16px}.shop-index-page ::-webkit-scrollbar-thumb,.shop-index-page ::-webkit-scrollbar-track{border-radius:999px;border:5px solid transparent}.shop-index-page ::-webkit-scrollbar-track{box-shadow:inset 0 0 6px transparent}.shop-index-page ::-webkit-scrollbar-thumb{min-height:20px;background-clip:content-box;box-shadow:inset 0 0 0 6px rgba(0,0,0,.3)}.shop-index-page ::-webkit-scrollbar-corner{background:transparent}.shop-index-page .page-nav{padding:7px 0;float:right;font-size:14px}.shop-index-page .page-nav .page-prev{width:33px;height:33px;background:#ccc;text-align:center;float:left}.shop-index-page .page-nav .arrow-left{width:10px;height:10px;display:inline-block;position:relative;top:-7px;background:url(../assets/img/product/arrow-left.png?v1559f4c3d0d) no-repeat}.shop-index-page .page-nav a .page-next,.shop-index-page .page-nav a .page-prev{background:#000;color:#fff}.shop-index-page .page-nav .page-next{min-width:110px;height:33px;background:#a9a9a9;float:left;margin-left:1px;line-height:33px;padding-left:10px;box-sizing:border-box;padding-right:10px}.shop-index-page .page-nav .arrow-right{width:10px;height:10px;display:inline-block;vertical-align:middle;background:url(../assets/img/product/arrow-right.png?v1559f4c3d0d) no-repeat}.shop-index-page .page-nav .pages{margin-left:10px}.product-page .product-pager{padding:20px 0;font-size:12px;color:#6a6a6a;border-top:2px solid #eaeceb}.product-page .product-pager .pager{float:right}.product-page .list-left{width:160px}.product-page .list-right{width:970px}.new-sale-page .goods-container,.product-list-page .goods-container{height:auto;padding-top:25px;position:relative;width:980px}.new-sale-page .goods-container .good-info,.product-list-page .goods-container .good-info{width:235px}.new-sale-page .goods-container .good-info .good-detail-img,.product-list-page .goods-container .good-info .good-detail-img{height:315px}.new-sale-page .goods-container .block-next-page,.product-list-page .goods-container .block-next-page{width:235px;height:315px}.new-sale-page .filter-box .brand .attr-content,.product-list-page .filter-box .brand .attr-content{max-width:730px}.min-screen .new-sale-page .list-right,.min-screen .product-list-page .list-right{width:810px}.min-screen .new-sale-page .goods-container,.min-screen .product-list-page .goods-container{height:auto;padding-top:25px;position:relative;width:820px}.min-screen .new-sale-page .goods-container .good-info,.min-screen .product-list-page .goods-container .good-info{width:195px}.min-screen .new-sale-page .goods-container .good-info .good-detail-img,.min-screen .product-list-page .goods-container .good-info .good-detail-img{height:261px}.min-screen .new-sale-page .goods-container .block-next-page,.min-screen .product-list-page .goods-container .block-next-page{width:195px;height:261px}.min-screen .new-sale-page .filter-box .brand .attr-content,.min-screen .product-list-page .filter-box .brand .attr-content{max-width:570px}.passport-page{width:1150px;margin-left:auto;margin-right:auto}.passport-page .content{float:left;margin-top:107px;padding-left:85px}.passport-page .input{height:43px;font-size:16px;line-height:1.2;line-height:43px\9;width:268px;border:1px solid #dbdbdb;text-indent:10px;color:#9a9a9a;color:rgba(0,0,0,.5)}.passport-page .error{border-color:red!important}.passport-page .btn{display:block;height:46px;line-height:46px;width:100%;text-align:center;color:#fff;background-color:#ff1901;letter-spacing:10px;font-size:20px;cursor:pointer}.passport-page .btn.disable{background-color:#555;cursor:default}.passport-page .pwd-intensity-container{width:270px;text-align:right;padding-top:5px}.passport-page .pwd-intensity-container .pwd-intensity{height:15px;font-size:12px;background-color:#e8e8e8;padding:0 10px;text-align:center;color:#b9b9b9}.passport-page .pwd-intensity-container.red .pwd-intensity{color:#e01}.passport-page .pwd-intensity-container.red .color{background:#e01;color:#fff}.passport-page .pwd-intensity-container.yellow .pwd-intensity{color:#f6da1e}.passport-page .pwd-intensity-container.yellow .color{background:#f6da1e;color:#fff}.passport-page .pwd-intensity-container.green .pwd-intensity{color:#3ee392}.passport-page .pwd-intensity-container.green .color{background:#3ee392;color:#fff}.passport-page .pwd-tips{position:absolute;top:-10px;left:285px;width:160px!important;height:72px;padding-top:7px;font-size:12px;background-image:url(../assets/img/sprite.passport.png?v1559f4c4797);background-position:0 0}.passport-page .pwd-tips>div{position:relative;height:22px;line-height:22px;margin-left:15px;padding-left:15px;font-size:12px;color:#b9b9b9}.passport-page .pwd-tips>div i{position:absolute;width:14px;height:14px;left:-2px;top:50%;margin:-7px 0 0;background-image:url(../assets/img/sprite.passport.png?v1559f4c4797);background-position:-63px -113px}.passport-page .pwd-tips>div.no{color:red}.passport-page .pwd-tips>div.no i{background-image:url(../assets/img/sprite.passport.png?v1559f4c4797);background-position:-95px -113px}.passport-page .pwd-tips>div.yes i{background-image:url(../assets/img/sprite.passport.png?v1559f4c4797);background-position:-79px -113px}.passport-page .email-autocomplete{position:absolute;width:248px;padding:0 10px;z-index:1;margin-top:5px;border-radius:5px;cursor:pointer;border:1px solid #fefefe;background-color:#161616;color:#fff;font-size:16px}.passport-page .email-autocomplete li{height:24px;line-height:24px}.passport-page .err-tip{position:absolute;font-size:14px;white-space:nowrap;top:8px;left:285px;padding:6px 0;color:red}.passport-page .err-tip i{display:block;float:left;height:14px;width:14px;background-image:url(../assets/img/sprite.passport.png?v1559f4c4797);background-position:-95px -113px;margin-right:5px}.passport-page .err-tip a{text-decoration:underline;color:red}.passport-page .page-tip{display:block;width:100%;height:30px;line-height:30px;text-align:center;font-size:20px;font-weight:700;color:#ccc;clear:both;margin-bottom:15px}.passport-cover{float:left;margin:107px 0;width:575px}.passport-cover .cover-content{width:100%;height:318px;padding:50px 0;border-right:1px solid #dfdfdf}.passport-cover .cover-img{display:block;width:252px;height:190px;margin:0 auto;margin-top:50px}.login-page .relative{position:relative}.login-page .right{float:right}.login-page .login-ul>li{margin-bottom:25px}.login-page .title{float:left;font-size:20px}.login-page .country-code{cursor:pointer;color:#b9b9b9}.login-page .country-list{display:none;position:absolute;padding:0 10px;background:#fff;border:1px solid #000;top:20px;right:0;z-index:1;border-radius:5px}.login-page .country-list li{height:20px;line-height:20px;color:#000}.login-page .captcha-wrap{position:relative}.login-page .captcha-wrap .err-tip{left:335px}.login-page .captcha{width:160px;float:left}.login-page .captcha-img{height:37px;width:90px;border:0;vertical-align:middle;outline:none;margin-left:10px;margin-top:4px;float:left}.login-page .change-captcha{position:absolute;top:0;right:-50px;cursor:pointer;float:left;height:43px;font-size:14px;line-height:43px;color:#ff1901}.login-page .remember-me{cursor:pointer}.login-page .other-opts{color:#b9b9b9;font-size:14px}.login-page .other-opts .iconfont{font-size:14px}.login-page .other-opts .fast-reg{color:#ff1901}.login-page .forget-password{color:#b9b9b9}.login-page .third-party-login{display:table}.login-page .third-party-login a{display:table-cell;width:45px;background-size:100% 100%}.login-page .third-party-login .icon{display:block;width:30px;height:30px;margin:0 auto}.login-page .third-party-login .weixin{background-image:url(../assets/img/sprite.passport.png?v1559f4c4797);background-position:-96px -81px}.login-page .third-party-login .qq{background-image:url(../assets/img/sprite.passport.png?v1559f4c4797);background-position:-128px -81px}.login-page .third-party-login .weibo{background-image:url(../assets/img/sprite.passport.png?v1559f4c4797);background-position:0 -81px}.login-page .third-party-login .alipay{background-image:url(../assets/img/sprite.passport.png?v1559f4c4797);background-position:0 -113px}.login-page .third-party-login .douban{background-image:url(../assets/img/sprite.passport.png?v1559f4c4797);background-position:-64px -81px}.login-page .third-party-login .renren{background-image:url(../assets/img/sprite.passport.png?v1559f4c4797);background-position:-32px -81px}.login-page .caps-lock{position:absolute;color:#666;border:#ffe57d;background:#fff6d2;white-space:nowrap;top:8px;left:278px;padding:0 20px;height:27px;line-height:30px}.register-page{font-size:14px;color:#b9b9b9}.register-page li{margin-bottom:25px;width:270px;position:relative}.register-page li input,.register-page li select{outline:none}.register-page li .input{height:43px;line-height:43px;font-size:16px;width:268px;border:1px solid #dbdbdb;text-indent:10px;color:#9a9a9a;padding:0}.register-page li .input.error{border:1px solid red}.register-page li .input.phone-num{width:209px;display:block;float:left;position:absolute;top:0;right:0}.register-page li .input.captcha,.register-page li .input.msg-captcha{width:160px;float:left}.register-page li .input.agree-terms{vertical-align:middle}.register-page li .send-captcha{top:0;background:#ff1901;position:absolute;width:100px;right:0;font-size:12px;text-indent:0;letter-spacing:0}.register-page li .send-captcha.disable{background:#555}.register-page li .link{text-decoration:underline;color:#ff1901}.register-page li .btn{height:45px;line-height:45px;color:#fff;border:none;padding:0;font-family:黑体,Regular;text-align:center}.register-page li .region{height:30px;padding:4px 0;width:132px;border-color:#c1c1c1;color:#9a9a9a;font-size:16px;font-family:黑体,Regular}.register-page li .country-code{width:58px;height:43px;line-height:43px;text-align:center;white-space:nowrap;border:1px solid #dbdbdb;border-right:0;font-size:16px;display:block;float:left}.register-page li .captcha-img{height:37px;width:90px;border:0;vertical-align:middle;outline:none;margin-left:10px;margin-top:4px;float:left}.register-page li .change-captcha{margin-left:10px;cursor:pointer;float:left;height:43px;line-height:43px}.register-page li .pwd-intensity-container{width:270px;text-align:right;margin-top:5px;height:auto;overflow:hidden}.register-page li .pwd-intensity-container .pwd-intensity{height:15px;font-size:12px;background-color:#e8e8e8;padding:1px 10px;text-align:center}.register-page li .pwd-intensity-container.red{color:red}.register-page li .pwd-intensity-container.red .color{background:red;color:#fff}.register-page li .pwd-intensity-container.yellow .color{background:#ff0;color:#fff}.register-page li .pwd-intensity-container.green .color{background:#3ee392;color:#fff}.register-page li .register-btn{width:270px;font-size:20px;font-weight:700;background:#ff1901}.register-page li .register-btn.disable{background:#555}.register-page li.w330{width:330px}.register-page li.items-container,.register-page li.quick-login-container{font-size:13px;text-align:right;white-space:nowrap}.register-page li.quick-login-container{width:270px}.register-page li.skip-user-info{font-size:18px;text-align:center}.register-page li.skip-user-info a{color:#ff1901;text-decoration:underline}.register-page .msg-tip{position:absolute;top:17px;left:285px;white-space:nowrap}.register-page .msg-tip:before{content:'';display:inline-block;width:12px;height:12px;margin-right:5px;background-image:url(../assets/img/sprite.passport.png?v1559f4c4797);background-position:-63px -129px}.register-page .err-tip{z-index:11;position:absolute;height:30px;line-height:30px;color:red;background-color:#ffebeb;border:1px solid #ffbdbe;padding:0 10px}.register-page .err-tip b{display:block;position:absolute;top:30px;left:20px;background-image:url(../assets/img/sprite.passport.png?v1559f4c4797);background-position:-111px -113px;width:17px;height:9px}.register-page .success-box{font-size:14px;color:#b9b9b9;margin-top:130px}.register-page .success-box .success-text{line-height:29px;padding-left:46px;font-size:16px;color:#000}.register-page .success-box .success-text span{font-size:22px}.register-page .success-box .success-text #count-down{color:#ff1901}.register-page .success-box .success-text:before{content:'';display:inline-block;background-image:url(../assets/img/sprite.passport.png?v1559f4c4797);background-position:-32px -113px;width:29px;height:29px;margin-right:5px;position:relative;top:6px}.register-page .success-box .success-btn{display:block;margin:46px auto 0;width:270px;height:45px;line-height:45px;background:#ff1901;text-align:center;color:#fff;letter-spacing:2px}.back-page{font-size:14px}.back-page .content{margin:175px 0 0!important}.back-page .back-header{position:relative;width:268px;line-height:40px;margin-bottom:5px}.back-page .back-header .country-code{float:right;cursor:pointer;color:#b9b9b9}.back-page .back-header .country-code .iconfont{font-size:14px;vertical-align:middle}.back-page .title{float:left;margin:0}.back-page .title,.back-page .title2{font-size:22px;line-height:40px;color:#000;font-weight:400}.back-page .title2{margin:0 0 5px}.back-page .err-tip.captcha-err{top:10px;left:326px}.back-page .country-code-list{display:none;position:absolute;padding:0 10px;color:#000;background-color:#fff;border:1px solid #000;margin-top:5px;cursor:pointer;z-index:9;top:30px;right:0;border-radius:5px}.back-page .country-code-list li{height:20px;line-height:20px}.back-page .input-container-li{position:relative;margin-bottom:22px}.back-page .input-container-li .btn{width:270px;height:45px;line-height:45px;cursor:pointer;font-size:20px;border:none;letter-spacing:0}.back-page .input-container-li .captcha{width:160px}.back-page .input-container-li .captcha-img{height:37px;width:90px;border:0;margin-left:10px;vertical-align:middle;outline:none;cursor:pointer}.back-page .input-container-li .change-captcha{color:#ff1901;font-size:12px;text-decoration:underline;margin-left:10px;cursor:pointer}.send-email-page{font-size:14px}.send-email-page .content{margin:216px 0 0!important}.send-email-page .send-tips{line-height:28px;color:#4c4c4c;text-align:center;font-size:15px}.send-email-page .send-tips .iconfont{margin:0 8px 0 0}.send-email-page .no-find{margin:10px 0 0;line-height:20px;color:#a5a4a4;text-align:center}.send-email-page .to-my-email a{display:block;margin:53px auto 0;width:270px;height:45px;line-height:45px;background:#ff1901;text-align:center;color:#fff;letter-spacing:2px}.verification-page .content li{position:relative;margin-bottom:43px}.verification-page .content .btn{display:inline-block;border:none}.verification-page .content .head-title{font-size:24px;color:#000}.verification-page .content .pn-label{color:#828282;font-size:16px}.verification-page .content .country-code{margin:0 10px}.verification-page .content .country-code,.verification-page .content .phone-num{color:#000;font-size:16px}.verification-page .content .captcha{width:160px!important}.verification-page .content .send-captcha{width:133px;font-size:12px;position:relative;top:-1px;letter-spacing:0}.verification-page .content .err-tip{left:310px}.verification-page .content .captcha-tips{position:absolute;top:50px;color:#a5a4a4}.verification-page .content .captcha-tips .iconfont{color:#0f9acd;font-size:14px;margin:0 8px 0 0;vertical-align:12%}.reset-success-page .content{margin:255px 0 0!important}.reset-success-page .success-text{line-height:35px}.reset-success-page .success-text .iconfont{font-size:30px;color:#ee3f14}.reset-success-page .success-text span{font-size:24px;margin:0 18px}.reset-success-page .success-text #count-down{color:#ee3f14}.reset-success-page .success-btn{display:block;margin:43px auto 0;width:269px;line-height:269px;height:45px;line-height:45px;font-size:14px;color:#fff;text-align:center;background-color:#ff1901}.welcome-page{text-align:center;color:#7f7f7f}.welcome-page .content{padding-top:82px}.welcome-page .wel-title{font-size:30px;margin-bottom:30px}.welcome-page .wel-title em{font-style:normal;color:#ff1901}.welcome-page .wel-sub-title{font-size:16px;margin-bottom:60px}.welcome-page .link{display:block}.welcome-page .link span{color:#7f7f7f}.welcome-page .link-img{height:91px;width:91px;background-size:100% 100%;margin-bottom:10px}.welcome-page .go-shopping{float:left;padding-left:100px}.welcome-page .go-shopping div{background-image:url(../assets/img/passport/go-shopping.png?v1559f4c3cf3)}.welcome-page .complete-info{float:right;padding-right:100px}.welcome-page .complete-info div{background-image:url(../assets/img/passport/edit-info.png?v1559f4c3cf2)}.yohobindbtn{display:block;width:210px;height:45px;line-height:45px;background-color:#f02200;color:#fff;font-size:16px;text-align:center}.hide{display:none}.novisiable{visibility:hidden}.actlevel{background-color:#f02200!important;color:#fff!important}.mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:15;overflow:hidden;-webkit-overflow-scrolling:touch;outline:0}.bindwrapper{margin:0 auto;width:980px;min-height:450px;padding-top:122px}.welcomeword{width:100%;text-align:center;font-size:22px;line-height:22px;color:#545454;margin-bottom:15px}.welcomeword .yoho{color:#e12000}.safeword{width:100%;text-align:center;font-size:16px;line-height:16px;color:#545454;margin-bottom:63px}.yohobindrow{width:485px;margin:0 auto 22px;height:40px}.yohobindrow .name{float:left;text-align:right;margin-right:14px;width:96px}.yohobindrow .areatag{height:30px;line-height:30px}.yohobindrow .phonetag,.yohobindrow .setpwdtag{height:47px;line-height:47px}.yohobindrow .content{float:left;text-align:left;margin-top:0;padding-left:0}.yohobindrow .errinfo{color:#f02200;line-height:49px;margin-left:5px}.yohobindrow:after{display:block;content:'';clear:both}.sendnotify{width:260px;text-align:left;margin:0 auto 18px}.validaterow{margin:0 auto 22px;padding-left:248px}.validaterow .name{float:left;text-align:right;margin-right:14px;width:96px}.validaterow .areatag{height:30px;line-height:30px}.validaterow .phonetag{height:47px;line-height:47px}.validaterow .content{float:left;text-align:left}.validaterow .content .err-tip{left:430px}.validaterow .validatewrapper{float:left;height:45px;width:133px;text-align:center;line-height:45px;background-color:#d8d8d8;color:#000;font-size:13px;margin-left:18px}.validaterow .validatewrapper .yohobindbtn{width:133px;font-size:13px}.validaterow:after{display:block;content:'';clear:both}.validatepicrow{overflow:hidden;margin:0 auto 22px;padding-left:250px}.validatepicrow .name{float:left;text-align:right;margin-right:14px;width:96px}.validatepicrow .areatag{height:30px;line-height:30px}.validatepicrow .phonetag{height:47px;line-height:47px}.validatepicrow .content{float:left;text-align:left}.validatepicrow .validatewrapper{float:left;height:45px;text-align:center;line-height:45px;color:#000;font-size:13px;margin-left:18px}.validatepicrow .validatewrapper .yohobindbtn{width:133px;font-size:13px}.validatepicrow .change-captcha{cursor:pointer;color:#f02200;text-decoration:underline}.validatepicrow:after{display:block;content:'';clear:both}.setpwdwrapper{margin-bottom:10px;height:45px}.safelevel{width:291px;margin:0 auto;text-align:right}.safelevel,.safelevel span{height:15px;font-size:10px;color:#000}.safelevel span{width:28px;line-height:15px;background-color:#e5e5e5;margin-right:4px;padding:1px 8px}.green .color{background-color:#0f0;color:#fff}.yellow .color{background-color:#ff0;color:#fff}.red .color{background-color:red;color:#fff}.yohoselectarea{position:relative;box-sizing:border-box;width:131px;height:33px}.yohoselectarea .optionshow{width:100%;height:100%;padding-left:16px;border:1px solid #d9d9d9}.yohoselectarea .optionshow .areaname{display:block;float:left;width:110px;height:100%;line-height:33px;font-size:13px;color:#000}.yohoselectarea .optionshow .righttag{display:block;float:left;width:21px;height:100%;line-height:33px;background-color:#d8d8d8;background-image:url(../assets/img/passport/arrowbottom.png?v1559f4c3cee);background-repeat:no-repeat;background-position:50%}.yohoselectarea .optionslist{background-color:#fff;position:absolute;top:35px;left:0;width:149px;z-index:2}.yohoselectarea .optionslist .optionitem{height:33px;line-height:33px;padding-left:16px;font-size:13px}.yohoselectarea .optionslist .optionitem:hover{background-color:#dfdfdf}.yohophonewrapper{width:271px;height:47px;border:1px solid #d9d9d9;position:relative}.yohophonewrapper .areanum{float:left;height:100%;width:63px;line-height:47px;text-align:center;color:#000;background-color:#d8d8d8}.yohophonewrapper .phonenum{outline:none;box-sizing:border-box;float:left;height:45px;width:205px;line-height:38px;padding-left:8px;border:none;color:#000}.yohophonewrapper .pwdcontent,.yohophonewrapper .validatenum{width:100%}.protoctolwrapper{width:350px;margin:38px auto 0;padding-left:85px;overflow:hidden}.protoctolwrapper .choosewrapper{float:left;width:13px;height:13px;background-color:#4c4c4c;background-image:url(../assets/img/passport/choosed.png?v1559f4c3cf1);background-position:50%;background-repeat:no-repeat;margin-right:14px}.protoctolwrapper .choosetag{width:110%;height:110%;display:block;opacity:0;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";margin:0}.protoctolwrapper span{float:left;color:#666;font-size:13px;line-height:14px}.protoctolwrapper .protoctol{color:#f02200;text-decoration:underline}.protoctolwrapper:after{display:block;content:'';clear:both}.confirmwrapper{overflow:hidden;margin-top:47px!important}.btnwrapper{width:350px;margin:20px auto 0;padding-left:85px}.thirdloginwrapper{margin:0 auto;width:1150px;min-height:450px;padding-top:160px}.thirdloginwrapper .safeword{margin-bottom:30px}.thirdloginwrapper .left{box-sizing:border-box;float:left;width:450px;height:318px;border-right:1px solid #e5e5e5}.thirdloginwrapper .right{box-sizing:border-box;float:right;width:696px;padding-top:64px;height:318px}.thirdloginwrapper .completeprofile,.thirdloginwrapper .gobuy{float:left;display:inline-block;width:94px;height:94px;line-height:94px;text-align:center;border-radius:50%;background-color:#f02200;color:#fff}.thirdloginwrapper .gobuy{margin-left:228px;margin-right:80px}.bindsuccesswrapper{margin:0 auto;width:1150px;min-height:450px;padding-top:160px}.bindsuccesswrapper .successwrapper{width:320px;height:29px;margin:0 auto 16px}.bindsuccesswrapper .successwrapper .successtag{display:inline-block;margin-right:28px;float:left;width:29px;height:29px;background-image:url(../assets/img/passport/bindsuccess.png?v1559f4c3cef);background-repeat:no-repeat}.bindsuccesswrapper .successwrapper .congratulation{display:inline-block;height:29px;line-height:29px;font-size:22px}.bindsuccesswrapper .info{text-align:center;font-size:16px;margin-bottom:48px}.bindsuccesswrapper .gobuynow{margin:0 auto}.bindconfrimwrapper{width:900px;height:439px;margin:-217px auto;background-color:#fff;box-sizing:border-box;padding-top:37px}.bindconfrimwrapper .topwrapper{width:281px;height:90px;margin:0 auto 32px}.bindconfrimwrapper .topwrapper .userphoto{width:90px;height:90px;vertical-align:middle;border-radius:50%;margin-right:22px}.bindconfrimwrapper .topwrapper .username{vertical-align:middle;display:inline-block;width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700;color:#545454}.bindconfrimwrapper .usertaginfo{text-align:center;font-size:18px;font-weight:700;color:#545454;margin-bottom:15px}.bindconfrimwrapper .usertagremind{text-align:center;font-size:16px;color:#888;margin-bottom:47px}.bindconfrimwrapper .otherphone{margin:0 auto 64px}.bindconfrimwrapper .logindirectly{display:block;text-align:center;text-decoration:underline;color:#f02200}.yohobindbtn[disabled]{background-color:#e5e5e5;cursor:not-allowed}.gobindwrapper{width:100%;height:45px;margin-bottom:70px}.gobindwrapper .myphone{float:left;margin-left:20px;width:193px}.gobindwrapper .logindirectly{display:inline-block}.gobindwrapper .validaterow{overflow:hidden;margin:0 auto 22px;padding-left:222px;float:left}.gobindwrapper .validaterow .name{float:left;text-align:right;margin-right:14px;width:96px}.gobindwrapper .validaterow .areatag{height:30px;line-height:30px}.gobindwrapper .validaterow .phonetag{height:47px;line-height:47px}.gobindwrapper .validaterow .content{float:left;text-align:left}.gobindwrapper .validaterow .content .validatacode{outline:none;box-sizing:border-box;float:left;height:45px;width:113px;line-height:38px;padding-left:8px;border:1px solid #d9d9d9;color:#000}.gobindwrapper .validaterow .validatewrapper{float:left;height:45px;width:133px;text-align:center;line-height:45px;background-color:#d8d8d8;color:#000;font-size:13px;margin-left:18px}.gobindwrapper .validaterow .validatewrapper .yohobindbtn{width:133px;font-size:13px}.gobindwrapper:after{display:block;content:'';clear:both}.gobindbottomwrapper{width:100%;padding-left:341px}.gobindbottomwrapper .logindirectly{display:inline-block;float:left;margin-right:36px;text-decoration:underline;color:#f02200}.pwd-tips{position:absolute;z-index:11;top:-10px;left:285px;width:160px!important;height:72px;padding-top:7px;font-size:12px;background-image:url(../assets/img/sprite.passport.png?v1559f4c4797);background-position:0 0;background-color:#fff}.pwd-tips>div{position:relative;height:22px;line-height:22px;margin-left:15px;padding-left:15px;font-size:12px;color:#b9b9b9}.pwd-tips>div i{position:absolute;width:14px;height:14px;left:-2px;top:50%;margin:-7px 0 0;background-image:url(../assets/img/sprite.passport.png?v1559f4c4797);background-position:-63px -113px}.pwd-tips>div.no{color:red}.pwd-tips>div.no i{background-position:-95px -113px}.pwd-tips>div.no i,.pwd-tips>div.yes i{background-image:url(../assets/img/sprite.passport.png?v1559f4c4797)}.pwd-tips>div.yes i{background-position:-79px -113px}.tip-panel{position:absolute;display:none;width:248px;padding:0 10px;z-index:9;background-color:#161616;border:1px solid hsla(0,0%,100%,.7);margin-top:5px;cursor:pointer;border-radius:5px}.tip-panel li{height:20px;line-height:20px;color:#b9b9b9}.err-tip{position:absolute;font-size:14px;white-space:nowrap;top:8px;left:285px;padding:6px 0;color:red}.err-tip i{display:block;float:left;height:14px;width:14px;background-image:url(../assets/img/sprite.passport.png?v1559f4c4797);background-position:-95px -113px;margin-right:5px}.err-tip a{text-decoration:underline;color:red}.backdrop{position:fixed;background:#000;width:100%;height:100%;left:0;top:0;bottom:0;right:0;opacity:.5;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=50)"}.err-info{display:none;z-index:11;position:absolute;top:-41px;left:0;height:30px;line-height:30px;color:red;background-color:#ffebeb;border:1px solid #ffbdbe;padding:0 10px}.err-info b{background:url(../assets/img/passport/angle.png?v1559f4c3ced);position:absolute;height:9px;width:17px;top:30px;left:10px}.third-relate-page{min-height:600px}.third-relate-page .relate-main{padding-top:100px}.third-relate-page .user-wrapper{width:280px;margin:0 auto}.third-relate-page .user-wrapper .user-thumb{width:94px;height:94px;border-radius:50%;display:inline-block;overflow:hidden}.third-relate-page .user-wrapper .user-thumb img{width:100%;height:100%}.third-relate-page .user-wrapper label{width:190px;line-height:94px;margin-left:20px;font-size:18px;font-weight:700;color:#545454;word-break:keep-all;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;position:absolute}.third-relate-page .remind-info{width:490px;min-height:54px;padding-left:50px;margin:35px auto;background:url(../assets/img/passport/warn.png?v1559f4c3cf8) no-repeat;text-align:center}.third-relate-page .remind-info h3{font-size:18px;font-weight:700;color:#545454;margin-bottom:12px}.third-relate-page .remind-info a{color:#f22c26;text-decoration:underline;cursor:pointer}.third-relate-page .remind-info p{font-size:16px;color:#888}.third-relate-page .option-btn{text-align:center}.third-relate-page .option-btn a{width:192px;height:46px;color:#fff;font-size:18px;line-height:46px;display:inline-block;background-color:#f12200;cursor:pointer}.third-relate-page .option-btn a:first-child{margin-right:14px}.third-relate-page .remind-tips{width:390px;margin:0 auto;font-size:14px;color:#888;text-align:center;margin-top:30px;text-decoration:underline;display:block}.third-relate-page .remind-tips a{color:#f12200;cursor:pointer}.third-relate-page .remind-tips>*{text-decoration:underline}.third-relate-page .code-validate{padding-top:140px}.third-relate-page .action-link{width:440px;margin:0 auto;padding-left:180px;color:#545454;line-height:46px}.third-relate-page .action-link .code-name{margin-left:-100px;position:absolute}.third-relate-page .action-link input{width:260px;height:40px;padding-left:10px;font-size:16px;margin-right:14px}.third-relate-page .action-link label{width:140px;height:46px;font-size:14px;color:#fff;background-color:#f12200;display:inline-block;text-align:center;cursor:pointer}.third-relate-page .action-link .count-down{color:#979797;background-color:#d8d8d8;display:none}.third-relate-page .action-link .code-error{position:absolute;width:200px;display:inline-block;color:red;padding-left:10px}.third-relate-page .action-link .code-error i{display:inline-block;height:14px;width:14px;background-image:url(../assets/img/sprite.passport.png?v1559f4c4797);background-position:-95px -113px;vertical-align:middle;margin-right:5px;margin-top:-2px}.third-relate-page .waiting .get-code{display:none}.third-relate-page .waiting .count-down{display:inline-block}.third-relate-page .relate-btn{width:212px;height:46px;font-family:arial,Microsoft YaHei;color:#fff;font-size:18px;background-color:#f12200;border:0;outline:none;margin:20px 0}.guang-page{width:1150px;margin:0 auto}.guang-page .left-side{float:left;width:830px}.guang-page .right-side{float:left;width:290px;margin-left:30px}.guang-page .bg-img.blink,.guang-page img.blink{opacity:.8;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=80)"}.guang-page .ex-reco-title{color:#333;line-height:24px;padding-bottom:10px;border-bottom:1px solid #ccc;font-size:20px;font-weight:700}.guang-page .ex-reco-list{margin-top:14px}.guang-page .ex-reco-item{box-sizing:border-box;height:60px;margin-bottom:14px}.guang-page .ex-reco-item:last-child{margin-bottom:0}.guang-page .ex-reco-img{display:block;float:left;width:90px;height:60px;margin-right:5px}.guang-page .ex-reco-img span{display:block;height:100%;width:100%;background-size:cover;background-position:50%}.guang-page .ex-reco-img span img{width:100%;height:100%}.guang-page .ex-reco-context{float:left;max-width:195px;height:40px;line-height:20px;font-size:13px;color:#666;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.guang-page .ex-reco-context:hover{color:#c30}.guang-page .hot{margin-top:40px}.guang-page .hot .hot-title{color:#333;line-height:24px;padding-bottom:10px;border-bottom:1px solid #ccc;font-weight:700;font-size:20px}.guang-page .hot .hot-tag-list{margin-top:14px;max-height:150px;overflow:hidden}.guang-page .hot .hot-tag{display:inline-block;float:left;padding:5px;font-size:12px;background-color:#ccc;border:none;margin-right:10px;margin-bottom:10px;color:#fff;font-weight:700}.guang-page .hot .hot-tag:hover{background-color:#333}.guang-page .ads{margin-top:30px}.guang-page .ads .ad{display:block;box-sizing:border-box;margin-bottom:24px;width:290px}.guang-page .ads .ad img{display:block;width:100%}.guang-page .msg-content{padding:24px 0;border-bottom:1px solid #ccc;position:relative}.guang-page .msg-content .content{height:80px;line-height:24px}.guang-page .msg-content .iconfont{color:#ccc}.guang-page .msg-content .msg-img{position:relative;float:left;margin-right:26px}.guang-page .msg-content .msg-img img{display:block;width:360px;height:240px}.guang-page .msg-content .msg-img img.square{height:360px}.guang-page .msg-content .classification{position:absolute;background-color:#000;color:#fff;text-align:center;width:80px;height:32px;line-height:32px;font-size:13px;opacity:.9;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=90)";z-index:8}.guang-page .msg-content .reco{position:absolute;top:0;left:66px;height:32px;width:32px;background:url(../assets/img/guang/msg-reco.png?v1559f4c3c6f);background-size:100% 100%;z-index:9}.guang-page .msg-content .msg-info{float:left;width:440px}.guang-page .msg-content .msg-title{display:block;font-size:22px;color:#333;line-height:30px;max-height:64px}.guang-page .msg-content .msg-title:hover{color:#c30}.guang-page .msg-content .content{font-size:14px;color:#666}.guang-page .msg-content .msg-app{line-height:34px;color:#999;font-size:13px}.guang-page .msg-content .author{display:block;float:left;color:#333;margin-right:22px;max-width:180px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.guang-page .msg-content .author:hover{color:#c30}.guang-page .msg-content .page-view,.guang-page .msg-content .publish-time{color:#999}.guang-page .msg-content .publish-time{margin-right:30px}.guang-page .msg-content .like-comment,.guang-page .msg-content .tags{position:absolute;bottom:24px;font-size:12px}.guang-page .msg-content .like-comment .like,.guang-page .msg-content .tags .like{margin-right:10px}.guang-page .msg-content .like-comment .like:hover *,.guang-page .msg-content .tags .like:hover *{color:#000}.guang-page .msg-content .like-comment .like-icon,.guang-page .msg-content .tags .like-icon{cursor:pointer}.guang-page .msg-content .like-comment .like-icon.liked,.guang-page .msg-content .tags .like-icon.liked{color:#000}.guang-page .msg-content .like-comment.tags,.guang-page .msg-content .tags.tags{left:386px;max-width:350px;height:20px;overflow:hidden}.guang-page .msg-content .like-comment.like-comment,.guang-page .msg-content .tags.like-comment{right:0;color:#999}.guang-page .msg-content .msg-tag{display:inline-block;text-align:center;height:20px;line-height:20px;padding:0 10px;margin-right:10px;background-color:#ccc;color:#fff}.guang-page .msg-content .msg-tag:last-child{margin-right:0}.guang-page .msg-content .msg-tag:hover{background-color:#333}.guang-page .pager{font-size:12px}.guang-page .pager a{height:24px;padding:0 9px;line-height:24px;display:inline-block;text-align:center;margin-right:8px;color:#222}.guang-page .pager a.cur{background-color:#222;color:#fff}.guang-index-page .msg-nav{border-bottom:1px solid #000;margin-top:24px;height:30px}.guang-index-page .msg-nav li{float:left;height:30px;line-height:30px;text-align:center;font-size:18px;padding:0 28px}.guang-index-page .msg-nav li a{display:block;height:100%;width:100%;color:#333}.guang-index-page .msg-nav li.actived{background-color:#111}.guang-index-page .msg-nav li.actived a{color:#fff}.guang-index-page .msg-pager{float:right;margin:20px 0}.guang-detail-page{width:1150px;margin:0 auto 95px}.guang-detail-page b{font-weight:700}.guang-detail-page i{font-style:italic}.guang-detail-page .block{margin:15px 0}.guang-detail-page .excellent-recommendation-title{margin-top:4px}.guang-detail-page .block-header{position:relative;border-bottom:1px solid #c1c1c1;font-size:18px;height:38px;line-height:38px;text-align:center;margin-bottom:24px;color:#333}.guang-detail-page .block-header .more-reco{position:absolute;right:0;color:#000;font-size:14px;text-decoration:none}.guang-detail-page .related-brand .brands{width:852px}.guang-detail-page .related-reco .recos{width:850px}.guang-detail-page .detail-title{font-size:28px;line-height:64px;border-bottom:1px dotted #c1c1c1;word-wrap:break-word}.guang-detail-page .article-author{float:left;line-height:64px}.guang-detail-page .article-author .author-avatar{clear:both;width:38px;height:64px}.guang-detail-page .article-author .author-avatar img{width:38px;height:38px;border-radius:50%;vertical-align:middle}.guang-detail-page .author-info{float:left;margin-left:10px;font-size:14px;max-width:447px}.guang-detail-page .author-info .author-name{display:block;height:64px;line-height:64px;cursor:pointer;color:#000}.guang-detail-page .author-info .author-name:hover{color:#c30}.guang-detail-page .author-info .author-introduce{color:#999}.guang-detail-page .article-status{float:right;height:64px;line-height:64px;color:#999;font-size:13px}.guang-detail-page .article-status .article-click{margin:0 25px}.guang-detail-page .article-status .article-comment{color:#c30;cursor:pointer}.guang-detail-page .article-main img{display:block;max-width:100%;margin:0 auto}.guang-detail-page .article-main .article-text{margin:2px 0 20px;line-height:28px;font-size:14px}.guang-detail-page .article-main .article-small-pic{text-align:center;font-size:0}.guang-detail-page .article-main .article-small-pic img{display:inline-block;max-width:412px}.guang-detail-page .article-main .article-small-pic img:first-child{margin:0 6px 0 0}.guang-detail-page .article-main .block:first-child{margin-top:10px}.guang-detail-page .user-handle{margin:30px 0 0;text-align:center}.guang-detail-page .user-handle ul{display:inline-block}.guang-detail-page .user-handle ul li{float:left;margin:0 15px;cursor:pointer}.guang-detail-page .user-handle ul li a{position:relative;display:block;padding:0 10px;height:36px;line-height:36px;color:#535353;font-size:0;background:#efefef;text-align:left}.guang-detail-page .user-handle ul li a i,.guang-detail-page .user-handle ul li a span{display:inline-block;font-style:normal;font-size:14px}.guang-detail-page .user-handle ul li a i{margin:0 5px 0 0;font-size:18px;opacity:.5;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=50)"}.guang-detail-page .user-handle ul li a .cancel-collect{display:none}.guang-detail-page .user-handle ul .like-status.hover i,.guang-detail-page .user-handle ul .like-status.liked i{opacity:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"}.guang-detail-page .user-handle ul .like-statis.hover .like-num{color:#000}.guang-detail-page .user-handle ul .sort-collect a i{width:21px}.guang-detail-page .user-handle ul .sort-collect.collected a i{opacity:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"}.guang-detail-page .user-handle ul .sort-collect.collected a span{display:none}.guang-detail-page .user-handle ul .sort-collect.collected a .cancel-collect{display:inline}.guang-detail-page .user-handle ul .sort-collect.hover i{opacity:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"}.guang-detail-page .user-handle ul .sort-collect.hover span{color:#000}.guang-detail-page .article-bottom-info{margin:44px 0 0;padding:0 0 10px;border-bottom:1px dotted #c1c1c1}.guang-detail-page .article-tag{float:left;width:588px}.guang-detail-page .article-tag .tag-icon{float:left;margin:0 12px 0 0;font-size:20px;font-style:normal}.guang-detail-page .article-tag ul{float:left;max-width:555px}.guang-detail-page .article-tag ul li{float:left;margin:0 10px 10px 0}.guang-detail-page .article-tag ul li a{display:block;padding:0 15px;height:20px;line-height:20px;font-size:12px;color:#fff;font-weight:700;background:#c1c1c1}.guang-detail-page .article-tag ul li:hover a{background:#333}.guang-detail-page .article-tag ul li:first-child{margin-left:0}.guang-detail-page .article-share{float:right}.guang-detail-page .article-share .title{font-size:12px}.guang-detail-page .detail-related-posts{margin:14px 0 0}.guang-detail-page .detail-related-posts li{float:left;width:264px;margin-left:19px}.guang-detail-page .detail-related-posts li a{display:block}.guang-detail-page .detail-related-posts li .bg-img{display:block;width:100%;height:173px;line-height:173px;text-align:center;font-size:0}.guang-detail-page .detail-related-posts li .bg-img img{max-width:100%;max-height:100%;vertical-align:middle}.guang-detail-page .detail-related-posts li .post-title{margin:8px 0 0}.guang-detail-page .detail-related-posts li .post-title h2{line-height:16px;font-size:14px;color:#000;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.guang-detail-page .detail-related-posts li .post-title:hover h2{color:#c30!important}.guang-detail-page .detail-related-posts li:first-child{margin-left:0}.guang-detail-page .comment-area{margin:58px 0 0}.guang-detail-page .comment-area .comment-publish{height:48px}.guang-detail-page .comment-textarea textarea{display:block;width:812px;height:86px;padding:12px;resize:none;outline:none;font-size:14px;line-height:18px;color:#535353;font-family:arial,helvetica,微软雅黑;border:1px solid #e7e7e7}.guang-detail-page .word-count-tip{display:inline-block;height:48px;line-height:48px;font-size:12px;color:#c8c8c8}.guang-detail-page .word-count-tip .exceed-count{color:red}.guang-detail-page .publish-btn{margin:10px 0 0;float:right;width:90px;height:33px;line-height:33px;text-align:center;color:#fff;font-size:14px;background:#cb3a3e;cursor:pointer}.guang-detail-page .publish-btn:hover{background:#c03234}.guang-detail-page .publish-btn.disable{background-color:#e79c9e}.guang-detail-page .comments-wrap h4{position:relative;line-height:32px;border-bottom:1px solid #e7e7e7}.guang-detail-page .comments-wrap h4 .comment-num{margin-right:5px;color:#c11e00}.guang-detail-page .comments-wrap h4 i{position:absolute;width:13px;height:7px;left:30px;bottom:-7px;background:url(../assets/img/guang/comment-icon.png?v1559f4c3c6c) no-repeat}.guang-detail-page .comments-wrap .comment-pager{float:right;margin:20px 0}.guang-detail-page .comments-empty{display:none;color:#ccc;margin:20px 0;font-size:12px;line-height:12px;text-align:center}.guang-detail-page .commnets-resultwrapper{display:none}.guang-detail-page .comments-list li{margin:14px 0 0;padding:0 0 15px;border-bottom:1px dotted #e7e7e7}.guang-detail-page .comments-list li .avatar{float:left;width:40px;height:40px;overflow:hidden}.guang-detail-page .comments-list li .avatar img{display:block;width:100%;height:100%;border-radius:50%}.guang-detail-page .comments-list li .comment-info{float:left;width:774px;margin:0 0 0 16px}.guang-detail-page .comments-list li .comment-info .comment-user-name{color:#c11e00;font-size:15px;line-height:15px}.guang-detail-page .comments-list li .comment-info .comment-content{margin-top:10px;line-height:16px;font-size:12px;word-wrap:break-word}.guang-detail-page .comments-list li .comment-info .comment-time{margin:10px 0 0;color:#c8c8c8;font-size:12px;line-height:12px;clear:both}.guang-detail-page .brand{margin-right:22px;margin-bottom:20px;float:left}.guang-detail-page .brand .thumb{display:table-cell;border:1px solid #f5f5f5;height:120px;width:120px;box-sizing:border-box;text-align:center;vertical-align:middle}.guang-detail-page .brand .thumb img{display:block;max-width:120px;max-height:120px;margin:0 auto}.guang-detail-page .brand .brand-name{width:120px;font-size:13px;line-height:20px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;text-align:center;color:#333}.guang-detail-page .few-tag,.guang-detail-page .tag-container{display:none}.guang-detail-page .good-info{width:192px;margin-right:20px;margin-bottom:12px}.guang-detail-page .good-info .good-detail-img{height:auto}.guang-detail-page .good-info .good-detail-img .good-thumb,.guang-detail-page .good-info .good-detail-img img.lazy{height:257px}.guang-detail-page .good-info .good-detail-text>a{margin-top:0;line-height:36px}.guang-detail-page .good-info .good-detail-text>.price{margin-top:0}.guang-editor-page .tag-header,.guang-list-page .tag-header{height:45px;line-height:45px;color:#333;font-size:14px;font-weight:700;border-bottom:1px solid #ccc}.guang-editor-page .tag-header>span,.guang-list-page .tag-header>span{font-size:20px}.guang-editor-page .msg-pager,.guang-list-page .msg-pager{float:right;margin:20px 0}.guang-editor-page .right-side{margin-top:20px}.guang-list-page .right-side{margin-top:11px}.guang-editor-page .editor-info{padding:10px;background:#fafafa}.guang-editor-page .editor-info .author-avatar{float:left;width:80px;height:100%}.guang-editor-page .editor-info .author-avatar img{width:80px;height:80px;vertical-align:middle;border-radius:50%}.guang-editor-page .editor-info .author-info{float:left;margin:0 0 0 10px;max-width:1060px}.guang-editor-page .editor-info .author-name{margin-top:11px;font-size:20px;height:30px!important;line-height:30px!important}.guang-editor-page .editor-info .author-introduce{line-height:24px;font-size:14px;color:#999}.guang-editor-page .editor-info .intro-content{margin:15px 0 0;line-height:18px;font-size:14px;color:#999}.home-page{width:1150px;margin:10px auto 0}.home-page .slide-container{position:absolute;left:0;right:0;height:450px}.home-page .slide-thumb-container{height:510px}.home-page .slide-wrapper{position:relative;height:450px;overflow:hidden}.home-page .slide-wrapper ul{position:relative;height:100%}.home-page .slide-wrapper li{display:none;position:absolute;top:0;right:0;width:100%;height:100%}.home-page .slide-wrapper li a{display:block;height:100%;width:1150px;margin:0 auto}.home-page .slide-wrapper li img{width:100%;height:100%}.home-page .slide-wrapper:hover .slide-switch.show,.home-page .slide-wrapper li:first-child{display:block}.home-page .slide-container-placeholder{height:450px;width:100%}.home-page .slide-thumb-container-placeholder{height:510px}.home-page .slide-switch{display:block}.home-page .slide-switch a{position:absolute;top:50%;margin:-30px 0 0;width:60px;height:60px;line-height:56px;text-align:center;z-index:2;background:#fff;opacity:.55;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=55)"}.home-page .slide-switch a .iconfont{font-size:32px;color:#59585a}.home-page .slide-switch a.prev{left:50%;margin-left:-575px}.home-page .slide-switch a.next{right:50%;margin-right:-575px}.home-page .slide-switch a:hover{opacity:.9;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=90)"}.home-page .thumb-pagination{width:1148px;margin:6px auto 0;padding-left:2px}.home-page .thumb-pagination li{position:relative;float:left;margin-left:6px;width:138px;height:54px}.home-page .thumb-pagination li a{position:absolute;left:0;right:0;bottom:0;top:0;background:#000;opacity:.3;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=30)"}.home-page .thumb-pagination li img{width:100%;height:100%}.home-page .thumb-pagination li:first-child{margin:0}.home-page .thumb-pagination li.focus a{opacity:0;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"}.home-page .slide-pagination{font-size:0}.home-page .slide-pagination .slide-shade{position:absolute;left:0;right:0;top:0;bottom:0;background:#000;opacity:.3;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=30)";border-radius:13px}.home-page .slide-pagination span{position:relative;display:inline-block;margin:0 7px;width:12px;height:12px;background:#fff;cursor:pointer;opacity:.6;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=60)";border-radius:6px;z-index:2}.home-page .slide-pagination span.focus{opacity:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"}.home-page .debris-slider{height:510px;width:100%}.home-page .debris-slider .col{float:left}.home-page .debris-slider .col a{display:block}.home-page .debris-slider .left-col a,.home-page .debris-slider .right-col a{margin-bottom:10px}.home-page .debris-slider .left-col a:last-child,.home-page .debris-slider .right-col a:last-child{margin-bottom:0}.home-page .debris-slider .left-col img,.home-page .debris-slider .right-col img{height:100%;width:100%}.home-page .debris-slider .left-col{margin-right:10px}.home-page .debris-slider .left-col a{width:280px;height:120px}.home-page .debris-slider .left-col a:first-child{height:250px}.home-page .debris-slider .center-col{position:relative;width:570px;height:100%;margin-right:10px;font-size:0}.home-page .debris-slider .center-col .slide-wrapper{height:100%}.home-page .debris-slider .center-col .slide-wrapper li a{width:100%}.home-page .debris-slider .center-col .slide-switch a.prev{left:0;margin-left:0}.home-page .debris-slider .center-col .slide-switch a.next{right:0;margin-right:0}.home-page .debris-slider .center-col img{max-width:100%;max-height:100%}.home-page .debris-slider .center-col:hover .slide-switch.show{display:block}.home-page .debris-slider .right-col a{width:280px;height:120px}.home-page .debris-slider .right-col a:first-child{height:380px;margin-bottom:11px}.home-page .new-report img{display:block;width:100%;height:100%}.home-page .new-report .report-list{float:left;width:868px}.home-page .new-report .report-list li{float:left;margin:0 8px 8px 0;width:185px;height:248px;overflow:hidden}.home-page .new-report .report-list li:first-child{margin-right:7px;width:282px;height:504px}.home-page .new-report .last-item{float:left;width:282px;height:504px;overflow:hidden}.home-page .preference-brand{overflow:hidden}.home-page .preference-brand-list{margin-top:8px;width:1158px}.home-page .preference-brand-item{float:left;margin-right:8px;margin-bottom:8px}.home-page .preference-brand-item a{display:table-cell;width:185px;height:86px;text-align:center;vertical-align:middle}.home-page .preference-brand-item img{display:block;max-width:100%;max-height:100%;margin:0 auto}.home-page .preference-more{float:left;width:185px;height:86px;line-height:100px;text-align:center;color:#000;font-size:16px}.home-page .img-slider-wrapper{position:relative;width:100%;height:558px;background:#8ae6e0;overflow:hidden}.home-page .img-slider-wrapper .img-brand-switch{display:block}.home-page .img-slider-wrapper .img-brand-switch a{position:absolute;top:50%;font-size:36px;color:#fff}.home-page .img-slider-wrapper .img-brand-switch a.next{right:30px}.home-page .img-slider-wrapper .img-brand-switch a.prev{left:30px}.home-page .img-container-landscape{box-sizing:border-box;margin:86px auto 0;width:982px;height:433px;overflow:hidden}.home-page .img-container-landscape .img-list{width:1000px;height:100%}.home-page .img-container-landscape .img-item{float:left;box-sizing:border-box;width:320px;height:100%;margin-right:10px}.home-page .img-container-landscape .img-item img{width:100%;height:100%}.home-page .img-brand{position:relative;width:100%;height:175px;overflow:hidden}.home-page .img-brand ul{width:1158px}.home-page .img-brand li{float:left;margin:0 8px 0 0;width:378px;height:175px;line-height:175px;overflow:hidden;font-size:0;text-align:center}.home-page .img-brand li img{max-width:100%;max-height:100%;vertical-align:middle}.home-page .img-brand .img-brand-switch{display:none}.home-page .img-brand .img-brand-switch a{position:absolute;top:50%;margin:-20px 0 0;width:40px;height:40px;line-height:40px;text-align:center;z-index:2;background:#fff;opacity:.55;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=55)"}.home-page .img-brand .img-brand-switch a.prev{left:0}.home-page .img-brand .img-brand-switch a.next{right:0}.home-page .img-brand .img-brand-switch a:hover{opacity:.9;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=90)"}.home-page .img-brand:hover .img-brand-switch{display:block}.home-page .logo-brand{width:100%;height:282px;overflow:hidden}.home-page .logo-brand ul{width:1158px}.home-page .logo-brand li{float:left;margin:8px 8px 0 0;width:185px;height:86px;line-height:86px;font-size:0;text-align:center}.home-page .logo-brand li img{max-width:100%;max-height:100%;vertical-align:middle}.home-page .logo-brand .logo-brand-switch{position:relative;background:url(../assets/img/index/logo-brand-line.png?v1559f4c3cd6) no-repeat 50%;line-height:normal}.home-page .logo-brand .logo-brand-switch .iconfont{position:absolute;left:50%;font-size:32px}.home-page .logo-brand .logo-brand-switch .iconfont.prev{top:10px;margin-left:-48px}.home-page .logo-brand .logo-brand-switch .iconfont.next{bottom:12px;margin-left:20px}.home-page .logo-brand .brand-more{font-size:16px}.home-page .logo-brand .brand-more:hover{text-decoration:underline}.home-page .logo-brand.logos-10{height:188px}.home-page .categorys-list ul{width:1158px}.home-page .categorys-list li{float:left;margin:0 8px 8px 0;width:185px;height:248px}.home-page .categorys-list li img{display:block;width:100%;height:100%}.home-page .categorys-list li.cate-item0{width:185px;height:504px}.home-page .categorys-list li.cate-item1{width:377px;height:504px}.home-page .floor-header{position:relative;margin:80px 0 40px}.home-page .floor-header .floor-title{margin:0 auto;width:298px;height:31px;line-height:31px;border:1px solid #000;font-size:16px;text-align:center}.home-page .floor-header .header-navs{position:absolute;padding:10px 0;top:0;right:0;font-size:14px}.home-page .floor-header .header-navs li{float:left;padding:1px 15px;border-left:1px solid #ccc}.home-page .floor-header .header-navs li a{color:#333}.home-page .floor-header .header-navs li:first-child{border-left:none}.home-page .floor-header .header-navs li:hover{text-decoration:underline}.g-list li{float:left}.g-list li a{position:relative;display:block;overflow:hidden}.g-list li a img,.g-mask{width:100%;height:100%}.g-mask{display:block;position:absolute;z-index:1;background:#000;opacity:.5;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";overflow:hidden;transition:opacity .6s}.g-title{display:block;text-align:center;font-weight:700;line-height:1.5;width:100%;margin-top:14px}.home-page .tpl-recommend{width:100%;position:relative}.home-page .tpl-recommend a{display:block}.home-page .tpl-recommend a img{display:block;width:100%;height:100%}.home-page .tpl-recommend .tpl-body{margin-bottom:8px}.home-page .tpl-recommend .tpl-nav{float:left;overflow:hidden}.home-page .tpl-recommend .tpl-nav .tpl-keywords{margin-bottom:8px}.home-page .tpl-recommend .tpl-nav .tpl-category{padding:10px 0;background-color:#f8f8f8;overflow:hidden}.home-page .tpl-recommend .tpl-nav .tpl-category a{float:left;width:50%;text-align:center;color:#000;overflow:hidden}.home-page .tpl-recommend .tpl-brands{float:left;overflow:hidden;margin-left:8px}.home-page .tpl-recommend .tpl-brands li{margin-top:8px}.home-page .tpl-recommend .tpl-types{float:left;overflow:hidden;margin-top:-8px;width:579px}.home-page .tpl-recommend .tpl-types li{float:left;margin-left:8px;margin-top:8px}.home-page .tpl-recommend .tpl-types li a{width:185px;height:248px}.home-page .tpl-recommend .tpl-products{overflow:hidden;margin-left:-10px}.home-page .tpl-recommend .tpl-products li{float:left;margin-left:10px}.home-page .tpl-recommend .tpl-products li a{width:222px;height:298px}.home-page .tpl-recommend .tpl-nav{width:185px}.home-page .tpl-recommend .tpl-nav .keywords0,.home-page .tpl-recommend .tpl-nav .keywords1,.home-page .tpl-recommend .tpl-nav .keywords2{margin-bottom:10px;height:76px}.home-page .tpl-recommend .tpl-nav .keywords2{margin-bottom:0}.home-page .tpl-recommend .tpl-nav .tpl-category{height:228px}.home-page .tpl-recommend .tpl-nav .tpl-category a{height:38px;line-height:38px;font-size:14px}.home-page .tpl-recommend .tpl-brands{width:378px;height:512px}.home-page .tpl-recommend .tpl-brands li a{height:248px}.min-screen .home-page .tpl-recommend .tpl-nav{width:158px}.min-screen .home-page .tpl-recommend .tpl-nav .keywords0,.min-screen .home-page .tpl-recommend .tpl-nav .keywords1,.min-screen .home-page .tpl-recommend .tpl-nav .keywords2{margin-bottom:8px;height:65px}.min-screen .home-page .tpl-recommend .tpl-nav .keywords2{margin-bottom:0}.min-screen .home-page .tpl-recommend .tpl-nav .tpl-category{height:192px}.min-screen .home-page .tpl-recommend .tpl-nav .tpl-category a{height:32px;line-height:32px;font-size:12px}.min-screen .home-page .tpl-recommend .tpl-nav .tpl-category a:hover{text-decoration:underline}.min-screen .home-page .tpl-recommend .tpl-brands{width:324px;height:432px}.min-screen .home-page .tpl-recommend .tpl-brands li a{height:212px}.min-screen .home-page .tpl-recommend .tpl-types{width:498px}.min-screen .home-page .tpl-recommend .tpl-types li a{width:158px;height:212px}.min-screen .home-page .tpl-recommend .tpl-products li a{width:190px;height:254px}.home-page .singlehot{overflow:hidden;margin-left:-8px}.home-page .singlehot li{margin-left:8px;margin-bottom:8px}.home-page .singlehot li a{width:185px;height:248px}.home-page .singlehot .impo1,.home-page .singlehot .impo9{width:378px}.home-page .floor-ad a{display:block;height:129px}.home-page .floor-ad a img{display:block;width:100%;height:100%}.home-page .goods-container{margin-right:-10px;width:inherit;padding-top:0}.home-page .goods-container .good-info{margin-bottom:0;width:280px;height:485px}.home-page .goods-container .good-detail-img{height:374px}.home-page .goods-container .good-detail-text{text-align:center}.home-page .adbanner{margin-top:12px}.home-page .adbanner a{height:150px}.min-screen .home-page .singlehot li a{width:158px;height:212px}.min-screen .home-page .singlehot .impo1,.min-screen .home-page .singlehot .impo9{width:323px}.min-screen .home-page .goods-container .good-info{width:240px;height:412px}.min-screen .home-page .goods-container .good-info .good-detail-img{height:320px}.home-page .commodity .commodity-list{margin-left:-10px}.home-page .commodity .commodity-list a{height:465px;width:280px}.home-page .commodity .commodity-list li{margin-left:10px}.home-page .commodity .commodity-list i{position:absolute;bottom:0;width:100%;height:20px;background:#ffac5b;color:#fff;line-height:20px;text-align:center;font-size:12px}.home-page .commodity .commodity-list i.top{position:absolute;top:10px;right:10px;background-color:#ff575c;color:#fff;border-radius:30px;z-index:2;height:60px;width:60px;line-height:60px;font-size:20px}.home-page .commodity .commodity-list .commodity-img{position:relative;height:374px}.home-page .commodity .commodity-list p.commodity-name{font-size:12px;color:#000;text-align:center;margin-top:14px;line-height:18px}.home-page .commodity .commodity-list p.commodity-price{position:relative;margin:3px 0 0;text-align:center;line-height:20px;color:#000}.home-page .commodity .commodity-list p.commodity-price span{display:inline-block;font-size:12px}.home-page .commodity .commodity-brands{margin-left:-8px}.home-page .commodity .commodity-brands a{float:left;margin-left:8px;display:block;width:185px;height:86px}.home-page .commodity .commodity-brands a img{width:100%;height:100%}.home-page .commodity .loading{position:relative;width:100%;text-align:center;padding-top:40px}.home-page .commodity .loading a{display:block;height:35px;width:120px;margin:0 auto 40px;background-color:#000;color:#fff;font-size:14px;line-height:35px;text-align:center}.min-screen .home-page .commodity .commodity-list a{height:400px;width:240px}.min-screen .home-page .commodity .commodity-list .commodity-img{height:320px}.min-screen .home-page .commodity .commodity-list i.top{height:52px;width:52px;line-height:52px;font-size:14px}.min-screen .home-page .commodity .commodity-brands a{width:158px;height:74px}.home-page .slide-accordion{overflow:hidden;position:relative;height:400px}.home-page .slide-accordion a{position:relative;display:block}.home-page .slide-accordion a img{display:block;width:100%;height:100%}.home-page .slide-accordion ul{position:absolute;left:-5px}.home-page .slide-accordion li{position:absolute;border-left:5px solid #fff}.home-page .slide-accordion li a{width:650px;height:400px}.home-page .slide-accordion .g-mask{opacity:.2;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=20)"}.home-page .slide-accordion .g-mask:hover{opacity:0;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"}.min-screen .home-page .slide-accordion{height:342px}.min-screen .home-page .slide-accordion li a{width:558px;height:342px}.boys .tpl-nav .keywords0{margin-bottom:10px!important;height:152px!important}.boys .tpl-nav .keywords1{height:86px!important}.boys .tpl-nav .tpl-category a{height:38px!important;line-height:38px!important;font-size:14px!important}.boys .tpl-brands{margin-top:-8px!important}.boys .goods-container .good-info,.lifestyle .goods-container .good-info{width:222px!important;height:408px!important}.boys .goods-container .good-info .good-detail-img,.lifestyle .goods-container .good-info .good-detail-img{height:298px!important}.min-screen .boys .tpl-nav .keywords0{margin-bottom:8px!important;height:130px!important}.min-screen .boys .tpl-nav .keywords1{margin-bottom:0!important;height:74px!important}.min-screen .boys .tpl-brands{margin-top:-8px!important}.min-screen .boys .goods-container .good-info,.min-screen .lifestyle .goods-container .good-info{width:188px;height:360px}.min-screen .boys .goods-container .good-info .good-detail-img,.min-screen .lifestyle .goods-container .good-info .good-detail-img{height:255px}.min-screen .home-page{width:990px}.min-screen .home-page .slide-container{height:387px}.min-screen .home-page .slide-container img{display:block}.min-screen .home-page .slide-thumb-container{height:440px}.min-screen .home-page .slide-container-placeholder{height:387px}.min-screen .home-page .slide-thumb-container-placeholder{height:440px}.min-screen .home-page .slide-wrapper{height:387px}.min-screen .home-page .slide-wrapper li a{width:990px}.min-screen .home-page .slide-switch{display:block}.min-screen .home-page .slide-switch a.prev{margin-left:-495px}.min-screen .home-page .slide-switch a.next{margin-right:-495px}.min-screen .home-page .slide-switch a:hover{opacity:.9;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=90)"}.min-screen .home-page .thumb-pagination{width:990px;margin:7px auto 0;padding:0}.min-screen .home-page .thumb-pagination li{width:118px;height:46px}.min-screen .home-page .debris-slider{height:440px}.min-screen .home-page .debris-slider .left-col{margin-right:9px}.min-screen .home-page .debris-slider .left-col a{width:240px;height:103px}.min-screen .home-page .debris-slider .left-col a:first-child{height:214px}.min-screen .home-page .debris-slider .center-col{width:492px;margin-right:9px}.min-screen .home-page .debris-slider .right-col a{width:240px;height:103px}.min-screen .home-page .debris-slider .right-col a:first-child{height:326px;margin-bottom:10px}.min-screen .home-page .new-report .report-list{width:748px}.min-screen .home-page .new-report .report-list li{width:158px;height:212px}.min-screen .home-page .new-report .last-item,.min-screen .home-page .new-report .report-list li:first-child{width:242px;height:432px}.min-screen .home-page .preference-brand-list{width:998px}.min-screen .home-page .preference-brand-item{margin-right:7px}.min-screen .home-page .preference-brand-item a{width:159px;height:74px}.min-screen .home-page .preference-more{width:159px;height:74px;line-height:90px}.min-screen .home-page .img-slider-wrapper{height:480px}.min-screen .home-page .img-container-landscape{margin:73px auto 0;width:844px;height:370px}.min-screen .home-page .img-container-landscape .img-item{width:275px;height:100%;margin-right:9px}.min-screen .home-page .img-brand{height:150px}.min-screen .home-page .img-brand ul{width:998px}.min-screen .home-page .img-brand li{width:325px;height:150px;line-height:150px}.min-screen .home-page .logo-brand{height:246px}.min-screen .home-page .logo-brand ul{width:998px}.min-screen .home-page .logo-brand li{margin:8px 8px 0 0;width:158px;height:74px;line-height:74px}.min-screen .home-page .logo-brand .logo-brand-switch .iconfont{font-size:24px}.min-screen .home-page .logo-brand .logo-brand-switch .iconfont.prev{top:-12px}.min-screen .home-page .logo-brand .logo-brand-switch .iconfont.next{bottom:-12px}.min-screen .home-page .logo-brand.logos-10{height:164px}.min-screen .home-page .categorys-list ul{width:1004px}.min-screen .home-page .categorys-list li{margin:0 7px 7px 0;width:161px;height:214px}.min-screen .home-page .categorys-list li.cate-item0{width:160px;height:435px}.min-screen .home-page .categorys-list li.cate-item1{width:326px;height:435px}.min-screen .home-page .floor-header{margin:50px 0 30px}.min-screen .home-page .floor-header .header-navs li{padding:1px 10px}.brands .path-nav{border-bottom:none;margin-bottom:0;padding-top:10px;padding-bottom:20px}.brands .brands-tabs{position:relative}.brands .brands-tabs a{display:block}.brands .brands-tabs a img{width:100%;height:100%;display:block}.brands .brands-tabs li{float:left}.brands .brands-tabs li p{display:block;font-size:30px;text-align:center;color:#dedede;position:absolute;top:50%;width:100%;margin-top:-15px;z-index:3}.brands .brands-tabs li .g-mask{opacity:.4;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=40)"}.brands .brands-tabs li .g-mask-on,.brands .brands-tabs li:hover .g-mask{opacity:0;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"}.brands .brands-tabs .hover-contain{position:relative;border-bottom:1px solid #dfdfdf}.brands .brands-tabs .hover-contain .hoverarr{background-color:#3d3d3d;position:absolute;bottom:0;z-index:7}.brands .brands-tabs .hover-contain .hoverarr i{width:0;height:0;position:absolute;left:50%;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #3d3d3d;top:-6px;margin-left:-3px}.brands .header-navs{margin-right:-15px}.brands .category-nav{border:2px solid #222;padding-left:16px;height:44px;line-height:44px;font-size:12px;font-weight:700;position:relative;z-index:9;background-color:#fff}.brands .category-nav span{display:inline-block;margin-right:15px}.brands .category-nav a{display:inline-block;padding:0 7px;text-align:center;color:#222;cursor:pointer}.brands .category-fix{position:fixed;top:0;z-index:9;margin-top:0!important}.brands .brands-list dl{position:relative;border-top:1px dotted #999;padding:20px 0}.brands .brands-list dt{position:absolute;width:130px;font-weight:700;font-size:16px;text-align:center;top:50%;margin-top:-9px}.brands .brands-list dd{margin-left:130px}.brands .brands-list dd li{float:left;display:block;width:170px;height:18px}.brands .brands-list dd a{color:#666;line-height:18px;font-size:12px;position:relative}.brands .brands-list dd a span{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block}.brands .brands-list dd a span:hover{text-decoration:underline}.brands .brands-list dd .brands-dialog{display:inline;position:relative}.brands .brands-list dd .hot{font-weight:700;color:#222}.brands .brands-list dd i{position:relative;top:-4px;color:#e01;font-size:14px}.brands .brands-category{width:1150px}.brands .brands-tabs{width:100%}.brands .brands-tabs li{margin-left:10px}.brands .brands-tabs li a{position:relative;width:222px;height:180px}.brands .brands-tabs li:first-child{margin-left:0}.brands .brands-tabs .hover-contain{height:30px}.brands .brands-tabs .hover-contain .hoverarr{height:5px;width:222px}.brands .brands-ad,.brands .brands-logo{margin:20px 0}.brands .brands-ad li{float:left;margin-left:10px}.brands .brands-ad li img{display:block;width:280px;height:280px}.brands .brands-ad li:first-child{margin-left:0}.brands .brands-ad li:first-child img{width:570px}.brands .brands-logo a{float:left;margin-left:26px}.brands .brands-logo a img{display:block;width:91px;height:38px}.brands .brands-logo a:first-child{margin-left:0}.brands .list-floor{width:1160px}.brands .brandfloor .g-list{margin-top:-32px}.brands .brandfloor li{margin-right:8px;margin-top:32px}.brands .brandfloor li a{width:378px;height:250px}.brands .singlegoods .g-list{margin-top:-10px}.brands .singlegoods li{margin-right:10px;margin-top:10px}.brands .singlegoods li a{width:280px;height:374px}.brands .singlegoods .singlegoods-title{position:absolute;left:0;bottom:0;height:50px;width:100%}.brands .singlegoods .singlegoods-title p{position:absolute;z-index:2;top:0;left:0;display:block;width:100%;height:100%;line-height:50px;font-size:18px;text-align:center;color:#fff}.brands .video .g-list{margin-top:-10px}.brands .video li{margin-right:8px;margin-top:10px}.brands .video li a{width:378px;height:242px}.brands .video .video-play{display:block;position:absolute;left:50%;top:50%;margin-left:-30px;margin-top:-28px;width:60px;height:56px;background-image:url(../assets/img/index/play.png?v1559f4c3cd8)}.brands .video .video-title{position:absolute;left:0;bottom:0;height:32px;width:100%}.brands .video .video-title p{position:absolute;z-index:2;top:0;left:0;display:block;width:100%;height:100%;font-size:14px;line-height:32px;text-align:center;color:#fff}.brands .news{margin-bottom:40px}.brands .news .news-pic{position:relative;float:left;width:764px;height:436px}.brands .news .news-pic .slide-container{height:100%}.brands .news .news-pic .slide-container li a{height:100%;width:764px}.brands .news .news-pic .slide-container .slide-wrapper{height:100%}.brands .news .news-pic .slide-container .slide-switch{display:none}.brands .news .news-pic .slide-container .slide-switch .prev{left:0;margin-left:0}.brands .news .news-pic .slide-container .slide-switch .next{right:0;margin-right:0}.brands .news .news-pic .slide-container .slide-switch.show{display:block}.brands .news .news-pic .slide-tips{position:absolute;left:0;bottom:0;height:30px;width:100%;background:#000;opacity:.8;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=80)"}.brands .news .news-pic .slide-tips p{position:absolute;left:18px;z-index:2;height:30px;font-size:14px;line-height:30px;color:#fff}.brands .news .news-pic .slide-pagination{right:0;left:auto;bottom:0}.brands .news .news-pic .slide-pagination .slide-shade{opacity:0;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";background:none}.brands .news .news-pic .slide-pagination span{margin-top:3px}.brands .news .news-txt{padding:20px 16px;float:right;border:1px solid #000;overflow:hidden}.brands .news .news-txt ul{height:100%}.brands .news .news-txt li{position:relative;display:block;margin-bottom:10px;margin-left:20px}.brands .news .news-txt a{font-size:14px;line-height:27px;cursor:pointer;color:#010101;display:block}.brands .news .news-txt a:hover{color:#fff;background:#000;padding-left:12px;transition:padding .4s}.brands .news .news-txt i{position:absolute;top:0;left:-26px;font-size:22px}.brands .news .news-txt{width:342px;height:394px}.brands .ads{margin:40px 0}.brands .ads li{margin-right:10px;margin-bottom:10px}.brands .ads li a{width:280px}.brands .ads li a img{height:160px}.brands .ads li .name{font-size:14px}.brands .ads li .des{font-size:12px}.brands .brands-items{margin:25px auto}.brands .brands-items .brands-item{float:left;padding:15px 0;width:50%}.brands .brands-items a.brands-pic{float:left;width:280px;height:136px;display:block}.brands .brands-items a.brands-pic img{width:100%;height:100%}.brands .brands-items .brand-info{float:right;padding:0 20px;width:255px;color:#000}.brands .brands-items .brand-info h3{width:100%;font-size:20px;line-height:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.brands .brands-items .brand-info .brand-desc{padding:12px 0;height:92px;font-size:14px;line-height:22px;overflow:hidden}.brands .pagination{margin:40px 0 80px;text-align:center}.brands .pagination a{height:24px;padding:0 9px;line-height:24px;display:inline-block;text-align:center;margin-right:8px;color:#222;font-size:12px}.brands .pagination a i{position:relative;top:-1px;font-size:10px;transform:scale(.8)}.brands .pagination a.cur{background:#222;color:#fff}.min-screen .brands .header-navs{margin-right:-10px}.min-screen .brands .sit-nav{padding-top:10px;font-size:12px}.min-screen .brands .sit-nav .sep{margin:0 6px}.min-screen .brands .brands-category{width:990px}.min-screen .brands .brands-tabs li a{width:190px;height:154px}.min-screen .brands .brands-tabs .hover-contain{height:25px}.min-screen .brands .brands-tabs .hover-contain .hoverarr{height:4px;width:190px}.min-screen .brands .brands-ad li img{width:240px;height:240px}.min-screen .brands .brands-ad li:first-child img{width:490px}.min-screen .brands .brands-logo a{margin-left:10px}.min-screen .brands .brands-logo a img{width:90px;height:37px}.min-screen .brands .brands-logo a:first-child{margin-left:0}.min-screen .brands .list-floor{width:1000px}.min-screen .brands .brandfloor .g-list{margin-top:-26px}.min-screen .brands .brandfloor li{margin-right:9px;margin-top:26px}.min-screen .brands .brandfloor li a{width:324px;height:214px}.min-screen .brands .singlegoods .g-list{margin-top:-10px}.min-screen .brands .singlegoods li{margin-right:10px;margin-top:10px}.min-screen .brands .singlegoods li a{width:240px;height:324px}.min-screen .brands .singlegoods .singlegoods-title{position:absolute;left:0;bottom:0;height:50px;width:100%}.min-screen .brands .singlegoods .singlegoods-title p{position:absolute;z-index:2;top:0;left:0;display:block;width:100%;height:100%;line-height:50px;font-size:18px;text-align:center;color:#fff}.min-screen .brands .video .g-list{margin-top:-10px}.min-screen .brands .video li{margin-right:9px;margin-top:10px}.min-screen .brands .video li a{width:324px;height:206px}.min-screen .brands .video .video-play{display:block;position:absolute;left:50%;top:50%;margin-left:-30px;margin-top:-28px;width:60px;height:56px;background-image:url(../assets/img/index/play.png?v1559f4c3cd8)}.min-screen .brands .video .video-title{position:absolute;left:0;bottom:0;height:30px;width:100%}.min-screen .brands .video .video-title p{position:absolute;z-index:2;top:0;left:0;display:block;width:100%;height:100%;font-size:14px;line-height:30px;text-align:center;color:#fff}.min-screen .brands .news .news-pic{width:660px;height:376px}.min-screen .brands .news .news-pic .slide-container,.min-screen .brands .news .news-pic .slide-container img{height:376px}.min-screen .brands .news .news-txt{width:284px;height:334px}.min-screen .brands .news .news-txt li{margin-bottom:13px}.min-screen .brands .ads{margin-bottom:30px}.min-screen .brands .ads li{margin-right:10px;margin-bottom:10px}.min-screen .brands .ads li a{width:240px}.min-screen .brands .ads li a img{height:138px}.min-screen .brands .ads li .name{font-size:14px}.min-screen .brands .ads li .des{font-size:12px}.min-screen .brands .brands-items a.brands-pic{width:240px;height:116px}.min-screen .brands .brands-items .brand-info{width:212px}.min-screen .brands .brands-items .brand-info .brand-desc{height:72px}.brands-layer{position:absolute;z-index:9;top:-83px;left:15px;width:325px;height:287px;background:url(../assets/img/index/brands-layer.png?v1559f4c3cd5) no-repeat;font-weight:400}.brands-layer .layer-content{padding:20px 20px 20px 35px}.brands-layer .layer-content .title{font-size:24px;line-height:24px;border-bottom:1px solid #ccc;padding-bottom:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.brands-layer .layer-content .desc{margin:5px 0;height:72px;overflow:hidden}.brands-layer .layer-content .desc img{width:80px;height:50px;margin:3px 5px 0 0;float:left}.brands-layer .layer-content .desc .right{width:180px;float:right;font-size:12px;line-height:150%;max-height:80px}.brands-layer .layer-content .featured{font-size:16px;margin-right:-15px}.brands-layer .layer-content .featured img{height:100px;width:80px;float:left;margin:15px 15px 0 0}.brands-layer-right{background:url(../assets/img/index/brands-layer.png?v1559f4c3cd5) no-repeat 0 -287px;left:-325px;top:-83px}.brands-layer-right .layer-content{padding:20px 35px 20px 20px}.coupon-page{width:1150px;margin:10px auto 0}.coupon-page .slide-container{position:relative}.coupon-page .slide-wrapper{position:relative;height:450px;overflow:hidden}.coupon-page .slide-wrapper ul{position:relative;height:100%}.coupon-page .slide-wrapper li{display:none;position:absolute;top:0;right:0;width:100%;height:100%}.coupon-page .slide-wrapper li a{display:block;height:100%;width:1150px;margin:0 auto}.coupon-page .slide-wrapper li img{width:100%;height:100%}.coupon-page .slide-switch,.coupon-page .slide-wrapper:hover .slide-switch.show,.coupon-page .slide-wrapper li:first-child{display:block}.coupon-page .slide-switch a{position:absolute;top:50%;margin:-30px 0 0;width:60px;height:60px;line-height:56px;text-align:center;z-index:2;background:#fff;opacity:.55;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=55)"}.coupon-page .slide-switch a .iconfont{font-size:32px;color:#59585a}.coupon-page .slide-switch a.prev{left:50%;margin-left:-575px}.coupon-page .slide-switch a.next{right:50%;margin-right:-575px}.coupon-page .slide-switch a:hover{opacity:.9;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=90)"}.coupon-page .title{width:300px;margin:80px auto 40px;text-align:center;border:1px solid #000;height:31px;line-height:31px;position:relative}.coupon-page .title span{margin:5px}.coupon-page .coupon{display:inline-block;position:relative;width:282px;height:258px;margin-right:2px}.coupon-page .coupon img{width:100%;height:100%}.coupon-page .coupon .coupon-mask{width:100%;height:259px;background-color:rgba(0,0,0,.6);position:absolute;top:0;left:0;right:0;z-index:8}.coupon-page .coupon .info{width:78px;height:78px;position:absolute;right:2px;bottom:-1px}.coupon-page .coupon .info>div{width:100%;height:38px;font-size:16px;color:#fff;text-align:center;position:absolute;top:50%;margin-top:-19px}.coupon-page .coupon .info p{margin-bottom:5px}.coupon-page .coupon .info .guang{width:50px;height:18px;line-height:18px;font-size:12px;background-color:#fff;color:#d0021b;margin:0 auto}.me-page{width:990px;margin:0 auto 20px}.me-page .home-path{height:40px;line-height:40px;color:#ccc;font-size:12px}.me-page .home-path .path-icon{float:left;display:block;background-image:url(../assets/img/sprite.home.png?v1559f4c4798);background-position:-22px -24px;width:15px;height:15px;margin-right:10px;margin-top:11px}.me-page .home-path a,.me-page .home-path span{color:#666}.me-page .home-path span{font-weight:700}.me-page .block{border:1px solid #dedede;border-radius:2px}.me-page .me-main .block{margin-bottom:10px}.me-page .title{height:40px;line-height:40px;padding:0 8px;background-color:#e3e3e3;background-position:10px 12px;background-repeat:no-repeat}.me-page .user-thumb{text-align:center;padding:20px 0;background:#f8f8f8}.me-page .user-thumb .thumb-bg{width:100px;height:100px;padding:5px 7px 7px 5px;margin:0 auto;background:url(../assets/img/home/thumb-bg.png?v1559f4c3cd1)}.me-page .user-thumb .default-user-thumb,.me-page .user-thumb img{width:100px;height:100px}.me-page .user-thumb .default-user-thumb{background:url(../assets/img/home/default-thumb.png?v1559f4c3caa) no-repeat;background-size:100%}.me-page .home-navigation{float:left;width:180px;margin-right:8px}.me-page .home-navigation .ucenter{background-image:url(../assets/img/home/ucenter.png?v1559f4c3cd2)}.me-page .nav-group .row{height:38px;line-height:38px;border-top:1px solid #e2e2e2;padding-left:35px;color:#666;background:#f8f8f8;font-size:12px}.me-page .nav-group .row a{display:inline-block;color:#666}.me-page .nav-group .row span{color:#e0012b;font-weight:700}.me-page .nav-group .row.active{background:#636363}.me-page .nav-group .row.active a{color:#fff}.me-page .nav-group .row.first{border-top:none}.me-page .nav-group li:hover{background:#fff;color:#000}.me-page .nav-group .nav-title{font-size:14px;border-top:1px solid #ccc;border-bottom:1px solid #ccc;color:#333;background:#e6e6e6;padding-left:0}.me-page .nav-group .nav-title .title-icon{float:left;display:block;width:15px;height:15px;background-image:url(../assets/img/sprite.home.png?v1559f4c4798);background-position:-48px 0;margin:10px 10px 0}.me-page .me-main{float:left;width:800px}.me-page .me-pager{width:778px;height:22px;line-height:22px;background:#f3f3f3;border-top:1px solid #e3e3e3;padding:10px;font-size:12px;color:#666}.me-page .me-pager .check-all{margin:0;vertical-align:text-top;margin-right:5px}.me-page .me-pager .del-checked{cursor:pointer;margin-left:5px}.me-page .me-pager .del-checked:hover{color:#468fa2;text-decoration:underline}.me-page .me-pager a{border:1px solid #cecece;padding:0 6px;height:18px;line-height:18px;border-radius:2px;margin-right:4px;background-color:#fff}.me-page .me-pager a.cur,.me-page .me-pager a:hover{background-color:#222;color:#fff}.me-page .me-pager .pager-html{display:inline}.me-page .help-us{height:20px;line-height:20px;font-size:12px}.me-page .help-us a{color:#468fa2}.me-page .help-us .help-us-icon{display:inline-block;width:12px;height:12px;margin-right:8px;margin-top:-3px;vertical-align:middle;background-image:url(../assets/img/sprite.home.png?v1559f4c4798);background-position:-48px -17px}.me-page .empty-tip{padding:200px 0;text-align:center;overflow:hidden}.me-page .tabs{height:25px;margin:10px;background:url(../assets/img/home/tab.png?v1559f4c3cd0) repeat-x 0 -25px;font-size:12px;line-height:25px;padding-left:10px}.me-page .tabs li{display:block;float:left;width:88px;height:25px;text-align:center;background:url(../assets/img/home/tab.png?v1559f4c3cd0) no-repeat -92px 0;margin-right:3px;color:#333}.me-page .tabs li.active{background-position:0 0;font-weight:700}.me-page .tabs a{display:block;width:100%;height:100%}.me-page .table-header{height:30px;line-height:30px;background:#efefef;border:1px solid #e6e6e6;padding:0 10px}.me-page .table-header>span{display:block;float:left;text-align:center}.me-page .advance-buy-tag,.me-page .freebie-tag,.me-page .presall-tag,.me-page .virtual-good-tag{display:block;position:absolute;bottom:0;left:0;right:0;height:15px;line-height:16px;text-align:center;color:#fff}.me-page .freebie-tag{background:#88be51}.me-page .advance-buy-tag{background:#fc1264}.me-page .presall-tag,.me-page .virtual-good-tag{background:#333}.default-me-page .message-tip{box-sizing:border-box;width:800px;height:40px;line-height:40px;padding:0 10px;margin-bottom:10px;background:#faf6d9;border:1px solid #f5e8c5;border-radius:2px;font-weight:700;font-size:12px}.default-me-page .message-tip a{color:#468fa2;font-weight:400}.default-me-page .message-tip b{color:#e8044f;margin-right:5px}.default-me-page .message-tip .close{float:right;cursor:pointer;font-weight:400}.default-me-page .more{display:block;float:right;height:21px;line-height:22px;width:63px;margin-top:8px;padding-right:8px;font-size:12px;color:#fdfdfd;text-align:center;border-radius:2px;background:url(../assets/img/home/btn-more.png?v1559f4c3c9f) no-repeat}.default-me-page .brands ul{padding:10px 0 10px 10px}.default-me-page .brands ul li{float:left;width:122px;height:103px;border:1px solid #f6f6f6;margin-right:7px;overflow:hidden}.default-me-page .brands ul img{width:80px;height:50px;display:block;vertical-align:middle;margin:15px auto}.default-me-page .brands ul .brand-name{display:block;width:114px;height:18px;line-height:18px;color:#333;background:#f4f4f4;font-size:12px;text-align:center;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;margin:0 auto}.default-me-page .new-arrival{overflow:hidden}.default-me-page .new-arrival .na-pager-wrap{float:right}.default-me-page .new-arrival .na-pager-wrap .next,.default-me-page .new-arrival .na-pager-wrap .pre{display:inline-block;height:22px;line-height:22px;margin-top:8px;padding:0 6px;font-size:12px;color:#fff;background:#646464;text-align:center;border-radius:2px;cursor:pointer}.default-me-page .new-arrival .na-pager-wrap .next .iconfont,.default-me-page .new-arrival .na-pager-wrap .pre .iconfont{font-size:12px}.default-me-page .new-arrival .na-pager-wrap .no-visible{visibility:hidden}.default-me-page .new-arrival ul{width:800px;height:218px;overflow:hidden}.default-me-page .new-arrival li{float:left;width:101px;height:160px;padding:29px;border-right:1px solid #e3e3e3;text-align:center;font-size:12px;overflow:hidden}.default-me-page .new-arrival li .thumb{width:100px;height:100px}.default-me-page .new-arrival li .name{margin:10px 0;text-decoration:underline;color:#666;line-height:14px}.default-me-page .new-arrival li .price{color:#000}.default-me-page .banner{display:block;width:800px;border:none}.default-me-page .latest-orders .title{background-image:url(../assets/img/home/latest-orders.png?v1559f4c3cb8)}.default-me-page .brands .title{background-image:url(../assets/img/home/brands.png?v1559f4c3c9d)}.default-me-page .new-arrival .title{background-image:url(../assets/img/home/new-arrival.png?v1559f4c3cba)}.me-orders{font-size:12px}.me-orders .right{float:right}.me-orders .order-table-header .info{width:330px;text-align:left;padding-left:10px}.me-orders .order-table-header .price{width:75px}.me-orders .order-table-header .count{width:60px}.me-orders .order-table-header .operation,.me-orders .order-table-header .order-status,.me-orders .order-table-header .pay{width:100px}.me-orders .order-title{height:28px;line-height:28px;background:#efefef;padding:0 5px;border-bottom:1px solid #e6e6e6}.me-orders .order{margin:10px;border:1px solid #e6e6e6;border-radius:2px}.me-orders .order .order-wrap{position:relative;display:table;text-align:center}.me-orders .order .order-wrap>*{display:table-cell;vertical-align:middle}.me-orders .order li{display:table;border-top:1px solid #e6e6e6}.me-orders .order li>div{display:table-cell;color:#666;text-align:center;vertical-align:middle}.me-orders .order li:first-child{border-top:none}.me-orders .order .thumb-wrap{position:relative}.me-orders .order .thumb{width:60px;height:60px}.me-orders .order .info{position:relative;width:320px;text-align:left;padding:10px 0 10px 10px}.me-orders .order .info>*{float:left}.me-orders .order .info .color-size{color:#999}.me-orders .order .info .arrival-date{color:#e8044f;margin-left:2px}.me-orders .order .text-info{position:absolute;padding:5px;bottom:10px;left:72px}.me-orders .order .text-info>*{display:block;line-height:18px}.me-orders .order .name{color:#468fa2;max-width:245px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.me-orders .order .had-refund{color:#e8044f}.me-orders .order .price{width:80px;padding:5px;font-weight:700}.me-orders .order .price .free-icon{display:block;width:37px;height:18px;line-height:18px;font-size:12px;text-align:center;color:#80bb45;background:#e7fbc0;margin:5px auto;border:1px solid #80bb45;border-radius:3px}.me-orders .order .price.free-price em{text-decoration:line-through}.me-orders .order .count{width:50px}.me-orders .order .operation,.me-orders .order .order-status,.me-orders .order .pay{width:90px;border-left:1px solid #e6e6e6;padding:5px}.me-orders .order .pay{font-weight:700}.me-orders .order .pay-tip{font-weight:400;display:block;line-height:18px;color:#999}.me-orders .order .op-item{display:block;color:#468fa2;line-height:18px}.me-orders .order .op-item.op-dis{color:#999}.me-orders .order .no-pay,.me-orders .order .paid{color:#e8044f}.me-orders .order .order-status span{line-height:18px;color:#999}.me-orders .order .order-status .cancel{color:#e8044f}.me-orders .order .check-logistics{display:block;cursor:pointer;color:#468fa2}.me-orders .order .cancel{color:#e8044f}.me-orders .order .logistics{position:absolute;padding:20px 12px;color:#ff8341;border:1px solid #c9c9c9;background:#fff;right:185px;margin-top:-40px;z-index:11}.me-orders .order .logistics li{line-height:18px;white-space:nowrap}.me-orders .order .logistics .close-logistics{position:absolute;top:0;right:0;color:#c9c9c9;cursor:pointer}.me-orders .order .logistics .right-triangle{position:absolute;width:0;height:0;right:-6px;top:24px}.me-orders .order .logistics .right-triangle.top{margin-top:1px;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:6px solid #fff}.me-orders .order .logistics .right-triangle.bottom{margin-right:-1px;border-top:6px solid transparent;border-bottom:6px solid transparent;border-left:7px solid #c9c9c9}.me-orders .order .operation>*{cursor:pointer}.me-orders .order .operation .pay-now{display:block;color:#fff;background:#de034a;height:20px;line-height:20px;text-align:center;margin:0 auto;border-radius:4px;width:68px}.me-history-orders .order-table-header .info,.me-history-orders .order .info{width:520px}.me-history-orders .order .info{text-align:center}.me-history-orders .order-table-header .order-sum,.me-history-orders .order .order-sum{width:90px;text-align:left}.me-history-orders .order li{border:none}.cancel-dialog{width:600px;background:#fff;padding:20px 30px 35px}.cancel-dialog header{font-size:18px;padding-bottom:20px;border-bottom:1px solid #e8e8e8;color:#000;text-align:left}.cancel-dialog .close{top:15px;right:30px}.cancel-dialog .close .iconfont{font-size:30px}.cancel-dialog .cancel-reason{text-align:left}.cancel-dialog .cancel-reason li{float:left;width:50%;height:28px;line-height:28px;font-size:14px}.cancel-dialog .cancel-reason label{padding-left:10px}.cancel-dialog .cancel-reason input[type=text]{margin-left:10px;height:24px;text-indent:5px}.cancel-dialog .cancel-tip{margin-top:20px;color:#d60248;font-size:14px;padding-left:17px;text-align:left}.cancel-dialog .btns{padding:15px 30px 0;text-align:center}.cancel-dialog .btns .btn{height:35px;font-size:15px;line-height:35px}.cancel-dialog .btns .cancel-sure{width:130px;color:#fff;background:#000;border:none}.cancel-dialog .btns .cancel-no{margin-left:30px;background:#fff;color:#000;border-color:#000;width:126px}.cancel-dialog .tip{margin:20px 0;font-size:12px;text-align:left;color:#db3d50}.cancel-dialog .reminder{margin:20px 0 10px}.cancel-dialog .info-prompt ul{margin-top:-10px}.cancel-dialog .info-prompt li{margin:10px 0;font-size:14px;line-height:16px;text-align:left}.cancel-dialog .info-prompt i{color:#d70400;font-family:SimSun;font-size:16px;margin-right:10px;vertical-align:-6px}.message-dialog{width:350px;background:#fff;padding:20px 30px 35px}.message-dialog .message-title{margin-top:40px;margin-bottom:27px;font-size:24px;font-weight:700}.message-dialog .message-summary{width:250px;margin:0 auto 22px;font-size:14px;word-wrap:break-word;line-height:20px}.message-dialog .btns{padding:15px 30px 0;text-align:center}.message-dialog .btns .btn{height:35px;font-size:15px;line-height:35px}.message-dialog .btns .message-sure{width:130px;color:#fff;background:#000;border:none}.message-dialog .close{top:15px;right:15px}.message-dialog .close .iconfont{font-size:30px}.edit-order-dialog{width:600px;background:#fff;padding:20px 30px 35px}.edit-order-dialog header{font-size:18px;padding-bottom:20px;border-bottom:1px solid #e8e8e8;color:#000;text-align:left}.edit-order-dialog .close{top:15px;right:30px}.edit-order-dialog .close .iconfont{font-size:30px}.edit-order-dialog .edit-order-info{text-align:left}.edit-order-dialog .edit-order-info li{height:26px;margin:20px 0;line-height:26px;font-size:14px;white-space:nowrap}.edit-order-dialog .edit-order-info .form-required{color:#d70400;font-family:SimSun;font-size:16px;margin-right:10px;vertical-align:-6px}.edit-order-dialog .edit-order-info label{display:inline-block;width:90px;text-align:right}.edit-order-dialog .edit-order-info .inp{width:188px;height:18px;line-height:18px;padding:3px 0;border:1px solid #e8e8e8;margin-left:10px;text-indent:5px;box-sizing:content-box}.edit-order-dialog .edit-order-info .w271{width:271px}.edit-order-dialog .edit-order-info .w40{width:40px}.edit-order-dialog .edit-order-info .inp[name=tel]{margin-left:0}.edit-order-dialog .ml10{margin-left:10px}.edit-order-dialog select{height:25px;line-height:25px;width:100px;padding:0;border:1px solid #ccc}.edit-order-dialog .error{display:none;margin-left:10px;color:#db3d50;font-size:12px}.edit-order-dialog .error .icon-error{margin-right:8px;vertical-align:text-bottom}.edit-order-dialog .btns{padding:15px 30px 0;text-align:center}.edit-order-dialog .btns .btn{height:35px;font-size:15px;line-height:35px}.edit-order-dialog .btns .edit-sure{width:130px;color:#fff;background:#000;border:none}.edit-order-dialog .btns .edit-no{margin-left:30px;background:#fff;color:#000;border-color:#000;width:126px}.edit-order-dialog .tip{margin:20px 0;font-size:12px;text-align:left;color:#db3d50}.order-icon{display:inline-block;vertical-align:middle;margin-right:10px;background:url(../assets/img/home/order-sprite.png?v1559f4c3cc0)}.icon-success{background-position:0 0}.icon-success,.icon-waiting{width:30px;height:30px;vertical-align:-6px}.icon-waiting{background-position:-32px 0}.icon-arrow{width:11px;height:7px;background-position:-36px -33px}.icon-error{width:15px;height:15px;background-position:0 -33px}.icon-right{width:15px;height:15px;background-position:-50px -33px}.icon-recycle{width:15px;height:17px;background-position:-18px -33px}.orders-me-page .orders .title{padding-left:130px;line-height:40px;background-image:url(../assets/img/home/orders.png?v1559f4c3cc1);font-size:12px;font-weight:700}.orders-me-page .order-table-header{padding:0;margin:0 10px;border:1px solid #e6e6e6}.order-detail-page{font-size:12px}.order-detail-page .order-detail>.title{background-image:url(../assets/img/home/order-detail.png?v1559f4c3cbe)}.order-detail-page .status{margin:10px 0;padding:10px;background:#efefef;border-bottom:1px solid #e6e6e6}.order-detail-page .status p{margin:5px 0;line-height:18px}.order-detail-page .status .cur-status{color:#e8044f}.order-detail-page .status .complete-tip{color:#999}.order-detail-page .status .cancel-order{margin-right:20px}.order-detail-page .status .cancel-order,.order-detail-page .status .edit-order{float:right;background:#ebebeb;border:1px solid #c1c1c1;color:#000}.order-detail-page .status .edit-order-active{background:#444;border:1px solid #444;color:#fff}.order-detail-page .status .go-pay{margin-left:60px}.order-detail-page .detail-info{padding:10px}.order-detail-page .sub-title{height:21px;line-height:21px;border:1px solid #e6e6e6;color:#333;background:#efefef}.order-detail-page .sub-title .icon{display:inline-block;height:11px;width:11px;background-image:url(../assets/img/home/complaint-icon.png?v1559f4c3ca5);margin:5px 5px 0}.order-detail-page .content{padding:10px 20px 20px}.order-detail-page .content p{line-height:18px}.order-detail-page .order-progress{padding-top:20px}.order-detail-page .order-progress li{position:absolute;width:150px;line-height:15px;top:20px}.order-detail-page .order-progress .cur{color:#e9034e;font-weight:700}.order-detail-page .order-progress .date{display:block;color:#999;padding-left:12px}.order-detail-page .progress-box{position:relative;width:552px;height:70px;margin:0 auto}.order-detail-page .progress-box .pg-0{left:-20px}.order-detail-page .progress-box .pg-1{left:145px}.order-detail-page .progress-box .pg-2{left:330px}.order-detail-page .progress-box .pg-3{left:515px}.order-detail-page .virtual-detail .pg-1{left:245px}.order-detail-page .virtual-detail .pg-2{left:515px}.order-detail-page .virtual-detail .outter-progress{background:url(../assets/img/home/virtual-order-progress.png?v1559f4c3cd5) no-repeat 0 0}.order-detail-page .virtual-detail .inner-progress{background:url(../assets/img/home/virtual-order-progress.png?v1559f4c3cd5) no-repeat 0 -12px}.order-detail-page .outter-progress{width:552px;height:12px;background:url(../assets/img/home/order-progress.png?v1559f4c3cbf) no-repeat 0 0}.order-detail-page .inner-progress{height:12px;background:url(../assets/img/home/order-progress.png?v1559f4c3cbf) no-repeat 0 -12px}.order-detail-page .handle-time{width:300px}.order-detail-page .recive-place{width:200px}.order-detail-page .logistics-info{width:800px}.order-detail-page .trace-order td,.order-detail-page .trace-order th{line-height:18px}.order-detail-page .differentOrder{position:relative;width:100%;margin-top:10px}.order-detail-page .differentOrder .warn{text-align:center;background:#fefbd5;font:initial;height:40px;line-height:40px;font-size:16px}.order-detail-page .differentOrder .warn .red{color:red}.order-detail-page .differentOrder .warn .why{background-image:url(../assets/img/sprite.order.png?v1559f4c4799);background-position:-247px -46px;width:26px;height:20px;display:inline-block;vertical-align:middle}.order-detail-page .differentOrder .warn .why:hover{cursor:pointer}.order-detail-page .differentOrder .differentBag:before{content:"";position:absolute;width:0;height:0;border-bottom:10px solid #000;border-left:10px solid transparent;border-right:10px solid transparent;top:-10px;right:113px}.order-detail-page .differentOrder .differentBag{display:none;position:absolute;right:-10px;top:40px;width:510px;padding:0 50px;background:#fff;z-index:1;border:1px solid #000;font-size:14px}.order-detail-page .differentOrder .bag{position:relative;border-bottom:1px solid #e0e0e0;margin-top:10px;padding:20px 0}.order-detail-page .differentOrder .bag h3{height:30px;line-height:30px;font-weight:700;margin-left:15px}.order-detail-page .differentOrder .bag .pre{background-position:0 -142px;left:-30px}.order-detail-page .differentOrder .bag .next,.order-detail-page .differentOrder .bag .pre{position:absolute;background-image:url(../assets/img/sprite.order.png?v1559f4c4799);width:30px;height:50px;top:70px;display:none;cursor:pointer}.order-detail-page .differentOrder .bag .next{background-position:-32px -142px;right:-30px}.order-detail-page .differentOrder .bag p{color:#767676;margin-left:15px}.order-detail-page .differentOrder .bagDetil{position:relative;height:90px;width:510px;overflow:hidden;margin-bottom:20px}.order-detail-page .differentOrder .bagDetil ul{list-style:none;position:absolute;left:0;clear:both;height:90px}.order-detail-page .differentOrder .bagDetil ul li{float:left;width:102px;height:90px;line-height:90px;text-align:center;position:relative}.order-detail-page .differentOrder .bagDetil ul li img{width:90px;height:90px}.order-detail-page .differentOrder .bagDetil ul li p{position:absolute;bottom:0;background:#9c3;width:90px;height:1rem;line-height:1rem;color:#fff;margin-left:7px}.order-detail-page .differentOrder .bagDetil ul li a,.order-detail-page .differentOrder .bagDetil ul li a:hover{cursor:default}.order-detail-page .good-list table{border-collapse:collapse}.order-detail-page .good-list thead{height:25px;line-height:25px;background:#000;padding:2px 5px;color:#fff}.order-detail-page .good-list td,.order-detail-page .good-list th{padding:5px;text-align:center;border-right:1px solid #e6e6e6;border-bottom:1px solid #e6e6e6}.order-detail-page .good-list th{border-color:#000}.order-detail-page .good-list tr td:last-child,.order-detail-page .good-list tr th:last-child{border-right:none}.order-detail-page .good-list .product-info{width:314px}.order-detail-page .good-list .good-price,.order-detail-page .good-list .num,.order-detail-page .good-list .sum{width:91px}.order-detail-page .good-list .yoho-coin{width:100px}.order-detail-page .good-list .yoho-coin a{display:inline-block;width:12px;height:12px;background-image:url(../assets/img/sprite.home.png?v1559f4c4798);background-position:0 -44px;vertical-align:text-top}.order-detail-page .good-list .thumb-link{float:left;position:relative;margin-left:5px;margin-right:10px}.order-detail-page .good-list .thumb{display:block;width:60px;height:60px}.order-detail-page .good-list .name-color-size{float:left;color:#999;padding-top:12px;text-align:left}.order-detail-page .good-list .name{display:block;color:#468fa2;line-height:18px;text-align:left;max-width:230px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.order-detail-page .order-balance{text-align:right;border-bottom:1px solid #e6e6e6;padding:10px 0}.order-detail-page .order-balance .back-coin{height:30px}.order-detail-page .order-balance .yoho-coin{width:14px;height:14px;display:inline-block;background-image:url(../assets/img/sprite.cart.png?v1559f4c4796);background-position:-321px -225px;vertical-align:middle;margin-top:-2px;margin-right:4px}.order-detail-page .order-balance em{font-weight:700}.order-detail-page .order-balance .payment{color:#e8044f}.order-detail-page .oo-btn{display:inline-block;height:30px;width:92px;line-height:30px;text-align:center;border-radius:3px;color:#fff;cursor:pointer}.order-detail-page .go-pay{background:#d9044a;border:1px solid #c54b73}.order-detail-page .order-operation{text-align:right;padding:20px 10px}.order-detail-page .order-operation .oo-icon{display:inline-block;height:22px;width:22px;vertical-align:text-bottom}.order-detail-page .order-operation .success-icon{background-image:url(../assets/img/sprite.home.png?v1559f4c4798);background-position:0 0}.order-detail-page .order-operation .cancel-icon{background-image:url(../assets/img/sprite.home.png?v1559f4c4798);background-position:-24px 0}.order-detail-page .order-operation .confirm-received{display:block;float:right;margin-top:5px;background:#d9044a;border:1px solid #c54b73}.order-detail-page .order-operation .cancel-order{background:#ebebeb;border:1px solid #c1c1c1;color:#000}.order-detail-page .freebie-tag{background:#9c3}.order-detail-page .advance-buy-tag{background:#fc1264}.order-detail-page .virtual-good-tag{background:red}.order-detail-page .presall-tag{background:blue}.order-ticket-page{font-size:12px}.order-ticket-page .order-ticket .title{background-image:url(../assets/img/home/orders.png?v1559f4c3cc1)}.order-ticket-page .ticket-info{padding:20px 10px}.order-ticket-page .ticket-info .ticket-tag{display:inline-block;width:72px;height:19px;line-height:19px;text-align:center;font-size:12px;color:#fff;background:#000;border-radius:3px;margin-right:5px}.order-ticket-page .ticket-info .order-num{margin-left:10px}.order-ticket-page .ticket-info .return-to-orders{float:right;color:#468fa2}.order-ticket-page .qr-codes{width:768px;padding:10px 0 10px 10px;border:1px solid #e7e7e7;background:#fff;margin:0 auto}.order-ticket-page .qr-codes li{float:left;width:232px;height:260px;margin:10px;border:1px solid #e7e7e7;word-break:break-all;overflow:hidden;text-align:center}.order-ticket-page .qr-codes .qr{width:230px;height:230px}.order-ticket-page .tickets-tip{width:758px;padding:10px;border:1px solid #e7e7e7;background:#fff;margin:20px auto}.order-ticket-page .tickets-tip p{padding-left:20px;padding-bottom:10px;line-height:20px;background:url(../assets/img/home/qr-tip.png?v1559f4c3cc3) no-repeat -27px 5px}.order-ticket-page .tickets-tip .warn{background-position:0 -23px}.red-envelopes-page{font-size:12px}.red-envelopes-page .red-envelopes>.title{font-size:14px;font-weight:700}.red-envelopes-page .re-header{height:25px;line-height:25px;width:100%;text-align:center;border-bottom:1px solid #e6e6e6;background:#efefef}.red-envelopes-page .re-header span{display:inline-block;width:33%}.red-envelopes-page .money{color:#d52c29;font-family:微软雅黑;font-size:20px;font-weight:700}.red-envelopes-page .re-icon{display:inline-block;width:20px;height:18px;background-image:url(../assets/img/sprite.home.png?v1559f4c4798);background-position:0 -24px}.red-envelopes-page .red-envelopes-list{display:table;width:100%}.red-envelopes-page .red-envelopes-list li{display:table-row;color:#666;border-top:1px solid #e6e6e6}.red-envelopes-page .red-envelopes-list li>*{display:table-cell;width:33%;padding:10px;text-align:center;vertical-align:middle;border-left:1px solid #e6e6e6}.red-envelopes-page .red-envelopes-list li>:first-child{border-left:none}.red-envelopes-page .red-envelopes-list .use-remark{text-align:left;line-height:18px}.me-coupons-page{font-size:12px}.me-coupons-page .coupons>.title{font-size:14px;font-weight:700}.me-coupons-page .coupons-header{width:776px;height:25px;line-height:25px;text-align:center;border:1px solid #e6e6e6;background:#efefef;margin:0 auto}.me-coupons-page .coupons-header span{display:block;float:left}.me-coupons-page .coupon{display:table;border:1px solid #e6e6e6;width:778px;margin:10px auto;text-align:center;color:#666}.me-coupons-page .coupon>*{display:table-cell;vertical-align:middle;border-left:1px solid #e6e6e6;padding:5px;line-height:18px}.me-coupons-page .coupon .coupons-img{border-left:none}.me-coupons-page .coupon .end-soon{color:#e8044f}.me-coupons-page .un-use-coupons .coupons-img{width:20%}.me-coupons-page .un-use-coupons .value{width:18%}.me-coupons-page .un-use-coupons .term-of-validity{width:22%}.me-coupons-page .un-use-coupons .term-of-validity span{display:none}.me-coupons-page .un-use-coupons .use-remark{width:24%}.me-coupons-page .un-use-coupons .status{width:16%}.me-coupons-page .un-use-coupons .end-soon span{display:inline;padding:3px 10px;color:#fff;background:#e8044f}.me-coupons-page .used-coupons .coupon>*,.me-coupons-page .used-coupons .coupons-header>span{width:16.66%}.me-coupons-page .no-valid-coupons .coupon>*,.me-coupons-page .no-valid-coupons .coupons-header>span{width:25%}.me-currency-page{font-size:12px}.me-currency-page .currencies>.title{background-image:url(../assets/img/home/currency.png?v1559f4c3ca9)}.me-currency-page .my-currency{height:58px;line-height:58px;font-weight:700;border-bottom:1px solid #e8e8e8;font-size:18px;color:#333;margin:0 10px}.me-currency-page .my-currency em{color:#ff2400;font-weight:400}.me-currency-page .my-currency.has-tip{border-bottom:none}.me-currency-page .currency-tip{height:40px;line-height:24px;font-size:18px;color:#333;font-weight:700;margin:-16px 10px 0;border-bottom:1px solid #e8e8e8}.me-currency-page .currency-tip em{color:#ff2400;font-weight:400}.me-currency-page .currency,.me-currency-page .tab-wrap{margin:0 10px}.me-currency-page .tab-wrap{position:relative}.me-currency-page .tab-wrap .options-helper{position:absolute;right:10px;top:0}.me-currency-page .tab-wrap .coin-helper{margin-left:10px;color:#468fa2}.me-currency-page .tabs{margin-left:0;margin-right:0}.me-currency-page .currency-header{height:25px;line-height:25px;text-align:center;border:1px solid #e6e6e6;background:#efefef;margin:0 10px}.me-currency-page .currency-header span{display:block;float:left;font-size:14px;font-weight:700}.me-currency-page .currency-header .date{width:159px}.me-currency-page .currency-header .income-expenditure{width:317px}.me-currency-page .currency-header .remark{width:300px}.me-currency-page .currency{display:table;border:1px solid #e6e6e6;margin-bottom:20px;border-bottom:none}.me-currency-page .currency li{display:table-row;text-align:center;font-size:14px;height:50px;line-height:50px}.me-currency-page .currency li>*{display:table-cell;border-left:1px solid #e6e6e6;border-bottom:1px solid #e6e6e6;vertical-align:middle;color:#666;padding:5px;line-height:18px}.me-currency-page .currency li>:first-child{border-left:none}.me-currency-page .currency .date{width:155px}.me-currency-page .currency .remark{width:300px}.me-currency-page .currency .remark>a{color:#468fa2;margin-left:10px;text-decoration:underline}.me-currency-page .currency .income-expenditure{width:320px;color:#73a7b5}.me-currency-page .currency .income{color:#e10049}.me-favorite-page .favorite .title{background-image:url(../assets/img/home/favorite.png?v1559f4c3caf)}.me-favorite-page .favorite-table-header{font-size:12px;padding:0}.me-favorite-page .favorite-table-header .options{width:136px}.me-favorite-page .fav-row{display:table;padding:10px 0;border-bottom:1px solid #e6e6e6}.me-favorite-page .fav-row>*{display:table-cell;vertical-align:middle}.me-favorite-page .fav-row .checkbox{width:40px;padding-left:10px}.me-favorite-page .del-favorite{color:#666;visibility:hidden;cursor:pointer}.me-favorite-page .fav-row:hover .del-favorite{visibility:visible}.me-favorite-page .empty-reduction,.me-favorite-page .favorite-articles,.me-favorite-page .favorite-brands,.me-favorite-page .favorite-products,.me-favorite-page .reduction-notice-tip{margin:0 10px;font-size:12px}.me-favorite-page .price-notice{position:absolute;width:320px;height:194px;z-index:12;top:50%;left:50%;margin-left:-160px;margin-top:-130px;background:#fff;border:1px solid #999;padding:20px;font-size:14px}.me-favorite-page .price-notice .close{position:absolute;display:block;top:5px;right:5px;width:46px;height:16px;cursor:pointer;background:#cdcdcd;color:#fff;border-radius:2px;font-size:12px}.me-favorite-page .price-notice .close:hover{background:#414141}.me-favorite-page .price-notice .price-notice-sure{display:block;width:82px;height:34px;line-height:34px;text-align:center;color:#fff;background:#e90024;font-weight:700;cursor:pointer;margin:20px auto 0}.me-favorite-page .price-notice .tip{line-height:20px;margin:20px 0}.me-favorite-page .price-notice label{margin-right:10px}.me-favorite-page .price-notice input{width:180px;height:30px;line-height:30px;color:#333;padding:0 5px;font-size:14px;border:1px solid #bebebe}.me-favorite-page .price-notice input.error{border-color:red}.me-favorite-page .price-notice .err-text{padding-left:70px;line-height:24px;color:red}.me-favorite-page .price-notice .err-text i{display:block;float:left;height:14px;width:14px;background-image:url(../assets/img/sprite.passport.png?v1559f4c4797);background-position:-95px -113px;margin-right:5px;margin-top:5px}.me-favorite-page .price-notice .phone-diff{color:red;line-height:18px}.me-favorite-page .price-notice .success{text-align:center}.me-favorite-page .price-notice .success p{font-size:14px;line-height:22px;margin-top:20px}.me-favorite-page .price-notice .success .iconfont{color:#51c516;font-size:24px}.me-favorite-page .price-notice .success .notice-num{color:#e20d29}.me-favorite-page .price-notice .cue{text-align:center;padding:70px 0 50px;display:none}.me-favorite-page .price-notice .cue span{color:#e90024}.me-favorite-page .price-notice .cue p{font-size:14px;line-height:22px}.me-favorite-page .error .content,.me-favorite-page .error .success{display:none}.me-favorite-page .error .cue{display:block}.me-favorite-page .reduction-notice-tip{border:1px solid #e7e7e7;padding:20px;margin-bottom:10px}.me-favorite-page .reduction-notice-tip .notice-text{width:245px;float:left}.me-favorite-page .reduction-notice-tip h2{color:#000;font-size:14px;line-height:1.5}.me-favorite-page .reduction-notice-tip p{padding:10px 0;color:#999;font-size:12px;line-height:1.5}.me-favorite-page .reduction-notice-tip .notice-img{float:right;width:458px;height:197px;background:url(../assets/img/home/reduction-notice.jpg?v1559f4c3cc6)}.me-favorite-page .empty-reduction{text-align:center;font-size:14px;border:1px solid #e7e7e7;padding:40px;margin-bottom:20px}.me-favorite-page .empty-reduction a{display:inline-block;width:92px;height:30px;line-height:30px;color:#666;text-align:center;cursor:pointer;background:#ededed;border:1px solid #dbdbdb;border-radius:3px}.me-favorite-page .reduction-products{margin-bottom:20px}.fav-products .favorite-products>ul{padding-bottom:20px}.fav-products .sorts{position:relative;padding:10px 35px 10px 10px;min-height:20px;line-height:20px;margin:0 10px 10px;background:#f3f3f3;border:1px solid #e6e6e6;color:#ccc}.fav-products .sorts .sort{height:20px;line-height:20px;color:#666;font-size:12px;display:inline-block}.fav-products .sorts .sort.focus{background:url(../assets/img/home/sort-select.png?v1559f4c3ccd) no-repeat 0;padding-left:18px;color:#fff}.fav-products .sorts .sort.focus a{display:inline-block;background:url(../assets/img/home/sort-select.png?v1559f4c3ccd) no-repeat 100%;font-weight:700;color:#fff}.fav-products .sorts .sep{margin:0 10px}.fav-products .sorts .has-more{margin-left:10px}.fav-products .all-sorts{display:none}.fav-products .sort-btn{position:absolute;display:block;width:19px;height:19px;line-height:19px;right:10px;top:10px;text-align:center;border:1px solid #ececec;background:#fff;cursor:pointer}.fav-products .sort-btn .iconfont{color:#000;font-size:12px}.fav-products .reduction-filter{height:30px;line-height:30px;text-align:right;font-size:12px;margin:0 10px}.fav-products .reduction-notice{float:left;color:#666}.fav-products .favorite-goods{margin:0 10px;font-size:12px}.fav-products .favorite-goods>ul{padding-bottom:20px}.fav-products .favorite-table-header .info{width:390px;padding-left:50px;text-align:left}.fav-products .favorite-table-header .price{width:200px;text-align:left}.fav-products .fav-good{position:relative}.fav-products .fav-good .thumb{width:110px;text-align:center}.fav-products .fav-good .thumb img{width:100px}.fav-products .fav-good .text-info{width:270px;line-height:16px}.fav-products .fav-good .name{color:#468fa2;display:block}.fav-products .fav-good .name:hover{text-decoration:underline}.fav-products .fav-good .has-bought{display:inline-block;width:37px;height:15px;line-height:15px;text-align:center;color:#fff;background:#418fa3;border-radius:2px}.fav-products .fav-good .has-activity{color:#666;cursor:pointer}.fav-products .fav-good .price{width:200px;padding-left:10px}.fav-products .fav-good .price>em{font-weight:700;color:#e8044f;font-size:14px}.fav-products .fav-good .price .price-down{display:block;margin-top:5px}.fav-products .fav-good .price .price-down>em{color:#e8044f}.fav-products .fav-good .price .price-down .iconfont{font-size:12px}.fav-products .fav-good .options{width:136px;text-align:center}.fav-products .fav-good .options>*{display:block}.fav-products .fav-good .options .buy-again,.fav-products .fav-good .options .buy-now{width:92px;height:30px;line-height:30px;font-size:14px;text-align:center;border-radius:4px;margin:0 auto}.fav-products .fav-good .options .buy-now{color:#fff;background:#da044a}.fav-products .fav-good .options .buy-again{color:#666;background:#ececec;border:1px solid #cecece}.fav-products .fav-good .options .price-down-clock{line-height:20px;color:#666;cursor:pointer}.fav-products .fav-good .options .sold-out{color:#666}.fav-products .fav-good .options .buy-again,.fav-products .fav-good .options .buy-now,.fav-products .fav-good .options .sold-out{margin-top:12px}.fav-products .fav-good .activites{position:absolute;left:160px;right:0;top:120px;padding:10px 0;border-top:1px dashed #ccc}.fav-products .fav-good .activites li{line-height:18px}.fav-products .fav-good .activites .type{display:inline-block;width:54px;height:14px;line-height:14px;margin-right:5px;overflow:hidden;background:#6c6c6c;border-radius:2px;color:#fff;text-align:center;vertical-align:middle}.fav-products .fav-good .activites .arrow{position:absolute;width:13px;left:20px;top:-7px;height:7px;background-image:url(../assets/img/sprite.home.png?v1559f4c4798);background-position:-48px -31px}.fav-products .fav-good:hover{background:#f3f3f3}.fav-brands .favorite-brands>ul{padding-bottom:20px}.fav-brands .favorite-table-header .name{width:190px;padding-left:50px;text-align:left}.fav-brands .favorite-table-header .col-count,.fav-brands .favorite-table-header .new-arrival{width:200px}.fav-brands .fav-brand{position:relative;font-size:12px}.fav-brands .fav-brand .thumb{width:190px}.fav-brands .fav-brand .thumb a{display:block;width:115px;padding:5px;text-align:center;border:1px solid #f4f4f4}.fav-brands .fav-brand .thumb .name{display:block;background:#f4f4f4;color:#666;line-height:18px}.fav-brands .fav-brand .thumb img{width:100px;height:100px}.fav-brands .fav-brand .col-count,.fav-brands .fav-brand .new-arrival{width:200px;text-align:center}.fav-brands .fav-brand .new-arrival{cursor:pointer}.fav-brands .fav-brand .options{width:136px;text-align:center}.fav-brands .fav-brand .brand-shop{display:block;width:92px;height:30px;line-height:30px;border:1px solid #c2c2c2;background:#ececec;text-align:center;cursor:pointer;margin:14px auto 10px;border-radius:2px;color:#666;font-size:14px}.fav-brands .fav-brand .na-list{position:absolute;left:50px;right:0;top:152px;padding:10px 0;border-top:1px dashed #ccc}.fav-brands .fav-brand .na-list .arrow{position:absolute;width:13px;left:265px;top:-7px;height:7px;background-image:url(../assets/img/sprite.home.png?v1559f4c4798);background-position:-48px -31px}.fav-brands .fav-brand .na-good{width:102px;height:165px;padding:0 15px;text-align:left}.fav-brands .fav-brand .na-good-thumb{border:1px solid #ccc;width:100px;height:100px;vertical-align:middle}.fav-brands .fav-brand .na-good-name{color:#666;line-height:14px;margin:5px 0;max-height:28px;overflow:hidden}.fav-brands .fav-brand .na-content>*{float:left}.fav-brands .fav-brand .has-no-na{text-align:center;float:none;padding:20px 183px 20px 0}.fav-brands .fav-brand .has-sale{text-decoration:line-through}.fav-brands .fav-brand .na-next,.fav-brands .fav-brand .na-pre{display:block;width:31px;height:31px;line-height:33px;text-align:center;background:#f4f4f4;border:1px solid #eee;margin-top:66px}.fav-brands .fav-brand .na-next.hidden,.fav-brands .fav-brand .na-pre.hidden{visibility:hidden}.fav-brands .fav-brand .na-goods{width:660px;height:165px;padding-top:20px;overflow:hidden}.fav-brands .fav-brand .na-goods-ul{width:2640px}.fav-brands .fav-brand .na-goods-ul>li{float:left}.fav-articles .favorite-articles>ul{padding-bottom:20px}.fav-articles .fav-article:first-child{padding-top:8px}.fav-articles .bg-img{display:block;width:146px;height:96px;backgound-size:cover;background-position:50%}.fav-articles .text-info{width:559px;padding-left:20px}.fav-articles .name{display:block;font-weight:700;font-size:14px;line-height:30px;color:#000;width:550px;word-break:keep-all;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fav-articles .name:hover{text-decoration:underline}.fav-articles .desc{color:#333;font-size:12px;line-height:24px;height:48px}.fav-articles .del-favorite{float:right;font-size:12px;cursor:pointer}.user-me-page{font-size:12px;line-height:150%}.user-me-page form{display:inline}.user-me-page strong{font-weight:700}.user-me-page .clear{zoom:1}.user-me-page .clear:after{content:".";display:block;height:0;visibility:hidden;overflow:hidden;clear:both}.user-me-page .userinfo-edit form{display:none}.user-me-page .userinfo-edit h2.title{background-image:url(../assets/img/home/edit/title-informations.png?v1559f4c3d4a)}.user-me-page .account,.user-me-page .email,.user-me-page .gift,.user-me-page .mobile,.user-me-page .userpwd{font-size:12px;line-height:150%}.user-me-page .account .title,.user-me-page .email .title,.user-me-page .gift .title,.user-me-page .mobile .title,.user-me-page .userpwd .title{position:relative}.user-me-page .account .title h2,.user-me-page .email .title h2,.user-me-page .gift .title h2,.user-me-page .mobile .title h2,.user-me-page .userpwd .title h2{height:16px;font-size:14px;font-weight:700;line-height:16px;position:absolute;top:50%;margin-top:-8px}.user-me-page .account .title h2 span,.user-me-page .email .title h2 span,.user-me-page .gift .title h2 span,.user-me-page .mobile .title h2 span,.user-me-page .userpwd .title h2 span{font-size:10px;-webkit-transform:scale(.85);display:inline-block;line-height:15px;font-weight:400;padding-left:0}.user-me-page .address{font-family:arial,Microsoft YaHei}.user-me-page .address a{color:#468fa2;text-decoration:none}.user-me-page .address .a-underline{text-decoration:underline}.user-me-page .address input[type=button]{margin-top:0}.user-me-page .address input#address{width:340px}.user-me-page .address .title{position:relative}.user-me-page .address .title h2{width:66px;height:16px;background:url(../assets/img/home/edit/title-address.png?v1559f4c3d49) no-repeat;text-indent:-999em;float:left;position:absolute;top:50%;margin-top:-8px}.user-me-page .address .main{width:798px;padding:10px 1px 1px;float:left;border:1px solid #dedede;border-radius:2px}.user-me-page .address .address-list{width:776px;margin:0 10px;display:inline;border:1px solid #e6e6e6;border-bottom:0;float:left}.user-me-page .address .address-content{width:756px;padding:10px;border-bottom:1px solid #e6e6e6;float:left}.user-me-page .address .address-content.preferred{background:#fdfcdd;color:#333}.user-me-page .address .address-detail{width:596px;float:left}.user-me-page .address .address-edit{width:150px;padding:10px 0 10px 10px;text-align:center;float:left}.user-me-page .address.block{border:none}.user-me-page .btn-c3{height:22px;background:url(../assets/img/home/edit/btn_hs.png?v1559f4c3d42) no-repeat left -66px;padding-left:8px;display:inline-block}.user-me-page .btn-c3 span{height:22px;line-height:21px;background:url(../assets/img/home/edit/btn_hs.png?v1559f4c3d42) no-repeat right -66px;padding-right:10px;display:inline-block;cursor:pointer;color:#fff}.user-me-page .btn-c2{height:22px;background:url(../assets/img/home/edit/btn_hs.png?v1559f4c3d42) no-repeat left -44px;padding-left:8px;display:inline-block}.user-me-page .btn-c2 span{height:22px;line-height:21px;background:url(../assets/img/home/edit/btn_hs.png?v1559f4c3d42) no-repeat right -44px;padding-right:10px;display:inline-block;cursor:pointer;color:#b3b3b3}.user-me-page .main-info{border-top:1px solid #ddd;padding:20px 10px 10px}.user-me-page .main-info .p1{padding-bottom:10px;font-weight:700}.user-me-page .main-info .blue2{color:#468fa2}.user-me-page .block{min-height:375px;height:auto}.user-me-page .block form#giftCardForm,.user-me-page .block form#pwdform,.user-me-page .block form.first{display:block}.user-me-page .edit-box{padding:10px 11px 11px}.user-me-page .form-group{height:30px;border:1px solid #fff;margin-bottom:2px;line-height:22px;font-size:12px;font-family:Arial,helvetica,sans-serif}.user-me-page .form-group label{width:80px;text-align:right;color:#333;float:left}.user-me-page .plain{color:#666;font-weight:700}.user-me-page .width-300{width:300px}.user-me-page .width-150{width:150px}.user-me-page .input-1{height:20px;line-height:20px;color:#333;border:1px solid #c9c9c9;background:url(../assets/img/home/edit/input_1.png?v1559f4c3d48) repeat-x #fff;vertical-align:top}.user-me-page .btn-b1{width:118px;height:34px;border:0;background:url(../assets/img/home/edit/btn_b1.png?v1559f4c3d40) no-repeat;color:#fff;font-size:14px;font-weight:700;padding-right:10px;cursor:pointer;display:inline-block;margin-top:12px;margin-left:80px}.user-me-page #btn-reset{margin-left:0}.user-me-page .tips-p{margin-left:10px;color:#999;display:inline-block}.user-me-page .box{width:778px;clear:both;padding-top:10px;margin-bottom:10px;float:left}.user-me-page .sub-title{clear:both;height:21px;line-height:21px;padding-left:23px;background:url(../assets/img/home/edit/ico_arrow2.png?v1559f4c3d45) no-repeat 5px 5px #efefef;border:1px solid #e6e6e6;font-size:12px;color:#333;font-weight:400;cursor:pointer;margin-bottom:2px}.user-me-page .sub-title .more{padding:2px 10px 0 0;float:right}.user-me-page .sub-title .btn-edit{width:37px;height:17px;background:url(../assets/img/home/edit/btn_edit.png?v1559f4c3d41) no-repeat;display:inline-block;overflow:hidden;border:0}.user-me-page .user-personal-info .user-info{width:552px;padding-right:38px;float:left}.user-me-page .user-personal-info .user-profile{width:148px;padding:18px;text-align:center;float:right;border-left:1px solid #e0e0e0}.user-me-page .user-personal-info .user-profile img{width:100px;height:100px;margin-bottom:10px}.user-me-page .user-favorite-info ul{clear:both;width:750px;padding:0 20px 0 0;float:left}.user-me-page .user-favorite-info ul li{height:22px;padding-left:20px;float:left;font-size:12px}.user-me-page .user-favorite-info .brand-box{width:725px;margin:0 0 10px 20px;display:inline;padding:5px 10px 5px 0;border:1px solid #ccc;background:#f8f8f8;color:#000}.user-me-page .user-favorite-info .brand-box li{height:22px;line-height:22px;padding:0 0 0 10px;float:left;display:inline-block;white-space:nowrap}.user-me-page .user-favorite-info .btn-del{height:20px;line-height:20px;border:0;padding-left:18px;background:url(../assets/img/home/edit/ico_del.png?v1559f4c3d46) no-repeat 0 2px;color:#468fa2;display:inline-block;overflow:hidden;text-decoration:none;vertical-align:middle}.user-me-page .user-favorite-info .btn-submit-sm{width:56px;height:20px;border:0;font-size:12px;color:#fff;line-height:20px;padding:0;margin:0;background:url(../assets/img/home/edit/btn_s1_z2.png?v1559f4c3d43) repeat-x;text-align:center;display:inline-block;cursor:pointer}.user-me-page .user-favorite-info span{color:#999;line-height:25px;display:inline-block}.user-me-page .user-favorite-info .form-group{clear:both;width:730px;padding:0 20px 5px;float:left}.user-me-page .account-row{padding:30px 0;border-bottom:1px solid #ddd}.user-me-page .account-row .content{height:32px;line-height:32px;position:relative}.user-me-page .account-row .content div{float:left;display:inline-block}.user-me-page .account-row .content .left-content{width:200px}.user-me-page .account-row .content .middle-content{width:500px}.user-me-page .account-row .content .middle-content .tip{color:#666}.user-me-page .account-row .content .middle-content .tip.red{color:#e01}.user-me-page .account-row .content .right-content{width:75px;height:20px;line-height:20px;position:absolute;top:50%;margin-top:-10px;text-align:center}.user-me-page .account-row .center{text-align:center}.user-me-page .account-row a{text-decoration:none;color:#666;outline:none}.user-me-page .account-row [class*=" icon-"],.user-me-page .account-row [class^=icon-]{height:32px;line-height:32px;vertical-align:middle;display:inline-block;padding-left:42px;margin-left:20px}.user-me-page .account-row .icon-ok{background:url(../assets/img/home/edit/icon-32.png?v1559f4c3d44) no-repeat 0 0}.user-me-page .account-row .icon-warning{background:url(../assets/img/home/edit/icon-32.png?v1559f4c3d44) no-repeat 0 -32px}.user-me-page .account-row .account-type{font-size:18px;line-height:32px;display:inline-block;padding-left:20px}.user-me-page .button-icon20{padding-left:5px;background:url(../assets/img/home/edit/btn_bg_20.png?v1559f4c3d40) no-repeat left 0;display:inline-block;cursor:pointer}.user-me-page .button-icon20 i{font-style:normal;background:url(../assets/img/home/edit/btn_bg_20.png?v1559f4c3d40) repeat-x left -20px;display:inline-block;height:20px;line-height:20px;text-align:center}.user-me-page .button-sliver20 i{background-position:left -80px;width:52px}.user-me-page .button-icon20 span{background:url(../assets/img/home/edit/btn_bg_20.png?v1559f4c3d40) no-repeat right -40px;display:inline-block;padding-right:5px}.user-me-page .button-sliver20 span{background-position:right -100px}.user-me-page .button-sliver20{background-position:left -60px}.user-me-page .gift-box{padding:10px 11px 11px}.user-me-page .gift-box h2{height:16px;font-size:14px;font-weight:700;line-height:16px}.user-me-page .gift-box li{font-size:12px;font-family:arial,Microsoft YaHei;margin-bottom:25px}.user-me-page .gift-box .gift-input{width:60px;height:20px;line-height:20px;color:#333;border:1px solid #c9c9c9;background:url(../assets/img/home/edit/input_1.png?v1559f4c3d48) repeat-x #fff}.user-me-page .gift-box .gift-error{color:red;margin-left:10px}.user-me-page .gift-box #imgcode{border:0;vertical-align:middle;outline:none;cursor:pointer}.user-me-page .gift-box .check-img{color:#468fa2;text-decoration:underline}.user-me-page .gift-box .btn-b1{margin:0}.user-me-page .form-error{background:url(../assets/img/home/onError.png?v1559f4c3cbc) no-repeat 5px 9px #fff2e8;color:#e8044f}.user-me-page .form-error,.user-me-page .form-success{padding-left:25px;padding-right:5px;font-size:12px;line-height:30px;height:30px;display:inline-block;margin-left:5px}.user-me-page .form-success{background:url(../assets/img/home/onCorrect.png?v1559f4c3cbb) no-repeat 5px 9px #e9ffeb;color:green}.user-me-page .form-focus,.user-me-page .form-prompt{background:url(../assets/img/home/onShow.png?v1559f4c3cbc) no-repeat 5px 9px;padding-left:25px;font-size:12px;line-height:30px;height:30px;display:inline-block;color:#999}.user-me-page .form-focus{background:url(../assets/img/home/onShow.png?v1559f4c3cbc) no-repeat 5px 9px #e9f0ff;color:#666}.user-me-page .add-address{width:778px;padding:10px 0;float:left}.user-me-page .add-address h2{clear:both;height:21px;line-height:21px;padding-left:23px;margin-left:10px;background:url(../assets/img/home/edit/ico_arrow2.png?v1559f4c3d45) no-repeat 5px 5px #efefef;border:1px solid #e6e6e6;font-size:12px;color:#333;font-weight:400}.user-me-page .add-address .form-group{width:130%}.user-me-page .add-address .add-address-detail{padding:10px 0}.user-me-page .add-address .add-address-detail .form-info{vertical-align:middle;line-height:22px;height:22px;background-position:5px 5px}.user-me-page .add-address #btnReset{margin-left:0}.user-me-page .gift-fail,.user-me-page .gift-ok{padding:50px 260px;height:310px;display:block}.user-me-page .gift-fail h3,.user-me-page .gift-ok h3{font-size:18px;height:22px;line-height:25px;padding-left:25px;color:#000;background:url(../assets/img/home/edit/ico_i_sf.png?v1559f4c3d47) no-repeat}.user-me-page .gift-fail .fail,.user-me-page .gift-ok .fail{background-position:0 -22px}.user-me-page .gift-fail .input-again,.user-me-page .gift-ok .input-again{text-decoration:underline;color:#c4153a}.user-me-page .gift-fail .input-again:active,.user-me-page .gift-fail .input-again:hover,.user-me-page .gift-ok .input-again:active,.user-me-page .gift-ok .input-again:hover{color:#c4153a}.user-me-page .gift-fail .success,.user-me-page .gift-ok .success{background-position:0 0}.user-me-page .gift-fail .currency-info,.user-me-page .gift-ok .currency-info{margin-top:20px;padding-left:25px}.user-me-page .gift-fail .gift-red,.user-me-page .gift-ok .gift-red{color:#bc0029;font-size:16px;font-weight:700;margin-left:5px}.user-me-page .gift-fail .yoho-currency,.user-me-page .gift-ok .yoho-currency{font-size:16px;font-weight:700;color:#3e3e3e}.user-me-page .check-safe{padding:10px 11px 11px;height:auto;overflow:hidden}.user-me-page .check-safe .form-success{background:url(../assets/img/home/onCorrect.png?v1559f4c3cbb) no-repeat 5px 9px}.user-me-page .check-safe .progress-bar{width:780px;height:24px}.user-me-page .check-safe .progress-bar li{float:left;width:260px;color:#666;text-align:center;height:24px;line-height:24px}.user-me-page .check-safe .progress-bar li.cur{color:#fff}.user-me-page .check-safe .progress1{background:url(../assets/img/home/edit/icon-bar.png?v1559f4c3d44) no-repeat}.user-me-page .check-safe .progress2{background:url(../assets/img/home/edit/icon-bar.png?v1559f4c3d44) no-repeat 0 -24px}.user-me-page .check-safe .progress3{background:url(../assets/img/home/edit/icon-bar.png?v1559f4c3d44) no-repeat 0 -48px}.user-me-page .check-safe input[type=password],.user-me-page .check-safe input[type=text]{height:28px;border:1px solid #bebebe;line-height:28px;padding:0 5px}.user-me-page .check-safe .form-nav{padding:30px 0}.user-me-page .check-safe .form-nav ul{width:690px;margin:0 auto}.user-me-page .check-safe .form-nav li{padding:10px 0;float:left}.user-me-page .check-safe .form-nav .safe-form-l{float:left;width:220px;line-height:30px;padding:0 5px;text-align:right}.user-me-page .check-safe .form-nav .safe-form-r{width:422px;line-height:30px;float:left}.user-me-page .check-safe .form-nav .input-text{width:208px}.user-me-page .check-safe .form-nav .input-code{width:54px;margin-right:5px}.user-me-page .check-safe .form-nav #the-code-img{border:0;vertical-align:middle;outline:none;height:30px;cursor:pointer}.user-me-page .check-safe .form-nav .change-code{height:30px;padding:0 0 0 5px;line-height:15px;display:inline-block;vertical-align:middle;color:#666}.user-me-page .check-safe .form-nav .the-code{color:#468fa2}.user-me-page .check-safe .form-nav .btn-b1{margin:0}.user-me-page .check-safe .form-nav .check-info{display:inline-block;vertical-align:top}.user-me-page .check-safe .form-nav .input-error{border:2px solid #e8044f;height:26px;padding:0 4px}.user-me-page .feedback dt{height:20px;line-height:20px;background:url(../assets/img/home/suggest-icon.png?v1559f4c3ccf) no-repeat 2px 3px;padding:0 0 0 20px;float:left;font-family:arial,Microsoft YaHei;font-size:12px}.user-me-page .feedback dt a{color:#468fa2}.user-me-page .feedback dd{float:right}.user-me-page .button-top{width:66px;height:22px;padding-left:10px;line-height:21px;border:0;text-align:center;background:url(../assets/img/home/btn_top.png?v1559f4c3ca0) no-repeat;color:#666;font-size:12px;cursor:pointer;display:inline-block}.user-me-page .rgb6{color:#666}.user-me-page .font14{font-size:14px}.user-me-page .button-icon{padding-left:5px;background:url(../assets/img/home/button-icon.png?v1559f4c3ca1) no-repeat left 0;display:inline-block;cursor:pointer}.user-me-page .button-icon i{font-style:normal;background:url(../assets/img/home/button-icon.png?v1559f4c3ca1) repeat-x left -33px;display:inline-block;height:33px;line-height:33px;text-align:center}.user-me-page .button-icon span{background:url(../assets/img/home/button-icon.png?v1559f4c3ca1) no-repeat right -66px;display:inline-block;padding-right:5px}.user-me-page .button-red{background-position:left -99px;color:#fff}.user-me-page .button-red i{background-position:left -134px;width:120px}.user-me-page .button-red i .btn-jt{background:url(../assets/img/home/btn-jt.png?v1559f4c3c9e) no-repeat;width:5px;height:8px;display:inline-block;margin-left:10px}.user-me-page .button-red span{background-position:right -169px}.user-me-page .button-sliver i{width:100px;color:#666}.user-me-page .result-email,.user-me-page .result-info{padding:30px 0;min-height:360px;width:616px;margin:0 auto;text-align:center}.user-me-page .result-email p,.user-me-page .result-info p{line-height:24px}.user-me-page .result-email .info-detail,.user-me-page .result-info .info-detail{margin-top:20px;text-align:left}.user-me-page .result-email .button-icon,.user-me-page .result-info .button-icon{margin-top:20px}.user-me-page .result-email{text-align:left;width:400px}.user-me-page .res-info{height:24px;line-height:51px;padding-left:28px;font-size:20px;color:#000;line-height:24px;display:inline-block}.user-me-page .res-success{background:url(../assets/img/home/icon-24.png?v1559f4c3cb7) no-repeat}.user-me-page .res-error{background:url(../assets/img/home/icon-24.png?v1559f4c3cb7) no-repeat 0 -24px;color:red}.returns-me-page .returns .title{background-image:url(../assets/img/home/returns.png?v1559f4c3ccc)}.returns-me-page .operation,.returns-me-page .return-status,.returns-me-page .time{width:100px;border-left:1px solid #e6e6e6}.returns-me-page .return-type{width:80px;border-left:1px solid #e6e6e6}.returns-me-page .order-table-header{padding:0;margin:10px;border:1px solid #e6e6e6}.returns-me-page .order-table-header>span{text-align:center;border-left:none}.returns-me-page .order-table-header .info{width:384px;padding-left:10px;text-align:left}.returns-me-page .order-wrap li{border-top:none}.returns-me-page .order-wrap li .info{width:384px;padding:5px 0 5px 10px}.returns-me-page .order-wrap li .text-info{width:300px;right:0;bottom:15px}.returns-me-page .order-wrap li .text-info .name{max-width:300px}.returns-me-page .order-wrap li .text-info .name:hover{text-decoration:underline}.detail-me-page{font-size:12px}.detail-me-page .returns-detail .title{background-image:url(../assets/img/home/returns.png?v1559f4c3ccc)}.detail-me-page .order-info{background:#efefef;padding:10px}.detail-me-page .order-info span{color:#468fa2;margin:0 8px}.detail-me-page .visual-return-state{margin:40px auto;height:40px;width:560px;background:url(../assets/img/home/exchange-bg.png?v1559f4c3cae) no-repeat top}.detail-me-page .visual-return-state li{width:112px;padding:20px 0 0;text-align:center;float:left}.detail-me-page .visual-return-state .act{background:url(../assets/img/home/detail-act.png?v1559f4c3cac) no-repeat top}.detail-me-page .detail-container{padding:10px}.detail-me-page .detail-container h2{height:21px;line-height:21px;padding-left:23px;background:url(../../../img/home/complaint-icon.png?v154be17d15d) no-repeat 5px 5px #efefef;border:1px solid #e6e6e6;font-size:12px;color:#333;font-weight:400;margin-bottom:10px}.detail-me-page .detail-container .courier-code{margin:60px auto;text-align:center}.detail-me-page .detail-container .courier-code .express-edit-box{display:none}.detail-me-page .detail-container .courier-code button{padding:5px 15px}.detail-me-page .detail-container .in-edit .express-view-box{display:none}.detail-me-page .detail-container .in-edit .express-edit-box{display:block}.detail-me-page .detail-container .main-detail table{width:100%}.detail-me-page .detail-container .main-detail table tr{border:1px solid #e6e6e6}.detail-me-page .detail-container .main-detail table td{text-align:left;padding:8px 10px;border:none;color:#333}.detail-me-page .detail-container .word-h{display:none}.detail-me-page .detail-container .refund-tips{color:#999;margin-top:10px;margin-bottom:40px}.detail-me-page .exchange-detail .word-t{display:none}.detail-me-page .exchange-detail .word-h{display:inline-block}.detail-me-page .exchange-detail .refund-tips span{display:none}.apply-returns-page{font-size:12px}.apply-returns-page .title{background-image:url(../assets/img/home/refund-apply.png?v1559f4c3cc7)}.apply-returns-page .exchange .title{background-image:url(../assets/img/home/exchange-apply.png?v1559f4c3cad)}.apply-returns-page select{width:85px;font-size:12px;outline:none}.apply-returns-page .apply-container{padding:10px}.apply-returns-page .apply-container .return-prompt{padding:20px;border:1px solid #e6e6e6;margin-bottom:10px;line-height:21px;color:#333}.apply-returns-page .apply-container .return-prompt span{color:red}.apply-returns-page .apply-container .return-prompt .footwear-tip{height:142px;line-height:18px;margin-top:20px;padding-left:536px;background:url(../assets/img/home/footwear-tips.jpg?v1559f4c3cb3) no-repeat}.apply-returns-page .apply-container .return-prompt .footwear-tip span{color:#666}.apply-returns-page .apply-container .return-prompt .footwear-tip span:first-child{display:block;margin-bottom:15px}.apply-returns-page .apply-container h2{height:21px;line-height:21px;padding-left:23px;background:url(../assets/img/home/complaint-icon.png?v1559f4c3ca5) no-repeat 5px 5px #efefef;border:1px solid #e6e6e6;font-size:12px;color:#333;font-weight:400}.apply-returns-page .apply-container .goods-list-table{width:100%;margin-bottom:10px}.apply-returns-page .apply-container .goods-list-table tr{border:1px solid #e6e6e6;height:18px;line-height:18px}.apply-returns-page .apply-container .goods-list-table tr th{text-align:center;background:#efefef;padding:5px;color:#333}.apply-returns-page .apply-container .goods-list-table tr th:first-child{text-align:left}.apply-returns-page .apply-container .goods-list-table tr td{color:#666;padding:5px}.apply-returns-page .apply-container .goods-list-table .return-goods-info>*{display:block}.apply-returns-page .apply-container .goods-list-table .return-goods-info a{color:#468fa2;text-decoration:none;max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.apply-returns-page .apply-container .goods-list-table .return-goods-info span{color:#999}.apply-returns-page .apply-container .goods-list-table .exchange-choose-wrap{width:185px;border:1px solid #e6e6e6;text-align:center}.apply-returns-page .apply-container .goods-list-table .exchange-choose-wrap p{line-height:29px}.apply-returns-page .apply-container .goods-list-table .exchange-choose-wrap select{width:85px}.apply-returns-page .apply-container .goods-list-table .refund-price{width:185px;color:#666;font-weight:700;text-align:center}.apply-returns-page .apply-container .goods-list-table .return-reason-wrap{width:200px;text-align:center}.apply-returns-page .apply-container .goods-list-table .return-reason-wrap select{width:190px}.apply-returns-page .apply-container .goods-list-table .return-reason-wrap label{color:#999;padding:4px 20px;background:#f5f5f5;border:1px solid #dadada}.apply-returns-page .apply-container .goods-list-table .border-style{border:1px solid #e6e6e6}.apply-returns-page .apply-container .goods-list-table .ex-tips,.apply-returns-page .apply-container .goods-list-table .re-tips{text-align:left;padding-left:10px;color:#666}.apply-returns-page .apply-container .goods-list-table .problem-description{display:none}.apply-returns-page .apply-container .goods-list-table .problem-description .left-title{width:160px;text-align:right;padding-right:15px}.apply-returns-page .apply-container .goods-list-table .problem-description .left-title .red-icon{color:red}.apply-returns-page .apply-container .goods-list-table .problem-description textarea{width:545px;height:75px;max-width:545px;max-height:300px;padding:5px;border:1px solid #ccc}.apply-returns-page .apply-container .goods-list-table .problem-description .up-image-tips{width:545px;background:#f5f5f5;border:1px solid #ccc;margin-bottom:15px;padding:3px 5px}.apply-returns-page .apply-container .goods-list-table .problem-description .up-image-list li{float:left;width:126px;height:126px;border:1px solid #ccc;padding:2px;display:inline-block;vertical-align:bottom;margin:0 0 10px 10px;background:url(../assets/img/home/up-pic-back.png?v1559f4c3cd3) no-repeat;position:relative}.apply-returns-page .apply-container .goods-list-table .problem-description .up-image-list li:first-child{margin-left:0}.apply-returns-page .apply-container .goods-list-table .problem-description .up-image-list .btn-del{padding:8px;background:url(../assets/img/home/del-icon.png?v1559f4c3cab) no-repeat;color:#468fa2;display:inline-block;position:absolute;right:-1px;z-index:5;cursor:pointer}.apply-returns-page .apply-container .goods-list-table .problem-description .swfupload{background:#000}.apply-returns-page .apply-container .goods-list-table .problem-description .btn_upload_text{font-family:SimHei;font-size:16px;font-weight:700}.apply-returns-page .apply-container .refund-detail{padding-top:20px;text-align:center}.apply-returns-page .apply-container .refund-detail p{margin-bottom:25px}.apply-returns-page .apply-container .refund-detail p input[type=radio]{vertical-align:middle;margin:0 5px 0 40px}.apply-returns-page .apply-container .refund-detail .refund-pay-info p{height:23px;line-height:22px;padding-top:11px;color:#666;background:url(../assets/img/home/refund_tips.png?v1559f4c3cc9) no-repeat;display:none}.apply-returns-page .apply-container .refund-detail .refund-pay-info tr{display:none}.apply-returns-page .apply-container .refund-detail .refund-pay-info .type-yoho-tips{width:515px;margin-left:160px}.apply-returns-page .apply-container .refund-detail .refund-pay-info .type-bank-tips{width:290px;margin-left:260px;background-position:0 -35px}.apply-returns-page .apply-container .refund-detail .refund-pay-info .type-alipay-tips{width:290px;margin-left:260px;background-position:0 -70px}.apply-returns-page .apply-container .refund-detail .refund-pay-table{width:100%;margin-bottom:25px}.apply-returns-page .apply-container .refund-detail .refund-pay-table td{padding:5px 0 5px 5px}.apply-returns-page .apply-container .refund-detail .refund-pay-table tr td:first-child{width:310px;text-align:right}.apply-returns-page .apply-container .exchange-detail{padding:30px}.apply-returns-page .apply-container .exchange-detail dt{font-weight:700;font-size:14px;color:#333;margin:10px 0}.apply-returns-page .apply-container .exchange-detail dd{padding:10px 5px}.apply-returns-page .apply-container .exchange-detail dd input[type=radio]{margin-left:50px;margin-top:0;vertical-align:middle}.apply-returns-page .apply-container .exchange-detail dd input[type=radio]:first-child{margin-left:0}.apply-returns-page .apply-container .exchange-detail dd>label{line-height:20px;width:100px;float:left;display:block}.apply-returns-page .apply-container .exchange-detail dd>label span{color:red}.apply-returns-page .apply-container .submit-box{text-align:center;margin-bottom:30px}.apply-returns-page .apply-container .submit-box .save-btn{width:138px;height:34px;border:0;background:url(../assets/img/home/submit-btn.png?v1559f4c3cce) no-repeat;color:#fff;font-size:14px;font-weight:700;padding-right:20px;cursor:pointer;display:inline-block;outline:none}.apply-returns-page .apply-container .submit-box .wait-gif{width:138px;height:34px;line-height:34px;font-size:14px;color:#8c8686;background:url(../assets/img/home/return-waiting.png?v1559f4c3ccb) no-repeat top;vertical-align:top;display:none}.apply-returns-page .apply-container .submit-box .wait-gif span{display:inline-block;width:32px;text-align:left;padding-left:4px}.apply-returns-page .apply-container .applying .save-btn{display:none}.apply-returns-page .apply-container .applying .wait-gif{display:inline-block}.save-returns-page .title{background-image:url(../assets/img/home/refund-apply.png?v1559f4c3cc7)}.save-returns-page .exchange .title{background-image:url(../assets/img/home/exchange-apply.png?v1559f4c3cad)}.save-returns-page .save-container{padding:10px}.save-returns-page .save-container h2{height:21px;line-height:21px;padding-left:23px;background:url(../assets/img/home/complaint-icon.png?v1559f4c3ca5) no-repeat 5px 5px #efefef;border:1px solid #e6e6e6;font-size:12px;color:#333;font-weight:400}.save-returns-page .save-container .save-prompt{width:527px;margin:0 auto;padding:100px 0}.save-returns-page .save-container .save-prompt h1{font-size:30px;color:#9c0;margin-bottom:20px;font-weight:700;background:url(../assets/img/home/return-success-icon.png?v1559f4c3cca) no-repeat;cursor:pointer;display:inline-block;height:31px;line-height:31px;padding-left:45px}.save-returns-page .save-container .save-prompt p{font-size:12px;color:#999;line-height:23px}.save-returns-page .save-container .save-prompt p span{color:#9c0}.save-returns-page .save-container .save-prompt .retund-address{font-size:15px;font-weight:700;color:#333;margin-bottom:15px}.save-returns-page .save-container .save-prompt .backto-center{margin-top:30px}.save-returns-page .save-container .save-prompt .backto-center label{width:174px;height:35px;line-height:33px;font-size:14px;font-weight:700;color:#fff;text-align:center;display:inline-block;background:url(../assets/img/home/back-returns-btn.png?v1559f4c3c9c) no-repeat;cursor:pointer}.save-returns-page .save-container .save-prompt .backto-center a:first-child{margin-right:15px}.save-returns-page .save-container .save-prompt .backto-center a:first-child label{background:url(../assets/img/home/back-orders-btn.png?v1559f4c3c9b) no-repeat}.consult-me-page{font-size:12px}.consult-me-page .consult .title{background-image:url(../assets/img/home/consult.png?v1559f4c3ca9)}.consult-me-page .consults{margin:10px}.consult-me-page .consults-table{width:100%;border:1px solid #e6e6e6}.consult-me-page .consults-table th{height:28px;line-height:28px;background:#efefef;padding:0 5px}.consult-me-page .consults-table td{color:#666;border-top:1px solid #e6e6e6;padding:5px;line-height:18px}.consult-me-page .consults-table td .thumb{width:60px;height:60px}.consult-me-page .consults-table td a{color:#468fa2;text-decoration:none}.consult-me-page .consults-table td a:hover{text-decoration:underline}.consult-me-page .consults-table td p{padding-left:20px;margin-top:5px;color:#999;word-break:break-all;overflow:hidden}.consult-me-page .consults-table td .question{color:#e9034e;background:url(../assets/img/home/consult-wd.png?v1559f4c3ca8) no-repeat -13px 2px}.consult-me-page .consults-table td .reply{color:#390;background:url(../assets/img/home/consult-wd.png?v1559f4c3ca8) no-repeat 0 -25px}.comment-me-page .comment .title{background-image:url(../assets/img/home/comment.png?v1559f4c3ca4)}.comment-me-page .me-comment{padding:10px;font-size:12px;line-height:18px}.comment-me-page .main-tip span{color:#e8044f}.comment-me-page .comment-table-header{padding:0;margin-top:10px}.comment-me-page .comment-table-header .info{width:260px}.comment-me-page .comment-table-header .time{width:415px;border-left:1px solid #e6e6e6;border-right:1px solid #e6e6e6}.comment-me-page .comment-table-header .type{width:98px}.comment-me-page .comment-table{width:100%;margin-top:10px}.comment-me-page .comment-table tr{border:1px solid #e6e6e6}.comment-me-page .comment-table tr th{background:#efefef;padding:5px}.comment-me-page .comment-table tr td{color:#666;padding:5px;text-align:center}.comment-me-page .comment-table tr a{color:#468fa2;text-decoration:none}.comment-me-page .comment-table tr .remarked{color:#e8044f}.comment-me-page .comment-table tr .remark-btn{width:69px;height:22px;line-height:21px;border:0;background:url(../assets/img/home/remark-btn.png?v1559f4c3cca) no-repeat;cursor:pointer;color:#fff;outline:none}.comment-me-page .comment-table .remark-content{width:405px;border:1px solid #e6e6e6;word-break:break-all}.comment-me-page #comment-dialog-widget{position:absolute;padding:5px;border:1px solid #999;background:#fff;border-radius:4px;z-index:15}.comment-me-page #comment-dialog-widget .dialog-titlebar{height:16px;cursor:move}.comment-me-page #comment-dialog-widget .dialog-titlebar .dialog-close-btn{float:right;width:46px;height:16px;background:url(../assets/img/home/openbox_close.png?v1559f4c3cbd) no-repeat 0 0;cursor:pointer}.comment-me-page #comment-dialog-widget .dialog-titlebar .dialog-close-btn:hover{background-position:0 -16px}.comment-me-page #comment-dialog-widget .dialog-content{padding:3px 30px}.comment-me-page #comment-dialog-widget .dialog-content dl{display:table-row}.comment-me-page #comment-dialog-widget .dialog-content dd{display:table-cell;vertical-align:top;font-size:13px;line-height:15px}.comment-me-page #comment-dialog-widget .dialog-content textarea{width:390px;height:80px;max-width:390px;max-height:240px;background:url(../assets/img/home/input-back.png?v1559f4c3cb7) repeat-x;font-family:Trebuchet MS,Tahoma,Verdana,Arial,sans-serif}.comment-me-page #comment-dialog-widget .dialog-buttons{padding-right:30px}.comment-me-page #comment-dialog-widget .dialog-buttons button{color:#666;float:right;padding:8px 15px;margin-left:5px;border:1px solid #aaa;border-radius:3px;background-color:#f2f2f2;outline:none}.comment-me-page #comment-dialog-widget .dialog-buttons .dialog-save-btn{color:#fff;font-weight:700;border-color:#b5023d;background-color:#da0249}.complaint-me-page{font-size:12px}.complaint-me-page .complaint .title{background-image:url(../assets/img/home/complaints.png?v1559f4c3ca7)}.complaint-me-page .me-complaints{padding:10px 10px 0}.complaint-me-page .me-complaints .empty-tip{padding:100px 0}.complaint-me-page .me-complaints .complaints-table-header{margin-bottom:10px}.complaint-me-page .me-complaints .complaint-item{padding:10px;border:1px solid #e6e6e6;margin-bottom:5px;color:#999;line-height:18px}.complaint-me-page .me-complaints .complaint-item .question{color:#e9034e;background:url(../assets/img/home/complaints-sd.png?v1559f4c3ca6) no-repeat -13px 2px}.complaint-me-page .me-complaints .complaint-item .reply{color:#390;background:url(../assets/img/home/complaints-sd.png?v1559f4c3ca6) no-repeat 0 -25px}.complaint-me-page .me-complaints .complaint-item .cancel-btn{width:68px;line-height:23px;text-align:center;color:#fff;background:url(../assets/img/home/remark-btn.png?v1559f4c3cca) no-repeat;display:inline-block;cursor:pointer}.complaint-me-page .me-complaints .complaint-item>div{display:inline-block;vertical-align:top}.complaint-me-page .me-complaints .info{width:280px;color:#000;text-align:left}.complaint-me-page .me-complaints .content{width:340px;text-align:left}.complaint-me-page .me-complaints .content p{padding-left:20px;margin-top:5px}.complaint-me-page .complaint-form{padding:10px}.complaint-me-page .complaint-form h2{clear:both;height:21px;line-height:21px;padding-left:23px;background:url(../assets/img/home/complaint-icon.png?v1559f4c3ca5) no-repeat 5px 5px #efefef;border:1px solid #e6e6e6;font-size:12px;color:#333;font-weight:400}.complaint-me-page .complaint-form .form-content{font-size:12px;padding:7px 0}.complaint-me-page .complaint-form .form-content dl{padding:7px 5px;line-height:22px}.complaint-me-page .complaint-form .form-content dt{width:75px;color:#333;text-align:right;float:left}.complaint-me-page .complaint-form .form-content dd>input{width:150px;height:18px;line-height:18px}.complaint-me-page .complaint-form .form-content dd>input,.complaint-me-page .complaint-form .form-content dd>textarea{color:#333;border:1px solid #c9c9c9;background:url(../assets/img/home/input-back.png?v1559f4c3cb7) repeat-x;vertical-align:top}.complaint-me-page .complaint-form .form-content dd>textarea{width:400px;height:80px;max-width:500px;max-height:320px;overflow:auto}.complaint-me-page .complaint-form .form-submit>input{width:138px;height:34px;margin-left:80px;border:0;background:url(../assets/img/home/submit-btn.png?v1559f4c3cce) no-repeat;color:#fff;font-size:14px;font-weight:700;text-align:center;padding-right:20px;cursor:pointer;display:inline-block}.message-me-page .message .title{background-image:url(../assets/img/home/message.png?v1559f4c3cb9)}.message-me-page .message-table-header{font-size:12px}.message-me-page .message-table-header .sender{width:118px;padding-left:38px;text-align:left}.message-me-page .message-table-header .heading{width:408px;text-align:left}.message-me-page .message-table-header .time{width:130px}.message-me-page .message-table-header .action{padding-left:10px;width:66px}.message-me-page .message-list{padding:10px;font-size:12px}.message-me-page .message-list table{width:100%;line-height:38px}.message-me-page .message-list table tr{color:#999;border:1px solid #e6e6e6}.message-me-page .message-list table tr td{text-align:center}.message-me-page .message-list table tr input{vertical-align:middle;margin:0}.message-me-page .message-list table tr .del-btn{color:#468fa2;text-decoration:none;cursor:pointer}.message-me-page .message-list table .list-foot{background:#f8f8f8}.message-me-page .message-list table .list-foot button{float:left;line-height:18px;padding:2px 10px;border:1px solid #ccc;border-radius:2px;cursor:pointer;outline:none}.message-me-page .message-list table .list-foot .del-choose-btn{background:#da044a;border-color:#cc0345;margin-right:10px;color:#fff}.message-me-page .message-list table .list-foot .read-choose-btn{background:#ddd;color:#b3b3b3}.message-me-page .message-list table .list-foot .has-new{background:#3797af;border-color:#147e98;color:#fff}.message-me-page .message-list table .td-sender{width:110px;color:#666;text-align:left;white-space:nowrap;overflow:hidden}.message-me-page .message-list table .td-title{width:410px;padding-left:10px;color:#666;text-align:left;white-space:nowrap;overflow:hidden}.message-me-page .message-list table .new-msg{background:#f0f5f8;border-bottom:1px solid #becfd3}.message-me-page .message-list table .new-msg .td-sender a,.message-me-page .message-list table .new-msg .td-title a{font-weight:700;color:#468fa2}.content-message-page .title{background-image:url(../assets/img/home/message.png?v1559f4c3cb9)}.content-message-page .title .back-list{font-size:12px;float:right;width:67px;height:22px;line-height:22px;margin-top:9px;padding-right:4px;text-align:center;color:#fdfdfd;display:inline-block;background:url(../assets/img/home/btn-more.png?v1559f4c3c9f) no-repeat;cursor:pointer}.content-message-page .text-container{font-size:12px;line-height:18px;padding:20px}.content-message-page .text-container .text-title{margin-bottom:10px;padding-bottom:10px;border-bottom:1px dashed #999}.content-message-page .text-container .text-title span{color:#999}.content-message-page .text-container .coupon-item{display:table-row}.content-message-page .text-container .coupon-item>div{padding:10px 0;display:table-cell;vertical-align:middle}.content-message-page .text-container .coupon-item img{vertical-align:middle}.content-message-page .text-container .coupon-item a{width:90px;height:30px;line-height:30px;text-align:center;color:#b3b3b3;font-size:14px;background-color:#ddd;border:1px solid #ccc;border-radius:4px;display:inline-block;cursor:pointer}.content-message-page .text-container .coupon-item .coupon-img{width:160px;text-align:center}.content-message-page .text-container .coupon-item .coupon-info{width:470px;line-height:20px}.content-message-page .text-container .coupon-item .pick-coupon-btn,.content-message-page .text-container .coupon-item .view-coupon-btn{color:#fff;background:#da044a;border-color:#cc0345;display:inline-block}.content-message-page .text-container .sale-img{margin-bottom:15px;overflow:hidden}.content-message-page .text-container .sale-img img{vertical-align:top}.content-message-page .text-container .sale-btn{color:#fff;padding:0 10px;background:#e1044b;margin-top:15px;border:1px solid #c10241;border-radius:2px;display:inline-block;cursor:pointer}.vip-me-page .title{background-image:url(../assets/img/home/vip-img/vip-title.png?v1559f4c3d52)}.vip-me-page .vip-level{clear:both;overflow:hidden}.vip-me-page .level{margin:20px 15px 0 40px;line-height:31px;float:left;clear:both;font-size:14px;color:#000}.vip-me-page .vipimg1{background-image:url(../assets/img/home/vip-img/silver-vip.png?v1559f4c3d4d)}.vip-me-page .vipimg1,.vip-me-page .vipimg2{margin-top:20px;width:138px;height:31px;float:left}.vip-me-page .vipimg2{background-image:url(../assets/img/home/vip-img/gold-vip.png?v1559f4c3d4b)}.vip-me-page .vipimg3{margin-top:20px;width:138px;height:31px;float:left;background-image:url(../assets/img/home/vip-img/platinum-vip.png?v1559f4c3d4c)}.vip-me-page .favimg{float:left;width:645px;margin-top:20px;overflow:hidden}.vip-me-page .list{width:145px;float:left;margin:0 10px 8px 0}.vip-me-page .imgsrc{width:25px;float:left;margin-top:5px}.vip-me-page .fav-font{line-height:31px;font-size:12px;margin-left:30px;color:#000}.vip-me-page .year-amount{float:left;width:600px;margin-top:20px}.vip-me-page .amount{float:left}.vip-me-page .amount,.vip-me-page .ps{font-size:14px;font-weight:700;line-height:31px}.vip-me-page .ps{margin-left:30px}.vip-me-page .plalevel{margin-top:7px;width:160px;height:21px;background-image:url(../assets/img/home/vip-img/platinum.png?v1559f4c3d4d)}.vip-me-page .amount-length{width:400px;height:15px;margin-bottom:5px}.vip-me-page .img-length{width:293px;height:12px;background-color:#e0e0e0}.vip-me-page .amount-left{width:298px;height:12px;overflow:hidden;float:left}.vip-me-page .img-left{height:12px;background-color:#cda16c;z-index:7;float:left}.vip-me-page .img-right{width:5px;height:12px;float:left;z-index:7;background-image:url(../assets/img/sprite.home.png?v1559f4c4798);background-position:-39px -24px;margin-left:-5px}.vip-me-page .letter{width:100px;font-size:12px;margin-left:303px;line-height:10px;margin-bottom:2px}.vip-me-page .change-img0{width:293px;height:18px;background-image:url(../assets/img/home/vip-img/vip-change1.png?v1559f4c3d4f)}.vip-me-page .change-img1{width:293px;height:18px;background-image:url(../assets/img/home/vip-img/vip-change2.png?v1559f4c3d50)}.vip-me-page .change-img2{width:293px;height:18px;background-image:url(../assets/img/home/vip-img/vip-change3.png?v1559f4c3d51)}.vip-me-page .balance{margin-top:7px;font-size:13px;font-weight:700;margin-bottom:10px}.vip-me-page .balance p{float:left}.vip-me-page .balance a{color:red;margin-left:10px;float:left}.vip-me-page .history{margin-top:10px;clear:both;overflow:hidden}.vip-me-page .hisamout{margin-left:10px}.vip-me-page .line{clear:both;width:703px;height:1px;margin-bottom:5px;margin-left:40px;margin-top:25px;background-color:#e8e8e8;overflow:hidden}.vip-me-page .valid{overflow:hidden}.vip-me-page .valid-time{clear:both;width:720px;height:175px;margin-left:40px;position:relative;font-size:14px}.vip-me-page .time1{float:left;width:135px;height:135px;border-right:2px dashed #000}.vip-me-page .time1-img{margin-top:95px;width:130px;height:33px;background-image:url(../assets/img/home/vip-img/time1.png?v1559f4c3d4e)}.vip-me-page .time2{width:129px}.vip-me-page .time2,.vip-me-page .time3{float:left;height:175px;border-right:2px dashed #000}.vip-me-page .time3{width:354px}.vip-me-page .time4{float:left;width:90px;height:155px}.vip-me-page .time-top{display:block;font-size:13px;margin-top:10px;margin-left:10px;line-height:18px}.vip-me-page .time-top span{font-weight:700}.vip-me-page .time-top a{color:red}.vip-me-page .time2-img{margin-top:47px;width:131px;height:33px;background-color:#ecdbca}.vip-me-page .time-left{float:left;display:block;font-size:13px;margin-top:10px;margin-left:10px;line-height:18px}.vip-me-page .time-left span{font-weight:700}.vip-me-page .time-right{float:right;display:block;font-size:13px;margin-top:10px;margin-right:10px;line-height:18px}.vip-me-page .time-right span{font-weight:700}.vip-me-page .time3-img{color:#fff;line-height:33px;margin-top:93px;width:356px;height:33px;background-color:#cda16d;text-align:center}.vip-me-page .time4-img{margin-top:65px;width:62px;height:33px;border-color:#ecdbca #fff transparent transparent;border-style:solid solid dashed dashed;border-width:33px 20px 0 0}.vip-me-page .doubt{margin-left:40px;margin-bottom:25px;margin-top:20px;font-size:14px}.vip-me-page .doubt a{float:right;margin-right:55px}.vip-me-page .tell{color:red}.vip-me-page .time-line{position:absolute;width:703px;height:2px;background-color:#e8e8e8;margin-top:65px}.help-page{width:990px;font-size:12px;margin:0 auto 20px}.help-page .path-nav{padding:11px 0;border-bottom:0;padding-left:25px;background:url(../assets/img/help/home-icon.png?v1559f4c3c98) no-repeat 0 12px}.help-page .left-container{float:left;width:180px;margin-right:8px}.help-page .block{border:1px solid #dedede;border-radius:2px}.help-page .title{height:40px;line-height:40px;padding:0 8px;background-color:#e3e3e3;background-position:10px 12px;background-repeat:no-repeat}.help-page .help-navigation{background:#f8f8f8;margin-bottom:10px}.help-page .help-navigation .help-center{background-image:url(../assets/img/help/help-center.png?v1559f4c3c95)}.help-page .help-navigation dl{width:100%;height:40px;background:#efefef;border-top:1px solid #e6e6e6;border-bottom:1px solid #e6e6e6}.help-page .help-navigation dl dt{width:132px;height:22px;margin:10px 0 10px 7px;overflow:hidden;background:url(../assets/img/help/help-search.png?v1559f4c3c97) no-repeat;float:left}.help-page .help-navigation dl dt input{width:110px;border:0;background:none;margin:3px 10px}.help-page .help-navigation dl dd{width:31px;float:left;margin:10px 0}.help-page .help-navigation dl dd .search-btn{width:31px;height:22px;border:0;background:url(../assets/img/help/help-search.png?v1559f4c3c97) no-repeat -134px 0;cursor:pointer;text-indent:-999em}.help-page .help-navigation ul{width:154px;padding:8px 12px}.help-page .help-navigation ul li{line-height:20px;font-family:Arial,helvetica,sans-serif;margin:5px 0;padding-left:20px;color:#333;background:url(../assets/img/help/help-nav-li.png?v1559f4c3c96) no-repeat}.help-page .help-navigation ul .active{background-position:0 -20px}.help-page .help-navigation ul .active a{color:#fff}.help-page .help-service{background:#f8f8f8;line-height:15px}.help-page .help-service .service-center{background-image:url(../assets/img/help/yoho-service.png?v1559f4c3c99);background-position:10px 9px}.help-page .help-service .service-main{padding:12px}.help-page .help-service .service-main strong{color:#000;font-size:18px;font-weight:700;font-family:Arial,helvetica,sans-serif}.help-page .help-service .service-main p:first-child{margin-bottom:10px}.help-page .help-main{width:800px;float:left;line-height:18px}.help-page .help-main strong{font-weight:700}.help-page .help-main .help-content{padding:15px}.help-page .help-main .help-content a{color:#468fa2;text-decoration:underline}.search-help-page .search-content{padding:15px}.search-help-page .search-content h2{border-bottom:2px solid #eee;font-size:14px;color:#333;height:20px;line-height:20px;padding-top:10px}.search-help-page .search-content ul{margin:10px 0;display:block;min-height:20px}.search-help-page .search-content ul li{width:345px;height:20px;line-height:20px;padding:0 0 0 20px;margin:0 15px 5px 0;display:inline-block;overflow:hidden;background:url(../assets/img/help/ask-icon.png?v1559f4c3c94) no-repeat 2px 3px;font-family:Arial,helvetica,sans-serif}.search-help-page .search-content ul .faqs{color:#666;cursor:pointer}.search-help-page .search-content .full-search{line-height:22px;padding:10px 8px;background-color:#e3e3e3;font-size:14px;font-weight:700}.search-help-page .search-content .full-search label{padding:12px}.search-help-page .search-content .full-search .full-search-name{width:185px;height:22px;padding:0 10px;border:0;background:url(../assets/img/help/help-search.png?v1559f4c3c97) no-repeat 0 -22px}.search-help-page .search-content .full-search .search-btn{width:31px;height:22px;border:0;background:url(../assets/img/help/help-search.png?v1559f4c3c97) no-repeat -134px 0;cursor:pointer;text-indent:-999em}.search-help-page .search-content .full-search .yoho-im-btn{width:120px;height:20px;background:url(../assets/img/help/yoho-im.png?v1559f4c3c99);display:inline-block;vertical-align:middle;margin-left:10px;border:0;cursor:pointer}.search-help-page .search-content .empty-tip{padding:200px 0;text-align:center}.search-help-page .search-content .empty-tip span{color:#e8044f;font-weight:700}.search-help-page .search-content .all-ask-list{line-height:18px;padding-top:10px}.search-help-page .search-content .all-ask-list .ask-item{padding:10px}.search-help-page .search-content .all-ask-list .ask-item.even{border:1px solid #fbf0d5;background:#fefaf0}.search-help-page .search-content .all-ask-list .ask{min-height:10px;padding-left:20px;margin-bottom:10px;background:url(../assets/img/help/ask-icon.png?v1559f4c3c94) no-repeat 2px 2px}.search-help-page .search-content .all-ask-list .answer{padding-left:20px;color:#f07100;background:url(../assets/img/help/answer-icon.png?v1559f4c3c93) no-repeat 2px 2px}.search-help-page .search-content .search-pager{height:20px;padding:10px}.search-help-page .search-content .search-pager .pager-html{display:inline}.search-help-page .search-content .search-pager a{border:1px solid #cecece;padding:0 6px;height:18px;line-height:18px;border-radius:2px;margin-right:4px;background-color:#fff}.search-help-page .search-content .search-pager a.cur{background-color:#222;color:#fff}.search-help-page .dialog-widget{position:absolute;width:450px;padding:5px;border:1px solid #999;background:#fff;border-radius:4px;z-index:16}.search-help-page .dialog-widget .dialog-titlebar{height:16px;cursor:move}.search-help-page .dialog-widget .dialog-titlebar .dialog-close-btn{float:right;width:46px;height:16px;background:url(../assets/img/home/openbox_close.png?v1559f4c3cbd) no-repeat 0 0;cursor:pointer}.search-help-page .dialog-widget .dialog-titlebar .dialog-close-btn:hover{background-position:0 -16px}.search-help-page .dialog-widget .dialog-content{padding:20px 30px}.search-help-page .dialog-widget .dialog-content p{line-height:20px;padding-left:20px;padding-bottom:10px;font-size:12px;background:url(../assets/img/help/ask-icon.png?v1559f4c3c94) no-repeat 2px 3px}.search-help-page .dialog-widget .dialog-content .answer{color:#f07100;background:url(../assets/img/help/answer-icon.png?v1559f4c3c93) no-repeat 2px 2px}.search-help-page .dialog-bg{position:fixed;top:0;left:0;width:100%;height:100%;background:#000;opacity:.2;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=20)";z-index:15}.order-ensure-page{width:990px;margin:40px auto}.order-ensure-page .order-edit{width:100%;position:relative;margin-bottom:35px}.order-ensure-page .order-edit .order-title{position:relative;margin-bottom:15px}.order-ensure-page .order-edit .order-title ul{display:block;background-image:url(../assets/img/sprite.order.png?v1559f4c4799);background-position:-247px 0;width:364px;height:12px;position:absolute;right:0;top:0}.order-ensure-page .order-edit .order-title ul li{display:block;width:33.33333333%;float:left;font-size:12px;color:#999;height:50px;line-height:50px;text-align:center;position:relative}.order-ensure-page .order-edit .order-title ul li.active{color:#333}.order-ensure-page .order-edit .order-title ul li.active:after{display:block;content:'';background-image:url(../assets/img/sprite.order.png?v1559f4c4799);background-position:-273px -46px;width:12px;height:12px;position:absolute;left:50%;margin-left:-6px;top:0}.order-ensure-page .order-edit .order-title ul li.first{text-align:left}.order-ensure-page .order-edit .order-title ul li.first.active:after{left:0;margin-left:0}.order-ensure-page .order-edit .order-title ul li.end{text-align:right}.order-ensure-page .order-edit .order-title ul li.end.active:after{right:0;margin-left:0}.order-ensure-page .order-edit .order-title:before{content:'';display:block;background-image:url(../assets/img/sprite.order.png?v1559f4c4799);background-position:0 -72px;width:117px;height:33px}.order-ensure-page .order-edit .order-title.cart-page-title:before{content:'';display:block;background-image:url(../assets/img/sprite.order.png?v1559f4c4799);background-position:-119px -72px;width:117px;height:33px}.order-ensure-page .order-edit .order-edit-main{border:1px solid #ccc;margin-top:20px}.order-ensure-page .order-edit .order-edit-main h2.title{height:30px;line-height:30px;background:#000;color:#fff;font-size:12px;text-indent:15px;overflow:hidden}.order-ensure-page .order-edit .order-edit-main h2.title a{display:block;width:90px;height:22px;background-image:url(../assets/img/sprite.order.png?v1559f4c4799);background-position:-521px -14px;float:right;margin-top:4px;margin-right:10px;cursor:pointer}.order-ensure-page .order-edit .order-edit-main .order-content{padding:5px 30px;font-size:12px;color:#333}.order-ensure-page .order-edit .order-edit-main .order-content .order-selection{border-bottom:1px dashed #ccc;padding:15px 0 0}.order-ensure-page .order-edit .order-edit-main .order-content .order-selection h2{font-size:14px;color:#000}.order-ensure-page .order-edit .order-edit-main .order-content .order-selection h2 span{color:#e8044f;text-decoration:underline;cursor:pointer}.order-ensure-page .order-edit .order-edit-main .order-content .address-list h2{margin-bottom:15px}.order-ensure-page .order-edit .order-edit-main .order-content .address-list ul li{padding:10px 0}.order-ensure-page .order-edit .order-edit-main .order-content .address-list ul li strong{font-weight:700;margin-right:15px}.order-ensure-page .order-edit .order-edit-main .order-content .address-list ul li input.radio{margin:0;vertical-align:middle}.order-ensure-page .order-edit .order-edit-main .order-content .address-list ul .order-modify-btn{display:inline-block;float:right;color:#e8044f;width:80px;padding-right:20px;height:auto;overflow:hidden}.order-ensure-page .order-edit .order-edit-main .order-content .address-list ul .order-modify-btn span{text-decoration:underline;cursor:pointer;float:right}.order-ensure-page .order-edit .order-edit-main .order-content .address-list ul .order-modify-btn span.address-modify{float:left}.order-ensure-page .order-edit .order-edit-main .order-content .address-list .exist-address-list{min-height:35px}.order-ensure-page .order-edit .order-edit-main .order-content .address-list .exist-address-list li{border:1px solid #fff;padding-left:15px}.order-ensure-page .order-edit .order-edit-main .order-content .address-list .exist-address-list li strong{color:#e8044f}.order-ensure-page .order-edit .order-edit-main .order-content .address-list .exist-address-list li .default-address,.order-ensure-page .order-edit .order-edit-main .order-content .address-list .exist-address-list li .order-modify-btn{display:none}.order-ensure-page .order-edit .order-edit-main .order-content .address-list .exist-address-list li .default-address{margin-left:15px;color:#468fa2;text-decoration:underline}.order-ensure-page .order-edit .order-edit-main .order-content .address-list .exist-address-list li .radio{display:none}.order-ensure-page .order-edit .order-edit-main .order-content .address-list .exist-address-list li.has-exist-address .default-address{color:#468fa2;text-decoration:underline;cursor:pointer}.order-ensure-page .order-edit .order-edit-main .order-content .address-list .exist-address-list.address-expand li .default-address,.order-ensure-page .order-edit .order-edit-main .order-content .address-list .exist-address-list.address-expand li .order-modify-btn,.order-ensure-page .order-edit .order-edit-main .order-content .address-list .exist-address-list.address-expand li .radio{display:inline-block}.order-ensure-page .order-edit .order-edit-main .order-content .address-list .exist-address-list.address-expand li.active{background:#dbedf7;border:1px solid #8fb8e0}.order-ensure-page .order-edit .order-edit-main .order-content .address-list .exist-address-list.address-expand li.address_select .default-address{color:#999;text-decoration:none}.order-ensure-page .order-edit .order-edit-main .order-content .address-manage{margin-top:20px;border-top:1px dashed #ccc}.order-ensure-page .order-edit .order-edit-main .order-content .address-manage li{height:25px;line-height:25px}.order-ensure-page .order-edit .order-edit-main .order-content .address-manage li .address-legend{width:80px;text-align:right;display:inline-block;color:#333}.order-ensure-page .order-edit .order-edit-main .order-content .address-manage li .address-legend i{color:#e8044f}.order-ensure-page .order-edit .order-edit-main .order-content .address-manage li .text-input{height:25px;line-height:25px;width:180px;padding:0;border:1px solid #ccc}.order-ensure-page .order-edit .order-edit-main .order-content .address-manage li select.text-input{width:100px}.order-ensure-page .order-edit .order-edit-main .order-content .address-manage li .address-tel-input{width:180px;text-align:center;display:inline-block;height:25px;line-height:25px}.order-ensure-page .order-edit .order-edit-main .order-content .address-manage li .address-tel-input input{text-align:left;float:right;width:120px}.order-ensure-page .order-edit .order-edit-main .order-content .address-manage li .address-tel-input input.tel-lengend{float:left;width:40px}.order-ensure-page .order-edit .order-edit-main .order-content .pay-btn,.order-ensure-page .order-edit .order-edit-main .order-content .save-btn{display:block;font-size:14px;color:#fff;font-weight:700;text-indent:25px;cursor:pointer;margin-bottom:15px}.order-ensure-page .order-edit .order-edit-main .order-content .save-btn{background-image:url(../assets/img/sprite.order.png?v1559f4c4799);background-position:0 -36px;width:200px;height:34px;line-height:34px}.order-ensure-page .order-edit .order-edit-main .order-content .save-btn.new-user-btn{width:245px;background-image:url(../assets/img/sprite.order.png?v1559f4c4799);background-position:0 0}.order-ensure-page .order-edit .order-edit-main .order-content .pay-btn{background-image:url(../assets/img/sprite.order.png?v1559f4c4799);background-position:0 -107px;width:90px;height:34px;line-height:34px}.order-ensure-page .order-edit .order-edit-main .order-content .pay-btn.new-user-pay{background-image:url(../assets/img/sprite.order.png?v1559f4c4799);background-position:0 -36px;width:200px}.order-ensure-page .order-edit .order-edit-main .order-content .pay-time ul{padding:15px}.order-ensure-page .order-edit .order-edit-main .order-content .pay-time ul li{margin:10px 0}.order-ensure-page .order-edit .order-edit-main .order-content .pay-time ul li input.radio{margin:0;vertical-align:middle}.order-ensure-page .order-edit .order-edit-main .order-content .pay-time ul .prev-sell-item{color:#e8044f}.order-ensure-page .order-edit .order-edit-main .order-content .pay-time .pay-time-modify .pay-time-title{margin-top:20px}.order-ensure-page .order-edit .order-edit-main .order-content .pay-time .pay-time-modify h3{height:25px;line-height:25px;border:1px solid #e6e6e6;background:#efefef;text-indent:25px;position:relative}.order-ensure-page .order-edit .order-edit-main .order-content .pay-time .pay-time-modify h3:after{content:'';display:block;width:11px;height:11px;background:url(../assets/img/order/roundgreybtn.gif?v1559f4c3ce9);position:absolute;top:7px;left:8px}.order-ensure-page .order-edit .order-edit-main .order-content .pay-time .pay-time-modify .pay-dashed-hr{border-bottom:1px dashed #ccc;padding-bottom:10px}.order-ensure-page .order-edit .order-edit-main .order-content .pay-time .pay-time-modify .pay-type-tips{color:#999;padding-left:15px}.order-ensure-page .order-edit .order-edit-main .order-content .pay-time .pay-time-modify div.pay-type-legend{width:130px;display:inline-block;padding:0;text-indent:0}.order-ensure-page .order-edit .order-edit-main .order-content .pay-time .pay-time-modify span.pay-type-legend{margin:0;color:#468fa2;cursor:pointer}.order-ensure-page .order-edit .order-edit-main .order-content .pay-time .pay-time-modify span.pay-type-legend:after{content:'';width:12px;height:12px;background:url(../assets/img/order/icon-arrow.png?v1559f4c3ce5);display:inline-block;transition:transform .3}.order-ensure-page .order-edit .order-edit-main .order-content .pay-time .pay-time-modify span.pay-type-legend.active:after{transform:rotate(180deg)}.order-ensure-page .order-edit .order-edit-main .order-content .pay-time .pay-time-modify .support-type{display:block;margin-left:130px;border-left:1px dashed #ccc;font-size:12px}.order-ensure-page .order-edit .order-edit-main .order-content .pay-time .pay-time-modify .support-type h4{padding:10px 0 10px 15px}.order-ensure-page .order-edit .order-edit-main .order-content .pay-time .pay-time-modify .support-type ul{height:auto;overflow:hidden;margin:0;padding:0}.order-ensure-page .order-edit .order-edit-main .order-content .pay-time .pay-time-modify .support-type ul li{display:block;float:left;width:105px;height:30px;border:1px solid #ccc;margin:0 0 10px 15px}.order-ensure-page .order-edit .order-edit-main .order-content .pay-time .pay-time-modify .support-type ul li img{display:block;width:100%;height:100%;overflow:hidden}.order-ensure-page .order-edit .order-edit-main .order-content .pay-time .pay-time-modify .pay-recommend{font-size:0}.order-ensure-page .order-edit .order-edit-main .order-content .pay-time .pay-time-modify .pay-recommend .pay-type-legend,.order-ensure-page .order-edit .order-edit-main .order-content .pay-time .pay-time-modify .pay-recommend .support-type{font-size:12px}.order-ensure-page .order-edit .order-edit-main .order-content .select-express{border-bottom:none}.order-ensure-page .order-edit .order-edit-main .order-content .select-express .sf{color:red;text-decoration:underline}.order-ensure-page .order-edit .order-edit-main .order-content .select-express .express-list{padding-left:15px;margin:10px 0}.order-ensure-page .order-edit .order-edit-main .order-content .select-express .express-list input.radio{margin:0;vertical-align:middle}.order-ensure-page .order-edit .order-edit-main .order-content .select-express .express-tips{color:#999}.order-ensure-page .order-pay{width:100%}.order-ensure-page .differentOrder{position:relative;width:100%}.order-ensure-page .differentOrder .warn{text-align:center;background:#fefbd5;font:initial;height:40px;line-height:40px;font-size:16px}.order-ensure-page .differentOrder .warn .red{color:red}.order-ensure-page .differentOrder .warn .why{background-image:url(../assets/img/sprite.order.png?v1559f4c4799);background-position:-247px -46px;width:26px;height:20px;display:inline-block;vertical-align:middle}.order-ensure-page .differentOrder .warn .why:hover{cursor:pointer}.order-ensure-page .differentOrder .differentBag:before{content:"";position:absolute;width:0;height:0;border-bottom:10px solid #000;border-left:10px solid transparent;border-right:10px solid transparent;top:-10px;right:219px}.order-ensure-page .differentOrder .differentBag{display:none;position:absolute;right:-10px;top:40px;width:510px;padding:0 50px;background:#fff;z-index:1;border:1px solid #000;font-size:14px}.order-ensure-page .differentOrder .bag{position:relative;border-bottom:1px solid #e0e0e0;margin-top:10px;padding:20px 0}.order-ensure-page .differentOrder .bag h3{height:30px;line-height:30px;font-weight:700;margin-left:15px}.order-ensure-page .differentOrder .bag .pre{background-position:0 -142px;left:-30px}.order-ensure-page .differentOrder .bag .next,.order-ensure-page .differentOrder .bag .pre{position:absolute;background-image:url(../assets/img/sprite.order.png?v1559f4c4799);width:30px;height:50px;top:70px;display:none}.order-ensure-page .differentOrder .bag .next{background-position:-32px -142px;right:-30px}.order-ensure-page .differentOrder .bag p{color:#767676;margin-left:15px}.order-ensure-page .differentOrder .bagDetil{position:relative;height:90px;width:510px;overflow:hidden;margin-bottom:20px}.order-ensure-page .differentOrder .bagDetil ul{list-style:none;position:absolute;left:0;clear:both;height:90px}.order-ensure-page .differentOrder .bagDetil ul li{float:left;width:102px;height:90px;line-height:90px;text-align:center;position:relative}.order-ensure-page .differentOrder .bagDetil ul li img{width:90px;height:90px}.order-ensure-page .differentOrder .bagDetil ul li p{position:absolute;bottom:0;background:#9c3;width:90px;height:1rem;line-height:1rem;color:#fff;margin-left:7px}.freebie-tag{background:#9c3}.advance-buy-tag{background:#fc1264}.virtual-good-tag{background:red}.presall-tag{background:blue}.order-pay{font-size:12px;line-height:150%}.order-pay .pay-wapper{border:1px solid #ccc;border-top:none}.order-pay .pay-wapper .cart-sub-total{font-weight:700}.order-pay .pay-wapper .cart-sub-total-all{font-weight:700;font-size:18px}.order-pay table{width:100%}.order-pay table td{border:1px solid #ccc;border-left:0 none;padding:10px;text-align:center}.order-pay thead{background:#000}.order-pay thead th{height:32px;line-height:32px;color:#fff;vertical-align:middle;text-align:center;font-weight:700}.order-pay thead .clo1{width:10%}.order-pay thead .clo2{width:20%}.order-pay thead .clo4{width:40%}.order-pay .pay-pro-icon{float:left;width:60px;height:60px;display:block;position:relative}.order-pay .pay-pro-icon span{width:100%;height:16px;line-height:16px;position:absolute;left:0;bottom:0;text-align:center;color:#fff;display:block;cursor:pointer}.order-pay .pay-pro-icon .incentive{background:#f74a87}.order-pay .pay-pro-icon .gift{background:#9c3}.order-pay .pay-pro-info{color:#999;margin-left:70px;text-align:left}.order-pay .pay-pro-info a{color:#468fa2;text-decoration:none;display:block}.order-pay .pay-pro-info a:hover{text-decoration:underline}.order-pay .play-content{padding:10px}.order-pay .play-content .red{color:#e8044f!important}.order-pay .play-content .orange{color:#f60!important}.order-pay .play-content .strong{font-weight:700;color:#000}.order-pay .play-content .pan dt{width:105px;height:30px;padding:0 0 0 30px;line-height:30px;text-align:left;border:0;color:#fff;display:inline-block;cursor:pointer;background:url(../assets/img/order/btn-openclose.png?v1559f4c3ce4) no-repeat 0 -60px;margin-bottom:5px}.order-pay .play-content .pan dd{display:none;border:1px solid #ccc;padding:10px 15px;margin-bottom:10px}.order-pay .play-content .dropdown,.order-pay .play-content .textbox{height:20px;line-height:20px;color:#333;border:1px solid #c9c9c9;vertical-align:top}.order-pay .play-content .btn-group{text-align:right}.order-pay .play-content .btn-group input{display:inline-block;background:none;border:1px solid #ccc;border-radius:2px;height:20px}.order-pay .play-content .btn-group .ok{background-color:#000;color:#fff;cursor:pointer}.order-pay .play-content .btn-group .cancel{cursor:pointer}.order-pay .play-content .play-left{float:left;width:405px}.order-pay .play-content .play-left .pan{text-align:left}.order-pay .play-content .play-left .pan dt{color:#000;background-image:url(../assets/img/sprite.order.png?v1559f4c4799);background-position:-384px -14px}.order-pay .play-content .play-left .pan dt.active{background-image:url(../assets/img/sprite.order.png?v1559f4c4799);background-position:-247px -14px}.order-pay .play-content .play-piao-pan li{height:25px;padding:10px 0;line-height:22px}.order-pay .play-content .play-piao-pan li label{width:65px;display:inline-block}.order-pay .play-content .play-piao-pan li .textbox{width:200px}.order-pay .play-content .play-remark-pan .textbox{width:369px;height:70px}.order-pay .play-content .play-remark-pan .note{padding:5px 0;color:#999}.order-pay .play-content .play-right{float:right;width:50%;width:405px}.order-pay .play-content .play-right .pan{text-align:right}.order-pay .play-content .play-right .red-envelopes{width:200px;height:60px;border:1px dashed #000;margin-top:10px;float:right;padding:15px;font-size:12px;color:#000}.order-pay .play-content .play-right .red-envelopes.active{background:#fefccb}.order-pay .play-content .play-right .use-envelopes{font-weight:700}.order-pay .play-content .play-right .has-envelopes{margin-top:5px}.order-pay .play-content .play-right .has-envelopes span{font-weight:700}.order-pay .play-content .back-coin{text-align:right;height:30px;line-height:30px;padding-right:18px}.order-pay .play-content .back-coin .yoho-coin{width:14px;height:14px;display:inline-block;background-image:url(../assets/img/sprite.cart.png?v1559f4c4796);background-position:-321px -225px;vertical-align:middle;margin-top:-2px;margin-right:4px}.order-pay .play-content .play-total{text-align:right;padding-bottom:20px}.order-pay .play-content .play-total .bi-modify,.order-pay .play-content .play-total .juan-modify{color:#468fa2;text-decoration:underline;cursor:pointer}.order-pay .play-content .play-total label{padding-right:10px}.order-pay .play-content .play-total em{width:80px;text-align:left;display:inline-block}.order-pay .play-content .play-total a{color:#468fa2;text-decoration:underline}.order-pay .play-content .play-total .total-express-w{color:#e80480}.order-pay .play-content .play-juan-pan dd{text-align:left}.order-pay .play-content .play-juan{padding:10px 0}.order-pay .play-content .play-juan .textbox{width:70px}.order-pay .play-content .play-juan [disabled=disabled]+label{color:#999}.order-pay .play-content .play-bi-pan dd{text-align:right}.order-pay .play-content .play-bi-pan .textbox{width:70px}.order-pay .play-content .play-bi-pan p{padding:10px 0}.order-pay .play-content .play-bi-pan p.errbitip{padding-top:0}.order-pay .to-play p{padding:10px 0;font-size:14px;text-align:right;color:#000}.order-pay .to-play p em{color:#e8044f;font-size:24px}.order-pay .to-play .btn-group{padding:10px 0 40px}.order-pay .to-play .btn-group .submit{float:right;width:133px;height:33px;padding:0;text-align:center;border:0;line-height:33px;font-size:14px;color:#fff;font-weight:700;background:url(../assets/img/order/btns.png?v1559f4c3ce5) no-repeat 0 -33px;display:inline-block;cursor:pointer}.order-ensure-page .none{display:none}.order-ensure-page .gift{position:relative;width:988px;height:50px;background:url(../assets/img/cart/cart_gift.png?v1559f4c3c57) 0 0 repeat;border:1px solid #ccc;text-align:center}.order-ensure-page .gift p{background:url(../assets/img/cart/cart_gift_banner.jpg?v1559f4c3c59) 0 0 no-repeat;display:inline-block;width:450px;height:50px;overflow:hidden}.order-ensure-page .gift i{width:30px;height:30px;overflow:hidden;position:absolute;top:10px;right:5px;cursor:pointer}.order-ensure-page .gift .up{background-position:-329px -141px}.order-ensure-page .gift .down,.order-ensure-page .gift .up{background-image:url(../assets/img/sprite.cart.png?v1559f4c4796)}.order-ensure-page .gift .down{background-position:-332px -178px}.order-ensure-page .loading{width:120px;height:28px;overflow:hidden;position:absolute;left:50%;top:50%;display:none;line-height:30px;border:1px solid #ccc;font-size:12px;text-indent:10px;background:#fff}.order-ensure-page .loading span{width:20px;height:20px;float:left;margin:4px 4px 4px 13px;background:url(../assets/img/cart/loading_s.gif?v1559f4c3c66) 2px 2px no-repeat}.order-ensure-page .dev-revocation{border:1px solid #fcd081;background:#fff8d9;margin-bottom:15px}.order-ensure-page .dev-revocation td{border:none}.order-ensure-page .dev-revocation td a{color:#468fa2;margin-left:12px}.order-ensure-page .dev-revocation td a:hover{text-decoration:underline}.order-ensure-page .order-title{margin-top:30px;height:auto;overflow:hidden}.order-ensure-page .salesPromotion{width:990px;height:36px;border-bottom:1px solid #ccc;font-size:12px}.order-ensure-page .salesPromotion p{width:800px;height:36px;line-height:36px;float:left;padding:0 10px}.order-ensure-page .salesPromotion p b{margin-right:5px;background:#6c6c6c;border-radius:4px;padding:1px 5px;color:#fff}.order-ensure-page .salesPromotion span{width:150px;height:36px;padding:0 10px;line-height:36px;float:right;text-align:right;position:relative}.order-ensure-page .salesPromotion span i{position:absolute;top:11px;left:108px;float:left;width:13px;height:13px;background-image:url(../assets/img/sprite.cart.png?v1559f4c4796);background-position:-357px -71px}.order-ensure-page .cartnew-tips{height:auto;overflow:hidden;font-size:12px;margin-bottom:5px}.order-ensure-page .cartnew-tips .tipsbox{width:648px;height:23px;line-height:18px;padding:4px 5px 4px 10px;color:#666;background:url(../assets/img/cart/cartnew_tipsbox.png?v1559f4c3c50) no-repeat;position:relative;float:left}.order-ensure-page .cartnew-tips .tipsbox .btn_close{width:17px;height:17px;padding:0;background-image:url(../assets/img/sprite.cart.png?v1559f4c4796);background-position:-270px -225px;float:right;cursor:pointer}.order-ensure-page .cartnew-tips .tipsbox strong{color:#000;font-weight:700}.order-ensure-page .cartnew-tips .tipsbox a{color:#468fa2}.order-ensure-page .pay-wapper{position:relative}.order-ensure-page .pay-wapper .pre-sell .pre-sell-title{background:#fff9d9}.order-ensure-page .pay-wapper .pre-sell .pre-sell-title span{margin-right:10px}.order-ensure-page .pay-wapper .free{display:inline-block;width:39px;height:20px;background-image:url(../assets/img/sprite.cart.png?v1559f4c4796);background-position:-150px -225px}.order-ensure-page .pay-wapper .fold,.order-ensure-page .pay-wapper .none{display:none}.order-ensure-page .pay-wapper .vipPrice{color:#e8044f;display:block}.order-ensure-page .pay-wapper .presell{color:#c21250;display:block}.order-ensure-page .pay-wapper .giftInfo{margin-left:30px}.order-ensure-page .pay-wapper .pay-pro-info{padding-left:15px;padding-top:10px;margin-left:0;float:left}.order-ensure-page .pay-wapper .pay-pro-info a{width:200px}.order-ensure-page .pay-wapper .pre-sell-box .cart-empty{border:none;padding:100px 0 100px 260px;background:url(../assets/img/cart/cart_empty.gif?v1559f4c3c56) 200px 56px no-repeat}.order-ensure-page .pay-wapper .pre-sell-box .cart-empty a{display:inline-block;width:90px;height:35px;background-image:url(../assets/img/sprite.cart.png?v1559f4c4796);background-position:-237px -141px;overflow:hidden;color:#666;line-height:32px}.order-ensure-page .pay-wapper .pre-sell-box .incentive{background:#000100;color:#fff}.order-ensure-page .pay-wapper .tip-message{background:#e8044f;color:#fff;font-size:12px;margin-top:5px}.order-ensure-page .pay-wapper .cart-product-num{font-size:12px;text-align:left;height:33px;line-height:33px;background:#f8f8f8;padding:0 10px;position:relative}.order-ensure-page .pay-wapper .cart-product-num strong{padding-left:20px;font-weight:700}.order-ensure-page .pay-wapper .cart-product-num .icon-minusCart{background-position:-289px -225px}.order-ensure-page .pay-wapper .cart-product-num .icon-addCart,.order-ensure-page .pay-wapper .cart-product-num .icon-minusCart{position:absolute;top:9px;left:15px;float:left;width:15px;height:15px;cursor:pointer;background-image:url(../assets/img/sprite.cart.png?v1559f4c4796)}.order-ensure-page .pay-wapper .cart-product-num .icon-addCart{background-position:-305px -225px}.order-ensure-page .pay-wapper .cart-product-num .icon-zp{position:absolute;top:8px;left:10px;float:left;width:18px;height:19px;background-image:url(../assets/img/sprite.cart.png?v1559f4c4796);background-position:-251px -225px}.order-ensure-page .pay-wapper .cart-product-num .cart-unfold{position:absolute;top:0;right:10px}.order-ensure-page .pay-wapper .cart-product-num .cart-unfold i{width:28px;height:20px;overflow:hidden;display:inline-block;margin-top:5px;cursor:pointer}.order-ensure-page .pay-wapper .cart-product-num .cart-btn-pre{background-image:url(../assets/img/sprite.cart.png?v1559f4c4796);background-position:-191px -225px}.order-ensure-page .pay-wapper .cart-product-num .cart-btn-next{background-image:url(../assets/img/sprite.cart.png?v1559f4c4796);background-position:-221px -225px}.order-ensure-page .pay-wapper .cart-product-num .unfold-color{color:#666;cursor:pointer}.order-ensure-page .pay-wapper .cart-product-num .cart-page p{float:left;padding-right:5px}.order-ensure-page .pay-wapper .cart-product-num .cart-page .f-red{color:red}.order-ensure-page .pay-wapper .cart-product-num input{position:relative;top:2px}.order-ensure-page .pay-wapper input.cart-item-check{float:left;margin-top:25px;margin-left:15px}.order-ensure-page .pay-wapper .adjust-cart-num input{width:30px;margin:0 5px;text-align:center}.order-ensure-page .pay-wapper .adjust-cart-num span{display:inline-block;width:11px;height:11px;cursor:pointer;font-size:10px}.order-ensure-page .pay-wapper .adjust-cart-num .minus{background-image:url(../assets/img/sprite.cart.png?v1559f4c4796);background-position:-357px -119px}.order-ensure-page .pay-wapper .adjust-cart-num .plus{background-image:url(../assets/img/sprite.cart.png?v1559f4c4796);background-position:-357px -106px}.order-ensure-page .pay-wapper .cart-add-btn{width:118px;height:32px;display:inline-block;overflow:hidden;border:0;cursor:pointer;line-height:32px}.order-ensure-page .pay-wapper .zp{background-image:url(../assets/img/sprite.cart.png?v1559f4c4796);background-position:-237px -71px}.order-ensure-page .pay-wapper .order{background-image:url(../assets/img/sprite.cart.png?v1559f4c4796);background-position:-237px -106px}.order-ensure-page .pay-wapper .cart-yetremove-btn{height:20px;line-height:21px;padding:0 10px;display:inline-block;color:#b3b3b3;position:relative;border:1px solid #dcdcdc;background:#ebebeb;border-radius:3px}.order-ensure-page .pay-wapper .cart-del-btn,.order-ensure-page .pay-wapper .cart-remove-btn{height:22px;line-height:21px;padding:0 10px;display:inline-block;cursor:pointer;color:#666;position:relative}.order-ensure-page .pay-wapper .cart-del-btn span,.order-ensure-page .pay-wapper .cart-remove-btn span{position:relative;z-index:9}.order-ensure-page .pay-wapper .cart-del-btn:after,.order-ensure-page .pay-wapper .cart-remove-btn:after{content:'';display:block;width:16px;height:100%;background-image:url(../assets/img/sprite.cart.png?v1559f4c4796);background-position:-102px -248px;position:absolute;right:0;top:0;z-index:7}.order-ensure-page .pay-wapper .cart-del-btn:before,.order-ensure-page .pay-wapper .cart-remove-btn:before{content:'';display:block;width:100%;height:100%;background-image:url(../assets/img/sprite.cart.png?v1559f4c4796);background-position:0 -225px;position:absolute;left:0;top:0}.order-ensure-page .cartnew-sum{background:#efefef;border:1px solid #ccc;padding:10px;margin-bottom:10px;zoom:1;margin-top:20px;height:auto;overflow:hidden;font-size:12px}.order-ensure-page .cartnew-sum .left{float:left}.order-ensure-page .cartnew-sum .left a{color:#333;margin-left:20px}.order-ensure-page .cartnew-sum .left input{position:relative;top:2px}.order-ensure-page .cartnew-sum .right{float:right;text-align:right}.order-ensure-page .cartnew-sum .right strong{color:#e8044f;font-size:18px}.order-ensure-page .cartnew-sum .sum{color:#333;font-weight:700;padding-bottom:5px}.order-ensure-page .cartnew-sum .yoho-coin{width:14px;height:14px;display:inline-block;background-image:url(../assets/img/sprite.cart.png?v1559f4c4796);background-position:-321px -225px;vertical-align:middle;margin-top:-2px;margin-right:4px}.order-ensure-page .cartnew-submit{padding:10px 0 40px;text-align:right;position:relative}.order-ensure-page .cartnew-submit .btn_continue{width:60px;padding:0 0 0 33px;text-align:left;color:#333;background-position:-237px -178px;float:left}.order-ensure-page .cartnew-submit .btn_account,.order-ensure-page .cartnew-submit .btn_continue{height:33px;border:0;line-height:33px;font-size:14px;font-weight:700;background-image:url(../assets/img/sprite.cart.png?v1559f4c4796);display:inline-block;cursor:pointer}.order-ensure-page .cartnew-submit .btn_account{width:133px;padding:0;text-align:center;color:#fff;background-position:-237px 0;float:right}.order-ensure-page .cartnew-submit .go_cash_tips{font-size:12px;width:200px;padding:5px 7px 0 28px;height:45px;position:absolute;right:135px;top:10px;text-align:left;color:#e8044f;background-image:url(../assets/img/sprite.cart.png?v1559f4c4796);background-position:0 0;display:block}.order-ensure-page .cartnew-submit .btn_account_disabled{width:133px;height:33px;padding:0;text-align:center;border:0;line-height:33px;font-size:14px;color:#ccc;font-weight:700;background-image:url(../assets/img/sprite.cart.png?v1559f4c4796);background-position:-237px -36px;display:inline-block;cursor:pointer}.order-ensure-page .cartnew-goodslist{margin-bottom:10px;font-size:12px;border:1px solid #ccc}.order-ensure-page .cartnew-goodslist .title{height:20px;padding:8px 10px;background:#efefef}.order-ensure-page .cartnew-goodslist .title h2{height:20px;line-height:24px;overflow:hidden;font-size:12px;float:left;cursor:pointer}.order-ensure-page .cartnew-goodslist .title h2 i{width:15px;height:15px;float:left;position:relative;top:4px;margin-right:5px}.order-ensure-page .cartnew-goodslist .title h2 .icon-minus{background-image:url(../assets/img/sprite.cart.png?v1559f4c4796);background-position:-289px -225px}.order-ensure-page .cartnew-goodslist .title h2 .icon-add{background-image:url(../assets/img/sprite.cart.png?v1559f4c4796);background-position:-305px -225px}.order-ensure-page .cartnew-goodslist .right{float:right}.order-ensure-page .cartnew-goodslist .right span{width:28px;height:22px;display:inline-block}.order-ensure-page .cartnew-goodslist .right .pageprev{background-image:url(../assets/img/sprite.cart.png?v1559f4c4796);background-position:-191px -225px}.order-ensure-page .cartnew-goodslist .right .pagenext{background-image:url(../assets/img/sprite.cart.png?v1559f4c4796);background-position:-221px -225px}.order-ensure-page .cartnew-goodslist .main{height:230px;border-top:1px solid #e3e3e3;display:block}.order-ensure-page .cartnew-goodslist .main ul{height:auto;width:100%;overflow:hidden}.order-ensure-page .cartnew-goodslist .main li{width:16.6667%;box-sizing:border-box;height:230px;border-right:1px solid #e3e3e3;float:left}.order-ensure-page .cartnew-goodslist .main li.end{border:none}.order-ensure-page .cartnew-goodslist .main .list{width:102px;padding:10px 0 0;margin:0 auto}.order-ensure-page .cartnew-goodslist .main .thumb{height:110px}.order-ensure-page .cartnew-goodslist .main .thumb img{display:block;margin:0 auto}.order-ensure-page .cartnew-goodslist .main .name{height:35px;overflow:hidden;font-size:12px}.order-ensure-page .cartnew-goodslist .main .name h3{height:30px;line-height:15px;font-size:12px;font-weight:400;color:#333;cursor:pointer;overflow:hidden}.order-ensure-page .cartnew-goodslist .main .name a{color:#333;text-decoration:underline}.order-ensure-page .cartnew-goodslist .main .price{color:#333;height:25px;line-height:25px;font-weight:700;white-space:nowrap;overflow:hidden;text-align:center;font-size:12px}.order-ensure-page .cartnew-goodslist .main .price del{color:#999}.order-ensure-page .cartnew-goodslist .main .op{text-align:center;padding:0 0 5px}.order-ensure-page .cartnew-goodslist .main .btn_view_s{width:100px;height:22px;background-image:url(../assets/img/sprite.cart.png?v1559f4c4796);background-position:0 -248px;display:inline-block;border:0}.shop-cart .goods-detail{position:absolute;top:10%;left:0;z-index:10;width:650px;height:auto;overflow:hidden;border:1px solid #ccc;border-radius:5px;background:#fff;display:none}.shop-cart .goods-detail .magnify{position:absolute;width:12px;height:12px;background-image:url(../assets/img/sprite.cart.png?v1559f4c4796);background-position:-357px -85px;bottom:2px;right:2px}.shop-cart .goods-detail .detail-header{display:block;font-size:12px;line-height:16px;text-align:center;color:#fff;margin-top:5px;box-sizing:border-box;padding-right:5px;height:16px;cursor:move}.shop-cart .goods-detail .detail-header .colse{float:right;width:46px;height:16px;background:#ccc;border-radius:2px;cursor:pointer}.shop-cart .goods-detail .detail-header .colse:hover{background:#414141}.shop-cart .goods-detail .detail-body{width:610px;padding:15px;margin:0 auto}.shop-cart .goods-detail .detail-body .none{display:none}.shop-cart .goods-detail .detail-body .detail-bigpic{width:290px;padding-bottom:15px;float:left}.shop-cart .goods-detail .detail-body .detail-bigpic .bigpic{width:210px;height:280px;display:block;margin:0 auto 10px}.shop-cart .goods-detail .detail-body .detail-bigpic .bigpic img{width:100%;height:auto}.shop-cart .goods-detail .detail-body .detail-bigpic .piclist{height:65px;cursor:pointer}.shop-cart .goods-detail .detail-body .detail-bigpic .piclist span{width:10px;height:60px}.shop-cart .goods-detail .detail-body .detail-bigpic .piclist .pre{background-image:url(../assets/img/sprite.cart.png?v1559f4c4796);background-position:0 -304px;float:left}.shop-cart .goods-detail .detail-body .detail-bigpic .piclist .con{width:260px;height:65px;overflow:hidden;float:left;margin-left:5px}.shop-cart .goods-detail .detail-body .detail-bigpic .piclist .con li{float:left;width:58px;height:58px;border:1px solid #ccc;margin:1px;vertical-align:top;overflow:hidden;text-align:center}.shop-cart .goods-detail .detail-body .detail-bigpic .piclist .con li img{width:auto;height:100%;display:inline-block}.shop-cart .goods-detail .detail-body .detail-bigpic .piclist .con .active{width:56px;height:56px;border:2px solid #333}.shop-cart .goods-detail .detail-body .detail-bigpic .piclist .next{background-image:url(../assets/img/sprite.cart.png?v1559f4c4796);background-position:-12px -304px;float:right}.shop-cart .goods-detail .detail-body .detail-info{width:300px;float:right;padding-bottom:15px}.shop-cart .goods-detail .detail-body .detail-info .title{padding:5px 0}.shop-cart .goods-detail .detail-body .detail-info .title h2{width:300px;color:#000;font-size:12px;font-weight:400;white-space:nowrap;overflow:hidden}.shop-cart .goods-detail .detail-body .detail-info .arrivalDate{color:red}.shop-cart .goods-detail .detail-body .detail-info .type{padding-bottom:10px}.shop-cart .goods-detail .detail-body .detail-info .type .type-s{background:#ccc;padding:0 5px;color:#fff;font-size:12px;height:15px;line-height:15px;display:inline-block}.shop-cart .goods-detail .detail-body .detail-info .price{padding:0 0 10px;margin-bottom:10px;border-bottom:1px solid #000}.shop-cart .goods-detail .detail-body .detail-info .price .oldprice{color:#999;font-size:14px;font-weight:700;display:block;padding-bottom:5px}.shop-cart .goods-detail .detail-body .detail-info .price .newprice{color:#000;font-size:14px;font-weight:700;height:30px;line-height:30px;padding:0 0 5px}.shop-cart .goods-detail .detail-body .detail-info .price .newprice b{font-size:22px;font-family:arial}.shop-cart .goods-detail .detail-body .detail-info .order{color:#000;font-size:12px}.shop-cart .goods-detail .detail-body .detail-info .order dd{width:55px;float:left;padding-bottom:8px}.shop-cart .goods-detail .detail-body .detail-info .order dt{width:245px;float:left;padding-bottom:8px}.shop-cart .goods-detail .detail-body .detail-info .order dd.colorBox{line-height:44px}.shop-cart .goods-detail .detail-body .detail-info .order .colorBox{height:75px}.shop-cart .goods-detail .detail-body .detail-info .order .colorBox li{width:44px;height:65px;overflow:hidden;text-align:center;margin-right:4px;display:inline;float:left;cursor:pointer}.shop-cart .goods-detail .detail-body .detail-info .order .colorBox li .atcive{width:40px;height:40px;border:2px solid #e8044f}.shop-cart .goods-detail .detail-body .detail-info .order .colorBox li .atcive span{position:absolute;bottom:0;right:0;width:11px;height:11px;overflow:hidden;background:url(../assets/img/cart/ico_r_act.png?v1559f4c3c61) 0 0 no-repeat}.shop-cart .goods-detail .detail-body .detail-info .order .colorBox li p{width:42px;height:42px;margin:0;display:inline-block;border:1px solid #ccc;position:relative}.shop-cart .goods-detail .detail-body .detail-info .order .colorBox li p img{width:100%;height:auto}.shop-cart .goods-detail .detail-body .detail-info .order .colorBox li span{line-height:20px}.shop-cart .goods-detail .detail-body .detail-info .order .showSizeBox{height:25px;line-height:18px}.shop-cart .goods-detail .detail-body .detail-info .order .showSizeBox span{cursor:pointer;height:18px;padding:0 10px;border:1px solid #ccc;margin:1px 5px 5px 1px;display:inline;float:left;overflow:hidden}.shop-cart .goods-detail .detail-body .detail-info .order .showSizeBox .atcive{height:16px;border:2px solid red;background:url(../assets/img/cart/ico_r_act.png?v1559f4c3c61) 100% 100% no-repeat}.shop-cart .goods-detail .detail-body .detail-info .order .showSizeBox .null-atcivec{height:18px;border:1px solid #ccc;color:#ccc}.shop-cart .goods-detail .detail-body .detail-info .order .showSizeBox .atcivec{height:16px;border:2px solid #ccc;background:url(../assets/img/cart/ico_r_act_h.png?v1559f4c3c61) 100% 100% no-repeat;color:#ccc}.shop-cart .goods-detail .detail-body .detail-info .order .amount_wrapper{width:100px;height:20px;display:inline-block}.shop-cart .goods-detail .detail-body .detail-info .order .amount_wrapper .amount{width:12px;height:12px;display:inline;cursor:pointer;border:0;float:left;font-size:10px;color:#c4c4c4}.shop-cart .goods-detail .detail-body .detail-info .order .amount_wrapper .cut{background-image:url(../assets/img/sprite.cart.png?v1559f4c4796);background-position:-357px -119px;margin:5px 5px 0 0}.shop-cart .goods-detail .detail-body .detail-info .order .amount_wrapper .add{background-image:url(../assets/img/sprite.cart.png?v1559f4c4796);background-position:-357px -106px;margin:5px 0 0 5px}.shop-cart .goods-detail .detail-body .detail-info .order .amount_wrapper .mnum{width:33px;height:18px;line-height:16px;border:1px solid #c4c4c4;text-align:center;overflow:hidden;float:left;font-size:12px}.shop-cart .goods-detail .detail-body .detail-info .submit{padding-top:10px;float:left}.shop-cart .goods-detail .detail-body .detail-info .submit input{width:225px;height:45px;overflow:hidden;border:0;cursor:pointer;float:left}.shop-cart .goods-detail .detail-body .detail-info .submit .addcart{background-image:url(../assets/img/sprite.cart.png?v1559f4c4796);background-position:0 -146px}.shop-cart .goods-detail .detail-body .detail-info .submit .btn_pre_sale{background-image:url(../assets/img/sprite.cart.png?v1559f4c4796);background-position:0 -52px}.shop-cart .goods-detail .detail-body .detail-info .submit .btn_sellout{background-image:url(../assets/img/sprite.cart.png?v1559f4c4796);background-position:0 -99px}.shop-cart .goods-detail .detail-body .detail-info .submit .fav_count{background-image:url(../assets/img/sprite.cart.png?v1559f4c4796);background-position:0 -193px;height:30px}.shop-cart .goods-detail .detail-body .detail-size{float:left;border-top:1px dashed #ccc;width:100%;height:auto;padding-bottom:15px}.shop-cart .goods-detail .detail-body .detail-size h3{height:35px;line-height:35px;font-size:14px}.shop-cart .goods-detail .detail-body .detail-size h3 span{font-size:12px}.shop-cart .goods-detail .detail-body .detail-size table{width:100%;height:auto;border:1px solid #ccc;margin-bottom:5px;font-size:12px}.shop-cart .goods-detail .detail-body .detail-size table td{border:1px solid #fff;padding:3px;font-weight:400;background:#fbfbfb;text-align:center;padding:8px 3px}.shop-cart .goods-detail .detail-body .detail-size table tr:nth-of-type(even) td{background:#f4f4f4}.shop-cart .goods-detail .detail-body .detail-size .size-info{font-size:12px;color:#999}.shopping-pay-page{margin:25px auto}.shopping-pay-page .pay-page{width:100%;position:relative}.shopping-pay-page .not-pay{width:680px;height:400px;margin:0 auto;overflow:hidden;padding-top:100px;padding-left:200px}.shopping-pay-page .not-pay p{padding-left:30px;line-height:32px}.shopping-pay-page .not-pay .success{background:url(../assets/img/pay/success.png?v1559f4c3d09) no-repeat 0}.shopping-pay-page .not-pay a{margin-top:40px;margin-left:140px;float:left;color:#c5c5c5}.shopping-pay-page .pay-title{width:980px;height:52px;overflow:hidden;padding:20px 0 0;margin:0 auto;border-bottom:2px solid #000}.shopping-pay-page .pay-title ul{width:446px;height:12px;float:right;list-style:none;padding:0;margin:0;background:url(../assets/img/pay/pay-list.png?v1559f4c3d06) no-repeat 100% 0}.shopping-pay-page .pay-title li{width:176px;height:12px;text-align:center;color:#999;float:left}.shopping-pay-page .pay-title li span{display:block;height:15px;padding:15px 0 0;line-height:15px;font-size:12px}.shopping-pay-page .pay-title .end{width:93px;height:18px;color:#000}.shopping-pay-page .pay-title .end span{text-align:right}.shopping-pay-page .step4{height:24px;width:99px;overflow:hidden;background-image:url(../assets/img/pay/pay-title.png?v1559f4c3d08);float:left}.shopping-pay-page .step5{height:31px;width:117px;overflow:hidden;background-image:url(../assets/img/pay/bc.png?v1559f4c3cfa);float:left}.shopping-pay-page .cart-pay{width:980px;margin:25px auto}.shopping-pay-page .cart-pay h2{width:950px;height:40px;padding:0 0 0 30px;line-height:40px;color:#000;font-size:20px;font-family:Arial,helvetica,sans-serif;background:url(../assets/img/pay/cat-pay.png?v1559f4c3cfe) no-repeat 0 11px;font-weight:400}.shopping-pay-page .cart-pay h3{height:40px;line-height:40px;font-weight:400;color:#666;font-size:12px;margin:0}.shopping-pay-page .cart-pay h3 strong{color:#e8044f;font-size:14px;font-weight:700}.shopping-pay-page .cart-pay h4{height:30px;line-height:30px;color:#000;font-size:14px;display:block;margin:0}.shopping-pay-page .wrapper{width:980px;margin:25px auto;overflow:hidden;border-top:2px solid #d9d9d9;padding-top:19px}.shopping-pay-page .pay-way{width:980px;height:32px;margin-bottom:27px;overflow:hidden;margin:30 auto}.shopping-pay-page .word{display:block;float:left;line-height:32px;font-size:16px;margin-right:10px}.shopping-pay-page .pay-type-img{height:30px;float:left;vertical-align:middle}.shopping-pay-page #tab-box{width:980px;margin-top:30px}.shopping-pay-page .tab-conbox,.shopping-pay-page .tabs{border-bottom:1px solid #d9d9d9}.shopping-pay-page .tabs{height:40px;padding-left:20px;background:#fff}.shopping-pay-page .tabs li{height:40px;width:85px;line-height:40px;float:left;margin-bottom:-1px;background:#ededed;overflow:hidden;position:relative;margin-left:20px;font-size:12px}.shopping-pay-page .tabs li a{display:block;outline:none;font-size:12px;text-align:center}.shopping-pay-page .tabs li.thistab{background:#fff;border-bottom:1px solid #fff;border:1px solid #d9d9d9;border-bottom:none}.shopping-pay-page .tab-con{padding-top:30px;font-size:14px;line-height:175%;overflow:hidden}.shopping-pay-page .none{display:none}.shopping-pay-page .count{width:1020px;height:170px}.shopping-pay-page .mode{width:210px;height:50px;border:1px solid #d9d9d9;margin-right:45px;margin-bottom:30px;float:left;box-sizing:border-box;text-align:center;vertical-align:middle;display:block;position:relative;line-height:44px}.shopping-pay-page .mode img{vertical-align:middle;outline:none}.shopping-pay-page .mode:hover{border:1px solid red}.shopping-pay-page .choosed-tag{background-image:url(../assets/img/pay/mode-top.png?v1559f4c3cff);height:22px;width:23px;position:absolute;top:0;right:0}.shopping-pay-page .choose-type,.shopping-pay-page .choose-type:hover{border:2px solid red}.shopping-pay-page .btn-wrapper{width:100%;padding-top:21px;margin-top:10px;margin-bottom:55px}.shopping-pay-page .btnby{outline:none;background:url(../assets/img/pay/pay-btn.png?v1559f4c3d04) no-repeat 100% 0;background-repeat:no-repeat;background-position:191px;float:right;width:230px;height:40px;line-height:40px;background-color:#da0040;color:#fff;font-size:16px;border:none;font-weight:700;font-family:arial,Microsoft YaHei!important}.shopping-pay-page .light-box{display:block;position:fixed;width:100%;height:100%;z-index:17;top:0;left:0;font-family:Microsoft Yahei;display:none}.shopping-pay-page .opacity{width:100%;height:1000px;background:#000;filter:Alpha(Opacity=50);opacity:.5;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";overflow:hidden;position:absolute;top:0;left:0}.shopping-pay-page .content{margin-left:-203px;margin-top:-124px;padding:50px 40px;background-color:#fff;position:absolute;top:50%;left:50%;box-shadow:0 0 8px #e8e8e8}.shopping-pay-page .notice{padding:26px 14px;line-height:20px;font-size:13px;color:#9f9f9f}.shopping-pay-page .btns a{width:134px;height:38px;line-height:38px;color:#fff;font-size:14px;margin:0 14px;display:inline-block;text-align:center;text-decoration:none}.shopping-pay-page .change{background:#bdbdbd}.shopping-pay-page .over{background:#da0040}.shopping-pay-page .close a{text-decoration:none;color:#666;outline:none}.shopping-pay-page .close,.shopping-pay-page .close a{width:30px;height:30px;line-height:30px;position:absolute;top:0;right:0;font-size:16px;font-family:arial;text-align:center}.shopping-cashondelivery-page{width:860px;margin:0 auto;font-family:arial,Microsoft YaHei;font-size:12px;text-align:left;line-height:150%}.shopping-cashondelivery-page .cart-order{width:860px;margin-top:70px}.shopping-cashondelivery-page .cart-order h1{height:70px;line-height:40px;color:#333;text-align:center;font-size:20px;font-family:Arial,helvetica,sans-serif}.shopping-cashondelivery-page .ok-br{width:30px;height:30px;background:url(../assets/img/pay/ok.png?v1559f4c3d03) no-repeat;display:inline-block;vertical-align:middle}.shopping-cashondelivery-page .list-box{border:1px solid #dadada;border-top:10px solid #000;border-bottom:0;margin-bottom:20px;font-size:14px}.shopping-cashondelivery-page .list-t{height:36px;line-height:36px;background:#f3f3f3;text-align:center;color:#333;border-bottom:1px solid #dadada}.shopping-cashondelivery-page .list-t .yoho-coin{width:14px;height:14px;display:inline-block;background-image:url(../assets/img/sprite.cart.png?v1559f4c4796);background-position:-321px -225px;vertical-align:middle;margin-top:-2px;margin-right:4px}.shopping-cashondelivery-page .li-1{width:170px;height:36px;border-right:1px solid #dadada;font-weight:700;float:left}.shopping-cashondelivery-page .li-1 a{text-decoration:none;color:#468fa2;outline:none}.shopping-cashondelivery-page .li-2,.shopping-cashondelivery-page .li-3,.shopping-cashondelivery-page .li-4{width:170px;height:36px;border-right:1px solid #dadada;float:left}.shopping-cashondelivery-page .li-5{width:170px;height:36px;float:left}.shopping-cashondelivery-page .list{height:36px;line-height:36px;background:#fff;text-align:center;border-bottom:1px solid #dadada;font-size:14px}.shopping-cashondelivery-page .f-rz{font-weight:700;font-size:14px;color:#e8044f}.shopping-cashondelivery-page .f-e{color:#468fa2}.shopping-cashondelivery-page .f-a{color:#e8044f}.shopping-cashondelivery-page .list-b{border:1px solid #fdcf74;background:#fcfbdd;color:#976637;padding:20px;line-height:1.8;margin-bottom:20px;font-family:Arial,helvetica,sans-serif}.shopping-cashondelivery-page .list-b a{text-decoration:none;color:#468fa2;outline:none}.shopping-cashondelivery-page .list-b b{color:#c00}.shopping-cashondelivery-page .pay-mode{color:#666}.shopping-cashondelivery-page .btns{text-align:center;padding:20px 0;margin-bottom:150px}.shopping-cashondelivery-page .btns a{display:inline-block;height:33px;line-height:33px;text-align:center;font-size:14px;font-weight:700;cursor:pointer;border-radius:4px}.shopping-cashondelivery-page .btns .check-order{background:#da034a;color:#fff;border:1px solid #9d0134;width:134px;margin-right:15px}.shopping-cashondelivery-page .btns .return-home{background:#eee;color:#000;border:1px solid #b0b0b0;width:97px}.pay-notice-page{width:860px;margin:70px auto;font-size:12px}.pay-notice-page .font-red{color:#e8044f}.pay-notice-page h1{height:70px;line-height:40px;color:#333;text-align:center;font-size:20px;font-family:Arial,helvetica,sans-serif}.pay-notice-page .ok-icon{display:inline-block;width:30px;height:30px;background:url(../assets/img/pay/ok.png?v1559f4c3d03) no-repeat;vertical-align:text-top}.pay-notice-page .order-info{border-right:1px solid #dadada;border-top:10px solid #000;margin-bottom:20px}.pay-notice-page .table-row{height:36px;line-height:36px;text-align:center;color:#333;border-bottom:1px solid #dadada}.pay-notice-page .table-row .order-num,.pay-notice-page .table-row .pay,.pay-notice-page .table-row em{font-weight:700}.pay-notice-page .table-row .pay-mode{color:#666}.pay-notice-page .table-row li{float:left;width:170px;border-left:1px solid #dadada;font-size:14px}.pay-notice-page .order-table-header{background:#f3f3f3}.pay-notice-page .order-table-header .yoho-coin{width:14px;height:14px;display:inline-block;background-image:url(../assets/img/sprite.cart.png?v1559f4c4796);background-position:-321px -225px;vertical-align:middle;margin-top:-2px;margin-right:4px}.pay-notice-page .notice-link{color:#468fa2}.pay-notice-page .notice-tip{border:1px solid #fdcf74;background:#fcfbdd;color:#976637;line-height:1.8;margin-bottom:20px;padding:20px;font-family:Arial,helvetica,sans-serif}.pay-notice-page .btns{text-align:center;padding:20px 0}.pay-notice-page .btns a{display:inline-block;height:33px;line-height:33px;text-align:center;font-size:14px;font-weight:700;cursor:pointer;border-radius:4px}.pay-notice-page .btns .check-order{background:#da034a;color:#fff;border:1px solid #9d0134;width:134px;margin-right:15px}.pay-notice-page .btns .return-home{background:#eee;color:#000;border:1px solid #b0b0b0;width:97px}.pay-notice-page .notice-img{width:100%}.pay-wechatqrcode-page{width:990px;margin:0 auto;font-size:12px;font-family:arial,Microsoft YaHei}.pay-wechatqrcode-page .pay-title{height:52px;overflow:hidden;padding:20px 0 0;margin:0 auto;border-bottom:2px solid #000}.pay-wechatqrcode-page .pay-title ul{width:446px;height:12px;float:right;list-style:none;padding:0;margin:0;background:url(../assets/img/pay/pay-list.png?v1559f4c3d06) no-repeat 100% 0}.pay-wechatqrcode-page .pay-title li{width:176px;height:12px;text-align:center;color:#999;float:left}.pay-wechatqrcode-page .pay-title li span{display:block;height:15px;padding:15px 0 0;line-height:15px}.pay-wechatqrcode-page .pay-title .end{width:93px;height:18px;color:#000}.pay-wechatqrcode-page .pay-title .end span{text-align:right}.pay-wechatqrcode-page .step4{height:24px;width:99px;overflow:hidden;background-image:url(../assets/img/pay/pay-title.png?v1559f4c3d08);float:left}.pay-wechatqrcode-page .w-title{padding:25px 0 12px;overflow:hidden}.pay-wechatqrcode-page .w-left{width:670px;float:left}.pay-wechatqrcode-page .w-left h3{line-height:26px;height:26px;margin-bottom:4px;overflow:hidden;font-size:14px;font-weight:400}.pay-wechatqrcode-page .w-left p{height:22px;line-height:22px;color:#9b9b9b}.pay-wechatqrcode-page .w-left p span{color:red}.pay-wechatqrcode-page .w-right{margin-left:670px;overflow:hidden;text-align:right}.pay-wechatqrcode-page .w-right p{line-height:26px;height:26px;margin-bottom:4px;overflow:hidden;font-size:14px}.pay-wechatqrcode-page .w-right p strong{color:#ff5d5b;font-size:18px;margin:0 3px;font-weight:700}.pay-wechatqrcode-page .w-right a{color:#2ea7e7;padding-right:14px;position:relative;display:inline-block;height:22px;line-height:22px}.pay-wechatqrcode-page .w-right a i{width:0;height:0;font-size:0;position:absolute;top:9px;right:4px;z-index:1;cursor:pointer}.pay-wechatqrcode-page .up{float:right;border-width:4px 3px 0;border-style:solid dashed dashed;border-color:#2ea7e7 transparent transparent}.pay-wechatqrcode-page .down{float:right;border-width:0 3px 4px;border-style:dashed dashed solid;border-color:transparent transparent #2ea7e7}.pay-wechatqrcode-page .w-addrinfo{padding:12px 0;color:#9b9b9b;line-height:22px;border-top:1px solid #e4e5eb;display:none}.pay-wechatqrcode-page .w-addrinfo span{padding:0 20px}.pay-wechatqrcode-page .w-payment{border:1px solid #e5e5e5;border-top:3px solid #4b5b78;background-color:#fff;padding:26px 30px 30px;margin-top:6px;margin-bottom:50px}.pay-wechatqrcode-page .w-payment h2{font-size:18px;font-weight:400;display:block}.pay-wechatqrcode-page .w-p-weixin{width:300px;height:380px;padding:20px 370px 30px 0;margin:0 auto;overflow:hidden;background:url(../assets/img/pay/w-p-phone.png?v1559f4c3d09) no-repeat 100% 0}.pay-wechatqrcode-page .w-p-erm{width:250px;height:250px;padding:24px;margin-bottom:20px;border:1px solid #ddd;overflow:hidden}.pay-wechatqrcode-page .w-p-word{height:44px;padding:8px 0 8px 125px;background:url(../assets/img/pay/w-p-word.png?v1559f4c3d0a) no-repeat 50px 8px #090909}.pay-wechatqrcode-page .w-p-word p{margin:0;font-size:14px;line-height:22px;color:#fff;font-weight:700}.pay-wechatqrcode-page .w-pay-change{display:block;height:30px;line-height:30px;margin-top:50px;color:#0aaefa;cursor:14px}.pay-wechatqrcode-page .w-pay-change i{float:left;margin-right:14px;font-family:arial;font-style:normal;font-size:16px}.wechatqrcodereturn{width:990px;margin:0 auto;font-size:12px;font-family:Arial,helvetica,sans-serif}.wechatqrcodereturn .pay-title{height:65px;overflow:hidden;padding:20px 0 0;margin:0 auto;border-bottom:2px solid #000}.wechatqrcodereturn .pay-title ul{width:446px;height:12px;float:right;list-style:none;padding:0;margin:0;background:url(../assets/img/pay/pay-list.png?v1559f4c3d06) no-repeat 100% 0}.wechatqrcodereturn .pay-title li{width:176px;height:12px;text-align:center;color:#999;float:left}.wechatqrcodereturn .pay-title li span{display:block;height:15px;padding:15px 0 0;line-height:15px}.wechatqrcodereturn .pay-title .end{width:93px;height:18px;color:#000}.wechatqrcodereturn .pay-title .end span{text-align:right}.wechatqrcodereturn .step5{height:33px;width:97px;overflow:hidden;background-image:url(../assets/img/pay/finsh.png?v1559f4c3cff);float:left}.wechatqrcodereturn .pay-wechat-return{overflow:hidden;padding-top:10px}.wechatqrcodereturn .payerror{margin:50px 0 0 300px;font-size:14px;font-weight:700;color:#000;padding-left:25px;line-height:21px;background:url(../assets/img/pay/pay-fail.png?v1559f4c3d05) no-repeat}.wechatqrcodereturn .arrival-time{margin:10px 0 0 325px;color:#666}.wechatqrcodereturn .tell-phone{color:#e8044f;font-weight:700;font-size:16px}.wechatqrcodereturn .cart-bigbtns span{margin-right:5px}.wechatqrcodereturn .btn-type{display:inline-block;height:35px;padding:0 0 0 2px;overflow:hidden;font-size:14px;margin:40px 0 0 320px}.wechatqrcodereturn .btn-type a{display:inline-block;height:35px;line-height:32px;padding:0 20px;background:url(../assets/img/pay/btnby.png?v1559f4c3cfb) no-repeat;border:none;overflow:visible;cursor:pointer;margin:0;color:#666}.wechatqrcodereturn .we-font{margin:20px 0 0 320px;height:36px;line-height:36px;padding-left:16px;color:#999;display:block;background:url(../assets/img/pay/pay-plaint.png?v1559f4c3d07) no-repeat 1px}.about-page{width:990px;padding:10px 0 20px}.about-page .about-nav{width:210px;padding:10px 20px;background-color:#ebe9ea;border:1px solid #d7d7d7;border-radius:5px}.about-page .about-nav li{line-height:30px;font-size:12px;text-align:center;border-bottom:1px solid #ddd;border-top:1px solid #fff}.about-page .about-nav li a{color:#333;font-weight:700}.about-page .about-nav li a:hover{color:#f60}.about-page .about-nav li:first-child{border-top:0}.about-page .about-nav .act a{color:#ed004c;cursor:pointer}.about-page .about-nav .act a:hover{color:#ed004c}.yohobuy-about-page .main-container{width:720px;border:1px solid #d7d7d7;border-radius:5px;overflow:hidden}.yohobuy-about-page .main-container .text-title{border-bottom:4px solid red;font-family:微软雅黑;height:100px;line-height:100px;font-weight:700;font-size:36px;color:#333;text-align:center}.yohobuy-about-page .main-container .text-info{padding:20px;color:#333;overflow:hidden;font-size:12px;font-weight:400;line-height:24px}.newpower-about-page .main-container{width:720px;border:1px solid #d7d7d7;border-radius:5px;overflow:hidden}.newpower-about-page .main-container .text-info{line-height:30px;font-size:14px;font-weight:700;text-align:center;color:#333;padding:20px;overflow:hidden}.contact-about-page .main-container{width:720px;border:1px solid #d7d7d7;border-radius:5px;overflow:hidden}.contact-about-page .main-container .text-title{border-bottom:4px solid red;font-family:微软雅黑;height:100px;line-height:100px;font-weight:700;font-size:36px;color:#333;text-align:center}.contact-about-page .main-container .text-info{padding:20px;color:#333;overflow:hidden;font-size:12px;font-weight:400;line-height:24px}.contact-about-page .main-container strong{font-weight:700}.link-about-page .main-container{width:720px;border:1px solid #d7d7d7;border-radius:5px;overflow:hidden}.link-about-page .main-container .text-title{border-bottom:4px solid red;font-family:微软雅黑;height:100px;line-height:100px;font-weight:700;font-size:36px;color:#333;text-align:center}.link-about-page .main-container .text-info{padding:20px;color:#333;overflow:hidden;font-size:12px;font-weight:400;line-height:24px}.link-about-page .main-container h2{font-size:14px;line-height:30px;border-bottom:1px dashed #ccc}.link-about-page .main-container ul{padding:10px 0;list-style:none}.link-about-page .main-container strong{font-weight:700}.privacy-about-page .main-container{width:720px;border:1px solid #d7d7d7;border-radius:5px;overflow:hidden}.privacy-about-page .main-container .text-title{border-bottom:4px solid red;font-family:微软雅黑;height:100px;line-height:100px;font-weight:700;font-size:36px;color:#333;text-align:center}.privacy-about-page .main-container .text-info{padding:20px;color:#333;overflow:hidden;font-size:12px;font-weight:400;line-height:24px}.privacy-about-page .main-container strong{font-weight:700}.settled-apply-page .mask,.settled-page .mask{position:fixed;top:0;right:0;bottom:0;left:0;background:#ccc;opacity:.3;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=30)";z-index:20}.settled-page{margin-top:10px;margin-bottom:30px}.settled-page .banner{margin-bottom:45px}.settled-page .flow-container{position:relative;width:1033px;margin:0 auto}.settled-page .fake-link{position:absolute;bottom:-4px;left:221px;width:150px;height:32px;background:#fff;opacity:0;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";cursor:pointer}.settled-page .notice-container{position:fixed;width:960px;left:50%;top:30px;margin-left:-480px;z-index:2;overflow-y:auto;overflow-x:hidden;border-radius:10px;z-index:21}.settled-page .fake-close{position:fixed;width:30px;height:30px;top:44px;margin-left:914px;cursor:pointer;background:url(../assets/img/about/close.png?v1559f4c3c42) no-repeat 50%}.min-screen .settled-page .banner{width:990px}.min-screen .settled-page .flow-container,.min-screen .settled-page .flow-path{width:890px}.min-screen .settled-page .fake-link{bottom:-6px;left:190px;width:130px}.settled-apply-page{font-size:14px}.settled-apply-page .error{border-color:red!important}.settled-apply-page .required-mark{color:red}.settled-apply-page .banner{display:block;margin-top:10px;margin-bottom:30px}.settled-apply-page .title{margin-bottom:10px;padding-left:215px}.settled-apply-page .title span{font-size:18px;line-height:20px;color:#000;font-weight:700;vertical-align:top}.settled-apply-page .title .edit-img{width:24px;height:22px}.settled-apply-page .form-container{width:100%;padding:30px 0;border:1px solid #f4f5f5;border-left:none;border-right:none}.settled-apply-page .signup-form{width:790px;margin:0 auto}.settled-apply-page .signup-form .long-input{width:400px}.settled-apply-page .signup-form .short-input{width:150px}.settled-apply-page .signup-form td{border:10px solid transparent;height:41px}.settled-apply-page .signup-form tr.has-sub td{border-bottom:0}.settled-apply-page .signup-form tr.sub td{border-top:2px}.settled-apply-page .signup-form tr td:first-child{text-align:right}.settled-apply-page .signup-form .sub .tip-td{vertical-align:top}.settled-apply-page .signup-form .button,.settled-apply-page .signup-form input,.settled-apply-page .signup-form select{height:36px;line-height:36px;border-radius:3px;border:1px solid #979797}.settled-apply-page .signup-form select{line-height:18px;padding:9px 0}.settled-apply-page .signup-form input[type=radio]{border:none;vertical-align:text-bottom;margin-bottom:-10px}.settled-apply-page .signup-form .button{width:156px;background-color:#fff;border-radius:6px}.settled-apply-page .signup-form input[type=text]{text-indent:5px}.settled-apply-page .signup-form .swfupload{border:1px solid #ccc;border-radius:6px;height:35px;width:160px;background-color:#fff;cursor:pointer}.settled-apply-page .signup-form .placeholder{color:#979797}.settled-apply-page .signup-form ul{list-style:none;padding-left:0}.settled-apply-page .signup-form .for-other{width:120px;padding:0}.settled-apply-page .signup-form .upload-btn{font-size:13px;border-radius:3px;border:1px solid #979797}.settled-apply-page .signup-form .upload-btn input{cursor:pointer}.settled-apply-page .signup-form .uploadifive-queue{display:none}.settled-apply-page .shop-addres{width:300px}.settled-apply-page .shop-sales-volume{width:80px}.settled-apply-page .shop-list li{margin-bottom:5px}.settled-apply-page .shop-list li>span{margin:0 4px}.settled-apply-page .shop-list li:last-child{margin-bottom:0}.settled-apply-page .tip{font-size:12px;color:#c7c7c7;margin:2px 0}.settled-apply-page .submit-btn{background-color:#000;color:#fff;height:37px;width:157px;border-radius:6px;border:none;margin-top:30px;margin-left:377px;cursor:pointer;margin-bottom:30px}.settled-apply-page .add-btn{width:22px;height:22px;vertical-align:middle;margin-left:20px;cursor:pointer}.settled-apply-page .submit-success{position:fixed;width:500px;height:180px;top:50%;left:50%;margin-top:-170px;margin-left:-280px;z-index:8;padding:30px 50px;background-color:#fff;border-radius:10px;text-align:center}.settled-apply-page .submit-success .content{border-bottom:1px solid #ccc;margin-bottom:20px}.settled-apply-page .submit-success .content h1,.settled-apply-page .submit-success .content h2{margin-bottom:30px}.settled-apply-page .submit-success .sure{font-size:24px;color:red;text-align:center;text-decoration:none;font-weight:700}.settled-apply-page .category-list{margin-top:-12px}.settled-apply-page .category-list li{margin-bottom:5px}.settled-apply-page .category-list li:last-child{margin-bottom:0}.settled-apply-page .has-radio td{line-height:41px}.settled-apply-page .tip-sub td{height:14px}.settled-apply-page input[type=radio]{margin-left:10px}.settled-apply-page .brand-tip,.settled-apply-page .goods-tip{color:#000;margin-top:10px}.settled-success{border:none;border-radius:10px;background:#fff}.settled-success .content{border-bottom:1px solid #ccc}.settled-success .main-title{font-size:28px}.settled-success .sub-title{font-size:16px;margin:20px 0}.settled-success .apply-success-ok{border:none;color:red;font-weight:700;font-size:18px;line-height:60px}.app-download-page .top-wrapper{height:550px;background:url(../assets/img/download/main-top.png?random=1466056691&v1559f4c3c86) no-repeat top}.app-download-page .top-wrapper .top-down{width:444px;margin:0 auto;padding-top:305px}.app-download-page .top-wrapper .down-btns{width:216px;height:65px;display:block;margin-left:200px;float:right}.app-download-page .top-wrapper .down-btns:first-child{margin-bottom:10px}.app-download-page .main-wrapper .intro{width:990px;height:437px;margin:114px auto 0}.app-download-page .main-wrapper .intro-6{height:350px}.app-download-page .main-wrapper .bottom-down{width:350px;margin:0 auto;overflow:hidden;padding-top:34px}.app-download-page .main-wrapper .bottom-down .qr-code{width:130px;height:130px;background-image:url(../assets/img/sprite.download.png?v1559f4c4799);background-position:0 0}.app-download-page .main-wrapper .bottom-down .down-btns{width:200px;height:60px;display:block}.app-download-page .main-wrapper .bottom-down .down-app-btn{margin-bottom:8px;background-image:url(../assets/img/sprite.download.png?v1559f4c4799);background-position:-132px 0}.app-download-page .main-wrapper .bottom-down .down-apk-btn{background-image:url(../assets/img/sprite.download.png?v1559f4c4799);background-position:-132px -62px}.app-download-page .foot-wrapper{height:100px;text-align:center}
\ No newline at end of file
diff --git a/web-static/dist/yohobuy/4.6.3/index.js b/web-static/dist/yohobuy/4.6.3/index.js
new file mode 100644
index 0000000..485de10
--- /dev/null
+++ b/web-static/dist/yohobuy/4.6.3/index.js
@@ -0,0 +1,8 @@
+define("index",["jquery","handlebars","source-map","index","lazyload","jquery-pjax","dot","jquery.placeholder"],function(e,t,n){var a;e("js/common"),e("js/header"),e("js/simple-header"),e("js/product/entry"),e("js/index/index"),e("js/brand/index"),e("js/passport/entry"),e("js/cart/cart"),e("js/guang/entry"),e("js/home/entry"),e("js/help/entry"),e("js/order/ensure"),e("js/shopping/pay"),e("js/pay/wechatqrcode"),e("js/about/entry"),e("js/coupon/entry"),n.exports=a}),define("js/common",["jquery"],function(e,t,n){function a(e){var t=new RegExp(e+"=([^;$]*)","i"),n="$1";return t.test(decodeURIComponent(document.cookie))?RegExp[n]:""}function i(e,t,n){var a,i,o,s,r="";"undefined"!=typeof t&&(n=n||{},null===t&&(t="",n.expires=-1),n.expires&&("number"==typeof n.expires||n.expires.toUTCString)&&("number"==typeof n.expires?(s=new Date,s.setTime(s.getTime()+24*n.expires*60*60*1e3)):s=n.expires,r="; expires="+s.toUTCString()),a=n.path?"; path="+n.path:"",i=n.domain?"; domain="+n.domain:"",o=n.secure?"; secure":"",document.cookie=[e,"=",encodeURIComponent(t),r,a,i,o].join(""))}function o(){var e,t=a("_UID");return"undefined"==typeof t?0:(e=t.split("::"),"undefined"==typeof e||e.length<4?0:e)}function s(){var e=o();return 0===e?0:e[1]}function r(){var e=a("_g");return"undefined"==typeof e?"":JSON.parse(e).k}function d(){var e,t,n={},a=window.location.search,i=a?decodeURIComponent(a).slice(1).split("&"):[];for(t=0;t<i.length;t++)e=i[t].split("="),n[e[0]]=e[1];return n}var l=e("jquery"),c=l("body");e("js/footer"),function(e,t,n,a,i){var o=t.createElement(n),s=t.getElementsByTagName(n)[0];e.YohoAcquisitionObject=i,e[i]=function(){e[i].p=arguments},o.async=1,o.src=a,s.parentNode.insertBefore(o,s)}(window,document,"script",("https:"==document.location.protocol?"https":"http")+"://cdn.yoho.cn/yas-jssdk/1.0.17/yas.js","_yas"),function(){var e=s();e=0===e?"":e,window._ozuid=e,window._yas&&window._yas(1*new Date,"1.0.17","yohobuy_web",e,"","")}(),l(window).on("resize",function(){var e=l(this).width();1360>e?l(".return-top").addClass("min"):l(".return-top").removeClass("min"),1180>e?c.addClass("min-screen"):c.removeClass("min-screen")}).trigger("resize"),l.extend({queryString:function(){var e,t,n=[],a=window.location.search.slice(1).split("&");for(t=0;t<a.length;t++)e=a[t].split("="),n.push(e[0]),n[e[0]]=e[1];return n}}),function(){l(window).load(function(){var e,t=document.getElementById("user-thumb");t&&(e=new Image,e.src=t.src,e.onerror=function(){l(t).parent().append('<div class="default-user-thumb"></div>').end().remove()})})}(),window.cookie=a,window.setCookie=i,window.getUser=o,window.getUid=s,window.getShoppingKey=r,window.queryString=d}),define("js/footer",["jquery"],function(e,t,n){function a(){var e=s("#subscriber-box"),t=s("#subscriber-btn"),n=/^[.\-_a-zA-Z0-9]+@[\-_a-zA-Z0-9]+\.[a-zA-Z0-9]/,a={mail:"&#xe61b;",tick:"&#xe61a"};e.focus(function(){s(this).val("").css("color",""),t.removeClass("done").html(a.mail)}),t.click(function(){var i=s.trim(e.val());if(""!==i&&n.test(i))try{s.ajax({url:"//www.yohobuy.com/common/emailSubscriber",dataType:"jsonp",data:{email:i,tmp:Math.random(),uid:window.getUid()},success:function(n){1===n.data.result?(e.val("已订阅到:"+i),t.addClass("done").html(a.tick)):e.css("color","red")}})}catch(o){console.log(o.message)}else e.css("color","red")})}function i(){var e=s(".vote"),t=s("#feed-back-page"),n=e.children("li").length;t.on("click","span",function(){var t=s(this);t.hasClass("cur")||(t.siblings(".cur").removeClass("cur"),t.addClass("cur"),e.children().not(".hide").addClass("hide").end().eq(t.index()).removeClass("hide"))}),e.on("click",".feed-back-btn",function(){var a=s(this),i=a.closest("li"),o=i.index(),r=[],d=i.find(".feedback-answer").val(),l=i.find(".feedback-id").val(),c=i.find(".question-id").val();i.find(":checked").each(function(){r.push(s(this).val())}),s.ajax({url:"//www.yohobuy.com/common/suggestFeedback",dataType:"jsonp",data:{feedback_id:l||0,question_id:c||0,answer:d||"",solution:r.join(",")},success:function(a){var s=o+1;if(1===~~a.data.result){if(o===n-1)return void alert("感谢您的参与!");i.addClass("hide"),e.children(":eq("+(o+1)+")").removeClass("hide"),t.children(".cur").removeClass("cur"),t.children(":eq("+s+")").addClass("cur")}}})})}function o(){s(window).height()>s(document).height()&&r.addClass("hide")}var s=e("jquery"),r=s(".return-top");r.click(function(){s("html,body").animate({scrollTop:0},500)}),s(window).scroll(function(){0===s(window).scrollTop()?r.addClass("hide"):r.removeClass("hide")}),r.hasClass("hide")&&s("img").load(o),a(),i(),window.rePosReturnTop=o}),define("js/header",["jquery","handlebars","source-map","index"],function(e,t,n){function a(e,t,n){try{ee.push({louceng:e,weizhi:t,event:n})}catch(a){}}function i(){var e=H("#nav_keyword").text(),t="vans",n=H("#query_key");""!==e?(n.css({color:"#000"}),n.val(e)):(n.css({color:"#e0e0e0"}),n.val(t),n.on("focus",function(e){n.css({color:"#000"}),n.val("")}))}function o(){var e={cookie:"_g",cartNum:""},t="",n="",a=0,i=0,o=0,s=0,r="";H.fn.miniCart=function(a){if(t=H.extend(e,a),"undefined"==typeof window.cookie(t.cookie))n=null;else if(t.cookie)try{n=Y.parse(window.cookie(t.cookie))}catch(i){}null!==n&&""!==n&&(s=parseInt(n._nac)+parseInt(n._ac),0===s?H("#icart-num").attr("class","icart-num icart-none"):H("#icart-num").attr("class","icart-num"),H(t.cartNum).html(s))},H.fn.search=function(e){function t(t){var n=H.trim(H(t).val());return n=n.replace(new RegExp("'","gm"),""),""===n?(H(".search-list").hide(),!1):(n=encodeURI(n),void H.get(e+"?query="+n,function(e){H(".search-list").html(e.data),a=H(".search-list").children("li").length,i=-1,a>0?H(".search-list").show():H(".search-list").hide(),H(".search-list").find("a").hover(function(){H(this).css("background-color","#eee")},function(){H(this).css("background-color","#fff")})},"jsonp"))}function n(e){H(".search-list li:eq("+o+")").children("a").css("background-color","#fff"),H(".search-list li:eq("+i+")").children("a").css("background-color","#eee"),r=H(".search-list li:eq("+i+")").children("a").attr("title"),H("#query_key").val(r)}return this.each(function(){H(this).keyup(function(e){if(38===e.which){if(0===a)return!1;-1===i&&(i=0),o=i,i=(i-1+a)%a,n(this)}else if(40===e.which){if(0===a)return!1;o=i,i=(i+1)%a,n(this)}else 13===e.which?window.submitSearch():t(this)})})},H.extend({getData:function(e,t,n){var a={page:1,method:"",v:1,return_type:"jsonp",open_key:"12345",tmp:Math.random()},i="";if(void 0===typeof e||""===e)return!1;i=H.extend(a,t),i.page=i.page||1;try{H.getJSON(e+"/?callback=?",i,function(e){return""!==n?("undefined"!=typeof n(e.data)&&Y.parse(n(e.data)),!1):void 0})}catch(o){console.log(o.message)}},getShoppingKey:function(){var e,t=window.cookie("_g"),n=Y.parse(t);return"undefined"==typeof t||null===t?(e=window.cookie("_SPK"),e?e:""):n._k}})}function s(e){var t;200===+e.code&&"object"==typeof e.data&&(t=""!==e.data.url?'<a target="_blank" href="'+e.data.url+'" class="page-top-banner"style="height:36px;border:none;background-image:url('+window.unescape(e.data.src)+');background-position: center;display:block;">&nbsp;</a>':'<div class="yoho-notice"><div class="notice-container center-content"><h1 class="notice-title">关于系统升级的公告</h1><div class="notice-content"><p class="tips">尊敬的顾客:</p><p class="detail">您好!为了向您提供更优质的服务,目前系统正在升级,请耐心等待。</p><p class="detail">系统升级期间,部分地区用户体验会有暂时中断,如遇紧急事宜,欢迎垂询客服热线:400-889-9646 09:00-22:30(周一至周日)。稍后系统将恢复正常使用,欢迎您继续光顾YOHO!BUY有货!带来不便之处深表歉意,请您谅解!</p></div></div></div>',H("body").prepend(t))}function r(e){var t=document.createElement("script");t.src=le+e+"&client_type=web&callback=JsonPCallBack",document.getElementsByTagName("head")[0].appendChild(t)}function d(e,t){var n,a;H(e).hover(function(e){e.preventDefault(),n=H(this),a=H(t)[0],""===a.style.display?(n.addClass("acttags"),a.style.display="block"):(n.removeClass("acttags"),a.style.display="")})}function l(){var e,t,n=[{sourceClass:".myyoho",targetClass:".myyoho-info"},{sourceClass:".phone",targetClass:".qr"}];for(t=0;t<n.length;t++)e=n[t],d(e.sourceClass,e.targetClass)}function c(){var e;H(".yohogroup").mouseenter(function(){e=H(this),e.text(e.attr("cn"))}),H(".yohogroup").mouseleave(function(){e=H(this),e.text(e.attr("en"))})}function u(){var e,t,n=["webkit","moz","ms"];for(t=0;t<n.length;t++)return e=n[t]+"RequestAnimationFrame",!!window[e]}function h(){var e=["webkit","moz","ms"],t=e[0]+"RequestAnimationFrame",n=e[1]+"RequestAnimationFrame",a=e[2]+"RequestAnimationFrame";return window[t]?function(e){requestAnimationFrame(e)}:window[n]?function(e){window[n](e)}:window[a]?function(e){window[a](e)}:function(e){window.setTimeout(e,67)}}function p(){ne+=10,ae.css({transform:"rotateX("+ne+"deg)","-webkit-transform":"rotateX("+ne+"deg)","-moz-transform":"rotateX("+ne+"deg)"}),ne/90%2===1&&(ie?(ae.css("background-image","url(//static.yohobuy.com/newheader/img/logo1.png)"),ie=!1):(ae.css("background-image","url(//static.yohobuy.com/newheader/img/logo_e.png)"),ie=!0)),ne/90%2===0&&ne%360!==0?window.setTimeout(p,3e3):ne%360===0?window.setTimeout(p,6e4):te(function(){p()})}function f(){W&&window.clearTimeout(W),ae.fadeOut(oe,function(){ie=!1,ae.css("background-image","url(//static.yohobuy.com/newheader/img/logo.png)"),ae.fadeIn(oe,function(){M=window.setTimeout(function(){ae.fadeOut(oe,function(){window.clearTimeout(M),ie=!0,ae.css("background-image","url(//static.yohobuy.com/newheader/img/logo_e.png)"),ae.fadeIn(oe,function(){W=window.setTimeout(f,6e4)})})},3e3)})})}function m(){u()?(te=h(),window.setTimeout(p,3e3)):window.setTimeout(f,3e3)}function g(e){var t=H(e);t.find(".thirdnavbar").each(function(){var e=H(this),t=e.find("a"),n=t.attr("href"),a="hot"===t.attr("hot"),i={};i=e.hasClass("category-title")?{type:"title",height:49,content:e.text(),index:window.valueIndex,href:n,hot:!1}:{type:"catlist",height:36,content:t.text(),index:window.valueIndex,href:n,hot:a},window.valueIndex++,window.newArr.push(i)})}function v(){var e=window.newArr.length,t=0,n=[],a=[],i=[],o=[],s="",r="",d="",l=0,c=0,u=0;for(t;e>t;t++){if(n=window.newArr[t],0===window.gindex&&(window.oh1=window.oh1+n.height,window.oh1>=340&&t!==e-1&&(window.targetArr1=window.newArr.slice(0,n.index+1),window.nowIndex=n.index+1,window.gindex++),t===e-1)){window.targetArr1=window.newArr.slice(0,e+1);break}if(1===window.gindex&&(window.oh2=window.oh2+n.height,window.oh2>=340&&t!==e-1&&(window.targetArr2=window.newArr.slice(window.nowIndex,n.index+1),window.nowIndex=n.index+1,window.gindex++),t===e-1)){window.targetArr2=window.newArr.slice(window.nowIndex,e+1);break}if(2===window.gindex){if(window.oh3=window.oh3+n.height,window.oh3>=340&&t!==e-1){window.targetArr3=window.newArr.slice(window.nowIndex,n.index+1),window.nowIndex=n.index+1,window.gindex++;break}if(t===e-1){window.targetArr3=window.newArr.slice(window.nowIndex,e+1);break}}}for(l;l<window.targetArr1.length;l++)a=window.targetArr1[l]||{},"title"===a.type?window.inner1=window.inner1+'<li class="cattitle"><h3><a  href="'+a.href+'">'+a.content+"</a></h3></li>":a.hot===!0?window.inner1=window.inner1+'<li class="catdetail"><a  class="thirdcatelink hot" href="'+a.href+'">'+a.content+"</a></li>":window.inner1=window.inner1+'<li class="catdetail"><a  class="thirdcatelink" href="'+a.href+'">'+a.content+"</a></li>";for(c;c<window.targetArr2.length;c++)i=window.targetArr2[c]||{},"title"===i.type?window.inner2=window.inner2+'<li class="cattitle"><h3><a  href="'+i.href+'">'+i.content+"</a></h3></li>":i.hot===!0?window.inner2=window.inner2+'<li class="catdetail"><a  class="thirdcatelink hot" href="'+i.href+'">'+i.content+"</a></li>":window.inner2=window.inner2+'<li class="catdetail"><a  class="thirdcatelink" href="'+i.href+'">'+i.content+"</a></li>";for(u;u<window.targetArr3.length;u++)o=window.targetArr3[u]||{},"title"===o.type?window.inner3=window.inner3+'<li class="cattitle"><h3><a  href="'+o.href+'">'+o.content+"</a></h3></li>":o.hot===!0?window.inner3=window.inner3+'<li class="catdetail"><a  class="thirdcatelink hot" href="'+o.href+'">'+o.content+"</a></li>":window.inner3=window.inner3+'<li class="catdetail"><a  class="thirdcatelink" href="'+o.href+'">'+o.content+"</a></li>";""!==window.inner1&&(s='<ul class="cate_row1 cate_row">'+window.inner1+"</ul>"),""!==window.inner2&&(r='<ul class="cate_row2 cate_row">'+window.inner2+"</ul>"),""!==window.inner3&&(d='<ul class="cate_row3 cate_row">'+window.inner3+"</ul>"),window.finalresult=s+r+d,H("#"+window.wrapperindex).empty().append(window.finalresult)}function y(){H(".categorywrapper").each(function(e){window.wrapperindex=H(this).attr("id"),window.newArr=[],window.gindex=0,window.targetArr1=[],window.targetArr2=[],window.targetArr3=[],window.oh1=0,window.oh2=0,window.oh3=0,window.valueIndex=0,window.nowIndex=0,window.inner1="",window.inner2="",window.inner3="",g(H(this).find(".category")),v()})}function b(){var e={},t="",n="",a="",i="",o="";H(document).on("mouseenter",".sub-nav-item",function(){t=H(this).find(".showdetail").attr("data-code"),t&&(e[t]||(e[t]=t,n=H(this).find(".showdetail").find("img"),a=H(this).find(".showdetail").find(".title"),i=H(this).find(".showdetail").find("a"),H.get(le+t+"&width=337&height=250&client_type=web",function(e){n.attr("src",e.data.src),i.attr("href",e.data.url),a.text(e.data.title)},"jsonp")))}),o=H(".cure").find(".name-cn").find("a").attr("href"),H(".main-link").attr("href",o)}function w(){var e=H("#cover");e.remove()}function C(){var e,t=window.cookie("_Gender"),n="",i="",o="",s="";"www.yohobuy.com"!==window.location.host||"undefined"!=typeof t&&""!==t&&null!==t||H.get("//www.yohobuy.com/index/guide",function(t){n=document.createElement("div"),n.id="cover",n.innerHTML=t,document.body.appendChild(n),i=H(window).height(),o=H(".guide-box").height(),e=i/2-o/2,s=H(".guide-box .clear").find("li").length,H(".guide-box").css({width:200*s+"px",top:e+"px"}),H("#cover").bind("click",function(e){window.setCookie("_Gender","1,3",{path:"/",domain:".yohobuy.com",expires:90}),window.setCookie("_Channel","boys",{path:"/",domain:".yohobuy.com",expires:7}),w()}),H("#cover .guide-box .close").bind("click",function(e){a("弹窗","CLOSE","homepage_man"),window.setCookie("_Gender","1,3",{path:"/",domain:".yohobuy.com",expires:90}),window.setCookie("_Channel","boys",{path:"/",domain:".yohobuy.com",expires:7}),w()}),H(".boys img , .boys .go").bind("click",function(e){a("弹窗","BOYS","homepage_man"),window.setCookie("_Gender","1,3",{path:"/",domain:".yohobuy.com",expires:90}),window.setCookie("_Channel","boys",{path:"/",domain:".yohobuy.com",expires:7}),w()}),H(".girls img, .girls .go").bind("click",function(e){a("弹窗","GIRLS","homepage_woman"),window.setCookie("_Gender","2,3",{path:"/",domain:".yohobuy.com",expires:90}),window.setCookie("_Channel","girls",{path:"/",domain:".yohobuy.com",expires:7})}),H(".lifestyle img, .lifestyle .go").bind("click",function(e){window.setCookie("_Channel","lifestyle",{path:"/",domain:".yohobuy.com",expires:7}),a("弹窗","LIEFSTYLE","homepage_lifestyle")}),H("#cover .guide-box").bind("click",function(e){e.stopPropagation()})})}function i(){var e=H("#nav_keyword").text(),t=H("#defaultsearch").val(),n=H("#query_key");""!==e?(n.css({color:"#000"}),n.val(e)):(n.css({color:"#e0e0e0"}),n.val(t),n.on("focus",function(e){n.css({color:"#000"}),n.val("")})),H(document).click(function(e){H(e.target).closest(".searchspan, .search-list").length||H(".search-list").hide()})}function _(){var e=window.cookie("_Gender"),t=H(".cure");"undefined"!=typeof e&&""!==e&&window.setCookie("_Gender",1,{path:"/",domain:".yohobuy.com",expires:7}),"男生"===t.find(".name-cn a").text()&&(window.setCookie("_Gender","1,3",{path:"/",domain:".yohobuy.com",expires:7}),window.setCookie("_Channel","boys",{path:"/",domain:".yohobuy.com",expires:7})),"女生"===t.find(".name-cn a").text()&&window.setCookie("_Gender","2,3",{path:"/",domain:".yohobuy.com",expires:7}),"创意生活"===t.find(".name-cn a").text()&&window.setCookie("_Channel","lifestyle",{path:"/",domain:".yohobuy.com",expires:7}),"潮童"===t.find(".name-cn a").text()&&window.setCookie("_Channel","kids",{path:"/",domain:".yohobuy.com",expires:7})}function x(){H(".first-nav-item").click(function(){var e=window.cookie("_Gender");"undefined"!=typeof e&&""!==e&&window.setCookie("_Gender",1,{path:"/",domain:".yohobuy.com",expires:7}),"男生"===H(this).find(".name-cn a").text()&&(window.setCookie("_Gender","1,3",{path:"/",domain:".yohobuy.com",expires:7}),window.setCookie("_Channel","boys",{path:"/",domain:".yohobuy.com",expires:7})),"女生"===H(this).find(".name-cn a").text()&&(window.setCookie("_Gender","2,3",{path:"/",domain:".yohobuy.com",expires:7}),window.setCookie("_Channel","girls",{path:"/",domain:".yohobuy.com",expires:7})),"创意生活"===H(this).find(".name-cn a").text()&&window.setCookie("_Channel","lifestyle",{path:"/",domain:".yohobuy.com",expires:7}),"潮童"===H(this).find(".name-cn a").text()&&window.setCookie("_Channel","kids",{path:"/",domain:".yohobuy.com",expires:7})})}function k(){var e,t,n,a=document.cookie,i=a.split(";");for(e=0;e<i.length;e++)t=i[e].split("="),"undefined"!=typeof t[0]&&(n=t[0].replace(/\s/g,""),de[n]=t[1])}function j(){H("#miniCartBox").miniCart({cartNum:".ic-infomation"})}function S(){var e,t,n;H.getData("//www.yohobuy.com/common/shoppingCart","",function(a){""===V&&(V=G.compile(H("#mini-cart-tpl").html())),H("#miniCartBox").children(".gobuy-wrapper").html(V({carData:a})),0===parseInt(H(".ic-infomation").html())&&H("#miniCartBox .gobuy-wrapper").html('<div class="gobuy-empty"><h3 class="information">您的购物车暂无商品</h3></div>'),H("#miniCartBox .goods-list li").length<1&&(e=window.cookie("_g"),t=Y.parse(e),null!==t&&(n='{"_k":"'+t._k+'","_nac":0,"_ac":0,"_r":0}',window.setCookie("_g",n,{path:"/",domain:".yohobuy.com"})),H(".ic-infomation").html(0),H("#miniCartBox .gobuy-wrapper").html('<div class="gobuy-empty"><h3 class="information">您的购物车暂无商品</h3></div>'))})}function T(e,t,n){H.getData("//www.yohobuy.com/common/delCartGoods",{product_sku:e,promotion_id:t,product_num:n},function(e){var t=window.cookie("_g"),n=Y.parse(t),a='{"_k":"'+n._k+'","_nac":'+e.total_goods_num+',"_ac":0,"_r":0}';window.setCookie("_g",a,{path:"/",domain:".yohobuy.com"}),S(),j()})}function q(){var e,t,n,a;H(document).on("click",".goodscardelete",function(i){e=H(this),t=e.attr("product_sku"),n=e.attr("promotion_id"),a=e.prev("h3").find(".num").html(),T(t,n,a)})}function I(){var e;H(document).on("click",".mycart_i_down",function(t){e=H(this),e.toggleClass("mycart_i_up"),H("#mycartmore").slideToggle(300)})}function E(){var e,t="//www.yohobuy.com/shopping/cart";H("#miniCartBox").on("click",function(n){e=H(n.target),e.hasClass("gobuy")&&(window.location.href=t)})}function A(e){1===e?(H("#miniCartBox").addClass("list-cur"),H(".gobuy-wrapper").show(),0!==parseInt(H(".ic-infomation").html())?(H("#miniCartBox .gobuy-wrapper").html('<div class="gobuy-loading"><h3 class="information">加载中,请稍后</h3></div>'),S()):H("#miniCartBox .gobuy-wrapper").html('<div class="gobuy-empty"><h3 class="information">您的购物车暂无商品</h3></div>')):(H("#miniCartBox").removeClass("list-cur"),H(".gobuy-wrapper").hide())}function F(){var e;H("#miniCartBox").mouseenter(function(t){e=H(t.target),"miniCartBox"!==e.attr("id")&&"ic-infomation"!==e.attr("class")||A(1)}),H("#miniCartBox").mouseleave(function(e){A(0)})}function U(){var e,t="indexkids",n="indexlifestyle",a="indexboys",i="indexgirls",o="uniquebrand",s=window.location.href,d=window.location.host,l="";-1!==s.indexOf("search")&&(l=re["search"+de._Channel]),-1!==s.indexOf("list")&&(l=re["list"+de._Channel]),-1!==s.indexOf("brands")&&(l=re["brands"+de._Channel]),-1!==s.indexOf("new")&&(l=re["new"+de._Channel]),-1!==s.indexOf("sale")&&(l=re["sale"+de._Channel]),-1!==s.indexOf("home")&&(l=re["home"+de._Channel]),-1!==s.indexOf("kids")&&(l=re[t]),-1===s.indexOf("woman")&&-1===s.indexOf("girls")||(l=re[i]),-1!==s.indexOf("lifestyle")&&(l=re[n]),-1!==s.indexOf("www.yohobuy.com")&&"/"===window.location.pathname&&(l=re[a]),e=d.split(".")[0],"list"!==e&&"search"!==e&&"www"!==e&&"new"!==e&&"item"!==e&&"guang"!==e&&(l=re[o+de._Channel]),r(l)}function D(e){H(".hot-brands").find("ul").stop().animate({opacity:0,"z-index":1},200).eq(e).animate({opacity:1,"z-index":2},200)}function P(){var e,t=0;H(".hot-brands").size()>0&&(e=H(".hot-brands").find("ul").size(),H(".hot-brands").find("ul").eq(0).css({opacity:1,"z-index":2}),H(".brands-control").on("click",".next",function(){t===e-1?t=0:t++,D(t)}),H(".brands-control").on("click",".prev",function(){0===t?t=e-1:t--,D(t)}))}function O(){setInterval(j,2e3)}function L(){var e=H("#goodcartempwarpper"),t="";e&&e.html()&&(t=H("#goodcartempwarpper").html().replace(/\\/g,""),H("#goodcartempwarpper").html(t),Q=G.compile(H("#tmpl-my-login-new").html()))}function $(){var e="//search.yohobuy.com/api/suggest";H("#query_key").search(e)}function N(e){var t=(new Date).getTime(),n='<span>Hi~</span>[<a href="//www.yohobuy.com/signin.html" class="list-a login-out ">请登录</a>]&nbsp;[<a href="//www.yohobuy.com/reg.html" class="list-a login-out" onclick="">免费注册</a>]',a='<span>Hi~<a href="//www.yohobuy.com/home?t='+t+'">{{user_name}}</a></span>&nbsp;{{#if islogin}}[<a href="{{logout}}" class="list-a login-out">退出</a>]{{/if}}{{#unless islogin}}[<a href="//www.yohobuy.com/signin.html" class="list-a login-out">请登录</a>]&nbsp;[<a href="//www.yohobuy.com/reg.html" onclick="" class="list-a login-out">免费注册</a>]{{/unless}}',i=H("#loginBox"),o=window.cookie("_UID"),s=e.data.profile_name,r=0,d=0,l="",c=o.split("::"),u=c[0]||" ",h="//www.yohobuy.com/logout.html",p="1",f=0,m={user_name:s,logout:h,random:Math.random()};if(i.html("").show(),X=G.compile(a),"undefined"==typeof o||null===o)return i.html(n),!1;if("undefined"==typeof c||c.length<4)return i.html(n),!1;for(d;d<u.length;d++)l=u.substr(d,1),r+=/.*[\u4e00-\u9fa5]+.*$/.test(l)?2:1;if(10>=r)s=u;else{for(f=0,d;d<u.length;d++)10>f&&(l=u.substr(d,1),"*"!==l&&(f+=/.*[\u4e00-\u9fa5]+.*$/.test(l)?2:1),s+=l);s.length<u.length&&(s+="...")}h=/http:\/\//.test(c[3])?c[3].replace("www.yohobuy.com","www.yohobuy.com"):"//www.yohobuy.com/logout.html",-1===e.result&&(p="-1"),m.islogin=p,i.html(X(m))}function z(e){var t=e.data,n="";if(1===e.result){if(void 0===typeof t||t.length<1)return!1;"3"===t.vip.curVipInfo.curLevel&&(t.vip3=!0),H("#myYohoBox").mouseenter(function(){return H(this).addClass("acttags"),H("#myYohoBox .myyoho-info").show().html(Q(t)),n=H(".myyoho-photo img").attr("data-url"),1===H._checkUrlState?void H(".myyoho-photo").show().find("img").attr("src",n):void(""!==n&&""===H._checkUrl&&H.ajax({url:n,type:"GET",complete:function(e){200!==e.status&&0!==e.status||(H(".myyoho-photo").show().find("img").attr("src",n),H._checkUrlState=1),H._checkUrl=n}}))}),H("#myYohoBox").mouseleave(function(){H(this).removeClass("acttags"),H("#myYohoBox .myyoho-info").hide()})}}function B(){H.getData("//www.yohobuy.com/common/passport","",function(e){e&&-1!==e.result?(N(e),z(e)):(window.setCookie("_UID","",{path:"/",domain:".yohobuy.com",expires:-1}),se.show())})}function R(){y(),b(),L(),C(),_(),x(),k(),o(),c(),l(),m(),U(),P(),F(),j(),O(),$(),E(),q(),I(),B(),i()}var W,M,H=e("jquery"),G=e("handlebars"),Y=e("index"),Q=null,X=null,V="",Z=/^[\^\!\+\-\(\)\:\[\]\\\{\}\~\*\?\|\&\;\/]{0,}$/g,J="",K="",ee=[],te=null,ne=0,ae=H(".icon-logo"),ie=!0,oe=500,se=H("#loginBox"),re={listboys:"4f78b0f418fc42314d8b6e791cfb7fa8",listgirls:"00c1f025a51b6b597dc37925951ea27d",listkids:"b02df11184727701ade1b6de9737d08c",listlifestyle:"fd35c52dced0c880976ba858346d1fc5",searchboys:"9fb8986ea700cc27a8057361c3924394",searchgirls:"e3e207a1443ca60c8037fe52a5560c18",searchkids:"620fc77f479da8feaeb06f2324e5d0bb",searchlifestyle:"a3c93301c6ffaf3ed0f36a4a451be36d",uniquebrandboys:"2ebb0810c0d1a67e5229149c9c3aba7d",uniquebrandgirls:"99e23385f4ba4b65f406b7e2968ac821",uniquebrandkids:"a74ebc9b17840c91b9ea46568111fe6b",uniquebrandlifestyle:"0e8c81ead53f56302baa4d0ad967f527",brandsboys:"77b352db07129c76a9d532acad149f9f",brandsgirls:"bf047f16e52ebc38be5ce9c7623831e6",brandskids:"e3ae1ce9b5e13c6d271ef3eccb831652",brandslifestyle:"e4ac8029c30f65d7f1af030980d140fe",newboys:"869d3c5f3b450fb52101d00a61ce87cb",newgirls:"d953b6dfdac02483d1dcce8d96055954",newkids:"0874cb6d75df8e0e78f2d475e53ecc08",newlifestyle:"43e8fc8e178115c262bbce2bd0012db7",saleboys:"c846e3165c994769b4201d8c32f3ae9b",salegirls:"52b1d389edcbc62d65de71b80c4d6ad0",salekids:"ad8b1703c761ba00973868ab5199cc27",salelifestyle:"7acc64905c70ac91846f43fb2cec4bbd",homeboys:"b0856a771ef1b59ab1234c74688fa42d",homegirls:"2bd61fa12e4933211518f70fe5ce3c48",homekids:"895c59e8c64b40399c9533509507320c",homelifestyle:"2e037d4e25d2767352ca3e0a4627f7bd",indexboys:"0c911d3000f52e8ca7cffb74f5864c29",indexgirls:"b645b8980c423ab30485e0a9d08c2ef7",indexkids:"17f6d5d5d454d2c507bc5fcbc90f7756",indexlifestyle:"735cd393e841762af8793c346abbbc36"},de={},le="//new.yohobuy.com/common/getbanner?content_code=";H("#api-domain").remove(),window.submitSearch=function(){var e,t,n=H("#query_key").val(),i=H("#defaultsearch").val(),o="Search",s="Head Search",r="Search";if(e=H.trim(J.toLowerCase()),t=H.trim(n.toLowerCase()),a(o,s,r),""!==K&&""!==J&&e===t)location.href=K.replace("'","");else{if(!Z.test(n)||""===n)return""===n&&H("#query_key").val(i),H("#searchForm").submit(),!1;location.href="//search.yohobuy.com/error?query="+n+"&result=error"}},G.registerHelper("timestamp",function(){return(new Date).getTime()}),G.registerHelper("headerimg",function(e){return""===e?"//img10.static.yhbimg.com/headimg/2013/11/28/09/01cae078abe5fe320c88cdf4c220212688.gif?imageView/2/w/100/h/100":e}),G.registerHelper("equallevelthree",function(e,t){return"3"===e?t.fn(this):t.inverse(this)}),G.registerHelper("notzero",function(e,t){return"0"!==e?t.fn(this):t.inverse(this)}),window.JsonPCallBack=s,window.newArr=[],window.wrapperindex=0,window.gindex=0,window.targetArr1=[],window.targetArr2=[],window.targetArr3=[],window.oh1=0,window.oh2=0,window.oh3=0,window.valueIndex=0,window.nowIndex=0,window.inner1="",window.inner2="",window.inner3="",window.finalresult="",R()}),define("js/simple-header",["jquery"],function(e,t,n){function a(e){var t,n,a,i=0,o=0;for(a=0;a<e.length;a++)n=e.substr(a,1),o+=/.*[\u4e00-\u9fa5]+.*$/.test(n)?2:1;if(10>=o)t=e;else{for(i=0,t="",a=0;a<e.length;a++)10>i&&(n=e.substr(a,1),"*"!==n&&(i+=/.*[\u4e00-\u9fa5]+.*$/.test(n)?2:1),t+=n);t.length<e.length&&(t+="...")}return t}function i(e){var t,n,i=e.data;-1!==e.result?(n=a(i.profile_name),t='<span>Hi~</span><a href="//www.yohobuy.com/home?t='+i.random+'">'+n+'</a>&nbsp;<a href="//www.yohobuy.com/logout.html">[退出]</a>'):t='<span>Hi~</span>&nbsp;<a href="//www.yohobuy.com/signin.html">[请登录]</a>&nbsp;<a href="//www.yohobuy.com/reg.html">[免费注册]</a>',s(".header-tool li").eq(0).html(t)}function o(){var e={return_type:"jsonp"};s.getJSON("//www.yohobuy.com/common/passport/?callback=?",e,function(e){e&&e.data&&i(e.data)})}var s=e("jquery"),r=s("#api-domain");r.val();r.remove(),s(".simple-header").size()>0&&s(".tool-options").on("mouseenter",function(){s(this).find(".tool-select").fadeIn()}).on("mouseleave",function(){s(this).find(".tool-select").fadeOut()}),o()}),define("js/product/entry",["jquery","handlebars","source-map","lazyload","index","jquery-pjax"],function(e,t,n){e("js/product/list"),e("js/product/brand"),e("js/product/hotrank"),e("js/product/item"),e("js/product/shop-index")}),define("js/product/list",["jquery","handlebars","source-map","lazyload"],function(e,t,n){var a=e("jquery");e("js/product/filter"),e("js/product/sort-pager"),e("js/product/latest-walk"),e("js/product/product"),function(){var e,t=a(".banner-img");0!==t.length&&(e=new Image,e.onload=function(){e.height&&t.height(e.height),e=null},e.src=t.css("background-image").replace(/"/g,"").slice(4,-1))}()}),define("js/product/filter",["jquery","handlebars","source-map"],function(e,t,n){function a(e,t){e.each(function(){g(this).closest(".attr").hasClass("checked")||g(this).removeClass("checked").html(y.unchecked)}),t.find(".checkbox").addClass("checked").html(y.checked)}function i(){w.addClass("hide"),_.removeClass("hide")}function o(){_.addClass("hide"),w.removeClass("hide"),S.children("span").removeClass("hover")}function s(e,t){var n,a=window.queryString();a[e]=t,delete a.page,n="?"+decodeURIComponent(g.param(a)),window.location.href=n}function r(e){E.children(".senior-sub:eq("+m+")").addClass("hide"),A.children(".attr:eq("+m+")").removeClass("hover"),m=-1}var d,l,c,u,h,p,f,m,g=e("jquery"),v=e("handlebars"),y={unchecked:"&#xe635;",checked:"&#xe636;"},b={up:"&#xe610;",down:"&#xe600;"},w=g(".brand .default"),C=g("#brand-search-input"),_=g(".brand .brand-panel"),x=_.find(".attr"),k=g("#brand-more"),j=g("#brand-multi"),S=g(".brands-index"),T=g(".ud-price-range"),q=/^\d+$/,I=g(".sort-sub-wrap"),E=g(".senior-sub-wrap"),A=g(".senior-attr-wrap"),F='{{# size}}<a class="attr {{#if checked}}checked{{/if}}" href="{{href}}">{{name}}</a>{{/ size}}',U={},D=g(".filter-box .size");F=v.compile(F),g(".filter-box").on("selectstart",".attr, .brands-index span",function(){return!1}),g(".sort-pre").on("click","li",function(){var e=g(this),t=e.index(),n=e.data("id");return e.hasClass("active")?(e.removeClass("active"),I.children(":eq("+t+")").addClass("hide"),void D.addClass("hide")):(e.siblings(".active").removeClass("active"),e.addClass("active"),I.children(":not(.hide)").addClass("hide"),I.children(":eq("+t+")").removeClass("hide"),void(D.data("load")||(U[n]?(D.find(".attr-content").html(U[n]),D.removeClass("hide")):g.ajax({url:"/product/search/sortSize",data:{msort:n}}).then(function(e){"array"===g.type(e)&&e.length?(U[n]=F({size:e}),D.find(".attr-content").html(U[n]),D.removeClass("hide")):D.addClass("hide")}))))}),k.length>0&&(d=k.children("em"),l=k.children(".iconfont")),j.click(function(){"none"===_.css("display")&&k.trigger("click"),i(),_.removeClass("hide").addClass("multi"),g(this).addClass("hide"),k.addClass("hide")}),k.click(function(){var e=g(this);e.hasClass("more")?(o(),d.text("更多"),l.html(b.down),C.val("").trigger("keyup")):(i(),d.text("收起"),l.html(b.up)),g(this).toggleClass("more")}),S.on("mouseenter","span",function(){var e=g(this),t=e.data("index");e.hasClass("hover")||setTimeout(function(){e.siblings("span.hover").removeClass("hover"),e.addClass("hover"),0===e.index()?x.removeClass("hide"):x.addClass("hide").filter("[data-index="+t+"]").removeClass("hide")},120)}),C.keyup(function(){var e=g(this).val().toLowerCase();""===e?x.removeClass("hide"):x.addClass("hide").filter('[data-key*="'+e+'"]').removeClass("hide")}),g("#brand-multi-ok").click(function(){var e=[];g(this).hasClass("dis")||(_.find("span.checked").each(function(){e.push(g(this).data("id"))}),s("brand",e.join(",")))}),g(".multi-select-cancel").click(function(){var e=g(this).closest(".multi");e.hasClass("brand-panel")&&(j.removeClass("hide"),k.trigger("click"),k.removeClass("hide"),C.val("").trigger("keyup"),o()),e.addClass("hide").removeClass("multi"),a(e.find(".checkbox.checked"),e.find(".attr.checked")),g(this).siblings(".multi-select-ok").addClass("dis")}),g(".check-container").on("click",".attr",function(){var e=g(this),t=e.find(".checkbox"),n=e.closest(".brand-panel, .senior-sub").find(".multi-select-ok");t.toggleClass("checked"),t.hasClass("checked")?t.html(y.checked):t.html(y.unchecked),t.hasClass("checked")||e.siblings(".attr").find(".checked").length>0?n.removeClass("dis"):n.addClass("dis")}),g(".brand, .senior").on("click",".attr > a",function(e){g(this).closest(".multi").length>0&&e.preventDefault()}),g(".filter-box").on("click","li.checked, a.checked",function(e){e.preventDefault()}),T.length>0&&(c=T.find(".limit"),u=c.filter(".min"),h=c.filter(".max"),p=T.find(".price-sure"),c.keyup(function(){var e,t,n,a=g.trim(g(this).val()),i=q.test(a);i||(e=parseInt(a,10),g(this).val(isNaN(e)?"":e)),t=g.trim(u.val()),n=g.trim(h.val()),""!==t||""!==n?p.removeClass("hide"):p.addClass("hide")}),p.click(function(){var e,t=g.trim(u.val()),n=g.trim(h.val());""!==t&&""!==n&&+t>+n&&(e=n,n=t,t=e),s("price",t+","+n)})),A.on("mouseenter",".attr",function(){var e=g(this),t=e.index();e.hasClass("no-sub")||(e.addClass("hover").siblings().removeClass("hover"),
+E.children(".senior-sub:eq("+t+")").removeClass("hide").siblings().addClass("hide"))}).on("mouseleave",".attr",function(){var e=g(this),t=e.index();e.hasClass("no-sub")||(m=t,f=setTimeout(function(){r()},100))}),g(".senior-sub").on("click",".multi-select",function(){g(this).closest(".senior-sub").addClass("multi")}).on("click",".multi-select-ok",function(){var e=g(this),t=e.closest(".senior-sub"),n=[];e.hasClass("dis")||(t.find("span.checked").each(function(){n.push(g(this).data("id"))}),s(t.data("attr"),n.join(",")))}).on("mouseenter",function(){clearTimeout(f)}).on("mouseleave",function(){r()})}),define("js/product/sort-pager",["jquery"],function(e,t,n){var a=e("jquery"),i=a("#count-per-page"),o=i.next("ul"),s=200;a(document).click(function(e){a(e.target).closest(".page-count").length>0||o&&o.slideUp(s)}),i.click(function(){"none"===o.css("display")?o.slideDown(s):o.slideUp(s)})}),define("js/product/latest-walk",["jquery","handlebars","source-map","lazyload"],function(e,t,n){var a=e("jquery"),i=e("handlebars"),o=e("lazyload"),s=a("#latest-walk-count");!function(){var e;0!==s.length&&(e=i.compile(a("#latest-walk-tpl").html()),a.ajax({url:"//www.yohobuy.com/common/recentReview",dataType:"jsonp",data:{limit:s.val()},success:function(t){var n,i,s,r=[];if(200===t.code){if(n=t.data,0===n.length)return void a(".latest-walk").addClass("hide");for(i=0;i<n.length;i++)s=n[i],r.push({href:s.url,img:s.pic_url,name:s.product_name,salePrice:s.price,marketPrice:s.market_price});r.length>0&&(a("#latest-walk-goods").html(e({latestWalk:r})),o(a("#latest-walk-goods .lazy")))}}}))}()}),define("js/product/product",["jquery","lazyload","handlebars","source-map"],function(e,t,n){var a,i=e("jquery"),o=e("lazyload"),s=e("handlebars"),r=e("js/common/product-event"),d=i(".goods-container"),l=d.find(".good-info"),c=d.find(".good-item-wrapper"),u=d.find(".good-info-main"),h=d.find(".good-select-color"),p=i(".product-list-nav");o(i("img.lazy")),t.init=function(e){function t(e,t){var n,a,i,o="",s=e.length,r=4,d=Math.ceil(s/r),l=0;for(n=0;d>n;n++)for(o+="<ul>",a=0;r>a&&(i=n*r+a,i!==s);a++)o+='<li><a target="_blank" href="'+e[n*r+a].url+t+'"><img src="'+e[n*r+a].src+'" data-cover="'+e[n*r+a].coverImg+'" /></a></li>',a===r-1&&(o+="</ul>",l++);return d>l&&(o+="</ul>"),{colorListStr:o,ulNum:d}}function n(){u.html(""),h.html(""),c.css({display:"none"})}var o=i(".shop-entry"),s=i(".shop-entry-area"),p=o.length;p>1?(3===p?o.css({width:"32%"}):p%2&&i(".shop-entry:gt("+(p-4)+")").css({width:"32%"}),i(".shop-entry:nth-child(2n+1)").css({marginLeft:0}),o.last().css({marginLeft:"2%"}),p%2===0?o.find(".name").css({width:"50%"}):p%3===0&&o.find(".name").css({width:"26%"})):o.css({width:"100%"}),s.slideDown(),a=null,l.unbind(),a=r(l,e),a.addHandler("MouseEnter",function(e){var a,o,s,r,l,p,f,m,g=10,v=35,y="",b=e.target.attr("data-from")||"";i.ajax({type:"POST",url:"/product/list/getProductPic",dataType:"jsonp",jsonp:"callback",data:{skn:e.target.attr("data-skn"),skc:e.target.attr("data-skc")}}).then(function(w){var C=w.data,_=t(C.pics,b);n(),y=_.colorListStr,a=_.ulNum,u.append(e.targetDuplicate),h.append(i(y)),p=c.css("paddingLeft"),f=c.css("paddingTop"),m=d.css("paddingTop"),o=10+65*a+e.targetWidth,r=(e.targetX-1)*(e.targetWidth+g)-(parseInt(p)+1),l=(e.targetY-1)*(e.targetHeight+v)+parseInt(m)-(parseInt(f)+1),s=e.offsetR-(65*a+25),0>=s&&(r=r+s-25),c.css({width:o,left:r,top:l,display:"inline-block"}),C.pics[0]&&C.pics[0].src&&u.find(".good-thumb img").attr("src",C.pics[0].src)})}),a.addHandler("MouseLeave",function(){n()}),c.mouseleave(function(){n()})},i(document).on("hover",".good-select-color li",function(){var e=i(this).find("img").attr("data-cover"),t=i(this).closest(".good-item-wrapper").find(".good-detail-img").find("img");t.attr("src",e)}),p.find("h3").click(function(e){var t=i(this).closest(".product-list-nav");t.hasClass("active")?t.find(".sort-child-list").stop(!0,!0).slideUp():t.find(".sort-child-list").stop(!0,!0).slideDown(),t.toggleClass("active")}),function(){var e,t=i("#brand-card"),n=i("#brand-favor");t.length&&i.ajax({type:"POST",url:"/product/index/getNodeContent",data:{node:t.data("node")}}).then(function(e){t.html(e)}),n.length&&(e=i("#pic-link-tpl").html(),i.ajax({type:"POST",url:"/product/index/getAdnav",data:{brandId:n.data("id")}}).then(function(t){t&&i("#brand-ad").html(s.compile(e)({picLink:t}))}))}()}),define("js/common/product-event",["jquery"],function(e,t,n){function a(){this.handlers={}}var i=e("jquery");a.prototype={constructor:a,addHandler:function(e,t){"undefined"==typeof this.handlers[e]&&(this.handlers[e]=[]),this.handlers[e].push(t)},fire:function(e){var t,n;if(e.target||(e.target=this),this.handlers[e.type]instanceof Array)for(t=this.handlers[e.type],n=0;n<t.length;n++)t[n](e)},removeHandler:function(e,t){var n,a;if(this.handlers[e]instanceof Array){for(n=this.handlers[e],a=0;a<n.length&&n[a]!==t;a++);n.splice(a,1)}}},n.exports=function(e,t){function n(e){var n,a=0,u=0,h=t,p=0,f="",m=0,g=0;switch(e.type){case"mouseenter":n=i(this),o=setTimeout(function(){s=!0,f=n.clone(),p=n.index()+1,a=p%h===0?h:p%h,u=Math.ceil(p/h),m=n.offset().left,g=c-(m+d),r.fire({type:"MouseEnter",target:n,targetWidth:d,targetHeight:l,targetX:a,targetY:u,rowWidth:h,activeIndex:p,targetDuplicate:f,offsetL:m,offsetR:g})},150);break;case"mouseleave":s||(o&&clearTimeout(o),r.fire({type:"MouseLeave"})),s=!1}}var o,s,r=new a,d=e.eq(0).width(),l=e.eq(0).height(),c=i(window).width();return e.bind({mouseenter:n,mouseleave:n}),r}}),define("js/product/brand",["jquery"],function(e,t,n){var a=e("jquery"),i=a("#brand-favor"),o=i.data("id");i.on("click",function(){a.ajax({type:"post",url:"/product/index/favoriteBrand",data:{brandId:o}}).then(function(e){200===e.code?i.find("i").toggleClass("coled"):403===e.code&&(location.href="//www.yohobuy.com/signin.html?refer="+encodeURIComponent(location.href))})}),a.ajax({type:"POST",url:"/product/index/isFavoriteBrand",data:{brandId:o}}).then(function(e){200===e.code?i.find("i").addClass("coled"):404===e.code&&i.find("i").removeClass("coled")})}),define("js/product/hotrank",["jquery","handlebars","source-map","lazyload"],function(e,t,n){var a=e("jquery"),i=e("handlebars"),o=e("lazyload");e("js/common/slider"),e("js/common/logo-brand"),o(a("img.lazy")),a(".slide-container").slider(),a(".logo-brand").logoBrand({showNum:10,url:a(".logo-brand").data("url")}),function(e){function t(t,n){var d={};d=n?{sid:t,page:n}:{sid:t},e.ajax({type:"GET",dataType:"json",url:"/product/index/getdata",data:d,success:function(t){var d;200===t.code&&(d={list:t.data},s=i.compile(a),n?(e(".hot-week-list").append(s(d)),r.css({position:"fixed",marginTop:-r.height()/2,top:"50%"})):e(".hot-week-list").html(s(d)),o(e("img.lazy")),c=!1)}})}var n,a,s,r=e(".hot-week").find(".floatlayer"),d=(e(".hot-cate").find("li").eq(0).data("sid"),1),l=0,c=!1;a='{{# list}}<div class="good-info"><div class="item-img"><a class="good-thumb" target="_blank" href="{{url}}"><img class="lazy" data-original="{{thumb}}"></a></div><div class="good-detail-text"><a target="_blank" href="{{url}}">{{name}}</a><p class="price">{{# marketPrice}}<span class="market-price">¥{{.}}</span>{{/ marketPrice}} <span class="sale-price{{#unless marketPrice}}prime-cost{{/unless}}">¥{{salePrice}}</span></p></div></div>{{/ list}}',e(window).on("scroll",function(){var a,i=n+e(".hot-week").outerHeight();n=e(".hot-week").offset().top,e(this).scrollTop()>=n-e(window).height()/2?r.offset().top+r.outerHeight()>=i?r.css({position:"absolute",marginTop:0,top:e(".hot-week").outerHeight()-r.outerHeight()}):r.css({marginTop:-r.height()/2}).stop().animate({opacity:1},200,function(){r.show()}):r.stop().animate({opacity:0},200,function(){r.hide()}),r.offset().top>=e(this).scrollTop()+(e(window).height()-r.outerHeight())/2&&r.css({position:"fixed",marginTop:-r.height()/2,top:"50%"}),e(this).scrollTop()>=n+e(".hot-week").height()-e(window).height()&&(c||(a=e(".hot-cate").find("li.current").data("sid"),d++,c=!0,t(a,d)))}),e(".hot-cate").find("li").each(function(t){var n=e(".hot-cate").width();n>=l&&(l+=e(this).width(),l>=n&&e(".floatlayer").find("li").eq(t).hide().nextAll().hide())}),e(".hot-cate").on("click","li",function(){var a=e(this).index(),i=e(this).data("sid");e(this).hasClass("current")||(e(this).addClass("current").siblings().removeClass("current"),e(".floatlayer").find("li").removeClass("current").eq(a).addClass("current"),e("body,html").stop().animate({scrollTop:n-110},500),t(i),d=1)}),e(".floatlayer").on("click","li",function(){var t=e(this).index();e(this).hasClass("current")||(e(".hot-cate").find("li").eq(t).trigger("click"),e(this).addClass("current").siblings().removeClass("current"),e(".hot-cate").find("li").removeClass("current").eq(t).addClass("current"))}),e(".hot-cate").find("li").eq(0).addClass("current"),e(".floatlayer").find("li").eq(0).addClass("current")}(a)}),define("js/common/slider",["jquery","lazyload"],function(e,t,n){var a=e("jquery"),i=e("lazyload");!function(e){var t=function(t,n){this.$element=e(t),this.options=e.extend({},e.fn.slider.defaults,n),this.bigItem=this.$element.find(".slide-wrapper").find("li"),this.smallItem=null,this.len=this.bigItem.size(),this.index=0,this.timer=null,this.init()};t.prototype={init:function(){if(this.$element){if(this.len<=1)return void i(this.$element.find("img.lazy"));this.options.pagination?this.smallItem=e(this.options.pagination).find("li"):this._createPage(),this.options.orient&&this._createOrient(),this._slideShow(),this._bindEvent(),this._autoplay()}},_createOrient:function(){var e='<div class="slide-switch"><a class="prev" href="javascript:;"><span class="iconfont">&#xe60c;</span></a><a class="next" href="javascript:;"><span class="iconfont">&#xe60b;</span></a></div>';this.$element.find(".slide-switch").length>0||this.$element.append(e)},_createPage:function(){var t='<div class="slide-pagination"><div class="slide-pagination-inner"><div class="slide-shade"></div><div class="slide-pagination-last">',n=0;if(!(this.len<=1)){for(n=0;n<this.len;n++)t+="<span></span>";t+="</div></div></div>",this.$element.append(e(t)),this.smallItem=this.$element.find(".slide-pagination-inner span")}},_bindEvent:function(){var t=this;this.$element.find(".slide-switch").on("click",".next",function(){t._nextSlide(),clearInterval(t.timer),t.timer=setInterval(function(){t._nextSlide()},t.options.time)}).on("click",".prev",function(){t._prevSlide(),clearInterval(t.timer),t.timer=setInterval(function(){t._nextSlide()},t.options.time)}),this.smallItem.on("mouseenter",function(){t.index=e(this).index(),clearInterval(t.timer),t._slideShow()}).on("mouseleave",function(){t._autoplay()}),this.$element.on("mouseenter",function(){e(this).find(".slide-switch").addClass("show")}).on("mouseleave",function(){e(this).find(".slide-switch").removeClass("show")})},_nextSlide:function(){this.index===this.len-1?this.index=0:this.index++,this._slideShow()},_prevSlide:function(){0===this.index?this.index=this.len-1:this.index--,this._slideShow()},_slideShow:function(){var t=this.bigItem.eq(this.index).find("img.lazy");t.attr("src")!==t.data("original")&&(i(t,{event:"sporty"}),t.trigger("sporty")),this.smallItem.eq(this.index).addClass("focus").siblings().removeClass("focus"),this.bigItem.eq(this.index).show().stop().animate({opacity:1},function(){e(this).find(".slide-tips > p").removeClass("hide")}).siblings().stop().animate({opacity:0},function(){e(this).hide().find(".slide-tips > p").addClass("hide")})},_autoplay:function(){var e=this;clearInterval(this.timer),this.timer=setInterval(function(){e._nextSlide()},this.options.time)}},e.fn.slider=function(n){return this.each(function(){var a=e(this),i=a.data("Slider"),o="object"==typeof n&&n;i||a.data("Slider",i=new t(this,o)),"string"==typeof n&&i[n]()})},e.fn.slider.Constructor=t,e.fn.slider.defaults={time:5e3,orient:!0,pagination:null}}(a)}),define("js/common/logo-brand",["jquery","handlebars","source-map","lazyload"],function(e,t,n){var a=e("jquery"),i=e("handlebars"),o=e("lazyload");!function(e){var t=function(t,n){this.$element=e(t),this.options=e.extend({},e.fn.logoBrand.defaults,n),this.init()};t.prototype={init:function(){this.$element.addClass("logos-"+this.options.showNum),this._sendRequest()},_createHelper:function(){var e=this.options.showNum;i.registerHelper("brandList",function(t,n){var a="<ul>",i=0,o=null,s=0;if(t.length%e!==0)for(s=e-t.length%e,i=0;s>i;i++)t.push({href:"javascript:;",img:""});for(i=0;i<t.length;i++)o=n.fn(t[i]),a=i%e===5||5===i?a+'<li class="logo-brand-switch" data-page="'+Math.floor(i/e)+'"><a class="prev iconfont" href="javascript:;">&#xe60f;</a><a class="next iconfont" href="javascript:;">&#xe60e;</a></li><li data-page="'+Math.floor(i/e)+'">'+o+"</li>":0!==i&&i%e===0?a+'<li class="brand-more" data-page="'+Math.floor(i/(e+1))+'"><a href="javascript:;" target="_blank">MORE ></a></li><li data-page="'+Math.floor(i/e)+'">'+o+"</li>":a+'<li data-page="'+Math.floor(i/e)+'">'+o+"</li>";return a+'<li class="brand-more" data-page="'+Math.floor(i/(e+1))+'"><a href="javascript:;" target="_blank">MORE ></a></li></ul>'})},_sendRequest:function(){var t=this;e.ajax({type:"GET",url:t.options.url,dataType:"json",success:function(e){var n,a;e&&0!==e.length&&(t._createHelper(),a='{{#brandList logoBrand}}<a href="{{href}}" target="_blank"><img class="lazy" data-original="{{img}}" alt=""></a>{{/brandList}}',n=i.compile(a),t.$element.html(n(e)),t.$element.find(".brand-more a").attr("href",e.moreBrand),o(t.$element.find("img.lazy")),t._bindEvent())}})},_brandShow:function(t,n){var a=this;o(e("li[data-page="+n+"]").find("img.lazy").trigger("appear")),a.$element.find("li[data-page="+t+"]").find("img").fadeOut("normal",function(){a.$element.find("li").hide(),a.$element.find("li[data-page="+n+"]").show().find("img").fadeIn()})},_bindEvent:function(){var t=this;t.$element.on("click",".next",function(){var n=e(this).parent().data("page"),a=0,i=Math.ceil(t.$element.find("li").size()/(t.options.showNum+2))-1;a=n===i?0:n+1,t._brandShow(n,a)}),t.$element.on("click",".prev",function(){var n=e(this).parent().data("page"),a=0,i=Math.ceil(t.$element.find("li").size()/(t.options.showNum+2))-1;a=0===n?i:n-1,t._brandShow(n,a)})}},e.fn.logoBrand=function(n){return this.each(function(){var a=e(this),i=a.data("LogoBrand"),o="object"==typeof n&&n;i||a.data("LogoBrand",i=new t(this,o)),"string"==typeof n&&i[n]()})},e.fn.logoBrand.Constructor=t,e.fn.logoBrand.defaults={showNum:16,url:"/boys/getBrand"}}(a)}),define("js/product/item",["jquery","lazyload","handlebars","source-map","index"],function(e,t,n){function a(e){h.attr("src",e)}function i(){return+y.text()}function o(){y.text("1"),1===I||0===I?(b.addClass("dis"),w.addClass("dis")):(b.removeClass("dis"),w.addClass("dis"))}function s(e){0!==k.length&&(0===I||e&&0===~~e.data("total")?(k.addClass("hide"),_.removeClass("hide")):(k.removeClass("hide"),_.addClass("hide")))}function r(){m.not(".hide").children(".size-warn").removeClass("hide")}var d=e("jquery"),l=e("lazyload"),c=e("handlebars"),u=e("index"),h=d("#img-show"),p=d("#thumbs > .thumb-wrap"),f=d("#sizes"),m=f.children(".size"),g=f.find(".size-warn"),v=f.children(".color-size-tip"),y=d("#num"),b=d("#plus-num"),w=d("#minus-num"),C=d("#add-to-cart"),_=d("#sold-out"),x=d(".lc-container"),k=d(".item-buy"),j=d("#desc-color"),S={},T=d(".main"),q=T.data("id"),I=-1,E=200,A={def:"收藏商品",coled:"已收藏",hover:"取消收藏"},F=e("js/common/dialog").Alert;e("js/product/latest-walk"),e("js/common/share"),function(){var e,t=d("#size-title-json"),n=t.html();""!==n&&(e=u.parse(n),t.remove(),m.children("li").each(function(){var t=d(this),n=t.data("name");t.data("title",e[n])}))}(),S[d(".colors .focus").index()]=!0,d("#brand-favour").click(function(){var e=d(this);d.ajax({type:"POST",url:"/product/index/favoriteBrand",data:{brandId:e.data("id")}}).then(function(t){200===t.code?e.toggleClass("coled"):403===t.code&&(location.href=t.data.url)})}),d(".colors").on("click","li",function(){var e,t=d(this),n=t.index();v.addClass("hide"),g.addClass("hide"),I=-1,t.hasClass("focus")?m.eq(n).children("li").removeClass("focus"):(t.siblings(".focus").removeClass("focus"),t.addClass("focus"),p.not(".hide").addClass("hide"),e=p.eq(n).removeClass("hide").find("img"),"undefined"==typeof S[n]&&(l(e,{event:"sporty"}),e.trigger("sporty"),S[n]=!0),a(e.first().data("shower")),j.text(t.data("color")),m.not(".hide").addClass("hide").children("li").removeClass("focus"),m.eq(n).removeClass("hide")),o(),s(t)}),d("#thumbs").on("mouseenter",".thumb",function(){a(d(this).data("shower"))}),f.on("click","li",function(){var e=d(this);e.hasClass("focus")||(I=+e.data("num"),e.siblings(".focus").removeClass("focus"),e.addClass("focus"),v.html(e.data("title")).removeClass("hide"),g.addClass("hide"),s(),o())}).on("click",".size-ruler",function(){d("body,html").animate({scrollTop:d(".size-info").offset().top},300)}),b.click(function(){var e=i();if(!d(this).hasClass("dis"))return-1===I?void r():void(0!==I&&(e===I-1&&d(this).addClass("dis"),1===e&&w.removeClass("dis"),y.text(e+1>I?I:e+1)))}).on("selectstart",function(){return!1}),w.click(function(){var e=i();d(this).hasClass("dis")||(2===e&&d(this).addClass("dis"),e===I&&b.removeClass("dis"),y.text(0>e-1?0:e-1))}).on("selectstart",function(){return!1}),d(".get-lc:not(.dis)").hover(function(){x.removeClass("hide")},function(){x.addClass("hide")}),C.click(function(){return-1===I?void r():void d.ajax({type:"POST",url:"/cart/index/add",data:{productSku:d(".size:not(.hide) li.focus").data("sku"),buyNumber:i()}}).then(function(e){var t=e.code;200===t&&(d("#type-chose").slideUp(E),d("#balance").slideDown(E),d("#cart-num").text(e.data.goods_count))})}),d("#collect-product").click(function(){var e,t=d(this);t.hasClass("coled")&&(e=!0),d.ajax({type:"POST",url:"/product/item/togglecollect",data:{productId:q,type:e?"cancel":"add"}}).then(function(n){var a=n.code;200===a?(t.toggleClass("coled"),e?t.find("em").text(A.def):t.find("em").text(A.coled)):403===a&&(location.href=n.data.url)})}).hover(function(){var e=d(this);e.hasClass("coled")&&e.find("em").text(A.hover)},function(){var e=d(this);e.hasClass("coled")&&e.find("em").text(A.coled)}),d("#keep-shopping").click(function(){d("#type-chose").slideDown(E),d("#balance").slideUp(E)}),d("#buy-now").click(function(){var e,t,n;if(-1===I)return void r();if(!d(this).hasClass("dis")){if(t=d(this).data("base"),!t)return n=new F("打开APP可抢购该商品哦~~"),void n.show();e=m.find(".focus").data("sku"),e&&t&&(location.href=t+"?product_sku="+e)}}),d(".buy-btn").mouseover(function(){d(this).hasClass("dis")||d(this).addClass("hover")}).mouseleave(function(){d(this).removeClass("hover")}),d(".description-material").on("click",".title",function(){var e=d(this),t=e.index(),n=d(".description-content"),a=d(".material-content");e.hasClass("cur")||(e.addClass("cur"),e.siblings(".cur").removeClass("cur"),0===t?(n.slideDown(E),a.slideUp(E)):(n.slideUp(E),a.slideDown(E)))}),d(".after-service-switch").click(function(){var e=d(this),t=e.next(".after-service-content"),n={def:"&#xe604;",spread:"&#xe603;"};"none"===t.css("display")?(t.slideDown(E),e.find(".triangle").html(n.spread)):(t.slideUp(E),e.find(".triangle").html(n.def))}),d.ajax({type:"GET",url:"/product/item/hotarea",data:{productId:q}}).then(function(e){d("#details-html").prepend(e),d(".hot-point-wrap > img").load(function(){d(this).parent(".hot-point-wrap").width(d(this).width())}),d(".hot-point").hover(function(){d(this).addClass("hover")},function(){d(this).removeClass("hover")})}),l(d("#details-html img")),function(){var e,t=!0;for(e=0;e<m.length;e++)if(1!==m.eq(e).find("li").length){t=!1;break}t&&m.eq(d(".colors .focus").index()).find("li").click()}(),function(){function e(){n||(n=!0,d.ajax({type:"GET",url:"/product/item/comments",data:{productId:q,page:i}}).then(function(e){var t;if(200===e.code){if(t=e.data,0===t.length)return void l.next(".more-wrap").addClass("hide");h.text(t[0].total),l.append(s({comments:t})),i++}}).always(function(){n=!1}))}function t(){a||(a=!0,d.ajax({type:"GET",url:"/product/item/consults",data:{productId:q,page:o}}).then(function(e){var t;if(200===e.code){if(t=e.data,0===t.length)return void u.next(".more-wrap").addClass("hide");p.text(t[0].total),u.append(r({consults:t})),o++}}).always(function(){a=!1}))}var n,a,i=1,o=1,s=c.compile(d("#comments-tpl").html()),r=c.compile(d("#consults-tpl").html()),l=d("#comments-ul"),u=d("#consults-ul"),h=d(".comment-num"),p=d(".consult-num");d(".consult-comment").on("click",".title",function(){var e=d(this),t=e.index(),n=d(".comments"),a=d(".consults");e.hasClass("cur")||(e.addClass("cur"),e.siblings(".cur").removeClass("cur"),0===t?(a.slideDown(E),n.slideUp(E)):(a.slideUp(E),n.slideDown(E)))}).on("click",".load-more",function(){var n=d(this);n.hasClass("load-more-comments")?e():t()}),d("#consults-btn").click(function(){d(".new-consult").removeClass("hide"),d(".consult-success").addClass("hide")}),d("#submit-consult").click(function(){var e=d(this),t=e.closest(".new-consult"),n=t.find(".my-consult"),a=d.trim(n.val()),i=t.find(".consult-warn"),o=!0;""===a?(n.addClass("error"),i.removeClass("hide"),o=!1):(n.removeClass("error"),i.addClass("hide")),o!==!1&&d.ajax({type:"POST",url:"/product/item/addconsult",data:{productId:q,content:a}}).then(function(e){var a=e.code;200===a?(t.addClass("hide"),t.siblings(".consult-success").removeClass("hide"),n.val("")):403===a&&(location.href=e.data.url)})}),e(),t()}()}),define("js/common/dialog",["jquery","handlebars","source-map"],function(e,t,n){function a(){return 0===l(".body-mask").length&&l("body").append('<div class="body-mask hide"></div>'),l(".body-mask").css({height:l(document).height(),width:l(document).width()})}function i(e){return l("body").append(p(e)),l(".yoho-dialog")}function o(e){var t=l(".yoho-dialog"),n='<p class="sub-content">'+e+"</p>";t&&t.length>0&&t.find(".content").after(n)}function s(e){function t(e){r.$el.find("#dialog-"+s.btns[e].id).on("click",function(){s.btns[e].cb&&s.btns[e].cb()})}var n,s=l.extend({},u,e),r=this;if(s.inherit)return this;if(s.mask&&(r.$mask=a()),r.$el=i(s),s.subContent&&o(s.subContent),s.subContents)for(n=s.subContents.length-1;n>=0;n--)o(s.subContents[n]);if(r.$el.find(".close").click(function(){r.close(),e.refreshOnClose&&window.location.reload()}),r.$el.find(".btn-close").click(function(){r.close()}),s.btns)for(n=0;n<s.btns.length;n++)t(n)}function r(e){var t=this,n={content:e,className:"alert-dialog",btns:[{id:"alert-sure",btnClass:["alert-sure"],name:"确定",cb:function(){t.close()}}]};s.call(this,n)}function d(e){var t=this,n={content:e.content,className:"confirm-dialog",btns:[{id:"confirm-sure",btnClass:["confirm-sure"],name:"确定",cb:e.cb},{id:"confirm-cancel",btnClass:["confirm-cancel"],name:"取消",cb:function(){t.close()}}]};s.call(this,n)}var l=e("jquery"),c=e("handlebars"),u={mask:!0,closeIcon:!0,refreshOnClose:!1},h='<div class="yoho-dialog {{className}} hide">{{#if closeIcon}}<span class="close"><i class="iconfont">&#xe602;</i></span>{{/if}}<div class="content">{{{content}}}</div><div class="btns">{{# btns}}<span {{#if id}}id="dialog-{{id}}"{{/if}} class="btn{{#each btnClass}} {{.}}{{/each}}">{{name}}</span>{{/ btns}}</div></div>',p=c.compile(h);s.prototype.close=function(){this.$mask&&this.$mask.addClass("hide"),this.$el.remove()},s.prototype.show=function(){this.$mask&&this.$mask.removeClass("hide"),this.$el.removeClass("hide").css({"margin-top":-this.$el.height()/2,"margin-left":-this.$el.width()/2})},t.Dialog=s,r.prototype=new s({inherit:!0}),r.prototype.constructor=r,t.Alert=r,d.prototype=new s({inherit:!0}),d.prototype.constructor=d,t.Confirm=d}),define("js/common/share",["jquery"],function(e,t,n){function a(e){var t,n="",a={title:"",url:window.location.href,weixinUrl:"",image:"",desc:"",channel:""},i=["weibo","tweibo","qzone","renren","qq","douban","weixin"],s="<em><i></i></em>";if(a=o.extend(a,e),-1===o.inArray(a.channel,i))return alert("不存在的分享平台!"),!1;switch(a.channel){case"weibo":n="http://service.weibo.com/share/share.php?url="+a.url+"&title="+a.title+"&appkey=3739328910&searchPic=true&pic="+a.image;break;case"tweibo":n="http://share.v.t.qq.com/index.php?c=share&a=index&url="+a.url+"&title="+a.title+"&appkey=c0af9c29e0900813028c2ccb42021792&pic="+a.image;break;case"qzone":n="http://sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_onekey?url="+a.url+"&title="+a.title+"&desc=&summary="+a.desc+"&site=YOHO!BUY 有货&pics="+a.image;break;case"renren":n="http://widget.renren.com/dialog/share?resourceUrl="+a.url+"&srcUrl="+a.url+"&desc="+a.desc+"&title="+a.title+"&description="+a.desc+"&pic="+a.image;break;case"qq":n="http://connect.qq.com/widget/shareqq/index.html?url="+a.url+"&desc="+a.desc+"&title="+a.title.replace("%","")+"&desc=&summary="+a.desc+"&site=YOHO!BUY 有货&pics="+a.image;break;case"weixin":n="http://s.jiathis.com/qrcode.php?url="+a.weixinUrl+"&desc="+a.desc+"&title="+a.title+"&description="+a.desc+"&pic="+a.image;break;case"douban":n="//www.douban.com/share/service?href="+a.url+"&text="+a.desc+"&image="+a.image+"&title="+a.title+"&comment="}if("weixin"===a.channel){if(!a.self)return;t=a.self.closest(".share-to").find(".weixin-share-box"),t.length>0&&(s+='<div class="con"><h2>分享到微信朋友圈</h2><p class="pic"><img src="'+n+'" /></p><p class="w">打开微信,点击底部得“发现”,使用<br/>“扫一扫“即可将网页分享到我的朋友圈。</p><a href="javascript:void(0)" class="close">x</a></div>',t.find("div").length>0?t.show():t.html(s).show(),t.find(".close").click(function(){o(this).closest(".weixin-share-box").hide()}))}else window.open(encodeURI(n))}function i(e,t){var n=document.title.replace(/(^\s*)|(\s*$)/g,""),i=o("#share-desc").val(),s=o("#share-img").val(),r=o("#weixin-url").val();a("weibo"===e||"tqq"===e?{channel:e,title:n,image:s}:{channel:e,title:n,desc:i,image:s,self:t,weixinUrl:r})}var o=e("jquery");o(".share-wrapper").on("click","i",function(){var e=o(this),t=e.data("type"),n=o(".weixin-share-box");"weixin"===t?i(t,e):(n.hide(),i(t))})}),define("js/product/shop-index",["jquery","lazyload","handlebars","source-map","jquery-pjax"],function(e,t,n){function a(){var e=d.find(".shop-collect-ico"),t=d.find(".shop-collect-text"),n=e.hasClass("on"),a=window.cookie("needColloect");i.ajax({type:"post",url:"/shoplist/setFavorite",data:{isFavorite:n?0:1,needColloect:a,shopId:d.data("id")},success:function(i){200===i.code?(n?(e.removeClass("on"),t.html("收藏")):(e.addClass("on"),t.html("已收藏")),a&&(e.addClass("on"),t.html("已收藏"))):401===i.code&&(window.setCookie("needColloect","1",{path:"/",domain:".yohobuy.com",expires:90}),location.href=i.url)}})}var i=e("jquery"),o=e("lazyload"),s=e("js/product/product"),r=i(".shop-intro"),d=i(".shop-collect"),l=i(".slider-left"),c=i(".all-goods"),u=c.find(".fixed-area"),h=u.offset()?u.offset().top:0;e("jquery-pjax"),e("js/common/slider"),e("js/product/list"),s.init(4),o(i("img.lazy")),l.length&&l.slider(),r.on("click",function(){i(".pop-shop-intro").show(),i(".mask").show()}),i(".close-btn, .mask").on("click",function(){i(".pop-shop-intro").hide(),i(".mask").hide()}),d.on("click",function(){a()}),1*window.cookie("needColloect")===1&&window.getUid()&&(a(),window.setCookie("needColloect","",{path:"/",domain:".yohobuy.com",expires:1})),c.pjax("a.pjax",".goods-wrap",{timeout:5e3,scrollTo:!1}).on("pjax:end",function(){s.init(4),o(i("img.lazy")),u=c.find(".fixed-area"),i("html, body").animate({scrollTop:c.offset().top-30})}).on("click",".menu-list li",function(){var e=i(this);e.siblings().removeClass("on"),e.addClass("on")}),i(window).on("scroll",function(){var e=i(this).scrollTop();e>h?u.css({position:"fixed",top:0}):u.css({position:"static",top:0})})}),define("js/index/index",["jquery","lazyload","handlebars","source-map"],function(e,t,n){var a=e("jquery"),i=e("lazyload"),o=a(".home-page").data("page"),s=a(".logo-brand").data("url");e("js/common/slider"),e("js/common/slider2"),e("js/common/logo-brand"),e("js/common/accordion"),a(document).on("mouseenter",".imgopacity a img",function(){a(this).css("opacity",.8)}),a(document).on("mouseout",".imgopacity a img",function(){a(this).css("opacity",1)}),a.inArray(o,["boys","girls","kids","lifestyle"])>-1&&(e("js/common/new-arrivls")({type:o,url:"/common/getNewArrival",count:"boys"===o||"lifestyle"===o?5:4,rows:[5,3]}),window.setCookie("_Channel",o,{domain:".yohobuy.com",path:"/",expires:365})),i(a("img.lazy")),"boys"===o?a(".slide-container").slider({pagination:".thumb-pagination"}):(a(".center-col").slider(),a(".slide-container").slider()),"boys"===o?(a(".logo-brand").logoBrand({url:s}),a(".img-brand").slider2()):(a(".logo-brand").logoBrand({showNum:10,url:s}),a(".img-slider-wrapper").slider2())}),define("js/common/slider2",["jquery"],function(e,t,n){var a=e("jquery");!function(e){e.fn.slider2=function(t){function n(t,n,i){i===!0?(e(".next").trigger("click"),t===n-3?a(--t,n,!1):a(++t,n,!0)):(e(".prev").trigger("click"),0===t?a(++t,n,!0):a(--t,n,!1))}function a(t,a,i){window.setTimeout(n,e.fn.slider2.defaults.delaytime,t,a,i)}function i(t,n,a){var i=-(t*n);e(".img-list").animate({"margin-left":i+"px"},"slow",a)}return e.fn.slider2.defaults={index:0,shownum:3,autoplay:!1,delaytime:3e3},this.each(function(){var n=e.extend({},e.fn.slider2.defaults,t),o=parseInt(e(".img-item").css("margin-right")),s=e(".img-item"),r=[],d=s.outerWidth()+o,l=s.length,c=0;if(3>=l)return void e(this).find(".img-brand-switch").hide();for(c=0;c<s.length;c++)r.push(s[c]);l=r.length,e(this).find(".img-list").css({width:d*l}),e(this).find(".next").on("click",function(t){var n=0,a=null;t.preventDefault(),i(3,d,function(){for(n=0;3>n;n++)a=r.shift(),e(".img-item").parent().append(a.outerHTML),r.push(a);e(".img-item").first().remove(),e(".img-item").first().remove(),e(".img-item").first().remove(),e(".img-list").css({"margin-left":"0"})})}),e(this).find(".prev").on("click",function(t){var n=0,a=null,o="";for(t.preventDefault(),n=0;3>n;n++)a=r.pop(),e(".img-item").parent().prepend(a.outerHTML),r.unshift(a);o=3*d,e(".img-item").last().remove(),e(".img-item").last().remove(),e(".img-item").last().remove(),e(".img-list").css({"margin-left":-o+"px"}),i(0,d)}),n.autoplay===!0&&a(n.index,l,!0)})}}(a)}),define("js/common/accordion",["jquery"],function(e,t,n){function a(e){d.each(function(t){s(this).css("zIndex",t),e>=t?s(this).stop().animate({left:t*c},400):s(this).stop().animate({left:e*c+l+c*(t-e-1)},400)})}var i,o=e("js/common/yohoui/YH.slide"),s=e("jquery"),r=s(".slide-accordion"),d=r.find("li"),l=d.width(),c=1150===parseInt(s(".home-page").width())?125:107;a(0),i=new o({length:5,loop:!1,auto:!1,timeout:2,index:0}),i.on("change",function(e){a(e.to)}),d.mouseover(function(){i.go(s(this).index())}),i.init()}),define("js/common/yohoui/YH.slide",[],function(e,t,n){var a=e("js/common/yohoui/YH.base"),i=function(e){this.__lastTime=null,this.__isStop=!1,e=a.extend(this.defaults,e),i.superclass.constructor.call(this,e)};a.inherit(i,a.assembly),i.prototype.oninit=function(){var e=this,t=e.options;return t.auto&&e.play(),e.go(t.index),this},i.prototype.go=function(e,t){var n,a,i,o,s,r,d,l,c=this,u=c.options;c.__lastTime&&(clearTimeout(c.__lastTime),c.__lastTime=null),t="undefined"==typeof t?u.index:t,n=e===t?0:e>t?1:-1,a=u.loop,o=u.length-1,s=e,e=a?e>o?e-o-1:0>e?e+o+1:e:e>o?o:0>e?0:e,i=u.index=e,r={from:t,to:e,originalto:s,direction:n};for(d in c.registerEvent)if(c.registerEvent[d].length>0)for(l in c.registerEvent[d])c.registerEvent[d].hasOwnProperty(l)&&c.registerEvent[d][l](r);i!==o||e?!c.__isStop&&u.auto&&c.play():c.__lastTime&&clearTimeout(c.__lastTime)},i.prototype.play=function(){var e=this,t=e.options;return e.__lastTime=setTimeout(function(){e.next()},1e3*t.timeout),this},i.prototype.next=function(){var e=this,t=e.options,n=t.index,a=n+t.step;e.go(a,n)},i.prototype.prev=function(){var e=this,t=e.options,n=t.index,a=n-t.step;e.go(a,n)},i.prototype.pause=function(){var e=this;e.__lastTime&&clearTimeout(e.__lastTime),e.__isStop=!0},i.prototype.resume=function(){var e=this;e.__isStop=!1,e.play()},i.prototype.defaults={index:0,timeout:5,step:1,per:1,auto:!1,loop:!1},n.exports=i}),define("js/common/yohoui/YH.base",[],function(e,t,n){var a,i={
+"[object Array]":"array","[object Boolean]":"boolean","[object Date]":"date","[object Function]":"function","[object Number]":"number","[object Object]":"object","[object RegExp]":"regexp","[object String]":"string"},o={__Index:0,list:[],get:function(e){return void 0===e?this.list:this.list[e]},fn:function(){},inherit:function(e,t){var n=o.fn;n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e,e.superclass=t.prototype,e.prototype.constructor===Object.prototype.constructor&&(e.prototype.constructor=t)},extend:function(e,t){var n;for(n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);return e},copy:function(e,t,n){var a,i,s;if("object"!=typeof t)return t;if(a=t.valueOf(),t!==a)return new t.constructor(a);if(t instanceof t.constructor&&t.constructor!==Object){i=e?new e:o.clone(t.constructor.prototype);for(s in t)(e||t.hasOwnProperty(s))&&(i[s]=t[s])}else{i={};for(s in t)i.hasOwnProperty(s)&&(i[s]=t[s])}if(n)for(s in n)i.hasOwnProperty(s)&&(i[s]=n[s]);return i},clone:function(e){return o.__cloneFunc.prototype=e,new o.__cloneFunc},__cloneFunc:function(){},delegate:function(e,t){var n;return t=t||window,arguments.length>2?(n=Array.prototype.slice.call(arguments,2),function(){return e.apply(t,n)}):function(){return e.call(t)}},dom:function(e,t){var n,a,i=e,o={wrap:i},s=i[0].getElementsByTagName("*"),r=s.length;for(a=0;r>a;a++)n=s[a].className,n.indexOf(t)>-1&&(n=n.split(t)[1]),n&&(o[n]=i.find(s[a]));return o},template:function(){var e,t,n,a,i=arguments;if(i.length>0&&o.isString(i[0]))if(e=i[0],2===i.length&&o.isObject(i[1]))for(t in i[1])void 0!==i[1][t]&&(n=new RegExp("({"+t+"})","g"),e=e.replace(n,i[1][t]));else for(a=1;a<i.length;a++)void 0!==i[a]&&(n=new RegExp("({["+(a-1)+"]})","g"),e=e.replace(n,i[a]));return e},__type:function(e){return null==e?String(e):i[Object.prototype.toString.call(e)]||"object"},isObject:function(e){return this.isFunction(e)||!(!e||"object"!=typeof e)},isFunction:function(e){return"function"===this.__type(e)},isArray:Array.isArray||function(e){return"array"===this.__type(e)},isNum:function(e){return!isNaN(parseFloat(e))&&isFinite(e)},isString:function(e){return"string"===this.__type(e)},each:function(e,t,n){var a,i;if(o.isArray(e))for(a=0,i=e.length;i>a&&t.call(e[a],a,e[a],n)!==!1;a++);else for(a in e)if(t.call(e[a],a,e[a],n)===!1)break},funManager:{__loadList:{},__loadFun:function(e,t,n){e.methord&&o.isFunction(e.methord())&&(n=n||window,e.methord()(e,function(){t()},n))},load:function(e,t,n,a){a=a||0,e[a]&&o.funManager.__loadFun(e[a],function(){o.funManager.load(e,t,n,a+1)},n),t(a,n)},get:function(e){return this.__loadList[e]}},log:function(e){var t=window.console||{log:function(){}};t.log(e)},Event:{mousewheel:function(e){var t=e.originalEvent,n=t.detail?-1*t.detail:t.wheelDelta/40,a=0>n?-1:1;return{direction:a,unit:n}},__:function(e,t,n,a){var i;for(i in e)if(window[e[i].validator]){t[e[i].validator](e[i].prefix+n,a,!1);break}},add:function(e,t,n){var a=[{validator:"addEventListener",prefix:""},{validator:"attachEvent",prefix:"on"}];this.__(a,e,t,n)},remove:function(e,t,n){var a=[{validator:"removeEventListener",prefix:""},{validator:"detachEvent",prefix:"on"}];this.__(a,e,t,n)}},getUid:function(e){return o.template("me-{0}{1}-{2}",e,(new Date).getTime(),o.__Index++)},Browser:{isTouch:function(){var e=window.navigator&&window.navigator.msPointerEnabled&&window.MSGesture;return!!("ontouchstart"in window||e||window.DocumentTouch)},Prefix:function(){var e,t=["perspectiveProperty","WebkitPerspective","MozPerspective","OPerspective","msPerspective"],n=document.createElement("div");for(e in t)if(void 0!==n.style[t[e]])return o.template("-{0}-",t[e].replace("Perspective","").toLowerCase())},parseURL:function(e){var t,n,a,i,o,s=document.createElement("a");return s.href=e,{source:e,protocol:s.protocol.replace(":",""),host:s.hostname,port:s.port,query:s.search,params:function(){for(t={},n=s.search.replace(/^\?/,"").split("&"),a=n.length,i=0,o;a>i;i++)n[i]&&(o=n[i].split("="),t[o[0]]=o[1]);return t}(),file:(s.pathname.match(/\/([^\/?#]+)$/i)||[null,""])[1],hash:s.hash.replace("#",""),path:s.pathname.replace(/^([^\/])/,"/$1"),relative:(s.href.match(/tps?:\/\/[^\/]+(.+)/)||[null,""])[1],segments:s.pathname.replace(/^\//,"").split("/")}}},Array:{indexOf:function(e,t){var n;for(n=0;n<e.length;n++)if(this[n]===t)return n;return-1},remove:function(e,t){var n=this.indexOf(e,t);return n>-1&&e.splice(n,1),e}}};a=function(e){this.initialized=!1,this.registerEvent={before:[],change:[],after:[]},this.options=e,this.init(e)},a.output=function(){o.log(o.list)},a.prototype.oninit=o.fn,a.prototype.init=function(e){this.initialized=!0,this.__Uid=o.getUid("me"),this.oninit(e),o.list[this.__Uid]=this},a.prototype.destory=function(){this.initialized=!1,delete o.list[this.__Uid]},a.prototype.getUid=function(){return this.__Uid},a.prototype.getOptions=function(){return this.options},a.prototype.config=function(){if(!(arguments.length>0))return this.options;if("string"==typeof arguments[0]){if(!(arguments.length>1))return this.options[name];this.options[arguments[0]]=arguments[1]}},a.prototype.on=function(e,t){var n=this,a=n.registerEvent[e];return a&&a.push(t),a},a.prototype.off=function(e,t){var n=this,a=n.registerEvent[e],i=[];o.each(a,function(e,n){n===t&&i.push(e)}),o.each(i.reverse(),function(e,t){a.splice(t,1)})},o.assembly=a,n.exports=o}),define("js/common/new-arrivls",["jquery","lazyload","handlebars","source-map"],function(e,t,n){function a(e){var t={index:0,isload:!0,isrun:!0,offset:{height:null,width:null}};return this.registerEvent={before:[],change:[],after:[]},this.options=i.extend(!0,{},t,e),this}var i=e("jquery"),o=e("lazyload"),s=e("handlebars");a.prototype.on=function(e,t){var n=this,a=n.registerEvent[e];return a&&a.push(t),a},a.prototype.exect=function(e,t){var n,a=this;if(a.registerEvent[e]&&a.registerEvent[e].length>0)for(n in a.registerEvent[e])a.registerEvent[e].hasOwnProperty(n)&&a.registerEvent[e][n](t)},a.prototype.init=function(){function e(){n.isrun&&n.isload&&t.__directionCalculation()&&(n.isload=!1,n.index++,t.exect("after",n)),t.exect("change",n)}var t=this,n=this.options;t.exect("before",n),i(window).scroll(e)},a.prototype.emit=function(){var e=this.options;e.isload=!0},a.prototype.stop=function(){var e=this.options;e.isrun=!1,e.isload=!1},a.prototype.__directionCalculation=function(){var e=this.options;return!!(e.offset.height&&e.offset.height()>0&&i(window).scrollTop()+i(window).height()>=e.offset.height())},n.exports=function(e){var t,n=i("#newarrivals .goods-container"),r=i(".loading a"),d=new a({index:1,isload:!1,offset:{height:function(){return parseFloat(n.offset().top)+parseFloat(n.height())-200}}}),l=e.url,c=e.count,u=e.rows;e.pageIndex=0,delete e.url,delete e.count,delete e.rows,t=function(e,t,a){var l={type:"POST",url:e,success:function(e){var i,l,c,u=e.code;200===u?(l=e.goods.length%a,c=e.goods.length-l-1,e.goods.splice(c,l),i=s.compile(d.tpl),n.append(i(e.goods)),t.pageIndex=t.pageIndex+e.goods.length,o(n.find("img.lazy")),d.emit()):(d.stop(),r.html("查看更多"))},error:function(){d.stop(),r.html("网络断开连接了~")}};l.data=t,i.ajax(l)},d.on("after",function(n){e.pageCount=c*u[1],t(l,e)}),d.on("before",function(n){d.tpl="{{#each this}}",d.tpl+='<div class="good-info imgopacity" data-skn="{{skn}}">',d.tpl+='    <div class="tag-container clearfix">',d.tpl+="        {{# tags}}",d.tpl+="            {{# isNew}}",d.tpl+='                <span class="good-tag new-tag">NEW</span>',d.tpl+="            {{/ isNew}}",d.tpl+="            {{# isReNew}}",d.tpl+='                <span class="good-tag renew-tag">再到着</span>',d.tpl+="            {{/ isReNew}}",d.tpl+="            {{# isSale}}",d.tpl+='                <span class="good-tag sale-tag">SALE</span>',d.tpl+="            {{/ isSale}}",d.tpl+="            {{# isNewFestival}}",d.tpl+='                <span class="good-tag new-festival-tag">新品节</span>',d.tpl+="            {{/ isNewFestival}}",d.tpl+="            {{# isLimit}}",d.tpl+='                <span class="good-tag limit-tag">限量商品</span>',d.tpl+="            {{/ isLimit}}",d.tpl+="            {{# isYearEndPromotion}}",d.tpl+='                <span class="good-tag yep-tag">年终大促</span>',d.tpl+="            {{/ isYearEndPromotion}}",d.tpl+="            {{# isYearMidPromotion}}",d.tpl+='                <span class="good-tag ymp-tag">年中热促</span>',d.tpl+="            {{/ isYearMidPromotion}}",d.tpl+="        {{/ tags}}",d.tpl+="    </div>",d.tpl+='    <div class="good-detail-img">',d.tpl+='        <a class="good-thumb" href="{{url}}" target= "_blank">',d.tpl+='            <img class="lazy" data-original="{{thumb}}">',d.tpl+="        </a>",d.tpl+="        {{# isFew}}",d.tpl+='            <p class="few-tag">即将售罄</p>',d.tpl+="        {{/ isFew}}",d.tpl+="        {{#if showColBtn}}",d.tpl+='            <span class="col-btn iconfont{{#if coled}} coled{{/if}}">&#xe616;</span>',d.tpl+="        {{/if}}",d.tpl+="    </div>",d.tpl+='    <div class="good-detail-text">',d.tpl+='        <a href="{{url}}" target= "_blank">{{name}}</a>',d.tpl+='        <p class="price">',d.tpl+='            <span class="sale-price{{#unless marketPrice}}prime-cost{{/unless}}">',d.tpl+="                ¥{{salePrice}}",d.tpl+="            </span>",d.tpl+="            {{# marketPrice}}",d.tpl+='                <span class="market-price">¥{{.}}</span>',d.tpl+="            {{/ marketPrice}}",d.tpl+="        </p>",d.tpl+="    </div>",d.tpl+="</div>",d.tpl+="{{/each}}",e.pageCount=c*u[0],t(l,e,e.count)}),d.init()}}),define("js/brand/index",["jquery","lazyload","handlebars","source-map","dot"],function(e,t,n){var a=e("jquery"),i=e("lazyload");e("js/common/slider"),e("js/brand/brands"),i(a("img.lazy")),a(".slide-container").slider({orient:!0})}),define("js/brand/brands",["jquery","handlebars","source-map","dot"],function(e,t,n){function a(e){var t=new RegExp("(^|&)"+e+"=([^&]*)(&|$)"),n=window.location.search.substr(1).match(t);return null!=n?window.unescape(n[2]):null}function i(e,t,n){var a,i=e,o={width:i.width(),left:i.offset().left,right:parseFloat(l(window).width())-parseFloat(i.offset().left)-parseFloat(i.width())},s=i.parent("li");p.find(".brands-dialog").remove(),a=c.compile(n),s.append(a(t)),u(s.find(".right")),o.right-350<0&&s.find(".brands-layer").addClass("brands-layer-right").css("left",-330-o.width)}function o(){v.unbind("mouseenter").unbind("mouseleave").hover(function(){var e=l(this),t=e.attr("data-key"),n={url:"/brands/brandinfo",type:"get",data:{brandId:t},success:function(t){200===t.code&&t.brand&&(j.hasOwnProperty(t.brand.key)||(j[t.brand.key]=t.brand),i(e,j[t.brand.key],S))}};clearTimeout(r),r=setTimeout(function(){j.hasOwnProperty(t)?i(e,j[t],S):l.ajax(n)},200)},function(){clearTimeout(r),p.find(".brands-dialog").remove()})}var s,r,d,l=e("jquery"),c=e("handlebars"),u=e("dot"),h=l(".brands-tabs"),p=l(".brands-list"),f=l(".brands-category"),m=l(".news-txt ul"),g=p.find("dl.clearfix"),v=p.find("li>a"),y=f.find("a"),b=h.find("li>a"),w=h.find(".hoverarr"),C=y.height(),_=y.offset()?y.offset().top:0,x=m.height(),k=m.offset()?m.offset().top:0,j={},S='<div class="brands-dialog">';S+='    <div class="brands-layer">',S+='        <div class="layer-content">',S+='            <div class="title">{{title}}</div>',S+='            <div class="clearfix desc">',S+='                <img src="{{icon}}">',S+='                <p class="right">{{content}}</p>',S+="            </div> ",S+='            <div class="featured">',S+="                <p>{{subtitle}}</p> ",S+='                <div class="clearfix"> ',S+="                    {{#each imgs}}",S+='                    <img src="{{src}}">',S+="                    {{/each}}",S+="                </div>",S+="            </div>",S+="        </div>",S+="    </div>",S+="</div>",u(l(".brand-desc")),l.easing.easeOutQuint=function(e,t,n,a,i){return a*((t=t/i-1)*t*t*t*t+1)+n},m.length&&m.find("li").each(function(){var e=l(this),t=e.offset().top-k+e.height();t>x&&e.hide()}),b.eq(0).parent("li").find(".brands-content").css("z-index","1"),d=a("id")?a("id"):0,s=b.eq(d),s.find(".g-mask").addClass("g-mask-on"),d&&s.length&&w.css({left:parseFloat(s.offset().left)-parseFloat(h.offset().left)}),b.hover(function(){var e=l(this);clearTimeout(r),r=setTimeout(function(){var t=parseFloat(e.offset().left)-parseFloat(h.offset().left);w.animate({left:t},200,"easeOutQuint")},50),h.find(".brands-content").removeAttr("style"),e.parent("li").find(".brands-content").css("z-index","1")},function(){clearTimeout(r)}),l(window).scroll(function(){l(this).scrollTop()>=_?f.addClass("category-fix"):f.removeClass("category-fix")}),y.click(function(){var e=l(this).attr("href").split("#")[1],t=p.find("[name="+e+"]").offset().top-C;return f.hasClass("category-fix")||(t-=C),l("html,body").animate({scrollTop:t},200),!1}),g.length<26&&l.ajax({url:"/brands/brandList",type:"POST",data:{start:g.length?g.length+1:1},success:function(e){e&&(p.append(e),v=p.find("li>a"),o())}}),o()}),define("js/passport/entry",["jquery","jquery.placeholder"],function(e,t,n){e("js/passport/reg"),e("js/passport/back"),e("js/passport/login"),e("js/passport/reset"),e("js/passport/vertification"),e("js/passport/thirdlogin"),e("js/passport/third-pwd"),e("js/passport/relate")}),define("js/passport/reg",["jquery","jquery.placeholder"],function(e,t,n){function a(){var e=new Date,t=m(".captcha-img"),n=t.attr("src").split("?")[0];t.attr("src",n+"?t="+e.getTime())}function i(e,t){var n,i;"reg"===e?(n="/passport/register/checkmobile",i={mobile:I.val(),area:L.text().split("+")[1]}):"third"===e&&(n="/passport/autouserinfo/bindCheck",i={mobile:I.val(),area:L.text().split("+")[1],openId:m("#open-id").val(),sourceType:m("#source-type").val()}),q[0].message="err",q[0].status=!1,m.ajax({url:n,type:"POST",data:i}).then(function(e){if(e){switch(e.code){case 200:I.val()!==B&&""!==B&&(a(),S.addClass("disable").attr("disabled","disabled"),q[1].message="图形验证码错误",q[1].status=!1),B=I.val(),q[0].message="",q[0].status=!0;break;case 400:a(),q[0].message=e.message,q[0].status=!1}t()}})}function o(e,t){var n;"reg"===e?n="/passport/register/piccaptcha":"third"===e&&(n="/passport/autouserinfo/checkPicCode"),m.ajax({type:"POST",url:n,data:{verifyCode:U.val()}}).then(function(e){if(e){switch(e.code){case 200:q[1].message="",q[1].status=!0;break;case 400:a(),q[1].message="图形验证码错误",q[1].status=!1}t()}})}function s(e,t){var n;"reg"===e?n="/passport/register/msgcaptcha":"third"===e&&(n="/passport/autouserinfo/checkBindMsg"),m.ajax({type:"POST",url:n,data:{code:E.val(),mobile:I.val(),area:L.text().split("+")[1]}}).then(function(e){if(e){switch(e.code){case 200:q[2].message="",q[2].status=!0;break;case 400:q[2].message="短信验证码错误",q[2].status=!1}t()}})}function r(e,t,n){var a,r=m.trim(t.val());t.hasClass("phone-num")?(a=L.text(),""===r?(q[0].message="请输入手机号码",q[0].status=!1,n()):!/^[0-9]+$/.test(r)||"+86"===a&&!g.phoneRegx[a].test(r)?(q[0].message="手机号码格式不正确,请重新输入",q[0].status=!1,n()):i(e,n)):t.hasClass("captcha")?""===r?(q[1].message="请输入图形验证码",q[1].status=!1,n()):r.length<=3?(q[1].message="图形验证码为4位",q[1].status=!1,n()):q[0].status?o(e,n):(q[1].message="图形验证码错误",q[1].status=!1,n()):t.hasClass("msg-captcha")?""===r?(q[2].message="请输入短信验证码",q[2].status=!1,n()):r.length<=3?(q[2].message="短信验证码错误",q[2].status=!1,n()):q[1].status?s(e,n):(q[2].message="短信验证码错误",q[2].status=!1,n()):t.hasClass("pwd")?(""===r?(q[3].message="请输入密码",q[3].status=!1):r.length<6||r.length>20?(q[3].message="密码只支持6-20位字符",q[3].status=!1):z.test(t.val())?(q[3].message="",q[3].status=!0):(q[3].message="密码须字母和数字组合",q[3].status=!1),n()):t.hasClass("repwd")&&(""===r?(q[4].message="请输入密码确认",q[4].status=!1):A.val()!==r?(q[4].message="与密码不一致,请重新输入",q[4].status=!1):(q[4].message="",q[4].status=!0),n())}function d(){var e=f.offset();return C.css({top:e.top-40,left:e.left})}function l(){var e,t=!1,n=q.length;for(e=0;n>e;e++)t||(q[e].message&&"err"!==q[e].message?(C.find("span").text(q[e].message),f=m("#"+q[e].id),d().removeClass("hide"),t=!0):C.addClass("hide"))}function c(){var e,t,n=q.length;for(t=0;n>t;t++)q[t].message?(e=m("#"+q[t].id),e.addClass("error")):(e=m("#"+q[t].id),e.removeClass("error"))}function u(e){var t=e.val(),n=v(t),a=0;switch(a=0===n?0:10>=n?1:20>=n?2:3){case 0:O.removeClass("red yellow green"),P.removeClass("color");break;case 1:O.addClass("red").removeClass("yellow green"),P.filter(".low").addClass("color"),P.filter(".mid,.high").removeClass("color");break;case 2:O.addClass("yellow").removeClass("red green"),P.filter(".low,.mid").addClass("color"),P.filter(".high").removeClass("color");break;case 3:O.addClass("green").removeClass("yellow red"),P.addClass("color")}""===t?w.removeClass("red yes no").addClass("default"):t.length<6||t.length>20?w.removeClass("default yes").addClass("no red"):w.removeClass("default no red").addClass("yes")}var h,p,f,m=e("jquery"),g=e("js/passport/mail-phone-regx"),v=e("js/passport/pwd-strength"),y=m(".register-page"),b=m("#pwd-tips"),w=b.find("#pwd-tip1"),C=m("#err-tip"),_=m("#register-btn"),x=m("#count-down"),k=m(".success-btn"),j=5,S=m("#send-captcha"),T=4,q=[],I=m("#phone-num"),E=m("#msg-captcha"),A=m("#pwd"),F=m("#repwd"),U=m("#captcha"),D=0,P=m(".pwd-intensity"),O=P.closest(".pwd-intensity-container"),L=m("#country-code"),$=m("#region"),N=!1,z=g.pwdValidateRegx,B="";e("jquery.placeholder"),setTimeout(function(){I.val(""),E.val(""),A.val(""),F.val(""),U.val("")},0),U.attr("maxlength",T),A.focus(function(e){b.removeClass("hide"),N=!0,p=m(this).val()}).blur(function(){b.addClass("hide"),N=!1}),m("[placeholder]").placeholder(),q=[{id:"phone-num",message:"",status:!1},{id:"captcha",message:"",status:!1},{id:"msg-captcha",message:"",status:!1},{id:"pwd",message:"",status:!1},{id:"repwd",message:"",status:!1}],m(window).resize(function(){C.hasClass("hide")||d()}),t.init=function(e){m("#agree-terms").click(function(){var e,t=m(this),n=0;if(t.attr("notchecked")){for(t.removeAttr("notchecked"),e=0;e<q.length;e++)q[e].status&&n++;4===n&&_.removeClass("disable").removeAttr("disabled")}else _.addClass("disable").attr("disabled","disabled"),t.attr("notchecked","notchecked")}),y.on("keydown",function(e){var t=e.which;13===t&&_.click()}),y.find(".va").keyup(function(){var t,n=0,a=q.length,i=m(this);r(e,m(this),function(){for(l(),c(),t=0;a>t;t++)q[t].status&&n++;4!==n||m("#agree-terms").attr("notchecked")?_.addClass("disable").attr("disabled","disabled"):_.removeClass("disable").removeAttr("disabled"),q[1].status&&0>=D?S.removeClass("disable").removeAttr("disabled"):S.addClass("disable").attr("disabled","disabled")}),i.hasClass("pwd")&&u(i)}).blur(function(){}),$.change(function(){L.text(m("#region").val()),r(e,I,l)}),S.click(function(){var t,n;m(this).hasClass("disable")||(D=60,m("#msg-tip").removeClass("hide"),S.addClass("disable").attr("disabled","disabled"),S.val("60秒可重新发送"),t=setInterval(function(){return 0>=D?(S.removeClass("disable").removeAttr("disabled").val("获取短信验证码"),void clearInterval(t)):void S.val(D--+"秒可重新发送")},1e3),"reg"===e?n="/passport/register/sendBindMsg":"third"===e&&(n="/passport/autouserinfo/sendBindMsg"),m.ajax({type:"POST",url:n,data:{area:L.text().split("+")[1],mobile:I.val(),verifyCode:U.val()}}))}),m(".success-box").length<=0&&(A[0].onpaste=function(){return!1}),_.click(function(){var t;"reg"===e?t="/passport/register/mobileregister":"third"===e&&(t="/passport/autouserinfo/bindMobile"),m(this).hasClass("disable")||m.ajax({type:"POST",url:t,data:{area:L.text().split("+")[1],mobile:I.val(),verifyCode:U.val(),code:E.val(),password:A.val()}}).then(function(e){var t,n,a=0;200===e.code?(n=e.data.href,t=setTimeout(function(){a++},1e3),m.ajax({type:"GET",url:e.data.session}).then(function(e){200===e.code&&3>t&&(clearInterval(t),location.href=n)}),t>=3&&(clearInterval(t),location.href=n)):console.log("网络超时~")})}),m(".change-captcha").click(function(){a()}),m(".success-box").length>0&&(h=setInterval(function(){0===j&&(window.location.href=k.attr("data-url"),clearInterval(h)),x.text(j--)},1e3))}}),define("js/passport/mail-phone-regx",[],function(e,t,n){var a={"+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]{1}[0-9]{8}$/,"+81":/^0[9|8|7][0-9]{9}$/,"+61":/^[0-9]{11}$/},i=/^[.\-_a-zA-Z0-9]+@[\-_a-zA-Z0-9]+\.[a-zA-Z0-9]/,o=/^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{6,20}$/;t.phoneRegx=a,t.emailRegx=i,t.pwdValidateRegx=o}),define("js/passport/pwd-strength",[],function(e,t,n){function a(e,t){return e.charCodeAt(t)>=48&&e.charCodeAt(t)<=57?1:e.charCodeAt(t)>=97&&e.charCodeAt(t)<=122?2:e.charCodeAt(t)>=65&&e.charCodeAt(t)<=90?3:4}function i(e,t,n){var a=e.charCodeAt(0),i=t.charCodeAt(0);return a-i===0?!0:4!==n&&(a-i===1||a-i===-1)}function o(e,t){return 0===t||e===t?0:4===e||4===t?2:1}function s(e){var t,n,s=0,r=e.length,d="",l=0,c=0;for(c=0;r>c;c++)t=e.charAt(c),n=a(e,c),l===n&&i(t,d,n)||(s+=n+o(n,l)),d=t,l=n;return s}n.exports=s}),define("js/passport/back",["jquery","jquery.placeholder"],function(e,t,n){function a(){var e=new Date,t=d("#captcha-img"),n=t.attr("src").split("?")[0];d("#captcha-img").attr("src",n+"?t="+e.getTime())}function i(){_&&x?y.removeClass("disable").prop("disabled",!1):y.addClass("disable").prop("disabled",!0)}function o(){return _&&x?void d.ajax({type:"POST",url:"/passport/back/authcode",data:{verifyCode:d.trim(m.val()),phoneNum:f.val(),area:p.val()}}).then(function(e){200===e.code?x=!0:402===e.code?(_=!1,x=!0,b.removeClass("hide").find("em").text("该账号不存在"),f.addClass("error")):400===e.code&&(x=!1,a()),i()}):void i()}function s(e){var t=!0,n="";return e=d.trim(e),""!==e?/^[0-9]+$/.test(e)?u[p.val()].test(e)?t=!0:(n="手机号码格式不正确, 请重新输入",t=!1):c.test(e)?t=!0:(n="邮箱格式不正确, 请重新输入",t=!1):(n="账户名不能为空",t=!1),_=t,o(),{pass:t,errTxt:n}}function r(){var e=d.trim(m.val());return""===e||e.length<C?(x=!1,void i()):(x=!0,void o())}var d=e("jquery"),l=e("js/passport/mail-phone-regx"),c=l.emailRegx,u=l.phoneRegx,h=e("js/passport/ac-email"),p=d("#country-code-hide"),f=d("#phone-num"),m=d("#captcha"),g=d("#country-code-list"),v=d("#country-code"),y=d("#find-btn"),b=d("#account-err"),w=d("#captcha-err"),C=4,_=!1,x=!1;e("jquery.placeholder"),h(f,function(){var e=s(f.val());e.pass?(b.addClass("hide"),f.removeClass("error")):(b.removeClass("hide").find("em").text(e.errTxt),f.addClass("error"))}),m.attr("maxlength",C),d("input").placeholder(),d("#change-captcha, #captcha-img").on("click",function(){a()}),v.on("click",function(e){e.stopPropagation(),"block"===g.css("style")?g.slideUp("fast"):g.slideDown("fast")}),g.delegate("li","click",function(e){var t,n=d(this),a=n.data("cc");e.stopPropagation(),p.val(a),v.find("em").html(n.text()),""!==d.trim(f.val())&&(t=s(f.val()),i(),_?(b.addClass("hide"),f.removeClass("error")):(b.removeClass("hide").text(t.errTxt),f.addClass("error"))),g.slideUp("fast")}),d(document).click(function(){"block"===g.css("display")&&g.slideUp()}),f.keyup(function(){s(d.trim(d(this).val()))}).focus(function(){d(this).removeClass("error"),b.addClass("hide")}),m.blur(function(){var e=""===d.trim(m.val())?"验证码不能为空":"验证码不正确";x?(w.addClass("hide"),m.removeClass("error")):(w.removeClass("hide").find("em").text(e),m.addClass("error"),m.val()<C&&a())}).focus(function(){d(this).removeClass("error"),w.addClass("hide")}).keyup(function(){r()}),d("#find-btn").click(function(e){return/^[0-9]+$/.test(d.trim(f.val()))&&d("#find-form").attr("action","/passport/back/mobile"),d(this).hasClass("disable")?void 0:x&&_?void 0:(e.preventDefault(),!0)})}),define("js/passport/ac-email",["jquery"],function(e,t,n){var a,i=e("jquery"),o={num:["qq.com","163.com","126.com","sina.com","gmail.com","sohu.com","hotmail.com","139.com","189.com"],other:["gmail.com","qq.com","163.com","126.com","sina.com","sohu.com","hotmail.com","139.com","189.com"]};n.exports=function(e,t){var n,s='<ul id="email-autocomplete" class="email-autocomplete hide"></ul>';e.parent().append(s),n=i("#email-autocomplete"),e.on("keyup",function(){var e,t,a,s,r=i.trim(i(this).val()),d="";if(r.indexOf("@")>0){for(e=r.match(/^[0-9]+@(.*)/),e?(a=o.num,t=e[1]):(a=o.other,t=r.match(/@(.*)/)[1]),s=0;s<a.length;s++)a[s].indexOf(t)>-1&&(d+="<li>"+r.slice(0,r.indexOf("@"))+"@"+a[s]+"</li>");""!==d&&/.com$/.test(r)===!1?n.html(d).removeClass("hide"):n.html("").addClass("hide")}}).on("blur",function(){a=setTimeout(function(){n.addClass("hide"),t&&t()},200)}),n.on("click","li",function(){clearTimeout(a),e.val(i(this).text()).focus(),n.addClass("hide"),t&&t()})}}),define("js/passport/login",["jquery","jquery.placeholder"],function(e,t,n){function a(){var e,t=!1,n=c.trim(u.val()),a=y.val();return""!==n?/^[0-9]+$/.test(n)?"+86"!==a||_.phoneRegx[a].test(n)?t=!0:(t=!1,e="手机号码不正确,请重新输入"):_.emailRegx.test(n)?t=!0:(t=!1,e="邮箱格式不正确,请重新输入"):e="请输入账户名",t?(f.addClass("hide"),u.removeClass("error")):(f.removeClass("hide").children("em").text(e),u.addClass("error")),t}function i(){var e,t=!1,n=c.trim(h.val());return""!==n?n.length<6?e="请输入长度为6-20字符的密码":t=!0:e="请输入密码",t?(m.addClass("hide"),h.removeClass("error")):(m.removeClass("hide").children("em").text(e),h.addClass("error")),t}function o(){var e,t=!1,n=c.trim(p.val());return S.is(":hidden")?!0:(""!==n?4!==n.length?e="请输入长度为4字符的验证码":t=!0:e="请输入验证码",t?(g.addClass("hide"),p.removeClass("error")):(g.removeClass("hide").children("em").text(e),p.addClass("error")),t)}function s(){var e=!0,t=c.trim(u.val()),n=c.trim(h.val());return""!==t?e=a()&&i()&&o():(e=!1,u.addClass("error"),""===n?(f.addClass("both-error").removeClass("hide").children("em").text("请输入账户名和密码"),m.addClass("hide"),h.addClass("error")):f.removeClass("hide").children("em").text("请输入账户名")),e}function r(){T.attr("src",j+c.now()),p.val(""),S.removeClass("hide")}function d(){var e=s();e&&I===!1&&(I=!0,c.ajax({url:"/passport/login/auth",type:"POST",data:{areaCode:y.val().replace("+",""),account:c.trim(u.val()),password:c.trim(h.val()),captcha:c.trim(p.val()),isRemember:!!k.hasClass("checked")},success:function(e){200===e.code?e.data&&(location.href=e.data.session):("captcha"===e.data.errorType?(g.removeClass("hide").children("em").html(e.message),p.addClass("error").val("")):(m.removeClass("hide").children("em").html(e.message),h.addClass("error").val("")),e.data&&e.data.needCaptcha&&r())},complete:function(){I=!1}}))}var l,c=e("jquery"),u=c("#account"),h=c("#password"),p=c("#captcha"),f=u.siblings(".err-tip"),m=h.siblings(".err-tip"),g=p.siblings(".err-tip"),v=c("#caps-lock"),y=c("#country-code-hide"),b=c("#country-code > em"),w=c("#country-list"),C=c("#email-autocomplete"),_=e("js/passport/mail-phone-regx"),x=e("js/passport/ac-email"),k=c(".remember-me"),j="/passport/images?t=",S=c(".captcha-wrap"),p=S.find("#captcha"),T=S.find("#captcha-img"),g=S.find(".err-tip"),q={checked:"&#xe612;",unchecked:"&#xe613;"},I=!1;e("jquery.placeholder"),x(u,function(){a()&&c.ajax({url:"/passport/login/account",type:"GET",data:{account:c.trim(u.val())}}).then(function(e){e.data&&e.data.needCaptcha&&r()})}),c("[placeholder]").placeholder(),c("#country-code").on("click",function(){"none"===w.css("display")&&w.slideDown()}),w.on("click","li",function(){var e=c(this),t=e.data("cc");b.html(e.html()),y.val(t),w.slideUp()}),c(document).on("click",function(e){c(e.target).closest("#country-code").length>0||"block"===w.css("display")&&w.slideUp()}),h.on("blur",function(){i(),v.hasClass("hide")||v.addClass("hide")}).on("keypress",function(e){var t=e.which;return t>=65&&90>=t?void v.removeClass("hide"):void v.addClass("hide")}),p.on("blur",function(){o()}),C.on("click","li",function(){clearTimeout(l),u.val(c(this).text()).focus(),C.addClass("hide")}),k.on("click",function(){var e=c(this);e.toggleClass("checked"),e.hasClass("checked")?e.children("i").html(q.checked):e.children("i").html(q.unchecked)}),c(".va").on("focus",function(){var e=c(this);e.removeClass("error"),e.siblings(".err-tip").addClass("hide")}),S.on("click",".change-captcha, .captcha-img",function(){T.attr("src",j+c.now())}),c("#login-btn").on("click",d),c("input.va").on("keypress",function(e){13===e.which&&d()}),""===u.val()&&u.val()!==u.attr("placeholder")||""!==h.val()||h.focus()}),define("js/passport/reset",["jquery","jquery.placeholder"],function(e,t,n){function a(e,t){return e.charCodeAt(t)>=48&&e.charCodeAt(t)<=57?1:e.charCodeAt(t)>=97&&e.charCodeAt(t)<=122?2:e.charCodeAt(t)>=65&&e.charCodeAt(t)<=90?3:4}function i(e,t,n){var a=e.charCodeAt(0),i=t.charCodeAt(0);return a-i===0?!0:4!==n&&(a-i===1||a-i===-1)}function o(e,t){return 0===t||e===t?0:4===e||4===t?2:1}function s(e){var t,n,s=0,r=e.length,d="",l=0,c=0;for(c=0;r>c;c++)t=e.charAt(c),n=a(e,c),l===n&&i(t,d,n)||(s+=n+o(n,l)),d=t,l=n;return s}function r(){var e=l.val(),t=s(e),n=0;switch(n=0===t?0:10>=t?1:20>=t?2:3){case 0:v.removeClass("red yellow green"),g.removeClass("color");break;case 1:v.addClass("red").removeClass("yellow green"),g.filter(".low").addClass("color"),g.filter(".mid,.high").removeClass("color");break;case 2:v.addClass("yellow").removeClass("red green"),g.filter(".low,.mid").addClass("color"),g.filter(".high").removeClass("color");break;case 3:v.addClass("green").removeClass("yellow red"),g.addClass("color")}""===e?y.removeClass("red yes no").addClass("default"):e.length<6||e.length>20?y.removeClass("default yes").addClass("no red"):y.removeClass("default no red").addClass("yes"),m=!!b.test(e)}var d=e("jquery"),l=d("#pwd"),c=d("#re-input"),u=d("#reset-pwd-btn"),h=d("#pwd-err"),p=d("#repwd-err"),f=d("#pwd-tips"),m=!1,g=d(".pwd-intensity"),v=g.closest(".pwd-intensity-container"),y=d("#pwd-tip1"),b=e("js/passport/mail-phone-regx").pwdValidateRegx;e("jquery.placeholder"),d("input").placeholder(),d(".va").keyup(function(){var e=!0;d(this).hasClass("pwd")?r():""===d(this).val()&&(e=!1),e=!(!e||!m||l.val()!==c.val()),e?u.removeClass("disable").prop("disabled",!1):u.addClass("disable").prop("disabled",!0)}).blur(function(){var e=d(this),t=e.val();e.hasClass("pwd")?""===t?(e.addClass("error"),h.removeClass("hide").find("em").text("请输入密码")):t.length<6||t.length>20?(e.addClass("error"),h.removeClass("hide").find("em").text("密码只支持6-20位")):b.test(t)?(h.addClass("hide"),""!==c.val()&&(t!==c.val()?(c.addClass("error"),p.removeClass("hide").find("em").text("两次密码输入不一致,请重新输入")):(c.removeClass("error"),p.addClass("hide")))):(e.addClass("error"),h.removeClass("hide").find("em").text("密码须字母和数字组合")):""===t?(e.addClass("error"),p.removeClass("hide").find("em").text("请输入密码确认")):""!==l.val()&&t!==l.val()?(e.addClass("error"),p.removeClass("hide").find("em").text("两次密码输入不一致,请重新输入")):(e.removeClass("error"),p.addClass("hide"))}).focus(function(){d(this).removeClass("error"),d(this).hasClass("pwd")?h.addClass("hide"):p.addClass("hide")}),l.focus(function(){h.addClass("hide"),f.removeClass("hide")}).blur(function(){f.addClass("hide")}),d("#pwd, #repwd").keydown(function(e){var t=e.keyCode||e.which;return 32===t?void e.preventDefault():void 0})}),define("js/passport/vertification",["jquery"],function(e,t,n){var a,i,o=e("jquery"),s=o("#send-captcha"),r=o("#captcha-tip"),d=o("#err-tip"),l=o("#next-step");s.click(function(){o.post("/passport/back/sendbackmobile",{mobile:o("#mobile").val(),area:o("#area").val(),verifyCode:o("#captchaPic").val()},function(e){if(200===e.code){if(d.hide(),o(this).hasClass("disable"))return;a=60,s.addClass("disable").attr("disabled",!0),r.removeClass("hide"),s.val(a--+"秒后可重新操作"),i=setInterval(function(){0===a?(clearInterval(i),s.val("发送验证码").removeClass("disable").removeAttr("disabled")):s.val(a--+"秒后可重新操作")},1e3)}else o(this).addClass("error"),d.removeClass("hide").text("发送失败")})}),a=60,s.addClass("disable").attr("disabled",!0),r.removeClass("hide"),s.val(a--+"秒后可重新操作"),i=setInterval(function(){0===a?(clearInterval(i),s.val("发送验证码").removeClass("disable").removeAttr("disabled")):s.val(a--+"秒后可重新操作")},1e3),o("#captcha").keyup(function(){var e=o.trim(o(this).val()),t=this;4===e.length?o.ajax({type:"POST",url:"/passport/back/backmobile",dataType:"json",data:{code:o("#captcha").val(),verifyCode:o("#captchaPic").val(),area:o("#area").val(),mobile:o("#mobile").val()
+},success:function(e){200===e.code?(l.removeClass("disable").attr("href",e.data),d.addClass("hide"),o(t).removeClass("error")):(l.addClass("disable"),d.removeClass("hide").find("em").text("验证码输入错误"),o(t).addClass("error"))}}):l.addClass("disable").attr("href","javascript:;")}).blur(function(){var e=o.trim(o(this).val());""===e&&(o(this).addClass("error"),d.removeClass("hide").text("请输入验证码"))}).focus(function(){o(this).removeClass("error")})}),define("js/passport/thirdlogin",["jquery"],function(e,t,n){function a(){b(".choosetag").on("change",function(){var e="#f02200";"checked"===b(this).attr("checked")?b(".choosewrapper").css({"background-image":'url("'+S+'")'}):(b(".choosewrapper").css({"background-image":"none"}),e="#CCCCCC"),I.css({"background-color":e})})}function i(){return"checked"===b(".choosetag").attr("checked")}function o(){b(".optionshow").on("click",function(){b(".optionslist").toggleClass("hide")})}function s(){var e="";b(document).on("keyup","#validatenum",function(){e=b(this).val(),4===e.length&&(k||(k=!0,b.ajax({type:"POST",url:"/passport/autouserinfo/checkBindMsg",data:{code:e,mobile:b("#mobile").val(),area:b("#areacode").val()}}).then(function(e){k=!1,200===e.code?j=!0:alert(e.message)})))}),b("#validatenum").focus(function(){b(this).removeAttr("placeholder")}).blur(function(){b(this).attr("placeholder","验证码")})}function r(){b(".optionitem").on("click",function(){var e=b(this),t=e.attr("areanum"),n=e.text();b("#areaname").text(n),b("#areanum").text(t),b("#areacode").val(t),b(".optionslist").addClass("hide")})}function d(){b(document).on("click","body",function(e){var t=b(e.target);t.hasClass("yohoselectarea")||t.hasClass("areaname")||t.hasClass("righttag")||t.hasClass("optionslist")||t.hasClass("optionitem")||b(".optionslist").addClass("hide")})}function l(){var e="",t="";b(".optionitem").each(function(){e=b(this),t=e.attr("areanum").replace(/\+/g,""),e.attr("areanum",t)})}function c(){var e;b(document).on("click","#alreayregist",function(t){e=b(t.target),(e.hasClass("mask")||e.hasClass("backdrop"))&&(b("#alreayregist").hide(),b(".backdrop").hide())}),b(document).on("click","#bindconfirm",function(t){e=b(t.target),(e.hasClass("mask")||e.hasClass("backdrop"))&&(b("#bindconfirm").hide(),b(".backdrop").hide())})}function u(){b(document).on("click","#yohobindbtn",function(e){b(".phonenum").val(""),b("#bindconfirm").hide(),b(".backdrop").hide()}),b(document).on("click","#yohobindbtn2",function(e){b(".phonenum").val(""),b("#alreayregist").hide(),b(".backdrop").hide()})}function h(){return x-=1,0>x?(x=60,void b(".validatewrapper").html(_)):(b(".second").text(x),void window.setTimeout(h,1e3))}function p(e){b(".validatewrapper").html(C),window.setTimeout(h,1e3)}function f(){b(document).on("click","#sendmessage",function(){"disabled"!==b("#sendmessage").attr("disabled")&&(p(b("#mobile").val()),b.ajax({type:"POST",url:"/passport/autouserinfo/sendBindMsg",data:{mobile:b("#mobile").val(),area:b("#areacode").val()}}).then(function(e){200!==e.code&&alert(e.message)}))})}function m(){var e="",t="";t=b("#areacode").val(),e=b("#mobile").val(),b.ajax({type:"POST",url:"/passport/autouserinfo/bindMobile",data:{area:t,openId:b("#openId").val(),sourceType:b("#sourceType").val(),mobile:e,code:b("#validatenum").val()}}).then(function(e){200===e.code?e.data&&e.data.refer?window.location.href=e.data.refer:window.location.href="/passport/thirdlogin/bindsuccess":alert(e.message)})}function g(){b(document).on("click","#gotobindphone",function(){j===!0?(b("#inarea").val(b("#areacode").val()),b("#inmobile").val(b("#mobile").val()),m()):alert("请输入正确验证码")})}function v(){var e="",t="",n="",a="",o="",s="";b("#bindfirststep").on("click",function(r){var d;if(r.preventDefault(),n=b(".phonenum").val(),a=b("#areanum").text(),d=w["+"+a],i()){if(""===n||!d||!d.test(n))return q.find("em").text("手机格式错误"),void q.removeClass("hide");e=b("#openId").val()||"29803EC6D4AAC3AAB8ABDB6AE829D579",t=b("#sourceType").val()||"qq",b.ajax({type:"post",url:"/passport/autouserinfo/bindCheck",data:{mobile:n,area:a,openId:e,sourceType:t},dataType:"json",success:function(e){var t=b(window).height();200===e.code?(b("#bindmobileform").attr("action",e.data.next),b("#bindmobileform").submit()):201===e.code?(o=e.data.user.username,s=e.data.user.headImg,b("#registphone").text(n),b("#username").text(o),""===s?b("#userphoto").attr("src","//img10.static.yhbimg.com/headimg/2013/11/28/09/01cae078abe5fe320c88cdf4c220212688.gif?imageView/2/w/100/h/100"):b("#userphoto").attr("src",s),b("#logindirectly2").attr("href",e.data.user.bindLogin),b(".backdrop").show(),b("#sendmessage").click(),b("#alreayregist .mask").css({"padding-top":t>440?t/2:217}),b("#alreayregist").show()):203===e.code?(b("#bindmobileform").attr("action",e.data.next),b("#bindmobileform").submit()):205===e.code?(o=e.data.user.username,s=e.data.user.headImg,b("#registphonetwo").text(n),b("#username1").text(o),""===s?b("#userphoto1").attr("src","//img10.static.yhbimg.com/headimg/2013/11/28/09/01cae078abe5fe320c88cdf4c220212688.gif?imageView/2/w/100/h/100"):b("#userphoto1").attr("src",s),b("#logindirectly").attr("href",e.data.user.bindLogin),b(".backdrop").show(),b("#bindconfirm .mask").css({"padding-top":t>440?t/2:217}),b("#bindconfirm").show()):402===e.code?(q.find("em").text("手机格式错误"),q.removeClass("hide")):e&&e.message&&alert(e.message)}})}})}function y(){l(),f(),a(),r(),o(),d(),v(),c(),u(),g(),s()}var b=e("jquery"),w=e("js/passport/mail-phone-regx").phoneRegx,C=b("#nopermissionmessage").html(),_=b(".validatewrapper").html(),x=+b(".second").text(),k=!1,j=!1,S="//cdn.yoho.cn/yohobuy/assets/img/passport/choosed.png",T=b(".bindwrapper"),q=T.find(".phone-err-tip"),I=T.find(".yohobindbtn");T.on("keydown",".phonenum",function(e){return 13===e.keyCode?(I.trigger("click"),!1):void 0}),y()}),define("js/passport/third-pwd",["jquery"],function(e,t,n){function a(e,t){return e.charCodeAt(t)>=48&&e.charCodeAt(t)<=57?1:e.charCodeAt(t)>=97&&e.charCodeAt(t)<=122?2:e.charCodeAt(t)>=65&&e.charCodeAt(t)<=90?3:4}function i(e,t,n){var a=e.charCodeAt(0),i=t.charCodeAt(0);return a-i===0?!0:4!==n&&(a-i===1||a-i===-1)}function o(e,t){return 0===t||e===t?0:4===e||4===t?2:1}function s(e){var t=0,n=e.length,s="",r=0,d=0,l="",c="";for(d;n>d;d++)l=e.charAt(d),c=a(e,d),r===c&&i(l,s,c)||(t+=c+o(c,r)),s=l,r=c;return t}function r(e,t){e.find("em").text(t),e.removeClass("hide")}function d(){return j-=1,0>j?(j=60,void C(".validatewrapper").html(T)):(C(".second").text(j),void window.setTimeout(d,1e3))}function l(){C(".validatewrapper").html(S),window.setTimeout(d,1e3)}function c(){C(document).on("click","#sendmessage",function(){l(),C.ajax({type:"POST",url:"/passport/autouserinfo/sendBindMsg",data:{mobile:P,area:O}}).then(function(e){200!==e.code&&alert(e.message)})})}function u(){var e="";C(document).on("keyup","#validatenum",function(){C("#err-info").hide(),e=C(this).val(),4===e.length&&(_||(_=!0,C.ajax({type:"POST",url:"/passport/autouserinfo/checkBindMsg",data:{code:e,mobile:P,area:O}}).then(function(e){_=!1,200!==e.code?C("#err-info").show():x=!0})))})}function h(){var e=v.val(),t=s(e),n=0;switch(n=0===t?0:10>=t?1:20>=t?2:3){case 0:y.removeClass("red yellow green"),w.removeClass("color");break;case 1:y.addClass("red").removeClass("yellow green"),w.filter(".low").addClass("color"),w.filter(".mid,.high").removeClass("color");break;case 2:y.addClass("yellow").removeClass("red green"),w.filter(".low,.mid").addClass("color"),w.filter(".high").removeClass("color");break;case 3:y.addClass("green").removeClass("yellow red"),w.addClass("color")}""===e?(k=!1,b.removeClass("red yes no").addClass("default")):(e.length<6||e.length>20?(k=!1,b.removeClass("default yes").addClass("no red")):(k=!0,b.removeClass("default no red").addClass("yes")),/^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]*$/.test(e)?F.removeClass("default no red").addClass("yes"):F.removeClass("default yes").addClass("no red"))}function p(){C(document).on("keyup",".pwdcontent",function(){h(C(this))}),C(document).on("focus",".pwdcontent",function(){C("#pwd-tips").removeClass("hide")}),C(document).on("blur",".pwdcontent",function(){C("#pwd-tips").addClass("hide")})}function f(){var e="",t="";q||(q=!0,setTimeout(function(){q=!1},5e4),e=C("#pwd").val(),t=C("#validatenum").val(),C.ajax({type:"POST",url:"/passport/autouserinfo/bindMobile",data:{area:O,openId:C("#openId").val(),sourceType:C("#sourceType").val(),mobile:P,password:e,code:t}}).then(function(e){q=!1,200===e.code?e.data&&e.data.refer?window.location.href=e.data.refer:window.location.href="/passport/thirdlogin/bindsuccess":alert(e.message)}))}function m(){var e="",t="";C("#confirmsubmit").on("click",function(){var n=!0;e=C("#validatenum").val(),t=C("#pwd").val(),""===e?(r(E,"短信验证码不能为空"),n=!1):x===!1&&(r(E,"请输入正确的验证码"),n=!1),""===t?(r(A,"密码不能为空"),n=!1):t.length<6||t.length>20?(r(A,"密码只支持6-20位字符"),n=!1):D.test(t)?k===!1&&(r(A,"请输入符合强度的密码"),n=!1):(r(A,"密码须由字母和数字组合"),n=!1),n&&f()})}function g(){v=C("#pwd"),y=C(".safelevel"),w=C(".pwd-intensity"),b=C("#pwd-tip1"),c(),u(),p(),m(),P&&O&&U.click()}var v,y,b,w,C=e("jquery"),_=!1,x=!1,k=!1,j="",S="",T="",q=!1,I=C(".bindwrapper"),E=I.find(".code-err-tip"),A=I.find(".pwd-err-tip"),F=C("#pwd-tip2"),U=C("#sendmessage"),D=e("js/passport/mail-phone-regx").pwdValidateRegx,P=C("#mobile").val(),O=C("#area").val();S=C("#nopermissionmessage").html(),T=C(".validatewrapper").html(),j=+C(".second").text(),g()}),define("js/passport/relate",["jquery"],function(e,t,n){function a(){f.init(),o.ajax({type:"POST",url:"/passport/autouserinfo/sendBindMsg",data:{mobile:p.mobile,area:p.area}}).then(function(e){e&&200!==e.code&&(f.clearTime(),alert(e.message))})}function i(){var e=l.val();e&&o.ajax({type:"POST",url:"/passport/autouserinfo/relateMobile",data:{mobile:p.mobile,area:p.area,openId:p.openid,sourceType:p.source,code:e}}).then(function(e){200===e.code?window.location.href=e.data.refer:402===e.code?u.removeClass("hide"):(u.addClass("hide"),alert(e.message))})}var o=e("jquery"),s=o("#relate-main"),r=o("#code-validate"),d=r.find(".validate-wrapper"),l=r.find(".msg-code"),c=r.find(".count-down span"),u=r.find(".code-error"),h=o("#hide-info"),p={},f={};p=h.data(),h.remove(),f={init:function(){this.timer&&window.clearTimeout(this.timer),this.second=60,d.addClass("waiting"),this.changeTime()},changeTime:function(){var e=this;this.second&&this.second>0?(c.text(this.second),this.second--,this.timer=window.setTimeout(function(){e.changeTime()},1e3)):this.clearTime()},clearTime:function(){this.timer&&window.clearTimeout(this.timer),d.removeClass("waiting")}},o("#next-step-btn").click(function(){a(),s.addClass("hide"),u.addClass("hide"),r.removeClass("hide")}),r.on("keydown",".msg-code",function(e){return 13===e.keyCode?(i(),!1):void 0}),r.on("click",".get-code",function(){a()}),r.on("click",".perv-step",function(){f.clearTime(),s.removeClass("hide"),r.addClass("hide"),l.val("")}),o("#relate-btn").click(function(){i()})}),define("js/cart/cart",["jquery","handlebars","source-map"],function(e,t,n){function a(e){z.ajax({type:"POST",dataType:"json",url:"/cart/index/select",data:e,beforeSend:function(){z(".loading").css({top:z(document).scrollTop()+200}),z(".loading").show()}}).then(function(e){200===e.code&&window.history.go(0)})}function i(e,t){te=[],k={},w=e.attr("checked")?"Y":"N",z("."+t).each(function(){oe=!!z(this).data("promotionid"),z(this).data("id")&&te.push({product_sku:z(this).data("id"),selected:w,buy_number:z(this).data("productnum"),goods_type:z(this).data("goodstype"),promotion_id:z(this).data("promotionid")?z(this).data("promotionid"):0})}),k={skuList:JSON.stringify(te),hasPromotion:oe},a(k)}function o(e,t,n){z.ajax({type:"GET",dataType:"json",url:t,data:n}).then(function(t){200===t.code&&t.data.item&&t.data.item.length>0&&(e.html(" "),m=f(t.data),e.append(z(m)),z("#orderProduct li:last").addClass("end"),z(".gift").removeClass("none"))})}function s(e){z.ajax({type:"GET",dataType:"html",url:"/cart/index/getProductInfo",data:e}).then(function(e){K=0,Q.html(" "),Q.append(e),Q.show(),z(".detail-bigpic:not(.none) .con li:first").addClass("active"),z(".showSizeBox:not(.none) span").length<2&&z(".showSizeBox:not(.none) span:first").addClass("atcive"),1!==Number(z("#addToCart").val())&&z(".showSizeBox span").data("num",0),z.each(z(".showSizeBox span"),function(){z(this).data("num")<=0&&(z(this).addClass("null-atcivec"),console.log(z(".showSizeBox:not(.none) span:first")),z(".showSizeBox:not(.none) span:first").removeClass("atcive"))}),"undefined"!=typeof q&&($=z(".detail-info .oldprice del").html()?z(".detail-info .oldprice del").html():N,O='<span class="oldprice">现价:<del>'+$+'</del></span><span class="newprice">活动价:<b class="promotion-price">'+q+"</b></span>",z(".detail-info .price").html(O)),z(".detail-bigpic:not(.none) .bigpic:gt(0)").hide(),z(".showSizeBox:not(.none)").find("span").each(function(){return z(this).hasClass("null-atcivec")?(z(".addcart").addClass("none"),void z(".btn_sellout").removeClass("none")):(z(".addcart").removeClass("none"),z(".btn_sellout").addClass("none"),!1)})})}function r(){Q.html(" "),Q.css({top:z(document).scrollTop()+30,left:z(document).width()/2-Q.width()/2})}function d(e){e.addClass("none").siblings("i").removeClass("none"),e.parents(".cart-product-num").siblings("div").toggleClass("fold"),e.siblings(".unfold-color").toggleClass("none"),e.siblings(".cart-page").toggleClass("none")}function l(e,t,n){z.ajax({type:"POST",dataType:"json",url:t,data:k,beforeSend:function(){z(".loading").css({top:z(document).scrollTop()+200}),z(".loading").show()}}).then(function(e){200===e.code?(n&&window.setCookie("cart-del-list",JSON.stringify(n),{domain:".yohobuy.com",path:"/"}),window.history.go(0)):300===e.code?(z(".loading").hide(),new M(e.message).show()):403===e.code&&e.data.url&&(window.location=e.data.url)})}function c(e){se=!0,z.ajax({type:"POST",dataType:"json",url:"/cart/index/modify",data:e}).then(function(e){200===e.code&&window.history.go(0),se=!1})}function u(e,t){z.ajax({type:"POST",url:"/cart/index/add",data:e}).then(function(e){200===e.code?(window.history.go(0),t&&window.setCookie("cart-del-list",JSON.stringify(t),{domain:".yohobuy.com",path:"/"})):500===e.code&&new M(e.message).show()})}function h(){z(".gift-wrapper .fold").show(),z(".pre-sell-box input:checked").length===z('.pre-sell-box input[type="checkbox"]').length&&z('.per-list input[type="checkbox"]').attr("checked",!0),z(".common-sell-box input:checked").length===z('.common-sell-box input[type="checkbox"]').length&&z('.common-list input[type="checkbox"]').attr("checked",!0),z('.common-list input[type="checkbox"]').attr("checked")&&(ie=!0),z('.per-list input[type="checkbox"]').attr("checked")&&(ae=!0),0!==z(".per-list").length&&0!==z(".common-list").length?ie&&ae&&z('.batch_div input[type="checkbox"]').attr("checked",!0):(ie||ae)&&z('.batch_div input[type="checkbox"]').attr("checked",!0),z(".cart-page").each(function(){1===z(this).data("pageall")?(z(".cart-btn-pre",this).hide(),z(".cart-btn-next",this).hide()):z(".cart-btn-pre",this).hide()}),z(".pre-sell-box input:checked").length>0&&z(".common-sell-box input:checked").length>0?(z(".go_cash_tips").show(),z(".btn_account_disabled").show(),z(".btn_account").hide()):(z(".go_cash_tips").hide(),z(".btn_account").show(),z(".btn_account_disabled").hide()),z(".pay-wapper tr").each(function(){z(this).data("pid")&&te.push(z(this).data("pid")+"")}),z.ajax({type:"POST",url:"/cart/index/checkFav",data:{pidList:JSON.stringify(te)}}).then(function(e){I='<span class="cart-yetremove-btn">已收藏</span>',E='<a href="javascript:void(0);" class="cart-remove-btn"><span>移入收藏</span></a>',z.each(e.data,function(e,t,n){z(".pay-wapper tr").each(function(){Number(z(this).data("pid"))===Number(e)&&(t?z(this).find(".cart-operation").append(I):z(this).find(".cart-operation").append(E))})})})}var p,f,m,g,v,y,b,w,C,_,x,k,j,S,T,q,I,E,A,F,U,D,P,O,L,$,N,z=e("jquery"),B=e("handlebars"),R=e("js/common/dialog"),W=R.Confirm,M=R.Alert,H=z(".cartnew-sum"),G=z(".cartnew-tips"),Y=z(".pay-wapper"),Q=z(".goods-detail"),X=z(".histroy"),V=z(".together"),Z=z(".shop-cart"),J=1,K=0,ee=1,te=[],ne=[],ae=!1,ie=!1,oe=!1,se=!1;G.find(".btn_close").click(function(){G.fadeOut()}),Y.one("click",'.common-sell-box input[type="checkbox"], .pre-sell-box input[type="checkbox"]',function(){w=z(this).attr("checked")?"Y":"N",te=[],te.push({product_sku:z(this).parents("tr").data("id"),selected:w,buy_number:z(this).parents("tr").data("productnum"),goods_type:z(this).parents("tr").data("goodstype"),promotion_id:z(this).parents("tr").data("promotionid")?z(this).parents("tr").data("promotionid"):0}),oe=!!z(this).parents("tr").promotion_id,k={skuList:JSON.stringify(te),hasPromotion:oe},a(k)}),H.one("click",'input[type="checkbox"]',function(){te=[],L={},k={},w=z(this).attr("checked")?"Y":"N",z(".pay-wapper:first tr").each(function(){z(this).data("promotionid")&&(oe=!0),z(this).data("id")&&te.push({product_sku:z(this).data("id"),selected:w,buy_number:z(this).data("productnum"),goods_type:z(this).data("goodstype"),promotion_id:z(this).data("promotionid")?z(this).data("promotionid"):0})}),k={skuList:JSON.stringify(te),hasPromotion:oe},a(k)}),z(".per-list").on("click",'input[type="checkbox"]',function(){i(z(this),"pre-sell-box")}),z(".common-list").on("click",'input[type="checkbox"]',function(){i(z(this),"common-sell-box")}),p=z("#togetherProduct").html(),f=B.compile(p),o(X,"/cart/index/getHistroyProduct"),o(V,"/cart/index/getTogetherProduct"),V.on("click",".pagenext, .pageprev",function(){o(V,"/cart/index/getTogetherProduct",{page:Math.ceil(100*Math.random())+1})}),Z.on("click",".icon-minus, .icon-add",function(){z(this).hasClass("icon-minus")?(z(this).parents(".title").next(".main").hide(),z(this).parents("h2").next(".right").hide()):(z(this).parents(".title").next(".main").show(),z(this).parents("h2").next(".right").show()),z(this).siblings("i").toggleClass("none"),z(this).toggleClass("none")}),X.on("click",".pagenext, .pageprev",function(){z(this).hasClass("pagenext")?J++:--J>0||(J=1),o(X,"/cart/index/getHistroyProduct",{page:J})}),Y.on("click",".cart-add-btn",function(){F=z(this).data("id"),T=z(this).parents("table").data("promotion"),q=z(this).parents("table").find(".subjoin-price").html(),N=z(this).parents("table").find(".wapper-price").html(),r(),s({productId:F})}),z(".clearfix").on("click",".btn_view_s",function(){F=z(this).data("id"),T=z(this).parents("table").data("promotion"),q=z(this).parents("table").find(".subjoin-price").html(),r(),s({productId:F})}),Q.on("click",".colse",function(){Q.hide(),Q.html(" "),ee=1}),Y.on("click",".icon-minusCart, .icon-addCart",function(){d(z(this))}),Y.on("click",".unfold-color",function(){d(z(this)),z(this).siblings(".icon-minusCart").removeClass("none"),z(this).siblings(".icon-addCart").addClass("none")}),Y.on("click",".cart-btn-next",function(){g=z(this).siblings("p").find(".f-red"),y=Number(z(this).siblings("p").find(".subjoinPageNum").html()),v=Number(g.html()),g.html(v+1),v>=y-1?z(this).hide():z(this).siblings("i").show(),b=z(this).parents(".cart-product-num").siblings("div").find("table"),b.addClass("none").eq(v).removeClass("none")}),Y.on("click",".cart-btn-pre",function(){g=z(this).siblings("p").find(".f-red"),y=Number(z(this).siblings("p").find(".subjoinPageNum").html()),v=Number(g.html()),g.html(v-1),2>=v?z(this).hide():z(this).siblings("i").show(),b=z(this).parents(".cart-product-num").siblings("div").find("table"),b.addClass("none").eq(v-2).removeClass("none")}),Q.on("click",".fav_count",function(){z.ajax({type:"POST",dataType:"json",url:"/product/item/togglecollect",data:{productId:F,type:"add"}}).then(function(e){200===e.code?new M(e.message).show():403===e.code?e.data.url&&(window.location=e.data.url):new M(e.message).show()})}),Y.on("click",".cart-del-btn",function(){k={},te=[],T=z(this).parents("tr").data("promotionid")?z(this).parents("tr").data("promotionid"):0,te.push({product_sku:z(this).parents("tr").data("id"),buy_number:z(this).parents("tr").data("productnum"),promotion_id:T}),oe=!!T,k={skuList:JSON.stringify(te),hasPromotion:oe},A="<div><span></span>删除商品</div><p>确定从购物车中删除此商品?</p>",z(this).data("gift")||(x={productPrice:z(this).parents("tr").find(".productPrice").text(),productTitle:z(this).parents("tr").find(".pay-pro-info a").text(),link:z(this).parents("tr").find(".pay-pro-info a").attr("href"),productNum:z(this).parents("tr").data("productnum"),productSku:z(this).parents("tr").data("id"),promotionId:z(this).parents("tr").data("promotionid")}),C="/cart/index/remove",new W({content:A,cb:function(){l(k,C,x)}}).show()}),Y.on("click",".cart-remove-btn",function(){k={},te=[],T=z(this).parents("tr").data("promotionid")?z(this).parents("tr").data("promotionid"):0,te.push({product_sku:z(this).parents("tr").data("id"),buy_number:z(this).parents("tr").data("productnum"),promotion_id:T}),oe=!!T,k={skuList:JSON.stringify(te),hasPromotion:oe},l(k,"/cart/index/fav")}),H.on("click",".delAll",function(){k={},x={},te=[],ne=[],z(".pay-wapper:first tr").each(function(){z(this).find('input[type="checkbox"]').attr("checked")&&(T=z(this).data("promotionid")?z(this).data("promotionid"):0,T&&(oe=!0),z(this).data("id")&&(z(this).find('input[type="checkbox"]').attr("checked")&&te.push({product_sku:z(this).data("id"),buy_number:z(this).data("productnum"),promotion_id:T}),x={productPrice:z(this).find(".productPrice").text(),productTitle:z(this).find(".pay-pro-info a").text(),link:z(this).find(".pay-pro-info a").attr("href"),productNum:z(this).data("productnum"),productSku:z(this).data("id"),promotionId:z(this).data("promotionid")},ne.push(x)))}),C="/cart/index/remove",A="<div><span></span>删除商品</div><p>确定从购物车中删除所有选中商品?</p>",k={skuList:JSON.stringify(te),hasPromotion:oe},z.isEmptyObject(te)?new M("请至少选择一件商品").show():new W({content:A,cb:function(){l(k,C,ne)}}).show()}),H.on("click",".removeAll",function(){k={},x={},te=[],z(".pay-wapper:first tr").each(function(){z(this).find('input[type="checkbox"]').attr("checked")&&(T=z(this).data("promotionid")?z(this).data("promotionid"):0,T&&(oe=!0),z(this).data("id")&&z(this).find('input[type="checkbox"]').attr("checked")&&te.push({product_sku:z(this).data("id"),buy_number:z(this).data("productnum"),promotion_id:T}))}),k={skuList:JSON.stringify(te),hasPromotion:oe},z.isEmptyObject(te)?new M("请至少选择一件商品").show():l(k,"/cart/index/fav")}),Y.on("click",".minus, .plus",function(){return x={},_=z(this).hasClass("minus")?"decreaseNum":"increaseNum",x[""+_]=1,se||"1"===z(this).siblings("input").val()&&z(this).hasClass("minus")?!1:void c(z.extend(x,{sku:z(this).parents("tr").data("id")}))}),z(".gift").on("click",".up, .down",function(){z(this).siblings("i").toggleClass("none"),z(this).toggleClass("none")}),Q.on("click",".addcart",function(){return 0===z(".showSizeBox:not(.none) .atcive").length?(new M("请选择尺码").show(),!1):(j=z(".showSizeBox:not(.none) .atcive").data("num"),S=z(".showSizeBox:not(.none) .atcive").data("sku"),k={productSku:S,buyNumber:z("#mnum").val(),promotionId:T},void(z("#mnum").val()>j?new M("库存不足,目前还有"+j+"个库存").show():1===Number(z("#addToCart").val())?u(k):new M("该商品无法加入购物车").show()))}),Q.on("click",".cut, .add",function(){if(_=z(this).hasClass("minus")?"decreaseNum":"increaseNum",T)z(this).hasClass("cut")?new M("-_-,已经是最后一件,不能在减了!").show():new M("最多只能购买1,您好像购买的太多了!").show();else{if(z(this).hasClass("add")?ee++:ee--,1>ee)return new M("-_-,已经是最后一件,不能在减了!").show(),ee=1,!1;z("#mnum").val(ee)}}),Q.on("click",".color",function(){K=0,z(".color").find("p").removeClass("atcive"),z(this).find("p").addClass("atcive"),z(".showSizeBox").addClass("none").eq(z(this).index()).removeClass("none"),z(".showSizeBox:not(.none) span").length<2&&z(".showSizeBox:not(.none) span:first").addClass("atcive"),z(".detail-bigpic").addClass("none").eq(z(this).index()).removeClass("none"),z(".detail-bigpic").eq(z(this).index()).find(".bigpic").hide(),z(".detail-bigpic").eq(z(this).index()).find(".bigpic:first").show(),z(".detail-bigpic").eq(z(this).index()).find(".con li").removeClass("active"),z(".detail-bigpic").eq(z(this).index()).find(".con li:first").addClass("active"),z(".showSizeBox").eq(z(this).index()).find("span").each(function(){return z(this).hasClass("null-atcivec")?(z(".addcart").addClass("none"),void z(".btn_sellout").removeClass("none")):(z(".addcart").removeClass("none"),z(".btn_sellout").addClass("none"),!1)})}),Q.on("click",".showSizeBox span",function(){j=z(this).data("num"),z(this).data("num")>0?(z(".showSizeBox:not(.none) span").removeClass("atcivec atcive").eq(z(this).index()).addClass("atcive"),z(".addcart").removeClass("none"),z(".btn_sellout").addClass("none")):(z(".showSizeBox:not(.none) span").removeClass("atcivec atcive").eq(z(this).index()).addClass("atcivec"),z(".addcart").addClass("none"),z(".btn_sellout").removeClass("none"))}),z(".goBack").on("click",function(){k={},D=z(".dev-revocation .goBack").index(this),te=[],z(".dev-revocation tr").each(function(e){D!==e&&(x={productPrice:z(this).find(".productPrice").text(),productTitle:z(this).find(".title").text(),link:z(this).find(".title").attr("href"),productNum:z(this).data("productnum"),productSku:z(this).data("productsku"),promotionId:z(this).data("promotionid")},te.push(x))}),k={productSku:z(this).parents("tr").data("productsku"),promotionId:z(this).parents("tr").data("promotionid"),buyNumber:z(this).parents("tr").data("productnum")},u(k,te)}),Q.on("click",".piclist li",function(){K=z(this).index(),z(".detail-bigpic:not(.none) .piclist li").removeClass("active"),z(this).addClass("active"),z(".detail-bigpic:not(.none) .bigpic").hide().eq(z(this).index()).show()}),h(),Q.on("click",".pre, .next",function(){if(z(this).hasClass("next")){if(K>=z(this).siblings(".con").find("li").length-1)return!1;K++}else{if(1>K)return!1;K--}z(this).siblings(".con").find("li").removeClass("active").eq(K).addClass("active"),z(".detail-bigpic:not(.none) .bigpic").hide().eq(K).show()}),z(".btn_account").on("click",function(){P="",z(".pay-wapper input:checked").parents("tr").find(".tipNoStore").length>0?(U=z(".pay-wapper input:checked").parents("tr").find(".tipNoStore"),z.each(U.parents("tr").find(".pay-pro-info a"),function(){P+=z(this).html()}),new M(P+"库存不足").show()):z(".zp").length>0&&!z(this).attr("title")?(z(this).attr("title","1"),new M("您有赠品没有选择,请选择完再结算!").show()):z("input:checked").length>0?z(".pre-sell-box input:checked").length>0?window.location.href="/cart/index/orderEnsure?type=2":window.location.href="/cart/index/orderEnsure?type=1":new M("请至少选择一件商品").show()}),Y.on("selectstart",function(){return!1}),Q.on("selectstart",function(){return!1})}),define("js/guang/entry",["jquery","lazyload","dot","jquery-pjax"],function(e,t,n){e("js/guang/list"),e("js/guang/detail"),e("js/guang/index")}),define("js/guang/list",["jquery","lazyload","dot"],function(e,t,n){e("js/guang/msg"),e("js/guang/img-blink"),e("js/guang/right-side")}),define("js/guang/msg",["jquery","lazyload","dot"],function(e,t,n){function a(){o(".msg-title, .msg-content .content").dotdotdot({wrap:"letter"}),s(o("#msg-list img.lazy"))}var i,o=e("jquery"),s=e("lazyload");e("dot"),o(".guang-page").on("click",".like-icon",function(){var e,t=o(this),n=t.closest(".msg-content").data("id");i!==n&&(i=n,t.toggleClass("liked"),e=t.hasClass("liked")?"/guang/info/praise":"/guang/info/cancelPraise",o.ajax({type:"GET",url:e,data:{id:n,time:(new Date).getTime()}}).then(function(e){200===e.code&&(1*e.data===0?t.next("b").addClass("num-0").children(".num").html("0"):t.next("b").removeClass("num-0").children(".num").html(e.data)),i=!1}))}).on("mouseenter mouseleave",".like-icon",function(){o(this).closest(".like").toggleClass("hover")}),a(),t.dotLazy=a}),define("js/guang/img-blink",["jquery"],function(e,t,n){var a=e("jquery");a(".guang-page").on("mouseover","a img, a .bg-img",function(e){var t=a(e.target);t.closest(".slider").length>0||(t.addClass("blink"),setTimeout(function(){t.removeClass("blink")},100))})}),define("js/guang/right-side",["jquery","lazyload","dot"],function(e,t,n){var a=e("jquery"),i=e("lazyload");e("dot"),a(".ex-reco-context").dotdotdot({wrap:"letter"}),i(a(".ads img.lazy"))}),define("js/guang/detail",["jquery","lazyload","dot","jquery-pjax"],function(e,t,n){function a(){var e=o(".comments-list").find("li").length;0===e?(o(".commnets-resultwrapper").hide(),o(".comments-empty").show()):(o(".commnets-resultwrapper").show(),o(".comments-empty").hide())}function i(e){var t=o("#comment-info").val();return""===t?(alert("评论不能为空"),!1):(u=!0,void o.ajax({url:"/guang/info/comment",data:{id:e,comment:t},type:"post",success:function(e){switch(e.code){case 401:h=!0,location.href="//www.yohobuy.com/signin.html?refer="+window.escape(location.href+"#comment-info");break;case 400:alert(e.message);break;case 200:e.data&&(l.html(e.data.content),c.html(e.data.count),a(),o("#comment-info").val("").keyup())}u=!1}}))}var o=e("jquery"),s=e("lazyload"),r=o("#comment-area"),d=o(".detail-body").data("id"),l=r.find(".comments-wrap"),c=o("#article-comment > .comment-num"),u=!1,h=!1,p=o("#comment-btn"),f=100,m=o("#word-count-tip");e("js/guang/right-side"),e("js/guang/img-blink"),e("js/common/share"),e("jquery-pjax"),s({failure_limit:50}),o("#prise-btn").click(function(){var e,t=!1,n=o(this);t||(n.toggleClass("liked"),e=n.hasClass("liked")?"/guang/info/praise":"/guang/info/cancelPraise",t=!0,o.ajax({type:"GET",url:e,data:{id:d}}).then(function(e){200===e.code&&n.find(".like-num").html(e.data),t=!1}))}).bind("mouseenter mouseleave",function(){o(this).toggleClass("hover")}),o("#collect-btn").click(function(){var e,t,n=!1,a=o(this);n||(a.hasClass("collected")?(e="/guang/info/cancelcollect",t=0):(e="/guang/info/collect",t=1),n=!0,o.ajax({type:"GET",url:e,data:{id:d}}).then(function(e){var i;switch(e.code){case 401:i=/\?col=(1|0)/.test(location.href)?location.href.replace(/\?col=(1|0)/,"?col="+t):location.href+"?col="+t,location.href="//www.yohobuy.com/signin.html?refer="+encodeURI(i);break;case 400:break;case 200:/\?col=(1|0)/.test(location.href)?location.href=location.href.replace(/\?col=(1|0)/,""):a.toggleClass("collected")}n=!1}))}).bind("mouseenter mouseleave",function(){o(this).toggleClass("hover")}),a(),p.click(function(e){return h||u?!1:void(o("#comment-info").val().length-f>0||(e.preventDefault(),i(d)))}),o(document).pjax(".comment-pager a","#pjax-container",{timeout:5e3}),o(document).on("pjax:end",function(){a(),o("html,body").scrollTop(o("#comment-info").offset().top)}),o("#comment-info").keyup(function(){var e,t=o(this).val().length;0===t?(m.html(""),p.addClass("disable")):0>=t-f?(e="还可以输入"+(f-t)+"字",p.removeClass("disable")):(e='已超过<span class="exceed-count">'+(t-f)+"</span>字",p.addClass("disable")),m.html(e)}),o("#comment-info").trigger("keyup")}),define("js/guang/index",["jquery","lazyload","dot","jquery-pjax"],function(e,t,n){var a=e("jquery"),i=e("js/guang/msg");e("jquery-pjax"),e("js/common/slider"),e("js/guang/img-blink"),e("js/guang/right-side"),a("#slider").slider(),a(document).pjax(".pjax-link, .msg-pager a","#pjax-container",{timeout:2e3}),a(document).on("pjax:end",function(){i.dotLazy()})}),define("js/home/entry",["jquery","handlebars","source-map","dot"],function(e,t,n){e("js/home/index"),e("js/home/orders"),e("js/home/favorite"),e("js/home/currency"),e("js/home/returns"),e("js/home/comment"),e("js/home/complaints"),e("js/home/message"),e("js/home/edit"),e("js/home/gift"),e("js/home/validate"),e("js/home/address"),e("js/home/common-address")}),define("js/home/index",["jquery","handlebars","source-map"],function(e,t,n){var a=e("jquery");e("js/home/order-block"),a("#close-message").click(function(){a(".message-tip").slideUp(200)}),function(){var e=a(".na-pager"),t=a(".new-arrival ul"),n=Math.ceil(t.children("li").length/5),i=t.children("li:last-child").outerWidth(),o=1;t.width(t.width()*n),e.click(function(){var e,s=a(this);s.hasClass("next")?(++o,2===o&&s.siblings().removeClass("no-visible"),o===n&&s.addClass("no-visible")):(--o,o===n-1&&s.siblings().removeClass("no-visible"),1===o&&s.addClass("no-visible")),e=-5*(o-1)*i,t.animate({marginLeft:e},400)})}()}),
+define("js/home/order-block",["jquery","handlebars","source-map"],function(e,t,n){function a(e){var t={mask:!0,btns:[{id:"cancel-sure",name:"确定并取消订单",btnClass:["cancel-sure"],cb:function(){var t=_(".cancel-dialog :checked"),n=_(".cancel-dialog .cancel-tip"),a="";return a="10"===t.val()?t.parent().find("#reason_other").val():t.siblings("label").text(),0===t.length?void n.html("请选择要取消订单的原因"):void _.ajax({type:"POST",url:"/home/orders/cancelorder",data:{orderCode:e,reasonId:t.val(),reason:a}}).then(function(e){200===e.code?(u.close(),u=i("icon-success","订单修改","您已成功取消了该订单",function(){location.reload(!0)}),u.show()):n.html(e.message)})}},{id:"cancel-no",name:"暂不取消",btnClass:["cancel-no"],cb:function(){u.close()}}],content:q,className:"cancel-dialog"};return new j(t)}function i(e,t,n,a){var i=x.compile(I),o=i({messageIcon:e,messageTitle:t,messageSummary:n}),s={mask:!0,btns:[{id:"message-sure",name:"确定",btnClass:["message-sure"],cb:function(){u.close(),a&&a()}}],content:o,className:"message-dialog"};return new j(s)}function o(e){var t={mask:!0,btns:[{id:"edit-sure",name:"确定",btnClass:["edit-sure"],cb:function(){l(e)}},{id:"edit-no",name:"取消",btnClass:["edit-no"],cb:function(){u.close()}}],content:E.html(),className:"edit-order-dialog"};return new j(t)}function s(e){var t,n,a=e||0,i=/[0-9]{2}/gi;h=_(".edit-order-dialog"),p=h.find('select[name="province"]'),f=h.find('select[name="city"]'),m=h.find('select[name="county"]'),g=h.find('select[name="province"],select[name="city"]'),v=h.find('.inp[name="name"]'),y=h.find('.inp[name="phone"]'),b=h.find('.inp[name="address"]'),w=h.find('.inp[name="tel-code"]'),C=h.find('.inp[name="tel"]');var o=c();t=p.data("areacode")+"",n=!!t&&t.match(i),r({id:a,type:"getProvince",selectId:n[0]},function(){var e=p.val();"0"!==e?(A=!0,r({id:e,type:"getCity",selectId:""+n[0]+n[1]},function(){var e=f.val();"0"!==e&&r({id:e,type:"getCounty",selectId:t})})):(h.find('select[name="city"]').html('<option value="0">请选择城市</option>'),h.find('select[name="county"]').html('<option value="0">请选择区县</option>'))}),g.change(function(){var e=_(this);"province"===e.attr("name")&&("0"===e.val()?(h.find('select[name="city"]').html('<option value="0">请选择城市</option>'),h.find('select[name="county"]').html('<option value="0">请选择区县</option>')):(r({id:e.val(),type:"getCity"},function(){A=!0}),h.find('select[name="county"]').html('<option value="0">请选择区县</option>'))),"city"===e.attr("name")&&A&&("0"===e.val()?h.find('select[name="county"]').html('<option value="0">请选择区县</option>'):r({id:e.val(),type:"getCounty"}))}),v.on("blur",function(){o.name(_.trim(v.val()))}),b.on("blur",function(){o.address(_.trim(b.val()))}),y.on("blur",function(){o.mobile(_.trim(y.val()))}),C.on("blur",function(){o.tel(_.trim(w.val()),_.trim(C.val()))}),m.on("change",function(){o.city(p.val(),f.val(),m.val())})}function r(e,t){var n,a=e.selectId;"getProvince"===e.type?n=p:"getCity"===e.type?n=f:"getCounty"===e.type&&(n=m),_.ajax({type:"GET",url:"/cart/index/getAreaList",dataType:"json",data:{id:1*e.id}}).then(function(e){d(n,e.data,a),"function"==typeof t&&t()})}function d(e,t,n){var a,i,o="",s="";for(a=0;a<t.length;a++)s="Y"===t[a].is_support_express?"*":"",o+=t[a].id===n?'<option selected value="'+t[a].id+'">'+s+t[a].caption+"</option>":'<option value="'+t[a].id+'">'+s+t[a].caption+"</option>";"province"===e.attr("name")?i='<option value="0">请选择省份</option>':"city"===e.attr("name")?i='<option value="0">请选择城市</option>':"county"===e.attr("name")&&(i='<option value="0">请选择区县</option>'),e.html(i+o)}function l(e){var t=v.val(),n=p.val(),a=f.val(),o=m.val(),s=b.val(),r=y.val(),d=w.val(),l=C.val(),h={orderCode:e,userName:t,areaCode:o,address:s,mobile:r,phoneCode:d,phoneNum:l},g=c();g.name(t)&&g.city(n,a,o)&&g.address(s)&&g.mobile(r)&&g.tel(d,l)&&_.ajax({type:"post",url:"/home/orders/modifyAddress",data:h}).then(function(e){200===e.code?(u.close(),u=i("icon-waiting","订单修改","您的订单正在尝试修改,请耐心等待。稍后可在订单详情页查看修改情况!",function(){location.reload(!0)}),u.show()):new k.Alert(e.message).show()})}function c(){var e=v.siblings(".error"),t=p.siblings(".error"),n=b.siblings(".error"),a=y.siblings(".error"),i=C.siblings(".error"),o=/^[\u4e00-\u9fa5]{2,5}$/,s=/^[a-zA-Z0-9-#()()\u4e00-\u9fa5]+$/,r=/^(13[0-9]|15[012356789]|17[678]|18[0-9]|14[57])[0-9]{8}$/,d=/^[0-9]{3,4}$/,l=/^[0-9]{8}$/,c='<i class="order-icon icon-right"></i>',u='<i class="order-icon icon-error"></i><b></b>';return{name:function(t){return o.test(t)?(e.html(c).show(),!0):(e.html(u),e.find("b").html("真实姓名至少2个中文,最多5个中文"),e.show(),!1)},city:function(e,n,a){return"0"===e||"0"===n||"0"===a?(t.html(u),t.find("b").html("请填写完整的省市区信息"),t.show(),!1):(t.html(c).show(),!0)},address:function(e){if(s.test(e))return n.html(c).show(),!0;var t="详细地址不能为空";return""!==_.trim(e)&&(t="只能包含数字、字母、汉字、#、-、()及其组合"),n.html(u),n.find("b").html(t),n.show(),!1},mobile:function(e){if(r.test(e))return a.html(c).show(),!0;var t="手机号码不能为空";return""!==_.trim(e)&&(t="你输入的联系电话格式不正确"),a.html(u),a.find("b").html(t),a.show(),!1},tel:function(e,t){return""===e&&""===t&&(c=""),e&&!d.test(e)||t&&!l.test(t)||d.test(e)&&!l.test(t)||!d.test(e)&&l.test(t)?(i.html(u),i.find("b").html("你输入的电话格式不正确"),i.show(),!1):(i.html(c).show(),!0)}}}var u,h,p,f,m,g,v,y,b,w,C,_=e("jquery"),x=e("handlebars"),k=e("js/common/dialog"),j=k.Dialog,S=k.Confirm,T=_("#cancel-dialog-tpl"),q=T.html(),I='<p class="message-title"><i class="order-icon {{messageIcon}}"></i>{{messageTitle}}</p><p class="message-summary">{{messageSummary}}</p>',E=_("#edit-dialog-tpl"),A=!1;T.remove(),E.remove(),_(".check-logistics").click(function(){_(this).siblings(".logistics").removeClass("hide")}),_(".close-logistics").click(function(){_(this).closest(".logistics").addClass("hide")}),_(".me-orders, .order-detail").on("click",".cancel-order",function(e){u=a(_(this).closest(".order, .order-detail").data("id")),u.show()}).on("click",".confirm-received",function(e){var t=_(this).closest(".order, .order-detail").data("id");u=new S({cb:function(){_.ajax({type:"POST",url:"/home/orders/confirmorder",data:{orderCode:t}}).then(function(e){200===e.code&&(u.close(),history.go(0))})},content:"您确定要确认收货吗?"}),u.show()}).on("click",".edit-order",function(){_(this).addClass("edit-order-active"),u=o(_(this).closest(".order, .order-detail").data("id")),u.show(),s(0)})}),define("js/home/orders",["jquery","handlebars","source-map"],function(e,t,n){function a(e,t,n,a){var i=1,o=1,s=0,r=!1;e.click(function(){r||("0px"===n.css("left")?s=0:(s+=o*a,r=!0),n.stop().animate({left:s},300,function(){r=!1}))}),t.click(function(){var e=n.parent().width()-n.width()+"px";r||(n.css("left")===e?n.css("left",e):(s+=-i*a,r=!0),n.stop().animate({left:s},300,function(){r=!1}))})}var i=e("jquery");e("js/home/order-block"),i(".why").click(function(){return i("#differentBag").show(),!1}),i("#differentBag").click(function(){return!1}),i(document).click(function(){i("#differentBag").hide()}),i(".bag").find("ul").each(function(){var e=i(this).parent().parent().find(".pre"),t=i(this).parent().parent().find(".next"),n=i(this).find("li").eq(0).width(),o=i(this).find("li").size(),s=n*o;i(this).css("width",s),o>5?(e.show(),t.show(),a(e,t,i(this),n)):(e.hide(),t.hide())})}),define("js/home/favorite",["jquery","handlebars","source-map","dot"],function(e,t,n){var a,i,o,s=e("jquery"),r=e("handlebars"),d=e("js/passport/mail-phone-regx").phoneRegx["+86"],l={on:"[ 降价通知 ]",off:"[ 取消通知 ]"},c=location.href.match(/type=(.*)[&]*/);e("dot"),function(){function e(e){y=1*e,u.text(e),f.find(".notice-num").text(5-e)}function t(){c.addClass("hide"),h.addClass("hide"),g.text("订阅成功")}function n(){var t=s(document).scrollTop()+s(window).height()/2;"undefined"==typeof c&&(s("body").append('<div class="body-mask hide"></div>'),c=s(".body-mask")),c.css({height:s(document).height(),width:s(document).width()}).removeClass("hide"),h.removeClass("error"),o.hasClass("noticed")?s.ajax({type:"GET",url:"/home/favorite/cancelnotice",data:{id:i}}).then(function(n){200===n.code?(e(n.data.num),p.addClass("hide"),f.removeClass("hide"),g.text("取消成功"),h.removeClass("hide").css({top:t}),o.closest(".reduction-products").length>0?o.closest(".fav-good").remove():o.removeClass("noticed").text(l.on)):n.message&&(m.text(n.message),h.removeClass("hide").addClass("error").css({top:t}))}):y>=5?(m.text("您的订阅数已经到达上限"),h.removeClass("hide").addClass("error").css({top:t})):(p.removeClass("hide"),f.addClass("hide"),h.removeClass("hide").css({top:t}))}var a,r,c,u,h,p,f,m,g,v,y,b={};0!==s(".fav-products").length&&(a=s(".default-sorts"),r=s(".all-sorts"),u=s(".reduction-notice span"),h=s(".price-notice"),p=s("#price-notice .content"),f=s("#price-notice .success"),m=s("#price-notice .error-message"),g=f.find(".subscribe-or-cancel"),v=s("#notice-phone-num"),b.phone=v.val(),b.change=!1,y=1*u.text(),s("#spread-sort").click(function(){a.slideUp(function(){r.slideDown()})}),s("#retract-sort").click(function(){r.slideUp(function(){a.slideDown()})}),s(".price-down-clock").click(function(){o=s(this),i=o.closest(".fav-good").data("id"),n()}),s('.reduction-filter input[type="checkbox"]').change(function(){location.href=s(this).parent().attr("href")}),s("#price-notice").on("click",".close",function(){t()}).on("click",".price-notice-sure",function(){var n,a;if(h.hasClass("error")||p.hasClass("hide"))t();else{if(n=s.trim(v.val()),""===n||!d.test(n))return a=""===n?"请输入手机号码":"手机号码格式不正确",v.addClass("error"),void s("#price-notice .err-text").removeClass("hide").find("em").html(a);if(v.removeClass("error"),s("#price-notice .err-text").addClass("hide"),""!==b.phone&&b.phone!==n&&!b.change)return s("#price-notice .phone-diff").removeClass("hide"),void(b.change=!0);s.ajax({type:"GET",url:"/home/favorite/notice",data:{mobile:n,id:i}}).then(function(t){200===t.code?(e(t.data.num),f.removeClass("hide"),p.addClass("hide"),b.phone=n,b.change=!1,s("#price-notice .phone-diff").addClass("hide"),o.toggleClass("noticed").text(l.off)):t.message&&(m.text(t.message),h.removeClass("hide").addClass("error"))})}}),s(".has-activity").click(function(){var e=s(this),t=e.next(".activites"),n=e.closest("li");t.hasClass("hide")?(t.removeClass("hide"),n.css("padding-bottom",t.outerHeight())):(t.addClass("hide"),n.css("padding-bottom",""))}))}(),function(){function e(e,t){var n=e.data("id"),i=e.find(".na-goods-ul"),o=a[n],s=o.cur?o.cur:1,r=Math.ceil(o.total/5),d=e.find(".na-pre"),l=e.find(".na-next");s+=t,d.removeClass("hidden"),l.removeClass("hidden"),1===s&&d.addClass("hidden"),s===r&&l.addClass("hidden"),i.animate({marginLeft:-(s-1)*i.parent(".na-goods").width()},200),o.cur=s}function t(e,t){e.css("padding-bottom",t.outerHeight()+10)}var n,a={};0!==s(".fav-brands").length&&(n=r.compile(s("#na-tpl").html()),s(".na-trigger").click(function(){var e,i=s(this),o=i.next(".na-list"),r=i.closest("li");return o.hasClass("hide")?(e=r.data("id"),a[e]&&a[e].cache?(o.removeClass("hide"),void t(r,o)):void s.ajax({type:"GET",url:"/home/favorite/newproduct",data:{id:e}}).then(function(i){var s,d,l;200===i.code&&(d=i.data,l=0===d.length?{}:{naGoods:d},s=n(l),o.removeClass("hide").find(".na-content").html(s),t(r,o),d.length>5&&r.find(".na-next").removeClass("hidden"),a[e]||(a[e]={}),a[e].cache=!0,a[e].total=d.length)})):(o.addClass("hide"),void r.css("padding-bottom",""))}),s(".na-content").on("click",".na-pre, .na-next",function(){var t=s(this),n=t.hasClass("na-pre")?-1:1;e(t.closest(".fav-brand"),n)}))}(),function(){s(".fav-articles").length<0||s(".fav-articles .desc").dotdotdot()}(),c&&c.length&&(a=c[1]),s("#me-checkall").click(function(){s('.checkbox input[type="checkbox"]').prop("checked",s(this).prop("checked"))}),s(".del-favorite").click(function(e){var t=s(this).closest(".fav-row").data("id"),n=s(this).closest(".fav-row").data("shopid"),i=s(this).closest(".fav-row").data("brandorshoptype");e.preventDefault(),s.ajax({type:"GET",url:"/home/favorite/cancel",data:{id:t,shopid:n,brandorshoptype:i,type:a}}).then(function(e){200===e.code&&history.go(0)})}),s("#me-del-checked").click(function(){var e=[],t="商品";if("brand"===a?t="品牌":"article"===a&&(t="文章"),confirm("您确定要删除您收藏的"+t+"吗?")){if(s('.checkbox input[type="checkbox"]:checked').each(function(){e.push(s(this).closest(".fav-row").data("id"))}),0===e.length)return void alert("请选中您要移除的"+t);s.ajax({type:"GET",url:"/home/favorite/cancel",data:{id:e.join(","),type:a}}).then(function(e){history.go(0)})}}),location.href.match(/is_reduction=(.*)[&]*/)&&s(".reductionChecked").attr("checked",!0),location.href.match(/is_promotion=(.*)[&]*/)&&s(".activityChecked").attr("checked",!0)}),define("js/home/currency",["jquery"],function(e,t,n){var a=e("jquery");a(".filter-select").change(function(){location.href=a(this).val()})}),define("js/home/returns",["jquery","handlebars","source-map"],function(e,t,n){e("js/home/returns-detail"),e("js/home/returns-apply")}),define("js/home/returns-detail",["jquery"],function(e,t,n){function a(){g=v[f]?v[f]:"",h.html(g+" 快递单号:"+m),c.val(f),u.val(m)}function i(){var e={};if(e.number=u.val(),e.id=1*c.val(),e.id){if(e.number)return e;alert("请填入快递单号")}else alert("请选择快递公司");return!1}function o(){var e=i();e&&s.ajax({type:"POST",url:"/home/returns/setExpressNumber",data:{id:p,isChange:y,expressId:e.id,expressNumber:e.number,expressCompany:v[e.id]}}).then(function(t){200===t.code?(f=e.id,m=e.number,r.eq(2).addClass("act")):alert(t.message),a(),l.removeClass("in-edit")})}var s=e("jquery"),r=s(".visual-return-state li"),d=s(".detail-container"),l=s(".courier-code"),c=s("#express-company"),u=s("#express-number"),h=s(".express-view-box > span"),p=s("#return-id").val(),f=s("#express-old-id").val(),m=u.val(),g="",v={},y=!1;d.parent().hasClass("exchange-detail")&&(y=!0),c.val(f),d.find(".company-list").each(function(){var e=s(this).data();v[e.id]=e.name}),s("#modify").click(function(){l.addClass("in-edit")}),s("#submit-btn").click(function(){o()})}),define("js/home/returns-apply",["jquery","handlebars","source-map"],function(e,t,n){function a(e){c.ajax({type:"POST",url:"/home/returns/getDelivery",data:{areaCode:e}}).then(function(e){var t="";200===e.code&&(c.each(e.data,function(e,n){var a="";"Y"===n.is_default&&(a='checked="checked"'),t+='<input type="radio" name="delivery-tpye" value="'+n.id+'" '+a+'"">'+n.name}),S.html(t))})}function i(e){C.hide(),2===e?(_.show(),x.hide(),C.hide()):3===e?(x.show(),_.hide(),C.hide()):4===e&&(C.show(),_.hide(),x.hide())}function o(){var e=[],t="换货";return I&&(t="退货"),p.length||(D="没有可以"+t+"的商品"),p.each(function(){var n,a=c(this).parent().parent(),i=a.next();D.length||c(this).prop("checked")&&(n={product_skn:a.find('input[name="skn"]').val(),product_skc:a.find('input[name="skc"]').val(),product_sku:a.find('input[name="sku"]').val(),goods_type:a.find('input[name="typeid"]').val(),last_price:a.find('input[name="price"]').val(),reason:1*a.find(".return-reason").val()},I?n.returned_reason=n.reason:(n.exchange_reason=n.reason,n.new_goods_id=1*a.find(".exchange-color").val(),n.new_product_sku=1*a.find(".exchange-size").val(),D||n.new_goods_id||(D="请选择要换的颜色"),D||n.new_product_sku||(D="请选择要换的尺码")),D||n.reason||(D="请选择"+t+"原因"),4!==n.reason&&6!==n.reason&&8!==n.reason||(n.remark=c.trim(i.find("textarea").val()),n.evidence_images=[],i.find('input[name="imgs"]').each(function(){n.evidence_images.push(c(this).val())}),D||n.remark||(D="请填写"+t+"描述"),D||n.evidence_images.length||(D="请上传图片")),delete n.reason,e.push(n))}),D||e.length||(D="请选择要"+t+"的商品"),e}function s(){var e={};return e.goods=o(),e.payment={},g.each(function(){c(this).prop("checked")&&(e.payment.return_amount_mode=1*c(this).val())}),D||e.payment.return_amount_mode||(D="请选择退款方式"),2===e.payment.return_amount_mode?(e.payment.province=v.val(),e.payment.city=y.val(),e.payment.area_code=b.val(),!D&&1*!e.payment.area_code&&(D="请选择银行所在地"),e.payment.bank_name=c.trim(w.find('input[name="bank-name"]').val()),D||e.payment.bank_name||(D="请填写银行名称"),e.payment.payee_name=c.trim(w.find('input[name="payee-name"]').val()),D||e.payment.payee_name||(D="请填写收款人姓名"),e.payment.bank_card=c.trim(w.find('input[name="bank-card"]').val()),D||e.payment.bank_card||(D="请填写收款账户")):3===e.payment.return_amount_mode&&(e.payment.alipay_name=c.trim(w.find('input[name="alipay-name"]').val()),D||e.payment.alipay_name||(D="请填写收款人姓名"),e.payment.alipay_account=c.trim(w.find('input[name="alipay-account"]').val()),D||e.payment.alipay_account||(D="请填写收款账户")),e}function r(){var e={};return e.goods=o(),e.consigneeName=c.trim(k.find('input[name="name"]').val()),D||e.consigneeName||(D="请填写收货人姓名"),e.areaCode=b.val(),!D&&1*!e.areaCode&&(D="请选择地区"),e.address=c.trim(k.find('input[name="address"]').val()),D||e.address||(D="请填写详细地址"),e.mobile=c.trim(k.find('input[name="phone"]').val()),e.mobile===U?e.mobile=F:D||e.mobile||(D="请填写手机号"),e.zipCode=c.trim(k.find('input[name="postcode"]').val()),e.deliveryType=k.find('input[name="delivery-tpye"]:checked').val(),D||e.deliveryType||(D="请选择商品返回方式"),e}function d(e){var t="○";e?(T.addClass("applying"),l=setInterval(function(){q.text(t),t.length>3&&(t=""),t+="○"},600)):(T.removeClass("applying"),clearInterval(l))}var l,c=e("jquery"),u=e("js/home/common-address"),h=c("#goods-table"),p=h.find('input[type="checkbox"]'),f=h.find(".return-reason"),m=h.find("input[type=file]"),g=c('input[name="refund-type"]'),v=c("#province"),y=c("#city"),b=c("#area"),w=c("#refund-pay-info"),C=w.find(".type-yoho"),_=w.find(".type-bank"),x=w.find(".type-alipay"),k=c(".exchange-detail"),j=k.find('input[name="hide-phone"]'),S=k.find(".refund-mode"),T=c(".submit-box"),q=T.find(".wait-gif span"),I=0,E=c("#order-code").val(),A=k.find('input[name="hide-area"]').val(),F=j.val(),U="",D="",P={};e("plugin/jquery.qupload"),F&&(j.remove(),U=F.replace(/(\d{3})\d{4}(\d{4})/,"$1****$2"),k.find('input[name="phone"]').val(U)),w.length?(I=1,g.each(function(){c(this).prop("checked")&&i(1*c(this).val())})):A&&a(A),A=A?A:"",u.loadAllData(A,{areaDomId:"area"}),h.find(".sizeinfo").each(function(){var e=[];c(this).children().each(function(){e.push(c(this).data())}),P[c(this).data().id]=e}),f.change(function(){var e=c(this).parent().parent(),t=1*c(this).val();4===t||6===t||8===t?e.next().show():e.next().hide()}),p.change(function(){var e=c(this).parent().parent();c(this).prop("checked")?e.find("select").prop("disabled",!1):(e.find("select").val(0).prop("disabled",!0),e.next().hide())}),h.on("change",".exchange-color",function(){var e=c(this).closest(".exchange-choose-wrap"),t='<option value="0">请选择尺码</option>',n=c(this).val();P[n]&&c.each(P[n],function(e,n){t+='<option value="'+n.id+'">'+n.name+"</option>"}),e.find(".exchange-size").html(t).val(0)}),h.on("click",".btn-del",function(){c(this).parent().empty()}),m.each(function(e){var t=c("#upload-img-"+e),n=t.closest(".problem-description");t.qupload({button_image_url:"",upload_url:window.location.origin+"/home/returns/imgUpload",file_post_name:"fileData",button_text:'<span class="btn_upload_text">上传图片</span>',button_text_style:".btn_upload_text{color: #ffffff;}",button_width:116,button_height:33,button_text_left_padding:32,button_text_top_padding:8,button_action:window.SWFUpload.BUTTON_ACTION.SELECT_FILE,file_size_limit:"10240",file_types:"*.jpg;*.jpeg;*.png;*.bmp",uploadSuccessed:function(e){var t,a,i=n.find("li"),o=!1;t=JSON.parse(e).imgList[0],a='<span class="btn-del" title="删除"></span><img src="'+t.imgUrl+'" width="126" height="126"><input type="hidden" name="imgs" value="'+t.imgRelUrl+'">',i.each(function(){o||c(this).find("img").length||(o=!0,c(this).html(a))})}})}),k.on("change","#area",function(){var e=1*c(this).val();e&&a(e)}),g.change(function(){var e=1*c(this).val();i(e)}),c(".save-btn").click(function(){var e,t;return D="",I?(e="/home/returns/saveRefund",t=s()):(e="/home/returns/saveExchange",t=r()),t.orderCode=E,D?void alert(D):(d(!0),void c.ajax({type:"POST",url:e,data:t}).then(function(e){200===e.code?e.data&&e.data.refer&&(window.location.href=e.data.refer):(alert(e.message),d(!1))}))})}),define("js/home/common-address",["jquery","handlebars","source-map"],function(e,t,n){var a=e("jquery"),i=e("js/common/dialog"),o=i.Alert,s={provinceDomId:"province",cityDomId:"city",areaDomId:"areaCode",initDomIds:function(e){var t=this;void 0!==e.provinceDomId&&(t.provinceDomId=e.provinceDomId),void 0!==e.cityDomId&&(t.cityDomId=e.cityDomId),void 0!==e.areaDomId&&(t.areaDomId=e.areaDomId)},loadAreaData:function(e,t,n,i){var s,r,d,l,c=this,u=a("#"+t),h=0,p="";u.empty(),91>e&&(a("#"+c.areaDomId).empty(),a("#county").attr("disabled","disabled")),a.ajax({type:"GET",url:"/home/address/area",data:"id="+e,success:function(e){if(e.code=200,200!==e.code)return s=new o("暂无数据"),s.show(),!1;u.append('<option value="0">'+n+"</option>");for(h in e.options)e.options[h]&&(r=e.options[h],p=t===c.areaDomId&&"Y"===r.is_support?"*":"",d=r.value,l="","undefined"!=typeof i&&0!==i&&d===i.substr(0,d.length)&&(l="selected"),u.append('<option value="'+d+'" '+l+">"+p+r.text+"</option>"))}})},bindAreaChange:function(e){var t=this;void 0===a("#"+t.provinceDomId).data("events")&&(a("#"+t.provinceDomId).change(function(){var n=a("#"+t.provinceDomId).val();"0"!==n&&(t.loadAreaData(n,t.cityDomId,"请选择城市",n),a("#"+t.areaDomId).hide(),t.showAreaSel(e.dispDomId))}),a("#"+this.cityDomId).change(function(){var n=a("#"+t.cityDomId).val();"0"!==n&&(t.loadAreaData(n,t.areaDomId,"请选择区县",n),a("#"+t.areaDomId).show(),t.showAreaSel(e.dispDomId))}),a("#"+t.areaDomId).change(function(){t.showAreaSel(e.dispDomId)}),t.showAreaSel(e.dispDomId))},showAreaSel:function(e){var t=this,n="",i=a("#"+t.provinceDomId).find("option:selected").text(),o=a("#"+t.cityDomId).find("option:selected").text(),s=a("#"+t.areaDomId).find("option:selected").text();void 0!==e&&""!==e&&(i.indexOf("选择")<0&&(n=i),""!==o&&o.indexOf("选择")<0&&(n+=","+o),""!==s&&s.indexOf("选择")<0&&(n+=","+s),a("#"+e).html(n))},loadAllData:function(e,t){var n=this;n.initDomIds(t),e+="",91>e?(n.loadAreaData(0,n.provinceDomId,"请选择省份",""),a("#"+n.areaDomId).hide(),a("#"+n.cityDomId).html('<option value="0">请选择市</option>')):4===e.length?(n.loadAreaData(0,n.provinceDomId,"请选择省份",e),n.loadAreaData(e.substr(0,2),n.cityDomId,"请选择城市",e),n.loadAreaData(e,n.areaDomId,"请选择区县",e),a("#"+n.areaDomId).show()):6===e.length&&(n.loadAreaData(0,n.provinceDomId,"请选择省份",e),n.loadAreaData(e.substr(0,2),n.cityDomId,"请选择城市",e),n.loadAreaData(e.substr(0,4),n.areaDomId,"请选择区县",e),a("#"+this.areaDomId).show()),n.bindAreaChange(t)}};n.exports=s}),define("plugin/jquery.qupload",["jquery"],function(e,t,n){function a(){0==l&&(s("body").append('<div id="progressDialog" style="display: none;width:370px;height:80px !important;"><div style="padding:10px 20px;"><span id="curUploadStatus">图片上传中……请稍等</span><div id="progress"></div></div></div>'),l=1)}function i(e,t){s("#uploadNum").html(e),s("#totalUploadNum").html(t)}function o(e,t){function n(e,n){this.options[e]=void 0==t[e]?n:t[e]}function a(e){try{}catch(t){this.debug(t)}}function o(e,t,n){var a;try{if(t===r.QUEUE_ERROR.QUEUE_LIMIT_EXCEEDED)return void alert("您尝试上传太多文件.\n"+(0===n?"您已达到上传限制.":"您最多还可以 "+(n>1?"上传 "+n+"文件.":"一个文件.")));switch(t){case r.QUEUE_ERROR.FILE_EXCEEDS_SIZE_LIMIT:a="文件超过"+C.file_size_limit/1024+"M",alert(a),this.debug("Error Code: File too big, File name: "+e.name+", File size: "+e.size+", Message: "+n);break;case r.QUEUE_ERROR.ZERO_BYTE_FILE:alert("请上传有内容的文件!"),this.debug("Error Code: Zero byte file, File name: "+e.name+", File size: "+e.size+", Message: "+n);break;case r.QUEUE_ERROR.INVALID_FILETYPE:alert("请上传指定类型的文件!"),this.debug("Error Code: Invalid File Type, File name: "+e.name+", File size: "+e.size+", Message: "+n);break;default:alert("上传文件失败,请稍后在试!"),this.debug("Error Code: "+t+", File name: "+e.name+", File size: "+e.size+", Message: "+n)}}catch(i){this.debug(i)}}function s(){null!=y&&y()}function l(e,t){try{e>0&&(b=e,w=1,i(w,b),this.startUpload())}catch(n){this.debug(n)}}function c(e){this.addPostParam("_key",v)}function u(e,t,n){Math.ceil(t/n*100)}function h(e,t){w++,i(w,b),null!=g&&g(t)}function p(e,t,n){try{if(t===r.QUEUE_ERROR.QUEUE_LIMIT_EXCEEDED)return void alert("您尝试上传太多文件.\n"+(0===n?"您已达到上传限制.":"您最多还可以 "+(n>1?"上传 "+n+"文件.":"一个文件.")));switch(t){case r.QUEUE_ERROR.FILE_EXCEEDS_SIZE_LIMIT:alert("Error Code: 文件太大。 文件名为: "+e.name+", 大小为: "+e.size+", Message: "+n);break;case r.QUEUE_ERROR.ZERO_BYTE_FILE:alert("Error Code: 文件为0, 文件名为: "+e.name+", 大小为: "+e.size+", Message: "+n);break;case r.QUEUE_ERROR.INVALID_FILETYPE:alert("Error Code: 文件类型不合要求, 文件名为: "+e.name+", 大小为: "+e.size+", Message: "+n);break;default:alert("上传出错Error Code: "+t+", File name: "+e.name+", File size: "+e.size+", Message: "+n)}}catch(a){this.debug(a)}}function f(e){}function m(e){}var g=null;void 0!=t.uploadSuccessed&&(g=t.uploadSuccessed);var v="";void 0!=t.uploadKey&&(v=t.uploadKey);var y=null;void 0!=t.preupload&&(y=t.preupload);var b=0,w=0;this.options=t;this.options.errmsg_box;n("flash_url","http://static.yohobuy.com/admin/js/swfupload/swfupload.swf"),n("upload_url","http://upload.yohobuy.com"),n("file_post_name","Filedata"),n("file_size_limit","2 MB"),n("file_types","*.*"),n("file_types_description","All Files"),n("file_upload_limit",d),n("file_queue_limit",0),n("button_image_url","http://static.yohobuy.com/admin/images/btn_swfupload.png"),n("button_width","104"),n("button_height","20"),n("button_text",'<span class="btn_upload_xzzp">选择本地照片</span>'),n("button_text_style",".btn_upload_xzzp{color:#ffffff}"),n("button_text_left_padding",24),n("button_text_top_padding",0),n("button_window_mode","TRANSPARENT"),n("button_cursor","-2");var C={flash_url:this.options.flash_url,upload_url:this.options.upload_url,file_post_name:this.options.file_post_name,file_size_limit:this.options.file_size_limit,file_types:this.options.file_types,file_types_description:this.options.file_types_description,file_upload_limit:this.options.file_upload_limit,file_queue_limit:this.options.file_queue_limit,prevent_swf_caching:!1,preserve_relative_urls:!1,custom_settings:{},debug:!1,button_image_url:this.options.button_image_url,button_width:this.options.button_width,button_height:this.options.button_height,button_placeholder_id:e,button_text:this.options.button_text,button_text_style:this.options.button_text_style,button_text_left_padding:this.options.button_text_left_padding,button_text_top_padding:this.options.button_text_top_padding,button_window_mode:this.options.button_window_mode,button_cursor:this.options.button_cursor,file_dialog_start_handler:s,file_queued_handler:a,file_queue_error_handler:o,file_dialog_complete_handler:l,upload_start_handler:c,upload_progress_handler:u,upload_error_handler:p,upload_success_handler:h,upload_complete_handler:f,queue_complete_handler:m,button_action:this.options.button_action};new r(C)}var s=e("jquery"),r=e("plugin/swfupload.queue").SWFUpload,d=6;s.fn.extend({qupload:function(e){a(),o(s(this).attr("id"),e)}});var l=0;window.SWFUpload=r}),define("plugin/swfupload.queue",[],function(e,t,n){var a=e("plugin/swfupload").SWFUpload;"function"==typeof a&&(a.queue={},a.prototype.initSettings=function(e){return function(){"function"==typeof e&&e.call(this),this.queueSettings={},this.queueSettings.queue_cancelled_flag=!1,this.queueSettings.queue_upload_count=0,this.queueSettings.user_upload_complete_handler=this.settings.upload_complete_handler,this.queueSettings.user_upload_start_handler=this.settings.upload_start_handler,this.settings.upload_complete_handler=a.queue.uploadCompleteHandler,this.settings.upload_start_handler=a.queue.uploadStartHandler,this.settings.queue_complete_handler=this.settings.queue_complete_handler||null}}(a.prototype.initSettings),a.prototype.startUpload=function(e){this.queueSettings.queue_cancelled_flag=!1,this.callFlash("StartUpload",[e])},a.prototype.cancelQueue=function(){this.queueSettings.queue_cancelled_flag=!0,this.stopUpload();for(var e=this.getStats();e.files_queued>0;)this.cancelUpload(),e=this.getStats()},a.queue.uploadStartHandler=function(e){var t;return"function"==typeof this.queueSettings.user_upload_start_handler&&(t=this.queueSettings.user_upload_start_handler.call(this,e)),t=t!==!1,this.queueSettings.queue_cancelled_flag=!t,t},a.queue.uploadCompleteHandler=function(e){var t,n=this.queueSettings.user_upload_complete_handler;if(e.filestatus===a.FILE_STATUS.COMPLETE&&this.queueSettings.queue_upload_count++,t="function"==typeof n?n.call(this,e)!==!1:e.filestatus!==a.FILE_STATUS.QUEUED){var i=this.getStats();i.files_queued>0&&this.queueSettings.queue_cancelled_flag===!1?this.startUpload():this.queueSettings.queue_cancelled_flag===!1?(this.queueEvent("queue_complete_handler",[this.queueSettings.queue_upload_count]),this.queueSettings.queue_upload_count=0):(this.queueSettings.queue_cancelled_flag=!1,this.queueSettings.queue_upload_count=0)}}),t.SWFUpload=a}),define("plugin/swfupload",[],function(require,exports,module){var SWFUpload;void 0==SWFUpload&&(SWFUpload=function(e){this.initSWFUpload(e)}),SWFUpload.prototype.initSWFUpload=function(e){try{this.customSettings={},this.settings=e,this.eventQueue=[],this.movieName="SWFUpload_"+SWFUpload.movieCount++,this.movieElement=null,SWFUpload.instances[this.movieName]=this,this.initSettings(),this.loadFlash(),this.displayDebugInfo()}catch(t){throw delete SWFUpload.instances[this.movieName],t}},SWFUpload.instances={},SWFUpload.movieCount=0,SWFUpload.version="2.2.0 2009-03-25",SWFUpload.QUEUE_ERROR={QUEUE_LIMIT_EXCEEDED:-100,FILE_EXCEEDS_SIZE_LIMIT:-110,ZERO_BYTE_FILE:-120,INVALID_FILETYPE:-130},SWFUpload.UPLOAD_ERROR={HTTP_ERROR:-200,MISSING_UPLOAD_URL:-210,IO_ERROR:-220,SECURITY_ERROR:-230,UPLOAD_LIMIT_EXCEEDED:-240,UPLOAD_FAILED:-250,SPECIFIED_FILE_ID_NOT_FOUND:-260,FILE_VALIDATION_FAILED:-270,FILE_CANCELLED:-280,UPLOAD_STOPPED:-290},SWFUpload.FILE_STATUS={QUEUED:-1,IN_PROGRESS:-2,ERROR:-3,COMPLETE:-4,CANCELLED:-5},SWFUpload.BUTTON_ACTION={SELECT_FILE:-100,SELECT_FILES:-110,START_UPLOAD:-120},SWFUpload.CURSOR={ARROW:-1,HAND:-2},SWFUpload.WINDOW_MODE={WINDOW:"window",TRANSPARENT:"transparent",OPAQUE:"opaque"},SWFUpload.completeURL=function(e){if("string"!=typeof e||e.match(/^https?:\/\//i)||e.match(/^\//))return e;var t=(window.location.protocol+"//"+window.location.hostname+(window.location.port?":"+window.location.port:""),window.location.pathname.lastIndexOf("/"));return 0>=t?path="/":path=window.location.pathname.substr(0,t)+"/",path+e},SWFUpload.prototype.initSettings=function(){this.ensureDefault=function(e,t){this.settings[e]=void 0==this.settings[e]?t:this.settings[e]},this.ensureDefault("upload_url",""),this.ensureDefault("preserve_relative_urls",!1),this.ensureDefault("file_post_name","Filedata"),this.ensureDefault("post_params",{}),this.ensureDefault("use_query_string",!1),this.ensureDefault("requeue_on_error",!1),this.ensureDefault("http_success",[]),this.ensureDefault("assume_success_timeout",0),this.ensureDefault("file_types","*.*"),this.ensureDefault("file_types_description","All Files"),this.ensureDefault("file_size_limit",0),this.ensureDefault("file_upload_limit",0),this.ensureDefault("file_queue_limit",0),this.ensureDefault("flash_url","swfupload.swf"),this.ensureDefault("prevent_swf_caching",!0),this.ensureDefault("button_image_url",""),this.ensureDefault("button_width",1),this.ensureDefault("button_height",1),this.ensureDefault("button_text",""),this.ensureDefault("button_text_style","color: #000000; font-size: 16pt;"),this.ensureDefault("button_text_top_padding",0),this.ensureDefault("button_text_left_padding",0),this.ensureDefault("button_action",SWFUpload.BUTTON_ACTION.SELECT_FILES),this.ensureDefault("button_disabled",!1),this.ensureDefault("button_placeholder_id",""),this.ensureDefault("button_placeholder",null),this.ensureDefault("button_cursor",SWFUpload.CURSOR.ARROW),this.ensureDefault("button_window_mode",SWFUpload.WINDOW_MODE.WINDOW),this.ensureDefault("debug",!1),this.settings.debug_enabled=this.settings.debug,this.settings.return_upload_start_handler=this.returnUploadStart,this.ensureDefault("swfupload_loaded_handler",null),this.ensureDefault("file_dialog_start_handler",null),this.ensureDefault("file_queued_handler",null),this.ensureDefault("file_queue_error_handler",null),
+this.ensureDefault("file_dialog_complete_handler",null),this.ensureDefault("upload_start_handler",null),this.ensureDefault("upload_progress_handler",null),this.ensureDefault("upload_error_handler",null),this.ensureDefault("upload_success_handler",null),this.ensureDefault("upload_complete_handler",null),this.ensureDefault("debug_handler",this.debugMessage),this.ensureDefault("custom_settings",{}),this.customSettings=this.settings.custom_settings,this.settings.prevent_swf_caching&&(this.settings.flash_url=this.settings.flash_url+(this.settings.flash_url.indexOf("?")<0?"?":"&")+"preventswfcaching="+(new Date).getTime()),this.settings.preserve_relative_urls||(this.settings.upload_url=SWFUpload.completeURL(this.settings.upload_url),this.settings.button_image_url&&(this.settings.button_image_url=SWFUpload.completeURL(this.settings.button_image_url))),delete this.ensureDefault},SWFUpload.prototype.loadFlash=function(){var e,t;if(null!==document.getElementById(this.movieName))throw"ID "+this.movieName+" is already in use. The Flash Object could not be added";if(e=document.getElementById(this.settings.button_placeholder_id)||this.settings.button_placeholder,void 0==e)throw"Could not find the placeholder element: "+this.settings.button_placeholder_id;t=document.createElement("div"),t.innerHTML=this.getFlashHTML(),e.parentNode.replaceChild(t.firstChild,e),void 0==window[this.movieName]&&(window[this.movieName]=this.getMovieElement())},SWFUpload.prototype.getFlashHTML=function(){return['<object id="',this.movieName,'" type="application/x-shockwave-flash" data="',this.settings.flash_url,'" width="',this.settings.button_width,'" height="',this.settings.button_height,'" class="swfupload">','<param name="wmode" value="',this.settings.button_window_mode,'" />','<param name="movie" value="',this.settings.flash_url,'" />','<param name="quality" value="high" />','<param name="menu" value="false" />','<param name="allowScriptAccess" value="always" />','<param name="flashvars" value="'+this.getFlashVars()+'" />',"</object>"].join("")},SWFUpload.prototype.getFlashVars=function(){var e=this.buildParamString(),t=this.settings.http_success.join(",");return["movieName=",encodeURIComponent(this.movieName),"&amp;uploadURL=",encodeURIComponent(this.settings.upload_url),"&amp;useQueryString=",encodeURIComponent(this.settings.use_query_string),"&amp;requeueOnError=",encodeURIComponent(this.settings.requeue_on_error),"&amp;httpSuccess=",encodeURIComponent(t),"&amp;assumeSuccessTimeout=",encodeURIComponent(this.settings.assume_success_timeout),"&amp;params=",encodeURIComponent(e),"&amp;filePostName=",encodeURIComponent(this.settings.file_post_name),"&amp;fileTypes=",encodeURIComponent(this.settings.file_types),"&amp;fileTypesDescription=",encodeURIComponent(this.settings.file_types_description),"&amp;fileSizeLimit=",encodeURIComponent(this.settings.file_size_limit),"&amp;fileUploadLimit=",encodeURIComponent(this.settings.file_upload_limit),"&amp;fileQueueLimit=",encodeURIComponent(this.settings.file_queue_limit),"&amp;debugEnabled=",encodeURIComponent(this.settings.debug_enabled),"&amp;buttonImageURL=",encodeURIComponent(this.settings.button_image_url),"&amp;buttonWidth=",encodeURIComponent(this.settings.button_width),"&amp;buttonHeight=",encodeURIComponent(this.settings.button_height),"&amp;buttonText=",encodeURIComponent(this.settings.button_text),"&amp;buttonTextTopPadding=",encodeURIComponent(this.settings.button_text_top_padding),"&amp;buttonTextLeftPadding=",encodeURIComponent(this.settings.button_text_left_padding),"&amp;buttonTextStyle=",encodeURIComponent(this.settings.button_text_style),"&amp;buttonAction=",encodeURIComponent(this.settings.button_action),"&amp;buttonDisabled=",encodeURIComponent(this.settings.button_disabled),"&amp;buttonCursor=",encodeURIComponent(this.settings.button_cursor)].join("")},SWFUpload.prototype.getMovieElement=function(){if(void 0==this.movieElement&&(this.movieElement=document.getElementById(this.movieName)),null===this.movieElement)throw"Could not find Flash element";return this.movieElement},SWFUpload.prototype.buildParamString=function(){var e=this.settings.post_params,t=[];if("object"==typeof e)for(var n in e)e.hasOwnProperty(n)&&t.push(encodeURIComponent(n.toString())+"="+encodeURIComponent(e[n].toString()));return t.join("&amp;")},SWFUpload.prototype.destroy=function(){try{this.cancelUpload(null,!1);var e=null;if(e=this.getMovieElement(),e&&"unknown"==typeof e.CallFunction){for(var t in e)try{"function"==typeof e[t]&&(e[t]=null)}catch(n){}try{e.parentNode.removeChild(e)}catch(a){}}return window[this.movieName]=null,SWFUpload.instances[this.movieName]=null,delete SWFUpload.instances[this.movieName],this.movieElement=null,this.settings=null,this.customSettings=null,this.eventQueue=null,this.movieName=null,!0}catch(i){return!1}},SWFUpload.prototype.displayDebugInfo=function(){this.debug(["---SWFUpload Instance Info---\n","Version: ",SWFUpload.version,"\n","Movie Name: ",this.movieName,"\n","Settings:\n","	","upload_url:               ",this.settings.upload_url,"\n","	","flash_url:                ",this.settings.flash_url,"\n","	","use_query_string:         ",this.settings.use_query_string.toString(),"\n","	","requeue_on_error:         ",this.settings.requeue_on_error.toString(),"\n","	","http_success:             ",this.settings.http_success.join(", "),"\n","	","assume_success_timeout:   ",this.settings.assume_success_timeout,"\n","	","file_post_name:           ",this.settings.file_post_name,"\n","	","post_params:              ",this.settings.post_params.toString(),"\n","	","file_types:               ",this.settings.file_types,"\n","	","file_types_description:   ",this.settings.file_types_description,"\n","	","file_size_limit:          ",this.settings.file_size_limit,"\n","	","file_upload_limit:        ",this.settings.file_upload_limit,"\n","	","file_queue_limit:         ",this.settings.file_queue_limit,"\n","	","debug:                    ",this.settings.debug.toString(),"\n","	","prevent_swf_caching:      ",this.settings.prevent_swf_caching.toString(),"\n","	","button_placeholder_id:    ",this.settings.button_placeholder_id.toString(),"\n","	","button_placeholder:       ",this.settings.button_placeholder?"Set":"Not Set","\n","	","button_image_url:         ",this.settings.button_image_url.toString(),"\n","	","button_width:             ",this.settings.button_width.toString(),"\n","	","button_height:            ",this.settings.button_height.toString(),"\n","	","button_text:              ",this.settings.button_text.toString(),"\n","	","button_text_style:        ",this.settings.button_text_style.toString(),"\n","	","button_text_top_padding:  ",this.settings.button_text_top_padding.toString(),"\n","	","button_text_left_padding: ",this.settings.button_text_left_padding.toString(),"\n","	","button_action:            ",this.settings.button_action.toString(),"\n","	","button_disabled:          ",this.settings.button_disabled.toString(),"\n","	","custom_settings:          ",this.settings.custom_settings.toString(),"\n","Event Handlers:\n","	","swfupload_loaded_handler assigned:  ",("function"==typeof this.settings.swfupload_loaded_handler).toString(),"\n","	","file_dialog_start_handler assigned: ",("function"==typeof this.settings.file_dialog_start_handler).toString(),"\n","	","file_queued_handler assigned:       ",("function"==typeof this.settings.file_queued_handler).toString(),"\n","	","file_queue_error_handler assigned:  ",("function"==typeof this.settings.file_queue_error_handler).toString(),"\n","	","upload_start_handler assigned:      ",("function"==typeof this.settings.upload_start_handler).toString(),"\n","	","upload_progress_handler assigned:   ",("function"==typeof this.settings.upload_progress_handler).toString(),"\n","	","upload_error_handler assigned:      ",("function"==typeof this.settings.upload_error_handler).toString(),"\n","	","upload_success_handler assigned:    ",("function"==typeof this.settings.upload_success_handler).toString(),"\n","	","upload_complete_handler assigned:   ",("function"==typeof this.settings.upload_complete_handler).toString(),"\n","	","debug_handler assigned:             ",("function"==typeof this.settings.debug_handler).toString(),"\n"].join(""))},SWFUpload.prototype.addSetting=function(e,t,n){return void 0==t?this.settings[e]=n:this.settings[e]=t},SWFUpload.prototype.getSetting=function(e){return void 0!=this.settings[e]?this.settings[e]:""},SWFUpload.prototype.callFlash=function(functionName,argumentArray){argumentArray=argumentArray||[];var movieElement=this.getMovieElement(),returnValue,returnString;try{returnString=movieElement.CallFunction('<invoke name="'+functionName+'" returntype="javascript">'+__flash__argumentsToXML(argumentArray,0)+"</invoke>"),returnValue=eval(returnString)}catch(ex){throw"Call to "+functionName+" failed"}return void 0!=returnValue&&"object"==typeof returnValue.post&&(returnValue=this.unescapeFilePostParams(returnValue)),returnValue},SWFUpload.prototype.selectFile=function(){this.callFlash("SelectFile")},SWFUpload.prototype.selectFiles=function(){this.callFlash("SelectFiles")},SWFUpload.prototype.startUpload=function(e){this.callFlash("StartUpload",[e])},SWFUpload.prototype.cancelUpload=function(e,t){t!==!1&&(t=!0),this.callFlash("CancelUpload",[e,t])},SWFUpload.prototype.stopUpload=function(){this.callFlash("StopUpload")},SWFUpload.prototype.getStats=function(){return this.callFlash("GetStats")},SWFUpload.prototype.setStats=function(e){this.callFlash("SetStats",[e])},SWFUpload.prototype.getFile=function(e){return"number"==typeof e?this.callFlash("GetFileByIndex",[e]):this.callFlash("GetFile",[e])},SWFUpload.prototype.addFileParam=function(e,t,n){return this.callFlash("AddFileParam",[e,t,n])},SWFUpload.prototype.removeFileParam=function(e,t){this.callFlash("RemoveFileParam",[e,t])},SWFUpload.prototype.setUploadURL=function(e){this.settings.upload_url=e.toString(),this.callFlash("SetUploadURL",[e])},SWFUpload.prototype.setPostParams=function(e){this.settings.post_params=e,this.callFlash("SetPostParams",[e])},SWFUpload.prototype.addPostParam=function(e,t){this.settings.post_params[e]=t,this.callFlash("SetPostParams",[this.settings.post_params])},SWFUpload.prototype.removePostParam=function(e){delete this.settings.post_params[e],this.callFlash("SetPostParams",[this.settings.post_params])},SWFUpload.prototype.setFileTypes=function(e,t){this.settings.file_types=e,this.settings.file_types_description=t,this.callFlash("SetFileTypes",[e,t])},SWFUpload.prototype.setFileSizeLimit=function(e){this.settings.file_size_limit=e,this.callFlash("SetFileSizeLimit",[e])},SWFUpload.prototype.setFileUploadLimit=function(e){this.settings.file_upload_limit=e,this.callFlash("SetFileUploadLimit",[e])},SWFUpload.prototype.setFileQueueLimit=function(e){this.settings.file_queue_limit=e,this.callFlash("SetFileQueueLimit",[e])},SWFUpload.prototype.setFilePostName=function(e){this.settings.file_post_name=e,this.callFlash("SetFilePostName",[e])},SWFUpload.prototype.setUseQueryString=function(e){this.settings.use_query_string=e,this.callFlash("SetUseQueryString",[e])},SWFUpload.prototype.setRequeueOnError=function(e){this.settings.requeue_on_error=e,this.callFlash("SetRequeueOnError",[e])},SWFUpload.prototype.setHTTPSuccess=function(e){"string"==typeof e&&(e=e.replace(" ","").split(",")),this.settings.http_success=e,this.callFlash("SetHTTPSuccess",[e])},SWFUpload.prototype.setAssumeSuccessTimeout=function(e){this.settings.assume_success_timeout=e,this.callFlash("SetAssumeSuccessTimeout",[e])},SWFUpload.prototype.setDebugEnabled=function(e){this.settings.debug_enabled=e,this.callFlash("SetDebugEnabled",[e])},SWFUpload.prototype.setButtonImageURL=function(e){void 0==e&&(e=""),this.settings.button_image_url=e,this.callFlash("SetButtonImageURL",[e])},SWFUpload.prototype.setButtonDimensions=function(e,t){this.settings.button_width=e,this.settings.button_height=t;var n=this.getMovieElement();void 0!=n&&(n.style.width=e+"px",n.style.height=t+"px"),this.callFlash("SetButtonDimensions",[e,t])},SWFUpload.prototype.setButtonText=function(e){this.settings.button_text=e,this.callFlash("SetButtonText",[e])},SWFUpload.prototype.setButtonTextPadding=function(e,t){this.settings.button_text_top_padding=t,this.settings.button_text_left_padding=e,this.callFlash("SetButtonTextPadding",[e,t])},SWFUpload.prototype.setButtonTextStyle=function(e){this.settings.button_text_style=e,this.callFlash("SetButtonTextStyle",[e])},SWFUpload.prototype.setButtonDisabled=function(e){this.settings.button_disabled=e,this.callFlash("SetButtonDisabled",[e])},SWFUpload.prototype.setButtonAction=function(e){this.settings.button_action=e,this.callFlash("SetButtonAction",[e])},SWFUpload.prototype.setButtonCursor=function(e){this.settings.button_cursor=e,this.callFlash("SetButtonCursor",[e])},SWFUpload.prototype.queueEvent=function(e,t){void 0==t?t=[]:t instanceof Array||(t=[t]);var n=this;if("function"==typeof this.settings[e])this.eventQueue.push(function(){this.settings[e].apply(this,t)}),setTimeout(function(){n.executeNextEvent()},0);else if(null!==this.settings[e])throw"Event handler "+e+" is unknown or is not a function"},SWFUpload.prototype.executeNextEvent=function(){var e=this.eventQueue?this.eventQueue.shift():null;"function"==typeof e&&e.apply(this)},SWFUpload.prototype.unescapeFilePostParams=function(e){var t,n=/[$]([0-9a-f]{4})/i,a={};if(void 0!=e){for(var i in e.post)if(e.post.hasOwnProperty(i)){t=i;for(var o;null!==(o=n.exec(t));)t=t.replace(o[0],String.fromCharCode(parseInt("0x"+o[1],16)));a[t]=e.post[i]}e.post=a}return e},SWFUpload.prototype.testExternalInterface=function(){try{return this.callFlash("TestExternalInterface")}catch(e){return!1}},SWFUpload.prototype.flashReady=function(){var e=this.getMovieElement();return e?(this.cleanUp(e),void this.queueEvent("swfupload_loaded_handler")):void this.debug("Flash called back ready but the flash movie can't be found.")},SWFUpload.prototype.cleanUp=function(e){try{if(this.movieElement&&"unknown"==typeof e.CallFunction){this.debug("Removing Flash functions hooks (this should only run in IE and should prevent memory leaks)");for(var t in e)try{"function"==typeof e[t]&&(e[t]=null)}catch(n){}}}catch(a){}window.__flash__removeCallback=function(e,t){try{e&&(e[t]=null)}catch(n){}}},SWFUpload.prototype.fileDialogStart=function(){this.queueEvent("file_dialog_start_handler")},SWFUpload.prototype.fileQueued=function(e){e=this.unescapeFilePostParams(e),this.queueEvent("file_queued_handler",e)},SWFUpload.prototype.fileQueueError=function(e,t,n){e=this.unescapeFilePostParams(e),this.queueEvent("file_queue_error_handler",[e,t,n])},SWFUpload.prototype.fileDialogComplete=function(e,t,n){this.queueEvent("file_dialog_complete_handler",[e,t,n])},SWFUpload.prototype.uploadStart=function(e){e=this.unescapeFilePostParams(e),this.queueEvent("return_upload_start_handler",e)},SWFUpload.prototype.returnUploadStart=function(e){var t;if("function"==typeof this.settings.upload_start_handler)e=this.unescapeFilePostParams(e),t=this.settings.upload_start_handler.call(this,e);else if(void 0!=this.settings.upload_start_handler)throw"upload_start_handler must be a function";void 0===t&&(t=!0),t=!!t,this.callFlash("ReturnUploadStart",[t])},SWFUpload.prototype.uploadProgress=function(e,t,n){e=this.unescapeFilePostParams(e),this.queueEvent("upload_progress_handler",[e,t,n])},SWFUpload.prototype.uploadError=function(e,t,n){e=this.unescapeFilePostParams(e),this.queueEvent("upload_error_handler",[e,t,n])},SWFUpload.prototype.uploadSuccess=function(e,t,n){e=this.unescapeFilePostParams(e),this.queueEvent("upload_success_handler",[e,t,n])},SWFUpload.prototype.uploadComplete=function(e){e=this.unescapeFilePostParams(e),this.queueEvent("upload_complete_handler",e)},SWFUpload.prototype.debug=function(e){this.queueEvent("debug_handler",e)},SWFUpload.prototype.debugMessage=function(e){if(this.settings.debug){var t,n=[];if("object"==typeof e&&"string"==typeof e.name&&"string"==typeof e.message){for(var a in e)e.hasOwnProperty(a)&&n.push(a+": "+e[a]);t=n.join("\n")||"",n=t.split("\n"),t="EXCEPTION: "+n.join("\nEXCEPTION: "),SWFUpload.Console.writeLine(t)}else SWFUpload.Console.writeLine(e)}},SWFUpload.Console={},SWFUpload.Console.writeLine=function(e){var t,n;try{t=document.getElementById("SWFUpload_Console"),t||(n=document.createElement("form"),document.getElementsByTagName("body")[0].appendChild(n),t=document.createElement("textarea"),t.id="SWFUpload_Console",t.style.fontFamily="monospace",t.setAttribute("wrap","off"),t.wrap="off",t.style.overflow="auto",t.style.width="700px",t.style.height="350px",t.style.margin="5px",n.appendChild(t)),t.value+=e+"\n",t.scrollTop=t.scrollHeight-t.clientHeight}catch(a){alert("Exception: "+a.name+" Message: "+a.message)}},exports.SWFUpload=SWFUpload}),define("js/home/comment",["jquery"],function(e,t,n){var a,i=e("jquery"),o=i(".comment-table"),s=o.find(".remark-btn"),r=i("#comment-dialog-widget"),d=r.find(".dialog-titlebar"),l=r.find("textarea"),c=i(document).width(),u=i(document).height(),h=i(window).height(),p={canmove:!1,offset:{},maxtop:0,maxleft:0},f={};s.each(function(){var e=i(this).next(),t=e.data(),n=t.orderid;f[n]={},f[n].productSkn=t.productskn,f[n].productId=t.productid,f[n].goodsId=t.goodsid,f[n].orderId=t.orderid,f[n].erpSkuId=t.erpskuid,e.remove(),i(this).data("code",n)}),s.click(function(){var e=i(document).scrollTop();a=i(this),l.val(""),r.removeClass("hide").css({top:e+(h-r.outerHeight())/2,left:(c-r.outerWidth())/2})}),d.bind("mousedown",function(e){i(e.target).hasClass("dialog-close-btn")||(p.canmove=!0,p.offset={x:e.offsetX,y:e.offsetY},p.maxtop=u-r.outerHeight(),p.maxleft=c-r.outerWidth())}),i(document).mousemove(function(e){var t,n;p.canmove&&(t=e.pageY-p.offset.y,n=e.pageX-p.offset.x,t=t<p.maxtop?t:p.maxtop,n=n<p.maxleft?n:p.maxleft,r.css({top:t>0?t:0,left:n>0?n:0}))}).mouseup(function(e){p.canmove=!1}),r.on("click",".dialog-save-btn",function(){var e,t=i.trim(l.val());return""===t?void alert("请添加评论内容"):void(a.length&&(e=f[a.data().code],e.content=t,i.ajax({type:"POST",url:"/home/comment/saveComment",data:e}).then(function(e){var n=a.parent();200===e.code?(n.prev().text(t),n.html('<span class="remarked">已评论!</span>'),a.length=0,r.addClass("hide")):alert(e.message)})))}),r.on("click",".dialog-close-btn",function(){a.length=0,r.addClass("hide")})}),define("js/home/complaints",["jquery"],function(e,t,n){function a(){return m?!0:(m=!0,setTimeout(function(){m=!1},1e3),!1)}function i(e){var t=e.dom.siblings(".option-tip"),n=d.trim(e.dom.val()),a=n.length;return e.min&&a<e.min?(t.text(e.onmin),!1):e.max&&a>e.max?(t.text(e.onmax),!1):e.regexp&&!e.regexp.test(n)?(t.text(e.onerror),!1):(t.text("输入正确"),!0)}function o(){var e,t={};return d.each(g,function(n,a){i(a)?t[n]=d.trim(a.dom.val()):e||(e=n,a.dom.focus())}),t.complaintsType=h.val(),e?!1:t}function s(){var e=o();!a()&&e&&d.ajax({type:"POST",url:"/home/complaints/addcomplaints",data:e}).then(function(e){m=!1,200===e.code?window.location.reload():alert(e.message)})}function r(e,t){var n=t;a()||d.ajax({type:"POST",url:"/home/complaints/cancelcomplaints",data:{id:e}}).then(function(e){m=!1,200===e.code?(n.prev().remove(),n.text("问题已撤销")):alert(e.message)})}var d=e("jquery"),l=d(".cancel-btn"),c=d("#title"),u=d("#customer"),h=d("#complaintsType"),p=d("#orderCode"),f=d("#content"),m=!1,g={title:{dom:c,min:1,max:10,onshow:"请输入您的投诉主题",onfocus:"请输入主题",onmin:"投诉主题不能为空",onmax:"输入投诉主题不能超过10个字"},customer:{dom:u,min:1,max:10,onshow:"请填写您要投诉的对象,比如:客服00*号、发货员...",onfocus:"请填写您要投诉的对象",onmin:"投诉对象不能为空",onmax:"输入投诉对象不能超过10个字"},orderCode:{dom:p,regexp:/^([0-9,]{9,})$/,onshow:"如果多个是多个订单号,请用英文逗号隔开,没有则不填",onfocus:"请输入订单号",onerror:"您输入的订单格式不对,如果多个是多个订单号,请用英文逗号隔开"},content:{dom:f,min:1,max:130,onshow:"输入您投诉的内容",onfocus:"请输入您投诉的内容",onmin:"投诉内容不能为空",onmax:"输入的投诉内容不能超过130个字"}};d.each(g,function(e,t){t.dom.focus(function(){t.dom.siblings(".option-tip").text(t.onfocus)}).blur(function(){i(t)})}),d("#complaint-submit").click(function(){s()}),l.click(function(){var e=d(this).data();e&&e.id&&r(e.id,d(this).parent())})}),define("js/home/message",["jquery"],function(e,t,n){function a(){var e=!1;o=r.find(".msg-check:checked"),c=[],o.each(function(){var t=s(this).parent().parent();c.push(s(this).val()),t.hasClass("new-msg")&&(e=!0)}),e?l.addClass("has-new"):l.removeClass("has-new")}function i(e,t){var n;switch(e){case"del":n="/home/message/delMessage";break;case"read":n="/home/message/readMessage"}s.ajax({type:"GET",url:n,data:t}).then(function(t){t.code?200===t.code?"read"===e&&(o.removeAttr("checked"),o.parent().parent().removeClass("new-msg"),a()):alert(t.message):"del"===e&&(r.html(t),d=r.find(".msg-check"),l=r.find(".read-choose-btn"))})}var o,s=e("jquery"),r=s("#message-main-container"),d=r.find(".msg-check"),l=r.find(".read-choose-btn"),c=[];e("js/home/message-content"),r.on("change",'input[type="checkbox"]',function(){var e=s(this).attr("checked");s(this).hasClass("choose-all")&&("checked"===e?d.attr("checked",!0):d.removeAttr("checked")),a()}),r.on("click",".del-btn",function(){confirm("您确定要删除这条短消息?")&&i("del",s(this).data())}),r.on("click",".del-choose-btn",function(){return c.length?void(confirm("确定要删除您选中的消息")&&i("del",{id:c.join(",")})):void alert("请选中您要删除的消息")}),r.on("click",".read-choose-btn",function(){s(this).hasClass("has-new")&&i("read",{id:c.join(",")})})}),define("js/home/message-content",["jquery"],function(e,t,n){var a=e("jquery"),i=a(".pick-coupon-btn"),o=!1;i.click(function(){var e=a(this).data();o||(o=!0,a.ajax({type:"GET",url:"/home/message/pickCoupon",data:e}).then(function(e){var t=e.message;200===e.code&&(t="领取成功",a(this).removeClass("pick-coupon-btn")),o=!1,alert(t)}))})}),define("js/home/edit",["jquery","handlebars","source-map"],function(e,t,n){function a(){var e=u("#nickname").val().length,t=u("#username").val().length,n=u('input[name="gender"]'),a=u("#year"),i=u("#month"),o=u("#day");return 0===e?(alert("请输入昵称"),!1):0===t?(alert("请输入用户名"),!1):e>=20?(alert("昵称最长为20个字符"),!1):n.is(":checked")?"0"===a.val()||"0"===i.val()||"0"===o.val()?(alert("请选择出生年月日"),!1):!0:(alert("请选择性别"),!1)}function i(){return"0"===u("#province").val()||"0"===u("#city").val()||"0"===u("#areaCode").val()?(alert("请选择所在区域"),!1):null===u("#province").val()||null===u("#city").val()||null===u("#areaCode").val()?(alert("请选择所在区域"),!1):0===u("#phone").val().length&&0===u("#mobile").val().length?(alert("电话和手机号码不能同时为空,请填写!"),!1):0===u("#fullAddress").val().length?(alert("请填写地址"),!1):0===u("#zipCode").val().length||u("#zipCode").val().length<2?(alert("请填写邮编"),!1):!0}function o(){return u(".user-habbit-info input").is(":checked")?!0:(alert("请填写购物&着装习惯"),!1)}function s(){return""===u("#likebrand").val()?(alert("请选择品牌"),!1):!0}function r(e){var t=u("#likebrand").val();return 0===parseInt(e)?!1:(u("#likebrand").val(t.replace(","+e+",",",")),u("#pp-"+e).attr("checked",!1),void u("#brand-"+e).remove())}function d(e,t,n){var a='<li id="brand-'+t+'">'+n+'<a href="javascript:void(0);" class="btn-del"></a></li>',i=u("#brand-"+t).html(),o=u("#likebrand").val(),s=u("#brand-box");return 0===parseInt(t)?!1:"undefined"!=typeof e&&""!==e&&e.checked===!1?(r(t),!1):i?(alert("您已经选择了该品牌."),!1):(s.append(a),s.find("li>a").off("click").on("click",function(){r(u(this).closest("li").attr("id").substr(6))}),o+=t+",",void u("#likebrand").val(o))}function l(){var e={brandName:u("#keywords").val()};u.post("/home/user/isbrandname",e,function(e){return 200===e.code?e.data.id&&e.data.brand_name?(d("",e.data.id,e.data.brand_name),u("#keywords").val(""),!0):(alert("网络异常,请重试"),!1):(alert(e.message),!1)},"json")}function c(e,t){var n=u("#"+t).closest("form");u.post(e,n.serialize(),function(e){return 200===e.code?(alert(e.message),setTimeout(function(){n.closest("div").next().find("h2").click()},100),!0):(alert(e.message),!1)},"json")}var u=e("jquery"),h=u(".userinfo-edit form"),p=e("js/home/common-address"),f={init:function(e,t,n){var a=u("#year"),i=u("#month"),o=u("#day"),s=this;this.createDay(a.val(),i.val(),o.val()),a.on("change",function(){s.update()}),i.on("change",function(){s.update()})},update:function(){this.createDay(u("#year").val(),u("#month").val(),u("#day").val())},createDay:function(e,t,n){var a,i,o='<select name="day" id="day">',s=new Array(4,6,9,11),r=31;if(e=parseInt(e),t=parseInt(t),0===e&&(e=0),0===t&&(t=0),u("#year").val(e.toString()),u("#month").val(t.toString()),o+='<option value="0">日</option>',e>0&&t>0)for(-1!==u.inArray(t,s)?r=30:2===t&&(r=28,0!==e%4||e%100===0&&e%400!==0||(r=29)),i=1;r>=i;i++)a="",parseInt(n)===i&&(a="selected"),o+='<option value="'+i+'" '+a+">"+i+"</option>";o+="</select>",u("#day").replaceWith(o)}};u(".userinfo-edit h2").on("click",function(){var e=u(this).next();h.slideUp("fast"),"none"===e.css("display")?e.slideDown("slow"):null}),u("#base-info").on("click",function(){a()&&c("/home/user/edituserinfo/","base-info")}),u("#contact-info").on("click",function(){i()&&c("/home/user/editusercontactinfo/","contact-info")}),u("#shopping-info").on("click",function(){o()&&c("/home/user/edituserhabitsinfo/","shopping-info")}),u("#favorite-brand").on("click",function(){s()&&u.ajax({url:"/home/user/edituserlikebrand/",type:"post",datatype:"json",data:{brand:u("#likebrand").val()},success:function(e){return 200===e.code?(alert(e.message),!0):(alert(e.message),!1)},error:function(e){alert("网络异常")}})}),u("#add-brand-btn").on("click",function(){l()}),u('.user-favorite-info input[type="checkbox"]').on("click",function(){var e=u(this);d(this,e.attr("id").substr(3),e.parent().text())}),function(){var e=u("#brand-box li");e.length>0&&e.find("a").on("click",function(){r(u(this).closest("li").attr("id").substr(6))})}(),f.init(),function(){u("#province").val()?p.bindAreaChange({provinceDomId:"province",cityDomId:"city",areaDomId:"areaCode"}):p.loadAllData(0,{provinceDomId:"province",cityDomId:"city",areaDomId:"areaCode"})}()}),define("js/home/gift",["jquery","handlebars","source-map"],function(e,t,n){function a(){var e=new Date;return o("#imgcode").attr("src","/passport/images?t="+e.getTime()),!1}var i,o=e("jquery"),s=e("js/common/dialog"),r=s.Alert,d=o(".giftCardCode").find(".gift-error"),l=o(".captchaCode").find(".gift-error"),c="",u="",h=1,p={suc:[!1,!1,!1,!1],checkCard:function(e){if(c=/^[0-9a-zA-Z]{4,4}$/,c.test(o("#giftCardCode"+e).val())){for(h=1;3>=h;h++)c.test(o("#giftCardCode"+h).val())?(d.html(""),p.suc[h]=!0):(d.html("您输入的兑换码有误,兑换码必须为数字或字母,每个文本框里只能输入四个兑换码!"),p.suc[h]=!1);3!==e&&o("#giftCardCode"+(e+1)).focus()}else d.html("您输入的兑换码有误,兑换码必须为数字或字母,每个文本框里只能输入四个兑换码!"),p.suc[e-1]=!1},bindGiftCardForm:function(){o("#giftCardCode1").bind("blur keyup",function(){p.checkCard(1)}),o("#giftCardCode2").bind("blur keyup",function(){p.checkCard(2)}),o("#giftCardCode3").bind("blur keyup",function(){p.checkCard(3)}),o("#captchaCode").bind("blur keyup",function(){u=o("#captchaCode").val(),u.length<=0?(l.html("请输入验证码!"),p.suc[3]=!1):(l.html(""),p.suc[3]=!0)})},checkForm:function(){return c.test(o("#giftCardCode1").val())&&c.test(o("#giftCardCode2").val())&&c.test(o("#giftCardCode3").val())?""===o.trim(o("#captchaCode").val())?(l.html("请输入验证码!"),!1):!0:(d.html("您输入的兑换码有误,兑换码必须为数字或字母,每个文本框里只能输入四个兑换码!"),!1)}};o("#sub-gift").on("click",function(){return p.checkForm()?void o.post("/home/gift/exchange",o("#giftCardForm").serialize(),function(e){200===e.code?window.location.href="/home/gift?type=1":400===e.code?(i=new r(e.message),i.show(),a()):window.location.href="/home/gift?type=2"},"json"):!1}),o(document).on("click","#imgcode,.check-img",function(){a()}),o(function(){a(),p.bindGiftCardForm()})}),define("js/home/validate",["jquery","handlebars","source-map"],function(e,t,n){function a(e,t){return e.$checkInfo.html('<div class="form-error">'+t+"</div>"),"code"!==e.dom.attr("name")&&"verifyCode"!==e.dom.attr("name")&&e.dom.addClass("input-error"),!1}function i(e){return e.$checkInfo.html('<div class="form-success">&nbsp;</div>'),"code"!==e.dom.attr("name")&&"verifyCode"!==e.dom.attr("name")&&e.dom.removeClass("input-error"),!0}function o(e){var t;return v.post(e.url,e.data,function(n){"undefined"!=typeof n.code&&200===n.code?t=i(e.opt):(e.txt=""!==e.txt&&null!==e.txt?e.txt:n.message,t=a(e.opt,e.txt))}),t}function s(e){var t=e.val(),n=t.length,s=e.parent(),r=s.find(".check-info"),d=e.attr("name"),l="",c="",u="",h={$checkInfo:r,dom:e},p={opt:h};return r.html(""),"password"===d?0===n?a(h,"密码不能为空!"):(v.extend(p,{url:"/home/account/checkpassword",data:{password:t},txt:"密码错误!"}),o(p)):"verifyCode"===d?(v.extend(p,{url:"/home/account/checkverifycode",data:{verifyCode:t},txt:"验证码错误!"}),o(p)):"email"===d?(l=b.emailRegx,null===t.match(l)?a(h,"邮箱错误!"):(v.extend(p,{url:"/home/account/checkemail",data:{email:t},txt:""}),o(p))):"mobile"===d?(l=b.phoneRegx,c=t.split("-"),l=1===c.length?t.match("^1[35847]{1}[0-9]{9}"):l["+"+c[0]].test(c[1]),0===n?a(h,"手机号不能为空!"):null!==l&&l?(v.extend(p,{url:"/home/account/checkmobile",data:{mobile:t},txt:"手机号已经存在!"}),o(p)):a(h,"手机号错误!")):"newPwd"===d?(l=b.pwdValidateRegx,l.test(t)?i(h):a(h,"建议6~20个数字+字母组合!")):"confirm_password"===d?v("#newPwd").val()!==t?a(h,"两次密码不一致!"):i(h):"code"!==d?!0:(u=v("#realAccount").length>0?v("#realAccount").val():v("#mobilevalue").val(),""!==t?(v.extend(p,{url:"/home/account/checkmobilemsg",data:{mobile:u,code:v("#inputcode").val()},txt:"验证码错误!"}),o(p)):void 0)}function r(){var e=[];return k=!1,v.each(_,function(t,n){e[t]=s(v(n))}),!(e.indexOf(!1)>=0)}function d(){var e=(new Date).getTime();v("#the-code-img").attr("src","/passport/images?len=6&time="+e)}function l(){var e="";j>0?(e="重新发送"+j+"秒",v("#sendButton").text(e),j-=1):(j=60,v("#sendButton").text("发送验证码"),clearInterval(m),x=!0)}function c(e){var t=v("#inputcode"),n=t.parent().find("check-info");v.post("/home/account/sendmobilemsg",{mobile:e},function(e){"undefined"!=typeof e.code&&200===e.code?(x=!1,m=setInterval(function(){l()},1e3),n.html("")):n.html('<div class="form-error">验证码发送失败</div>')})}function u(){var e,t,n,a=v("#mobilevalue");if(a.length>0?(e=a.next(),t=a.val(),n=t.split("-"),n=1===n.length?t.match("^1[35847]{1}[0-9]{9}"):b.phoneRegx["+"+n[0]].test(n[1])):t=v("#realAccount").val(),!x)return!1;if(a.length>0){if(null===n||!n)return e.html('<div class="form-error">手机号错误!</div>'),a.addClass("input-error"),!1;e.find(".form-success").length>0&&c(t)}v("#realAccount").length>0&&c(t)}function h(){window.location.href="/home/account"}function p(e,t){v.post(e.url,e.data,function(n){return 200!==n.code?(k=!0,g=new w(n.message),g.show(),!1):(t&&(e.hrefUrl+="&checkCode="+n.data),void(window.location.href=e.hrefUrl))},"json")}function f(){var e=v(".progress-bar .cur").index(),t=v("#verifyType").val(),n="",a={};v(".email").length>0&&(n="email"),v(".mobile").length>0&&(n="mobile"),v(".userpwd").length>0&&(n="userpwd"),0===e?"1"===t?(a={url:"/home/account/verifypassword",data:v("#pwdform").serialize(),hrefUrl:"/home/account/"+n+"?step=2"},p(a,"step1")):"2"===t?(a={url:"/home/account/sendemail",data:{checkType:n,email:v("#realAccount").val()},hrefUrl:"/home/account/sendemailsuccess?email="+v("#realAccount").val()+"&type=1&checkType="+n},p(a)):(a={url:"/home/account/checkmobilemsg",data:{mobile:v("#realAccount").val(),code:v("#inputcode").val()},hrefUrl:"/home/account/"+n+"?step=2"},p(a,"step1")):1===e&&("userpwd"===n?(a={url:"/home/account/modifypwd",data:v("#pwdform").serialize(),hrefUrl:"/home/account/userpwd?step=3&success=true"},p(a)):"email"===n?(a={url:"/home/account/modifyemail",data:{email:v("#email").val()},hrefUrl:"/home/account/sendemailsuccess?email="+v("#email").val()+"&type=2&checkType=email"},p(a)):(a={url:"/home/account/modifymobile",data:{mobile:v("#mobilevalue").val(),code:v("#inputcode").val()},hrefUrl:"/home/account/mobile?step=3&success=true"},p(a)))}var m,g,v=e("jquery"),y=e("js/common/dialog"),b=e("js/passport/mail-phone-regx"),w=y.Alert,C=v(".check-user"),_=C.find("input").not("input[type=button],input[type=hidden],input[type=reset]"),x=!0,k=!0,j=60;v.ajaxSetup({async:!1}),Array.prototype.indexOf||(Array.prototype.indexOf=function(e,t){
+var n,a;for(n=t||0,a=this.length;a>n;n++)if(this[n]===e)return n;return-1}),v(function(){var e=null;v(".res-info").length>0&&(e=setTimeout(function(){h()},5e3)),d(),v("#pwdform").submit(function(){return!1}),_.blur(function(){s(v(this))}),v(".sub-btn").on("click",function(){return k===!1?!1:r()?void f():!1}),v("input[name=verifyCode]").keydown(function(e){if(13===e.keyCode){if(k===!1)return!1;if(!r())return!1;f()}}),v(".the-code").on("click",function(){d()}),v("#send-mobile-code").on("click",function(){u()}),v("#newPwd").length>0&&v("#newPwd").on("input",function(e){var t=v("input[name=confirm_password]"),n=t.val(),i=v("#newPwd").val(),o={dom:t,$checkInfo:t.next()};n.length>0&&i!==n&&a(o,"两次密码不一致!")})})}),define("js/home/address",["jquery","handlebars","source-map"],function(e,t,n){function a(e){var t=e.parents(".address-content"),n=t.attr("addressId");return n}function i(e){var t="";"addressName"===e.inputName&&(t="真实姓名在2到5个汉字之间"),"address"===e.inputName&&(t="请填写详细地址"),"zipCode"===e.inputName&&(t="请输入收货人所在地邮编号"),"phone"===e.inputName&&(t="格式例如:0577-88888888"),"mobile"===e.inputName&&(t="请输入手机号,如1360000000"),"email"===e.inputName&&(t="用来接收订单提醒邮件,便于您及时了解订单状态"),e.$checkInfo.removeClass("form-prompt").addClass("form-focus").html(t)}function o(e){var t="",n=!0,a="输入正确",i="form-info form-success",o=e.val;return"addressName"===e.inputName&&(t=/^[\u4e00-\u9fa5]{2,5}$/,e.len<1||e.len>12?(a="真实姓名在2到5个汉字之间,请确认",n=!1,i="form-info form-error"):t.test(e.val)===!1&&(a="真实姓名至少2个中文,最多5个中文",n=!1,i="form-info form-error")),"address"===e.inputName&&e.len<2&&(a="请填写详细地址",n=!1,i="form-info form-error"),"zipCode"===e.inputName&&(t=/^[0-9]{6}$/,0===e.len?(a="请输入收货人所在地邮编号",n=!1,i="form-info form-error"):t.test(e.val)===!1&&(a="你输入的邮编式不正确",n=!1,i="form-info form-error")),"phone"===e.inputName&&(t=/^(0[0-9]{2,3}\-)?([2-9][0-9]{6,7})+(\-[0-9]{1,4})?$/,0===e.len?(a="你真的不想留联系电话了吗?",n=!0,i="form-info form-success"):t.test(e.val)===!1&&(a="你输入的联系电话格式不正确",n=!1,i="form-info form-error")),"mobile"===e.inputName&&(t=/^1[3|4|5|8|7][0-9]{9}$/,11!==e.len?(a="手机号码必须是11位的,请确认",n=!1,i="form-info form-error"):t.test(e.val)===!1&&(a="您输入的手机号格式不正确",n=!1,i="form-info form-error")),"email"===e.inputName&&(t="^[a-z0-9_-]+(.[_a-z0-9-]+)*@([_a-z0-9-]+.)+([a-z]{2}|aero|arpa|biz|com|coop|edu|gov|info|int|jobs|mil|museum|name|nato|net|org|pro|travel)$",null!==o.match(t)&&0!==e.len||(a="你输入的邮件地址格式不正确",n=!1,i="form-info form-error")),e.$checkInfo.removeClass().addClass(i).html(a),n}function s(e,t){var n=e.val(),a=e.parent(),s={val:n,len:n.length,$domParent:e.parent(),$checkInfo:a.find("span"),inputName:e.attr("name")};return"focus"===t&&i(s),"blur"===t?o(s):void 0}function r(){var e=c("#phone").next(),t=c("#mobile").next();return t.hasClass("form-success")&&!e.hasClass("form-error")&&0===c("#phone").val().length?(e.removeClass().addClass("form-prompt form-info").html("请输入你的联系电话,可以为空哦"),!0):"输入正确"!==e.html()||t.hasClass("form-error")||0!==c("#mobile").val().length?t.hasClass("form-success")||"输入正确"===e.html()?void 0:(e.removeClass().addClass("form-success form-info").html("你真的不想留联系电话了吗?"),t.removeClass().addClass("form-prompt form-info").html("填写手机号便于接收发货和收货通知"),c("#mobile").focus(),!1):(t.removeClass().addClass("form-prompt form-info").html("填写手机号便于接收发货和收货通知"),!0)}function d(){var e=[];return c.each(g,function(t,n){e.push(s(c(n),"blur"))}),e.push(r()),c.each(c(".form-info"),function(e,t){return c(t).hasClass("form-error")?(c(t).prev().focus(),!1):void 0}),-1===e.indexOf(!1)}var l,c=e("jquery"),u=e("js/home/common-address"),h=e("js/common/dialog"),p=h.Alert,f=c(".address-del"),m=c(".address-modify"),g=c(".input-1"),v={evil:function(e){var t=Function;return new t("return "+e)()},clearAddrForm:function(){c("#addressName").val(""),c("#address").val(""),c("#zipCode").val(""),c("#phone").val(""),c("#mobile").val(""),c("#email").val(""),c("#addrId").val(0),c("#province").val(0),c("#city").val(0),c("#areaCode").val(0).hide(),c("#btn-reset").hide(),c("#form-status").html("添加新地址")},editAddr:function(e){c.getJSON("/home/address/editAddress?id="+e,function(e){200===e.code&&(c("#form-status").html("修改地址"),c("#addressName").val(e.data.consignee),u.loadAllData(e.data.area_code,{}),c("#address").val(e.data.address),c("#email").val(e.data.email),c("#phone").val(e.data.phone),c("#mobile").val(e.data.mobile),c("#zipCode").val(e.data.zip_code),c("#addrId").val(e.data.address_id),c("#btn-reset").show())})},saveAddr:function(e){c.post("/home/address/saveAddress",c("#address-form").serialize(),function(e){200===e.code?location.reload():(l=new p(e.message),l.show())},"json")},delAddr:function(e){c.getJSON("/home/address/delAddress?id="+e,function(t){200===t.code?(c(".address-list").find("li[addressId="+e+"]").remove(),e===c("#addrId").val()&&v.clearAddrForm()):(l=new p("删除失败"),l.show())})},setDefaultAddr:function(e){var t=c(".address-list").find(".default-btn"),n=c(".address-list").find(".default-btn").parents("li"),a=c(".address-list").find("li[addressId="+e+"]"),i=a.find(".set-default-btn");c.getJSON("/home/address/defaultAddress?id="+e,function(e){200===e.code?(t.attr("class","btn-c3 set-default-btn"),n.removeClass("preferred"),t.html("<span>设为常用地址</span>"),i.attr("class","btn-c2 default-btn"),t.html("<span>设为常用地址</span>"),a.addClass("preferred")):(l=new p("设置失败"),l.show())})}};Array.prototype.indexOf||(Array.prototype.indexOf=function(e,t){var n,a;for(n=t||0,a=this.length;a>n;n++)if(this[n]===e)return n;return-1}),c(document).on("click",".set-default-btn",function(){var e=a(c(this));v.setDefaultAddr(e)}),f.on("click",function(){var e=a(c(this));v.delAddr(e)}),m.on("click",function(){var e=a(c(this));v.editAddr(e),c("#btn-reset").show()}),g.on("focus",function(){s(c(this),"focus")}),g.on("blur",function(){s(c(this),"blur")}),c("#address-info").on("click",function(){d()&&v.saveAddr()}),c(document).ready(function(){u.loadAllData(0,{provinceDomId:"province",cityDomId:"city",areaDomId:"areaCode"}),v.clearAddrForm(),c("#btn-reset").click(function(){v.clearAddrForm()})})}),define("js/help/entry",["jquery","handlebars","source-map"],function(e,t,n){e("js/help/search")}),define("js/help/search",["jquery","handlebars","source-map"],function(e,t,n){var a=e("jquery"),i=e("handlebars"),o=a(".search-content"),s=a("#help-dialog-widget"),r=a("#help-dialog-bg"),d=a(document).width(),l=a(window).height(),c='<div class="dialog-titlebar"><span class="dialog-close-btn"></span></div><div class="dialog-content"><p class="ask">问:<br>{{ask}}</p><p class="answer">答:<br>{{answer}}</p></div>',u=i.compile(c);o.on("click",".faqs",function(){var e=a(this).data(),t=a(document).scrollTop();s.html(u(e)).removeClass("hide"),r.removeClass("hide"),s.html(u(e)).css({top:t+(l-s.outerHeight())/2,left:(d-s.outerWidth())/2})}),s.on("click",".dialog-close-btn",function(){s.addClass("hide"),r.addClass("hide")})}),define("js/order/ensure",["jquery","handlebars","source-map"],function(e,t,n){function a(e,t,n,a){var i=1,o=1,s=0,r=!1;e.click(function(){r||("0px"===n.css("left")?s=0:(s+=o*a,r=!0),n.stop().animate({left:s},300,function(){r=!1}))}),t.click(function(){var e=n.parent().width()-n.width()+"px";r||(n.css("left")===e?n.css("left",e):(s+=-i*a,r=!0),n.stop().animate({left:s},300,function(){r=!1}))})}var i=e("jquery"),o=e("js/order/address"),s=e("js/common/dialog"),r=function(e,t){var n=0,a=e.toString(),i=t.toString();try{n+=a.split(".")[1].length}catch(o){}try{n+=i.split(".")[1].length}catch(o){}return Number(a.replace(".",""))*Number(i.replace(".",""))/Math.pow(10,n)},d={Data:{product:0,activity:0,carriage:0,juan:0,yohocoin:0},UI:{e:{$pan:i(".pan"),$jc:i("#juancode"),$bp:i("#biprice"),$statistics:i("li",".play-total"),$tobi:i("p em",".play-bi-pan .play-pan"),$cancel:i(".cancel",".btn-group"),$total:i("em",".to-play"),$tbody:i("table tbody",".pay-wapper"),$orderSelectionSave:i(".address-list h2 span"),$addAddress:i(".add-address"),$addressManage:i(".address-manage"),$spanPayTypeLegend:i("span.pay-type-legend"),$supportType:i(".support-type"),$existAddressListWrap:i(".exist-address-list"),$existAddressList:i(".exist-address-list").find("li"),$existAddress:i(".exist-address-list").find('input[name="exist-address"]'),$payTimeModify:i(".pay-time-modify"),$switchPayModify:i(".switch-pay-modify"),$modityPayInfo:i(".modity-pay-info"),$payTotal:i(".play-total"),$toPay:i(".to-play em"),$redEnvelopes:i(".red-envelopes"),$useEnvelopes:i(".use-envelopes"),$hasEnvelopes:i(".has-envelopes span"),$useEnvelopesInput:i(".use-envelopes").find("input"),$expressFee:i(".express-fee")},init:function(){var e=this.e,t=d.Data,n=d.Common;e.$tbody.find("tr").each(function(a){var o=i(this).find("td"),s=e.$tbody.find("tr").length,r=parseFloat(o.eq(1).html())*parseInt(o.eq(3).html());o.eq(1).html("¥"+o.eq(1).html()),o.hasClass("xforone")?(o.eq(4).find("del").html("¥"+n.strFixed(r)),r=0):o.eq(4).html("¥"+n.strFixed(r)),t.product+=r,a?o.last().remove():o.last().attr("rowspan",s),a===s-1&&e.$tbody.find("tr").eq(0).find("td").last().html("<strong>¥"+n.strFixed(t.product)+"</strong>")}),e.$pan.find("dt").click(function(){var e=i(this).parent("dl.pan");e.find("dd").is(":hidden")?(n.winShow(e),i(this).addClass("active")):(n.winHide(e),i(this).removeClass("active"))}),e.$orderSelectionSave.click(function(){var t=0,n=i(".exist-address-list li"),a=n.length,o=0;if(i(this).attr("expand")){for(t=0;a>t;t++)n.eq(t).hasClass("address_select")&&o++,n.eq(t).hasClass("address_select")||n.eq(t).addClass("hide");0===o&&(i('.exist-address-list li:not(".use-new-address")').removeClass("hide"),i(".use-new-address input").removeAttr("checked")),i(".address-list-inner li.address_select input").attr("checked","checked"),i(".address-list-inner li").removeClass("active"),i(".address-list-inner li.address_select").addClass("active"),i(this).removeAttr("expand").text("[修改]"),i(".save-btn").addClass("hide"),e.$existAddressListWrap.removeClass("address-expand"),e.$addressManage.addClass("hide")}else i(this).attr("expand","expand").text("[不保存并关闭]"),i(".exist-address-list li").removeClass("hide"),i(".save-btn").removeClass("hide"),e.$existAddressListWrap.addClass("address-expand"),1===a&&e.$addressManage.removeClass("hide")}),e.$switchPayModify.click(function(){e.$payTimeModify.hasClass("hide")?(e.$payTimeModify.removeClass("hide"),e.$modityPayInfo.addClass("hide"),i(this).text("[不保存并关闭]")):(e.$payTimeModify.addClass("hide"),e.$modityPayInfo.removeClass("hide"),i(this).text("[修改]"),e.$payTimeModify.find('input[name="pay-type"]').filter(".checked").attr("checked","checked"),e.$payTimeModify.find('input[name="pay-time-radio"]').filter(".checked").attr("checked","checked"),e.$payTimeModify.find('input[name="call-me"]').filter(".checked").attr("checked","checked"))}),e.$spanPayTypeLegend.click(function(){i(this).toggleClass("active"),e.$supportType.toggleClass("hide")}),i(document).on("click",".exist-address-list li",function(){i(".exist-address-list li").removeClass("active"),i(this).addClass("active"),i(this).find("input").attr("checked","checked"),i(this).hasClass("use-new-address")&&(e.$addressManage.removeClass("hide"),i(".address-manage input").val(""),i(".save-btn").removeAttr("data-id"),o.newAddress(0,"000000"))})},render:function(e,t){var n,a,o,s=this.e,d=e.promotion_formula_list,l=e.package_list,c="",u="";for(a=t?t:"",n=0;n<d.length;n++)"优惠券:"===d[n].promotion&&(d[n].promotion=(a?a:"优惠券")+'<span class="juan-modify">[修改]</span>:'),"YOHO币:"===d[n].promotion&&(d[n].promotion='YOHO币<span class="bi-modify">[修改]</span>:'),u=d[n].isExpress?"total-express-w":"",c+='<li class="'+u+'"><label>'+d[n].promotion+"</label><em>"+d[n].promotion_amount+"</em></li>";s.$payTotal.html(c),s.$toPay.html(e.last_order_amount.toFixed(2)),i("#biprice").val(r(100,e.use_yoho_coin)),0===~~e.use_yoho_coin?i(".errbitip").text(""):i(".errbitip").text("抵扣"+e.use_yoho_coin.toFixed(2)+"元"),o=s.$useEnvelopesInput.data("all")-e.use_red_envelopes,~~e.use_red_envelopes>0?(s.$useEnvelopes.find("span").html("-¥"+e.use_red_envelopes.toFixed(2)),s.$useEnvelopes.find("input").attr("data-use",e.use_red_envelopes)):(s.$useEnvelopes.find("span").html("-¥0.00"),s.$hasEnvelopes.html("¥"+(1*s.$useEnvelopesInput.attr("data-all")).toFixed(2)),s.$redEnvelopes.removeClass("active"),s.$useEnvelopesInput.prop("checked",!1)),s.$hasEnvelopes.html("¥"+o.toFixed(2)),l&&s.$expressFee.each(function(e,t){var n=l[e].shopping_orig_cost,a=l[e].shopping_cut_cost,o=l[e].shopping_cost,s=0===parseInt(n)?"运费:¥0.00元":"运费:¥"+o+"元(原价"+n+"元,优惠"+a+")元";i(t).text(s)})}},Common:{enterNUM:function(e,t){return e=e.replace(/[^\d]/g,""),e&&t&&(e=parseInt(e),t=parseInt(t),e>t&&(e=t)),e},calucate:function(){var e=d.Data;return i.each(d.Data,function(t,n){e[t]=parseFloat(d.Data[t])}),e.product-e.activity+e.carriage-e.juan-e.yohocoin},winShow:function(e){e.find("dt").show(),e.find("dd").show(),e.attr("class").match(/(-bi-)|(-juan-)/g)&&e.find("dt").hide()},winHide:function(e){e.find("dt").show(),e.find("dd").hide()},strFixed:function(e){return parseFloat(e).toFixed(2)}},Bll:{e:{$juanok:i("#juansubmit"),$juantip:i(".errtip",".play-juan-pan"),$biok:i("#bisubmit"),$carriageGroup:i('input[name="carriagegroup"]'),$selectExpress:i(".express-list input"),$bp:i("#biprice"),$errorTip:i(".errbitip"),$useEnvelopes:i(".use-envelopes"),$hasEnvelopes:i(".has-envelopes span"),$useEnvelopesInput:i(".use-envelopes").find("input"),$redEnvelopes:i(".red-envelopes"),$loading:i(".loading")},init:function(){function e(e){var t,n=i('.play-juan.is-select input[name="juangroup"]:checked'),a=i('.express-list input[name="carriagegroup"]:checked').val(),o=i("#biprice.is-select").val(),s=n.val(),r=i(".address-manage").attr("cart-type"),d=i(".use-envelopes input:checked").attr("data-use");s=s?s:n.closest("li").find("#juancode").val(),t={cartType:r,deliveryWay:a,couponCode:s,yohoCoin:o},d&&(t.redEnvelopes=d),e(t)}function t(e,t){var n=e;n.keyup(function(){n.val().length>t&&n.val(n.val().substr(0,t))})}var n,a,o=this.e,r=d.UI,l=d.Common;o.$selectExpress.click(function(){var t=i(this).val();o.$loading.show(),e(function(e){e.deliveryWay=t,n={type:"POST",url:"/cart/index/orderCompute",data:e,success:function(e){o.$loading.hide(),200===e.code?(r.render(e.data),"1"===t?i(".express-list.sf").addClass("hide"):"2"===t&&i(".express-list.sf").removeClass("hide")):new s.Alert(e.message).show()}},i.ajax(n)})}),o.$juanok.click(function(){var t=i(this).parents("dl.pan"),a="";i(".play-juan").addClass("is-select"),e(function(e){var s=e.couponCode;s?(o.$loading.show(),n={type:"POST",url:"/cart/index/orderCompute",data:e,success:function(e){o.$loading.hide(),200===e.code?(a=i('.play-juan input[value="'+s+'"]').next().text(),r.render(e.data,a),l.winHide(t),o.$juantip.html("")):(o.$juantip.html(e.message),i(".play-juan").removeClass("is-select"))}},i.ajax(n)):(o.$juantip.html("请选择或填写一个优惠券"),i(".play-juan").removeClass("is-select"))})}),i(document).on("click",".juan-modify",function(){var e=i(".play-juan-pan");l.winShow(e)}),o.$biok.click(function(){var t,a=i(this).parents("dl.pan");i("#biprice").addClass("is-select"),e(function(e){e.couponCode&&(t=i('.play-juan input[value="'+e.couponCode+'"]').next().text()),/^\d+$/.test(e.yohoCoin+"")&&1*e.yohoCoin!==0?1*e.yohoCoin>1*i(".play-pan em").text()?(i(".errbitip").html("您的YOHO币不足"),i("#biprice").removeClass("is-select")):(o.$loading.show(),n={type:"POST",url:"/cart/index/orderCompute",data:e,success:function(e){o.$loading.hide(),200===e.code?(r.render(e.data,t),l.winHide(a)):(i(".errbitip").html(e.message),i("#biprice").removeClass("is-select"))}},i.ajax(n)):(i(".errbitip").html("请输入一个正整数"),i("#biprice").removeClass("is-select"))})}),i(document).on("click",".bi-modify",function(){var e=i(".play-bi-pan");l.winShow(e)}),o.$bp.keyup(function(){var e=i(this).val();/^\d+$/.test(e+"")?1*e>1*i(this).data("bi")?o.$errorTip.html("您的YOHO币不足"):o.$errorTip.html("抵扣"+(e/100).toFixed(2)+"元"):o.$errorTip.html("请输入一个正整数")}),i(".cancel-bi").click(function(){var t,a=i(".play-bi-pan");i(".errbitip").html(""),i("#biprice").hasClass("is-select")?(o.$loading.show(),e(function(e){e.yohoCoin=0,e.couponCode&&(t=i('.play-juan input[value="'+e.couponCode+'"]').next().text()),n={type:"POST",url:"/cart/index/orderCompute",data:e,success:function(e){o.$loading.hide(),200===e.code?(r.render(e.data,t),l.winHide(a),i("#biprice").val("0"),i("#biprice").removeClass("is-select"),i(".errbitip").html("")):i(".errbitip").html(e.message)}},i.ajax(n)})):(l.winHide(a),i("#biprice").val("0"))}),i(".cancel-code").click(function(){var t=i(".play-juan-pan");i(".play-juan").hasClass("is-select")?(o.$loading.show(),e(function(e){e.couponCode="",n={type:"POST",url:"/cart/index/orderCompute",data:e,success:function(e){o.$loading.hide(),200===e.code?(r.render(e.data),l.winHide(t),i(".play-juan").removeClass("is-select"),i("#juancode").val("").siblings('input[name="juangroup"]').attr("checked","checked")):o.$juantip.html(e.message)}},i.ajax(n)})):l.winHide(t)}),a=o.$useEnvelopesInput.data("all")-o.$useEnvelopesInput.data("use"),o.$hasEnvelopes.text("¥"+a.toFixed(2)),o.$useEnvelopes.find("input").click(function(){var t,a=i(this);o.$loading.show(),a.attr("disabled","disabled"),e(function(e){a.attr("checked")?e.redEnvelopes=a.data("use"):e.redEnvelopes=0,t=i('.play-juan input[value="'+e.couponCode+'"]').next().text(),n={type:"POST",url:"/cart/index/orderCompute",data:e,success:function(e){o.$loading.hide(),200===e.code?(r.render(e.data,t),a.removeAttr("disabled"),a.attr("checked")?o.$redEnvelopes.addClass("active"):(o.$useEnvelopes.find("span").html("-¥0.00"),o.$hasEnvelopes.html("¥"+(1*a.attr("data-all")).toFixed(2)),o.$redEnvelopes.removeClass("active"))):new s.Alert(e.message).show()}},i.ajax(n)})}),t(i("#piaodesc"),30),t(i("#notedesc"),100)}}};d.Data.activity=0,d.Data.carriage=0,d.UI.init(),d.Bll.init(),o.getUserAddressList(),o.newAddress(0,"000000"),o.modifyAddress(),o.saveAddress(),i(".why").click(function(){return i("#differentBag").show(),!1}),i("#differentBag").click(function(){return!1}),i(document).click(function(){i("#differentBag").hide()}),i(".bag").find("ul").each(function(){var e=i(this).parent().parent().find(".pre"),t=i(this).parent().parent().find(".next"),n=i(this).find("li").eq(0).width(),o=i(this).find("li").size(),s=n*o;i(this).css("width",s),o>5?(e.show(),t.show(),a(e,t,i(this),n)):(e.hide(),t.hide())})}),define("js/order/address",["jquery","handlebars","source-map"],function(e,t,n){function a(e,t,n){var a,i,o="",s="";for(a=0;a<t.length;a++)s="Y"===t[a].is_support_express?"*":"",o+=t[a].id===n?'<option selected value="'+t[a].id+'">'+s+t[a].caption+"</option>":'<option value="'+t[a].id+'">'+s+t[a].caption+"</option>";"province"===e.attr("name")?i='<option value="0">请选择省份</option>':"city"===e.attr("name")?i='<option value="0">请选择城市</option>':"county"===e.attr("name")&&(i='<option value="0">请选择区县</option>'),e.html(i+o)}function i(e,t){var n,i=e.selectId;"getProvince"===e.type?n=f:"getCity"===e.type?n=m:"getCounty"===e.type&&(n=g),c.ajax({type:"GET",url:"/cart/index/getAreaList",dataType:"json",data:{id:1*e.id}}).then(function(e){a(n,e.data,i),"function"==typeof t&&t()})}function o(e){return e.replace(/^(\d{3}).*(\d{4})$/,"$1****$2")}function s(e){b.val(e.attr("data-name")),b.attr("data-id",e.attr("data-id")),_.val(e.attr("data-addressDesc")),w.val(e.attr("data-mobile")),C.val(e.attr("data-email")),x.val(e.attr("data-zipcode")),j.val(e.attr("data-phoneCode")),S.val(e.attr("data-phoneNum"))}function r(){T.removeClass("active"),q.find('li:not(".active")').addClass("hide"),q.find("li.active").addClass("address_select"),p.addClass("hide"),k.addClass("hide").removeAttr("data-id"),q.removeClass("address-expand"),c(".address-list h2 span").text("[修改]")}function d(){var e,t,n,a=c(".play-juan ul"),i="";c.ajax({type:"GET",dataType:"json",url:"/cart/index/getCouponList"}).then(function(o){if(200===o.code){for(t=o.data,e=t.length,n=0;e>n;n++)i+='<li><input name="juangroup" type="radio" value="'+t[n].code+'" '+(t[n].valid?"":'disabled="disabled"')+"><label>"+t[n].desc+"</label></li>";a.prepend(c(i))}})}function l(e){return"N"!==e}var c=e("jquery"),u=e("js/common/dialog"),h=!1,p=c(".address-manage"),f=p.find('.text-input[name="province"]'),m=p.find('.text-input[name="city"]'),g=p.find('.text-input[name="county"]'),v=p.find('.text-input[name="province"], .text-input[name="city"]'),y=c(".address-list"),b=p.find('.text-input[name="name"]'),w=p.find('.text-input[name="phone"]'),C=p.find('.text-input[name="mail"]'),_=p.find('.text-input[name="address"]'),x=p.find('.text-input[name="code"]'),k=c(".save-btn"),j=p.find('.text-input[name="tel-code"]'),S=p.find('.text-input[name="tel"]'),T=c(".use-new-address"),q=c(".exist-address-list"),I=c(".loading"),E=c("#order-edit-main"),A=p.attr("cart-type");I.show(),t.getUserAddressList=function(){var e,t,n="",a="",i="",o="",s=0;c.ajax({type:"GET",url:"/cart/index/getAddress",dataType:"json"}).then(function(r){if(I.hide(),200===r.code){if(e=r.data.list,!e)return E.attr("data-new")&&(k.addClass("new-user-btn").html("下一步:选择支付及送货时间"),c(".pay-btn").addClass("new-user-pay").html("下一步:发票和备注"),c(".switch-pay-modify").html("")),y.find(">h2").find("span").click(),c(".exist-address-list li").click(),void c(".use-new-address").removeClass("active");for(t=0;t<e.length;t++)e[t].checked?(a="checked",i="active address_select",s++,o="默认地址"):(a="",i="hide",o="设为默认地址"),n+='<li data-id="'+e[t].id+'" class="'+i+'" data-express="'+e[t].isSupport+'"><input data-name="'+e[t].user+'" data-areaCode="'+e[t].areaCode+'" data-addressDesc="'+e[t].addressDesc+'" data-mobile="'+e[t].mobile+'" data-phoneNum="'+e[t].phoneNum+'" data-phoneCode="'+e[t].phoneCode+'" data-zipCode="'+e[t].zipCode+'" data-email="'+e[t].email+'" class="radio" type="radio" name="address" '+a+' /><label for=""><strong>'+e[t].user+"</strong>"+e[t].address+'<a href="javascript:void(0);" class="default-address">'+o+'</a><div class="order-modify-btn"><span class="address-modify">[修改]</span><span class="address-del">[删除]</span></div></label></li>';c(".use-new-address").before(c(n)),0===s&&c(".address-list h2 span").click(),"N"===c(".active.address_select").attr("data-express")?(c('.express-list input[name="carriagegroup"][value="2"]').attr("disabled","disabled"),c('.express-list input[name="carriagegroup"][value="1"]').attr("checked","checked"),c(".express-list.sf").addClass("hide"),c(".is-sup").removeClass("hide")):(c('.express-list input[name="carriagegroup"][value="2"]').removeAttr("disabled"),c(".express-list.sf").removeClass("hide"),c(".is-sup").addClass("hide"))}})},t.newAddress=function(e,t){var n=e||0,a=/[0-9]{2}/gi,o=!!t&&t.match(a);i({id:n,type:"getProvince",selectId:o[0]},function(){var e=f.val();"0"!==e?i({id:e,type:"getCity",selectId:""+o[0]+o[1]},function(){var e=m.val();"0"!==e&&i({id:e,type:"getCounty",selectId:t})}):(p.find('select[name="city"]').html('<option value="0">请选择城市</option>'),p.find('select[name="county"]').html('<option value="0">请选择区县</option>'))}),v.change(function(){var e=c(this);"province"===e.attr("name")&&("0"===e.val()?(p.find('select[name="city"]').html('<option value="0">请选择城市</option>'),p.find('select[name="county"]').html('<option value="0">请选择区县</option>')):(i({id:e.val(),type:"getCity"},function(){h=!0}),p.find('select[name="county"]').html('<option value="0">请选择区县</option>'))),"city"===e.attr("name")&&h&&("0"===e.val()?p.find('select[name="county"]').html('<option value="0">请选择区县</option>'):i({id:e.val(),type:"getCounty"}))})},t.modifyAddress=function(){y.click(function(e){var n=c(e.target),a=n.closest("li").attr("data-id"),i=n.closest("li").find(".radio").attr("data-areaCode");n.hasClass("address-modify")?(p.removeClass("hide"),t.newAddress(0,i),s(n.closest("li").find(".radio")),c(".address-list-inner .save-btn").removeClass("hide"),k.attr("data-id",a),h=!0):n.hasClass("address-del")?(I.show(),c.ajax({type:"POST",url:"/cart/index/delAddress",data:{id:a}}).then(function(e){I.hide(),200===e.code?n.closest("li").remove():new u.Alert(e.message).show()}).fail(function(){})):n.hasClass("default-address")&&!n.parents("li").hasClass("address_select")&&(I.show(),c.ajax({type:"post",url:"/cart/index/setDefaultAddress",data:{id:a}}).then(function(e){I.hide(),200===e.code?(c(".exist-address-list li").removeClass("address_select").find(".default-address").text("设为默认地址"),n.parents("li").addClass("address_select"),n.text("默认地址")):new u.Alert(e.message).show()}))})},t.saveAddress=function(){k.click(function(){function e(e){return e===y?e?e+"-":" ":e?e+" ":" "}var t,n,a,i=c(this),s=b.val(),d=f.val(),l=m.val(),h=g.val(),p=_.val(),v=w.val(),y=j.val(),T=S.val(),q=C.val(),I=x.val(),E=f.find('option[value="'+d+'"]').text().replace(/\*/,""),A=m.find('option[value="'+l+'"]').text().replace(/\*/,""),F=g.find('option[value="'+h+'"]').text().replace(/\*/,""),U={consignee:s,areaCode:h,address:p,email:q,mobile:v,zipCode:I,phoneCode:y,phoneNum:T},D=/^[\u4e00-\u9fa5]{2,5}$/,P=/^[\s\S]{2,100}$/,O=/^(13[0-9]|15[012356789]|17[678]|18[0-9]|14[57])[0-9]{8}$/,L=/^[0-9]{6}$/,$=/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/,N=/^[0-9]{3,5}$/,z=/^[0-9]{5,10}$/;if(a=c('.exist-address-list li:not(".use-new-address")').find('input[name="address"]:checked').length>0,c(".add-address").attr("checked")||!a||c(".save-btn").attr("data-id")||(c(".exist-address-list li").removeClass("address_select"),c(".exist-address-list li.active").addClass("address_select").find('input[name="address"]').attr("checked","checked"),c(".address-list span").removeAttr("expand"),r()),!c(".address-manage").hasClass("hide")){if(!D.test(s))return void new u.Alert("真实姓名至少2个中文,最多5个中文").show();if(!P.test(p))return void new u.Alert("你输入的地址格式不正确").show();if(!O.test(v))return void new u.Alert("你输入的联系电话格式不正确").show();if(y&&!N.test(y)||T&&!z.test(T)||N.test(y)&&!z.test(T)||!N.test(y)&&z.test(T))return void new u.Alert("你输入的电话格式不正确").show();if(q&&!$.test(q))return void new u.Alert("你输入的邮箱格式不正确").show();if(I&&!L.test(I))return void new u.Alert("你输入的邮编格式不正确").show();k.attr("data-id")&&(U.id=k.attr("data-id")),c.ajax({type:"post",url:"/cart/index/saveAddress",data:U}).then(function(a){var d;200===a.code?(d=a.data,"Y"===d.is_support?(c('.express-list input[name="carriagegroup"][value="2"]').removeAttr("disabled"),c(".express-list.sf").removeClass("hide"),c(".is-sup").addClass("hide")):(c('.express-list input[name="carriagegroup"][value="2"]').attr("disabled","disabled"),c('.express-list input[name="carriagegroup"][value="1"]').attr("checked","checked"),c(".express-list.sf").addClass("hide"),c(".is-sup").removeClass("hide")),t=U.id?'<li class="active" data-id="'+U.id+'" data-express="'+d.is_support+'"><input data-name="'+U.consignee+'" data-areaCode="'+U.areaCode+'" data-addressDesc="'+U.address+'" data-mobile="'+U.mobile+'" data-phoneNum="'+U.phoneNum+'" data-phoneCode="'+U.phoneCode+'" data-zipCode="'+U.zipCode+'" data-email="'+U.email+'" checked="checked" class="radio" type="radio" name="address" /><label><strong>'+s+"</strong><span>"+E+" "+A+" "+F+" "+p+" "+e(I)+o(v)+e(y)+e(T)+'</span><a href="javascript:void(0);" class="default-address">设为默认地址</a><div class="order-modify-btn"><span class="address-modify">[修改]</span><span class="address-del">[删除]</span></div></label></li>':'<li class="active" data-id="'+d.id+'" data-express="'+d.is_support+'"><input data-name="'+d.consignee+'" data-areaCode="'+d.area_code+'" data-addressDesc="'+d.address+'" data-mobile="'+d.mobile+'" data-phoneNum="'+U.phoneNum+'" data-phoneCode="'+U.phoneCode+'" data-zipCode="'+d.zip_code+'" data-email="'+d.email+'" checked="checked" class="radio" type="radio" name="address" /><label><strong>'+s+"</strong><span>"+E+" "+A+" "+F+" "+p+" "+e(I)+o(v)+e(y)+e(T)+'</span><a href="javascript:void(0);" class="default-address">设为默认地址</a><div class="order-modify-btn"><span class="address-modify">[修改]</span><span class="address-del">[删除]</span></div></label></li>',i.attr("data-id")?(n=c('.exist-address-list li[data-id="'+i.attr("data-id")+'"]'),n.after(c(t)).remove()):c(".use-new-address").before(c(t)),c(".address-list span").removeAttr("expand"),r()):new u.Alert(a.message).show()})}return 0===c(".exist-address-list li").find('input[name="address"]:checked').length?void new u.Alert("请选择一个地址").show():("N"===c(".exist-address-list li").find('input[name="address"]:checked').closest("li").attr("data-express")?(c('.express-list input[name="carriagegroup"][value="2"]').attr("disabled","disabled"),c('.express-list input[name="carriagegroup"][value="1"]').attr("checked","checked"),c(".express-list.sf").addClass("hide"),c(".is-sup").removeClass("hide")):(c('.express-list input[name="carriagegroup"][value="2"]').removeAttr("disabled"),c(".express-list.sf").removeClass("hide"),c(".is-sup").addClass("hide")),void(i.hasClass("new-user-btn")&&c(".switch-pay-modify").click()))})},c(".pay-time-modify .pay-btn").click(function(){var e=c(this),t=c(".modity-pay-info"),n=c(".pay-time-modify"),a=n.find('input[name="pay-type"]:checked').val(),i=n.find('input[name="pay-type"]:checked').next("label").text(),o=n.find('input[name="pay-time-radio"]:checked').next("label").text(),s=n.find('input[name="pay-time-radio"]:checked').val(),r=n.find('input[name="call-me"]:checked').next("label").text(),d=n.find('input[name="call-me"]:checked').val();I.show(),c.ajax({type:"POST",url:"/cart/index/orderCompute",dataType:"json",data:{cartType:A,paymentType:a}}).then(function(n){I.hide(),200===n.code?(t.find("li").eq(0).find("span").text(i),t.find("li").eq(1).find("span").text(o),t.find("li").eq(2).find("span").text(r),c(".pay-time-modify").addClass("hide").find('input[name="pay-type"][value='+a+"]").addClass("checked").end().find('input[name="pay-time-radio"][value='+s+"]").addClass("checked").end().find('input[name="call-me"][value='+d+"]").addClass("checked"),c(".modity-pay-info").removeClass("hide"),c(".switch-pay-modify").text("[修改]"),e.hasClass("new-user-pay")&&(c(".play-piao-pan dd").css({display:"block"}),c(".play-piao-pan dt").addClass("active"))):new u.Alert(n.message).show()})}),d(),c(".to-play input.submit").click(function(){var e=c(this),t=c('.exist-address-list input[name="address"]:checked').closest("li").attr("data-id"),n=c('.pay-time-modify input[name="pay-time-radio"]:checked').val(),a=c('.select-express input[name="carriagegroup"]:checked').val(),i=c("#piaodesc").val(),o=c("#piaotype").val(),s=c('.pay-time-modify input[name="pay-type"]:checked').val(),r=c('.pay-time-modify input[name="pay-type"]:checked').data("pay"),d=c("#notedesc").val(),h=c("#biprice").val(),p=c('.pay-time-modify input[name="call-me"]:checked').val(),f=c('.play-pan input[name="isPP"]:checked').val(),m=c(".use-envelopes input:checked").attr("data-use"),g=c('.play-juan.is-select input[name="juangroup"]:checked'),v=g.val(),y=v?v:g.closest("li").find("#juancode").val();I.show(),e.attr("disabled")||(e.attr("disabled","disabled"),c.ajax({type:"POST",dataType:"json",url:"/cart/index/orderSub",data:{addressId:t,cartType:A,deliveryTimeId:n,deliveryWayId:a,invoiceTitle:i,invoiceId:o,paymentId:r,paymentType:s,remark:d,couponCode:y,yohoCoin:h,isPreContact:l(p),isPrintPrice:l(f),redEnvelopes:m}}).then(function(e){I.hide(),200===e.code?window.location.href=e.data.payUrl:new u.Alert(e.message).show()}).always(function(){e.removeAttr("disabled")}))})}),define("js/shopping/pay",["jquery"],function(e,t,n){function a(){v?u('.mode div[id="'+v+'"]').addClass("choosed-tag").parent().addClass("choose-type"):(p.eq(0).addClass("choose-type").show(),p.eq(0).find("div").addClass("choosed-tag")),m.attr("value","前往"+u("#"+y).attr("alt")),f.attr("src",u("#"+y).attr("src"))}function i(e,t){u.ajax({type:"get",url:"/common/addpaymentinterval",dataType:"json",data:{orderCode:t,payment:e}})}var o,s,r,d,l,c,u=e("jquery"),h=u(".mode div"),p=u(".mode"),f=u("#show-pay-img"),m=u("#btnby"),g=u(".light-box"),v=u("#choosePay").val(),y=u('.mode div[id="'+v+'"]').parent().data("value"),b=v?y:u(".mode").eq(0).data("value"),w=u("#payUrl").val();u.jqtab=function(e,t){u(e+" li").click(function(){return s=u(this).find("a").attr("tab"),u(e+" li").removeClass("thistab"),u(this).addClass("thistab"),
+u(t).hide(),u("#"+s).fadeIn(),!1})},u.jqtab("#tabs",".tab-con"),a(),p.click(function(){return o=u(this).data(),b=o.value,r=u("#"+b).attr("alt"),d=u("#"+b).attr("src"),p.removeClass("choose-type"),u(this).addClass("choose-type"),h.removeClass("choosed-tag"),u(this).find(".borer-tag").addClass("choosed-tag"),m.attr("value","前往"+r),f.attr("src",d),!1}),u(".close").click(function(){g.hide()}),u(".change").click(function(){g.hide()}),u("#btnby").click(function(){c=u(".choose-type").attr("data-id"),l=u(".order-num").text(),i(c,l),window.open(w+"?order_code="+l+"&payment_type="+b),g.show()}),u(".pay-over").unbind("click").bind("click",function(){var e=this;u.post("/shopping/pay/sendPay",{orderCode:l,paymentId:c},function(){window.location.href=u(e).data("url")})})}),define("js/pay/wechatqrcode",["jquery"],function(e,t,n){function a(){i.ajax({url:s,dataType:"jsonp",success:function(e){"success"===e.message&&(window.location.href=r)}})}var i=e("jquery"),o=i(".w-odetail"),s=i("#payHost").val(),r=i("#paySuccessUrl").val(),d=i(".w-p-erm");e("plugin/jquery.qrcode"),o.click(function(){i(".w-addrinfo").slideToggle("slow"),o.find("i").hasClass("up")?o.html('收起详情<i class="down"></i>'):o.html('订单详情<i class="up"></i>')}),d.qrcode({render:"table",text:d.data("url")}),setInterval(a,3e3)}),define("plugin/jquery.qrcode",["jquery"],function(e,t,n){var a=e("jquery");!function(e){e.fn.qrcode=function(t){function n(e){this.mode=d,this.data=e}function i(e,t){this.typeNumber=e,this.errorCorrectLevel=t,this.modules=null,this.moduleCount=0,this.dataCache=null,this.dataList=[]}function o(e,t){if(void 0==e.length)throw Error(e.length+"/"+t);for(var n=0;n<e.length&&0==e[n];)n++;this.num=Array(e.length-n+t);for(var a=0;a<e.length-n;a++)this.num[a]=e[a+n]}function s(e,t){this.totalCount=e,this.dataCount=t}function r(){this.buffer=[],this.length=0}var d;n.prototype={getLength:function(){return this.data.length},write:function(e){for(var t=0;t<this.data.length;t++)e.put(this.data.charCodeAt(t),8)}},i.prototype={addData:function(e){this.dataList.push(new n(e)),this.dataCache=null},isDark:function(e,t){if(0>e||this.moduleCount<=e||0>t||this.moduleCount<=t)throw Error(e+","+t);return this.modules[e][t]},getModuleCount:function(){return this.moduleCount},make:function(){if(1>this.typeNumber){for(var e=1,e=1;40>e;e++){for(var t=s.getRSBlocks(e,this.errorCorrectLevel),n=new r,a=0,i=0;i<t.length;i++)a+=t[i].dataCount;for(i=0;i<this.dataList.length;i++)t=this.dataList[i],n.put(t.mode,4),n.put(t.getLength(),l.getLengthInBits(t.mode,e)),t.write(n);if(n.getLengthInBits()<=8*a)break}this.typeNumber=e}this.makeImpl(!1,this.getBestMaskPattern())},makeImpl:function(e,t){this.moduleCount=4*this.typeNumber+17,this.modules=Array(this.moduleCount);for(var n=0;n<this.moduleCount;n++){this.modules[n]=Array(this.moduleCount);for(var a=0;a<this.moduleCount;a++)this.modules[n][a]=null}this.setupPositionProbePattern(0,0),this.setupPositionProbePattern(this.moduleCount-7,0),this.setupPositionProbePattern(0,this.moduleCount-7),this.setupPositionAdjustPattern(),this.setupTimingPattern(),this.setupTypeInfo(e,t),7<=this.typeNumber&&this.setupTypeNumber(e),null==this.dataCache&&(this.dataCache=i.createData(this.typeNumber,this.errorCorrectLevel,this.dataList)),this.mapData(this.dataCache,t)},setupPositionProbePattern:function(e,t){for(var n=-1;7>=n;n++)if(!(-1>=e+n||this.moduleCount<=e+n))for(var a=-1;7>=a;a++)-1>=t+a||this.moduleCount<=t+a||(this.modules[e+n][t+a]=n>=0&&6>=n&&(0==a||6==a)||a>=0&&6>=a&&(0==n||6==n)||n>=2&&4>=n&&a>=2&&4>=a)},getBestMaskPattern:function(){for(var e=0,t=0,n=0;8>n;n++){this.makeImpl(!0,n);var a=l.getLostPoint(this);(0==n||e>a)&&(e=a,t=n)}return t},createMovieClip:function(e,t,n){for(e=e.createEmptyMovieClip(t,n),this.make(),t=0;t<this.modules.length;t++)for(var n=1*t,a=0;a<this.modules[t].length;a++){var i=1*a;this.modules[t][a]&&(e.beginFill(0,100),e.moveTo(i,n),e.lineTo(i+1,n),e.lineTo(i+1,n+1),e.lineTo(i,n+1),e.endFill())}return e},setupTimingPattern:function(){for(var e=8;e<this.moduleCount-8;e++)null==this.modules[e][6]&&(this.modules[e][6]=0==e%2);for(e=8;e<this.moduleCount-8;e++)null==this.modules[6][e]&&(this.modules[6][e]=0==e%2)},setupPositionAdjustPattern:function(){for(var e=l.getPatternPosition(this.typeNumber),t=0;t<e.length;t++)for(var n=0;n<e.length;n++){var a=e[t],i=e[n];if(null==this.modules[a][i])for(var o=-2;2>=o;o++)for(var s=-2;2>=s;s++)this.modules[a+o][i+s]=-2==o||2==o||-2==s||2==s||0==o&&0==s}},setupTypeNumber:function(e){for(var t=l.getBCHTypeNumber(this.typeNumber),n=0;18>n;n++){var a=!e&&1==(t>>n&1);this.modules[Math.floor(n/3)][n%3+this.moduleCount-8-3]=a}for(n=0;18>n;n++)a=!e&&1==(t>>n&1),this.modules[n%3+this.moduleCount-8-3][Math.floor(n/3)]=a},setupTypeInfo:function(e,t){for(var n=l.getBCHTypeInfo(this.errorCorrectLevel<<3|t),a=0;15>a;a++){var i=!e&&1==(n>>a&1);6>a?this.modules[a][8]=i:8>a?this.modules[a+1][8]=i:this.modules[this.moduleCount-15+a][8]=i}for(a=0;15>a;a++)i=!e&&1==(n>>a&1),8>a?this.modules[8][this.moduleCount-a-1]=i:9>a?this.modules[8][15-a-1+1]=i:this.modules[8][15-a-1]=i;this.modules[this.moduleCount-8][8]=!e},mapData:function(e,t){for(var n=-1,a=this.moduleCount-1,i=7,o=0,s=this.moduleCount-1;s>0;s-=2)for(6==s&&s--;;){for(var r=0;2>r;r++)if(null==this.modules[a][s-r]){var d=!1;o<e.length&&(d=1==(e[o]>>>i&1)),l.getMask(t,a,s-r)&&(d=!d),this.modules[a][s-r]=d,i--,-1==i&&(o++,i=7)}if(a+=n,0>a||this.moduleCount<=a){a-=n,n=-n;break}}}},i.PAD0=236,i.PAD1=17,i.createData=function(e,t,n){for(var t=s.getRSBlocks(e,t),a=new r,o=0;o<n.length;o++){var d=n[o];a.put(d.mode,4),a.put(d.getLength(),l.getLengthInBits(d.mode,e)),d.write(a)}for(o=e=0;o<t.length;o++)e+=t[o].dataCount;if(a.getLengthInBits()>8*e)throw Error("code length overflow. ("+a.getLengthInBits()+">"+8*e+")");for(a.getLengthInBits()+4<=8*e&&a.put(0,4);0!=a.getLengthInBits()%8;)a.putBit(!1);for(;!(a.getLengthInBits()>=8*e)&&(a.put(i.PAD0,8),!(a.getLengthInBits()>=8*e));)a.put(i.PAD1,8);return i.createBytes(a,t)},i.createBytes=function(e,t){for(var n=0,a=0,i=0,s=Array(t.length),r=Array(t.length),d=0;d<t.length;d++){var c=t[d].dataCount,u=t[d].totalCount-c,a=Math.max(a,c),i=Math.max(i,u);s[d]=Array(c);for(var h=0;h<s[d].length;h++)s[d][h]=255&e.buffer[h+n];for(n+=c,h=l.getErrorCorrectPolynomial(u),c=new o(s[d],h.getLength()-1).mod(h),r[d]=Array(h.getLength()-1),h=0;h<r[d].length;h++)u=h+c.getLength()-r[d].length,r[d][h]=u>=0?c.get(u):0}for(h=d=0;h<t.length;h++)d+=t[h].totalCount;for(n=Array(d),h=c=0;a>h;h++)for(d=0;d<t.length;d++)h<s[d].length&&(n[c++]=s[d][h]);for(h=0;i>h;h++)for(d=0;d<t.length;d++)h<r[d].length&&(n[c++]=r[d][h]);return n},d=4;for(var l={PATTERN_POSITION_TABLE:[[],[6,18],[6,22],[6,26],[6,30],[6,34],[6,22,38],[6,24,42],[6,26,46],[6,28,50],[6,30,54],[6,32,58],[6,34,62],[6,26,46,66],[6,26,48,70],[6,26,50,74],[6,30,54,78],[6,30,56,82],[6,30,58,86],[6,34,62,90],[6,28,50,72,94],[6,26,50,74,98],[6,30,54,78,102],[6,28,54,80,106],[6,32,58,84,110],[6,30,58,86,114],[6,34,62,90,118],[6,26,50,74,98,122],[6,30,54,78,102,126],[6,26,52,78,104,130],[6,30,56,82,108,134],[6,34,60,86,112,138],[6,30,58,86,114,142],[6,34,62,90,118,146],[6,30,54,78,102,126,150],[6,24,50,76,102,128,154],[6,28,54,80,106,132,158],[6,32,58,84,110,136,162],[6,26,54,82,110,138,166],[6,30,58,86,114,142,170]],G15:1335,G18:7973,G15_MASK:21522,getBCHTypeInfo:function(e){for(var t=e<<10;0<=l.getBCHDigit(t)-l.getBCHDigit(l.G15);)t^=l.G15<<l.getBCHDigit(t)-l.getBCHDigit(l.G15);return(e<<10|t)^l.G15_MASK},getBCHTypeNumber:function(e){for(var t=e<<12;0<=l.getBCHDigit(t)-l.getBCHDigit(l.G18);)t^=l.G18<<l.getBCHDigit(t)-l.getBCHDigit(l.G18);return e<<12|t},getBCHDigit:function(e){for(var t=0;0!=e;)t++,e>>>=1;return t},getPatternPosition:function(e){return l.PATTERN_POSITION_TABLE[e-1]},getMask:function(e,t,n){switch(e){case 0:return 0==(t+n)%2;case 1:return 0==t%2;case 2:return 0==n%3;case 3:return 0==(t+n)%3;case 4:return 0==(Math.floor(t/2)+Math.floor(n/3))%2;case 5:return 0==t*n%2+t*n%3;case 6:return 0==(t*n%2+t*n%3)%2;case 7:return 0==(t*n%3+(t+n)%2)%2;default:throw Error("bad maskPattern:"+e)}},getErrorCorrectPolynomial:function(e){for(var t=new o([1],0),n=0;e>n;n++)t=t.multiply(new o([1,c.gexp(n)],0));return t},getLengthInBits:function(e,t){if(t>=1&&10>t)switch(e){case 1:return 10;case 2:return 9;case d:return 8;case 8:return 8;default:throw Error("mode:"+e)}else if(27>t)switch(e){case 1:return 12;case 2:return 11;case d:return 16;case 8:return 10;default:throw Error("mode:"+e)}else{if(!(41>t))throw Error("type:"+t);switch(e){case 1:return 14;case 2:return 13;case d:return 16;case 8:return 12;default:throw Error("mode:"+e)}}},getLostPoint:function(e){for(var t=e.getModuleCount(),n=0,a=0;t>a;a++)for(var i=0;t>i;i++){for(var o=0,s=e.isDark(a,i),r=-1;1>=r;r++)if(!(0>a+r||a+r>=t))for(var d=-1;1>=d;d++)0>i+d||i+d>=t||0==r&&0==d||s==e.isDark(a+r,i+d)&&o++;o>5&&(n+=3+o-5)}for(a=0;t-1>a;a++)for(i=0;t-1>i;i++)o=0,e.isDark(a,i)&&o++,e.isDark(a+1,i)&&o++,e.isDark(a,i+1)&&o++,e.isDark(a+1,i+1)&&o++,(0==o||4==o)&&(n+=3);for(a=0;t>a;a++)for(i=0;t-6>i;i++)e.isDark(a,i)&&!e.isDark(a,i+1)&&e.isDark(a,i+2)&&e.isDark(a,i+3)&&e.isDark(a,i+4)&&!e.isDark(a,i+5)&&e.isDark(a,i+6)&&(n+=40);for(i=0;t>i;i++)for(a=0;t-6>a;a++)e.isDark(a,i)&&!e.isDark(a+1,i)&&e.isDark(a+2,i)&&e.isDark(a+3,i)&&e.isDark(a+4,i)&&!e.isDark(a+5,i)&&e.isDark(a+6,i)&&(n+=40);for(i=o=0;t>i;i++)for(a=0;t>a;a++)e.isDark(a,i)&&o++;return e=Math.abs(100*o/t/t-50)/5,n+10*e}},c={glog:function(e){if(1>e)throw Error("glog("+e+")");return c.LOG_TABLE[e]},gexp:function(e){for(;0>e;)e+=255;for(;e>=256;)e-=255;return c.EXP_TABLE[e]},EXP_TABLE:Array(256),LOG_TABLE:Array(256)},u=0;8>u;u++)c.EXP_TABLE[u]=1<<u;for(u=8;256>u;u++)c.EXP_TABLE[u]=c.EXP_TABLE[u-4]^c.EXP_TABLE[u-5]^c.EXP_TABLE[u-6]^c.EXP_TABLE[u-8];for(u=0;255>u;u++)c.LOG_TABLE[c.EXP_TABLE[u]]=u;return o.prototype={get:function(e){return this.num[e]},getLength:function(){return this.num.length},multiply:function(e){for(var t=Array(this.getLength()+e.getLength()-1),n=0;n<this.getLength();n++)for(var a=0;a<e.getLength();a++)t[n+a]^=c.gexp(c.glog(this.get(n))+c.glog(e.get(a)));return new o(t,0)},mod:function(e){if(0>this.getLength()-e.getLength())return this;for(var t=c.glog(this.get(0))-c.glog(e.get(0)),n=Array(this.getLength()),a=0;a<this.getLength();a++)n[a]=this.get(a);for(a=0;a<e.getLength();a++)n[a]^=c.gexp(c.glog(e.get(a))+t);return new o(n,0).mod(e)}},s.RS_BLOCK_TABLE=[[1,26,19],[1,26,16],[1,26,13],[1,26,9],[1,44,34],[1,44,28],[1,44,22],[1,44,16],[1,70,55],[1,70,44],[2,35,17],[2,35,13],[1,100,80],[2,50,32],[2,50,24],[4,25,9],[1,134,108],[2,67,43],[2,33,15,2,34,16],[2,33,11,2,34,12],[2,86,68],[4,43,27],[4,43,19],[4,43,15],[2,98,78],[4,49,31],[2,32,14,4,33,15],[4,39,13,1,40,14],[2,121,97],[2,60,38,2,61,39],[4,40,18,2,41,19],[4,40,14,2,41,15],[2,146,116],[3,58,36,2,59,37],[4,36,16,4,37,17],[4,36,12,4,37,13],[2,86,68,2,87,69],[4,69,43,1,70,44],[6,43,19,2,44,20],[6,43,15,2,44,16],[4,101,81],[1,80,50,4,81,51],[4,50,22,4,51,23],[3,36,12,8,37,13],[2,116,92,2,117,93],[6,58,36,2,59,37],[4,46,20,6,47,21],[7,42,14,4,43,15],[4,133,107],[8,59,37,1,60,38],[8,44,20,4,45,21],[12,33,11,4,34,12],[3,145,115,1,146,116],[4,64,40,5,65,41],[11,36,16,5,37,17],[11,36,12,5,37,13],[5,109,87,1,110,88],[5,65,41,5,66,42],[5,54,24,7,55,25],[11,36,12],[5,122,98,1,123,99],[7,73,45,3,74,46],[15,43,19,2,44,20],[3,45,15,13,46,16],[1,135,107,5,136,108],[10,74,46,1,75,47],[1,50,22,15,51,23],[2,42,14,17,43,15],[5,150,120,1,151,121],[9,69,43,4,70,44],[17,50,22,1,51,23],[2,42,14,19,43,15],[3,141,113,4,142,114],[3,70,44,11,71,45],[17,47,21,4,48,22],[9,39,13,16,40,14],[3,135,107,5,136,108],[3,67,41,13,68,42],[15,54,24,5,55,25],[15,43,15,10,44,16],[4,144,116,4,145,117],[17,68,42],[17,50,22,6,51,23],[19,46,16,6,47,17],[2,139,111,7,140,112],[17,74,46],[7,54,24,16,55,25],[34,37,13],[4,151,121,5,152,122],[4,75,47,14,76,48],[11,54,24,14,55,25],[16,45,15,14,46,16],[6,147,117,4,148,118],[6,73,45,14,74,46],[11,54,24,16,55,25],[30,46,16,2,47,17],[8,132,106,4,133,107],[8,75,47,13,76,48],[7,54,24,22,55,25],[22,45,15,13,46,16],[10,142,114,2,143,115],[19,74,46,4,75,47],[28,50,22,6,51,23],[33,46,16,4,47,17],[8,152,122,4,153,123],[22,73,45,3,74,46],[8,53,23,26,54,24],[12,45,15,28,46,16],[3,147,117,10,148,118],[3,73,45,23,74,46],[4,54,24,31,55,25],[11,45,15,31,46,16],[7,146,116,7,147,117],[21,73,45,7,74,46],[1,53,23,37,54,24],[19,45,15,26,46,16],[5,145,115,10,146,116],[19,75,47,10,76,48],[15,54,24,25,55,25],[23,45,15,25,46,16],[13,145,115,3,146,116],[2,74,46,29,75,47],[42,54,24,1,55,25],[23,45,15,28,46,16],[17,145,115],[10,74,46,23,75,47],[10,54,24,35,55,25],[19,45,15,35,46,16],[17,145,115,1,146,116],[14,74,46,21,75,47],[29,54,24,19,55,25],[11,45,15,46,46,16],[13,145,115,6,146,116],[14,74,46,23,75,47],[44,54,24,7,55,25],[59,46,16,1,47,17],[12,151,121,7,152,122],[12,75,47,26,76,48],[39,54,24,14,55,25],[22,45,15,41,46,16],[6,151,121,14,152,122],[6,75,47,34,76,48],[46,54,24,10,55,25],[2,45,15,64,46,16],[17,152,122,4,153,123],[29,74,46,14,75,47],[49,54,24,10,55,25],[24,45,15,46,46,16],[4,152,122,18,153,123],[13,74,46,32,75,47],[48,54,24,14,55,25],[42,45,15,32,46,16],[20,147,117,4,148,118],[40,75,47,7,76,48],[43,54,24,22,55,25],[10,45,15,67,46,16],[19,148,118,6,149,119],[18,75,47,31,76,48],[34,54,24,34,55,25],[20,45,15,61,46,16]],s.getRSBlocks=function(e,t){var n=s.getRsBlockTable(e,t);if(void 0==n)throw Error("bad rs block @ typeNumber:"+e+"/errorCorrectLevel:"+t);for(var a=n.length/3,i=[],o=0;a>o;o++)for(var r=n[3*o+0],d=n[3*o+1],l=n[3*o+2],c=0;r>c;c++)i.push(new s(d,l));return i},s.getRsBlockTable=function(e,t){switch(t){case 1:return s.RS_BLOCK_TABLE[4*(e-1)+0];case 0:return s.RS_BLOCK_TABLE[4*(e-1)+1];case 3:return s.RS_BLOCK_TABLE[4*(e-1)+2];case 2:return s.RS_BLOCK_TABLE[4*(e-1)+3]}},r.prototype={get:function(e){return 1==(this.buffer[Math.floor(e/8)]>>>7-e%8&1)},put:function(e,t){for(var n=0;t>n;n++)this.putBit(1==(e>>>t-n-1&1))},getLengthInBits:function(){return this.length},putBit:function(e){var t=Math.floor(this.length/8);this.buffer.length<=t&&this.buffer.push(0),e&&(this.buffer[t]|=128>>>this.length%8),this.length++}},"string"==typeof t&&(t={text:t}),t=e.extend({},{render:"canvas",width:256,height:256,typeNumber:-1,correctLevel:2,background:"#ffffff",foreground:"#000000"},t),this.each(function(){var n;if("canvas"==t.render){n=new i(t.typeNumber,t.correctLevel),n.addData(t.text),n.make();var o=document.createElement("canvas");o.width=t.width,o.height=t.height;for(var s=o.getContext("2d"),r=t.width/n.getModuleCount(),d=t.height/n.getModuleCount(),l=0;l<n.getModuleCount();l++)for(var c=0;c<n.getModuleCount();c++){s.fillStyle=n.isDark(l,c)?t.foreground:t.background;var u=Math.ceil((c+1)*r)-Math.floor(c*r),h=Math.ceil((l+1)*r)-Math.floor(l*r);s.fillRect(Math.round(c*r),Math.round(l*d),u,h)}}else for(n=new i(t.typeNumber,t.correctLevel),n.addData(t.text),n.make(),o=e("<table></table>").css("width",t.width+"px").css("height",t.height+"px").css("border","0px").css("border-collapse","collapse").css("background-color",t.background),s=t.width/n.getModuleCount(),r=t.height/n.getModuleCount(),d=0;d<n.getModuleCount();d++)for(l=e("<tr></tr>").css("height",r+"px").appendTo(o),c=0;c<n.getModuleCount();c++)e("<td></td>").css("width",s+"px").css("background-color",n.isDark(d,c)?t.foreground:t.background).appendTo(l);n=o,a(n).appendTo(this)})}}(a)}),define("js/about/entry",["jquery","jquery.placeholder","handlebars","source-map"],function(e,t,n){e("js/about/settled")}),define("js/about/settled",["jquery","jquery.placeholder","handlebars","source-map"],function(e,t,n){var a=e("jquery"),i=e("js/passport/mail-phone-regx");e("jquery.placeholder"),e("plugin/jquery.qupload"),function(){function e(){var e=a(window).height();n.removeClass("hide"),i.css({"max-height":e-60}).removeClass("hide")}function t(){n.addClass("hide"),i.addClass("hide")}var n,i;0!==a(".settled-page").length&&(n=a("#mask"),i=a("#notice-container"),a("#fake-link").click(e),a("#fake-close").click(t),a("#mask").click(t))}(),function(){function t(e){a.each(e,function(e,t){a("#"+t.dom).qupload({uploadKey:w,button_image_url:"",button_text:'<span class="btn_upload_text">上传</span>',button_text_style:".btn_upload_text{color:#000;margin-left:30px;line-height: 2em;font-size:14px;}",button_text_left_padding:32,button_text_top_padding:8,button_width:160,button_height:35,button_action:x.BUTTON_ACTION.SELECT_FILE,file_size_limit:"10240",file_types:t.type,uploadSuccessed:function(e){var n=JSON.parse(e);return 12!==n.code?(alert(n.message),!1):void t.callback(n.data.hit.Filedata.return_file_path)}})})}function n(){var e=!0,t=/[0-9]\d{5}(?!\d)/,n=i.emailRegx,o=i.phoneRegx["+86"],s=/^(0|[1-9][0-9]*)$/;return a(".va, .category-item select, .for-other, .category-item").removeClass("error"),a(".va-null").each(function(){""===a(this).val()&&(a(this).addClass("error"),e=!1)}),""!==f.val()&&t.test(f.val())||(f.addClass("error"),e=!1),""!==m.val()&&n.test(m.val())||(m.addClass("error"),e=!1),""!==g.val()&&o.test(g.val())||(g.addClass("error"),e=!1),""!==y.val()&&s.test(y.val())||(y.addClass("error"),e=!1),a(".category-item").each(function(){0===a(this).get(0).selectedIndex&&(a(this).addClass("error"),e=!1)}),3===a('input[name="seller-role"]:checked').index()&&""===r.val()&&(e=!1,r.addClass("error")),5===a('input[name="new_cycle"]:checked').index()&&""===d.val()&&(e=!1,d.addClass("error")),5===a('input[name="supply_cycle"]:checked').index()&&""===l.val()&&(e=!1,l.addClass("error")),e}function o(){c.closest("tr").removeClass("hide"),c.append("<li>"+C+"</li>")}function s(){var e=a(this).val(),t=a(this).parent().find(".category-two"),n="<option>选择二级分类</option>";return""===e?void t.html(n):void a.ajax({url:"/shop/settled/getTwoCategory",type:"GET",data:{id:e}}).then(function(e){var a,i=[];if(200===e.code)for(i=e.data,a=0;a<i.length;a++)n+='<option value="'+i[a].id+'" >'+i[a].name+"</option>";t.html(n)})}var r,d,l,c,u,h,p,f,m,g,v,y,b,w,C=a("#category-tpl").html(),_=e("js/common/dialog").Dialog,x=window.SWFUpload;if(!(a(".settled-apply-page").length<0)){if(a("[placeholder]").placeholder(),r=a("#other-brand-relation"),d=a("#other-new-period"),l=a("#other-replenishment-period"),c=a("#category-list"),u=a("#shop-list"),h=a("#shops"),p=a("#mask, #submit-success"),f=a("#postcode"),m=a("#email"),g=a("#phone-number"),v=a("#upload-key"),y=a("#style-count"),w=v.val(),v.remove(),t([{dom:"upload-brand-material",type:"*.ppt;*.pdf;*.zip;*.rar",callback:function(e){a("#brand-material").val(e),a(".brand-tip").html("上传成功"),alert("上传成功!")}},{dom:"upload-goods-material",type:"*.xls;*.xlsx;*.zip;*.rar",callback:function(e){a("#goods-material").val(e),a(".goods-tip").html("上传成功"),alert("上传成功!")}}]),location.search.indexOf("state=1")>-1)return b=new _({className:"settled-success",closeIcon:!1,content:'<h1 class="main-title">恭喜您已提交成功</h1><h2 class="sub-title">我们将尽快与您联系</h2>',btns:[{id:"apply-success-ok",btnClass:["apply-success-ok"],name:"确认",cb:function(){location.href="/shop/settled/index"}}]}),void b.show();a('input[name="seller_role"]').change(function(){3===a(this).index()?r.removeClass("hide"):r.addClass("hide")}),a('input[name="new-cycle"]').change(function(){5===a(this).index()?d.removeClass("hide"):d.addClass("hide")}),a('input[name="supply-cycle"]').change(function(){5===a(this).index()?l.removeClass("hide"):l.addClass("hide")}),a('input[name="have-store"]').change(function(){1===a(this).index()?u.addClass("hide"):u.removeClass("hide")}),a(".form-container").on("change",".category-one",s),a("#category-add").click(o),h.delegate(".shop-add","click",function(){h.append('<li><input class="shop-addres" name="store-address[]" type="text" placeholder="输入店铺地址"><span>月均销售:</span><input class="shop-sales-volume" type="text" name="store-sales-volume[]" placeholder="输入价格"><span>元</span></li>')}),a("#apply-post").click(function(){var e;n()?(p.removeClass("hide"),a("form").submit()):(a(".error").first().focus(),e=a(".error").first().offset().top,a(window).scrollTop(e-10))}),navigator.userAgent.indexOf("MSIE")>=0&&a("[placeholder]").focus(function(){var e=a(this);e.removeClass("placeholder")}).blur(function(){var e=a(this);""===e.val()&&e.addClass("placeholder")})}}()}),define("js/coupon/entry",["jquery","lazyload","handlebars","source-map"],function(e,t,n){e("js/coupon/coupon")}),define("js/coupon/coupon",["jquery","lazyload","handlebars","source-map"],function(e,t,n){function a(e){var t=new l(e);t.show()}function i(t){r.ajax({type:"GET",url:"/coupon/sendcoupon",data:{id:t},success:function(e){var t=e.code;e.url&&e.url.length>0&&c[t]&&c[t](e.url+"?"+location.href.split("?")[1]),s[t]?s[t]():s[400]()},error:function(t){var n=e("js/common/dialog").Alert;new n("网络异常").show()}})}var o,s,r=e("jquery"),d=e("lazyload"),l=e("js/common/dialog").Dialog,c={gunangSrc:null,checkCouponSrc:null,goToGuang:function(){window.location.href=this.gunangSrc},goToCheck:function(){window.location.href=this.checkCouponSrc},403:function(e){window.location.href=e},200:function(e){this.checkCouponSrc=e}};d(r("img.lazy")),e("js/common/slider"),r(".slide-container").slider(),o={success:{content:"恭喜您,成功领取优惠券",subContents:["特殊情况下到账有延时","请耐心等待"],className:"subcontent-dialog",refreshOnClose:!0,btns:[{id:1,name:"去购物啦",btnClass:["black","btn-close"],cb:function(){c.goToGuang()}},{id:2,name:"查看优惠券",btnClass:["btn-close"],cb:function(){c.goToCheck()}}]},alreadyGot:{content:"您已领取过优惠券",subContent:"快去选购心仪的潮品吧",className:"subcontent-dialog",btns:[{id:1,name:"去使用",btnClass:["btn-close"],cb:function(){c.goToGuang()}}]},expired:{content:"优惠券已过期",subContent:"去领最新的优惠券吧",className:"subcontent-dialog",btns:[{id:1,name:"关闭",btnClass:["btn-close"]}]},failed:{content:"领取失败",subContents:["请刷新重试,","多次无效请联系客服"],className:"subcontent-dialog",btns:[{id:1,name:"刷新",btnClass:["btn-close"],cb:function(){window.location.reload()}}]}},s={200:function(){a(o.success)},401:function(){a(o.alreadyGot)},315:function(){a(o.expired)},400:function(){a(o.failed)},403:function(){}},r(".enable .info").on("click",function(e){e.preventDefault(),i(r(this).closest("a").data("id")),c.gunangSrc=r(this).closest("a").get(0).href})});
\ No newline at end of file
diff --git a/web-static/dist/yohobuy/4.6.3/lib.js b/web-static/dist/yohobuy/4.6.3/lib.js
new file mode 100644
index 0000000..e0d54a3
--- /dev/null
+++ b/web-static/dist/yohobuy/4.6.3/lib.js
@@ -0,0 +1,7 @@
+!function(e,t){function n(e){return function(t){return{}.toString.call(t)=="[object "+e+"]"}}function r(){return E++}function i(e){return e.match(T)[0]}function o(e){for(e=e.replace(P,"/");e.match(L);)e=e.replace(L,"/");return e=e.replace(j,"$1/")}function a(e){var t=e.length-1,n=e.charAt(t);return"#"===n?e.substring(0,t):".js"===e.substring(t-2)||e.indexOf("?")>0||".css"===e.substring(t-3)||"/"===n?e:e+".js"}function s(e){var t=w.alias;return t&&k(t[e])?t[e]:e}function l(e){var t,n=w.paths;return n&&(t=e.match(O))&&k(n[t[1]])&&(e=n[t[1]]+t[2]),e}function u(e){var t=w.vars;return t&&e.indexOf("{")>-1&&(e=e.replace(M,function(e,n){return k(t[n])?t[n]:e})),e}function c(e){var t=w.map,n=e;if(t)for(var r=0,i=t.length;i>r;r++){var o=t[r];if(n=_(o)?o(e)||e:e.replace(o[0],o[1]),n!==e)break}return n}function p(e,t){var n,r=e.charAt(0);if(D.test(e))n=e;else if("."===r)n=o((t?i(t):w.cwd)+e);else if("/"===r){var a=w.cwd.match(H);n=a?a[0]+e.substring(1):e}else n=w.base+e;return 0===n.indexOf("//")&&(n=location.protocol+n),n}function h(e,t){if(!e)return"";e=s(e),e=l(e),e=u(e),e=a(e);var n=p(e,t);return n=c(n)}function f(e){return e.hasAttribute?e.src:e.getAttribute("src",4)}function d(e,t,n){var r=V.test(e),i=I.createElement(r?"link":"script");if(n){var o=_(n)?n(e):n;o&&(i.charset=o)}g(i,t,r,e),r?(i.rel="stylesheet",i.href=e):(i.async=!0,i.src=e),q=i,z?U.insertBefore(i,z):U.appendChild(i),q=null}function g(e,n,r,i){function o(){e.onload=e.onerror=e.onreadystatechange=null,r||w.debug||U.removeChild(e),e=null,n()}var a="onload"in e;return!r||!G&&a?(a?(e.onload=o,e.onerror=function(){N("error",{uri:i,node:e}),o()}):e.onreadystatechange=function(){/loaded|complete/.test(e.readyState)&&o()},t):(setTimeout(function(){m(e,n)},1),t)}function m(e,t){var n,r=e.sheet;if(G)r&&(n=!0);else if(r)try{r.cssRules&&(n=!0)}catch(i){"NS_ERROR_DOM_SECURITY_ERR"===i.name&&(n=!0)}setTimeout(function(){n?t():m(e,t)},20)}function v(){if(q)return q;if(W&&"interactive"===W.readyState)return W;for(var e=U.getElementsByTagName("script"),t=e.length-1;t>=0;t--){var n=e[t];if("interactive"===n.readyState)return W=n}}function y(e){var t=[];return e.replace(K,"").replace(J,function(e,n,r){r&&t.push(r)}),t}function b(e,t){this.uri=e,this.dependencies=t||[],this.exports=null,this.status=0,this._waitings={},this._remain=0}if(!e.seajs){var x=e.seajs={version:"2.2.0"},w=x.data={},S=n("Object"),k=n("String"),C=Array.isArray||n("Array"),_=n("Function"),E=0,A=w.events={};x.on=function(e,t){var n=A[e]||(A[e]=[]);return n.push(t),x},x.off=function(e,t){if(!e&&!t)return A=w.events={},x;var n=A[e];if(n)if(t)for(var r=n.length-1;r>=0;r--)n[r]===t&&n.splice(r,1);else delete A[e];return x};var N=x.emit=function(e,t){var n,r=A[e];if(r)for(r=r.slice();n=r.shift();)n(t);return x},T=/[^?#]*\//,P=/\/\.\//g,L=/\/[^\/]+\/\.\.\//,j=/([^:\/])\/\//g,O=/^([^\/:]+)(\/.+)$/,M=/{([^{]+)}/g,D=/^\/\/.|:\//,H=/^.*?\/\/.*?\//,I=document,R=i(I.URL),B=I.scripts,$=I.getElementById("seajsnode")||B[B.length-1],F=i(f($)||R);x.resolve=h;var q,W,U=I.head||I.getElementsByTagName("head")[0]||I.documentElement,z=U.getElementsByTagName("base")[0],V=/\.css(?:\?|$)/i,G=+navigator.userAgent.replace(/.*AppleWebKit\/(\d+)\..*/,"$1")<536;x.request=d;var X,J=/"(?:\\"|[^"])*"|'(?:\\'|[^'])*'|\/\*[\S\s]*?\*\/|\/(?:\\\/|[^\/\r\n])+\/(?=[^\/])|\/\/.*|\.\s*require|(?:^|[^$])\brequire\s*\(\s*(["'])(.+?)\1\s*\)/g,K=/\\\\/g,Y=x.cache={},Q={},Z={},ee={},te=b.STATUS={FETCHING:1,SAVED:2,LOADING:3,LOADED:4,EXECUTING:5,EXECUTED:6};b.prototype.resolve=function(){for(var e=this,t=e.dependencies,n=[],r=0,i=t.length;i>r;r++)n[r]=b.resolve(t[r],e.uri);return n},b.prototype.load=function(){var e=this;if(!(e.status>=te.LOADING)){e.status=te.LOADING;var n=e.resolve();N("load",n);for(var r,i=e._remain=n.length,o=0;i>o;o++)r=b.get(n[o]),r.status<te.LOADED?r._waitings[e.uri]=(r._waitings[e.uri]||0)+1:e._remain--;if(0===e._remain)return e.onload(),t;var a={};for(o=0;i>o;o++)r=Y[n[o]],r.status<te.FETCHING?r.fetch(a):r.status===te.SAVED&&r.load();for(var s in a)a.hasOwnProperty(s)&&a[s]()}},b.prototype.onload=function(){var e=this;e.status=te.LOADED,e.callback&&e.callback();var t,n,r=e._waitings;for(t in r)r.hasOwnProperty(t)&&(n=Y[t],n._remain-=r[t],0===n._remain&&n.onload());delete e._waitings,delete e._remain},b.prototype.fetch=function(e){function n(){x.request(a.requestUri,a.onRequest,a.charset)}function r(){delete Q[s],Z[s]=!0,X&&(b.save(o,X),X=null);var e,t=ee[s];for(delete ee[s];e=t.shift();)e.load()}var i=this,o=i.uri;i.status=te.FETCHING;var a={uri:o};N("fetch",a);var s=a.requestUri||o;return!s||Z[s]?(i.load(),t):Q[s]?(ee[s].push(i),t):(Q[s]=!0,ee[s]=[i],N("request",a={uri:o,requestUri:s,onRequest:r,charset:w.charset}),a.requested||(e?e[a.requestUri]=n:n()),t)},b.prototype.exec=function(){function e(t){return b.get(e.resolve(t)).exec()}var n=this;if(n.status>=te.EXECUTING)return n.exports;n.status=te.EXECUTING;var i=n.uri;e.resolve=function(e){return b.resolve(e,i)},e.async=function(t,n){return b.use(t,n,i+"_async_"+r()),e};var o=n.factory,a=_(o)?o(e,n.exports={},n):o;return a===t&&(a=n.exports),delete n.factory,n.exports=a,n.status=te.EXECUTED,N("exec",n),a},b.resolve=function(e,t){var n={id:e,refUri:t};return N("resolve",n),n.uri||x.resolve(n.id,t)},b.define=function(e,n,r){var i=arguments.length;1===i?(r=e,e=t):2===i&&(r=n,C(e)?(n=e,e=t):n=t),!C(n)&&_(r)&&(n=y(""+r));var o={id:e,uri:b.resolve(e),deps:n,factory:r};if(!o.uri&&I.attachEvent){var a=v();a&&(o.uri=a.src)}N("define",o),o.uri?b.save(o.uri,o):X=o},b.save=function(e,t){var n=b.get(e);n.status<te.SAVED&&(n.id=t.id||e,n.dependencies=t.deps||[],n.factory=t.factory,n.status=te.SAVED)},b.get=function(e,t){return Y[e]||(Y[e]=new b(e,t))},b.use=function(t,n,r){var i=b.get(r,C(t)?t:[t]);i.callback=function(){for(var t=[],r=i.resolve(),o=0,a=r.length;a>o;o++)t[o]=Y[r[o]].exec();n&&n.apply(e,t),delete i.callback},i.load()},b.preload=function(e){var t=w.preload,n=t.length;n?b.use(t,function(){t.splice(0,n),b.preload(e)},w.cwd+"_preload_"+r()):e()},x.use=function(e,t){return b.preload(function(){b.use(e,t,w.cwd+"_use_"+r())}),x},b.define.cmd={},e.define=b.define,x.Module=b,w.fetchedList=Z,w.cid=r,x.require=function(e){var t=b.get(b.resolve(e));return t.status<te.EXECUTING&&(t.onload(),t.exec()),t.exports};var ne=/^(.+?\/)(\?\?)?(seajs\/)+/;w.base=(F.match(ne)||["",F])[1],w.dir=F,w.cwd=R,w.charset="utf-8",w.preload=function(){var e=[],t=location.search.replace(/(seajs-\w+)(&|$)/g,"$1=1$2");return t+=" "+I.cookie,t.replace(/(seajs-\w+)=1/g,function(t,n){e.push(n)}),e}(),x.config=function(e){for(var t in e){var n=e[t],r=w[t];if(r&&S(r))for(var i in n)r[i]=n[i];else C(r)?n=r.concat(n):"base"===t&&("/"!==n.slice(-1)&&(n+="/"),n=p(n)),w[t]=n}return N("config",e),x}}}(this),define("lazyload",[],function(e,t,n){var r=e("jquery");e("lib/jquery.lazyload"),n.exports=function(e,t){var n,i={effect:"fadeIn",effect_speed:10,placeholder:"data:image/gif;base64,R0lGODlhAQABAJEAAAAAAP///93d3f///yH5BAEAAAMALAAAAAABAAEAAAICVAEAOw==",skip_invisible:!1},o=arguments.length;!function(){switch(o){case 0:n=r("img.lazy");break;case 1:e instanceof r?n=e:(n=r("img.lazy"),r.extend(i,e));break;case 2:n=e,i=r.extend(i,t)}}(),n.lazyload(i)}}),define("jquery",[],function(e,t,n){!function(e,t){function r(e){var t=ge[e]={};return Z.each(e.split(ne),function(e,n){t[n]=!0}),t}function i(e,n,r){if(r===t&&1===e.nodeType){var i="data-"+n.replace(ve,"-$1").toLowerCase();if(r=e.getAttribute(i),"string"==typeof r){try{r="true"===r?!0:"false"===r?!1:"null"===r?null:+r+""===r?+r:me.test(r)?Z.parseJSON(r):r}catch(o){}Z.data(e,n,r)}else r=t}return r}function o(e){var t;for(t in e)if(("data"!==t||!Z.isEmptyObject(e[t]))&&"toJSON"!==t)return!1;return!0}function a(){return!1}function s(){return!0}function l(e){return!e||!e.parentNode||11===e.parentNode.nodeType}function u(e,t){do e=e[t];while(e&&1!==e.nodeType);return e}function c(e,t,n){if(t=t||0,Z.isFunction(t))return Z.grep(e,function(e,r){var i=!!t.call(e,r,e);return i===n});if(t.nodeType)return Z.grep(e,function(e,r){return e===t===n});if("string"==typeof t){var r=Z.grep(e,function(e){return 1===e.nodeType});if(Ie.test(t))return Z.filter(t,r,!n);t=Z.filter(t,r)}return Z.grep(e,function(e,r){return Z.inArray(e,t)>=0===n})}function p(e){var t=$e.split("|"),n=e.createDocumentFragment();if(n.createElement)for(;t.length;)n.createElement(t.pop());return n}function h(e,t){return e.getElementsByTagName(t)[0]||e.appendChild(e.ownerDocument.createElement(t))}function f(e,t){if(1===t.nodeType&&Z.hasData(e)){var n,r,i,o=Z._data(e),a=Z._data(t,o),s=o.events;if(s){delete a.handle,a.events={};for(n in s)for(r=0,i=s[n].length;i>r;r++)Z.event.add(t,n,s[n][r])}a.data&&(a.data=Z.extend({},a.data))}}function d(e,t){var n;1===t.nodeType&&(t.clearAttributes&&t.clearAttributes(),t.mergeAttributes&&t.mergeAttributes(e),n=t.nodeName.toLowerCase(),"object"===n?(t.parentNode&&(t.outerHTML=e.outerHTML),Z.support.html5Clone&&e.innerHTML&&!Z.trim(t.innerHTML)&&(t.innerHTML=e.innerHTML)):"input"===n&&Ke.test(e.type)?(t.defaultChecked=t.checked=e.checked,t.value!==e.value&&(t.value=e.value)):"option"===n?t.selected=e.defaultSelected:"input"===n||"textarea"===n?t.defaultValue=e.defaultValue:"script"===n&&t.text!==e.text&&(t.text=e.text),t.removeAttribute(Z.expando))}function g(e){return"undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName("*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll("*"):[]}function m(e){Ke.test(e.type)&&(e.defaultChecked=e.checked)}function v(e,t){if(t in e)return t;for(var n=t.charAt(0).toUpperCase()+t.slice(1),r=t,i=yt.length;i--;)if(t=yt[i]+n,t in e)return t;return r}function y(e,t){return e=t||e,"none"===Z.css(e,"display")||!Z.contains(e.ownerDocument,e)}function b(e,t){for(var n,r,i=[],o=0,a=e.length;a>o;o++)n=e[o],n.style&&(i[o]=Z._data(n,"olddisplay"),t?(i[o]||"none"!==n.style.display||(n.style.display=""),""===n.style.display&&y(n)&&(i[o]=Z._data(n,"olddisplay",k(n.nodeName)))):(r=rt(n,"display"),i[o]||"none"===r||Z._data(n,"olddisplay",r)));for(o=0;a>o;o++)n=e[o],n.style&&(t&&"none"!==n.style.display&&""!==n.style.display||(n.style.display=t?i[o]||"":"none"));return e}function x(e,t,n){var r=pt.exec(t);return r?Math.max(0,r[1]-(n||0))+(r[2]||"px"):t}function w(e,t,n,r){for(var i=n===(r?"border":"content")?4:"width"===t?1:0,o=0;4>i;i+=2)"margin"===n&&(o+=Z.css(e,n+vt[i],!0)),r?("content"===n&&(o-=parseFloat(rt(e,"padding"+vt[i]))||0),"margin"!==n&&(o-=parseFloat(rt(e,"border"+vt[i]+"Width"))||0)):(o+=parseFloat(rt(e,"padding"+vt[i]))||0,"padding"!==n&&(o+=parseFloat(rt(e,"border"+vt[i]+"Width"))||0));return o}function S(e,t,n){var r="width"===t?e.offsetWidth:e.offsetHeight,i=!0,o=Z.support.boxSizing&&"border-box"===Z.css(e,"boxSizing");if(0>=r||null==r){if(r=rt(e,t),(0>r||null==r)&&(r=e.style[t]),ht.test(r))return r;i=o&&(Z.support.boxSizingReliable||r===e.style[t]),r=parseFloat(r)||0}return r+w(e,t,n||(o?"border":"content"),i)+"px"}function k(e){if(dt[e])return dt[e];var t=Z("<"+e+">").appendTo(q.body),n=t.css("display");return t.remove(),"none"!==n&&""!==n||(it=q.body.appendChild(it||Z.extend(q.createElement("iframe"),{frameBorder:0,width:0,height:0})),ot&&it.createElement||(ot=(it.contentWindow||it.contentDocument).document,ot.write("<!doctype html><html><body>"),ot.close()),t=ot.body.appendChild(ot.createElement(e)),n=rt(t,"display"),q.body.removeChild(it)),dt[e]=n,n}function C(e,t,n,r){var i;if(Z.isArray(t))Z.each(t,function(t,i){n||wt.test(e)?r(e,i):C(e+"["+("object"==typeof i?t:"")+"]",i,n,r)});else if(n||"object"!==Z.type(t))r(e,t);else for(i in t)C(e+"["+i+"]",t[i],n,r)}function _(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var r,i,o,a=t.toLowerCase().split(ne),s=0,l=a.length;if(Z.isFunction(n))for(;l>s;s++)r=a[s],o=/^\+/.test(r),o&&(r=r.substr(1)||"*"),i=e[r]=e[r]||[],i[o?"unshift":"push"](n)}}function E(e,n,r,i,o,a){o=o||n.dataTypes[0],a=a||{},a[o]=!0;for(var s,l=e[o],u=0,c=l?l.length:0,p=e===It;c>u&&(p||!s);u++)s=l[u](n,r,i),"string"==typeof s&&(!p||a[s]?s=t:(n.dataTypes.unshift(s),s=E(e,n,r,i,s,a)));return!p&&s||a["*"]||(s=E(e,n,r,i,"*",a)),s}function A(e,n){var r,i,o=Z.ajaxSettings.flatOptions||{};for(r in n)n[r]!==t&&((o[r]?e:i||(i={}))[r]=n[r]);i&&Z.extend(!0,e,i)}function N(e,n,r){var i,o,a,s,l=e.contents,u=e.dataTypes,c=e.responseFields;for(o in c)o in r&&(n[c[o]]=r[o]);for(;"*"===u[0];)u.shift(),i===t&&(i=e.mimeType||n.getResponseHeader("content-type"));if(i)for(o in l)if(l[o]&&l[o].test(i)){u.unshift(o);break}if(u[0]in r)a=u[0];else{for(o in r){if(!u[0]||e.converters[o+" "+u[0]]){a=o;break}s||(s=o)}a=a||s}return a?(a!==u[0]&&u.unshift(a),r[a]):void 0}function T(e,t){var n,r,i,o,a=e.dataTypes.slice(),s=a[0],l={},u=0;if(e.dataFilter&&(t=e.dataFilter(t,e.dataType)),a[1])for(n in e.converters)l[n.toLowerCase()]=e.converters[n];for(;i=a[++u];)if("*"!==i){if("*"!==s&&s!==i){if(n=l[s+" "+i]||l["* "+i],!n)for(r in l)if(o=r.split(" "),o[1]===i&&(n=l[s+" "+o[0]]||l["* "+o[0]])){n===!0?n=l[r]:l[r]!==!0&&(i=o[0],a.splice(u--,0,i));break}if(n!==!0)if(n&&e["throws"])t=n(t);else try{t=n(t)}catch(c){return{state:"parsererror",error:n?c:"No conversion from "+s+" to "+i}}}s=i}return{state:"success",data:t}}function P(){try{return new e.XMLHttpRequest}catch(t){}}function L(){try{return new e.ActiveXObject("Microsoft.XMLHTTP")}catch(t){}}function j(){return setTimeout(function(){Xt=t},0),Xt=Z.now()}function O(e,t){Z.each(t,function(t,n){for(var r=(en[t]||[]).concat(en["*"]),i=0,o=r.length;o>i;i++)if(r[i].call(e,t,n))return})}function M(e,t,n){var r,i=0,o=Zt.length,a=Z.Deferred().always(function(){delete s.elem}),s=function(){for(var t=Xt||j(),n=Math.max(0,l.startTime+l.duration-t),r=n/l.duration||0,i=1-r,o=0,s=l.tweens.length;s>o;o++)l.tweens[o].run(i);return a.notifyWith(e,[l,i,n]),1>i&&s?n:(a.resolveWith(e,[l]),!1)},l=a.promise({elem:e,props:Z.extend({},t),opts:Z.extend(!0,{specialEasing:{}},n),originalProperties:t,originalOptions:n,startTime:Xt||j(),duration:n.duration,tweens:[],createTween:function(t,n,r){var i=Z.Tween(e,l.opts,t,n,l.opts.specialEasing[t]||l.opts.easing);return l.tweens.push(i),i},stop:function(t){for(var n=0,r=t?l.tweens.length:0;r>n;n++)l.tweens[n].run(1);return t?a.resolveWith(e,[l,t]):a.rejectWith(e,[l,t]),this}}),u=l.props;for(D(u,l.opts.specialEasing);o>i;i++)if(r=Zt[i].call(l,e,u,l.opts))return r;return O(l,u),Z.isFunction(l.opts.start)&&l.opts.start.call(e,l),Z.fx.timer(Z.extend(s,{anim:l,queue:l.opts.queue,elem:e})),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always)}function D(e,t){var n,r,i,o,a;for(n in e)if(r=Z.camelCase(n),i=t[r],o=e[n],Z.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),a=Z.cssHooks[r],a&&"expand"in a){o=a.expand(o),delete e[r];for(n in o)n in e||(e[n]=o[n],t[n]=i)}else t[r]=i}function H(e,t,n){var r,i,o,a,s,l,u,c,p,h=this,f=e.style,d={},g=[],m=e.nodeType&&y(e);n.queue||(c=Z._queueHooks(e,"fx"),null==c.unqueued&&(c.unqueued=0,p=c.empty.fire,c.empty.fire=function(){c.unqueued||p()}),c.unqueued++,h.always(function(){h.always(function(){c.unqueued--,Z.queue(e,"fx").length||c.empty.fire()})})),1===e.nodeType&&("height"in t||"width"in t)&&(n.overflow=[f.overflow,f.overflowX,f.overflowY],"inline"===Z.css(e,"display")&&"none"===Z.css(e,"float")&&(Z.support.inlineBlockNeedsLayout&&"inline"!==k(e.nodeName)?f.zoom=1:f.display="inline-block")),n.overflow&&(f.overflow="hidden",Z.support.shrinkWrapBlocks||h.done(function(){f.overflow=n.overflow[0],f.overflowX=n.overflow[1],f.overflowY=n.overflow[2]}));for(r in t)if(o=t[r],Kt.exec(o)){if(delete t[r],l=l||"toggle"===o,o===(m?"hide":"show"))continue;g.push(r)}if(a=g.length){s=Z._data(e,"fxshow")||Z._data(e,"fxshow",{}),"hidden"in s&&(m=s.hidden),l&&(s.hidden=!m),m?Z(e).show():h.done(function(){Z(e).hide()}),h.done(function(){var t;Z.removeData(e,"fxshow",!0);for(t in d)Z.style(e,t,d[t])});for(r=0;a>r;r++)i=g[r],u=h.createTween(i,m?s[i]:0),d[i]=s[i]||Z.style(e,i),i in s||(s[i]=u.start,m&&(u.end=u.start,u.start="width"===i||"height"===i?1:0))}}function I(e,t,n,r,i){return new I.prototype.init(e,t,n,r,i)}function R(e,t){var n,r={height:e},i=0;for(t=t?1:0;4>i;i+=2-t)n=vt[i],r["margin"+n]=r["padding"+n]=e;return t&&(r.opacity=r.width=e),r}function B(e){return Z.isWindow(e)?e:9===e.nodeType?e.defaultView||e.parentWindow:!1}var $,F,q=e.document,W=e.location,U=e.navigator,z=e.jQuery,V=e.$,G=Array.prototype.push,X=Array.prototype.slice,J=Array.prototype.indexOf,K=Object.prototype.toString,Y=Object.prototype.hasOwnProperty,Q=String.prototype.trim,Z=function(e,t){return new Z.fn.init(e,t,$)},ee=/[\-+]?(?:\d*\.|)\d+(?:[eE][\-+]?\d+|)/.source,te=/\S/,ne=/\s+/,re=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,ie=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,oe=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,ae=/^[\],:{}\s]*$/,se=/(?:^|:|,)(?:\s*\[)+/g,le=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,ue=/"[^"\\\r\n]*"|true|false|null|-?(?:\d\d*\.|)\d+(?:[eE][\-+]?\d+|)/g,ce=/^-ms-/,pe=/-([\da-z])/gi,he=function(e,t){return(t+"").toUpperCase()},fe=function(){q.addEventListener?(q.removeEventListener("DOMContentLoaded",fe,!1),Z.ready()):"complete"===q.readyState&&(q.detachEvent("onreadystatechange",fe),Z.ready())},de={};Z.fn=Z.prototype={constructor:Z,init:function(e,n,r){var i,o,a;if(!e)return this;if(e.nodeType)return this.context=this[0]=e,this.length=1,this;if("string"==typeof e){if(i="<"===e.charAt(0)&&">"===e.charAt(e.length-1)&&e.length>=3?[null,e,null]:ie.exec(e),!i||!i[1]&&n)return!n||n.jquery?(n||r).find(e):this.constructor(n).find(e);if(i[1])return n=n instanceof Z?n[0]:n,a=n&&n.nodeType?n.ownerDocument||n:q,e=Z.parseHTML(i[1],a,!0),oe.test(i[1])&&Z.isPlainObject(n)&&this.attr.call(e,n,!0),Z.merge(this,e);if(o=q.getElementById(i[2]),o&&o.parentNode){if(o.id!==i[2])return r.find(e);this.length=1,this[0]=o}return this.context=q,this.selector=e,this}return Z.isFunction(e)?r.ready(e):(e.selector!==t&&(this.selector=e.selector,this.context=e.context),Z.makeArray(e,this))},selector:"",jquery:"1.8.3",length:0,size:function(){return this.length},toArray:function(){return X.call(this)},get:function(e){return null==e?this.toArray():0>e?this[this.length+e]:this[e]},pushStack:function(e,t,n){var r=Z.merge(this.constructor(),e);return r.prevObject=this,r.context=this.context,"find"===t?r.selector=this.selector+(this.selector?" ":"")+n:t&&(r.selector=this.selector+"."+t+"("+n+")"),r},each:function(e,t){return Z.each(this,e,t)},ready:function(e){return Z.ready.promise().done(e),this},eq:function(e){return e=+e,-1===e?this.slice(e):this.slice(e,e+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(X.apply(this,arguments),"slice",X.call(arguments).join(","))},map:function(e){return this.pushStack(Z.map(this,function(t,n){return e.call(t,n,t)}))},end:function(){return this.prevObject||this.constructor(null)},push:G,sort:[].sort,splice:[].splice},Z.fn.init.prototype=Z.fn,Z.extend=Z.fn.extend=function(){var e,n,r,i,o,a,s=arguments[0]||{},l=1,u=arguments.length,c=!1;for("boolean"==typeof s&&(c=s,s=arguments[1]||{},l=2),"object"==typeof s||Z.isFunction(s)||(s={}),u===l&&(s=this,--l);u>l;l++)if(null!=(e=arguments[l]))for(n in e)r=s[n],i=e[n],s!==i&&(c&&i&&(Z.isPlainObject(i)||(o=Z.isArray(i)))?(o?(o=!1,a=r&&Z.isArray(r)?r:[]):a=r&&Z.isPlainObject(r)?r:{},s[n]=Z.extend(c,a,i)):i!==t&&(s[n]=i));return s},Z.extend({noConflict:function(t){return e.$===Z&&(e.$=V),t&&e.jQuery===Z&&(e.jQuery=z),Z},isReady:!1,readyWait:1,holdReady:function(e){e?Z.readyWait++:Z.ready(!0)},ready:function(e){if(e===!0?!--Z.readyWait:!Z.isReady){if(!q.body)return setTimeout(Z.ready,1);Z.isReady=!0,e!==!0&&--Z.readyWait>0||(F.resolveWith(q,[Z]),Z.fn.trigger&&Z(q).trigger("ready").off("ready"))}},isFunction:function(e){return"function"===Z.type(e)},isArray:Array.isArray||function(e){return"array"===Z.type(e)},isWindow:function(e){return null!=e&&e==e.window},isNumeric:function(e){return!isNaN(parseFloat(e))&&isFinite(e)},type:function(e){return null==e?String(e):de[K.call(e)]||"object"},isPlainObject:function(e){if(!e||"object"!==Z.type(e)||e.nodeType||Z.isWindow(e))return!1;try{if(e.constructor&&!Y.call(e,"constructor")&&!Y.call(e.constructor.prototype,"isPrototypeOf"))return!1}catch(n){return!1}var r;for(r in e);return r===t||Y.call(e,r)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},error:function(e){throw new Error(e)},parseHTML:function(e,t,n){var r;return e&&"string"==typeof e?("boolean"==typeof t&&(n=t,t=0),t=t||q,(r=oe.exec(e))?[t.createElement(r[1])]:(r=Z.buildFragment([e],t,n?null:[]),Z.merge([],(r.cacheable?Z.clone(r.fragment):r.fragment).childNodes))):null},parseJSON:function(t){return t&&"string"==typeof t?(t=Z.trim(t),e.JSON&&e.JSON.parse?e.JSON.parse(t):ae.test(t.replace(le,"@").replace(ue,"]").replace(se,""))?new Function("return "+t)():void Z.error("Invalid JSON: "+t)):null},parseXML:function(n){var r,i;if(!n||"string"!=typeof n)return null;try{e.DOMParser?(i=new DOMParser,r=i.parseFromString(n,"text/xml")):(r=new ActiveXObject("Microsoft.XMLDOM"),r.async="false",r.loadXML(n))}catch(o){r=t}return r&&r.documentElement&&!r.getElementsByTagName("parsererror").length||Z.error("Invalid XML: "+n),r},noop:function(){},globalEval:function(t){t&&te.test(t)&&(e.execScript||function(t){e.eval.call(e,t)})(t)},camelCase:function(e){return e.replace(ce,"ms-").replace(pe,he)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,n,r){var i,o=0,a=e.length,s=a===t||Z.isFunction(e);if(r)if(s){for(i in e)if(n.apply(e[i],r)===!1)break}else for(;a>o&&n.apply(e[o++],r)!==!1;);else if(s){for(i in e)if(n.call(e[i],i,e[i])===!1)break}else for(;a>o&&n.call(e[o],o,e[o++])!==!1;);return e},trim:Q&&!Q.call("\ufeff ")?function(e){return null==e?"":Q.call(e)}:function(e){return null==e?"":(e+"").replace(re,"")},makeArray:function(e,t){var n,r=t||[];return null!=e&&(n=Z.type(e),null==e.length||"string"===n||"function"===n||"regexp"===n||Z.isWindow(e)?G.call(r,e):Z.merge(r,e)),r},inArray:function(e,t,n){var r;if(t){if(J)return J.call(t,e,n);for(r=t.length,n=n?0>n?Math.max(0,r+n):n:0;r>n;n++)if(n in t&&t[n]===e)return n}return-1},merge:function(e,n){var r=n.length,i=e.length,o=0;if("number"==typeof r)for(;r>o;o++)e[i++]=n[o];else for(;n[o]!==t;)e[i++]=n[o++];return e.length=i,e},grep:function(e,t,n){var r,i=[],o=0,a=e.length;for(n=!!n;a>o;o++)r=!!t(e[o],o),n!==r&&i.push(e[o]);return i},map:function(e,n,r){var i,o,a=[],s=0,l=e.length,u=e instanceof Z||l!==t&&"number"==typeof l&&(l>0&&e[0]&&e[l-1]||0===l||Z.isArray(e));if(u)for(;l>s;s++)i=n(e[s],s,r),null!=i&&(a[a.length]=i);else for(o in e)i=n(e[o],o,r),null!=i&&(a[a.length]=i);return a.concat.apply([],a)},guid:1,proxy:function(e,n){var r,i,o;return"string"==typeof n&&(r=e[n],n=e,e=r),Z.isFunction(e)?(i=X.call(arguments,2),o=function(){return e.apply(n,i.concat(X.call(arguments)))},o.guid=e.guid=e.guid||Z.guid++,o):t},access:function(e,n,r,i,o,a,s){var l,u=null==r,c=0,p=e.length;if(r&&"object"==typeof r){for(c in r)Z.access(e,n,c,r[c],1,a,i);o=1}else if(i!==t){if(l=s===t&&Z.isFunction(i),u&&(l?(l=n,n=function(e,t,n){return l.call(Z(e),n)}):(n.call(e,i),n=null)),n)for(;p>c;c++)n(e[c],r,l?i.call(e[c],c,n(e[c],r)):i,s);o=1}return o?e:u?n.call(e):p?n(e[0],r):a},now:function(){return(new Date).getTime()}}),Z.ready.promise=function(t){if(!F)if(F=Z.Deferred(),"complete"===q.readyState)setTimeout(Z.ready,1);else if(q.addEventListener)q.addEventListener("DOMContentLoaded",fe,!1),e.addEventListener("load",Z.ready,!1);else{q.attachEvent("onreadystatechange",fe),e.attachEvent("onload",Z.ready);var n=!1;try{n=null==e.frameElement&&q.documentElement}catch(r){}n&&n.doScroll&&!function i(){if(!Z.isReady){try{n.doScroll("left")}catch(e){return setTimeout(i,50)}Z.ready()}}()}return F.promise(t)},Z.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(e,t){de["[object "+t+"]"]=t.toLowerCase()}),$=Z(q);var ge={};Z.Callbacks=function(e){e="string"==typeof e?ge[e]||r(e):Z.extend({},e);var n,i,o,a,s,l,u=[],c=!e.once&&[],p=function(t){for(n=e.memory&&t,i=!0,l=a||0,a=0,s=u.length,o=!0;u&&s>l;l++)if(u[l].apply(t[0],t[1])===!1&&e.stopOnFalse){n=!1;break}o=!1,u&&(c?c.length&&p(c.shift()):n?u=[]:h.disable())},h={add:function(){if(u){var t=u.length;!function r(t){Z.each(t,function(t,n){var i=Z.type(n);"function"===i?e.unique&&h.has(n)||u.push(n):n&&n.length&&"string"!==i&&r(n)})}(arguments),o?s=u.length:n&&(a=t,p(n))}return this},remove:function(){return u&&Z.each(arguments,function(e,t){for(var n;(n=Z.inArray(t,u,n))>-1;)u.splice(n,1),o&&(s>=n&&s--,l>=n&&l--)}),this},has:function(e){return Z.inArray(e,u)>-1},empty:function(){return u=[],this},disable:function(){return u=c=n=t,this},disabled:function(){return!u},lock:function(){return c=t,n||h.disable(),this},locked:function(){return!c},fireWith:function(e,t){return t=t||[],t=[e,t.slice?t.slice():t],!u||i&&!c||(o?c.push(t):p(t)),this},fire:function(){return h.fireWith(this,arguments),this},fired:function(){return!!i}};return h},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")]],n="pending",r={state:function(){return n},always:function(){return i.done(arguments).fail(arguments),this},then:function(){var e=arguments;return Z.Deferred(function(n){Z.each(t,function(t,r){var o=r[0],a=e[t];i[r[1]](Z.isFunction(a)?function(){var e=a.apply(this,arguments);e&&Z.isFunction(e.promise)?e.promise().done(n.resolve).fail(n.reject).progress(n.notify):n[o+"With"](this===i?n:this,[e])}:n[o])}),e=null}).promise()},promise:function(e){return null!=e?Z.extend(e,r):r}},i={};return r.pipe=r.then,Z.each(t,function(e,o){var a=o[2],s=o[3];r[o[1]]=a.add,s&&a.add(function(){n=s},t[1^e][2].disable,t[2][2].lock),i[o[0]]=a.fire,i[o[0]+"With"]=a.fireWith}),r.promise(i),e&&e.call(i,i),i},when:function(e){var t,n,r,i=0,o=X.call(arguments),a=o.length,s=1!==a||e&&Z.isFunction(e.promise)?a:0,l=1===s?e:Z.Deferred(),u=function(e,n,r){return function(i){n[e]=this,r[e]=arguments.length>1?X.call(arguments):i,r===t?l.notifyWith(n,r):--s||l.resolveWith(n,r)}};if(a>1)for(t=new Array(a),n=new Array(a),r=new Array(a);a>i;i++)o[i]&&Z.isFunction(o[i].promise)?o[i].promise().done(u(i,r,o)).fail(l.reject).progress(u(i,n,t)):--s;return s||l.resolveWith(r,o),l.promise()}}),Z.support=function(){var t,n,r,i,o,a,s,l,u,c,p,h=q.createElement("div");if(h.setAttribute("className","t"),h.innerHTML="  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",n=h.getElementsByTagName("*"),r=h.getElementsByTagName("a")[0],!n||!r||!n.length)return{};i=q.createElement("select"),o=i.appendChild(q.createElement("option")),a=h.getElementsByTagName("input")[0],r.style.cssText="top:1px;float:left;opacity:.5",t={leadingWhitespace:3===h.firstChild.nodeType,tbody:!h.getElementsByTagName("tbody").length,htmlSerialize:!!h.getElementsByTagName("link").length,style:/top/.test(r.getAttribute("style")),hrefNormalized:"/a"===r.getAttribute("href"),opacity:/^0.5/.test(r.style.opacity),cssFloat:!!r.style.cssFloat,checkOn:"on"===a.value,optSelected:o.selected,getSetAttribute:"t"!==h.className,enctype:!!q.createElement("form").enctype,html5Clone:"<:nav></:nav>"!==q.createElement("nav").cloneNode(!0).outerHTML,boxModel:"CSS1Compat"===q.compatMode,submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0,boxSizingReliable:!0,pixelPosition:!1},a.checked=!0,t.noCloneChecked=a.cloneNode(!0).checked,i.disabled=!0,t.optDisabled=!o.disabled;try{delete h.test}catch(f){t.deleteExpando=!1}if(!h.addEventListener&&h.attachEvent&&h.fireEvent&&(h.attachEvent("onclick",p=function(){t.noCloneEvent=!1}),h.cloneNode(!0).fireEvent("onclick"),h.detachEvent("onclick",p)),a=q.createElement("input"),a.value="t",a.setAttribute("type","radio"),t.radioValue="t"===a.value,a.setAttribute("checked","checked"),a.setAttribute("name","t"),h.appendChild(a),s=q.createDocumentFragment(),s.appendChild(h.lastChild),t.checkClone=s.cloneNode(!0).cloneNode(!0).lastChild.checked,t.appendChecked=a.checked,s.removeChild(a),s.appendChild(h),h.attachEvent)for(u in{submit:!0,change:!0,focusin:!0})l="on"+u,c=l in h,c||(h.setAttribute(l,"return;"),c="function"==typeof h[l]),t[u+"Bubbles"]=c;return Z(function(){var n,r,i,o,a="padding:0;margin:0;border:0;display:block;overflow:hidden;",s=q.getElementsByTagName("body")[0];s&&(n=q.createElement("div"),n.style.cssText="visibility:hidden;border:0;width:0;height:0;position:static;top:0;margin-top:1px",s.insertBefore(n,s.firstChild),r=q.createElement("div"),n.appendChild(r),r.innerHTML="<table><tr><td></td><td>t</td></tr></table>",i=r.getElementsByTagName("td"),i[0].style.cssText="padding:0;margin:0;border:0;display:none",c=0===i[0].offsetHeight,i[0].style.display="",i[1].style.display="none",t.reliableHiddenOffsets=c&&0===i[0].offsetHeight,r.innerHTML="",r.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;",t.boxSizing=4===r.offsetWidth,t.doesNotIncludeMarginInBodyOffset=1!==s.offsetTop,e.getComputedStyle&&(t.pixelPosition="1%"!==(e.getComputedStyle(r,null)||{}).top,t.boxSizingReliable="4px"===(e.getComputedStyle(r,null)||{width:"4px"}).width,o=q.createElement("div"),o.style.cssText=r.style.cssText=a,o.style.marginRight=o.style.width="0",r.style.width="1px",r.appendChild(o),t.reliableMarginRight=!parseFloat((e.getComputedStyle(o,null)||{}).marginRight)),"undefined"!=typeof r.style.zoom&&(r.innerHTML="",r.style.cssText=a+"width:1px;padding:1px;display:inline;zoom:1",t.inlineBlockNeedsLayout=3===r.offsetWidth,r.style.display="block",r.style.overflow="visible",r.innerHTML="<div></div>",r.firstChild.style.width="5px",t.shrinkWrapBlocks=3!==r.offsetWidth,n.style.zoom=1),s.removeChild(n),n=r=i=o=null)}),s.removeChild(h),n=r=i=o=a=s=h=null,t}();var me=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,ve=/([A-Z])/g;Z.extend({cache:{},deletedIds:[],uuid:0,expando:"jQuery"+(Z.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(e){return e=e.nodeType?Z.cache[e[Z.expando]]:e[Z.expando],!!e&&!o(e)},data:function(e,n,r,i){if(Z.acceptData(e)){var o,a,s=Z.expando,l="string"==typeof n,u=e.nodeType,c=u?Z.cache:e,p=u?e[s]:e[s]&&s;if(p&&c[p]&&(i||c[p].data)||!l||r!==t)return p||(u?e[s]=p=Z.deletedIds.pop()||Z.guid++:p=s),c[p]||(c[p]={},u||(c[p].toJSON=Z.noop)),"object"!=typeof n&&"function"!=typeof n||(i?c[p]=Z.extend(c[p],n):c[p].data=Z.extend(c[p].data,n)),o=c[p],i||(o.data||(o.data={}),o=o.data),r!==t&&(o[Z.camelCase(n)]=r),l?(a=o[n],null==a&&(a=o[Z.camelCase(n)])):a=o,a}},removeData:function(e,t,n){if(Z.acceptData(e)){var r,i,a,s=e.nodeType,l=s?Z.cache:e,u=s?e[Z.expando]:Z.expando;if(l[u]){if(t&&(r=n?l[u]:l[u].data)){Z.isArray(t)||(t in r?t=[t]:(t=Z.camelCase(t),t=t in r?[t]:t.split(" ")));for(i=0,a=t.length;a>i;i++)delete r[t[i]];if(!(n?o:Z.isEmptyObject)(r))return}(n||(delete l[u].data,o(l[u])))&&(s?Z.cleanData([e],!0):Z.support.deleteExpando||l!=l.window?delete l[u]:l[u]=null)}}},_data:function(e,t,n){return Z.data(e,t,n,!0)},acceptData:function(e){var t=e.nodeName&&Z.noData[e.nodeName.toLowerCase()];return!t||t!==!0&&e.getAttribute("classid")===t}}),Z.fn.extend({data:function(e,n){var r,o,a,s,l,u=this[0],c=0,p=null;if(e===t){if(this.length&&(p=Z.data(u),1===u.nodeType&&!Z._data(u,"parsedAttrs"))){for(a=u.attributes,l=a.length;l>c;c++)s=a[c].name,s.indexOf("data-")||(s=Z.camelCase(s.substring(5)),i(u,s,p[s]));Z._data(u,"parsedAttrs",!0)}return p}return"object"==typeof e?this.each(function(){Z.data(this,e)}):(r=e.split(".",2),r[1]=r[1]?"."+r[1]:"",o=r[1]+"!",Z.access(this,function(n){return n===t?(p=this.triggerHandler("getData"+o,[r[0]]),p===t&&u&&(p=Z.data(u,e),p=i(u,e,p)),p===t&&r[1]?this.data(r[0]):p):(r[1]=n,void this.each(function(){var t=Z(this);t.triggerHandler("setData"+o,r),Z.data(this,e,n),t.triggerHandler("changeData"+o,r);
+}))},null,n,arguments.length>1,null,!1))},removeData:function(e){return this.each(function(){Z.removeData(this,e)})}}),Z.extend({queue:function(e,t,n){var r;return e?(t=(t||"fx")+"queue",r=Z._data(e,t),n&&(!r||Z.isArray(n)?r=Z._data(e,t,Z.makeArray(n)):r.push(n)),r||[]):void 0},dequeue:function(e,t){t=t||"fx";var n=Z.queue(e,t),r=n.length,i=n.shift(),o=Z._queueHooks(e,t),a=function(){Z.dequeue(e,t)};"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,a,o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return Z._data(e,n)||Z._data(e,n,{empty:Z.Callbacks("once memory").add(function(){Z.removeData(e,t+"queue",!0),Z.removeData(e,n,!0)})})}}),Z.fn.extend({queue:function(e,n){var r=2;return"string"!=typeof e&&(n=e,e="fx",r--),arguments.length<r?Z.queue(this[0],e):n===t?this:this.each(function(){var t=Z.queue(this,e,n);Z._queueHooks(this,e),"fx"===e&&"inprogress"!==t[0]&&Z.dequeue(this,e)})},dequeue:function(e){return this.each(function(){Z.dequeue(this,e)})},delay:function(e,t){return e=Z.fx?Z.fx.speeds[e]||e:e,t=t||"fx",this.queue(t,function(t,n){var r=setTimeout(t,e);n.stop=function(){clearTimeout(r)}})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,n){var r,i=1,o=Z.Deferred(),a=this,s=this.length,l=function(){--i||o.resolveWith(a,[a])};for("string"!=typeof e&&(n=e,e=t),e=e||"fx";s--;)r=Z._data(a[s],e+"queueHooks"),r&&r.empty&&(i++,r.empty.add(l));return l(),o.promise(n)}});var ye,be,xe,we=/[\t\r\n]/g,Se=/\r/g,ke=/^(?:button|input)$/i,Ce=/^(?:button|input|object|select|textarea)$/i,_e=/^a(?:rea|)$/i,Ee=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,Ae=Z.support.getSetAttribute;Z.fn.extend({attr:function(e,t){return Z.access(this,Z.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){Z.removeAttr(this,e)})},prop:function(e,t){return Z.access(this,Z.prop,e,t,arguments.length>1)},removeProp:function(e){return e=Z.propFix[e]||e,this.each(function(){try{this[e]=t,delete this[e]}catch(n){}})},addClass:function(e){var t,n,r,i,o,a,s;if(Z.isFunction(e))return this.each(function(t){Z(this).addClass(e.call(this,t,this.className))});if(e&&"string"==typeof e)for(t=e.split(ne),n=0,r=this.length;r>n;n++)if(i=this[n],1===i.nodeType)if(i.className||1!==t.length){for(o=" "+i.className+" ",a=0,s=t.length;s>a;a++)o.indexOf(" "+t[a]+" ")<0&&(o+=t[a]+" ");i.className=Z.trim(o)}else i.className=e;return this},removeClass:function(e){var n,r,i,o,a,s,l;if(Z.isFunction(e))return this.each(function(t){Z(this).removeClass(e.call(this,t,this.className))});if(e&&"string"==typeof e||e===t)for(n=(e||"").split(ne),s=0,l=this.length;l>s;s++)if(i=this[s],1===i.nodeType&&i.className){for(r=(" "+i.className+" ").replace(we," "),o=0,a=n.length;a>o;o++)for(;r.indexOf(" "+n[o]+" ")>=0;)r=r.replace(" "+n[o]+" "," ");i.className=e?Z.trim(r):""}return this},toggleClass:function(e,t){var n=typeof e,r="boolean"==typeof t;return Z.isFunction(e)?this.each(function(n){Z(this).toggleClass(e.call(this,n,this.className,t),t)}):this.each(function(){if("string"===n)for(var i,o=0,a=Z(this),s=t,l=e.split(ne);i=l[o++];)s=r?s:!a.hasClass(i),a[s?"addClass":"removeClass"](i);else"undefined"!==n&&"boolean"!==n||(this.className&&Z._data(this,"__className__",this.className),this.className=this.className||e===!1?"":Z._data(this,"__className__")||"")})},hasClass:function(e){for(var t=" "+e+" ",n=0,r=this.length;r>n;n++)if(1===this[n].nodeType&&(" "+this[n].className+" ").replace(we," ").indexOf(t)>=0)return!0;return!1},val:function(e){var n,r,i,o=this[0];{if(arguments.length)return i=Z.isFunction(e),this.each(function(r){var o,a=Z(this);1===this.nodeType&&(o=i?e.call(this,r,a.val()):e,null==o?o="":"number"==typeof o?o+="":Z.isArray(o)&&(o=Z.map(o,function(e){return null==e?"":e+""})),n=Z.valHooks[this.type]||Z.valHooks[this.nodeName.toLowerCase()],n&&"set"in n&&n.set(this,o,"value")!==t||(this.value=o))});if(o)return n=Z.valHooks[o.type]||Z.valHooks[o.nodeName.toLowerCase()],n&&"get"in n&&(r=n.get(o,"value"))!==t?r:(r=o.value,"string"==typeof r?r.replace(Se,""):null==r?"":r)}}}),Z.extend({valHooks:{option:{get:function(e){var t=e.attributes.value;return!t||t.specified?e.value:e.text}},select:{get:function(e){for(var t,n,r=e.options,i=e.selectedIndex,o="select-one"===e.type||0>i,a=o?null:[],s=o?i+1:r.length,l=0>i?s:o?i:0;s>l;l++)if(n=r[l],(n.selected||l===i)&&(Z.support.optDisabled?!n.disabled:null===n.getAttribute("disabled"))&&(!n.parentNode.disabled||!Z.nodeName(n.parentNode,"optgroup"))){if(t=Z(n).val(),o)return t;a.push(t)}return a},set:function(e,t){var n=Z.makeArray(t);return Z(e).find("option").each(function(){this.selected=Z.inArray(Z(this).val(),n)>=0}),n.length||(e.selectedIndex=-1),n}}},attrFn:{},attr:function(e,n,r,i){var o,a,s,l=e.nodeType;if(e&&3!==l&&8!==l&&2!==l)return i&&Z.isFunction(Z.fn[n])?Z(e)[n](r):"undefined"==typeof e.getAttribute?Z.prop(e,n,r):(s=1!==l||!Z.isXMLDoc(e),s&&(n=n.toLowerCase(),a=Z.attrHooks[n]||(Ee.test(n)?be:ye)),r!==t?null===r?void Z.removeAttr(e,n):a&&"set"in a&&s&&(o=a.set(e,r,n))!==t?o:(e.setAttribute(n,r+""),r):a&&"get"in a&&s&&null!==(o=a.get(e,n))?o:(o=e.getAttribute(n),null===o?t:o))},removeAttr:function(e,t){var n,r,i,o,a=0;if(t&&1===e.nodeType)for(r=t.split(ne);a<r.length;a++)i=r[a],i&&(n=Z.propFix[i]||i,o=Ee.test(i),o||Z.attr(e,i,""),e.removeAttribute(Ae?i:n),o&&n in e&&(e[n]=!1))},attrHooks:{type:{set:function(e,t){if(ke.test(e.nodeName)&&e.parentNode)Z.error("type property can't be changed");else if(!Z.support.radioValue&&"radio"===t&&Z.nodeName(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}},value:{get:function(e,t){return ye&&Z.nodeName(e,"button")?ye.get(e,t):t in e?e.value:null},set:function(e,t,n){return ye&&Z.nodeName(e,"button")?ye.set(e,t,n):void(e.value=t)}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(e,n,r){var i,o,a,s=e.nodeType;if(e&&3!==s&&8!==s&&2!==s)return a=1!==s||!Z.isXMLDoc(e),a&&(n=Z.propFix[n]||n,o=Z.propHooks[n]),r!==t?o&&"set"in o&&(i=o.set(e,r,n))!==t?i:e[n]=r:o&&"get"in o&&null!==(i=o.get(e,n))?i:e[n]},propHooks:{tabIndex:{get:function(e){var n=e.getAttributeNode("tabindex");return n&&n.specified?parseInt(n.value,10):Ce.test(e.nodeName)||_e.test(e.nodeName)&&e.href?0:t}}}}),be={get:function(e,n){var r,i=Z.prop(e,n);return i===!0||"boolean"!=typeof i&&(r=e.getAttributeNode(n))&&r.nodeValue!==!1?n.toLowerCase():t},set:function(e,t,n){var r;return t===!1?Z.removeAttr(e,n):(r=Z.propFix[n]||n,r in e&&(e[r]=!0),e.setAttribute(n,n.toLowerCase())),n}},Ae||(xe={name:!0,id:!0,coords:!0},ye=Z.valHooks.button={get:function(e,n){var r;return r=e.getAttributeNode(n),r&&(xe[n]?""!==r.value:r.specified)?r.value:t},set:function(e,t,n){var r=e.getAttributeNode(n);return r||(r=q.createAttribute(n),e.setAttributeNode(r)),r.value=t+""}},Z.each(["width","height"],function(e,t){Z.attrHooks[t]=Z.extend(Z.attrHooks[t],{set:function(e,n){return""===n?(e.setAttribute(t,"auto"),n):void 0}})}),Z.attrHooks.contenteditable={get:ye.get,set:function(e,t,n){""===t&&(t="false"),ye.set(e,t,n)}}),Z.support.hrefNormalized||Z.each(["href","src","width","height"],function(e,n){Z.attrHooks[n]=Z.extend(Z.attrHooks[n],{get:function(e){var r=e.getAttribute(n,2);return null===r?t:r}})}),Z.support.style||(Z.attrHooks.style={get:function(e){return e.style.cssText.toLowerCase()||t},set:function(e,t){return e.style.cssText=t+""}}),Z.support.optSelected||(Z.propHooks.selected=Z.extend(Z.propHooks.selected,{get:function(e){var t=e.parentNode;return t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex),null}})),Z.support.enctype||(Z.propFix.enctype="encoding"),Z.support.checkOn||Z.each(["radio","checkbox"],function(){Z.valHooks[this]={get:function(e){return null===e.getAttribute("value")?"on":e.value}}}),Z.each(["radio","checkbox"],function(){Z.valHooks[this]=Z.extend(Z.valHooks[this],{set:function(e,t){return Z.isArray(t)?e.checked=Z.inArray(Z(e).val(),t)>=0:void 0}})});var Ne=/^(?:textarea|input|select)$/i,Te=/^([^\.]*|)(?:\.(.+)|)$/,Pe=/(?:^|\s)hover(\.\S+|)\b/,Le=/^key/,je=/^(?:mouse|contextmenu)|click/,Oe=/^(?:focusinfocus|focusoutblur)$/,Me=function(e){return Z.event.special.hover?e:e.replace(Pe,"mouseenter$1 mouseleave$1")};Z.event={add:function(e,n,r,i,o){var a,s,l,u,c,p,h,f,d,g,m;if(3!==e.nodeType&&8!==e.nodeType&&n&&r&&(a=Z._data(e))){for(r.handler&&(d=r,r=d.handler,o=d.selector),r.guid||(r.guid=Z.guid++),l=a.events,l||(a.events=l={}),s=a.handle,s||(a.handle=s=function(e){return"undefined"==typeof Z||e&&Z.event.triggered===e.type?t:Z.event.dispatch.apply(s.elem,arguments)},s.elem=e),n=Z.trim(Me(n)).split(" "),u=0;u<n.length;u++)c=Te.exec(n[u])||[],p=c[1],h=(c[2]||"").split(".").sort(),m=Z.event.special[p]||{},p=(o?m.delegateType:m.bindType)||p,m=Z.event.special[p]||{},f=Z.extend({type:p,origType:c[1],data:i,handler:r,guid:r.guid,selector:o,needsContext:o&&Z.expr.match.needsContext.test(o),namespace:h.join(".")},d),g=l[p],g||(g=l[p]=[],g.delegateCount=0,m.setup&&m.setup.call(e,i,h,s)!==!1||(e.addEventListener?e.addEventListener(p,s,!1):e.attachEvent&&e.attachEvent("on"+p,s))),m.add&&(m.add.call(e,f),f.handler.guid||(f.handler.guid=r.guid)),o?g.splice(g.delegateCount++,0,f):g.push(f),Z.event.global[p]=!0;e=null}},global:{},remove:function(e,t,n,r,i){var o,a,s,l,u,c,p,h,f,d,g,m=Z.hasData(e)&&Z._data(e);if(m&&(h=m.events)){for(t=Z.trim(Me(t||"")).split(" "),o=0;o<t.length;o++)if(a=Te.exec(t[o])||[],s=l=a[1],u=a[2],s){for(f=Z.event.special[s]||{},s=(r?f.delegateType:f.bindType)||s,d=h[s]||[],c=d.length,u=u?new RegExp("(^|\\.)"+u.split(".").sort().join("\\.(?:.*\\.|)")+"(\\.|$)"):null,p=0;p<d.length;p++)g=d[p],!i&&l!==g.origType||n&&n.guid!==g.guid||u&&!u.test(g.namespace)||r&&r!==g.selector&&("**"!==r||!g.selector)||(d.splice(p--,1),g.selector&&d.delegateCount--,f.remove&&f.remove.call(e,g));0===d.length&&c!==d.length&&(f.teardown&&f.teardown.call(e,u,m.handle)!==!1||Z.removeEvent(e,s,m.handle),delete h[s])}else for(s in h)Z.event.remove(e,s+t[o],n,r,!0);Z.isEmptyObject(h)&&(delete m.handle,Z.removeData(e,"events",!0))}},customEvent:{getData:!0,setData:!0,changeData:!0},trigger:function(n,r,i,o){if(!i||3!==i.nodeType&&8!==i.nodeType){var a,s,l,u,c,p,h,f,d,g,m=n.type||n,v=[];if(!Oe.test(m+Z.event.triggered)&&(m.indexOf("!")>=0&&(m=m.slice(0,-1),s=!0),m.indexOf(".")>=0&&(v=m.split("."),m=v.shift(),v.sort()),i&&!Z.event.customEvent[m]||Z.event.global[m]))if(n="object"==typeof n?n[Z.expando]?n:new Z.Event(m,n):new Z.Event(m),n.type=m,n.isTrigger=!0,n.exclusive=s,n.namespace=v.join("."),n.namespace_re=n.namespace?new RegExp("(^|\\.)"+v.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,p=m.indexOf(":")<0?"on"+m:"",i){if(n.result=t,n.target||(n.target=i),r=null!=r?Z.makeArray(r):[],r.unshift(n),h=Z.event.special[m]||{},!h.trigger||h.trigger.apply(i,r)!==!1){if(d=[[i,h.bindType||m]],!o&&!h.noBubble&&!Z.isWindow(i)){for(g=h.delegateType||m,u=Oe.test(g+m)?i:i.parentNode,c=i;u;u=u.parentNode)d.push([u,g]),c=u;c===(i.ownerDocument||q)&&d.push([c.defaultView||c.parentWindow||e,g])}for(l=0;l<d.length&&!n.isPropagationStopped();l++)u=d[l][0],n.type=d[l][1],f=(Z._data(u,"events")||{})[n.type]&&Z._data(u,"handle"),f&&f.apply(u,r),f=p&&u[p],f&&Z.acceptData(u)&&f.apply&&f.apply(u,r)===!1&&n.preventDefault();return n.type=m,o||n.isDefaultPrevented()||h._default&&h._default.apply(i.ownerDocument,r)!==!1||"click"===m&&Z.nodeName(i,"a")||!Z.acceptData(i)||p&&i[m]&&("focus"!==m&&"blur"!==m||0!==n.target.offsetWidth)&&!Z.isWindow(i)&&(c=i[p],c&&(i[p]=null),Z.event.triggered=m,i[m](),Z.event.triggered=t,c&&(i[p]=c)),n.result}}else{a=Z.cache;for(l in a)a[l].events&&a[l].events[m]&&Z.event.trigger(n,r,a[l].handle.elem,!0)}}},dispatch:function(n){n=Z.event.fix(n||e.event);var r,i,o,a,s,l,u,c,p,h=(Z._data(this,"events")||{})[n.type]||[],f=h.delegateCount,d=X.call(arguments),g=!n.exclusive&&!n.namespace,m=Z.event.special[n.type]||{},v=[];if(d[0]=n,n.delegateTarget=this,!m.preDispatch||m.preDispatch.call(this,n)!==!1){if(f&&(!n.button||"click"!==n.type))for(o=n.target;o!=this;o=o.parentNode||this)if(o.disabled!==!0||"click"!==n.type){for(s={},u=[],r=0;f>r;r++)c=h[r],p=c.selector,s[p]===t&&(s[p]=c.needsContext?Z(p,this).index(o)>=0:Z.find(p,this,null,[o]).length),s[p]&&u.push(c);u.length&&v.push({elem:o,matches:u})}for(h.length>f&&v.push({elem:this,matches:h.slice(f)}),r=0;r<v.length&&!n.isPropagationStopped();r++)for(l=v[r],n.currentTarget=l.elem,i=0;i<l.matches.length&&!n.isImmediatePropagationStopped();i++)c=l.matches[i],(g||!n.namespace&&!c.namespace||n.namespace_re&&n.namespace_re.test(c.namespace))&&(n.data=c.data,n.handleObj=c,a=((Z.event.special[c.origType]||{}).handle||c.handler).apply(l.elem,d),a!==t&&(n.result=a,a===!1&&(n.preventDefault(),n.stopPropagation())));return m.postDispatch&&m.postDispatch.call(this,n),n.result}},props:"attrChange attrName relatedNode srcElement 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 fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(e,n){var r,i,o,a=n.button,s=n.fromElement;return null==e.pageX&&null!=n.clientX&&(r=e.target.ownerDocument||q,i=r.documentElement,o=r.body,e.pageX=n.clientX+(i&&i.scrollLeft||o&&o.scrollLeft||0)-(i&&i.clientLeft||o&&o.clientLeft||0),e.pageY=n.clientY+(i&&i.scrollTop||o&&o.scrollTop||0)-(i&&i.clientTop||o&&o.clientTop||0)),!e.relatedTarget&&s&&(e.relatedTarget=s===e.target?n.toElement:s),e.which||a===t||(e.which=1&a?1:2&a?3:4&a?2:0),e}},fix:function(e){if(e[Z.expando])return e;var t,n,r=e,i=Z.event.fixHooks[e.type]||{},o=i.props?this.props.concat(i.props):this.props;for(e=Z.Event(r),t=o.length;t;)n=o[--t],e[n]=r[n];return e.target||(e.target=r.srcElement||q),3===e.target.nodeType&&(e.target=e.target.parentNode),e.metaKey=!!e.metaKey,i.filter?i.filter(e,r):e},special:{load:{noBubble:!0},focus:{delegateType:"focusin"},blur:{delegateType:"focusout"},beforeunload:{setup:function(e,t,n){Z.isWindow(this)&&(this.onbeforeunload=n)},teardown:function(e,t){this.onbeforeunload===t&&(this.onbeforeunload=null)}}},simulate:function(e,t,n,r){var i=Z.extend(new Z.Event,n,{type:e,isSimulated:!0,originalEvent:{}});r?Z.event.trigger(i,null,t):Z.event.dispatch.call(t,i),i.isDefaultPrevented()&&n.preventDefault()}},Z.event.handle=Z.event.dispatch,Z.removeEvent=q.removeEventListener?function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n,!1)}:function(e,t,n){var r="on"+t;e.detachEvent&&("undefined"==typeof e[r]&&(e[r]=null),e.detachEvent(r,n))},Z.Event=function(e,t){return this instanceof Z.Event?(e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||e.returnValue===!1||e.getPreventDefault&&e.getPreventDefault()?s:a):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={preventDefault:function(){this.isDefaultPrevented=s;var e=this.originalEvent;e&&(e.preventDefault?e.preventDefault():e.returnValue=!1)},stopPropagation:function(){this.isPropagationStopped=s;var e=this.originalEvent;e&&(e.stopPropagation&&e.stopPropagation(),e.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=s,this.stopPropagation()},isDefaultPrevented:a,isPropagationStopped:a,isImmediatePropagationStopped:a},Z.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(e,t){Z.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,i=e.relatedTarget,o=e.handleObj;o.selector;return i&&(i===r||Z.contains(r,i))||(e.type=o.origType,n=o.handler.apply(this,arguments),e.type=t),n}}}),Z.support.submitBubbles||(Z.event.special.submit={setup:function(){return Z.nodeName(this,"form")?!1:void Z.event.add(this,"click._submit keypress._submit",function(e){var n=e.target,r=Z.nodeName(n,"input")||Z.nodeName(n,"button")?n.form:t;r&&!Z._data(r,"_submit_attached")&&(Z.event.add(r,"submit._submit",function(e){e._submit_bubble=!0}),Z._data(r,"_submit_attached",!0))})},postDispatch:function(e){e._submit_bubble&&(delete e._submit_bubble,this.parentNode&&!e.isTrigger&&Z.event.simulate("submit",this.parentNode,e,!0))},teardown:function(){return Z.nodeName(this,"form")?!1:void Z.event.remove(this,"._submit")}}),Z.support.changeBubbles||(Z.event.special.change={setup:function(){return Ne.test(this.nodeName)?("checkbox"!==this.type&&"radio"!==this.type||(Z.event.add(this,"propertychange._change",function(e){"checked"===e.originalEvent.propertyName&&(this._just_changed=!0)}),Z.event.add(this,"click._change",function(e){this._just_changed&&!e.isTrigger&&(this._just_changed=!1),Z.event.simulate("change",this,e,!0)})),!1):void Z.event.add(this,"beforeactivate._change",function(e){var t=e.target;Ne.test(t.nodeName)&&!Z._data(t,"_change_attached")&&(Z.event.add(t,"change._change",function(e){!this.parentNode||e.isSimulated||e.isTrigger||Z.event.simulate("change",this.parentNode,e,!0)}),Z._data(t,"_change_attached",!0))})},handle:function(e){var t=e.target;return this!==t||e.isSimulated||e.isTrigger||"radio"!==t.type&&"checkbox"!==t.type?e.handleObj.handler.apply(this,arguments):void 0},teardown:function(){return Z.event.remove(this,"._change"),!Ne.test(this.nodeName)}}),Z.support.focusinBubbles||Z.each({focus:"focusin",blur:"focusout"},function(e,t){var n=0,r=function(e){Z.event.simulate(t,e.target,Z.event.fix(e),!0)};Z.event.special[t]={setup:function(){0===n++&&q.addEventListener(e,r,!0)},teardown:function(){0===--n&&q.removeEventListener(e,r,!0)}}}),Z.fn.extend({on:function(e,n,r,i,o){var s,l;if("object"==typeof e){"string"!=typeof n&&(r=r||n,n=t);for(l in e)this.on(l,n,r,e[l],o);return this}if(null==r&&null==i?(i=n,r=n=t):null==i&&("string"==typeof n?(i=r,r=t):(i=r,r=n,n=t)),i===!1)i=a;else if(!i)return this;return 1===o&&(s=i,i=function(e){return Z().off(e),s.apply(this,arguments)},i.guid=s.guid||(s.guid=Z.guid++)),this.each(function(){Z.event.add(this,e,i,r,n)})},one:function(e,t,n,r){return this.on(e,t,n,r,1)},off:function(e,n,r){var i,o;if(e&&e.preventDefault&&e.handleObj)return i=e.handleObj,Z(e.delegateTarget).off(i.namespace?i.origType+"."+i.namespace:i.origType,i.selector,i.handler),this;if("object"==typeof e){for(o in e)this.off(o,n,e[o]);return this}return n!==!1&&"function"!=typeof n||(r=n,n=t),r===!1&&(r=a),this.each(function(){Z.event.remove(this,e,r,n)})},bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},live:function(e,t,n){return Z(this.context).on(e,this.selector,t,n),this},die:function(e,t){return Z(this.context).off(e,this.selector||"**",t),this},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},trigger:function(e,t){return this.each(function(){Z.event.trigger(e,t,this)})},triggerHandler:function(e,t){return this[0]?Z.event.trigger(e,t,this[0],!0):void 0},toggle:function(e){var t=arguments,n=e.guid||Z.guid++,r=0,i=function(n){var i=(Z._data(this,"lastToggle"+e.guid)||0)%r;return Z._data(this,"lastToggle"+e.guid,i+1),n.preventDefault(),t[i].apply(this,arguments)||!1};for(i.guid=n;r<t.length;)t[r++].guid=n;return this.click(i)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),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,n){return null==n&&(n=e,e=null),arguments.length>0?this.on(t,null,e,n):this.trigger(t)},Le.test(t)&&(Z.event.fixHooks[t]=Z.event.keyHooks),je.test(t)&&(Z.event.fixHooks[t]=Z.event.mouseHooks)}),function(e,t){function n(e,t,n,r){n=n||[],t=t||L;var i,o,a,s,l=t.nodeType;if(!e||"string"!=typeof e)return n;if(1!==l&&9!==l)return[];if(a=w(t),!a&&!r&&(i=ne.exec(e)))if(s=i[1]){if(9===l){if(o=t.getElementById(s),!o||!o.parentNode)return n;if(o.id===s)return n.push(o),n}else if(t.ownerDocument&&(o=t.ownerDocument.getElementById(s))&&S(t,o)&&o.id===s)return n.push(o),n}else{if(i[2])return H.apply(n,I.call(t.getElementsByTagName(e),0)),n;if((s=i[3])&&he&&t.getElementsByClassName)return H.apply(n,I.call(t.getElementsByClassName(s),0)),n}return g(e.replace(Y,"$1"),t,n,r,a)}function r(e){return function(t){var n=t.nodeName.toLowerCase();return"input"===n&&t.type===e}}function i(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function o(e){return B(function(t){return t=+t,B(function(n,r){for(var i,o=e([],n.length,t),a=o.length;a--;)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))})})}function a(e,t,n){if(e===t)return n;for(var r=e.nextSibling;r;){if(r===t)return-1;r=r.nextSibling}return 1}function s(e,t){var r,i,o,a,s,l,u,c=q[T][e+" "];if(c)return t?0:c.slice(0);for(s=e,l=[],u=b.preFilter;s;){r&&!(i=Q.exec(s))||(i&&(s=s.slice(i[0].length)||s),l.push(o=[])),r=!1,(i=ee.exec(s))&&(o.push(r=new P(i.shift())),s=s.slice(r.length),r.type=i[0].replace(Y," "));for(a in b.filter)!(i=se[a].exec(s))||u[a]&&!(i=u[a](i))||(o.push(r=new P(i.shift())),s=s.slice(r.length),r.type=a,r.matches=i);if(!r)break}return t?s.length:s?n.error(e):q(e,l).slice(0)}function l(e,t,n){var r=t.dir,i=n&&"parentNode"===t.dir,o=M++;return t.first?function(t,n,o){for(;t=t[r];)if(i||1===t.nodeType)return e(t,n,o)}:function(t,n,a){if(a){for(;t=t[r];)if((i||1===t.nodeType)&&e(t,n,a))return t}else for(var s,l=O+" "+o+" ",u=l+v;t=t[r];)if(i||1===t.nodeType){if((s=t[T])===u)return t.sizset;if("string"==typeof s&&0===s.indexOf(l)){if(t.sizset)return t}else{if(t[T]=u,e(t,n,a))return t.sizset=!0,t;t.sizset=!1}}}}function u(e){return e.length>1?function(t,n,r){for(var i=e.length;i--;)if(!e[i](t,n,r))return!1;return!0}:e[0]}function c(e,t,n,r,i){for(var o,a=[],s=0,l=e.length,u=null!=t;l>s;s++)(o=e[s])&&(n&&!n(o,r,i)||(a.push(o),u&&t.push(s)));return a}function p(e,t,n,r,i,o){return r&&!r[T]&&(r=p(r)),i&&!i[T]&&(i=p(i,o)),B(function(o,a,s,l){var u,p,h,f=[],g=[],m=a.length,v=o||d(t||"*",s.nodeType?[s]:s,[]),y=!e||!o&&t?v:c(v,f,e,s,l),b=n?i||(o?e:m||r)?[]:a:y;if(n&&n(y,b,s,l),r)for(u=c(b,g),r(u,[],s,l),p=u.length;p--;)(h=u[p])&&(b[g[p]]=!(y[g[p]]=h));if(o){if(i||e){if(i){for(u=[],p=b.length;p--;)(h=b[p])&&u.push(y[p]=h);i(null,b=[],u,l)}for(p=b.length;p--;)(h=b[p])&&(u=i?R.call(o,h):f[p])>-1&&(o[u]=!(a[u]=h))}}else b=c(b===a?b.splice(m,b.length):b),i?i(null,a,b,l):H.apply(a,b)})}function h(e){for(var t,n,r,i=e.length,o=b.relative[e[0].type],a=o||b.relative[" "],s=o?1:0,c=l(function(e){return e===t},a,!0),f=l(function(e){return R.call(t,e)>-1},a,!0),d=[function(e,n,r){return!o&&(r||n!==E)||((t=n).nodeType?c(e,n,r):f(e,n,r))}];i>s;s++)if(n=b.relative[e[s].type])d=[l(u(d),n)];else{if(n=b.filter[e[s].type].apply(null,e[s].matches),n[T]){for(r=++s;i>r&&!b.relative[e[r].type];r++);return p(s>1&&u(d),s>1&&e.slice(0,s-1).join("").replace(Y,"$1"),n,r>s&&h(e.slice(s,r)),i>r&&h(e=e.slice(r)),i>r&&e.join(""))}d.push(n)}return u(d)}function f(e,t){var r=t.length>0,i=e.length>0,o=function(a,s,l,u,p){var h,f,d,g=[],m=0,y="0",x=a&&[],w=null!=p,S=E,k=a||i&&b.find.TAG("*",p&&s.parentNode||s),C=O+=null==S?1:Math.E;for(w&&(E=s!==L&&s,v=o.el);null!=(h=k[y]);y++){if(i&&h){for(f=0;d=e[f];f++)if(d(h,s,l)){u.push(h);break}w&&(O=C,v=++o.el)}r&&((h=!d&&h)&&m--,a&&x.push(h))}if(m+=y,r&&y!==m){for(f=0;d=t[f];f++)d(x,g,s,l);if(a){if(m>0)for(;y--;)x[y]||g[y]||(g[y]=D.call(u));g=c(g)}H.apply(u,g),w&&!a&&g.length>0&&m+t.length>1&&n.uniqueSort(u)}return w&&(O=C,E=S),x};return o.el=0,r?B(o):o}function d(e,t,r){for(var i=0,o=t.length;o>i;i++)n(e,t[i],r);return r}function g(e,t,n,r,i){var o,a,l,u,c,p=s(e);p.length;if(!r&&1===p.length){if(a=p[0]=p[0].slice(0),a.length>2&&"ID"===(l=a[0]).type&&9===t.nodeType&&!i&&b.relative[a[1].type]){if(t=b.find.ID(l.matches[0].replace(ae,""),t,i)[0],!t)return n;e=e.slice(a.shift().length)}for(o=se.POS.test(e)?-1:a.length-1;o>=0&&(l=a[o],!b.relative[u=l.type]);o--)if((c=b.find[u])&&(r=c(l.matches[0].replace(ae,""),re.test(a[0].type)&&t.parentNode||t,i))){if(a.splice(o,1),e=r.length&&a.join(""),!e)return H.apply(n,I.call(r,0)),n;break}}return k(e,p)(r,t,i,n,re.test(e)),n}function m(){}var v,y,b,x,w,S,k,C,_,E,A=!0,N="undefined",T=("sizcache"+Math.random()).replace(".",""),P=String,L=e.document,j=L.documentElement,O=0,M=0,D=[].pop,H=[].push,I=[].slice,R=[].indexOf||function(e){for(var t=0,n=this.length;n>t;t++)if(this[t]===e)return t;return-1},B=function(e,t){return e[T]=null==t||t,e},$=function(){var e={},t=[];return B(function(n,r){return t.push(n)>b.cacheLength&&delete e[t.shift()],e[n+" "]=r},e)},F=$(),q=$(),W=$(),U="[\\x20\\t\\r\\n\\f]",z="(?:\\\\.|[-\\w]|[^\\x00-\\xa0])+",V=z.replace("w","w#"),G="([*^$|!~]?=)",X="\\["+U+"*("+z+")"+U+"*(?:"+G+U+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+V+")|)|)"+U+"*\\]",J=":("+z+")(?:\\((?:(['\"])((?:\\\\.|[^\\\\])*?)\\2|([^()[\\]]*|(?:(?:"+X+")|[^:]|\\\\.)*|.*))\\)|)",K=":(even|odd|eq|gt|lt|nth|first|last)(?:\\("+U+"*((?:-\\d)?\\d*)"+U+"*\\)|)(?=[^-]|$)",Y=new RegExp("^"+U+"+|((?:^|[^\\\\])(?:\\\\.)*)"+U+"+$","g"),Q=new RegExp("^"+U+"*,"+U+"*"),ee=new RegExp("^"+U+"*([\\x20\\t\\r\\n\\f>+~])"+U+"*"),te=new RegExp(J),ne=/^(?:#([\w\-]+)|(\w+)|\.([\w\-]+))$/,re=/[\x20\t\r\n\f]*[+~]/,ie=/h\d/i,oe=/input|select|textarea|button/i,ae=/\\(?!\\)/g,se={ID:new RegExp("^#("+z+")"),CLASS:new RegExp("^\\.("+z+")"),NAME:new RegExp("^\\[name=['\"]?("+z+")['\"]?\\]"),TAG:new RegExp("^("+z.replace("w","w*")+")"),ATTR:new RegExp("^"+X),PSEUDO:new RegExp("^"+J),POS:new RegExp(K,"i"),CHILD:new RegExp("^:(only|nth|first|last)-child(?:\\("+U+"*(even|odd|(([+-]|)(\\d*)n|)"+U+"*(?:([+-]|)"+U+"*(\\d+)|))"+U+"*\\)|)","i"),needsContext:new RegExp("^"+U+"*[>+~]|"+K,"i")},le=function(e){var t=L.createElement("div");try{return e(t)}catch(n){return!1}finally{t=null}},ue=le(function(e){return e.appendChild(L.createComment("")),!e.getElementsByTagName("*").length}),ce=le(function(e){return e.innerHTML="<a href='#'></a>",e.firstChild&&typeof e.firstChild.getAttribute!==N&&"#"===e.firstChild.getAttribute("href")}),pe=le(function(e){e.innerHTML="<select></select>";var t=typeof e.lastChild.getAttribute("multiple");return"boolean"!==t&&"string"!==t}),he=le(function(e){return e.innerHTML="<div class='hidden e'></div><div class='hidden'></div>",e.getElementsByClassName&&e.getElementsByClassName("e").length?(e.lastChild.className="e",2===e.getElementsByClassName("e").length):!1}),fe=le(function(e){e.id=T+0,e.innerHTML="<a name='"+T+"'></a><div name='"+T+"'></div>",j.insertBefore(e,j.firstChild);var t=L.getElementsByName&&L.getElementsByName(T).length===2+L.getElementsByName(T+0).length;return y=!L.getElementById(T),j.removeChild(e),t});try{I.call(j.childNodes,0)[0].nodeType}catch(de){I=function(e){for(var t,n=[];t=this[e];e++)n.push(t);return n}}n.matches=function(e,t){return n(e,null,null,t)},n.matchesSelector=function(e,t){return n(t,null,null,[e]).length>0},x=n.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=x(e)}else if(3===i||4===i)return e.nodeValue}else for(;t=e[r];r++)n+=x(t);return n},w=n.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return t?"HTML"!==t.nodeName:!1},S=n.contains=j.contains?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!!(r&&1===r.nodeType&&n.contains&&n.contains(r))}:j.compareDocumentPosition?function(e,t){return t&&!!(16&e.compareDocumentPosition(t))}:function(e,t){for(;t=t.parentNode;)if(t===e)return!0;return!1},n.attr=function(e,t){var n,r=w(e);return r||(t=t.toLowerCase()),(n=b.attrHandle[t])?n(e):r||pe?e.getAttribute(t):(n=e.getAttributeNode(t),n?"boolean"==typeof e[t]?e[t]?t:null:n.specified?n.value:null:null)},b=n.selectors={cacheLength:50,createPseudo:B,match:se,attrHandle:ce?{}:{href:function(e){return e.getAttribute("href",2)},type:function(e){return e.getAttribute("type")}},find:{ID:y?function(e,t,n){if(typeof t.getElementById!==N&&!n){var r=t.getElementById(e);return r&&r.parentNode?[r]:[]}}:function(e,n,r){if(typeof n.getElementById!==N&&!r){var i=n.getElementById(e);return i?i.id===e||typeof i.getAttributeNode!==N&&i.getAttributeNode("id").value===e?[i]:t:[]}},TAG:ue?function(e,t){return typeof t.getElementsByTagName!==N?t.getElementsByTagName(e):void 0}:function(e,t){var n=t.getElementsByTagName(e);if("*"===e){for(var r,i=[],o=0;r=n[o];o++)1===r.nodeType&&i.push(r);return i}return n},NAME:fe&&function(e,t){return typeof t.getElementsByName!==N?t.getElementsByName(name):void 0},CLASS:he&&function(e,t,n){return typeof t.getElementsByClassName===N||n?void 0:t.getElementsByClassName(e)}},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(ae,""),e[3]=(e[4]||e[5]||"").replace(ae,""),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1]?(e[2]||n.error(e[0]),e[3]=+(e[3]?e[4]+(e[5]||1):2*("even"===e[2]||"odd"===e[2])),e[4]=+(e[6]+e[7]||"odd"===e[2])):e[2]&&n.error(e[0]),e},PSEUDO:function(e){var t,n;return se.CHILD.test(e[0])?null:(e[3]?e[2]=e[3]:(t=e[4])&&(te.test(t)&&(n=s(t,!0))&&(n=t.indexOf(")",t.length-n)-t.length)&&(t=t.slice(0,n),e[0]=e[0].slice(0,n)),e[2]=t),e.slice(0,3))}},filter:{ID:y?function(e){return e=e.replace(ae,""),function(t){return t.getAttribute("id")===e}}:function(e){return e=e.replace(ae,""),function(t){var n=typeof t.getAttributeNode!==N&&t.getAttributeNode("id");return n&&n.value===e}},TAG:function(e){return"*"===e?function(){return!0}:(e=e.replace(ae,"").toLowerCase(),function(t){return t.nodeName&&t.nodeName.toLowerCase()===e})},CLASS:function(e){var t=F[T][e+" "];return t||(t=new RegExp("(^|"+U+")"+e+"("+U+"|$)"))&&F(e,function(e){return t.test(e.className||typeof e.getAttribute!==N&&e.getAttribute("class")||"")})},ATTR:function(e,t,r){return function(i,o){var a=n.attr(i,e);return null==a?"!="===t:t?(a+="","="===t?a===r:"!="===t?a!==r:"^="===t?r&&0===a.indexOf(r):"*="===t?r&&a.indexOf(r)>-1:"$="===t?r&&a.substr(a.length-r.length)===r:"~="===t?(" "+a+" ").indexOf(r)>-1:"|="===t?a===r||a.substr(0,r.length+1)===r+"-":!1):!0}},CHILD:function(e,t,n,r){return"nth"===e?function(e){var t,i,o=e.parentNode;if(1===n&&0===r)return!0;if(o)for(i=0,t=o.firstChild;t&&(1!==t.nodeType||(i++,e!==t));t=t.nextSibling);return i-=r,i===n||i%n===0&&i/n>=0}:function(t){var n=t;switch(e){case"only":case"first":for(;n=n.previousSibling;)if(1===n.nodeType)return!1;if("first"===e)return!0;n=t;case"last":for(;n=n.nextSibling;)if(1===n.nodeType)return!1;return!0}}},PSEUDO:function(e,t){var r,i=b.pseudos[e]||b.setFilters[e.toLowerCase()]||n.error("unsupported pseudo: "+e);return i[T]?i(t):i.length>1?(r=[e,e,"",t],b.setFilters.hasOwnProperty(e.toLowerCase())?B(function(e,n){for(var r,o=i(e,t),a=o.length;a--;)r=R.call(e,o[a]),e[r]=!(n[r]=o[a])}):function(e){return i(e,0,r)}):i}},pseudos:{not:B(function(e){var t=[],n=[],r=k(e.replace(Y,"$1"));return r[T]?B(function(e,t,n,i){for(var o,a=r(e,null,i,[]),s=e.length;s--;)(o=a[s])&&(e[s]=!(t[s]=o))}):function(e,i,o){return t[0]=e,r(t,null,o,n),!n.pop()}}),has:B(function(e){return function(t){return n(e,t).length>0}}),contains:B(function(e){return function(t){return(t.textContent||t.innerText||x(t)).indexOf(e)>-1}}),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},parent:function(e){return!b.pseudos.empty(e)},empty:function(e){var t;for(e=e.firstChild;e;){if(e.nodeName>"@"||3===(t=e.nodeType)||4===t)return!1;e=e.nextSibling}return!0},header:function(e){return ie.test(e.nodeName)},text:function(e){var t,n;return"input"===e.nodeName.toLowerCase()&&"text"===(t=e.type)&&(null==(n=e.getAttribute("type"))||n.toLowerCase()===t)},radio:r("radio"),checkbox:r("checkbox"),file:r("file"),password:r("password"),image:r("image"),submit:i("submit"),reset:i("reset"),button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},input:function(e){return oe.test(e.nodeName)},focus:function(e){var t=e.ownerDocument;return e===t.activeElement&&(!t.hasFocus||t.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},active:function(e){return e===e.ownerDocument.activeElement},first:o(function(){return[0]}),last:o(function(e,t){return[t-1]}),eq:o(function(e,t,n){return[0>n?n+t:n]}),even:o(function(e,t){for(var n=0;t>n;n+=2)e.push(n);return e}),odd:o(function(e,t){for(var n=1;t>n;n+=2)e.push(n);return e}),lt:o(function(e,t,n){for(var r=0>n?n+t:n;--r>=0;)e.push(r);return e}),gt:o(function(e,t,n){for(var r=0>n?n+t:n;++r<t;)e.push(r);return e})}},C=j.compareDocumentPosition?function(e,t){return e===t?(_=!0,0):(e.compareDocumentPosition&&t.compareDocumentPosition?4&e.compareDocumentPosition(t):e.compareDocumentPosition)?-1:1}:function(e,t){if(e===t)return _=!0,0;if(e.sourceIndex&&t.sourceIndex)return e.sourceIndex-t.sourceIndex;var n,r,i=[],o=[],s=e.parentNode,l=t.parentNode,u=s;if(s===l)return a(e,t);if(!s)return-1;if(!l)return 1;for(;u;)i.unshift(u),u=u.parentNode;for(u=l;u;)o.unshift(u),u=u.parentNode;n=i.length,r=o.length;for(var c=0;n>c&&r>c;c++)if(i[c]!==o[c])return a(i[c],o[c]);return c===n?a(e,o[c],-1):a(i[c],t,1)},[0,0].sort(C),A=!_,n.uniqueSort=function(e){var t,n=[],r=1,i=0;if(_=A,e.sort(C),_){for(;t=e[r];r++)t===e[r-1]&&(i=n.push(r));for(;i--;)e.splice(n[i],1)}return e},n.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},k=n.compile=function(e,t){var n,r=[],i=[],o=W[T][e+" "];if(!o){for(t||(t=s(e)),n=t.length;n--;)o=h(t[n]),o[T]?r.push(o):i.push(o);o=W(e,f(i,r))}return o},L.querySelectorAll&&!function(){var e,t=g,r=/'|\\/g,i=/\=[\x20\t\r\n\f]*([^'"\]]*)[\x20\t\r\n\f]*\]/g,o=[":focus"],a=[":active"],l=j.matchesSelector||j.mozMatchesSelector||j.webkitMatchesSelector||j.oMatchesSelector||j.msMatchesSelector;le(function(e){e.innerHTML="<select><option selected=''></option></select>",e.querySelectorAll("[selected]").length||o.push("\\["+U+"*(?:checked|disabled|ismap|multiple|readonly|selected|value)"),e.querySelectorAll(":checked").length||o.push(":checked")}),le(function(e){e.innerHTML="<p test=''></p>",e.querySelectorAll("[test^='']").length&&o.push("[*^$]="+U+"*(?:\"\"|'')"),e.innerHTML="<input type='hidden'/>",e.querySelectorAll(":enabled").length||o.push(":enabled",":disabled")}),o=new RegExp(o.join("|")),g=function(e,n,i,a,l){if(!a&&!l&&!o.test(e)){var u,c,p=!0,h=T,f=n,d=9===n.nodeType&&e;if(1===n.nodeType&&"object"!==n.nodeName.toLowerCase()){for(u=s(e),(p=n.getAttribute("id"))?h=p.replace(r,"\\$&"):n.setAttribute("id",h),h="[id='"+h+"'] ",c=u.length;c--;)u[c]=h+u[c].join("");f=re.test(e)&&n.parentNode||n,d=u.join(",")}if(d)try{return H.apply(i,I.call(f.querySelectorAll(d),0)),i}catch(g){}finally{p||n.removeAttribute("id")}}return t(e,n,i,a,l)},l&&(le(function(t){e=l.call(t,"div");try{l.call(t,"[test!='']:sizzle"),a.push("!=",J)}catch(n){}}),a=new RegExp(a.join("|")),n.matchesSelector=function(t,r){if(r=r.replace(i,"='$1']"),!w(t)&&!a.test(r)&&!o.test(r))try{var s=l.call(t,r);if(s||e||t.document&&11!==t.document.nodeType)return s}catch(u){}return n(r,null,null,[t]).length>0})}(),b.pseudos.nth=b.pseudos.eq,b.filters=m.prototype=b.pseudos,b.setFilters=new m,n.attr=Z.attr,Z.find=n,Z.expr=n.selectors,Z.expr[":"]=Z.expr.pseudos,Z.unique=n.uniqueSort,Z.text=n.getText,Z.isXMLDoc=n.isXML,Z.contains=n.contains}(e);var De=/Until$/,He=/^(?:parents|prev(?:Until|All))/,Ie=/^.[^:#\[\.,]*$/,Re=Z.expr.match.needsContext,Be={children:!0,contents:!0,next:!0,prev:!0};Z.fn.extend({find:function(e){var t,n,r,i,o,a,s=this;if("string"!=typeof e)return Z(e).filter(function(){for(t=0,n=s.length;n>t;t++)if(Z.contains(s[t],this))return!0});for(a=this.pushStack("","find",e),t=0,n=this.length;n>t;t++)if(r=a.length,Z.find(e,this[t],a),t>0)for(i=r;i<a.length;i++)for(o=0;r>o;o++)if(a[o]===a[i]){a.splice(i--,1);break}return a},has:function(e){var t,n=Z(e,this),r=n.length;return this.filter(function(){for(t=0;r>t;t++)if(Z.contains(this,n[t]))return!0})},not:function(e){return this.pushStack(c(this,e,!1),"not",e)},filter:function(e){return this.pushStack(c(this,e,!0),"filter",e)},is:function(e){return!!e&&("string"==typeof e?Re.test(e)?Z(e,this.context).index(this[0])>=0:Z.filter(e,this).length>0:this.filter(e).length>0)},closest:function(e,t){for(var n,r=0,i=this.length,o=[],a=Re.test(e)||"string"!=typeof e?Z(e,t||this.context):0;i>r;r++)for(n=this[r];n&&n.ownerDocument&&n!==t&&11!==n.nodeType;){if(a?a.index(n)>-1:Z.find.matchesSelector(n,e)){o.push(n);break}n=n.parentNode}return o=o.length>1?Z.unique(o):o,this.pushStack(o,"closest",e)},index:function(e){return e?"string"==typeof e?Z.inArray(this[0],Z(e)):Z.inArray(e.jquery?e[0]:e,this):this[0]&&this[0].parentNode?this.prevAll().length:-1},add:function(e,t){var n="string"==typeof e?Z(e,t):Z.makeArray(e&&e.nodeType?[e]:e),r=Z.merge(this.get(),n);return this.pushStack(l(n[0])||l(r[0])?r:Z.unique(r))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),Z.fn.andSelf=Z.fn.addBack,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,n){return Z.dir(e,"parentNode",n)},next:function(e){return u(e,"nextSibling")},prev:function(e){return u(e,"previousSibling")},nextAll:function(e){return Z.dir(e,"nextSibling")},prevAll:function(e){return Z.dir(e,"previousSibling")},nextUntil:function(e,t,n){return Z.dir(e,"nextSibling",n)},prevUntil:function(e,t,n){return Z.dir(e,"previousSibling",n)},siblings:function(e){return Z.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return Z.sibling(e.firstChild)},contents:function(e){return Z.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:Z.merge([],e.childNodes)}},function(e,t){Z.fn[e]=function(n,r){var i=Z.map(this,t,n);return De.test(e)||(r=n),r&&"string"==typeof r&&(i=Z.filter(r,i)),i=this.length>1&&!Be[e]?Z.unique(i):i,this.length>1&&He.test(e)&&(i=i.reverse()),this.pushStack(i,e,X.call(arguments).join(","))}}),Z.extend({filter:function(e,t,n){return n&&(e=":not("+e+")"),1===t.length?Z.find.matchesSelector(t[0],e)?[t[0]]:[]:Z.find.matches(e,t)},dir:function(e,n,r){for(var i=[],o=e[n];o&&9!==o.nodeType&&(r===t||1!==o.nodeType||!Z(o).is(r));)1===o.nodeType&&i.push(o),o=o[n];return i},sibling:function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n}});var $e="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",Fe=/ jQuery\d+="(?:null|\d+)"/g,qe=/^\s+/,We=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,Ue=/<([\w:]+)/,ze=/<tbody/i,Ve=/<|&#?\w+;/,Ge=/<(?:script|style|link)/i,Xe=/<(?:script|object|embed|option|style)/i,Je=new RegExp("<(?:"+$e+")[\\s/>]","i"),Ke=/^(?:checkbox|radio)$/,Ye=/checked\s*(?:[^=]|=\s*.checked.)/i,Qe=/\/(java|ecma)script/i,Ze=/^\s*<!(?:\[CDATA\[|\-\-)|[\]\-]{2}>\s*$/g,et={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]},tt=p(q),nt=tt.appendChild(q.createElement("div"));et.optgroup=et.option,et.tbody=et.tfoot=et.colgroup=et.caption=et.thead,et.th=et.td,Z.support.htmlSerialize||(et._default=[1,"X<div>","</div>"]),Z.fn.extend({text:function(e){return Z.access(this,function(e){return e===t?Z.text(this):this.empty().append((this[0]&&this[0].ownerDocument||q).createTextNode(e))},null,e,arguments.length)},wrapAll:function(e){if(Z.isFunction(e))return this.each(function(t){Z(this).wrapAll(e.call(this,t))});if(this[0]){var 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.firstChild&&1===e.firstChild.nodeType;)e=e.firstChild;return e}).append(this)}return 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),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=Z.isFunction(e);return this.each(function(n){Z(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){Z.nodeName(this,"body")||Z(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(e){1!==this.nodeType&&11!==this.nodeType||this.appendChild(e)})},prepend:function(){return this.domManip(arguments,!0,function(e){1!==this.nodeType&&11!==this.nodeType||this.insertBefore(e,this.firstChild)})},before:function(){if(!l(this[0]))return this.domManip(arguments,!1,function(e){this.parentNode.insertBefore(e,this)});if(arguments.length){var e=Z.clean(arguments);return this.pushStack(Z.merge(e,this),"before",this.selector)}},after:function(){if(!l(this[0]))return this.domManip(arguments,!1,function(e){this.parentNode.insertBefore(e,this.nextSibling)});if(arguments.length){var e=Z.clean(arguments);return this.pushStack(Z.merge(this,e),"after",this.selector)}},remove:function(e,t){for(var n,r=0;null!=(n=this[r]);r++)e&&!Z.filter(e,[n]).length||(t||1!==n.nodeType||(Z.cleanData(n.getElementsByTagName("*")),Z.cleanData([n])),n.parentNode&&n.parentNode.removeChild(n));return this},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)for(1===e.nodeType&&Z.cleanData(e.getElementsByTagName("*"));e.firstChild;)e.removeChild(e.firstChild);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 Z.access(this,function(e){var n=this[0]||{},r=0,i=this.length;if(e===t)return 1===n.nodeType?n.innerHTML.replace(Fe,""):t;if("string"==typeof e&&!Ge.test(e)&&(Z.support.htmlSerialize||!Je.test(e))&&(Z.support.leadingWhitespace||!qe.test(e))&&!et[(Ue.exec(e)||["",""])[1].toLowerCase()]){e=e.replace(We,"<$1></$2>");try{for(;i>r;r++)n=this[r]||{},1===n.nodeType&&(Z.cleanData(n.getElementsByTagName("*")),n.innerHTML=e);n=0}catch(o){}}n&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(e){return l(this[0])?this.length?this.pushStack(Z(Z.isFunction(e)?e():e),"replaceWith",e):this:Z.isFunction(e)?this.each(function(t){var n=Z(this),r=n.html();n.replaceWith(e.call(this,t,r))}):("string"!=typeof e&&(e=Z(e).detach()),this.each(function(){var t=this.nextSibling,n=this.parentNode;Z(this).remove(),t?Z(t).before(e):Z(n).append(e)}))},detach:function(e){return this.remove(e,!0)},domManip:function(e,n,r){e=[].concat.apply([],e);var i,o,a,s,l=0,u=e[0],c=[],p=this.length;if(!Z.support.checkClone&&p>1&&"string"==typeof u&&Ye.test(u))return this.each(function(){Z(this).domManip(e,n,r)});if(Z.isFunction(u))return this.each(function(i){var o=Z(this);e[0]=u.call(this,i,n?o.html():t),o.domManip(e,n,r)});if(this[0]){if(i=Z.buildFragment(e,this,c),a=i.fragment,o=a.firstChild,1===a.childNodes.length&&(a=o),o)for(n=n&&Z.nodeName(o,"tr"),s=i.cacheable||p-1;p>l;l++)r.call(n&&Z.nodeName(this[l],"table")?h(this[l],"tbody"):this[l],l===s?a:Z.clone(a,!0,!0));a=o=null,c.length&&Z.each(c,function(e,t){t.src?Z.ajax?Z.ajax({url:t.src,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0}):Z.error("no ajax"):Z.globalEval((t.text||t.textContent||t.innerHTML||"").replace(Ze,"")),t.parentNode&&t.parentNode.removeChild(t)})}return this}}),Z.buildFragment=function(e,n,r){var i,o,a,s=e[0];return n=n||q,n=!n.nodeType&&n[0]||n,n=n.ownerDocument||n,!(1===e.length&&"string"==typeof s&&s.length<512&&n===q&&"<"===s.charAt(0))||Xe.test(s)||!Z.support.checkClone&&Ye.test(s)||!Z.support.html5Clone&&Je.test(s)||(o=!0,i=Z.fragments[s],a=i!==t),i||(i=n.createDocumentFragment(),Z.clean(e,n,i,r),o&&(Z.fragments[s]=a&&i)),{fragment:i,cacheable:o}},Z.fragments={},Z.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){Z.fn[e]=function(n){var r,i=0,o=[],a=Z(n),s=a.length,l=1===this.length&&this[0].parentNode;if((null==l||l&&11===l.nodeType&&1===l.childNodes.length)&&1===s)return a[t](this[0]),this;for(;s>i;i++)r=(i>0?this.clone(!0):this).get(),Z(a[i])[t](r),o=o.concat(r);return this.pushStack(o,e,a.selector)}}),Z.extend({clone:function(e,t,n){var r,i,o,a;if(Z.support.html5Clone||Z.isXMLDoc(e)||!Je.test("<"+e.nodeName+">")?a=e.cloneNode(!0):(nt.innerHTML=e.outerHTML,nt.removeChild(a=nt.firstChild)),!(Z.support.noCloneEvent&&Z.support.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||Z.isXMLDoc(e)))for(d(e,a),r=g(e),i=g(a),o=0;r[o];++o)i[o]&&d(r[o],i[o]);if(t&&(f(e,a),n))for(r=g(e),i=g(a),o=0;r[o];++o)f(r[o],i[o]);return r=i=null,a},clean:function(e,t,n,r){var i,o,a,s,l,u,c,h,f,d,g,v=t===q&&tt,y=[];for(t&&"undefined"!=typeof t.createDocumentFragment||(t=q),i=0;null!=(a=e[i]);i++)if("number"==typeof a&&(a+=""),a){if("string"==typeof a)if(Ve.test(a)){for(v=v||p(t),c=t.createElement("div"),v.appendChild(c),a=a.replace(We,"<$1></$2>"),s=(Ue.exec(a)||["",""])[1].toLowerCase(),l=et[s]||et._default,u=l[0],c.innerHTML=l[1]+a+l[2];u--;)c=c.lastChild;if(!Z.support.tbody)for(h=ze.test(a),f="table"!==s||h?"<table>"!==l[1]||h?[]:c.childNodes:c.firstChild&&c.firstChild.childNodes,o=f.length-1;o>=0;--o)Z.nodeName(f[o],"tbody")&&!f[o].childNodes.length&&f[o].parentNode.removeChild(f[o]);!Z.support.leadingWhitespace&&qe.test(a)&&c.insertBefore(t.createTextNode(qe.exec(a)[0]),c.firstChild),a=c.childNodes,c.parentNode.removeChild(c)}else a=t.createTextNode(a);a.nodeType?y.push(a):Z.merge(y,a)}if(c&&(a=c=v=null),!Z.support.appendChecked)for(i=0;null!=(a=y[i]);i++)Z.nodeName(a,"input")?m(a):"undefined"!=typeof a.getElementsByTagName&&Z.grep(a.getElementsByTagName("input"),m);if(n)for(d=function(e){return!e.type||Qe.test(e.type)?r?r.push(e.parentNode?e.parentNode.removeChild(e):e):n.appendChild(e):void 0},i=0;null!=(a=y[i]);i++)Z.nodeName(a,"script")&&d(a)||(n.appendChild(a),"undefined"!=typeof a.getElementsByTagName&&(g=Z.grep(Z.merge([],a.getElementsByTagName("script")),d),y.splice.apply(y,[i+1,0].concat(g)),i+=g.length));return y},cleanData:function(e,t){for(var n,r,i,o,a=0,s=Z.expando,l=Z.cache,u=Z.support.deleteExpando,c=Z.event.special;null!=(i=e[a]);a++)if((t||Z.acceptData(i))&&(r=i[s],n=r&&l[r])){if(n.events)for(o in n.events)c[o]?Z.event.remove(i,o):Z.removeEvent(i,o,n.handle);l[r]&&(delete l[r],u?delete i[s]:i.removeAttribute?i.removeAttribute(s):i[s]=null,Z.deletedIds.push(r))}}}),function(){var e,t;Z.uaMatch=function(e){e=e.toLowerCase();var t=/(chrome)[ \/]([\w.]+)/.exec(e)||/(webkit)[ \/]([\w.]+)/.exec(e)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(e)||/(msie) ([\w.]+)/.exec(e)||e.indexOf("compatible")<0&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(e)||[];return{browser:t[1]||"",version:t[2]||"0"}},e=Z.uaMatch(U.userAgent),t={},e.browser&&(t[e.browser]=!0,t.version=e.version),t.chrome?t.webkit=!0:t.webkit&&(t.safari=!0),Z.browser=t,Z.sub=function(){function e(t,n){return new e.fn.init(t,n)}Z.extend(!0,e,this),e.superclass=this,e.fn=e.prototype=this(),e.fn.constructor=e,e.sub=this.sub,e.fn.init=function(n,r){return r&&r instanceof Z&&!(r instanceof e)&&(r=e(r)),Z.fn.init.call(this,n,r,t)},e.fn.init.prototype=e.fn;var t=e(q);return e}}();var rt,it,ot,at=/alpha\([^)]*\)/i,st=/opacity=([^)]*)/,lt=/^(top|right|bottom|left)$/,ut=/^(none|table(?!-c[ea]).+)/,ct=/^margin/,pt=new RegExp("^("+ee+")(.*)$","i"),ht=new RegExp("^("+ee+")(?!px)[a-z%]+$","i"),ft=new RegExp("^([-+])=("+ee+")","i"),dt={BODY:"block"},gt={position:"absolute",visibility:"hidden",display:"block"},mt={letterSpacing:0,fontWeight:400},vt=["Top","Right","Bottom","Left"],yt=["Webkit","O","Moz","ms"],bt=Z.fn.toggle;Z.fn.extend({css:function(e,n){return Z.access(this,function(e,n,r){return r!==t?Z.style(e,n,r):Z.css(e,n)},e,n,arguments.length>1)},show:function(){return b(this,!0)},hide:function(){return b(this)},toggle:function(e,t){var n="boolean"==typeof e;return Z.isFunction(e)&&Z.isFunction(t)?bt.apply(this,arguments):this.each(function(){(n?e:y(this))?Z(this).show():Z(this).hide()})}}),Z.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=rt(e,"opacity");return""===n?"1":n}}}},cssNumber:{fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":Z.support.cssFloat?"cssFloat":"styleFloat"},style:function(e,n,r,i){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var o,a,s,l=Z.camelCase(n),u=e.style;if(n=Z.cssProps[l]||(Z.cssProps[l]=v(u,l)),s=Z.cssHooks[n]||Z.cssHooks[l],r===t)return s&&"get"in s&&(o=s.get(e,!1,i))!==t?o:u[n];if(a=typeof r,"string"===a&&(o=ft.exec(r))&&(r=(o[1]+1)*o[2]+parseFloat(Z.css(e,n)),a="number"),!(null==r||"number"===a&&isNaN(r)||("number"!==a||Z.cssNumber[l]||(r+="px"),s&&"set"in s&&(r=s.set(e,r,i))===t)))try{u[n]=r}catch(c){}}},css:function(e,n,r,i){var o,a,s,l=Z.camelCase(n);return n=Z.cssProps[l]||(Z.cssProps[l]=v(e.style,l)),s=Z.cssHooks[n]||Z.cssHooks[l],s&&"get"in s&&(o=s.get(e,!0,i)),o===t&&(o=rt(e,n)),"normal"===o&&n in mt&&(o=mt[n]),r||i!==t?(a=parseFloat(o),r||Z.isNumeric(a)?a||0:o):o},swap:function(e,t,n){var r,i,o={};for(i in t)o[i]=e.style[i],e.style[i]=t[i];r=n.call(e);for(i in t)e.style[i]=o[i];return r}}),e.getComputedStyle?rt=function(t,n){var r,i,o,a,s=e.getComputedStyle(t,null),l=t.style;return s&&(r=s.getPropertyValue(n)||s[n],""!==r||Z.contains(t.ownerDocument,t)||(r=Z.style(t,n)),ht.test(r)&&ct.test(n)&&(i=l.width,o=l.minWidth,a=l.maxWidth,l.minWidth=l.maxWidth=l.width=r,r=s.width,l.width=i,l.minWidth=o,l.maxWidth=a)),r}:q.documentElement.currentStyle&&(rt=function(e,t){var n,r,i=e.currentStyle&&e.currentStyle[t],o=e.style;return null==i&&o&&o[t]&&(i=o[t]),ht.test(i)&&!lt.test(t)&&(n=o.left,r=e.runtimeStyle&&e.runtimeStyle.left,r&&(e.runtimeStyle.left=e.currentStyle.left),o.left="fontSize"===t?"1em":i,i=o.pixelLeft+"px",o.left=n,r&&(e.runtimeStyle.left=r)),""===i?"auto":i}),Z.each(["height","width"],function(e,t){Z.cssHooks[t]={get:function(e,n,r){return n?0===e.offsetWidth&&ut.test(rt(e,"display"))?Z.swap(e,gt,function(){return S(e,t,r)}):S(e,t,r):void 0},set:function(e,n,r){return x(e,n,r?w(e,t,r,Z.support.boxSizing&&"border-box"===Z.css(e,"boxSizing")):0)}}}),Z.support.opacity||(Z.cssHooks.opacity={get:function(e,t){return st.test((t&&e.currentStyle?e.currentStyle.filter:e.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":t?"1":""},set:function(e,t){var n=e.style,r=e.currentStyle,i=Z.isNumeric(t)?"alpha(opacity="+100*t+")":"",o=r&&r.filter||n.filter||"";n.zoom=1,t>=1&&""===Z.trim(o.replace(at,""))&&n.removeAttribute&&(n.removeAttribute("filter"),r&&!r.filter)||(n.filter=at.test(o)?o.replace(at,i):o+" "+i)}}),Z(function(){Z.support.reliableMarginRight||(Z.cssHooks.marginRight={get:function(e,t){return Z.swap(e,{display:"inline-block"},function(){return t?rt(e,"marginRight"):void 0})}}),!Z.support.pixelPosition&&Z.fn.position&&Z.each(["top","left"],function(e,t){Z.cssHooks[t]={get:function(e,n){if(n){var r=rt(e,t);return ht.test(r)?Z(e).position()[t]+"px":r}}}})}),Z.expr&&Z.expr.filters&&(Z.expr.filters.hidden=function(e){return 0===e.offsetWidth&&0===e.offsetHeight||!Z.support.reliableHiddenOffsets&&"none"===(e.style&&e.style.display||rt(e,"display"))},Z.expr.filters.visible=function(e){return!Z.expr.filters.hidden(e)}),Z.each({margin:"",padding:"",border:"Width"},function(e,t){Z.cssHooks[e+t]={expand:function(n){var r,i="string"==typeof n?n.split(" "):[n],o={};for(r=0;4>r;r++)o[e+vt[r]+t]=i[r]||i[r-2]||i[0];return o}},ct.test(e)||(Z.cssHooks[e+t].set=x)});var xt=/%20/g,wt=/\[\]$/,St=/\r?\n/g,kt=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,Ct=/^(?:select|textarea)/i;Z.fn.extend({serialize:function(){return Z.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?Z.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||Ct.test(this.nodeName)||kt.test(this.type))}).map(function(e,t){var n=Z(this).val();return null==n?null:Z.isArray(n)?Z.map(n,function(e,n){return{name:t.name,value:e.replace(St,"\r\n")}}):{name:t.name,value:n.replace(St,"\r\n")}}).get()}}),Z.param=function(e,n){var r,i=[],o=function(e,t){t=Z.isFunction(t)?t():null==t?"":t,i[i.length]=encodeURIComponent(e)+"="+encodeURIComponent(t)};if(n===t&&(n=Z.ajaxSettings&&Z.ajaxSettings.traditional),Z.isArray(e)||e.jquery&&!Z.isPlainObject(e))Z.each(e,function(){o(this.name,this.value)});else for(r in e)C(r,e[r],n,o);return i.join("&").replace(xt,"+")};var _t,Et,At=/#.*$/,Nt=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,Tt=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,Pt=/^(?:GET|HEAD)$/,Lt=/^\/\//,jt=/\?/,Ot=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,Mt=/([?&])_=[^&]*/,Dt=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,Ht=Z.fn.load,It={},Rt={},Bt=["*/"]+["*"];try{Et=W.href}catch($t){Et=q.createElement("a"),Et.href="",Et=Et.href}_t=Dt.exec(Et.toLowerCase())||[],Z.fn.load=function(e,n,r){if("string"!=typeof e&&Ht)return Ht.apply(this,arguments);if(!this.length)return this;var i,o,a,s=this,l=e.indexOf(" ");return l>=0&&(i=e.slice(l,e.length),e=e.slice(0,l)),Z.isFunction(n)?(r=n,n=t):n&&"object"==typeof n&&(o="POST"),Z.ajax({url:e,type:o,dataType:"html",data:n,complete:function(e,t){r&&s.each(r,a||[e.responseText,t,e])}}).done(function(e){a=arguments,s.html(i?Z("<div>").append(e.replace(Ot,"")).find(i):e)}),this},Z.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(e,t){Z.fn[t]=function(e){return this.on(t,e)}}),Z.each(["get","post"],function(e,n){Z[n]=function(e,r,i,o){return Z.isFunction(r)&&(o=o||i,i=r,r=t),Z.ajax({type:n,url:e,data:r,success:i,dataType:o})}}),Z.extend({getScript:function(e,n){return Z.get(e,t,n,"script")},getJSON:function(e,t,n){return Z.get(e,t,n,"json")},ajaxSetup:function(e,t){return t?A(e,Z.ajaxSettings):(t=e,e=Z.ajaxSettings),A(e,t),e},ajaxSettings:{url:Et,isLocal:Tt.test(_t[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded; charset=UTF-8",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":Bt},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":e.String,"text html":!0,"text json":Z.parseJSON,"text xml":Z.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:_(It),ajaxTransport:_(Rt),ajax:function(e,n){function r(e,n,r,a){var u,p,y,b,w,k=n;2!==x&&(x=2,l&&clearTimeout(l),s=t,o=a||"",S.readyState=e>0?4:0,r&&(b=N(h,S,r)),e>=200&&300>e||304===e?(h.ifModified&&(w=S.getResponseHeader("Last-Modified"),w&&(Z.lastModified[i]=w),w=S.getResponseHeader("Etag"),w&&(Z.etag[i]=w)),304===e?(k="notmodified",u=!0):(u=T(h,b),k=u.state,p=u.data,y=u.error,u=!y)):(y=k,k&&!e||(k="error",0>e&&(e=0))),S.status=e,S.statusText=(n||k)+"",u?g.resolveWith(f,[p,k,S]):g.rejectWith(f,[S,k,y]),S.statusCode(v),v=t,c&&d.trigger("ajax"+(u?"Success":"Error"),[S,h,u?p:y]),m.fireWith(f,[S,k]),c&&(d.trigger("ajaxComplete",[S,h]),--Z.active||Z.event.trigger("ajaxStop")))}"object"==typeof e&&(n=e,e=t),n=n||{};var i,o,a,s,l,u,c,p,h=Z.ajaxSetup({},n),f=h.context||h,d=f!==h&&(f.nodeType||f instanceof Z)?Z(f):Z.event,g=Z.Deferred(),m=Z.Callbacks("once memory"),v=h.statusCode||{},y={},b={},x=0,w="canceled",S={readyState:0,setRequestHeader:function(e,t){if(!x){var n=e.toLowerCase();e=b[n]=b[n]||e,y[e]=t}return this},getAllResponseHeaders:function(){return 2===x?o:null},getResponseHeader:function(e){var n;if(2===x){if(!a)for(a={};n=Nt.exec(o);)a[n[1].toLowerCase()]=n[2];n=a[e.toLowerCase()]}return n===t?null:n},overrideMimeType:function(e){return x||(h.mimeType=e),this},abort:function(e){return e=e||w,s&&s.abort(e),r(0,e),this}};if(g.promise(S),S.success=S.done,S.error=S.fail,S.complete=m.add,S.statusCode=function(e){if(e){var t;if(2>x)for(t in e)v[t]=[v[t],e[t]];else t=e[S.status],S.always(t)}return this},h.url=((e||h.url)+"").replace(At,"").replace(Lt,_t[1]+"//"),h.dataTypes=Z.trim(h.dataType||"*").toLowerCase().split(ne),null==h.crossDomain&&(u=Dt.exec(h.url.toLowerCase()),h.crossDomain=!(!u||u[1]===_t[1]&&u[2]===_t[2]&&(u[3]||("http:"===u[1]?80:443))==(_t[3]||("http:"===_t[1]?80:443)))),h.data&&h.processData&&"string"!=typeof h.data&&(h.data=Z.param(h.data,h.traditional)),E(It,h,n,S),2===x)return S;if(c=h.global,h.type=h.type.toUpperCase(),h.hasContent=!Pt.test(h.type),c&&0===Z.active++&&Z.event.trigger("ajaxStart"),!h.hasContent&&(h.data&&(h.url+=(jt.test(h.url)?"&":"?")+h.data,delete h.data),i=h.url,h.cache===!1)){var k=Z.now(),C=h.url.replace(Mt,"$1_="+k);h.url=C+(C===h.url?(jt.test(h.url)?"&":"?")+"_="+k:"")}(h.data&&h.hasContent&&h.contentType!==!1||n.contentType)&&S.setRequestHeader("Content-Type",h.contentType),h.ifModified&&(i=i||h.url,Z.lastModified[i]&&S.setRequestHeader("If-Modified-Since",Z.lastModified[i]),Z.etag[i]&&S.setRequestHeader("If-None-Match",Z.etag[i])),S.setRequestHeader("Accept",h.dataTypes[0]&&h.accepts[h.dataTypes[0]]?h.accepts[h.dataTypes[0]]+("*"!==h.dataTypes[0]?", "+Bt+"; q=0.01":""):h.accepts["*"]);for(p in h.headers)S.setRequestHeader(p,h.headers[p]);if(h.beforeSend&&(h.beforeSend.call(f,S,h)===!1||2===x))return S.abort();w="abort";for(p in{success:1,error:1,complete:1})S[p](h[p]);if(s=E(Rt,h,n,S)){S.readyState=1,c&&d.trigger("ajaxSend",[S,h]),h.async&&h.timeout>0&&(l=setTimeout(function(){S.abort("timeout")},h.timeout));try{x=1,s.send(y,r)}catch(_){if(!(2>x))throw _;r(-1,_)}}else r(-1,"No Transport");return S},active:0,lastModified:{},etag:{}});var Ft=[],qt=/\?/,Wt=/(=)\?(?=&|$)|\?\?/,Ut=Z.now();Z.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Ft.pop()||Z.expando+"_"+Ut++;return this[e]=!0,e}}),Z.ajaxPrefilter("json jsonp",function(n,r,i){var o,a,s,l=n.data,u=n.url,c=n.jsonp!==!1,p=c&&Wt.test(u),h=c&&!p&&"string"==typeof l&&!(n.contentType||"").indexOf("application/x-www-form-urlencoded")&&Wt.test(l);return"jsonp"===n.dataTypes[0]||p||h?(o=n.jsonpCallback=Z.isFunction(n.jsonpCallback)?n.jsonpCallback():n.jsonpCallback,a=e[o],p?n.url=u.replace(Wt,"$1"+o):h?n.data=l.replace(Wt,"$1"+o):c&&(n.url+=(qt.test(u)?"&":"?")+n.jsonp+"="+o),n.converters["script json"]=function(){return s||Z.error(o+" was not called"),s[0]},n.dataTypes[0]="json",e[o]=function(){s=arguments},i.always(function(){e[o]=a,n[o]&&(n.jsonpCallback=r.jsonpCallback,Ft.push(o)),s&&Z.isFunction(a)&&a(s[0]),s=a=t}),"script"):void 0}),Z.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(e){return Z.globalEval(e),e}}}),Z.ajaxPrefilter("script",function(e){e.cache===t&&(e.cache=!1),e.crossDomain&&(e.type="GET",e.global=!1)}),Z.ajaxTransport("script",function(e){if(e.crossDomain){var n,r=q.head||q.getElementsByTagName("head")[0]||q.documentElement;return{send:function(i,o){n=q.createElement("script"),n.async="async",e.scriptCharset&&(n.charset=e.scriptCharset),n.src=e.url,n.onload=n.onreadystatechange=function(e,i){(i||!n.readyState||/loaded|complete/.test(n.readyState))&&(n.onload=n.onreadystatechange=null,r&&n.parentNode&&r.removeChild(n),n=t,i||o(200,"success"))},r.insertBefore(n,r.firstChild)},abort:function(){n&&n.onload(0,1)}}}});var zt,Vt=e.ActiveXObject?function(){for(var e in zt)zt[e](0,1)}:!1,Gt=0;Z.ajaxSettings.xhr=e.ActiveXObject?function(){return!this.isLocal&&P()||L()}:P,function(e){Z.extend(Z.support,{ajax:!!e,cors:!!e&&"withCredentials"in e})}(Z.ajaxSettings.xhr()),Z.support.ajax&&Z.ajaxTransport(function(n){if(!n.crossDomain||Z.support.cors){var r;return{send:function(i,o){var a,s,l=n.xhr();if(n.username?l.open(n.type,n.url,n.async,n.username,n.password):l.open(n.type,n.url,n.async),n.xhrFields)for(s in n.xhrFields)l[s]=n.xhrFields[s];n.mimeType&&l.overrideMimeType&&l.overrideMimeType(n.mimeType),n.crossDomain||i["X-Requested-With"]||(i["X-Requested-With"]="XMLHttpRequest");try{for(s in i)l.setRequestHeader(s,i[s])}catch(u){}l.send(n.hasContent&&n.data||null),r=function(e,i){var s,u,c,p,h;try{if(r&&(i||4===l.readyState))if(r=t,a&&(l.onreadystatechange=Z.noop,Vt&&delete zt[a]),i)4!==l.readyState&&l.abort();else{s=l.status,c=l.getAllResponseHeaders(),p={},h=l.responseXML,h&&h.documentElement&&(p.xml=h);try{p.text=l.responseText}catch(f){}try{u=l.statusText}catch(f){u=""}s||!n.isLocal||n.crossDomain?1223===s&&(s=204):s=p.text?200:404}}catch(d){i||o(-1,d)}p&&o(s,u,p,c)},n.async?4===l.readyState?setTimeout(r,0):(a=++Gt,Vt&&(zt||(zt={},Z(e).unload(Vt)),zt[a]=r),l.onreadystatechange=r):r()},abort:function(){r&&r(0,1)}}}});var Xt,Jt,Kt=/^(?:toggle|show|hide)$/,Yt=new RegExp("^(?:([-+])=|)("+ee+")([a-z%]*)$","i"),Qt=/queueHooks$/,Zt=[H],en={"*":[function(e,t){var n,r,i=this.createTween(e,t),o=Yt.exec(t),a=i.cur(),s=+a||0,l=1,u=20;if(o){if(n=+o[2],r=o[3]||(Z.cssNumber[e]?"":"px"),"px"!==r&&s){s=Z.css(i.elem,e,!0)||n||1;do l=l||".5",s/=l,Z.style(i.elem,e,s+r);while(l!==(l=i.cur()/a)&&1!==l&&--u)}i.unit=r,i.start=s,i.end=o[1]?s+(o[1]+1)*n:n}return i}]};Z.Animation=Z.extend(M,{tweener:function(e,t){Z.isFunction(e)?(t=e,e=["*"]):e=e.split(" ");for(var n,r=0,i=e.length;i>r;r++)n=e[r],en[n]=en[n]||[],en[n].unshift(t)},prefilter:function(e,t){t?Zt.unshift(e):Zt.push(e)}}),Z.Tween=I,I.prototype={constructor:I,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||"swing",this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(Z.cssNumber[n]?"":"px")},cur:function(){var e=I.propHooks[this.prop];return e&&e.get?e.get(this):I.propHooks._default.get(this)},run:function(e){var t,n=I.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),n&&n.set?n.set(this):I.propHooks._default.set(this),this}},I.prototype.init.prototype=I.prototype,I.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,!1,""),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}}},I.propHooks.scrollTop=I.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},Z.each(["toggle","show","hide"],function(e,t){var n=Z.fn[t];Z.fn[t]=function(r,i,o){return null==r||"boolean"==typeof r||!e&&Z.isFunction(r)&&Z.isFunction(i)?n.apply(this,arguments):this.animate(R(t,!0),r,i,o)}}),Z.fn.extend({fadeTo:function(e,t,n,r){return this.filter(y).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(e,t,n,r){var i=Z.isEmptyObject(e),o=Z.speed(t,n,r),a=function(){var t=M(this,Z.extend({},e),o);i&&t.stop(!0)};return i||o.queue===!1?this.each(a):this.queue(o.queue,a)},stop:function(e,n,r){var i=function(e){var t=e.stop;delete e.stop,t(r)};return"string"!=typeof e&&(r=n,n=e,e=t),n&&e!==!1&&this.queue(e||"fx",[]),this.each(function(){var t=!0,n=null!=e&&e+"queueHooks",o=Z.timers,a=Z._data(this);if(n)a[n]&&a[n].stop&&i(a[n]);else for(n in a)a[n]&&a[n].stop&&Qt.test(n)&&i(a[n]);
+for(n=o.length;n--;)o[n].elem!==this||null!=e&&o[n].queue!==e||(o[n].anim.stop(r),t=!1,o.splice(n,1));!t&&r||Z.dequeue(this,e)})}}),Z.each({slideDown:R("show"),slideUp:R("hide"),slideToggle:R("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,t){Z.fn[e]=function(e,n,r){return this.animate(t,e,n,r)}}),Z.speed=function(e,t,n){var r=e&&"object"==typeof e?Z.extend({},e):{complete:n||!n&&t||Z.isFunction(e)&&e,duration:e,easing:n&&t||t&&!Z.isFunction(t)&&t};return r.duration=Z.fx.off?0:"number"==typeof r.duration?r.duration:r.duration in Z.fx.speeds?Z.fx.speeds[r.duration]:Z.fx.speeds._default,null!=r.queue&&r.queue!==!0||(r.queue="fx"),r.old=r.complete,r.complete=function(){Z.isFunction(r.old)&&r.old.call(this),r.queue&&Z.dequeue(this,r.queue)},r},Z.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2}},Z.timers=[],Z.fx=I.prototype.init,Z.fx.tick=function(){var e,n=Z.timers,r=0;for(Xt=Z.now();r<n.length;r++)e=n[r],e()||n[r]!==e||n.splice(r--,1);n.length||Z.fx.stop(),Xt=t},Z.fx.timer=function(e){e()&&Z.timers.push(e)&&!Jt&&(Jt=setInterval(Z.fx.tick,Z.fx.interval))},Z.fx.interval=13,Z.fx.stop=function(){clearInterval(Jt),Jt=null},Z.fx.speeds={slow:600,fast:200,_default:400},Z.fx.step={},Z.expr&&Z.expr.filters&&(Z.expr.filters.animated=function(e){return Z.grep(Z.timers,function(t){return e===t.elem}).length});var tn=/^(?:body|html)$/i;Z.fn.offset=function(e){if(arguments.length)return e===t?this:this.each(function(t){Z.offset.setOffset(this,e,t)});var n,r,i,o,a,s,l,u={top:0,left:0},c=this[0],p=c&&c.ownerDocument;if(p)return(r=p.body)===c?Z.offset.bodyOffset(c):(n=p.documentElement,Z.contains(n,c)?("undefined"!=typeof c.getBoundingClientRect&&(u=c.getBoundingClientRect()),i=B(p),o=n.clientTop||r.clientTop||0,a=n.clientLeft||r.clientLeft||0,s=i.pageYOffset||n.scrollTop,l=i.pageXOffset||n.scrollLeft,{top:u.top+s-o,left:u.left+l-a}):u)},Z.offset={bodyOffset:function(e){var t=e.offsetTop,n=e.offsetLeft;return Z.support.doesNotIncludeMarginInBodyOffset&&(t+=parseFloat(Z.css(e,"marginTop"))||0,n+=parseFloat(Z.css(e,"marginLeft"))||0),{top:t,left:n}},setOffset:function(e,t,n){var r=Z.css(e,"position");"static"===r&&(e.style.position="relative");var i,o,a=Z(e),s=a.offset(),l=Z.css(e,"top"),u=Z.css(e,"left"),c=("absolute"===r||"fixed"===r)&&Z.inArray("auto",[l,u])>-1,p={},h={};c?(h=a.position(),i=h.top,o=h.left):(i=parseFloat(l)||0,o=parseFloat(u)||0),Z.isFunction(t)&&(t=t.call(e,n,s)),null!=t.top&&(p.top=t.top-s.top+i),null!=t.left&&(p.left=t.left-s.left+o),"using"in t?t.using.call(e,p):a.css(p)}},Z.fn.extend({position:function(){if(this[0]){var e=this[0],t=this.offsetParent(),n=this.offset(),r=tn.test(t[0].nodeName)?{top:0,left:0}:t.offset();return n.top-=parseFloat(Z.css(e,"marginTop"))||0,n.left-=parseFloat(Z.css(e,"marginLeft"))||0,r.top+=parseFloat(Z.css(t[0],"borderTopWidth"))||0,r.left+=parseFloat(Z.css(t[0],"borderLeftWidth"))||0,{top:n.top-r.top,left:n.left-r.left}}},offsetParent:function(){return this.map(function(){for(var e=this.offsetParent||q.body;e&&!tn.test(e.nodeName)&&"static"===Z.css(e,"position");)e=e.offsetParent;return e||q.body})}}),Z.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,n){var r=/Y/.test(n);Z.fn[e]=function(i){return Z.access(this,function(e,i,o){var a=B(e);return o===t?a?n in a?a[n]:a.document.documentElement[i]:e[i]:void(a?a.scrollTo(r?Z(a).scrollLeft():o,r?o:Z(a).scrollTop()):e[i]=o)},e,i,arguments.length,null)}}),Z.each({Height:"height",Width:"width"},function(e,n){Z.each({padding:"inner"+e,content:n,"":"outer"+e},function(r,i){Z.fn[i]=function(i,o){var a=arguments.length&&(r||"boolean"!=typeof i),s=r||(i===!0||o===!0?"margin":"border");return Z.access(this,function(n,r,i){var o;return Z.isWindow(n)?n.document.documentElement["client"+e]:9===n.nodeType?(o=n.documentElement,Math.max(n.body["scroll"+e],o["scroll"+e],n.body["offset"+e],o["offset"+e],o["client"+e])):i===t?Z.css(n,r,i,s):Z.style(n,r,i,s)},n,a?i:t,a,null)}})}),"object"==typeof n&&n&&"object"==typeof n.exports?n.exports=Z:(e.jQuery=e.$=Z,"function"==typeof define&&define.amd&&define("jquery",[],function(){return Z}))}(window)}),define("lib/jquery.lazyload",[],function(e,t,n){var r=e("jquery");!function(e,t,n,r){var i=e(t);e.fn.lazyload=function(o){function a(){var t=0;l.each(function(){var n=e(this);if(!u.skip_invisible||n.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 n.trigger("appear"),t=0})}var s,l=this,u={threshold:0,failure_limit:0,event:"scroll",effect:"show",container:t,data_attribute:"original",skip_invisible:!0,appear:null,load:null,placeholder:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB/AAffA0nNPuCLAAAAAElFTkSuQmCC"};return o&&(r!==o.failurelimit&&(o.failure_limit=o.failurelimit,delete o.failurelimit),r!==o.effectspeed&&(o.effect_speed=o.effectspeed,delete o.effectspeed),e.extend(u,o)),s=u.container===r||u.container===t?i:e(u.container),0===u.event.indexOf("scroll")&&s.bind(u.event,function(){return a()}),this.each(function(){var t=this,n=e(t);t.loaded=!1,n.attr("src")!==r&&n.attr("src")!==!1||n.is("img")&&n.attr("src",u.placeholder),n.one("appear",function(){if(!this.loaded){if(u.appear){var r=l.length;u.appear.call(t,r,u)}e("<img />").bind("load",function(){var r=n.attr("data-"+u.data_attribute);n.hide(),n.is("img")?n.attr("src",r):n.css("background-image","url('"+r+"')"),n[u.effect](u.effect_speed),t.loaded=!0;var i=e.grep(l,function(e){return!e.loaded});if(l=e(i),u.load){var o=l.length;u.load.call(t,o,u)}}).attr("src",n.attr("data-"+u.data_attribute))}}),0!==u.event.indexOf("scroll")&&n.bind(u.event,function(){t.loaded||n.trigger("appear")})}),i.bind("resize",function(){a()}),/(?:iphone|ipod|ipad).*os 5/gi.test(navigator.appVersion)&&i.bind("pageshow",function(t){t.originalEvent&&t.originalEvent.persisted&&l.each(function(){e(this).trigger("appear")})}),e(n).ready(function(){a()}),this},e.belowthefold=function(n,o){var a;return a=o.container===r||o.container===t?(t.innerHeight?t.innerHeight:i.height())+i.scrollTop():e(o.container).offset().top+e(o.container).height(),a<=e(n).offset().top-o.threshold},e.rightoffold=function(n,o){var a;return a=o.container===r||o.container===t?i.width()+i.scrollLeft():e(o.container).offset().left+e(o.container).width(),a<=e(n).offset().left-o.threshold},e.abovethetop=function(n,o){var a;return a=o.container===r||o.container===t?i.scrollTop():e(o.container).offset().top,a>=e(n).offset().top+o.threshold+e(n).height()},e.leftofbegin=function(n,o){var a;return a=o.container===r||o.container===t?i.scrollLeft():e(o.container).offset().left,a>=e(n).offset().left+o.threshold+e(n).width()},e.inviewport=function(t,n){return!(e.rightoffold(t,n)||e.leftofbegin(t,n)||e.belowthefold(t,n)||e.abovethetop(t,n))},e.extend(e.expr[":"],{"below-the-fold":function(t){return e.belowthefold(t,{threshold:0})},"above-the-top":function(t){return!e.belowthefold(t,{threshold:0})},"right-of-screen":function(t){return e.rightoffold(t,{threshold:0})},"left-of-screen":function(t){return!e.rightoffold(t,{threshold:0})},"in-viewport":function(t){return e.inviewport(t,{threshold:0})},"above-the-fold":function(t){return!e.belowthefold(t,{threshold:0})},"right-of-fold":function(t){return e.rightoffold(t,{threshold:0})},"left-of-fold":function(t){return!e.rightoffold(t,{threshold:0})}})}(r,window,document)}),define("handlebars",[],function(e,t,n){!function(e,r){"object"==typeof t&&"object"==typeof n?n.exports=r():"function"==typeof define&&define.amd?define(r):"object"==typeof t?t.Handlebars=r():e.Handlebars=r()}(this,function(){return function(e){function t(r){if(n[r])return n[r].exports;var i=n[r]={exports:{},id:r,loaded:!1};return e[r].call(i.exports,i,i.exports,t),i.loaded=!0,i.exports}var n={};return t.m=e,t.c=n,t.p="",t(0)}([function(e,t,n){"use strict";function r(){var e=v();return e.compile=function(t,n){return c.compile(t,n,e)},e.precompile=function(t,n){return c.precompile(t,n,e)},e.AST=l["default"],e.Compiler=c.Compiler,e.JavaScriptCompiler=h["default"],e.Parser=u.parser,e.parse=u.parse,e}var i=n(8)["default"];t.__esModule=!0;var o=n(1),a=i(o),s=n(2),l=i(s),u=n(3),c=n(4),p=n(5),h=i(p),f=n(6),d=i(f),g=n(7),m=i(g),v=a["default"].create,y=r();y.create=r,m["default"](y),y.Visitor=d["default"],y["default"]=y,t["default"]=y,e.exports=t["default"]},function(e,t,n){"use strict";function r(){var e=new s.HandlebarsEnvironment;return f.extend(e,s),e.SafeString=u["default"],e.Exception=p["default"],e.Utils=f,e.escapeExpression=f.escapeExpression,e.VM=g,e.template=function(t){return g.template(t,e)},e}var i=n(9)["default"],o=n(8)["default"];t.__esModule=!0;var a=n(10),s=i(a),l=n(11),u=o(l),c=n(12),p=o(c),h=n(13),f=i(h),d=n(14),g=i(d),m=n(7),v=o(m),y=r();y.create=r,v["default"](y),y["default"]=y,t["default"]=y,e.exports=t["default"]},function(e,t,n){"use strict";t.__esModule=!0;var r={Program:function(e,t,n,r){this.loc=r,this.type="Program",this.body=e,this.blockParams=t,this.strip=n},MustacheStatement:function(e,t,n,r,i,o){this.loc=o,this.type="MustacheStatement",this.path=e,this.params=t||[],this.hash=n,this.escaped=r,this.strip=i},BlockStatement:function(e,t,n,r,i,o,a,s,l){this.loc=l,this.type="BlockStatement",this.path=e,this.params=t||[],this.hash=n,this.program=r,this.inverse=i,this.openStrip=o,this.inverseStrip=a,this.closeStrip=s},PartialStatement:function(e,t,n,r,i){this.loc=i,this.type="PartialStatement",this.name=e,this.params=t||[],this.hash=n,this.indent="",this.strip=r},ContentStatement:function(e,t){this.loc=t,this.type="ContentStatement",this.original=this.value=e},CommentStatement:function(e,t,n){this.loc=n,this.type="CommentStatement",this.value=e,this.strip=t},SubExpression:function(e,t,n,r){this.loc=r,this.type="SubExpression",this.path=e,this.params=t||[],this.hash=n},PathExpression:function(e,t,n,r,i){this.loc=i,this.type="PathExpression",this.data=e,this.original=r,this.parts=n,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,n){this.loc=n,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&&!r.helpers.scopedId(e)&&!e.depth}}};t["default"]=r,e.exports=t["default"]},function(e,t,n){"use strict";function r(e,t){if("Program"===e.type)return e;s["default"].yy=g,g.locInfo=function(e){return new g.SourceLocation(t&&t.srcName,e)};var n=new p["default"];return n.accept(s["default"].parse(e))}var i=n(8)["default"],o=n(9)["default"];t.__esModule=!0,t.parse=r;var a=n(15),s=i(a),l=n(2),u=i(l),c=n(16),p=i(c),h=n(17),f=o(h),d=n(13);t.parser=s["default"];var g={};d.extend(g,f,u["default"])},function(e,t,n){"use strict";function r(){}function i(e,t,n){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 r=n.parse(e,t),i=(new n.Compiler).compile(r,t);return(new n.JavaScriptCompiler).compile(i,t)}function o(e,t,n){function r(){var t=n.parse(e,o),r=(new n.Compiler).compile(t,o),i=(new n.JavaScriptCompiler).compile(r,o,void 0,!0);return n.template(i)}function i(e,t){return a||(a=r()),a.call(this,e,t)}var o=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 o||(o.data=!0),o.compat&&(o.useDepths=!0);var a=void 0;return i._setup=function(e){return a||(a=r()),a._setup(e)},i._child=function(e,t,n,i){return a||(a=r()),a._child(e,t,n,i)},i}function a(e,t){if(e===t)return!0;if(p.isArray(e)&&p.isArray(t)&&e.length===t.length){for(var n=0;n<e.length;n++)if(!a(e[n],t[n]))return!1;return!0}}function s(e){if(!e.path.parts){var t=e.path;e.path=new f["default"].PathExpression(!1,0,[t.original+""],t.original+"",t.loc)}}var l=n(8)["default"];t.__esModule=!0,t.Compiler=r,t.precompile=i,t.compile=o;var u=n(12),c=l(u),p=n(13),h=n(2),f=l(h),d=[].slice;r.prototype={compiler:r,equals:function(e){var t=this.opcodes.length;if(e.opcodes.length!==t)return!1;for(var n=0;t>n;n++){var r=this.opcodes[n],i=e.opcodes[n];if(r.opcode!==i.opcode||!a(r.args,i.args))return!1}t=this.children.length;for(var n=0;t>n;n++)if(!this.children[n].equals(e.children[n]))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 n=t.knownHelpers;if(t.knownHelpers={helperMissing:!0,blockHelperMissing:!0,each:!0,"if":!0,unless:!0,"with":!0,log:!0,lookup:!0},n)for(var r in n)r in n&&(t.knownHelpers[r]=n[r]);return this.accept(e)},compileProgram:function(e){var t=new this.compiler,n=t.compile(e,this.options),r=this.guid++;return this.usePartial=this.usePartial||n.usePartial,this.children[r]=n,this.useDepths=this.useDepths||n.useDepths,r},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,n=t.length,r=0;n>r;r++)this.accept(t[r]);return this.options.blockParams.shift(),this.isSimple=1===n,this.blockParams=e.blockParams?e.blockParams.length:0,this},BlockStatement:function(e){s(e);var t=e.program,n=e.inverse;t=t&&this.compileProgram(t),n=n&&this.compileProgram(n);var r=this.classifySexpr(e);"helper"===r?this.helperSexpr(e,t,n):"simple"===r?(this.simpleSexpr(e),this.opcode("pushProgram",t),this.opcode("pushProgram",n),this.opcode("emptyHash"),this.opcode("blockValue",e.path.original)):(this.ambiguousSexpr(e,t,n),this.opcode("pushProgram",t),this.opcode("pushProgram",n),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 n=e.name.original,r="SubExpression"===e.name.type;r&&this.accept(e.name),this.setupFullMustacheParams(e,void 0,void 0,!0);var i=e.indent||"";this.options.preventIndent&&i&&(this.opcode("appendContent",i),i=""),this.opcode("invokePartial",r,n,i),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){s(e);var t=this.classifySexpr(e);"simple"===t?this.simpleSexpr(e):"helper"===t?this.helperSexpr(e):this.ambiguousSexpr(e)},ambiguousSexpr:function(e,t,n){var r=e.path,i=r.parts[0],o=null!=t||null!=n;this.opcode("getContext",r.depth),this.opcode("pushProgram",t),this.opcode("pushProgram",n),this.accept(r),this.opcode("invokeAmbiguous",i,o)},simpleSexpr:function(e){this.accept(e.path),this.opcode("resolvePossibleLambda")},helperSexpr:function(e,t,n){var r=this.setupFullMustacheParams(e,t,n),i=e.path,o=i.parts[0];if(this.options.knownHelpers[o])this.opcode("invokeKnownHelper",r.length,o);else{if(this.options.knownHelpersOnly)throw new c["default"]("You specified knownHelpersOnly, but used the unknown helper "+o,e);i.falsy=!0,this.accept(i),this.opcode("invokeHelper",r.length,i.original,f["default"].helpers.simpleId(i))}},PathExpression:function(e){this.addDepth(e.depth),this.opcode("getContext",e.depth);var t=e.parts[0],n=f["default"].helpers.scopedId(e),r=!e.depth&&!n&&this.blockParamIndex(t);r?this.opcode("lookupBlockParam",r,e.parts):t?e.data?(this.options.data=!0,this.opcode("lookupData",e.depth,e.parts)):this.opcode("lookupOnContext",e.parts,e.falsy,n):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,n=0,r=t.length;for(this.opcode("pushHash");r>n;n++)this.pushParam(t[n].value);for(;n--;)this.opcode("assignToHash",t[n].key);this.opcode("popHash")},opcode:function(e){this.opcodes.push({opcode:e,args:d.call(arguments,1),loc:this.sourceNode[0].loc})},addDepth:function(e){e&&(this.useDepths=!0)},classifySexpr:function(e){var t=f["default"].helpers.simpleId(e.path),n=t&&!!this.blockParamIndex(e.path.parts[0]),r=!n&&f["default"].helpers.helperExpression(e),i=!n&&(r||t);if(i&&!r){var o=e.path.parts[0],a=this.options;a.knownHelpers[o]?r=!0:a.knownHelpersOnly&&(i=!1)}return r?"helper":i?"ambiguous":"simple"},pushParams:function(e){for(var t=0,n=e.length;n>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 n=void 0;if(!e.parts||f["default"].helpers.scopedId(e)||e.depth||(n=this.blockParamIndex(e.parts[0])),n){var r=e.parts.slice(1).join(".");this.opcode("pushId","BlockParam",n,r)}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,n,r){var i=e.params;return this.pushParams(i),this.opcode("pushProgram",t),this.opcode("pushProgram",n),e.hash?this.accept(e.hash):this.opcode("emptyHash",r),i},blockParamIndex:function(e){for(var t=0,n=this.options.blockParams.length;n>t;t++){var r=this.options.blockParams[t],i=r&&p.indexOf(r,e);if(r&&i>=0)return[t,i]}}}},function(e,t,n){"use strict";function r(e){this.value=e}function i(){}function o(e,t,n,r){var i=t.popStack(),o=0,a=n.length;for(e&&a--;a>o;o++)i=t.nameLookup(i,n[o],r);return e?[t.aliasable("this.strict"),"(",i,", ",t.quotedString(n[o]),")"]:i}var a=n(8)["default"];t.__esModule=!0;var s=n(10),l=n(12),u=a(l),c=n(13),p=n(18),h=a(p);i.prototype={nameLookup:function(e,t){return i.isValidJavaScriptVariableName(t)?[e,".",t]:[e,"['",t,"']"]},depthedLookup:function(e){return[this.aliasable("this.lookup"),'(depths, "',e,'")']},compilerInfo:function(){var e=s.COMPILER_REVISION,t=s.REVISION_CHANGES[e];return[e,t]},appendToBuffer:function(e,t,n){return c.isArray(e)||(e=[e]),e=this.source.wrap(e,t),this.environment.isSimple?["return ",e,";"]:n?["buffer += ",e,";"]:(e.appendToBuffer=!0,e)},initializeBuffer:function(){return this.quotedString("")},compile:function(e,t,n,r){this.environment=e,this.options=t,this.stringParams=this.options.stringParams,this.trackIds=this.options.trackIds,this.precompile=!r,this.name=this.environment.name,this.isChild=!!n,this.context=n||{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 i=e.opcodes,o=void 0,a=void 0,s=void 0,l=void 0;for(s=0,l=i.length;l>s;s++)o=i[s],this.source.currentLocation=o.loc,a=a||o.loc,this[o.opcode].apply(this,o.args);if(this.source.currentLocation=a,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(r);if(this.isChild)return c;var p={compiler:this.compilerInfo(),main:c},h=this.context.programs;for(s=0,l=h.length;l>s;s++)h[s]&&(p[s]=h[s]);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),r?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="",n=this.stackVars.concat(this.registers.list);n.length>0&&(t+=", "+n.join(", "));var r=0;for(var i in this.aliases){var o=this.aliases[i];this.aliases.hasOwnProperty(i)&&o.children&&o.referenceCount>1&&(t+=", alias"+ ++r+"="+i,o.children[0]="alias"+r)}var a=["depth0","helpers","partials","data"];(this.useBlockParams||this.useDepths)&&a.push("blockParams"),this.useDepths&&a.push("depths");var s=this.mergeSource(t);return e?(a.push(s),Function.apply(this,a)):this.source.wrap(["function(",a.join(","),") {\n  ",s,"}"])},mergeSource:function(e){var t=this.environment.isSimple,n=!this.forceBuffer,r=void 0,i=void 0,o=void 0,a=void 0;return this.source.each(function(e){e.appendToBuffer?(o?e.prepend("  + "):o=e,a=e):(o&&(i?o.prepend("buffer += "):r=!0,a.add(";"),o=a=void 0),i=!0,t||(n=!1))}),n?o?(o.prepend("return "),a.add(";")):i||this.source.push('return "";'):(e+=", buffer = "+(r?"":this.initializeBuffer()),o?(o.prepend("return buffer + "),a.add(";")):this.source.push("return buffer;")),e&&this.source.prepend("var "+e.substring(2)+(r?"":";\n")),this.source.merge()},blockValue:function(e){var t=this.aliasable("helpers.blockHelperMissing"),n=[this.contextName(0)];this.setupHelperArgs(e,0,n);var r=this.popStack();n.splice(1,0,r),this.push(this.source.functionCall(t,"call",n))},ambiguousBlockValue:function(){var e=this.aliasable("helpers.blockHelperMissing"),t=[this.contextName(0)];this.setupHelperArgs("",0,t,!0),this.flushInline();var n=this.topStack();t.splice(1,0,n),this.pushSource(["if (!",this.lastHelper,") { ",n," = ",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,n){var r=0;n||!this.options.compat||this.lastContext?this.pushContext():this.push(this.depthedLookup(e[r++])),this.resolvePath("context",e,r,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,n,r){var i=this;if(this.options.strict||this.options.assumeObjects)return void this.push(o(this.options.strict,this,t,e));for(var a=t.length;a>n;n++)this.replaceStack(function(o){var a=i.nameLookup(o,t[n],e);return r?[" && ",a]:[" != null ? ",a," : ",o]})},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,n){var r=this.popStack(),i=this.setupHelper(e,t),o=n?[i.name," || "]:"",a=["("].concat(o,r);this.options.strict||a.push(" || ",this.aliasable("helpers.helperMissing")),a.push(")"),this.push(this.source.functionCall(a,"call",i.callParams))},invokeKnownHelper:function(e,t){var n=this.setupHelper(e,t);this.push(this.source.functionCall(n.name,"call",n.callParams))},invokeAmbiguous:function(e,t){this.useRegister("helper");var n=this.popStack();this.emptyHash();var r=this.setupHelper(0,e,t),i=this.lastHelper=this.nameLookup("helpers",e,"helper"),o=["(","(helper = ",i," || ",n,")"];this.options.strict||(o[0]="(helper = ",o.push(" != null ? helper : ",this.aliasable("helpers.helperMissing"))),this.push(["(",o,r.paramsInit?["),(",r.paramsInit]:[],"),","(typeof helper === ",this.aliasable('"function"')," ? ",this.source.functionCall("helper","call",r.callParams)," : helper))"])},invokePartial:function(e,t,n){var r=[],i=this.setupParams(t,1,r,!1);e&&(t=this.popStack(),delete i.name),n&&(i.indent=JSON.stringify(n)),i.helpers="helpers",i.partials="partials",e?r.unshift(t):r.unshift(this.nameLookup("partials",t,"partial")),this.options.compat&&(i.depths="depths"),i=this.objectLiteral(i),r.push(i),this.push(this.source.functionCall("this.invokePartial","",r))},assignToHash:function(e){var t=this.popStack(),n=void 0,r=void 0,i=void 0;this.trackIds&&(i=this.popStack()),this.stringParams&&(r=this.popStack(),n=this.popStack());var o=this.hash;n&&(o.contexts[e]=n),r&&(o.types[e]=r),i&&(o.ids[e]=i),o.values[e]=t},pushId:function(e,t,n){"BlockParam"===e?this.pushStackLiteral("blockParams["+t[0]+"].path["+t[1]+"]"+(n?" + "+JSON.stringify("."+n):"")):"PathExpression"===e?this.pushString(t):"SubExpression"===e?this.pushStackLiteral("true"):this.pushStackLiteral("null")},compiler:i,compileChildren:function(e,t){for(var n=e.children,r=void 0,i=void 0,o=0,a=n.length;a>o;o++){r=n[o],i=new this.compiler;var s=this.matchExistingProgram(r);null==s?(this.context.programs.push(""),s=this.context.programs.length,r.index=s,r.name="program"+s,this.context.programs[s]=i.compile(r,t,this.context,!this.precompile),this.context.environments[s]=r,this.useDepths=this.useDepths||i.useDepths,this.useBlockParams=this.useBlockParams||i.useBlockParams):(r.index=s,r.name="program"+s,this.useDepths=this.useDepths||r.useDepths,this.useBlockParams=this.useBlockParams||r.useBlockParams)}},matchExistingProgram:function(e){for(var t=0,n=this.context.environments.length;n>t;t++){var r=this.context.environments[t];if(r&&r.equals(e))return t}},programExpression:function(e){var t=this.environment.children[e],n=[t.index,"data",t.blockParams];return(this.useBlockParams||this.useDepths)&&n.push("blockParams"),this.useDepths&&n.push("depths"),"this.program("+n.join(", ")+")"},useRegister:function(e){this.registers[e]||(this.registers[e]=!0,this.registers.list.push(e))},push:function(e){return e instanceof r||(e=this.source.wrap(e)),this.inlineStack.push(e),e},pushStackLiteral:function(e){this.push(new r(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=["("],n=void 0,i=void 0,o=void 0;if(!this.isInline())throw new u["default"]("replaceStack on non-inline");var a=this.popStack(!0);if(a instanceof r)n=[a.value],t=["(",n],o=!0;else{i=!0;var s=this.incrStack();t=["((",this.push(s)," = ",a,")"],n=this.topStack()}var l=e.call(this,n);o||this.popStack(),i&&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,n=e.length;n>t;t++){var i=e[t];if(i instanceof r)this.compileStack.push(i);else{var o=this.incrStack();this.pushSource([o," = ",i,";"]),this.compileStack.push(o)}}},isInline:function(){return this.inlineStack.length},popStack:function(e){var t=this.isInline(),n=(t?this.inlineStack:this.compileStack).pop();if(!e&&n instanceof r)return n.value;if(!t){if(!this.stackSlot)throw new u["default"]("Invalid stack pop");this.stackSlot--}return n},topStack:function(){var e=this.isInline()?this.inlineStack:this.compileStack,t=e[e.length-1];return t instanceof r?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,n){var r=[],i=this.setupHelperArgs(t,e,r,n),o=this.nameLookup("helpers",t,"helper");return{params:r,paramsInit:i,name:o,callParams:[this.contextName(0)].concat(r)}},setupParams:function(e,t,n){var r={},i=[],o=[],a=[],s=void 0;r.name=this.quotedString(e),r.hash=this.popStack(),this.trackIds&&(r.hashIds=this.popStack()),this.stringParams&&(r.hashTypes=this.popStack(),r.hashContexts=this.popStack());var l=this.popStack(),u=this.popStack();(u||l)&&(r.fn=u||"this.noop",r.inverse=l||"this.noop");for(var c=t;c--;)s=this.popStack(),n[c]=s,this.trackIds&&(a[c]=this.popStack()),this.stringParams&&(o[c]=this.popStack(),i[c]=this.popStack());return this.trackIds&&(r.ids=this.source.generateArray(a)),this.stringParams&&(r.types=this.source.generateArray(o),r.contexts=this.source.generateArray(i)),this.options.data&&(r.data="data"),this.useBlockParams&&(r.blockParams="blockParams"),r},setupHelperArgs:function(e,t,n,r){var i=this.setupParams(e,t,n,!0);return i=this.objectLiteral(i),r?(this.useRegister("options"),n.push("options"),["options=",i]):(n.push(i),"")}},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=i.RESERVED_WORDS={},n=0,r=e.length;r>n;n++)t[e[n]]=!0}(),i.isValidJavaScriptVariableName=function(e){return!i.RESERVED_WORDS[e]&&/^[a-zA-Z_$][0-9a-zA-Z_$]*$/.test(e)},t["default"]=i,e.exports=t["default"]},function(e,t,n){"use strict";function r(){this.parents=[]}var i=n(8)["default"];t.__esModule=!0;var o=n(12),a=i(o),s=n(2),l=i(s);r.prototype={constructor:r,mutating:!1,acceptKey:function(e,t){var n=this.accept(e[t]);if(this.mutating){if(n&&(!n.type||!l["default"][n.type]))throw new a["default"]('Unexpected node type "'+n.type+'" found when accepting '+t+" on "+e.type);
+e[t]=n}},acceptRequired:function(e,t){if(this.acceptKey(e,t),!e[t])throw new a["default"](e.type+" requires "+t)},acceptArray:function(e){for(var t=0,n=e.length;n>t;t++)this.acceptKey(e,t),e[t]||(e.splice(t,1),t--,n--)},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"]=r,e.exports=t["default"]},function(e,t,n){(function(n){"use strict";t.__esModule=!0,t["default"]=function(e){var t="undefined"!=typeof n?n:window,r=t.Handlebars;e.noConflict=function(){t.Handlebars===e&&(t.Handlebars=r)}},e.exports=t["default"]}).call(t,function(){return this}())},function(e,t,n){"use strict";t["default"]=function(e){return e&&e.__esModule?e:{"default":e}},t.__esModule=!0},function(e,t,n){"use strict";t["default"]=function(e){if(e&&e.__esModule)return e;var t={};if("object"==typeof e&&null!==e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t["default"]=e,t},t.__esModule=!0},function(e,t,n){"use strict";function r(e,t){this.helpers=e||{},this.partials=t||{},i(this)}function i(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,n){var r=n.inverse,i=n.fn;if(t===!0)return i(this);if(t===!1||null==t)return r(this);if(g(t))return t.length>0?(n.ids&&(n.ids=[n.name]),e.helpers.each(t,n)):r(this);if(n.data&&n.ids){var a=o(n.data);a.contextPath=u.appendContextPath(n.data.contextPath,n.name),n={data:a}}return i(t,n)}),e.registerHelper("each",function(e,t){function n(t,n,i){l&&(l.key=t,l.index=n,l.first=0===n,l.last=!!i,c&&(l.contextPath=c+t)),s+=r(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 r=t.fn,i=t.inverse,a=0,s="",l=void 0,c=void 0;if(t.data&&t.ids&&(c=u.appendContextPath(t.data.contextPath,t.ids[0])+"."),m(e)&&(e=e.call(this)),t.data&&(l=o(t.data)),e&&"object"==typeof e)if(g(e))for(var h=e.length;h>a;a++)n(a,a,a===e.length-1);else{var f=void 0;for(var d in e)e.hasOwnProperty(d)&&(f&&n(f,a-1),f=d,a++);f&&n(f,a-1,!0)}return 0===a&&(s=i(this)),s}),e.registerHelper("if",function(e,t){return m(e)&&(e=e.call(this)),!t.hash.includeZero&&!e||u.isEmpty(e)?t.inverse(this):t.fn(this)}),e.registerHelper("unless",function(t,n){return e.helpers["if"].call(this,t,{fn:n.inverse,inverse:n.fn,hash:n.hash})}),e.registerHelper("with",function(e,t){m(e)&&(e=e.call(this));var n=t.fn;if(u.isEmpty(e))return t.inverse(this);if(t.data&&t.ids){var r=o(t.data);r.contextPath=u.appendContextPath(t.data.contextPath,t.ids[0]),t={data:r}}return n(e,t)}),e.registerHelper("log",function(t,n){var r=n.data&&null!=n.data.level?parseInt(n.data.level,10):1;e.log(r,t)}),e.registerHelper("lookup",function(e,t){return e&&e[t]})}function o(e){var t=u.extend({},e);return t._parent=e,t}var a=n(9)["default"],s=n(8)["default"];t.__esModule=!0,t.HandlebarsEnvironment=r,t.createFrame=o;var l=n(13),u=a(l),c=n(12),p=s(c),h="3.0.1";t.VERSION=h;var f=6;t.COMPILER_REVISION=f;var d={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=d;var g=u.isArray,m=u.isFunction,v=u.toString,y="[object Object]";r.prototype={constructor:r,logger:b,log:x,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 b={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&&b.level<=e){var n=b.methodMap[e];(console[n]||console.log).call(console,t)}}};t.logger=b;var x=b.log;t.log=x},function(e,t,n){"use strict";function r(e){this.string=e}t.__esModule=!0,r.prototype.toString=r.prototype.toHTML=function(){return""+this.string},t["default"]=r,e.exports=t["default"]},function(e,t,n){"use strict";function r(e,t){var n=t&&t.loc,o=void 0,a=void 0;n&&(o=n.start.line,a=n.start.column,e+=" - "+o+":"+a);for(var s=Error.prototype.constructor.call(this,e),l=0;l<i.length;l++)this[i[l]]=s[i[l]];Error.captureStackTrace&&Error.captureStackTrace(this,r),n&&(this.lineNumber=o,this.column=a)}t.__esModule=!0;var i=["description","fileName","lineNumber","message","name","number","stack"];r.prototype=new Error,t["default"]=r,e.exports=t["default"]},function(e,t,n){"use strict";function r(e){return c[e]}function i(e){for(var t=1;t<arguments.length;t++)for(var n in arguments[t])Object.prototype.hasOwnProperty.call(arguments[t],n)&&(e[n]=arguments[t][n]);return e}function o(e,t){for(var n=0,r=e.length;r>n;n++)if(e[n]===t)return n;return-1}function a(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,r):e}function s(e){return e||0===e?!(!g(e)||0!==e.length):!0}function l(e,t){return e.path=t,e}function u(e,t){return(e?e+".":"")+t}t.__esModule=!0,t.extend=i,t.indexOf=o,t.escapeExpression=a,t.isEmpty=s,t.blockParams=l,t.appendContextPath=u;var c={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;","`":"&#x60;"},p=/[&<>"'`]/g,h=/[&<>"'`]/,f=Object.prototype.toString;t.toString=f;var d=function(e){return"function"==typeof e};d(/x/)&&(t.isFunction=d=function(e){return"function"==typeof e&&"[object Function]"===f.call(e)});var d;t.isFunction=d;var g=Array.isArray||function(e){return e&&"object"==typeof e?"[object Array]"===f.call(e):!1};t.isArray=g},function(e,t,n){"use strict";function r(e){var t=e&&e[0]||1,n=m.COMPILER_REVISION;if(t!==n){if(n>t){var r=m.REVISION_CHANGES[n],i=m.REVISION_CHANGES[t];throw new g["default"]("Template was precompiled with an older version of Handlebars than the current runtime. Please update your precompiler to a newer version ("+r+") or downgrade your runtime to an older version ("+i+").")}throw new g["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 i(e,t){function n(n,r,i){i.hash&&(r=f.extend({},r,i.hash)),n=t.VM.resolvePartial.call(this,n,r,i);var o=t.VM.invokePartial.call(this,n,r,i);if(null==o&&t.compile&&(i.partials[i.name]=t.compile(n,e.compilerOptions,t),o=i.partials[i.name](r,i)),null!=o){if(i.indent){for(var a=o.split("\n"),s=0,l=a.length;l>s&&(a[s]||s+1!==l);s++)a[s]=i.indent+a[s];o=a.join("\n")}return o}throw new g["default"]("The partial "+i.name+" could not be compiled when running in runtime-only mode")}function r(t){var n=void 0===arguments[1]?{}:arguments[1],o=n.data;r._setup(n),!n.partial&&e.useData&&(o=u(t,o));var a=void 0,s=e.useBlockParams?[]:void 0;return e.useDepths&&(a=n.depths?[t].concat(n.depths):[t]),e.main.call(i,t,i.helpers,i.partials,o,s,a)}if(!t)throw new g["default"]("No environment passed to template");if(!e||!e.main)throw new g["default"]("Unknown template object: "+typeof e);t.VM.checkRevision(e.compiler);var i={strict:function(e,t){if(!(t in e))throw new g["default"]('"'+t+'" not defined in '+e);return e[t]},lookup:function(e,t){for(var n=e.length,r=0;n>r;r++)if(e[r]&&null!=e[r][t])return e[r][t]},lambda:function(e,t){return"function"==typeof e?e.call(t):e},escapeExpression:f.escapeExpression,invokePartial:n,fn:function(t){return e[t]},programs:[],program:function(e,t,n,r,i){var a=this.programs[e],s=this.fn(e);return t||i||r||n?a=o(this,e,s,t,n,r,i):a||(a=this.programs[e]=o(this,e,s)),a},data:function(e,t){for(;e&&t--;)e=e._parent;return e},merge:function(e,t){var n=e||t;return e&&t&&e!==t&&(n=f.extend({},t,e)),n},noop:t.VM.noop,compilerInfo:e.compiler};return r.isTop=!0,r._setup=function(n){n.partial?(i.helpers=n.helpers,i.partials=n.partials):(i.helpers=i.merge(n.helpers,t.helpers),e.usePartial&&(i.partials=i.merge(n.partials,t.partials)))},r._child=function(t,n,r,a){if(e.useBlockParams&&!r)throw new g["default"]("must pass block params");if(e.useDepths&&!a)throw new g["default"]("must pass parent depths");return o(i,t,e[t],n,0,r,a)},r}function o(e,t,n,r,i,o,a){function s(t){var i=void 0===arguments[1]?{}:arguments[1];return n.call(e,t,e.helpers,e.partials,i.data||r,o&&[i.blockParams].concat(o),a&&[t].concat(a))}return s.program=t,s.depth=a?a.length:0,s.blockParams=i||0,s}function a(e,t,n){return e?e.call||n.name||(n.name=e,e=n.partials[e]):e=n.partials[n.name],e}function s(e,t,n){if(n.partial=!0,void 0===e)throw new g["default"]("The partial "+n.name+" could not be found");return e instanceof Function?e(t,n):void 0}function l(){return""}function u(e,t){return t&&"root"in t||(t=t?m.createFrame(t):{},t.root=e),t}var c=n(9)["default"],p=n(8)["default"];t.__esModule=!0,t.checkRevision=r,t.template=i,t.wrapProgram=o,t.resolvePartial=a,t.invokePartial=s,t.noop=l;var h=n(13),f=c(h),d=n(12),g=p(d),m=n(10)},function(e,t,n){"use strict";t.__esModule=!0;var r=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,n,r,i,o,a){var s=o.length-1;switch(i){case 1:return o[s-1];case 2:this.$=new r.Program(o[s],null,{},r.locInfo(this._$));break;case 3:this.$=o[s];break;case 4:this.$=o[s];break;case 5:this.$=o[s];break;case 6:this.$=o[s];break;case 7:this.$=o[s];break;case 8:this.$=new r.CommentStatement(r.stripComment(o[s]),r.stripFlags(o[s],o[s]),r.locInfo(this._$));break;case 9:this.$=new r.ContentStatement(o[s],r.locInfo(this._$));break;case 10:this.$=r.prepareRawBlock(o[s-2],o[s-1],o[s],this._$);break;case 11:this.$={path:o[s-3],params:o[s-2],hash:o[s-1]};break;case 12:this.$=r.prepareBlock(o[s-3],o[s-2],o[s-1],o[s],!1,this._$);break;case 13:this.$=r.prepareBlock(o[s-3],o[s-2],o[s-1],o[s],!0,this._$);break;case 14:this.$={path:o[s-4],params:o[s-3],hash:o[s-2],blockParams:o[s-1],strip:r.stripFlags(o[s-5],o[s])};break;case 15:this.$={path:o[s-4],params:o[s-3],hash:o[s-2],blockParams:o[s-1],strip:r.stripFlags(o[s-5],o[s])};break;case 16:this.$={path:o[s-4],params:o[s-3],hash:o[s-2],blockParams:o[s-1],strip:r.stripFlags(o[s-5],o[s])};break;case 17:this.$={strip:r.stripFlags(o[s-1],o[s-1]),program:o[s]};break;case 18:var l=r.prepareBlock(o[s-2],o[s-1],o[s],o[s],!1,this._$),u=new r.Program([l],null,{},r.locInfo(this._$));u.chained=!0,this.$={strip:o[s-2].strip,program:u,chain:!0};break;case 19:this.$=o[s];break;case 20:this.$={path:o[s-1],strip:r.stripFlags(o[s-2],o[s])};break;case 21:this.$=r.prepareMustache(o[s-3],o[s-2],o[s-1],o[s-4],r.stripFlags(o[s-4],o[s]),this._$);break;case 22:this.$=r.prepareMustache(o[s-3],o[s-2],o[s-1],o[s-4],r.stripFlags(o[s-4],o[s]),this._$);break;case 23:this.$=new r.PartialStatement(o[s-3],o[s-2],o[s-1],r.stripFlags(o[s-4],o[s]),r.locInfo(this._$));break;case 24:this.$=o[s];break;case 25:this.$=o[s];break;case 26:this.$=new r.SubExpression(o[s-3],o[s-2],o[s-1],r.locInfo(this._$));break;case 27:this.$=new r.Hash(o[s],r.locInfo(this._$));break;case 28:this.$=new r.HashPair(r.id(o[s-2]),o[s],r.locInfo(this._$));break;case 29:this.$=r.id(o[s-1]);break;case 30:this.$=o[s];break;case 31:this.$=o[s];break;case 32:this.$=new r.StringLiteral(o[s],r.locInfo(this._$));break;case 33:this.$=new r.NumberLiteral(o[s],r.locInfo(this._$));break;case 34:this.$=new r.BooleanLiteral(o[s],r.locInfo(this._$));break;case 35:this.$=new r.UndefinedLiteral(r.locInfo(this._$));break;case 36:this.$=new r.NullLiteral(r.locInfo(this._$));break;case 37:this.$=o[s];break;case 38:this.$=o[s];break;case 39:this.$=r.preparePath(!0,o[s],this._$);break;case 40:this.$=r.preparePath(!1,o[s],this._$);break;case 41:o[s-2].push({part:r.id(o[s]),original:o[s],separator:o[s-1]}),this.$=o[s-2];break;case 42:this.$=[{part:r.id(o[s]),original:o[s]}];break;case 43:this.$=[];break;case 44:o[s-1].push(o[s]);break;case 45:this.$=[];break;case 46:o[s-1].push(o[s]);break;case 53:this.$=[];break;case 54:o[s-1].push(o[s]);break;case 59:this.$=[];break;case 60:o[s-1].push(o[s]);break;case 65:this.$=[];break;case 66:o[s-1].push(o[s]);break;case 73:this.$=[];break;case 74:o[s-1].push(o[s]);break;case 77:this.$=[];break;case 78:o[s-1].push(o[s]);break;case 81:this.$=[];break;case 82:o[s-1].push(o[s]);break;case 85:this.$=[];break;case 86:o[s-1].push(o[s]);break;case 89:this.$=[o[s]];break;case 90:o[s-1].push(o[s]);break;case 91:this.$=[o[s]];break;case 92:o[s-1].push(o[s])}},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=n.lexer.lex()||1,"number"!=typeof e&&(e=n.symbols_[e]||e),e}var n=this,r=[0],i=[null],o=[],a=this.table,s="",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;o.push(p);var h=this.lexer.options&&this.lexer.options.ranges;"function"==typeof this.yy.parseError&&(this.parseError=this.yy.parseError);for(var f,d,g,m,v,y,b,x,w,S={};;){if(g=r[r.length-1],this.defaultActions[g]?m=this.defaultActions[g]:(null!==f&&"undefined"!=typeof f||(f=t()),m=a[g]&&a[g][f]),"undefined"==typeof m||!m.length||!m[0]){var k="";if(!c){w=[];for(y in a[g])this.terminals_[y]&&y>2&&w.push("'"+this.terminals_[y]+"'");k=this.lexer.showPosition?"Parse error on line "+(l+1)+":\n"+this.lexer.showPosition()+"\nExpecting "+w.join(", ")+", got '"+(this.terminals_[f]||f)+"'":"Parse error on line "+(l+1)+": Unexpected "+(1==f?"end of input":"'"+(this.terminals_[f]||f)+"'"),this.parseError(k,{text:this.lexer.match,token:this.terminals_[f]||f,line:this.lexer.yylineno,loc:p,expected:w})}}if(m[0]instanceof Array&&m.length>1)throw new Error("Parse Error: multiple actions possible at state: "+g+", token: "+f);switch(m[0]){case 1:r.push(f),i.push(this.lexer.yytext),o.push(this.lexer.yylloc),r.push(m[1]),f=null,d?(f=d,d=null):(u=this.lexer.yyleng,s=this.lexer.yytext,l=this.lexer.yylineno,p=this.lexer.yylloc,c>0&&c--);break;case 2:if(b=this.productions_[m[1]][1],S.$=i[i.length-b],S._$={first_line:o[o.length-(b||1)].first_line,last_line:o[o.length-1].last_line,first_column:o[o.length-(b||1)].first_column,last_column:o[o.length-1].last_column},h&&(S._$.range=[o[o.length-(b||1)].range[0],o[o.length-1].range[1]]),v=this.performAction.call(S,s,u,l,this.yy,m[1],i,o),"undefined"!=typeof v)return v;b&&(r=r.slice(0,-1*b*2),i=i.slice(0,-1*b),o=o.slice(0,-1*b)),r.push(this.productions_[m[1]][0]),i.push(S.$),o.push(S._$),x=a[r[r.length-2]][r[r.length-1]],r.push(x);break;case 3:return!0}}return!0}},n=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,n=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 r=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),n.length-1&&(this.yylineno-=n.length-1);var i=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:n?(n.length===r.length?this.yylloc.first_column:0)+r[r.length-n.length].length-n[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[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,n,r,i;this._more||(this.yytext="",this.match="");for(var o=this._currentRules(),a=0;a<o.length&&(n=this._input.match(this.rules[o[a]]),!n||t&&!(n[0].length>t[0].length)||(t=n,r=a,this.options.flex));a++);return t?(i=t[0].match(/(?:\r\n?|\n).*/g),i&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.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,o[r],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,n,r){function i(e,n){return t.yytext=t.yytext.substr(e,t.yyleng-n)}switch(n){case 0:if("\\\\"===t.yytext.slice(-2)?(i(0,1),this.begin("mu")):"\\"===t.yytext.slice(-1)?(i(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=i(1,2).replace(/\\"/g,'"'),74;case 30:return t.yytext=i(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=n,e.prototype=t,t.Parser=e,new e}();t["default"]=r,e.exports=t["default"]},function(e,t,n){"use strict";function r(){}function i(e,t,n){void 0===t&&(t=e.length);var r=e[t-1],i=e[t-2];return r?"ContentStatement"===r.type?(i||!n?/\r?\n\s*?$/:/(^|\r?\n)\s*?$/).test(r.original):void 0:n}function o(e,t,n){void 0===t&&(t=-1);var r=e[t+1],i=e[t+2];return r?"ContentStatement"===r.type?(i||!n?/^\s*?\r?\n/:/^\s*?(\r?\n|$)/).test(r.original):void 0:n}function a(e,t,n){var r=e[null==t?0:t+1];if(r&&"ContentStatement"===r.type&&(n||!r.rightStripped)){var i=r.value;r.value=r.value.replace(n?/^\s+/:/^[ \t]*\r?\n?/,""),r.rightStripped=r.value!==i}}function s(e,t,n){var r=e[null==t?e.length-1:t-1];if(r&&"ContentStatement"===r.type&&(n||!r.leftStripped)){var i=r.value;return r.value=r.value.replace(n?/\s+$/:/[ \t]+$/,""),r.leftStripped=r.value!==i,r.leftStripped}}var l=n(8)["default"];t.__esModule=!0;var u=n(6),c=l(u);r.prototype=new c["default"],r.prototype.Program=function(e){var t=!this.isRootSeen;this.isRootSeen=!0;for(var n=e.body,r=0,l=n.length;l>r;r++){var u=n[r],c=this.accept(u);if(c){var p=i(n,r,t),h=o(n,r,t),f=c.openStandalone&&p,d=c.closeStandalone&&h,g=c.inlineStandalone&&p&&h;c.close&&a(n,r,!0),c.open&&s(n,r,!0),g&&(a(n,r),s(n,r)&&"PartialStatement"===u.type&&(u.indent=/([ \t]+$)/.exec(n[r-1].original)[1])),f&&(a((u.program||u.inverse).body),s(n,r)),d&&(a(n,r),s((u.inverse||u.program).body))}}return e},r.prototype.BlockStatement=function(e){this.accept(e.program),this.accept(e.inverse);var t=e.program||e.inverse,n=e.program&&e.inverse,r=n,l=n;if(n&&n.chained)for(r=n.body[0].program;l.chained;)l=l.body[l.body.length-1].program;var u={open:e.openStrip.open,close:e.closeStrip.close,openStandalone:o(t.body),closeStandalone:i((r||t).body)};if(e.openStrip.close&&a(t.body,null,!0),n){var c=e.inverseStrip;c.open&&s(t.body,null,!0),c.close&&a(r.body,null,!0),e.closeStrip.open&&s(l.body,null,!0),i(t.body)&&o(r.body)&&(s(t.body),a(r.body))}else e.closeStrip.open&&s(t.body,null,!0);return u},r.prototype.MustacheStatement=function(e){return e.strip},r.prototype.PartialStatement=r.prototype.CommentStatement=function(e){var t=e.strip||{};return{inlineStandalone:!0,open:t.open,close:t.close}},t["default"]=r,e.exports=t["default"]},function(e,t,n){"use strict";function r(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 i(e){return/^\[.*\]$/.test(e)?e.substr(1,e.length-2):e}function o(e,t){return{open:"~"===e.charAt(2),close:"~"===t.charAt(t.length-3)}}function a(e){return e.replace(/^\{\{~?\!-?-?/,"").replace(/-?-?~?\}\}$/,"")}function s(e,t,n){n=this.locInfo(n);for(var r=e?"@":"",i=[],o=0,a="",s=0,l=t.length;l>s;s++){var u=t[s].part,c=t[s].original!==u;if(r+=(t[s].separator||"")+u,c||".."!==u&&"."!==u&&"this"!==u)i.push(u);else{if(i.length>0)throw new f["default"]("Invalid path: "+r,{loc:n});".."===u&&(o++,a+="../")}}return new this.PathExpression(e,o,i,r,n)}function l(e,t,n,r,i,o){var a=r.charAt(3)||r.charAt(2),s="{"!==a&&"&"!==a;return new this.MustacheStatement(e,t,n,s,i,this.locInfo(o))}function u(e,t,n,r){if(e.path.original!==n){var i={loc:e.path.loc};throw new f["default"](e.path.original+" doesn't match "+n,i)}r=this.locInfo(r);var o=new this.Program([t],null,{},r);return new this.BlockStatement(e.path,e.params,e.hash,o,void 0,{},{},{},r)}function c(e,t,n,r,i,o){if(r&&r.path&&e.path.original!==r.path.original){var a={loc:e.path.loc};throw new f["default"](e.path.original+" doesn't match "+r.path.original,a)}t.blockParams=e.blockParams;var s=void 0,l=void 0;return n&&(n.chain&&(n.program.body[0].closeStrip=r.strip),l=n.strip,s=n.program),i&&(i=s,s=t,t=i),new this.BlockStatement(e.path,e.params,e.hash,t,s,e.strip,l,r&&r.strip,this.locInfo(o))}var p=n(8)["default"];t.__esModule=!0,t.SourceLocation=r,t.id=i,t.stripFlags=o,t.stripComment=a,t.preparePath=s,t.prepareMustache=l,t.prepareRawBlock=u,t.prepareBlock=c;var h=n(12),f=p(h)},function(e,t,n){"use strict";function r(e,t,n){if(o.isArray(e)){for(var r=[],i=0,a=e.length;a>i;i++)r.push(t.wrap(e[i],n));return r}return"boolean"==typeof e||"number"==typeof e?e+"":e}function i(e){this.srcFile=e,this.source=[]}t.__esModule=!0;var o=n(13),a=void 0;try{}catch(s){}a||(a=function(e,t,n,r){this.src="",r&&this.add(r)},a.prototype={add:function(e){o.isArray(e)&&(e=e.join("")),this.src+=e},prepend:function(e){o.isArray(e)&&(e=e.join("")),this.src=e+this.src},toStringWithSourceMap:function(){return{code:this.toString()}},toString:function(){return this.src}}),i.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,n=this.source.length;n>t;t++)e(this.source[t])},empty:function(){var e=void 0===arguments[0]?this.currentLocation||{start:{}}:arguments[0];return new a(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 a?e:(e=r(e,this,t),new a(t.start.line,t.start.column,this.srcFile,e))},functionCall:function(e,t,n){return n=this.generateList(n),this.wrap([e,t?"."+t+"(":"(",n,")"])},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 n in e)if(e.hasOwnProperty(n)){var i=r(e[n],this);"undefined"!==i&&t.push([this.quotedString(n),":",i])}var o=this.generateList(t);return o.prepend("{"),o.add("}"),o},generateList:function(e,t){for(var n=this.empty(t),i=0,o=e.length;o>i;i++)i&&n.add(","),n.add(r(e[i],this,t));return n},generateArray:function(e,t){var n=this.generateList(e,t);return n.prepend("["),n.add("]"),n}},t["default"]=i,e.exports=t["default"]}])})}),define("source-map",[],function(e,t,n){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,n){define(function(e,t,n){function r(e){e||(e={}),this._file=o.getArg(e,"file",null),this._sourceRoot=o.getArg(e,"sourceRoot",null),this._sources=new a,this._names=new a,this._mappings=[],this._sourcesContents=null}var i=e("source-map/base64-vlq"),o=e("source-map/util"),a=e("source-map/array-set").ArraySet;r.prototype._version=3,r.fromSourceMap=function(e){var t=e.sourceRoot,n=new r({file:e.file,sourceRoot:t});return e.eachMapping(function(e){var r={generated:{line:e.generatedLine,column:e.generatedColumn}};null!=e.source&&(r.source=e.source,null!=t&&(r.source=o.relative(t,r.source)),r.original={line:e.originalLine,column:e.originalColumn},null!=e.name&&(r.name=e.name)),n.addMapping(r)}),e.sources.forEach(function(t){var r=e.sourceContentFor(t);null!=r&&n.setSourceContent(t,r)}),n},r.prototype.addMapping=function(e){var t=o.getArg(e,"generated"),n=o.getArg(e,"original",null),r=o.getArg(e,"source",null),i=o.getArg(e,"name",null);this._validateMapping(t,n,r,i),null==r||this._sources.has(r)||this._sources.add(r),null==i||this._names.has(i)||this._names.add(i),this._mappings.push({generatedLine:t.line,generatedColumn:t.column,originalLine:null!=n&&n.line,originalColumn:null!=n&&n.column,source:r,name:i})},r.prototype.setSourceContent=function(e,t){var n=e;null!=this._sourceRoot&&(n=o.relative(this._sourceRoot,n)),null!=t?(this._sourcesContents||(this._sourcesContents={}),this._sourcesContents[o.toSetString(n)]=t):this._sourcesContents&&(delete this._sourcesContents[o.toSetString(n)],0===Object.keys(this._sourcesContents).length&&(this._sourcesContents=null))},r.prototype.applySourceMap=function(e,t,n){var r=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.');r=e.file}var i=this._sourceRoot;null!=i&&(r=o.relative(i,r));var s=new a,l=new a;this._mappings.forEach(function(t){if(t.source===r&&null!=t.originalLine){var a=e.originalPositionFor({line:t.originalLine,column:t.originalColumn});null!=a.source&&(t.source=a.source,null!=n&&(t.source=o.join(n,t.source)),null!=i&&(t.source=o.relative(i,t.source)),t.originalLine=a.line,t.originalColumn=a.column,null!=a.name&&(t.name=a.name))}var u=t.source;null==u||s.has(u)||s.add(u);var c=t.name;null==c||l.has(c)||l.add(c)},this),this._sources=s,this._names=l,e.sources.forEach(function(t){var r=e.sourceContentFor(t);null!=r&&(null!=n&&(t=o.join(n,t)),null!=i&&(t=o.relative(i,t)),this.setSourceContent(t,r))},this)},r.prototype._validateMapping=function(e,t,n,r){if((!(e&&"line"in e&&"column"in e&&e.line>0&&e.column>=0)||t||n||r)&&!(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&&n))throw new Error("Invalid mapping: "+JSON.stringify({generated:e,source:n,original:t,name:r}))},r.prototype._serializeMappings=function(){var e,t=0,n=1,r=0,a=0,s=0,l=0,u="";this._mappings.sort(o.compareByGeneratedPositions);for(var c=0,p=this._mappings.length;p>c;c++){if(e=this._mappings[c],e.generatedLine!==n)for(t=0;e.generatedLine!==n;)u+=";",n++;else if(c>0){if(!o.compareByGeneratedPositions(e,this._mappings[c-1]))continue;u+=","}u+=i.encode(e.generatedColumn-t),t=e.generatedColumn,null!=e.source&&(u+=i.encode(this._sources.indexOf(e.source)-l),l=this._sources.indexOf(e.source),u+=i.encode(e.originalLine-1-a),a=e.originalLine-1,u+=i.encode(e.originalColumn-r),r=e.originalColumn,null!=e.name&&(u+=i.encode(this._names.indexOf(e.name)-s),s=this._names.indexOf(e.name)))}return u},r.prototype._generateSourcesContent=function(e,t){return e.map(function(e){if(!this._sourcesContents)return null;null!=t&&(e=o.relative(t,e));var n=o.toSetString(e);return Object.prototype.hasOwnProperty.call(this._sourcesContents,n)?this._sourcesContents[n]:null},this)},r.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},r.prototype.toString=function(){return JSON.stringify(this)},t.SourceMapGenerator=r})}),define("source-map/base64-vlq",[],function(e,t,n){define(function(e,t,n){function r(e){return 0>e?(-e<<1)+1:(e<<1)+0}function i(e){var t=1===(1&e),n=e>>1;return t?-n:n}var o=e("source-map/base64"),a=5,s=1<<a,l=s-1,u=s;t.encode=function(e){var t,n="",i=r(e);do t=i&l,i>>>=a,i>0&&(t|=u),n+=o.encode(t);while(i>0);return n},t.decode=function(e,t){var n,r,s=0,c=e.length,p=0,h=0;do{if(s>=c)throw new Error("Expected more digits in base 64 VLQ value.");r=o.decode(e.charAt(s++)),n=!!(r&u),r&=l,p+=r<<h,h+=a}while(n);t.value=i(p),t.rest=e.slice(s)}})}),define("source-map/base64",[],function(e,t,n){define(function(e,t,n){var r={},i={};"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split("").forEach(function(e,t){r[e]=t,i[t]=e}),t.encode=function(e){if(e in i)return i[e];throw new TypeError("Must be between 0 and 63: "+e)},t.decode=function(e){if(e in r)return r[e];throw new TypeError("Not a valid base 64 digit: "+e)}})}),define("source-map/util",[],function(e,t,n){define(function(e,t,n){function r(e,t,n){if(t in e)return e[t];if(3===arguments.length)return n;throw new Error('"'+t+'" is a required argument.')}function i(e){var t=e.match(d);return t?{scheme:t[1],auth:t[2],host:t[3],port:t[4],path:t[5]}:null}function o(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 a(e){var t=e,n=i(e);if(n){if(!n.path)return e;t=n.path}for(var r,a="/"===t.charAt(0),s=t.split(/\/+/),l=0,u=s.length-1;u>=0;u--)r=s[u],"."===r?s.splice(u,1):".."===r?l++:l>0&&(""===r?(s.splice(u+1,l),l=0):(s.splice(u,2),l--));return t=s.join("/"),""===t&&(t=a?"/":"."),n?(n.path=t,o(n)):t}function s(e,t){""===e&&(e="."),""===t&&(t=".");var n=i(t),r=i(e);if(r&&(e=r.path||"/"),n&&!n.scheme)return r&&(n.scheme=r.scheme),o(n);if(n||t.match(g))return t;if(r&&!r.host&&!r.path)return r.host=t,o(r);var s="/"===t.charAt(0)?t:a(e.replace(/\/+$/,"")+"/"+t);return r?(r.path=s,o(r)):s}function l(e,t){""===e&&(e="."),e=e.replace(/\/$/,"");var n=i(e);return"/"==t.charAt(0)&&n&&"/"==n.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 n=e||"",r=t||"";return(n>r)-(r>n)}function h(e,t,n){var r;return(r=p(e.source,t.source))?r:(r=e.originalLine-t.originalLine)?r:(r=e.originalColumn-t.originalColumn,r||n?r:(r=p(e.name,t.name))?r:(r=e.generatedLine-t.generatedLine,r?r:e.generatedColumn-t.generatedColumn))}function f(e,t,n){var r;return(r=e.generatedLine-t.generatedLine)?r:(r=e.generatedColumn-t.generatedColumn,r||n?r:(r=p(e.source,t.source))?r:(r=e.originalLine-t.originalLine)?r:(r=e.originalColumn-t.originalColumn,r?r:p(e.name,t.name)))}t.getArg=r;var d=/^(?:([\w+\-.]+):)?\/\/(?:(\w+:\w+)@)?([\w.]*)(?::(\d+))?(\S*)$/,g=/^data:.+\,.+$/;t.urlParse=i,t.urlGenerate=o,t.normalize=a,t.join=s,t.relative=l,t.toSetString=u,t.fromSetString=c,t.compareByOriginalPositions=h,t.compareByGeneratedPositions=f})}),define("source-map/array-set",[],function(e,t,n){define(function(e,t,n){function r(){this._array=[],this._set={}}var i=e("source-map/util");r.fromArray=function(e,t){for(var n=new r,i=0,o=e.length;o>i;i++)n.add(e[i],t);return n},r.prototype.add=function(e,t){var n=this.has(e),r=this._array.length;n&&!t||this._array.push(e),n||(this._set[i.toSetString(e)]=r)},r.prototype.has=function(e){return Object.prototype.hasOwnProperty.call(this._set,i.toSetString(e))},r.prototype.indexOf=function(e){if(this.has(e))return this._set[i.toSetString(e)];throw new Error('"'+e+'" is not in the set.')},r.prototype.at=function(e){if(e>=0&&e<this._array.length)return this._array[e];throw new Error("No element indexed by "+e)},r.prototype.toArray=function(){return this._array.slice()},t.ArraySet=r})}),define("source-map/source-map-consumer",[],function(e,t,n){define(function(e,t,n){function r(e){var t=e;"string"==typeof e&&(t=JSON.parse(e.replace(/^\)\]\}'/,"")));var n=i.getArg(t,"version"),r=i.getArg(t,"sources"),o=i.getArg(t,"names",[]),s=i.getArg(t,"sourceRoot",null),l=i.getArg(t,"sourcesContent",null),u=i.getArg(t,"mappings"),c=i.getArg(t,"file",null);if(n!=this._version)throw new Error("Unsupported version: "+n);r=r.map(i.normalize),this._names=a.fromArray(o,!0),this._sources=a.fromArray(r,!0),this.sourceRoot=s,this.sourcesContent=l,this._mappings=u,this.file=c}var i=e("source-map/util"),o=e("source-map/binary-search"),a=e("source-map/array-set").ArraySet,s=e("source-map/base64-vlq");r.fromSourceMap=function(e){var t=Object.create(r.prototype);return t._names=a.fromArray(e._names.toArray(),!0),t._sources=a.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(i.compareByGeneratedPositions),t.__originalMappings=e._mappings.slice().sort(i.compareByOriginalPositions),t},r.prototype._version=3,Object.defineProperty(r.prototype,"sources",{get:function(){return this._sources.toArray().map(function(e){return null!=this.sourceRoot?i.join(this.sourceRoot,e):e},this)}}),r.prototype.__generatedMappings=null,Object.defineProperty(r.prototype,"_generatedMappings",{get:function(){return this.__generatedMappings||(this.__generatedMappings=[],this.__originalMappings=[],this._parseMappings(this._mappings,this.sourceRoot)),this.__generatedMappings}}),r.prototype.__originalMappings=null,Object.defineProperty(r.prototype,"_originalMappings",{get:function(){return this.__originalMappings||(this.__generatedMappings=[],this.__originalMappings=[],this._parseMappings(this._mappings,this.sourceRoot)),this.__originalMappings}}),r.prototype._nextCharIsMappingSeparator=function(e){var t=e.charAt(0);return";"===t||","===t},r.prototype._parseMappings=function(e,t){for(var n,r=1,o=0,a=0,l=0,u=0,c=0,p=e,h={};p.length>0;)if(";"===p.charAt(0))r++,p=p.slice(1),o=0;else if(","===p.charAt(0))p=p.slice(1);else{if(n={},n.generatedLine=r,s.decode(p,h),n.generatedColumn=o+h.value,o=n.generatedColumn,p=h.rest,p.length>0&&!this._nextCharIsMappingSeparator(p)){if(s.decode(p,h),n.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(s.decode(p,h),n.originalLine=a+h.value,a=n.originalLine,n.originalLine+=1,p=h.rest,0===p.length||this._nextCharIsMappingSeparator(p))throw new Error("Found a source and line, but no column");s.decode(p,h),n.originalColumn=l+h.value,l=n.originalColumn,p=h.rest,p.length>0&&!this._nextCharIsMappingSeparator(p)&&(s.decode(p,h),n.name=this._names.at(c+h.value),c+=h.value,p=h.rest)}this.__generatedMappings.push(n),"number"==typeof n.originalLine&&this.__originalMappings.push(n)}this.__generatedMappings.sort(i.compareByGeneratedPositions),this.__originalMappings.sort(i.compareByOriginalPositions)},r.prototype._findMapping=function(e,t,n,r,i){if(e[n]<=0)throw new TypeError("Line must be greater than or equal to 1, got "+e[n]);if(e[r]<0)throw new TypeError("Column must be greater than or equal to 0, got "+e[r]);return o.search(e,t,i)},r.prototype.computeColumnSpans=function(){for(var e=0;e<this._generatedMappings.length;++e){var t=this._generatedMappings[e];if(e+1<this._generatedMappings.length){var n=this._generatedMappings[e+1];if(t.generatedLine===n.generatedLine){t.lastGeneratedColumn=n.generatedColumn-1;continue}}t.lastGeneratedColumn=1/0}},r.prototype.originalPositionFor=function(e){var t={generatedLine:i.getArg(e,"line"),generatedColumn:i.getArg(e,"column")},n=this._findMapping(t,this._generatedMappings,"generatedLine","generatedColumn",i.compareByGeneratedPositions);if(n>=0){var r=this._generatedMappings[n];if(r.generatedLine===t.generatedLine){var o=i.getArg(r,"source",null);return null!=o&&null!=this.sourceRoot&&(o=i.join(this.sourceRoot,o)),{source:o,line:i.getArg(r,"originalLine",null),column:i.getArg(r,"originalColumn",null),name:i.getArg(r,"name",null)}}}return{source:null,line:null,column:null,name:null}},r.prototype.sourceContentFor=function(e){if(!this.sourcesContent)return null;if(null!=this.sourceRoot&&(e=i.relative(this.sourceRoot,e)),this._sources.has(e))return this.sourcesContent[this._sources.indexOf(e)];var t;if(null!=this.sourceRoot&&(t=i.urlParse(this.sourceRoot))){var n=e.replace(/^file:\/\//,"");if("file"==t.scheme&&this._sources.has(n))return this.sourcesContent[this._sources.indexOf(n)];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.')},r.prototype.generatedPositionFor=function(e){var t={source:i.getArg(e,"source"),originalLine:i.getArg(e,"line"),originalColumn:i.getArg(e,"column")};null!=this.sourceRoot&&(t.source=i.relative(this.sourceRoot,t.source));var n=this._findMapping(t,this._originalMappings,"originalLine","originalColumn",i.compareByOriginalPositions);if(n>=0){var r=this._originalMappings[n];return{line:i.getArg(r,"generatedLine",null),column:i.getArg(r,"generatedColumn",null),lastColumn:i.getArg(r,"lastGeneratedColumn",null)}}return{line:null,column:null,lastColumn:null}},r.prototype.allGeneratedPositionsFor=function(e){var t={source:i.getArg(e,"source"),originalLine:i.getArg(e,"line"),originalColumn:1/0};null!=this.sourceRoot&&(t.source=i.relative(this.sourceRoot,t.source));var n=[],r=this._findMapping(t,this._originalMappings,"originalLine","originalColumn",i.compareByOriginalPositions);if(r>=0)for(var o=this._originalMappings[r];o&&o.originalLine===t.originalLine;)n.push({line:i.getArg(o,"generatedLine",null),column:i.getArg(o,"generatedColumn",null),lastColumn:i.getArg(o,"lastGeneratedColumn",null)}),o=this._originalMappings[--r];return n.reverse()},r.GENERATED_ORDER=1,r.ORIGINAL_ORDER=2,r.prototype.eachMapping=function(e,t,n){var o,a=t||null,s=n||r.GENERATED_ORDER;switch(s){case r.GENERATED_ORDER:o=this._generatedMappings;break;case r.ORIGINAL_ORDER:o=this._originalMappings;break;default:throw new Error("Unknown order of iteration.")}var l=this.sourceRoot;o.map(function(e){var t=e.source;return null!=t&&null!=l&&(t=i.join(l,t)),{source:t,generatedLine:e.generatedLine,generatedColumn:e.generatedColumn,originalLine:e.originalLine,originalColumn:e.originalColumn,name:e.name}}).forEach(e,a)},t.SourceMapConsumer=r})}),define("source-map/binary-search",[],function(e,t,n){define(function(e,t,n){function r(e,t,n,i,o){var a=Math.floor((t-e)/2)+e,s=o(n,i[a],!0);return 0===s?a:s>0?t-a>1?r(a,t,n,i,o):a:a-e>1?r(e,a,n,i,o):0>e?-1:e}t.search=function(e,t,n){return 0===t.length?-1:r(-1,t.length,e,t,n)}})}),define("source-map/source-node",[],function(e,t,n){define(function(e,t,n){function r(e,t,n,r,i){this.children=[],this.sourceContents={},this.line=null==e?null:e,this.column=null==t?null:t,this.source=null==n?null:n,this.name=null==i?null:i,this[l]=!0,null!=r&&this.add(r)}var i=e("source-map/source-map-generator").SourceMapGenerator,o=e("source-map/util"),a=/(\r?\n)/,s=/\r\n|[\s\S]/g,l="$$$isSourceNode$$$";r.fromStringWithSourceMap=function(e,t,n){function i(e,t){if(null===e||void 0===e.source)s.add(t);else{var i=n?o.join(n,e.source):e.source;s.add(new r(e.originalLine,e.originalColumn,i,t,e.name))}}var s=new r,l=e.split(a),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],n=t.substr(0,e.generatedColumn-p);return l[0]=t.substr(e.generatedColumn-p),p=e.generatedColumn,i(h,n),void(h=e)}var n="";i(h,u()),c++,p=0}for(;c<e.generatedLine;)s.add(u()),c++;if(p<e.generatedColumn){var t=l[0];s.add(t.substr(0,e.generatedColumn)),l[0]=t.substr(e.generatedColumn),p=e.generatedColumn}h=e},this),l.length>0&&(h&&i(h,u()),s.add(l.join(""))),t.sources.forEach(function(e){var r=t.sourceContentFor(e);null!=r&&(null!=n&&(e=o.join(n,e)),s.setSourceContent(e,r))}),s},r.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},r.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},r.prototype.walk=function(e){for(var t,n=0,r=this.children.length;r>n;n++)t=this.children[n],t[l]?t.walk(e):""!==t&&e(t,{source:this.source,line:this.line,column:this.column,name:this.name})},r.prototype.join=function(e){var t,n,r=this.children.length;if(r>0){for(t=[],n=0;r-1>n;n++)t.push(this.children[n]),t.push(e);t.push(this.children[n]),this.children=t}return this},r.prototype.replaceRight=function(e,t){var n=this.children[this.children.length-1];return n[l]?n.replaceRight(e,t):"string"==typeof n?this.children[this.children.length-1]=n.replace(e,t):this.children.push("".replace(e,t)),this},r.prototype.setSourceContent=function(e,t){this.sourceContents[o.toSetString(e)]=t},r.prototype.walkSourceContents=function(e){for(var t=0,n=this.children.length;n>t;t++)this.children[t][l]&&this.children[t].walkSourceContents(e);for(var r=Object.keys(this.sourceContents),t=0,n=r.length;n>t;t++)e(o.fromSetString(r[t]),this.sourceContents[r[t]])},r.prototype.toString=function(){var e="";return this.walk(function(t){e+=t}),e},r.prototype.toStringWithSourceMap=function(e){var t={code:"",line:1,column:0},n=new i(e),r=!1,o=null,l=null,u=null,c=null;return this.walk(function(e,i){t.code+=e,null!==i.source&&null!==i.line&&null!==i.column?(o===i.source&&l===i.line&&u===i.column&&c===i.name||n.addMapping({source:i.source,original:{line:i.line,column:i.column},generated:{line:t.line,column:t.column},name:i.name}),o=i.source,l=i.line,u=i.column,c=i.name,r=!0):r&&(n.addMapping({generated:{line:t.line,column:t.column}}),o=null,r=!1),e.match(s).forEach(function(e,s,l){a.test(e)?(t.line++,t.column=0,s+1===l.length?(o=null,r=!1):r&&n.addMapping({source:i.source,original:{line:i.line,column:i.column},generated:{line:t.line,column:t.column},name:i.name})):t.column+=e.length})}),this.walkSourceContents(function(e,t){n.setSourceContent(e,t)}),{code:t.code,map:n}},t.SourceNode=r})}),define("index",[],function(require,exports,module){"object"!=typeof JSON&&(JSON={}),function(){"use strict";function f(e){return 10>e?"0"+e:e}function quote(e){return escapable.lastIndex=0,escapable.test(e)?'"'+e.replace(escapable,function(e){var t=meta[e];return"string"==typeof t?t:"\\u"+("0000"+e.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+e+'"'}function str(e,t){var n,r,i,o,a,s=gap,l=t[e];switch(l&&"object"==typeof l&&"function"==typeof l.toJSON&&(l=l.toJSON(e)),"function"==typeof rep&&(l=rep.call(t,e,l)),typeof l){case"string":return quote(l);case"number":return isFinite(l)?String(l):"null";case"boolean":case"null":return String(l);case"object":if(!l)return"null";if(gap+=indent,a=[],"[object Array]"===Object.prototype.toString.apply(l)){for(o=l.length,n=0;o>n;n+=1)a[n]=str(n,l)||"null";return i=0===a.length?"[]":gap?"[\n"+gap+a.join(",\n"+gap)+"\n"+s+"]":"["+a.join(",")+"]",gap=s,i}if(rep&&"object"==typeof rep)for(o=rep.length,n=0;o>n;n+=1)"string"==typeof rep[n]&&(r=rep[n],i=str(r,l),i&&a.push(quote(r)+(gap?": ":":")+i));else for(r in l)Object.prototype.hasOwnProperty.call(l,r)&&(i=str(r,l),i&&a.push(quote(r)+(gap?": ":":")+i));return i=0===a.length?"{}":gap?"{\n"+gap+a.join(",\n"+gap)+"\n"+s+"}":"{"+a.join(",")+"}",gap=s,i}}"function"!=typeof Date.prototype.toJSON&&(Date.prototype.toJSON=function(){return isFinite(this.valueOf())?this.getUTCFullYear()+"-"+f(this.getUTCMonth()+1)+"-"+f(this.getUTCDate())+"T"+f(this.getUTCHours())+":"+f(this.getUTCMinutes())+":"+f(this.getUTCSeconds())+"Z":null},String.prototype.toJSON=Number.prototype.toJSON=Boolean.prototype.toJSON=function(){return this.valueOf()});var cx,escapable,gap,indent,meta,rep;"function"!=typeof JSON.stringify&&(escapable=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,meta={"\b":"\\b","	":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},JSON.stringify=function(e,t,n){var r;if(gap="",indent="","number"==typeof n)for(r=0;n>r;r+=1)indent+=" ";else"string"==typeof n&&(indent=n);if(rep=t,t&&"function"!=typeof t&&("object"!=typeof t||"number"!=typeof t.length))throw new Error("JSON.stringify");return str("",{"":e})}),"function"!=typeof JSON.parse&&(cx=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,JSON.parse=function(text,reviver){function walk(e,t){var n,r,i=e[t];if(i&&"object"==typeof i)for(n in i)Object.prototype.hasOwnProperty.call(i,n)&&(r=walk(i,n),void 0!==r?i[n]=r:delete i[n]);return reviver.call(e,t,i)}var j;if(text=String(text),cx.lastIndex=0,cx.test(text)&&(text=text.replace(cx,function(e){return"\\u"+("0000"+e.charCodeAt(0).toString(16)).slice(-4)})),/^[\],:{}\s]*$/.test(text.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:\s*\[)+/g,"")))return j=eval("("+text+")"),"function"==typeof reviver?walk({"":j},""):j;throw new SyntaxError("JSON.parse")})}(),module.exports=JSON}),define("jquery-pjax",[],function(e,t,n){var r=e("jquery");!function(e){function t(t,r,i){var o=this;return this.on("click.pjax",t,function(t){var a=e.extend({},v(r,i));a.container||(a.container=e(this).attr("data-pjax")||o),n(t,a)})}function n(t,n,r){r=v(n,r);var i=t.currentTarget;if("A"!==i.tagName.toUpperCase())throw"$.fn.pjax or $.pjax.click requires an anchor element";if(!(t.which>1||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||location.protocol!==i.protocol||location.hostname!==i.hostname||i.href.indexOf("#")>-1&&m(i)==m(location)||t.isDefaultPrevented())){var a={url:i.href,container:e(i).attr("data-pjax"),target:i},s=e.extend({},a,r),l=e.Event("pjax:click");e(i).trigger(l,[s]),l.isDefaultPrevented()||(o(s),t.preventDefault(),e(i).trigger("pjax:clicked",[s]))}}function i(t,n,r){r=v(n,r);var i=t.currentTarget;if("FORM"!==i.tagName.toUpperCase())throw"$.pjax.submit requires a form element";var a={type:i.method.toUpperCase(),url:i.action,container:e(i).attr("data-pjax"),target:i};if("GET"!==a.type&&void 0!==window.FormData)a.data=new FormData(i),a.processData=!1,a.contentType=!1;else{if(e(i).find(":file").length)return;a.data=e(i).serializeArray()}o(e.extend({},a,r)),t.preventDefault()}function o(t){function n(t,n,i){i||(i={}),i.relatedTarget=r;var o=e.Event(t,i);return a.trigger(o,n),!o.isDefaultPrevented()}t=e.extend(!0,{},e.ajaxSettings,o.defaults,t),e.isFunction(t.url)&&(t.url=t.url());var r=t.target,i=g(t.url).hash,a=t.context=y(t.container);t.data||(t.data={}),e.isArray(t.data)?t.data.push({name:"_pjax",value:a.selector}):t.data._pjax=a.selector;var l;t.beforeSend=function(e,r){if("GET"!==r.type&&(r.timeout=0),e.setRequestHeader("X-PJAX","true"),e.setRequestHeader("X-PJAX-Container",a.selector),!n("pjax:beforeSend",[e,r]))return!1;r.timeout>0&&(l=setTimeout(function(){n("pjax:timeout",[e,t])&&e.abort("timeout")},r.timeout),r.timeout=0);var o=g(r.url);o.hash=i,t.requestUrl=d(o.href);
+},t.complete=function(e,r){l&&clearTimeout(l),n("pjax:complete",[e,r,t]),n("pjax:end",[e,t])},t.error=function(e,r,i){var o=w("",e,t),a=n("pjax:error",[e,r,i,t]);"GET"==t.type&&"abort"!==r&&a&&s(o.url)},t.success=function(r,l,u){var c=o.state,h="function"==typeof e.pjax.defaults.version?e.pjax.defaults.version():e.pjax.defaults.version,f=u.getResponseHeader("X-PJAX-Version"),d=w(r,u,t),m=g(d.url);if(i&&(m.hash=i,d.url=m.href),h&&f&&h!==f)return void s(d.url);if(!d.contents)return void s(d.url);o.state={id:t.id||p(),url:d.url,title:d.title,container:a.selector,fragment:t.fragment,timeout:t.timeout},(t.push||t.replace)&&window.history.replaceState(o.state,d.title,d.url);try{document.activeElement.blur()}catch(v){}d.title&&(document.title=d.title),n("pjax:beforeReplace",[d.contents,t],{state:o.state,previousState:c}),a.html(d.contents);var y=a.find("input[autofocus], textarea[autofocus]").last()[0];y&&document.activeElement!==y&&y.focus(),S(d.scripts);var b=t.scrollTo;if(i){var x=decodeURIComponent(i.slice(1)),k=document.getElementById(x)||document.getElementsByName(x)[0];k&&(b=e(k).offset().top)}"number"==typeof b&&e(window).scrollTop(b),n("pjax:success",[r,l,u,t])},o.state||(o.state={id:p(),url:window.location.href,title:document.title,container:a.selector,fragment:t.fragment,timeout:t.timeout},window.history.replaceState(o.state,document.title)),c(o.xhr),o.options=t;var u=o.xhr=e.ajax(t);return u.readyState>0&&(t.push&&!t.replace&&(k(o.state.id,h(a)),window.history.pushState(null,"",t.requestUrl)),n("pjax:start",[u,t]),n("pjax:send",[u,t])),o.xhr}function a(t,n){var r={url:window.location.href,push:!1,replace:!0,scrollTo:!1};return o(e.extend(r,v(t,n)))}function s(e){window.history.replaceState(null,"",o.state.url),window.location.replace(e)}function l(t){T||c(o.xhr);var n=o.state,r=t.state;if(r&&r.container){if(T&&P==r.url)return;var i,a=r.container;if(n){if(n.id===r.id)return;i=n.id<r.id?"forward":"back","back"==i&&(a=n.container)}var l=e(a);if(l.length){var u=j[r.id];n&&C(i,n.id,h(l));var p=e.Event("pjax:popstate",{state:r,direction:i});l.trigger(p);var f={id:r.id,url:r.url,container:l,push:!1,fragment:r.fragment,timeout:r.timeout,scrollTo:!1};if(u){l.trigger("pjax:start",[null,f]),o.state=r,r.title&&(document.title=r.title);var d=e.Event("pjax:beforeReplace",{state:r,previousState:n});l.trigger(d,[u,f]),l.html(u),l.trigger("pjax:end",[null,f])}else o(f);l[0].offsetHeight}else s(location.href)}T=!1}function u(t){var n=e.isFunction(t.url)?t.url():t.url,r=t.type?t.type.toUpperCase():"GET",i=e("<form>",{method:"GET"===r?"GET":"POST",action:n,style:"display:none"});"GET"!==r&&"POST"!==r&&i.append(e("<input>",{type:"hidden",name:"_method",value:r.toLowerCase()}));var o=t.data;if("string"==typeof o)e.each(o.split("&"),function(t,n){var r=n.split("=");i.append(e("<input>",{type:"hidden",name:r[0],value:r[1]}))});else if(e.isArray(o))e.each(o,function(t,n){i.append(e("<input>",{type:"hidden",name:n.name,value:n.value}))});else if("object"==typeof o){var a;for(a in o)i.append(e("<input>",{type:"hidden",name:a,value:o[a]}))}e(document.body).append(i),i.submit()}function c(t){t&&t.readyState<4&&(t.onreadystatechange=e.noop,t.abort())}function p(){return(new Date).getTime()}function h(e){var t=e.clone();return t.find("script").each(function(){this.src||r._data(this,"globalEval",!1)}),t.contents()}function f(e,t){return e.replace(new RegExp("[?&]"+t+"=[^&#]*"),"").replace(/[?&]($|#)/,"").replace(/[?&]/,"?")}function d(e){return e=f(e,"_pjax"),e=f(e,"_")}function g(e){var t=document.createElement("a");return t.href=e,t}function m(e){return e.href.replace(/#.*/,"")}function v(t,n){return t&&n?n.container=t:n=e.isPlainObject(t)?t:{container:t},n.container&&(n.container=y(n.container)),n}function y(t){if(t=e(t),t.length){if(""!==t.selector&&t.context===document)return t;if(t.attr("id"))return e("#"+t.attr("id"));throw"cant get selector for pjax container!"}throw"no pjax container for "+t.selector}function b(e,t){return e.filter(t).add(e.find(t))}function x(t){return e.parseHTML(t,document,!0)}function w(t,n,r){var i={},o=/<html/i.test(t),a=n.getResponseHeader("X-PJAX-URL");if(i.url=a?d(a):r.requestUrl,o)var s=e(x(t.match(/<head[^>]*>([\s\S.]*)<\/head>/i)[0])),l=e(x(t.match(/<body[^>]*>([\s\S.]*)<\/body>/i)[0]));else var s=l=e(x(t));if(0===l.length)return i;if(i.title=b(s,"title").last().text(),r.fragment){if("body"===r.fragment)var u=l;else var u=b(l,r.fragment).first();u.length&&(i.contents="body"===r.fragment?u:u.contents(),i.title||(i.title=u.attr("title")||u.data("title")))}else o||(i.contents=l);return i.contents&&(i.contents=i.contents.not(function(){return e(this).is("title")}),i.contents.find("title").remove(),i.scripts=b(i.contents,"script[src]").remove(),i.contents=i.contents.not(i.scripts)),i.title&&(i.title=e.trim(i.title)),i}function S(t){if(t){var n=e("script[src]");t.each(function(){var t=this.src,r=n.filter(function(){return this.src===t});if(!r.length){var i=document.createElement("script"),o=e(this).attr("type");o&&(i.type=o),i.src=e(this).attr("src"),document.head.appendChild(i)}})}}function k(e,t){j[e]=t,M.push(e),_(O,0),_(M,o.defaults.maxCacheLength)}function C(e,t,n){var r,i;j[t]=n,"forward"===e?(r=M,i=O):(r=O,i=M),r.push(t),(t=i.pop())&&delete j[t],_(r,o.defaults.maxCacheLength)}function _(e,t){for(;e.length>t;)delete j[e.shift()]}function E(){return e("meta").filter(function(){var t=e(this).attr("http-equiv");return t&&"X-PJAX-VERSION"===t.toUpperCase()}).attr("content")}function A(){e.fn.pjax=t,e.pjax=o,e.pjax.enable=e.noop,e.pjax.disable=N,e.pjax.click=n,e.pjax.submit=i,e.pjax.reload=a,e.pjax.defaults={timeout:650,push:!0,replace:!1,type:"GET",dataType:"html",scrollTo:0,maxCacheLength:20,version:E},e(window).on("popstate.pjax",l)}function N(){e.fn.pjax=function(){return this},e.pjax=u,e.pjax.enable=A,e.pjax.disable=e.noop,e.pjax.click=e.noop,e.pjax.submit=e.noop,e.pjax.reload=function(){window.location.reload()},e(window).off("popstate.pjax",l)}var T=!0,P=window.location.href,L=window.history.state;L&&L.container&&(o.state=L),"state"in window.history&&(T=!1);var j={},O=[],M=[];e.inArray("state",e.event.props)<0&&e.event.props.push("state"),e.support.pjax=window.history&&window.history.pushState&&window.history.replaceState&&!navigator.userAgent.match(/((iPod|iPhone|iPad).+\bOS\s+[1-4]\D|WebApps\/.+CFNetwork)/),e.support.pjax?A():N()}(r)}),define("dot",[],function(e,t,n){e("lib/jquery.dotdotdot"),n.exports=function(e){e.dotdotdot({wrap:"letter"})}}),define("lib/jquery.dotdotdot",[],function(e,t,n){var r=e("jquery");!function(e,t){function n(e,t,n){var r=e.children(),i=!1;e.empty();for(var a=0,s=r.length;s>a;a++){var l=r.eq(a);if(e.append(l),n&&e.append(n),o(e,t)){l.remove(),i=!0;break}n&&n.detach()}return i}function r(t,n,a,s,l){var u=!1,c="a, table, thead, tbody, tfoot, tr, col, colgroup, object, embed, param, ol, ul, dl, blockquote, select, optgroup, option, textarea, script, style",p="script, .dotdotdot-keep";return t.contents().detach().each(function(){var h=this,f=e(h);if("undefined"==typeof h)return!0;if(f.is(p))t.append(f);else{if(u)return!0;t.append(f),!l||f.is(s.after)||f.find(s.after).length||t[t.is(c)?"after":"append"](l),o(a,s)&&(u=3==h.nodeType?i(f,n,a,s,l):r(f,n,a,s,l),u||(f.detach(),u=!0)),u||l&&l.detach()}}),n.addClass("is-truncated"),u}function i(t,n,r,i,s){var c=t[0];if(!c)return!1;var h=u(c),f=-1!==h.indexOf(" ")?" ":" ",d="letter"==i.wrap?"":f,g=h.split(d),m=-1,v=-1,y=0,b=g.length-1;for(i.fallbackToLetter&&0==y&&0==b&&(d="",g=h.split(d),b=g.length-1);b>=y&&(0!=y||0!=b);){var x=Math.floor((y+b)/2);if(x==v)break;v=x,l(c,g.slice(0,v+1).join(d)+i.ellipsis),o(r,i)?(b=v,i.fallbackToLetter&&0==y&&0==b&&(d="",g=g[0].split(d),m=-1,v=-1,y=0,b=g.length-1)):(m=v,y=v)}if(-1==m||1==g.length&&0==g[0].length){var w=t.parent();t.detach();var S=s&&s.closest(w).length?s.length:0;w.contents().length>S?c=p(w.contents().eq(-1-S),n):(c=p(w,n,!0),S||w.detach()),c&&(h=a(u(c),i),l(c,h),S&&s&&e(c).parent().append(s))}else h=a(g.slice(0,m+1).join(d),i),l(c,h);return!0}function o(e,t){return e.innerHeight()>t.maxHeight}function a(t,n){for(;e.inArray(t.slice(-1),n.lastCharacter.remove)>-1;)t=t.slice(0,-1);return e.inArray(t.slice(-1),n.lastCharacter.noEllipsis)<0&&(t+=n.ellipsis),t}function s(e){return{width:e.innerWidth(),height:e.innerHeight()}}function l(e,t){e.innerText?e.innerText=t:e.nodeValue?e.nodeValue=t:e.textContent&&(e.textContent=t)}function u(e){return e.innerText?e.innerText:e.nodeValue?e.nodeValue:e.textContent?e.textContent:""}function c(e){do e=e.previousSibling;while(e&&1!==e.nodeType&&3!==e.nodeType);return e}function p(t,n,r){var i,o=t&&t[0];if(o){if(!r){if(3===o.nodeType)return o;if(e.trim(t.text()))return p(t.contents().last(),n)}for(i=c(o);!i;){if(t=t.parent(),t.is(n)||!t.length)return!1;i=c(t[0])}if(i)return p(e(i),n)}return!1}function h(t,n){return t?"string"==typeof t?(t=e(t,n),t.length?t:!1):t.jquery?t:!1:!1}function f(e){for(var t=e.innerHeight(),n=["paddingTop","paddingBottom"],r=0,i=n.length;i>r;r++){var o=parseInt(e.css(n[r]),10);isNaN(o)&&(o=0),t-=o}return t}if(!e.fn.dotdotdot){e.fn.dotdotdot=function(t){if(0==this.length)return e.fn.dotdotdot.debug('No element found for "'+this.selector+'".'),this;if(this.length>1)return this.each(function(){e(this).dotdotdot(t)});var i=this;i.data("dotdotdot")&&i.trigger("destroy.dot"),i.data("dotdotdot-style",i.attr("style")||""),i.css("word-wrap","break-word"),"nowrap"===i.css("white-space")&&i.css("white-space","normal"),i.bind_events=function(){return i.bind("update.dot",function(t,s){i.removeClass("is-truncated"),t.preventDefault(),t.stopPropagation(),l.maxHeight="number"==typeof l.height?l.height:f(i),l.maxHeight+=l.tolerance,"undefined"!=typeof s&&(("string"==typeof s||"nodeType"in s&&1===s.nodeType)&&(s=e("<div />").append(s).contents()),s instanceof e&&(a=s)),g=i.wrapInner('<div class="dotdotdot" />').children(),g.contents().detach().end().append(a.clone(!0)).find("br").replaceWith("  <br />  ").end().css({height:"auto",width:"auto",border:"none",padding:0,margin:0});var c=!1,p=!1;return u.afterElement&&(c=u.afterElement.clone(!0),c.show(),u.afterElement.detach()),o(g,l)&&(p="children"==l.wrap?n(g,l,c):r(g,i,g,l,c)),g.replaceWith(g.contents()),g=null,e.isFunction(l.callback)&&l.callback.call(i[0],p,a),u.isTruncated=p,p}).bind("isTruncated.dot",function(e,t){return e.preventDefault(),e.stopPropagation(),"function"==typeof t&&t.call(i[0],u.isTruncated),u.isTruncated}).bind("originalContent.dot",function(e,t){return e.preventDefault(),e.stopPropagation(),"function"==typeof t&&t.call(i[0],a),a}).bind("destroy.dot",function(e){e.preventDefault(),e.stopPropagation(),i.unwatch().unbind_events().contents().detach().end().append(a).attr("style",i.data("dotdotdot-style")||"").data("dotdotdot",!1)}),i},i.unbind_events=function(){return i.unbind(".dot"),i},i.watch=function(){if(i.unwatch(),"window"==l.watch){var t=e(window),n=t.width(),r=t.height();t.bind("resize.dot"+u.dotId,function(){n==t.width()&&r==t.height()&&l.windowResizeFix||(n=t.width(),r=t.height(),p&&clearInterval(p),p=setTimeout(function(){i.trigger("update.dot")},100))})}else c=s(i),p=setInterval(function(){if(i.is(":visible")){var e=s(i);c.width==e.width&&c.height==e.height||(i.trigger("update.dot"),c=e)}},500);return i},i.unwatch=function(){return e(window).unbind("resize.dot"+u.dotId),p&&clearInterval(p),i};var a=i.contents(),l=e.extend(!0,{},e.fn.dotdotdot.defaults,t),u={},c={},p=null,g=null;return l.lastCharacter.remove instanceof Array||(l.lastCharacter.remove=e.fn.dotdotdot.defaultArrays.lastCharacter.remove),l.lastCharacter.noEllipsis instanceof Array||(l.lastCharacter.noEllipsis=e.fn.dotdotdot.defaultArrays.lastCharacter.noEllipsis),u.afterElement=h(l.after,i),u.isTruncated=!1,u.dotId=d++,i.data("dotdotdot",!0).bind_events().trigger("update.dot"),l.watch&&i.watch(),i},e.fn.dotdotdot.defaults={ellipsis:"... ",wrap:"word",fallbackToLetter:!0,lastCharacter:{},tolerance:0,callback:null,after:null,height:null,watch:!1,windowResizeFix:!0},e.fn.dotdotdot.defaultArrays={lastCharacter:{remove:[" "," ",",",";",".","!","?"],noEllipsis:[]}},e.fn.dotdotdot.debug=function(e){};var d=1,g=e.fn.html;e.fn.html=function(n){return n!=t&&!e.isFunction(n)&&this.data("dotdotdot")?this.trigger("update",[n]):g.apply(this,arguments)};var m=e.fn.text;e.fn.text=function(n){return n!=t&&!e.isFunction(n)&&this.data("dotdotdot")?(n=e("<div />").text(n).html(),this.trigger("update",[n])):m.apply(this,arguments)}}}(r)}),define("jquery.placeholder",[],function(e,t,n){var r=e("jquery");!function(e){function t(t){var n={},r=/^jQuery\d+$/;return e.each(t.attributes,function(e,t){t.specified&&!r.test(t.name)&&(n[t.name]=t.value)}),n}function n(t,n){var r=this,o=e(this);if(r.value===o.attr(s?"placeholder-x":"placeholder")&&o.hasClass(f.customClass))if(r.value="",o.removeClass(f.customClass),o.data("placeholder-password")){if(o=o.hide().nextAll('input[type="password"]:first').show().attr("id",o.removeAttr("id").data("placeholder-id")),t===!0)return o[0].value=n,n;o.focus()}else r==i()&&r.select()}function r(r){var i,o=this,a=e(this),l=o.id;if(!r||"blur"!==r.type||!a.hasClass(f.customClass))if(""===o.value){if("password"===o.type){if(!a.data("placeholder-textinput")){try{i=a.clone().prop({type:"text"})}catch(u){i=e("<input>").attr(e.extend(t(this),{type:"text"}))}i.removeAttr("name").data({"placeholder-enabled":!0,"placeholder-password":a,"placeholder-id":l}).bind("focus.placeholder",n),a.data({"placeholder-textinput":i,"placeholder-id":l}).before(i)}o.value="",a=a.removeAttr("id").hide().prevAll('input[type="text"]:first').attr("id",a.data("placeholder-id")).show()}else{var c=a.data("placeholder-password");c&&(c[0].value="",a.attr("id",a.data("placeholder-id")).show().nextAll('input[type="password"]:last').hide().removeAttr("id"))}a.addClass(f.customClass),a[0].value=a.attr(s?"placeholder-x":"placeholder")}else a.removeClass(f.customClass)}function i(){try{return document.activeElement}catch(e){}}var o,a,s=!1,l="[object OperaMini]"===Object.prototype.toString.call(window.operamini),u="placeholder"in document.createElement("input")&&!l&&!s,c="placeholder"in document.createElement("textarea")&&!l&&!s,p=e.valHooks,h=e.propHooks,f={};u&&c?(a=e.fn.placeholder=function(){return this},a.input=!0,a.textarea=!0):(a=e.fn.placeholder=function(t){var i={customClass:"placeholder"};return f=e.extend({},i,t),this.filter((u?"textarea":":input")+"["+(s?"placeholder-x":"placeholder")+"]").not("."+f.customClass).not(":radio, :checkbox, :hidden").bind({"focus.placeholder":n,"blur.placeholder":r}).data("placeholder-enabled",!0).trigger("blur.placeholder")},a.input=u,a.textarea=c,o={get:function(t){var n=e(t),r=n.data("placeholder-password");return r?r[0].value:n.data("placeholder-enabled")&&n.hasClass(f.customClass)?"":t.value},set:function(t,o){var a,s,l=e(t);return""!==o&&(a=l.data("placeholder-textinput"),s=l.data("placeholder-password"),a?(n.call(a[0],!0,o)||(t.value=o),a[0].value=o):s&&(n.call(t,!0,o)||(s[0].value=o),t.value=o)),l.data("placeholder-enabled")?(""===o?(t.value=o,t!=i()&&r.call(t)):(l.hasClass(f.customClass)&&n.call(t),t.value=o),l):(t.value=o,l)}},u||(p.input=o,h.value=o),c||(p.textarea=o,h.value=o),e(function(){e(document).delegate("form","submit.placeholder",function(){var t=e("."+f.customClass,this).each(function(){n.call(this,!0,"")});setTimeout(function(){t.each(r)},10)})}),e(window).bind("beforeunload.placeholder",function(){var t=!0;try{"javascript:void(0)"===document.activeElement.toString()&&(t=!1)}catch(n){}t&&e("."+f.customClass).each(function(){this.value=""})}))}(r)});
\ No newline at end of file
diff --git a/web-static/dist/yohobuy/4.7.1/index-debug.js b/web-static/dist/yohobuy/4.7.1/index-debug.js
new file mode 100644
index 0000000..88df255
--- /dev/null
+++ b/web-static/dist/yohobuy/4.7.1/index-debug.js
@@ -0,0 +1,17934 @@
+define("index", ["jquery","handlebars","source-map","index","lazyload","jquery-pjax","dot","jquery.placeholder"], function(require, exports, module){
+var webYohobuy;
+
+//通用
+require("js/common");
+
+//头部
+require("js/header");
+
+//简化头部
+require("js/simple-header");
+
+//商品(列表、搜索、商品详情)
+require("js/product/entry");
+
+//频道页
+require("js/index/index");
+
+//品牌一览
+require("js/brand/index");
+
+//登录注册找回密码
+require("js/passport/entry");
+
+//购物车
+require("js/cart/cart");
+
+//逛
+require("js/guang/entry");
+
+//个人中心
+require("js/home/entry");
+
+//帮助中心
+require("js/help/entry");
+
+//订单确认
+require("js/order/ensure");
+
+//商品支付
+require("js/shopping/pay");
+
+//微信扫码支付
+require("js/pay/wechatqrcode");
+
+//关于我们
+require("js/about/entry");
+
+//领券频道
+require("js/coupon/entry");
+
+module.exports = webYohobuy;
+
+});
+define("js/common", ["jquery"], function(require, exports, module){
+/**
+ * 页面公共逻辑和接口
+ * @author: xuqi<qi.xu@yoho.cn>
+ * @date: 2015/11/23
+ */
+var $ = require("jquery");
+
+
+var $body = $('body');
+
+require("js/footer");
+
+function cookie(name) {
+    var re = new RegExp(name + '=([^;$]*)', 'i'),
+        matchPattern = '$1';
+
+    return re.test(decodeURIComponent(document.cookie)) ? RegExp[matchPattern] : '';
+}
+
+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 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;
+}
+
+//YAS统计代码
+(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.17/yas.js', '_yas');
+
+(function() {
+    var uid = getUid();
+
+    uid = uid === 0 ? '' : uid;
+
+    window._ozuid = uid; //暴露ozuid
+
+    if (window._yas) {
+        window._yas(1 * new Date(), '1.0.17', 'yohobuy_web', uid, '', '');
+    }
+}());
+
+//window.resize在width<1180时适配成990
+$(window).on('resize', function() {
+    var w = $(this).width();
+
+    //return top
+    if (w < 1360) {
+        $('.return-top').addClass('min');
+    } else {
+        $('.return-top').removeClass('min');
+    }
+
+    //body
+    if (w < 1180) {
+        $body.addClass('min-screen');
+    } else {
+        $body.removeClass('min-screen');
+    }
+}).trigger('resize');
+
+function queryString() {
+    var vars = {},
+        hash,
+        i,
+        search = window.location.search,
+        hashes = search ? decodeURIComponent(search).slice(1).split('&') : [];
+
+    for (i = 0; i < hashes.length; i++) {
+        hash = hashes[i].split('=');
+        vars[hash[0]] = hash[1];
+    }
+    return vars;
+}
+
+// 给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;
+    }
+});
+
+//个人中心左侧栏头像加载失败后,显示默认头像
+(function() {
+    $(window).load(function() {
+        var thumb = document.getElementById('user-thumb');
+        var img;
+
+        if (!thumb) {
+            return;
+        }
+
+        img = new Image();
+
+        img.src = thumb.src;
+
+        img.onerror = function() {
+            $(thumb).parent().append('<div class="default-user-thumb"></div>').end().remove();
+        };
+    });
+}());
+
+window.cookie = cookie;
+
+window.setCookie = setCookie;
+
+window.getUser = getUser;
+
+window.getUid = getUid;
+
+window.getShoppingKey = getShoppingKey;
+
+window.queryString = queryString;
+
+});
+define("js/footer", ["jquery"], function(require, exports, module){
+/**
+ * 尾部
+ * @author: wangqing<robin.wang@yoho.cn>
+ * @date: 2015/12/01
+ */
+
+var $ = require("jquery");
+
+var $returnTop = $('.return-top');
+
+/**
+ * 订阅
+ * @return {[type]} [description]
+ */
+function actionSubscription() {
+    var $subscriberBox = $('#subscriber-box'),
+        $subscriberBtn = $('#subscriber-btn'),
+        emailReg = /^[.\-_a-zA-Z0-9]+@[\-_a-zA-Z0-9]+\.[a-zA-Z0-9]/;
+
+    var iconCode = {
+        mail: '&#xe61b;',
+        tick: '&#xe61a'
+    };
+
+    $subscriberBox.focus(function() {
+        $(this).val('').css('color', '');
+        $subscriberBtn.removeClass('done').html(iconCode.mail);
+    });
+
+    $subscriberBtn.click(function() {
+        var email = $.trim($subscriberBox.val());
+
+        if (email !== '' && emailReg.test(email)) {
+            try {
+                $.ajax({
+                    url: '//www.yohobuy.com/common/emailSubscriber',
+                    dataType: 'jsonp',
+                    data: {
+                        email: email,
+                        tmp: Math.random(),
+                        uid: window.getUid()
+                    },
+                    success: function(data) {
+                        if (data.data.result === 1) {
+                            $subscriberBox.val('已订阅到:' + email);
+                            $subscriberBtn.addClass('done').html(iconCode.tick);
+                        } else {
+                            $subscriberBox.css('color', 'red');
+                        }
+                    }
+                });
+            } catch (e) {
+                console.log(e.message);
+            }
+        } else {
+            $subscriberBox.css('color', 'red');
+        }
+    });
+}
+
+function actionhomeFootChange() {
+    var $vote = $('.vote'),
+        $feedBackPage = $('#feed-back-page'),
+        count = $vote.children('li').length;
+
+    //意见反馈
+    $feedBackPage.on('click', 'span', function() {
+        var $this = $(this);
+
+        if ($this.hasClass('cur')) {
+            return;
+        }
+
+        $this.siblings('.cur').removeClass('cur');
+        $this.addClass('cur');
+
+        $vote.children().not('.hide').addClass('hide')
+            .end()
+            .eq($this.index()).removeClass('hide');
+    });
+
+    $vote.on('click', '.feed-back-btn', function() {
+        var $this = $(this),
+            $li = $this.closest('li'),
+            index = $li.index(),
+            _solution = [];
+
+        var _answer = $li.find('.feedback-answer').val(),
+            _feedback = $li.find('.feedback-id').val(),
+            _question = $li.find('.question-id').val();
+
+        $li.find(':checked').each(function() {
+            _solution.push($(this).val());
+        });
+
+        $.ajax({
+            url: '//www.yohobuy.com/common/suggestFeedback',
+            dataType: 'jsonp',
+            data: {
+                feedback_id: _feedback || 0,
+                question_id: _question || 0,
+                answer: _answer || '',
+                solution: _solution.join(',')
+            },
+            success: function(data) {
+                var next = index + 1;
+
+                if (~~data.data.result === 1) {
+                    if (index === count - 1) {
+                        alert('感谢您的参与!');
+                        return;
+                    }
+
+                    $li.addClass('hide');
+
+                    $vote.children(':eq(' + (index + 1) + ')').removeClass('hide');
+                    $feedBackPage.children('.cur').removeClass('cur');
+                    $feedBackPage.children(':eq(' + next + ')').addClass('cur');
+                }
+            }
+        });
+    });
+}
+
+function rePosReturn() {
+    if ($(window).height() > $(document).height()) {
+        $returnTop.addClass('hide');
+    }
+
+    // 只在窗口高度大于文档高度的时候,隐藏返回顶部
+    // else {
+    //     $returnTop.removeClass('hide');
+    // }
+}
+
+//返回顶部
+$returnTop.click(function() {
+    $('html,body').animate({
+        scrollTop: 0
+    }, 500);
+});
+
+$(window).scroll(function() {
+    if ($(window).scrollTop() === 0) {
+        $returnTop.addClass('hide');
+    } else {
+        $returnTop.removeClass('hide');
+    }
+});
+
+//如果初始是隐藏的,监听图片加载,重新确定return-top的高度
+if ($returnTop.hasClass('hide')) {
+    $('img').load(rePosReturn);
+}
+
+//初始化
+actionSubscription();
+actionhomeFootChange();
+
+//暴露给有可能通AJAX改变内容的页面去用
+window.rePosReturnTop = rePosReturn;
+
+});
+define("js/header", ["jquery","handlebars","source-map","index"], function(require, exports, module){
+/**
+ * 头部
+ * @author: wangqing<robin.wang@yoho.cn>
+ * @date: 2015/12/01
+ */
+var $ = require("jquery");
+var handlebars = require("handlebars");
+var json2 = require("index");
+var vipInfoCombine = null; //用户信息编译模板
+var loginInfoCombine = null; //登录信息编译模板
+// var apiDomain = $('#api-domain').val(); //获取数据的地址
+var cartTpl = ''; //购物车模板
+/**
+ * 搜寻的时候过滤非法字符(+-/:等非法字符单独出现)
+ * @type {RegExp}
+ */
+var reg = /^[\^\!\+\-\(\)\:\[\]\\\{\}\~\*\?\|\&\;\/]{0,}$/g;
+var keyword = '';
+var link = '';
+var dataLayer = [];
+var requestFrame = null;
+var logoanimationstart = 0;
+var $logotrans = $('.icon-logo');
+var isen = true;
+var loopdurationtime = 500;
+var globaltimeout;
+var onetimeoout;
+var $loginBox = $('#loginBox');
+/**
+ * banner和地址的映射
+ * @type {Object}
+ */
+var bannerMap = {
+    listboys: '4f78b0f418fc42314d8b6e791cfb7fa8',
+    listgirls: '00c1f025a51b6b597dc37925951ea27d',
+    listkids: 'b02df11184727701ade1b6de9737d08c',
+    listlifestyle: 'fd35c52dced0c880976ba858346d1fc5',
+    searchboys: '9fb8986ea700cc27a8057361c3924394',
+    searchgirls: 'e3e207a1443ca60c8037fe52a5560c18',
+    searchkids: '620fc77f479da8feaeb06f2324e5d0bb',
+    searchlifestyle: 'a3c93301c6ffaf3ed0f36a4a451be36d',
+    uniquebrandboys: '2ebb0810c0d1a67e5229149c9c3aba7d',
+    uniquebrandgirls: '99e23385f4ba4b65f406b7e2968ac821',
+    uniquebrandkids: 'a74ebc9b17840c91b9ea46568111fe6b',
+    uniquebrandlifestyle: '0e8c81ead53f56302baa4d0ad967f527',
+    brandsboys: '77b352db07129c76a9d532acad149f9f',
+    brandsgirls: 'bf047f16e52ebc38be5ce9c7623831e6',
+    brandskids: 'e3ae1ce9b5e13c6d271ef3eccb831652',
+    brandslifestyle: 'e4ac8029c30f65d7f1af030980d140fe',
+    newboys: '869d3c5f3b450fb52101d00a61ce87cb',
+    newgirls: 'd953b6dfdac02483d1dcce8d96055954',
+    newkids: '0874cb6d75df8e0e78f2d475e53ecc08',
+    newlifestyle: '43e8fc8e178115c262bbce2bd0012db7',
+    saleboys: 'c846e3165c994769b4201d8c32f3ae9b',
+    salegirls: '52b1d389edcbc62d65de71b80c4d6ad0',
+    salekids: 'ad8b1703c761ba00973868ab5199cc27',
+    salelifestyle: '7acc64905c70ac91846f43fb2cec4bbd',
+    homeboys: 'b0856a771ef1b59ab1234c74688fa42d',
+    homegirls: '2bd61fa12e4933211518f70fe5ce3c48',
+    homekids: '895c59e8c64b40399c9533509507320c',
+    homelifestyle: '2e037d4e25d2767352ca3e0a4627f7bd',
+    indexboys: '0c911d3000f52e8ca7cffb74f5864c29',
+    indexgirls: 'b645b8980c423ab30485e0a9d08c2ef7',
+    indexkids: '17f6d5d5d454d2c507bc5fcbc90f7756',
+    indexlifestyle: '735cd393e841762af8793c346abbbc36'
+};
+var cookieMap = {};
+
+var bannerApi = '//new.yohobuy.com/common/getbanner?content_code=';
+
+$('#api-domain').remove(); //删除信息表单
+
+function getSource(column, postition, event) {
+    try {
+        dataLayer.push({
+            louceng: column,
+            weizhi: postition,
+            event: event
+        });
+    } catch (e) {}
+}
+
+
+window.submitSearch = function() {
+    var $keywordinput = $('#query_key').val();
+    var $defaultsearch = $('#defaultsearch').val();
+    var column = 'Search';
+    var postition = 'Head Search';
+    var event = 'Search';
+    var $formatkeyword,
+        $formatkeywordinput;
+
+    $formatkeyword = $.trim(keyword.toLowerCase());
+    $formatkeywordinput = $.trim($keywordinput.toLowerCase());
+    getSource(column, postition, event);
+    if (link !== '' && keyword !== '' && $formatkeyword === $formatkeywordinput) {
+        location.href = link.replace('\'', '');
+    } else {
+        if (reg.test($keywordinput) && $keywordinput !== '') {
+            location.href = '//search.yohobuy.com/error?query=' + $keywordinput + '&result=error';
+        } else {
+            if ($keywordinput === '') {
+                $('#query_key').val($defaultsearch);
+            }
+            $('#searchForm').submit();
+            return false;
+        }
+    }
+};
+/**
+ * 增加关键字
+ * @return {[type]} [description]
+ */
+function actionAddKeyWords() {
+    var $keywords = $('#nav_keyword').text();
+    var defaultsearch = 'vans';
+    var $querykey = $('#query_key');
+
+    if ($keywords !== '') {
+        $querykey.css({
+            color: '#000'
+        });
+        $querykey.val($keywords);
+    } else {
+        $querykey.css({
+            color: '#e0e0e0'
+        });
+        $querykey.val(defaultsearch);
+        $querykey.on('focus', function(e) {
+            $querykey.css({
+                color: '#000'
+            });
+            $querykey.val('');
+        });
+    }
+}
+/**
+ * 定义购物车扩展
+ */
+
+function actionGoodsCart() {
+    var defaults = {
+        cookie: '_g',
+        cartNum: ''
+    };
+    var params = '';
+    var cartInfo = '';
+    var queryNum = 0;
+    var listIndex = 0;
+    var tmpList = 0;
+    var totalNum = 0;
+    var text = '';
+
+    $.fn.miniCart = function(options) {
+        params = $.extend(defaults, options);
+        if (typeof window.cookie(params.cookie) === 'undefined') {
+            cartInfo = null;
+        } else {
+            if (params.cookie) {
+                try {
+                    cartInfo = json2.parse(window.cookie(params.cookie));
+                } catch (e) {
+
+                }
+
+            }
+
+        }
+        if (cartInfo !== null && cartInfo !== '') {
+            totalNum = parseInt(cartInfo._nac) + parseInt(cartInfo._ac);
+            if (totalNum === 0) {
+                $('#icart-num').attr('class', 'icart-num icart-none');
+            } else {
+                $('#icart-num').attr('class', 'icart-num');
+            }
+            $(params.cartNum).html(totalNum);
+        }
+    };
+    $.fn.search = function(searchDomain) {
+
+        function getKeywords(obj) {
+            var key = $.trim($(obj).val());
+
+            key = key.replace(new RegExp('\'', 'gm'), ''); //去掉特殊字符
+            if (key === '') {
+                $('.search-list').hide();
+                return false;
+            }
+            key = encodeURI(key);
+            $.get(searchDomain + '?query=' + key, function(htmlData) {
+                $('.search-list').html(htmlData.data);
+                queryNum = $('.search-list').children('li').length;
+                listIndex = -1;
+                if (queryNum > 0) {
+                    $('.search-list').show();
+                } else {
+                    $('.search-list').hide();
+                }
+                $('.search-list').find('a').hover(function() {
+                    $(this).css('background-color', '#eee');
+                }, function() {
+                    $(this).css('background-color', '#fff');
+                });
+            }, 'jsonp');
+        }
+
+        function getText(obj) {
+            $('.search-list li:eq(' + tmpList + ')').children('a').css('background-color', '#fff');
+            $('.search-list li:eq(' + listIndex + ')').children('a').css('background-color', '#eee');
+            text = $('.search-list li:eq(' + listIndex + ')').children('a').attr('title');
+            $('#query_key').val(text);
+        }
+        return this.each(function() {
+            $(this).keyup(function(event) {
+                if (event.which === 38) {
+                    if (queryNum === 0) {
+                        return false;
+                    }
+                    if (listIndex === -1) {
+                        listIndex = 0;
+                    }
+                    tmpList = listIndex;
+                    listIndex = (listIndex - 1 + queryNum) % queryNum;
+                    getText(this);
+                } else if (event.which === 40) {
+                    if (queryNum === 0) {
+                        return false;
+                    }
+                    tmpList = listIndex;
+                    listIndex = (listIndex + 1) % queryNum;
+                    getText(this);
+                } else if (event.which === 13) {
+                    window.submitSearch();
+                } else {
+                    getKeywords(this);
+                }
+            });
+        });
+    };
+    $.extend({
+        getData: function(domain, options, onSuccess) {
+            var defaults = {
+                page: 1,
+                method: '',
+                v: 1,
+                return_type: 'jsonp',
+                open_key: '12345',
+                tmp: Math.random()
+            };
+            var params = '';
+
+            if (typeof (domain) === undefined || domain === '') {
+                return false;
+            }
+            params = $.extend(defaults, options);
+            params.page = params.page || 1;
+
+            // if (params.method === '') {
+            //     return false;
+            // }
+
+            try {
+                $.getJSON(domain + '/?callback=?', params, function(_data) {
+                    if (onSuccess !== '') {
+                        if (typeof onSuccess(_data.data) !== 'undefined') {
+                            json2.parse(onSuccess(_data.data));
+                        }
+                        return false;
+                    }
+                });
+            } catch (e) {
+                console.log(e.message);
+            }
+        },
+        getShoppingKey: function() {
+            var shoppingInfo = window.cookie('_g');
+            var shoppingData = json2.parse(shoppingInfo);
+            var spk;
+
+            if (typeof shoppingInfo === 'undefined' || shoppingInfo === null) {
+                spk = window.cookie('_SPK');
+                return spk ? spk : '';
+            }
+            return shoppingData._k;
+        }
+    });
+}
+
+/**
+ * 时间戳
+ * @param  {[type]} v1       [description]
+ * @param  {[type]} options) {               if (v1 [description]
+ * @return {[type]}          [description]
+ */
+handlebars.registerHelper('timestamp', function() {
+    return new Date().getTime();
+});
+/**
+ * 头像
+ * @param  {[type]} v1       [description]
+ * @param  {[type]} options) {               if (v1 [description]
+ * @return {[type]}          [description]
+ */
+handlebars.registerHelper('headerimg', function(headerimg) {
+
+    if (headerimg === '') {
+        return '//img10.static.yhbimg.com/headimg/2013/11/28/09/01cae078abe5fe320c88cdf4c220212688.gif' +
+            '?imageView/2/w/100/h/100';
+    } else {
+        return headerimg;
+    }
+
+});
+/**
+ * 判断等级为3的helper
+ * @param  {[type]} v1       [description]
+ * @param  {[type]} options) {               if (v1 [description]
+ * @return {[type]}          [description]
+ */
+
+handlebars.registerHelper('equallevelthree', function(v1, options) {
+
+    if (v1 === '3') {
+        return options.fn(this);
+    } else {
+        return options.inverse(this);
+    }
+});
+
+/**
+ * 判断不为'0'的helper
+ * @param  {[type]} v1       [description]
+ * @param  {[type]} options) {               if (v1 [description]
+ * @return {[type]}          [description]
+ */
+
+handlebars.registerHelper('notzero', function(v1, options) {
+    if (v1 !== '0') {
+        return options.fn(this);
+    } else {
+        return options.inverse(this);
+    }
+});
+
+/**
+ * 获取头部banner的回调函数
+ * @param {[type]} data [description]
+ */
+function JsonPCallBack(data) {
+    var topbanner;
+
+    if (+data.code === 200) {
+        if (typeof data.data === 'object') {
+            if (data.data.url !== '') {
+                topbanner = '<a target="_blank" href="' + data.data.url + '" class="page-top-banner"' +
+                    'style="height:36px;border:none;background-image:url(' + window.unescape(data.data.src) + ');' +
+                    'background-position: center;display:block;">&nbsp;</a>';
+            } else {
+                topbanner = '<div class="yoho-notice">' +
+                    '<div class="notice-container center-content">' +
+                        '<h1 class="notice-title">关于系统升级的公告</h1>' +
+                        '<div class="notice-content">' +
+                            '<p class="tips">尊敬的顾客:</p>' +
+                            '<p class="detail">您好!为了向您提供更优质的服务,目前系统正在升级,请耐心等待。</p>' +
+                            '<p class="detail">系统升级期间,部分地区用户体验会有暂时中断,如遇紧急事宜,欢迎垂询客服热线:' +
+                            '400-889-9646 09:00-22:30(周一至周日)。稍后系统将恢复正常' +
+                            '使用,欢迎您继续光顾YOHO!BUY有货!带来不便之处深表歉意,请您谅解!</p>' +
+                        '</div>' +
+                    '</div>' +
+                '</div>';
+            }
+            $('body').prepend(topbanner);
+        }
+    }
+}
+
+window.JsonPCallBack = JsonPCallBack;
+
+
+/**
+ * 获得banner数据
+ * @param  {[string]} code [banner对应的编码]
+ * @return {[type]}      [description]
+ */
+function getBannerData(code) {
+    var script = document.createElement('script');
+
+    script.src = bannerApi + code + '&client_type=web&callback=JsonPCallBack';
+    document.getElementsByTagName('head')[0].appendChild(script);
+}
+
+/**
+ * 显示和隐藏
+ * @param  {[type]} sourceClass [description]
+ * @param  {[type]} targetClass [description]
+ * @return {[type]}             [description]
+ */
+function toggleDisplay(sourceClass, targetClass) {
+    var $that,
+        targetobj;
+
+    $(sourceClass).hover(function(e) {
+        e.preventDefault();
+        $that = $(this);
+        targetobj = $(targetClass)[0];
+        if (targetobj.style.display === '') {
+            $that.addClass('acttags');
+            targetobj.style.display = 'block';
+        } else {
+            $that.removeClass('acttags');
+            targetobj.style.display = '';
+        }
+    });
+}
+
+/**
+ * 执行顶部显示和隐藏
+ * @return {[type]} [description]
+ */
+function actionTopTagToggle() {
+    var tags = [{
+            sourceClass: '.myyoho',
+            targetClass: '.myyoho-info'
+        }, {
+            sourceClass: '.phone',
+            targetClass: '.qr'
+        }],
+        obj,
+        i;
+
+    for (i = 0; i < tags.length; i++) {
+        obj = tags[i];
+        toggleDisplay(obj.sourceClass, obj.targetClass);
+    }
+}
+/**
+ * 执行顶部群组鼠标交互
+ * @return {[type]} [description]
+ */
+function actionYoHoGroup() {
+    var $this;
+
+    $('.yohogroup').mouseenter(function() {
+        $this = $(this);
+        $this.text($this.attr('cn'));
+    });
+    $('.yohogroup').mouseleave(function() {
+        $this = $(this);
+        $this.text($this.attr('en'));
+    });
+}
+
+/**
+ * 检测是否支持css3的动画
+ * @return {Boolean} [description]
+ */
+function isSupportCss3Animation() {
+    var thisFunc,
+        prefixList = ['webkit', 'moz', 'ms'],
+        i;
+
+    for (i = 0; i < prefixList.length; i++) {
+        thisFunc = prefixList[i] + 'RequestAnimationFrame';
+        if (window[thisFunc]) {
+            return true;
+        } else {
+            return false;
+        }
+    }
+
+}
+/**
+ * css3动画
+ * @param  {Array}  ) {               var thisFunc, prefixList [description]
+ * @return {[type]}   [description]
+ */
+function requestFrameAct() {
+    var prefixList = ['webkit', 'moz', 'ms'];
+    var func1 = prefixList[0] + 'RequestAnimationFrame';
+    var func2 = prefixList[1] + 'RequestAnimationFrame';
+    var func3 = prefixList[2] + 'RequestAnimationFrame';
+
+    if (window[func1]) {
+        return function(callback) {
+            requestAnimationFrame(callback);
+        };
+    }
+    if (window[func2]) {
+        return function(callback) {
+            window[func2](callback);
+        };
+    }
+    if (window[func3]) {
+        return function(callback) {
+            window[func3](callback);
+        };
+    }
+    return function(callback) {
+        window.setTimeout(callback, 67);
+    };
+}
+
+
+/**
+ * css3动画
+ * @return {[type]} [description]
+ */
+
+function tsAnimate() {
+    logoanimationstart += 10;
+    $logotrans.css({
+        transform: 'rotateX(' + logoanimationstart + 'deg)',
+        '-webkit-transform': 'rotateX(' + logoanimationstart + 'deg)',
+        '-moz-transform': 'rotateX(' + logoanimationstart + 'deg)'
+    });
+    if (logoanimationstart / 90 % 2 === 1) {
+        if (isen) {
+            $logotrans.css('background-image', 'url(//static.yohobuy.com/newheader/img/logo1.png)');
+            isen = false;
+        } else {
+            $logotrans.css('background-image', 'url(//static.yohobuy.com/newheader/img/logo_e.png)');
+            isen = true;
+        }
+    }
+    if (logoanimationstart / 90 % 2 === 0 && logoanimationstart % 360 !== 0) {
+        window.setTimeout(tsAnimate, 3000);
+    } else {
+        if (logoanimationstart % 360 === 0) {
+            window.setTimeout(tsAnimate, 1 * 60 * 1000);
+        } else {
+            requestFrame(function() {
+                tsAnimate();
+            });
+        }
+    }
+}
+
+/**
+ * 淡出
+ * @return {[type]} [description]
+ */
+function fadeAnimate() {
+    if (globaltimeout) {
+        window.clearTimeout(globaltimeout);
+    }
+    $logotrans.fadeOut(loopdurationtime, function() {
+        isen = false;
+
+        $logotrans.css('background-image', 'url(//static.yohobuy.com/newheader/img/logo.png)');
+        $logotrans.fadeIn(loopdurationtime, function() {
+            onetimeoout = window.setTimeout(function() {
+                $logotrans.fadeOut(loopdurationtime, function() {
+                    window.clearTimeout(onetimeoout);
+                    isen = true;
+                    $logotrans.css('background-image',
+                        'url(//static.yohobuy.com/newheader/img/logo_e.png)');
+                    $logotrans.fadeIn(loopdurationtime, function() {
+                        globaltimeout = window.setTimeout(fadeAnimate, 1 * 60 * 1000);
+                    });
+                });
+            }, 3000);
+        });
+    });
+}
+/**
+ * 执行头部logo动画
+ * @return {[type]} [description]
+ */
+function actionTopLogoAnimate() {
+    if (isSupportCss3Animation()) {
+        requestFrame = requestFrameAct();
+        window.setTimeout(tsAnimate, 3000);
+    } else {
+        window.setTimeout(fadeAnimate, 3000);
+    }
+}
+window.newArr = [];
+window.wrapperindex = 0;
+window.gindex = 0;
+window.targetArr1 = [];
+window.targetArr2 = [];
+window.targetArr3 = [];
+window.oh1 = 0;
+window.oh2 = 0;
+window.oh3 = 0;
+window.valueIndex = 0;
+window.nowIndex = 0;
+window.inner1 = '';
+window.inner2 = '';
+window.inner3 = '';
+window.finalresult = '';
+
+function createNewArray(obj) {
+    var $thirdnavpanel = $(obj);
+
+    $thirdnavpanel.find('.thirdnavbar').each(function() {
+        var $that = $(this);
+        var $alink = $that.find('a');
+        var _href = $alink.attr('href');
+        var hottag = $alink.attr('hot') === 'hot' ? true : false;
+        var objt = {};
+
+        if ($that.hasClass('category-title')) {
+            objt = {
+                type: 'title',
+                height: 49,
+                content: $that.text(),
+                index: window.valueIndex,
+                href: _href,
+                hot: false
+            };
+        } else {
+            objt = {
+                type: 'catlist',
+                height: 36,
+                content: $alink.text(),
+                index: window.valueIndex,
+                href: _href,
+                hot: hottag
+            };
+        }
+        window.valueIndex++;
+        window.newArr.push(objt);
+    });
+}
+
+function createWrapper() {
+    var arrlength = window.newArr.length;
+    var i = 0;
+    var objnew = [];
+    var aobj = [];
+    var bobj = [];
+    var cobj = [];
+    var final1 = '',
+        final2 = '',
+        final3 = '';
+    var a = 0;
+    var b = 0;
+    var c = 0;
+
+    for (i; i < arrlength; i++) {
+        objnew = window.newArr[i];
+        if (window.gindex === 0) {
+            window.oh1 = (window.oh1 + objnew.height);
+            if (window.oh1 >= 340 && i !== (arrlength - 1)) {
+                window.targetArr1 = window.newArr.slice(0, objnew.index + 1);
+                window.nowIndex = objnew.index + 1;
+                window.gindex++;
+            }
+            if (i === (arrlength - 1)) {
+                window.targetArr1 = window.newArr.slice(0, arrlength + 1);
+                break;
+            }
+        }
+        if (window.gindex === 1) {
+            window.oh2 = (window.oh2 + objnew.height);
+            if (window.oh2 >= 340 && i !== (arrlength - 1)) {
+                window.targetArr2 = window.newArr.slice(window.nowIndex, objnew.index + 1);
+                window.nowIndex = objnew.index + 1;
+                window.gindex++;
+            }
+            if (i === (arrlength - 1)) {
+                window.targetArr2 = window.newArr.slice(window.nowIndex, arrlength + 1);
+                break;
+            }
+        }
+        if (window.gindex === 2) {
+            window.oh3 = (window.oh3 + objnew.height);
+            if (window.oh3 >= 340 && i !== (arrlength - 1)) {
+                window.targetArr3 = window.newArr.slice(window.nowIndex, objnew.index + 1);
+                window.nowIndex = objnew.index + 1;
+                window.gindex++;
+                break;
+            }
+            if (i === (arrlength - 1)) {
+                window.targetArr3 = window.newArr.slice(window.nowIndex, arrlength + 1);
+                break;
+            }
+        }
+    }
+    for (a; a < window.targetArr1.length; a++) {
+        aobj = window.targetArr1[a] || {};
+        if (aobj.type === 'title') {
+            window.inner1 = window.inner1 +
+                '<li class="cattitle"><h3><a  href="' +
+                aobj.href +
+                '">' +
+                aobj.content +
+                '</a></h3></li>';
+        } else {
+            if (aobj.hot === true) {
+                window.inner1 = window.inner1 +
+                    '<li class="catdetail"><a  class="thirdcatelink hot" href="' +
+                    aobj.href +
+                    '">' +
+                    aobj.content +
+                    '</a></li>';
+            } else {
+                window.inner1 = window.inner1 +
+                    '<li class="catdetail"><a  class="thirdcatelink" href="' +
+                    aobj.href + '">' +
+                    aobj.content +
+                    '</a></li>';
+            }
+
+        }
+    }
+    for (b; b < window.targetArr2.length; b++) {
+        bobj = window.targetArr2[b] || {};
+        if (bobj.type === 'title') {
+            window.inner2 = (window.inner2 +
+                '<li class="cattitle"><h3><a  href="' +
+                bobj.href + '">' +
+                bobj.content +
+                '</a></h3></li>');
+        } else {
+            if (bobj.hot === true) {
+                window.inner2 = (window.inner2 +
+                    '<li class="catdetail"><a  class="thirdcatelink hot" href="' +
+                    bobj.href + '">' + bobj.content + '</a></li>');
+            } else {
+                window.inner2 = (window.inner2 +
+                    '<li class="catdetail"><a  class="thirdcatelink" href="' +
+                    bobj.href + '">' + bobj.content + '</a></li>');
+            }
+
+        }
+    }
+    for (c; c < window.targetArr3.length; c++) {
+        cobj = window.targetArr3[c] || {};
+        if (cobj.type === 'title') {
+            window.inner3 = (window.inner3 +
+                '<li class="cattitle"><h3><a  href="' +
+                cobj.href +
+                '">' +
+                cobj.content +
+                '</a></h3></li>');
+        } else {
+            if (cobj.hot === true) {
+                window.inner3 = (window.inner3 +
+                    '<li class="catdetail"><a  class="thirdcatelink hot" href="' +
+                    cobj.href + '">' +
+                    cobj.content +
+                    '</a></li>');
+            } else {
+                window.inner3 = (window.inner3 +
+                    '<li class="catdetail"><a  class="thirdcatelink" href="' +
+                    cobj.href + '">' +
+                    cobj.content +
+                    '</a></li>');
+            }
+
+        }
+    }
+    if (window.inner1 !== '') {
+        final1 = '<ul class="cate_row1 cate_row">' +
+            window.inner1 +
+            '</ul>';
+    }
+    if (window.inner2 !== '') {
+        final2 = '<ul class="cate_row2 cate_row">' +
+            window.inner2 +
+            '</ul>';
+    }
+    if (window.inner3 !== '') {
+        final3 = '<ul class="cate_row3 cate_row">' +
+            window.inner3 +
+            '</ul>';
+    }
+    window.finalresult = final1 + final2 + final3;
+    $('#' + window.wrapperindex).empty().append(window.finalresult);
+}
+
+function actionNav() {
+    $('.categorywrapper').each(function(index) {
+        window.wrapperindex = $(this).attr('id');
+        window.newArr = [];
+        window.gindex = 0;
+        window.targetArr1 = [];
+        window.targetArr2 = [];
+        window.targetArr3 = [];
+        window.oh1 = 0;
+        window.oh2 = 0;
+        window.oh3 = 0;
+        window.valueIndex = 0;
+        window.nowIndex = 0;
+        window.inner1 = '';
+        window.inner2 = '';
+        window.inner3 = '';
+        createNewArray($(this).find('.category'));
+        createWrapper();
+    });
+}
+
+/**
+ * 获取三级导航的tip图标
+ * @return {[type]} [description]
+ */
+function actionTipPic() {
+    var tipscode = {};
+    var $contentcode = '';
+    var $img = '';
+    var $title = '';
+    var $link = '';
+    var logolink = '';
+
+    $(document).on('mouseenter', '.sub-nav-item', function() {
+        $contentcode = $(this).find('.showdetail').attr('data-code');
+        if ($contentcode) {
+            if (!tipscode[$contentcode]) {
+                tipscode[$contentcode] = $contentcode;
+                $img = $(this).find('.showdetail').find('img');
+                $title = $(this).find('.showdetail').find('.title');
+                $link = $(this).find('.showdetail').find('a');
+                $.get(bannerApi + $contentcode + '&width=337&height=250&client_type=web', function(rsdata) {
+                    $img.attr('src', rsdata.data.src);
+                    $link.attr('href', rsdata.data.url);
+                    $title.text(rsdata.data.title);
+                }, 'jsonp');
+            }
+        }
+    });
+    logolink = $('.cure').find('.name-cn').find('a').attr('href');
+    $('.main-link').attr('href', logolink);
+}
+
+
+
+function closeCover() {
+    var $cover = $('#cover');
+
+    $cover.remove();
+}
+/**
+ * 首次进入有弹窗
+ * @return {[type]} [description]
+ */
+function actionCover() {
+    var gender = window.cookie('_Gender');
+    var newMask = '';
+    var windowheight = '';
+    var selfheight = '';
+    var containertop;
+    var length = '';
+
+    if (window.location.host === 'www.yohobuy.com' &&
+        (typeof gender === 'undefined' || gender === '' || gender === null)) {
+        $.get('//www.yohobuy.com/index/guide', function(data) {
+            newMask = document.createElement('div');
+            newMask.id = 'cover';
+            newMask.innerHTML = data;
+            document.body.appendChild(newMask);
+            windowheight = $(window).height();
+            selfheight = $('.guide-box').height();
+            containertop = windowheight / 2 - selfheight / 2;
+            length = $('.guide-box .clear').find('li').length;
+            $('.guide-box').css({
+                width: (200 * length) + 'px',
+                top: containertop + 'px'
+            });
+            $('#cover').bind('click', function(event) {
+                window.setCookie('_Gender', '1,3', {
+                    path: '/',
+                    domain: '.yohobuy.com',
+                    expires: 90
+                });
+                window.setCookie('_Channel', 'boys', {
+                    path: '/',
+                    domain: '.yohobuy.com',
+                    expires: 7
+                });
+                closeCover();
+            });
+            $('#cover .guide-box .close').bind('click', function(event) {
+                getSource('弹窗', 'CLOSE', 'homepage_man');
+                window.setCookie('_Gender', '1,3', {
+                    path: '/',
+                    domain: '.yohobuy.com',
+                    expires: 90
+                });
+                window.setCookie('_Channel', 'boys', {
+                    path: '/',
+                    domain: '.yohobuy.com',
+                    expires: 7
+                });
+                closeCover();
+            });
+            $('.boys img , .boys .go').bind('click', function(event) {
+                getSource('弹窗', 'BOYS', 'homepage_man');
+                window.setCookie('_Gender', '1,3', {
+                    path: '/',
+                    domain: '.yohobuy.com',
+                    expires: 90
+                });
+                window.setCookie('_Channel', 'boys', {
+                    path: '/',
+                    domain: '.yohobuy.com',
+                    expires: 7
+                });
+                closeCover();
+            });
+            $('.girls img, .girls .go').bind('click', function(event) {
+                getSource('弹窗', 'GIRLS', 'homepage_woman');
+                window.setCookie('_Gender', '2,3', {
+                    path: '/',
+                    domain: '.yohobuy.com',
+                    expires: 90
+                });
+                window.setCookie('_Channel', 'girls', {
+                    path: '/',
+                    domain: '.yohobuy.com',
+                    expires: 7
+                });
+            });
+            $('.lifestyle img, .lifestyle .go').bind('click', function(event) {
+                window.setCookie('_Channel', 'lifestyle', {
+                    path: '/',
+                    domain: '.yohobuy.com',
+                    expires: 7
+                });
+                getSource('弹窗', 'LIEFSTYLE', 'homepage_lifestyle');
+            });
+            $('#cover .guide-box').bind('click', function(event) {
+                event.stopPropagation();
+            });
+        });
+    }
+}
+/**
+ * 查询跳转后保留关键字
+ * @return {[type]} [description]
+ */
+function actionAddKeyWords() {
+    var $keywords = $('#nav_keyword').text();
+    var defaultsearch = $('#defaultsearch').val();
+    var $querykey = $('#query_key');
+
+    if ($keywords !== '') {
+        $querykey.css({
+            color: '#000'
+        });
+        $querykey.val($keywords);
+    } else {
+        $querykey.css({
+            color: '#e0e0e0'
+        });
+        $querykey.val(defaultsearch);
+        $querykey.on('focus', function(e) {
+            $querykey.css({
+                color: '#000'
+            });
+            $querykey.val('');
+        });
+    }
+    $(document).click(function(e) {
+        if (!$(e.target).closest('.searchspan, .search-list').length) {
+            $('.search-list').hide();
+        }
+    });
+}
+
+
+/**
+ * cookie 初始化
+ * @return {[type]} [description]
+ */
+function actionInitCookie() {
+    var $cookieGender = window.cookie('_Gender');
+    var $target = $('.cure');
+
+    if (typeof $cookieGender !== 'undefined' && $cookieGender !== '') {
+        window.setCookie('_Gender', 1, {
+            path: '/',
+            domain: '.yohobuy.com',
+            expires: 7
+        });
+    }
+    if ($target.find('.name-cn a').text() === '男生') {
+        window.setCookie('_Gender', '1,3', {
+            path: '/',
+            domain: '.yohobuy.com',
+            expires: 7
+        });
+        window.setCookie('_Channel', 'boys', {
+            path: '/',
+            domain: '.yohobuy.com',
+            expires: 7
+        });
+    }
+    if ($target.find('.name-cn a').text() === '女生') {
+        window.setCookie('_Gender', '2,3', {
+            path: '/',
+            domain: '.yohobuy.com',
+            expires: 7
+        });
+
+        // window.setCookie('_Channel', 'girls', {
+        //     path: '/',
+        //     domain: '.yohobuy.com',
+        //     expires: 7
+        // });
+    }
+    if ($target.find('.name-cn a').text() === '创意生活') {
+        window.setCookie('_Channel', 'lifestyle', {
+            path: '/',
+            domain: '.yohobuy.com',
+            expires: 7
+        });
+    }
+    if ($target.find('.name-cn a').text() === '潮童') {
+        window.setCookie('_Channel', 'kids', {
+            path: '/',
+            domain: '.yohobuy.com',
+            expires: 7
+        });
+    }
+}
+/**
+ * 提前设置好频道的cookie
+ */
+function setChannelCookie() {
+    $('.first-nav-item').click(function() {
+        var _cookieGender = window.cookie('_Gender');
+
+        if (typeof _cookieGender !== 'undefined' && _cookieGender !== '') {
+            window.setCookie('_Gender', 1, {
+                path: '/',
+                domain: '.yohobuy.com',
+                expires: 7
+            });
+        }
+        if ($(this).find('.name-cn a').text() === '男生') {
+            window.setCookie('_Gender', '1,3', {
+                path: '/',
+                domain: '.yohobuy.com',
+                expires: 7
+            });
+            window.setCookie('_Channel', 'boys', {
+                path: '/',
+                domain: '.yohobuy.com',
+                expires: 7
+            });
+        }
+        if ($(this).find('.name-cn a').text() === '女生') {
+            window.setCookie('_Gender', '2,3', {
+                path: '/',
+                domain: '.yohobuy.com',
+                expires: 7
+            });
+            window.setCookie('_Channel', 'girls', {
+                path: '/',
+                domain: '.yohobuy.com',
+                expires: 7
+            });
+        }
+        if ($(this).find('.name-cn a').text() === '创意生活') {
+            window.setCookie('_Channel', 'lifestyle', {
+                path: '/',
+                domain: '.yohobuy.com',
+                expires: 7
+            });
+        }
+        if ($(this).find('.name-cn a').text() === '潮童') {
+            window.setCookie('_Channel', 'kids', {
+                path: '/',
+                domain: '.yohobuy.com',
+                expires: 7
+            });
+        }
+    });
+
+}
+/**
+ * cookie集合
+ * @type {Object}
+ */
+function actionExeCookieMap() {
+    var cookies = document.cookie;
+    var cookiearr = cookies.split(';');
+    var i;
+    var temparr;
+    var key;
+
+    for (i = 0; i < cookiearr.length; i++) {
+        temparr = cookiearr[i].split('=');
+        if (typeof temparr[0] !== 'undefined') {
+            key = temparr[0].replace(/\s/g, '');
+            cookieMap[key] = temparr[1];
+        }
+    }
+}
+
+
+/**
+ * 购物车商品数量
+ * @return {[type]} [description]
+ */
+function actionUpdateCartNum() {
+    $('#miniCartBox').miniCart({
+        cartNum: '.ic-infomation'
+    });
+}
+/**
+ * 加载购物车数据
+ * @return {[type]} [description]
+ */
+function loadCartData() {
+    var shoppingInfo,
+        shoppingData,
+        strK;
+
+    $.getData('//www.yohobuy.com/common/shoppingCart', '', function(jsonData) {
+        if (cartTpl === '') {
+            cartTpl = handlebars.compile($('#mini-cart-tpl').html());
+        }
+        $('#miniCartBox').children('.gobuy-wrapper').html(cartTpl({
+            carData: jsonData
+        }));
+        if (parseInt($('.ic-infomation').html()) === 0) {
+            $('#miniCartBox .gobuy-wrapper').html('<div class="gobuy-empty">' +
+                '<h3 class="information">您的购物车暂无商品</h3></div>');
+        }
+        if ($('#miniCartBox .goods-list li').length < 1) {
+            shoppingInfo = window.cookie('_g');
+            shoppingData = json2.parse(shoppingInfo);
+            if (shoppingData !== null) {
+                strK = '{"_k":"' + shoppingData._k + '","_nac":0' + ',"_ac":0,"_r":0}';
+                window.setCookie('_g', strK, {
+                    path: '/',
+                    domain: '.yohobuy.com'
+                });
+            }
+            $('.ic-infomation').html(0);
+            $('#miniCartBox .gobuy-wrapper').html('<div class="gobuy-empty">' +
+                '<h3 class="information">您的购物车暂无商品</h3></div>');
+        }
+    });
+}
+/**
+ * 删除购物车数据
+ * @param  {[type]}  id        [description]
+ * @param  {Boolean} isreduce [description]
+ * @return {[type]}            [description]
+ */
+function delCartGoods(productSku, promotionId, productNum) {
+
+    $.getData('//www.yohobuy.com/common/delCartGoods', {
+
+        // shopping_key: $.getShoppingKey(),
+        product_sku: productSku,
+        promotion_id: promotionId,
+        product_num: productNum
+    }, function(jsonData) {
+        var shoppingInfo = window.cookie('_g');
+        var shoppingData = json2.parse(shoppingInfo);
+        var strK = '{"_k":"' + shoppingData._k + '","_nac":' + jsonData.total_goods_num + ',"_ac":0,"_r":0}';
+
+        window.setCookie('_g', strK, {
+            path: '/',
+            domain: '.yohobuy.com'
+        });
+        loadCartData();
+        actionUpdateCartNum();
+    });
+}
+
+
+/**
+ * 监听购物车删除
+ * @return {[type]} [description]
+ */
+function actionListenDelCarGoods() {
+    var $delcargoods, productSku, promotionId, productNum;
+
+    $(document).on('click', '.goodscardelete', function(e) {
+        $delcargoods = $(this);
+        productSku = $delcargoods.attr('product_sku');
+        promotionId = $delcargoods.attr('promotion_id');
+        productNum = $delcargoods.prev('h3').find('.num').html();
+        delCartGoods(productSku, promotionId, productNum);
+    });
+}
+/**
+ * 监听点击更多打折商品
+ * @return {[type]} [description]
+ */
+function actionListenCartMore() {
+    var $morecart;
+
+    $(document).on('click', '.mycart_i_down', function(e) {
+        $morecart = $(this);
+        $morecart.toggleClass('mycart_i_up');
+        $('#mycartmore').slideToggle(300);
+    });
+}
+/**
+ * 点击购物车
+ * @return {[type]} [description]
+ */
+function actionClickMiniCartBox() {
+    var $target;
+    var shopcarurl = '//www.yohobuy.com/shopping/cart';
+
+    $('#miniCartBox').on('click', function(e) {
+        $target = $(e.target);
+        if ($target.hasClass('gobuy')) {
+            window.location.href = shopcarurl;
+        }
+    });
+}
+
+/**
+ * 显示购物车效果
+ * @param  {Boolean} isShow [description]
+ * @return {[type]}         [description]
+ */
+function showMiniCart(isShow) {
+    if (isShow === 1) {
+        $('#miniCartBox').addClass('list-cur');
+        $('.gobuy-wrapper').show();
+        if (parseInt($('.ic-infomation').html()) !== 0) {
+            $('#miniCartBox .gobuy-wrapper').html('<div class="gobuy-loading">' +
+                '<h3 class="information">加载中,请稍后</h3></div>');
+            loadCartData();
+        } else {
+            $('#miniCartBox .gobuy-wrapper').html('<div class="gobuy-empty">' +
+                '<h3 class="information">您的购物车暂无商品</h3></div>');
+        }
+    } else {
+        $('#miniCartBox').removeClass('list-cur');
+        $('.gobuy-wrapper').hide();
+    }
+}
+
+
+/**
+ * 鼠标购物车的滑入滑出效果
+ * @return {[type]} [description]
+ */
+function actionGoodsCarMouseEffect() {
+    var $target;
+
+    $('#miniCartBox').mouseenter(function(e) {
+        $target = $(e.target);
+        if ($target.attr('id') === 'miniCartBox' || $target.attr('class') === 'ic-infomation') {
+            showMiniCart(1);
+        }
+    });
+    $('#miniCartBox').mouseleave(function(e) {
+        showMiniCart(0);
+    });
+}
+/**
+ * 获得banner & 异常通知
+ * @return {[type]} [description]
+ */
+function actionGetBannerAndNotice() {
+    var INDEXKIDS = 'indexkids',
+        INDEXLIFESTYLE = 'indexlifestyle',
+        INDEXBOYS = 'indexboys',
+        INDEXWOMAN = 'indexgirls',
+        UNIQUEBRAND = 'uniquebrand';
+    var url = window.location.href;
+    var host = window.location.host;
+    var code = '';
+    var firstarea;
+
+    if (url.indexOf('search') !== -1) {
+        code = bannerMap['search' + cookieMap._Channel];
+    }
+    if (url.indexOf('list') !== -1) {
+        code = bannerMap['list' + cookieMap._Channel];
+    }
+    if (url.indexOf('brands') !== -1) {
+        code = bannerMap['brands' + cookieMap._Channel];
+    }
+    if (url.indexOf('new') !== -1) {
+        code = bannerMap['new' + cookieMap._Channel];
+    }
+    if (url.indexOf('sale') !== -1) {
+        code = bannerMap['sale' + cookieMap._Channel];
+    }
+    if (url.indexOf('home') !== -1) {
+        code = bannerMap['home' + cookieMap._Channel];
+    }
+    if (url.indexOf('kids') !== -1) {
+        code = bannerMap[INDEXKIDS];
+    }
+    if (url.indexOf('woman') !== -1 || url.indexOf('girls') !== -1) {
+        code = bannerMap[INDEXWOMAN];
+    }
+    if (url.indexOf('lifestyle') !== -1) {
+        code = bannerMap[INDEXLIFESTYLE];
+    }
+    if (url.indexOf('www.yohobuy.com') !== -1 && window.location.pathname === '/') {
+        code = bannerMap[INDEXBOYS];
+    }
+    firstarea = host.split('.')[0];
+    if (firstarea !== 'list' && firstarea !== 'search' && firstarea !== 'www' &&
+        firstarea !== 'new' && firstarea !== 'item' && firstarea !== 'guang') {
+        code = bannerMap[UNIQUEBRAND + cookieMap._Channel];
+    }
+
+    getBannerData(code); //获得banner信息
+
+}
+
+function brandSwitch(index) {
+    $('.hot-brands').find('ul').stop().animate({
+        opacity: 0,
+        'z-index': 1
+    }, 200).eq(index).animate({
+        opacity: 1,
+        'z-index': 2
+    }, 200);
+}
+/**
+ * 品牌左右切换
+ * @return {[type]} [description]
+ */
+function actionBrandChange() {
+    var activeIndex = 0,
+        swiperLen;
+
+    if ($('.hot-brands').size() > 0) {
+        swiperLen = $('.hot-brands').find('ul').size();
+        $('.hot-brands').find('ul').eq(0).css({
+            opacity: 1,
+            'z-index': 2
+        });
+        $('.brands-control').on('click', '.next', function() {
+            if (activeIndex === swiperLen - 1) {
+                activeIndex = 0;
+            } else {
+                activeIndex++;
+            }
+            brandSwitch(activeIndex);
+        });
+        $('.brands-control').on('click', '.prev', function() {
+            if (activeIndex === 0) {
+                activeIndex = swiperLen - 1;
+            } else {
+                activeIndex--;
+            }
+            brandSwitch(activeIndex);
+        });
+
+
+    }
+}
+/**
+ * 循环检测购物车数量
+ * @return {[type]} [description]
+ */
+function actionLoopUpdCartNum() {
+    setInterval(actionUpdateCartNum, 2000);
+}
+/**
+ * 处理模板
+ * @return {[type]} [description]
+ */
+function actionExeTemplate() {
+    var $goodcartempwarpper = $('#goodcartempwarpper');
+    var resulthtml = '';
+
+    if ($goodcartempwarpper) {
+        if ($goodcartempwarpper.html()) {
+            resulthtml = $('#goodcartempwarpper').html().replace(/\\/g, '');
+            $('#goodcartempwarpper').html(resulthtml);
+            vipInfoCombine = handlebars.compile($('#tmpl-my-login-new').html());
+        }
+    }
+}
+/**
+ * 执行搜索
+ * @return {[type]} [description]
+ */
+function actionSearch() {
+    var searchDomain = '//search.yohobuy.com/api/suggest';
+
+    $('#query_key').search(searchDomain);
+}
+/**
+ * 获取登录状态
+ * @return {[type]} [description]
+ */
+function actionLoginState(_data) {
+    var timestamp = new Date().getTime();
+    var noLoginHtml = '<span>Hi~</span>[<a href="//www.yohobuy.com/signin.html" class="list-a login-out ">' +
+        '请登录</a>]&nbsp;' +
+        '[<a href="//www.yohobuy.com/reg.html" class="list-a login-out" onclick="">免费注册</a>]';
+    var loginHtml = '<span>Hi~<a href="//www.yohobuy.com/home?t=' + timestamp +
+        '">{{user_name}}</a></span>&nbsp;' +
+        '{{#if islogin}}' +
+        '[<a href="{{logout}}" class="list-a login-out">退出</a>]' +
+        '{{/if}}{{#unless islogin}}' +
+        '[<a href="//www.yohobuy.com/signin.html" class="list-a login-out">请登录</a>]&nbsp;' +
+        '[<a href="//www.yohobuy.com/reg.html" onclick="" class="list-a login-out">免费注册</a>]' +
+        '{{/unless}}';
+    var $boxObj = $('#loginBox');
+    var info = window.cookie('_UID');
+    var name = _data.data.profile_name;
+    var _length = 0;
+    var t = 0;
+    var char = '';
+    var user = info.split('::');
+    var userName = user[0] || ' ';
+    var _logout = '//www.yohobuy.com/logout.html';
+    var islogin = '1';
+    var _num = 0;
+    var data = {
+        user_name: name,
+        logout: _logout,
+        random: Math.random()
+    };
+
+    $boxObj.html('').show();
+
+
+    loginInfoCombine = handlebars.compile(loginHtml);
+    if (typeof info === 'undefined' || info === null) {
+        $boxObj.html(noLoginHtml);
+        return false;
+    }
+    if (typeof user === 'undefined' || user.length < 4) {
+        $boxObj.html(noLoginHtml);
+        return false;
+    }
+
+    for (t; t < userName.length; t++) {
+        char = userName.substr(t, 1);
+        if (/.*[\u4e00-\u9fa5]+.*$/.test(char)) {
+            _length += 2;
+        } else {
+            _length += 1;
+        }
+    }
+    if (_length <= 10) {
+        name = userName;
+    } else {
+        _num = 0;
+        for (t; t < userName.length; t++) {
+            if (_num < 10) {
+                char = userName.substr(t, 1);
+                if (char !== '*') {
+                    if (/.*[\u4e00-\u9fa5]+.*$/.test(char)) {
+                        _num += 2;
+                    } else {
+                        _num += 1;
+                    }
+                }
+                name += char;
+            }
+        }
+        if (name.length < userName.length) {
+            name += '...';
+        }
+    }
+
+
+    if (/http:\/\//.test(user[3])) {
+        _logout = user[3].replace('www.yohobuy.com', 'www.yohobuy.com');
+    } else {
+        _logout = '//www.yohobuy.com/logout.html';
+    }
+    if (_data.result === -1) {
+        islogin = '-1';
+    }
+    data.islogin = islogin;
+    $boxObj.html(loginInfoCombine(data));
+}
+/**
+ * 获得vip用户信息
+ * @return {[type]} [description]
+ */
+function actionVipInfo(_data) {
+    var vipInfo = _data.data;
+    var headUrl = '';
+
+    if (_data.result === 1) {
+        if (typeof vipInfo === undefined || vipInfo.length < 1) {
+            return false;
+        }
+        if (vipInfo.vip.curVipInfo.curLevel === '3') {
+            vipInfo.vip3 = true;
+        }
+
+        $('#myYohoBox').mouseenter(function() {
+            $(this).addClass('acttags');
+            $('#myYohoBox .myyoho-info').show().html(vipInfoCombine(vipInfo));
+            headUrl = $('.myyoho-photo img').attr('data-url');
+            if ($._checkUrlState === 1) {
+                $('.myyoho-photo').show().find('img').attr('src', headUrl);
+                return;
+            }
+            if (headUrl === '' || $._checkUrl !== '') {
+                return;
+            }
+            $.ajax({
+                url: headUrl,
+                type: 'GET',
+                complete: function(response) {
+                    if (response.status === 200 || response.status === 0) {
+                        $('.myyoho-photo').show().find('img').attr('src', headUrl);
+                        $._checkUrlState = 1;
+                    }
+                    $._checkUrl = headUrl;
+                }
+            });
+        });
+        $('#myYohoBox').mouseleave(function() {
+            $(this).removeClass('acttags');
+            $('#myYohoBox .myyoho-info').hide();
+        });
+    }
+}
+/**
+ * 获取登录信息
+ * @return {[type]} [description]
+ */
+function actionLoginInfo() {
+    $.getData('//www.yohobuy.com/common/passport', '', function(_data) {
+        if (_data && _data.result !== -1) {
+            actionLoginState(_data); // 更改登录状态
+            actionVipInfo(_data); //获得vip;
+        } else {
+            window.setCookie('_UID', '', {
+                path: '/',
+                domain: '.yohobuy.com',
+                expires: -1
+            });
+            $loginBox.show();
+        }
+    });
+}
+/**
+ * 初始化函数
+ * @return {[type]} [description]
+ */
+function init() {
+    actionNav(); //处理导航
+    actionTipPic(); //鼠标移入后查询
+    actionExeTemplate(); //处理模板
+    actionCover(); //初次登录弹框
+    actionInitCookie(); //初始化cookie
+    setChannelCookie(); //设置频道缓存
+    actionExeCookieMap(); //格式化cookie
+    actionGoodsCart(); //初始化购物车插件
+    actionYoHoGroup(); // yoho集团鼠标效果
+    actionTopTagToggle(); // yoho上部分开关
+    actionTopLogoAnimate(); //yoho logo动画
+    actionGetBannerAndNotice(); // 获取banner和服务器维护提示
+    actionBrandChange(); //切换品牌
+    actionGoodsCarMouseEffect(); //鼠标滑入滑出效果
+    actionUpdateCartNum(); //更新购物车数量
+    actionLoopUpdCartNum(); //循环检测购物车数量
+    actionSearch(); //搜索执行
+    actionClickMiniCartBox(); //点击购物车跳转
+    actionListenDelCarGoods(); //监听购物车删除
+    actionListenCartMore(); //
+    actionLoginInfo(); //获取登录信息
+    actionAddKeyWords(); //增加关键字
+}
+init();
+});
+define("js/simple-header", ["jquery"], function(require, exports, module){
+var $ = require("jquery");
+
+var $apiDom = $('#api-domain');
+
+var apiDomain = $apiDom.val(); //获取数据的地址
+
+$apiDom.remove(); //删除API信息
+
+if ($('.simple-header').size() > 0) {
+    $('.tool-options').on('mouseenter', function() {
+        $(this).find('.tool-select').fadeIn();
+    }).on('mouseleave', function() {
+        $(this).find('.tool-select').fadeOut();
+    });
+}
+
+/**
+ * 格式化用户名
+ * @return {[type]} [description]
+ */
+function formatUsernName(userName) {
+    var name,
+        char,
+        _num = 0,
+        _length = 0,
+        t;
+
+    for (t = 0; t < userName.length; t++) {
+        char = userName.substr(t, 1);
+        if (/.*[\u4e00-\u9fa5]+.*$/.test(char)) {
+            _length += 2;
+        } else {
+            _length += 1;
+        }
+    }
+    if (_length <= 10) {
+        name = userName;
+    } else {
+        _num = 0;
+        name = '';
+        for (t = 0; t < userName.length; t++) {
+            if (_num < 10) {
+                char = userName.substr(t, 1);
+                if (char !== '*') {
+                    if (/.*[\u4e00-\u9fa5]+.*$/.test(char)) {
+                        _num += 2;
+                    } else {
+                        _num += 1;
+                    }
+                }
+                name += char;
+            }
+        }
+        if (name.length < userName.length) {
+            name += '...';
+        }
+    }
+    return name;
+}
+
+/**
+ * 设置简单头部登陆状态
+ * @return {[type]} [description]
+ */
+function setLoginStatus(data) {
+    var info = data.data,
+        loginHtml,
+        name;
+
+    if (data.result !== -1) {
+        name = formatUsernName(info.profile_name);
+        loginHtml = '<span>Hi~</span>' +
+                    '<a href="//www.yohobuy.com/home?t=' + info.random + '">' + name + '</a>&nbsp;' +
+                    '<a href="//www.yohobuy.com/logout.html">[退出]</a>';
+    } else {
+        loginHtml = '<span>Hi~</span>&nbsp;' +
+                    '<a href="//www.yohobuy.com/signin.html">[请登录]</a>&nbsp;' +
+                    '<a href="//www.yohobuy.com/reg.html">[免费注册]</a>';
+    }
+    $('.header-tool li').eq(0).html(loginHtml);
+}
+
+/**
+ * 获取登录信息
+ * @return {[type]} [description]
+ */
+function actionLoginInfo() {
+    var param = {
+            return_type: 'jsonp'
+        };
+
+    $.getJSON('//www.yohobuy.com/common/passport' + '/?callback=?', param, function(_data) {
+        if (_data && _data.data) {
+            setLoginStatus(_data.data);
+        }
+    });
+}
+
+actionLoginInfo(); //获取登录信息
+
+
+});
+define("js/product/entry", ["jquery","handlebars","source-map","lazyload","index","jquery-pjax"], function(require, exports, module){
+/**
+ * 商品页面打包入口文件
+ * @auhtor: xuqi<qi.xu@yoho.cn>
+ * @date: 2015/12/28
+ */
+
+require("js/product/list");
+
+require("js/product/brand");
+
+require("js/product/hotrank");
+
+require("js/product/item");
+
+require("js/product/shop-index");
+
+});
+define("js/product/list", ["jquery","handlebars","source-map","lazyload"], function(require, exports, module){
+/**
+ * 商品列表页
+ * @author: xuqi<qi.xu@yoho.cn>
+ * @date: 2015/11/23
+ */
+var $ = require("jquery");
+
+require("js/product/filter");
+
+require("js/product/sort-pager");
+
+require("js/product/latest-walk");
+
+require("js/product/product");
+
+(function() {
+    var $banner = $('.banner-img'),
+        img;
+
+    if ($banner.length === 0) {
+        return;
+    }
+
+    img = new Image();
+
+    //重置Banner高度
+    img.onload = function() {
+        if (img.height) {
+            $banner.height(img.height);
+        }
+
+        img = null;
+    };
+
+    //replace('"', '')为处理浏览器兼容性代码,部分浏览器中取得的字符串中包含""
+    img.src = $banner.css('background-image').replace(/"/g, '').slice(4, -1);
+}());
+
+});
+define("js/product/filter", ["jquery","handlebars","source-map"], function(require, exports, module){
+/**
+ * 商品筛选逻辑
+ * @author: xuqi<qi.xu@yoho.cn>
+ * @date: 2015/12/4
+ */
+
+var $ = require("jquery"),
+    Handlebars = require("handlebars");
+
+var checkUnicode = {
+    unchecked: '&#xe635;',
+    checked: '&#xe636;'
+},
+moreUnicode = {
+    up: '&#xe610;',
+    down: '&#xe600;'
+};
+
+//品牌相关变量
+var $brandDefault = $('.brand .default'),
+    $brandInput = $('#brand-search-input'),
+    $brandPanel = $('.brand .brand-panel'),
+    $brandAttrs = $brandPanel.find('.attr'),
+    $brandMore = $('#brand-more'),
+    $brandMulti = $('#brand-multi'),
+    $brandsIndex = $('.brands-index');
+
+var $brandMoreTxt, $brandMoreIcon;
+
+//价格相关变量
+var $udPrice = $('.ud-price-range'),
+    interReg = /^\d+$/,
+    $limit, $min, $max, $btn;
+
+//分类相关变量
+var $sortSub = $('.sort-sub-wrap');
+
+//高级选项相关变量
+var $seniorSubWrap = $('.senior-sub-wrap'),
+    $seniorAttrWrap = $('.senior-attr-wrap');
+
+var seniorHoverTime, hoveredIndex;
+
+// 尺寸 handlebars 模板
+var sizeTmpl = '{{# size}}<a class="attr {{#if checked}}checked{{/if}}" href="{{href}}">{{name}}</a>{{/ size}}',
+    sizeCache = {}, // 缓存一下尺寸信息
+    $sizeWrap = $('.filter-box .size');
+
+sizeTmpl = Handlebars.compile(sizeTmpl);
+
+//清除checkbox选中状态[页面默认checked不清空]
+function clearChecked($checkbox, $checked) {
+    $checkbox.each(function() {
+        if ($(this).closest('.attr').hasClass('checked')) {
+            return;
+        }
+        $(this).removeClass('checked').html(checkUnicode.unchecked);
+    });
+    $checked.find('.checkbox').addClass('checked').html(checkUnicode.checked);
+}
+
+//显示更多品牌面板
+function brandShowMore() {
+    $brandDefault.addClass('hide');
+    $brandPanel.removeClass('hide');
+}
+
+//隐藏更多品牌面板
+function brandHideMore() {
+    $brandPanel.addClass('hide');
+    $brandDefault.removeClass('hide');
+
+    //清除索引状态
+    $brandsIndex.children('span').removeClass('hover');
+}
+
+//url构造&跳转
+function uriLoc(attr, val) {
+    var qs = window.queryString(),
+        newHref;
+
+    qs[attr] = val;
+    delete qs.page;
+    newHref = '?' + decodeURIComponent($.param(qs));
+    window.location.href = newHref;
+}
+
+//隐藏高级选项面板
+function hideSeniorPanel(index) {
+    $seniorSubWrap.children('.senior-sub:eq(' + hoveredIndex + ')').addClass('hide');
+    $seniorAttrWrap.children('.attr:eq(' + hoveredIndex + ')').removeClass('hover');
+    hoveredIndex = -1;
+}
+
+//屏蔽筛选项双击文字选中
+$('.filter-box').on('selectstart', '.attr, .brands-index span', function() {
+    return false;
+});
+
+//【分类】
+$('.sort-pre').on('click', 'li', function() {
+    var $this = $(this),
+        index = $this.index(),
+        id = $this.data('id');
+
+    if ($this.hasClass('active')) {
+
+        // 选中时,再次点击取消选中
+        $this.removeClass('active');
+        $sortSub.children(':eq(' + index + ')').addClass('hide');
+        $sizeWrap.addClass('hide');
+        return;
+    }
+
+    $this.siblings('.active').removeClass('active');
+    $this.addClass('active');
+
+    $sortSub.children(':not(.hide)').addClass('hide');
+    $sortSub.children(':eq(' + index + ')').removeClass('hide');
+
+    if (!$sizeWrap.data('load')) {
+        if (sizeCache[id]) {
+            $sizeWrap.find('.attr-content').html(sizeCache[id]);
+            $sizeWrap.removeClass('hide');
+        } else {
+            $.ajax({
+                url: '/product/search/sortSize',
+                data: {
+                    msort: id
+                }
+            }).then(function(res) {
+                if ($.type(res) === 'array' && res.length) {
+                    sizeCache[id] = sizeTmpl({
+                        size: res
+                    });
+                    $sizeWrap.find('.attr-content').html(sizeCache[id]);
+                    $sizeWrap.removeClass('hide');
+                } else {
+                    $sizeWrap.addClass('hide');
+                }
+            });
+        }
+    }
+});
+
+//【品牌】
+if ($brandMore.length > 0) {
+    $brandMoreTxt = $brandMore.children('em');
+    $brandMoreIcon = $brandMore.children('.iconfont');
+}
+
+//【品牌】多选
+$brandMulti.click(function() {
+    if ($brandPanel.css('display') === 'none') {
+
+        //显示品牌面板
+        $brandMore.trigger('click');
+    }
+
+    brandShowMore();
+    $brandPanel.removeClass('hide').addClass('multi'); //显示出checkbox
+    $(this).addClass('hide');
+
+    //隐藏更多按钮
+    $brandMore.addClass('hide');
+});
+
+//【品牌】更多
+$brandMore.click(function() {
+    var $this = $(this);
+
+    if ($this.hasClass('more')) {
+        brandHideMore();
+
+        $brandMoreTxt.text('更多');
+        $brandMoreIcon.html(moreUnicode.down);
+
+        //清空搜索框和搜索结果
+        $brandInput.val('').trigger('keyup');
+    } else {
+        brandShowMore();
+
+        $brandMoreTxt.text('收起');
+        $brandMoreIcon.html(moreUnicode.up);
+    }
+
+    $(this).toggleClass('more');
+});
+
+//【品牌】索引
+$brandsIndex.on('mouseenter', 'span', function() {
+    var $this = $(this),
+        index = $this.data('index');
+
+    if ($this.hasClass('hover')) {
+        return;
+    }
+    setTimeout(function() {
+        $this.siblings('span.hover').removeClass('hover');
+        $this.addClass('hover');
+
+        if ($this.index() === 0) {
+
+            //全部
+            $brandAttrs.removeClass('hide');
+        } else {
+            $brandAttrs.addClass('hide').filter('[data-index=' + index + ']').removeClass('hide');
+        }
+    }, 120);
+});
+
+//【品牌】搜索
+$brandInput.keyup(function() {
+    var val = $(this).val().toLowerCase();
+
+    if (val === '') {
+        $brandAttrs.removeClass('hide');
+    } else {
+        $brandAttrs.addClass('hide').filter('[data-key*="' + val + '"]').removeClass('hide');
+    }
+});
+
+//【品牌】多选确定
+$('#brand-multi-ok').click(function() {
+    var val = [];
+
+    if ($(this).hasClass('dis')) {
+        return;
+    }
+
+    $brandPanel.find('span.checked').each(function() {
+        val.push($(this).data('id'));
+    });
+
+    uriLoc('brand', val.join(','));
+});
+
+//【品牌/高级选项】多选取消
+$('.multi-select-cancel').click(function() {
+    var $panel = $(this).closest('.multi');
+
+    if ($panel.hasClass('brand-panel')) {
+
+        $brandMulti.removeClass('hide'); //显示多选按钮
+        $brandMore.trigger('click');
+
+        //显示出更多按钮
+        $brandMore.removeClass('hide');
+
+        //清空搜索框和搜索结果
+        $brandInput.val('').trigger('keyup');
+        brandHideMore();
+    }
+
+    $panel.addClass('hide').removeClass('multi');
+    clearChecked($panel.find('.checkbox.checked'), $panel.find('.attr.checked')); //清除选中状态
+
+    //确定按钮状态恢复dis
+    $(this).siblings('.multi-select-ok').addClass('dis');
+});
+
+//【品牌/高级选项】checkbox
+$('.check-container').on('click', '.attr', function() {
+    var $this = $(this),
+        $check = $this.find('.checkbox'),
+        $btnOk = $this.closest('.brand-panel, .senior-sub').find('.multi-select-ok');
+
+    $check.toggleClass('checked');
+
+    if ($check.hasClass('checked')) {
+        $check.html(checkUnicode.checked);
+    } else {
+        $check.html(checkUnicode.unchecked);
+    }
+
+    //更新按钮状态
+    if ($check.hasClass('checked') ||
+        $this.siblings('.attr').find('.checked').length > 0) {
+        $btnOk.removeClass('dis');
+    } else {
+        $btnOk.addClass('dis');
+    }
+});
+
+//【品牌/高级选项】当多选时阻止链接默认跳转
+$('.brand, .senior').on('click', '.attr > a', function(e) {
+    if ($(this).closest('.multi').length > 0) {
+        e.preventDefault();
+    }
+});
+
+// 已选中的条件,点击不刷新
+$('.filter-box').on('click', 'li.checked, a.checked', function(e) {
+    e.preventDefault();
+});
+
+//【价格】用户定义价格处理
+if ($udPrice.length > 0) {
+    $limit = $udPrice.find('.limit');
+    $min = $limit.filter('.min');
+    $max = $limit.filter('.max');
+    $btn = $udPrice.find('.price-sure');
+
+    //【价格】输入
+    $limit.keyup(function() {
+        var thisPrice = $.trim($(this).val()),
+            isPriInt = interReg.test(thisPrice),
+            intPrice,
+            min,
+            max;
+
+        if (!isPriInt) {
+            intPrice = parseInt(thisPrice, 10);
+            $(this).val(isNaN(intPrice) ? '' : intPrice);
+        }
+
+        min = $.trim($min.val());
+        max = $.trim($max.val());
+
+        if (min !== '' || max !== '') {
+            $btn.removeClass('hide');
+        } else {
+            $btn.addClass('hide');
+        }
+    });
+
+    //【价格】多项查询
+    $btn.click(function() {
+        var min = $.trim($min.val()),
+            max = $.trim($max.val()),
+            tmp;
+
+        //对于min大于max的情况,交换位置
+        if (min !== '' && max !== '' && +min > +max) {
+            tmp = max;
+            max = min;
+            min = tmp;
+        }
+
+        uriLoc('price', min + ',' + max);
+    });
+}
+
+//【高级选项】鼠标移入显示子项
+$seniorAttrWrap.on('mouseenter', '.attr', function() {
+    var $this = $(this);
+    var index = $this.index();
+
+    if ($this.hasClass('no-sub')) {
+        return;
+    }
+    $this.addClass('hover').siblings().removeClass('hover');
+
+    $seniorSubWrap.children('.senior-sub:eq(' + index + ')').removeClass('hide').siblings().addClass('hide');
+}).on('mouseleave', '.attr', function() {
+    var $this = $(this),
+        index = $this.index();
+
+    if ($this.hasClass('no-sub')) {
+        return;
+    }
+
+    hoveredIndex = index;
+
+    seniorHoverTime = setTimeout(function() {
+        hideSeniorPanel();
+    }, 100);
+});
+
+//【高级选项】多选
+$('.senior-sub').on('click', '.multi-select', function() {
+    $(this).closest('.senior-sub').addClass('multi');
+}).on('click', '.multi-select-ok', function() {
+    var $btn = $(this),
+        $sub = $btn.closest('.senior-sub'),
+        val = [];
+
+    if ($btn.hasClass('dis')) {
+        return;
+    }
+
+    $sub.find('span.checked').each(function() {
+        val.push($(this).data('id'));
+    });
+
+    uriLoc($sub.data('attr'), val.join(','));
+}).on('mouseenter', function() {
+    clearTimeout(seniorHoverTime);
+}).on('mouseleave', function() {
+    hideSeniorPanel();
+});
+
+});
+define("js/product/sort-pager", ["jquery"], function(require, exports, module){
+/**
+ * 筛选页和列表页操作banner中的每页N个商品选择逻辑
+ * @author: xuqi<qi.xu@yoho.cn>
+ * @date: 2015/12/4
+ */
+
+var $ = require("jquery");
+
+var $countPerPage = $('#count-per-page'),
+    $countChose = $countPerPage.next('ul');
+
+var SLIDETIME = 200;
+
+$(document).click(function(e) {
+    if ($(e.target).closest('.page-count').length > 0) {
+        return;
+    }
+
+    $countChose && $countChose.slideUp(SLIDETIME);
+});
+
+$countPerPage.click(function() {
+    if ($countChose.css('display') === 'none') {
+        $countChose.slideDown(SLIDETIME);
+    } else {
+        $countChose.slideUp(SLIDETIME);
+    }
+});
+});
+define("js/product/latest-walk", ["jquery","handlebars","source-map","lazyload"], function(require, exports, module){
+/**
+ * 最近浏览取接口渲染模板
+ * @author: xuqi<qi.xu@yoho.cn>
+ 8 @date: 2016/1/20
+ */
+
+var $ = require("jquery");
+var Handlebars = require("handlebars");
+var lazyLoad = require("lazyload");
+
+var $latestWalkCount = $('#latest-walk-count');
+
+(function() {
+    var tpl;
+
+    if ($latestWalkCount.length === 0) {
+        return;
+    }
+
+    tpl = Handlebars.compile($('#latest-walk-tpl').html());
+
+    $.ajax({
+        url: '//www.yohobuy.com/common/recentReview',
+        dataType: 'jsonp',
+        data: {
+            limit: $latestWalkCount.val()
+        },
+        success: function(data) {
+            var latestWalk = [],
+                res, i, cur;
+
+            if (data.code === 200) {
+                res = data.data;
+
+                //若无最近浏览,请隐藏容器
+                if (res.length === 0) {
+                    $('.latest-walk').addClass('hide');
+                    return;
+                }
+                for (i = 0; i < res.length; i++) {
+                    cur = res[i];
+
+                    latestWalk.push({
+                        href: cur.url,
+                        img: cur.pic_url,
+                        name: cur.product_name,
+                        salePrice: cur.price,
+                        marketPrice: cur.market_price
+                    });
+                }
+
+                if (latestWalk.length > 0) {
+                    $('#latest-walk-goods').html(tpl({
+                        latestWalk: latestWalk
+                    }));
+
+                    lazyLoad($('#latest-walk-goods .lazy'));
+                }
+            }
+        }
+    });
+}());
+});
+define("js/product/product", ["jquery","lazyload","handlebars","source-map"], function(require, exports, module){
+/**
+ *Description: 商品列表页
+ *Author: chenglong.wang@yoho.cn
+ *Date: 2015/12/2
+ */
+
+var $ = require("jquery"),
+    lazyLoad = require("lazyload"),
+    Handlebars = require("handlebars"),
+    productEvent = require("js/common/product-event");
+
+var $goodsContainer = $('.goods-container'),
+    $goodItem = $goodsContainer.find('.good-info'),
+    $goodItemWrapper = $goodsContainer.find('.good-item-wrapper'),
+    $goodInfoMain = $goodsContainer.find('.good-info-main'),
+    $goodSelectColor = $goodsContainer.find('.good-select-color'),
+    $productListNav = $('.product-list-nav'),
+    productList;
+
+lazyLoad($('img.lazy'));
+
+/**
+ * @description 初始化鼠标移入商品列表弹层效果
+ * @num 每列存放商品的个数
+ */
+exports.init = function(num) {
+    var $shopEntry = $('.shop-entry'),
+        $shopEntryArea = $('.shop-entry-area'),
+        shopEntryLen = $shopEntry.length;
+
+    if (shopEntryLen > 1) {
+
+        if (shopEntryLen === 3) {
+            $shopEntry.css({
+                width: '32%'
+            });
+        } else if (shopEntryLen % 2) {
+
+            // 大于 2 ,并且是基数
+            $('.shop-entry:gt(' + (shopEntryLen - 4) + ')').css({
+                width: '32%'
+            });
+        }
+
+        $('.shop-entry:nth-child(2n+1)').css({
+            marginLeft: 0
+        });
+
+        $shopEntry.last().css({
+            marginLeft: '2%'
+        });
+
+        if (shopEntryLen % 2 === 0) {
+            $shopEntry.find('.name').css({
+                width: '50%'
+            });
+        } else if (shopEntryLen % 3 === 0) {
+            $shopEntry.find('.name').css({
+                width: '26%'
+            });
+        }
+
+    } else {
+        $shopEntry.css({
+            width: '100%'
+        });
+    }
+
+    $shopEntryArea.slideDown();
+
+    productList = null;
+
+    $goodItem.unbind();
+
+    productList = productEvent($goodItem, num);
+
+    /**
+     * @description 构造商品颜色列表的html结构
+     * @param data 商品颜色的数组,[url: '',src: '']
+     * @return json {'colorListStr': '', 'ulNum': ''}
+     * */
+    function createColorList(data, _from) {
+        var colorListStr = '',
+            len = data.length,
+            row = 4, //每列ul放4个li
+            col = Math.ceil(len / row), //需要几**列**ul
+            i,
+            j,
+            index,
+            ulNum = 0;
+
+        for (i = 0; i < col; i++) {
+            colorListStr += '<ul>';
+            for (j = 0; j < row; j++) {
+                index = i * row + j;
+                if (index === len) {
+                    break;
+                }
+                colorListStr +=
+                    '<li>' +
+                    '<a target="_blank" href="' + data[i * row + j].url + _from + '">' +
+                    '<img src="' + data[i * row + j].src + '" data-cover="' + data[i * row + j].coverImg + '" />' +
+                    '</a>' +
+                    '</li>';
+
+                if (j === row - 1) {
+                    colorListStr += '</ul>';
+                    ulNum++;
+                }
+            }
+        }
+        if (ulNum < col) {
+            colorListStr += '</ul>';
+        }
+        return {
+            colorListStr: colorListStr,
+            ulNum: col
+        };
+    }
+
+    function removeHtmlFn() {
+        $goodInfoMain.html('');
+        $goodSelectColor.html('');
+        $goodItemWrapper.css({
+            display: 'none'
+        });
+    }
+
+    productList.addHandler('MouseEnter', function(event) {
+        var itemMr = 10, //list的右边距
+            itemMb = 35, //list的下边距
+            ulStr = '',
+            ulNum,
+            wrapperWidth,
+            diffWidth,
+            wrapperX,
+            wrapperY,
+            wrapperPl, //鼠标移入时弹层的左内边距
+            wrapperPt, //鼠标移入时弹层的上内边距
+            containerPt, //商品列表容器的上内边距
+            _from = event.target.attr('data-from') || '';
+
+        $.ajax({
+            type: 'POST',
+            url: '/product/list/getProductPic',
+            dataType: 'jsonp',
+            jsonp: 'callback',
+            data: {
+                skn: event.target.attr('data-skn'),
+                skc: event.target.attr('data-skc')
+            }
+        }).then(function(res) {
+            var data = res.data,
+                colorList = createColorList(data.pics, _from);
+
+            removeHtmlFn();
+
+            ulStr = colorList.colorListStr; //ajax请求的颜色列表
+            ulNum = colorList.ulNum;//ajax请求的颜色的数量
+
+            $goodInfoMain.append(event.targetDuplicate);
+            $goodSelectColor.append($(ulStr));
+
+            // 点击收藏商品不需要了
+            // if (data.isFavorite) {
+            //     $goodInfoMain.find('.col-btn').addClass('coled');
+            // } else {
+            //     $goodInfoMain.find('.col-btn').removeClass('coled');
+            // }
+
+            wrapperPl = $goodItemWrapper.css('paddingLeft');
+            wrapperPt = $goodItemWrapper.css('paddingTop');
+            containerPt = $goodsContainer.css('paddingTop');
+
+            wrapperWidth = 10 + (15 + 50) * ulNum + event.targetWidth;
+
+            //wrapperWidth = $goodItemWrapper.width();
+
+            wrapperX = (event.targetX - 1) * (event.targetWidth + itemMr) - (parseInt(wrapperPl) + 1);
+            wrapperY = (event.targetY - 1) *
+            (event.targetHeight + itemMb) + parseInt(containerPt) - (parseInt(wrapperPt) + 1);
+
+            //todo
+            //event.offsetR表示当前列表距离浏览器右侧边缘的距离
+            diffWidth = event.offsetR - ((15 + 50) * ulNum + 25);
+
+            if (diffWidth <= 0) {
+                wrapperX = wrapperX + diffWidth - 25;
+            }
+            $goodItemWrapper.css({
+                width: wrapperWidth,
+                left: wrapperX,
+                top: wrapperY,
+                display: 'inline-block'
+            });
+
+            // 鼠标悬浮获取到商品信息后显示第一张图片
+            if (data.pics[0] && data.pics[0].src) {
+                $goodInfoMain.find('.good-thumb img').attr('src', data.pics[0].src);
+            }
+        });
+    });
+
+    productList.addHandler('MouseLeave', function() {
+        removeHtmlFn();
+    });
+
+    $goodItemWrapper.mouseleave(function() {
+
+        removeHtmlFn();
+    });
+
+};
+
+//鼠标放在颜色列表上效果
+$(document).on('hover', '.good-select-color li', function() {
+    var coverImg = $(this).find('img').attr('data-cover'),
+        $coverImg = $(this).closest('.good-item-wrapper').find('.good-detail-img').find('img');
+
+    $coverImg.attr('src', coverImg);
+});
+
+// 左侧导航
+$productListNav.find('h3').click(function(event) {
+    var $this = $(this).closest('.product-list-nav');
+
+    if ($this.hasClass('active')) {
+
+        $this.find('.sort-child-list').stop(true, true).slideUp();
+
+    } else {
+
+        $this.find('.sort-child-list').stop(true, true).slideDown();
+    }
+
+    $this.toggleClass('active');
+});
+
+//左侧需要ajax内容
+(function() {
+    var $brandCard = $('#brand-card');
+    var $brandFavor = $('#brand-favor');
+    var html;
+
+    if ($brandCard.length) {
+        $.ajax({
+            type: 'POST',
+            url: '/product/index/getNodeContent',
+            data: {
+                node: $brandCard.data('node')
+            }
+        }).then(function(data) {
+            $brandCard.html(data);
+        });
+    }
+
+    //品牌页请求
+    if ($brandFavor.length) {
+        html = $('#pic-link-tpl').html();
+
+        $.ajax({
+            type: 'POST',
+            url: '/product/index/getAdnav',
+            data: {
+                brandId: $brandFavor.data('id')
+            }
+        }).then(function(data) {
+            if (data) {
+                $('#brand-ad').html(Handlebars.compile(html)({
+                    picLink: data
+                }));
+            }
+        });
+    }
+}());
+
+});
+define("js/common/product-event", ["jquery"], function(require, exports, module){
+/**
+ *Description: 商品自定义事件
+ *Author: chenglong.wang@yoho.cn
+ *Date: 2015/12/3
+ */
+
+var $ = require("jquery");
+
+function ProductEvent() {
+
+    this.handlers = {};
+
+}
+
+ProductEvent.prototype = {
+
+    constructor: ProductEvent,
+
+    addHandler: function(type, handler) {
+        if (typeof this.handlers[type] === 'undefined') {
+            this.handlers[type] = [];
+        }
+        this.handlers[type].push(handler);
+    },
+
+    fire: function(event) {
+        var handlers,
+            i;
+
+        if (!event.target) {
+
+            event.target = this;
+        }
+        if (this.handlers[event.type] instanceof Array) {
+            handlers = this.handlers[event.type];
+            for (i = 0; i < handlers.length; i++) {
+                handlers[i](event);
+            }
+        }
+    },
+
+    removeHandler: function(type, handler) {
+        var handlers,
+            i;
+
+        if (this.handlers[type] instanceof Array) {
+            handlers = this.handlers[type];
+            for (i = 0; i < handlers.length; i++) {
+                if (handlers[i] === handler) {
+                    break;
+                }
+            }
+            handlers.splice(i, 1);
+        }
+    }
+};
+
+module.exports = function($o, rowWidth) {
+
+    var pMouseHover = new ProductEvent();
+
+    var targetWidth = $o.eq(0).width(),
+        targetHeight = $o.eq(0).height(),
+        winW = $(window).width();
+
+    var delayFunc,
+        loadInfo;
+
+    function handleEvent(event) {
+        var $target,
+            targetX = 0,
+            targetY = 0,
+            rowW = rowWidth,
+            activeIndex = 0,
+            $targetDuplicate = '',
+            offsetL = 0,
+            offsetR = 0;
+
+
+        switch (event.type) {
+            case 'mouseenter':
+                $target = $(this);
+
+                delayFunc = setTimeout(function() {
+                    loadInfo = true;
+                    $targetDuplicate = $target.clone();
+                    activeIndex = $target.index() + 1;
+                    targetX = (activeIndex % rowW) === 0 ? rowW : activeIndex % rowW;
+                    targetY = Math.ceil(activeIndex / rowW);
+                    offsetL = $target.offset().left;
+                    offsetR = winW - (offsetL + targetWidth);
+
+                    pMouseHover.fire({
+                        type: 'MouseEnter',
+                        target: $target,
+                        targetWidth: targetWidth,
+                        targetHeight: targetHeight,
+                        targetX: targetX,
+                        targetY: targetY,
+                        rowWidth: rowW,
+                        activeIndex: activeIndex,
+                        targetDuplicate: $targetDuplicate,
+                        offsetL: offsetL,
+                        offsetR: offsetR
+                    });
+                }, 150);
+                break;
+            case 'mouseleave':
+                if (!loadInfo) {
+                    if (delayFunc) {
+                        clearTimeout(delayFunc);
+                    }
+                    pMouseHover.fire({
+                        type: 'MouseLeave'
+                    });
+                }
+                loadInfo = false;
+                break;
+        }
+    }
+
+    $o.bind({
+        mouseenter: handleEvent,
+        mouseleave: handleEvent
+    });
+
+    return pMouseHover;
+};
+});
+define("js/product/brand", ["jquery"], function(require, exports, module){
+/**
+ * 品牌页面
+ * @auhtor: bikai<kai.bi@yoho.cn>
+ * @date: 2016/1/21
+ */
+
+var $ = require("jquery");
+
+var $brandFavor = $('#brand-favor'),
+    id = $brandFavor.data('id');
+
+$brandFavor.on('click', function() {
+    $.ajax({
+        type: 'post',
+        url: '/product/index/favoriteBrand',
+        data: {
+            brandId: id
+        }
+    }).then(function(res) {
+        if (res.code === 200) {
+            $brandFavor.find('i').toggleClass('coled');
+        } else if (res.code === 403) {
+            location.href = '//www.yohobuy.com/signin.html?refer=' + encodeURIComponent(location.href);
+        }
+    });
+});
+
+//页面进入更新收藏状态
+$.ajax({
+    type: 'POST',
+    url: '/product/index/isFavoriteBrand',
+    data: {
+        brandId: id
+    }
+}).then(function(data) {
+    if (data.code === 200) {
+
+        //已收藏
+        $brandFavor.find('i').addClass('coled');
+    } else if (data.code === 404) {
+
+        //未收藏
+        $brandFavor.find('i').removeClass('coled');
+    }
+});
+
+});
+define("js/product/hotrank", ["jquery","handlebars","source-map","lazyload"], function(require, exports, module){
+/**
+ * 首页
+ * @author: liuyue<yue.liu@yoho.cn>
+ * @date: 2015/12/17
+ */
+
+var $ = require("jquery"),
+    Handlebars = require("handlebars"),
+    lazyLoad = require("lazyload");
+
+require("js/common/slider");
+require("js/common/logo-brand");
+
+lazyLoad($('img.lazy'));
+$('.slide-container').slider();
+$('.logo-brand').logoBrand({
+    showNum: 10,
+    url: $('.logo-brand').data('url')
+});
+
+/*
+ * 一周热卖
+ */
+(function($) {
+    var floatlayer = $('.hot-week').find('.floatlayer'),
+        sid = $('.hot-cate').find('li').eq(0).data('sid'),
+        weekOffsetTop,
+        source,
+        template,
+        page = 1,
+        hotCateW = 0,
+        weekEnd = false;
+
+    source = '\{{# list}}' +
+        '<div class="good-info">' +
+            '<div class="item-img">' +
+                '<a class="good-thumb" target="_blank" href="\{{url}}">' +
+                    '<img class="lazy" data-original="\{{thumb}}">' +
+                '</a>' +
+            '</div>' +
+            '<div class="good-detail-text">' +
+                '<a target="_blank" href="{{url}}">{{name}}</a>' +
+                '<p class="price">' +
+                    '{{# marketPrice}}<span class="market-price">¥{{.}}</span>{{/ marketPrice}} ' +
+                    '<span class="sale-price{{#unless marketPrice}}prime-cost{{/unless}}">' +
+                    '¥{{salePrice}}</span>' +
+                '</p>' +
+            '</div>' +
+        '</div>' +
+        '{{/ list}}';
+
+    //监听滚动事件,控制浮层样式及下拉加载更多
+    $(window).on('scroll', function() {
+        var maxH = weekOffsetTop + $('.hot-week').outerHeight(),
+            sid;
+
+        //热卖右侧浮动导航位置
+        weekOffsetTop = $('.hot-week').offset().top;
+        if ($(this).scrollTop() >= weekOffsetTop - $(window).height() / 2) {
+            if (floatlayer.offset().top + floatlayer.outerHeight() >= maxH) {
+                floatlayer.css({
+                    position: 'absolute',
+                    marginTop: 0,
+                    top: $('.hot-week').outerHeight() - floatlayer.outerHeight()
+                });
+            } else {
+                floatlayer.css({
+                    marginTop: -floatlayer.height() / 2
+                }).stop().animate({
+                    opacity: 1
+                }, 200, function() {
+                    floatlayer.show();
+                });
+            }
+
+        } else {
+            floatlayer.stop().animate({
+                opacity: 0
+            }, 200, function() {
+                floatlayer.hide();
+            });
+        }
+
+        if (floatlayer.offset().top >= $(this).scrollTop() + ($(window).height() - floatlayer.outerHeight()) / 2) {
+            floatlayer.css({
+                position: 'fixed',
+                marginTop: -floatlayer.height() / 2,
+                top: '50%'
+            });
+        }
+
+        //下拉加载
+        if ($(this).scrollTop() >= weekOffsetTop + $('.hot-week').height() - $(window).height()) {
+            if (!weekEnd) {
+                sid = $('.hot-cate').find('li.current').data('sid');
+                page++;
+                weekEnd = true; //防止多次请求
+                weekAjax(sid, page);
+            }
+        }
+
+    });
+
+    //热卖横导航及竖导航的超出显示控制
+    $('.hot-cate').find('li').each(function(i) {
+        var maxW = $('.hot-cate').width();
+
+        if (hotCateW <= maxW) {
+            hotCateW = hotCateW + $(this).width();
+            if (hotCateW >= maxW) {
+                $('.floatlayer').find('li').eq(i).hide().nextAll().hide();
+            }
+        }
+
+    });
+
+    //热卖横导航点击事件处理
+    $('.hot-cate').on('click', 'li', function() {
+        var nowIndex = $(this).index(),
+            sid = $(this).data('sid');
+
+        if ($(this).hasClass('current')) {
+            return;
+        }
+
+        //处理current样式
+        $(this).addClass('current').siblings().removeClass('current');
+        $('.floatlayer').find('li').removeClass('current').eq(nowIndex).addClass('current');
+
+        //返回热卖顶部,110为floor-header所占高度
+        $('body,html').stop().animate({
+            scrollTop: weekOffsetTop - 110
+        }, 500);
+
+        //调用ajax请求函数,重置page,weekEnd
+        weekAjax(sid);
+        page = 1;
+    });
+
+    //热卖右侧悬浮导航点击事件处理
+    $('.floatlayer').on('click', 'li', function() {
+        var nowIndex = $(this).index();
+
+        if ($(this).hasClass('current')) {
+            return;
+        }
+
+        $('.hot-cate').find('li').eq(nowIndex).trigger('click');
+
+        //处理current样式
+        $(this).addClass('current').siblings().removeClass('current');
+        $('.hot-cate').find('li').removeClass('current').eq(nowIndex).addClass('current');
+    });
+
+    /*
+     * 热卖内容ajax请求
+     * param: sid(ajax请求的id), page(ajax请求的页码)
+     */
+    function weekAjax(sid, page) {
+        var param = {};
+
+        if (page) {
+            param = {
+                sid: sid,
+                page: page
+            };
+        } else {
+            param = {
+                sid: sid
+            };
+        }
+        $.ajax({
+            type: 'GET',
+            dataType: 'json',
+            url: '/product/index/getdata',
+            data: param,
+            success: function(res) {
+                var data;
+
+                if (res.code === 200) {
+                    data = {
+                        list: res.data
+                    };
+
+                    //mustache渲染数据,并替换原内容
+                    template = Handlebars.compile(source);
+                    if (page) {
+                        $('.hot-week-list').append(template(data));
+                        floatlayer.css({
+                            position: 'fixed',
+                            marginTop: -floatlayer.height() / 2,
+                            top: '50%'
+                        });
+                    } else {
+                        $('.hot-week-list').html(template(data));
+                    }
+
+                    lazyLoad($('img.lazy'));
+                    weekEnd = false;
+                }
+            }
+        });
+    }
+
+    //热卖中导航current类处理
+    $('.hot-cate').find('li').eq(0).addClass('current');
+    $('.floatlayer').find('li').eq(0).addClass('current');
+})($);
+
+});
+define("js/common/slider", ["jquery","lazyload"], function(require, exports, module){
+/**
+ * 首页banner轮播
+ * @author: liuyue(yue.liu@yoho.cn)
+ * @date: 2015/12/04
+ */
+
+var $ = require("jquery"),
+    lazyLoad = require("lazyload");
+
+(function($) {
+    var Slider = function(element, options) {
+        this.$element = $(element);
+        this.options = $.extend({}, $.fn.slider.defaults, options);
+        this.bigItem = this.$element.find('.slide-wrapper').find('li');
+        this.smallItem = null;
+        this.len = this.bigItem.size();
+        this.index = 0;
+        this.timer = null;
+        this.init();
+    };
+
+    Slider.prototype = {
+        init: function() {
+            if (!this.$element) {
+                return;
+            }
+
+            if (this.len <= 1) {
+                lazyLoad(this.$element.find('img.lazy'));
+                return;
+            }
+            if (!!this.options.pagination) {
+                this.smallItem = $(this.options.pagination).find('li');
+            } else {
+                this._createPage();
+            }
+
+            if (this.options.orient) {
+                this._createOrient();
+            }
+            this._slideShow();
+            this._bindEvent();
+            this._autoplay();
+        },
+        _createOrient: function() {
+
+            var orientHtml = '<div class="slide-switch">' +
+                    '<a class="prev" href="javascript:;"><span class="iconfont">&#xe60c;</span></a>' +
+                    '<a class="next" href="javascript:;"><span class="iconfont">&#xe60b;</span></a>' +
+                '</div>';
+
+            if (this.$element.find('.slide-switch').length > 0) {
+                return;
+            }
+
+            this.$element.append(orientHtml);
+        },
+        _createPage: function() {
+            var pageHtml = '<div class="slide-pagination"><div class="slide-pagination-inner">' +
+                            '<div class="slide-shade"></div><div class="slide-pagination-last">',
+                i = 0;
+
+            if (this.len <= 1) {
+                return;
+            }
+            for (i = 0; i < this.len; i++) {
+                pageHtml += '<span></span>';
+            }
+            pageHtml += '</div></div></div>';
+            this.$element.append($(pageHtml));
+            this.smallItem = this.$element.find('.slide-pagination-inner span');
+        },
+        _bindEvent: function() {
+            var that = this;
+
+            this.$element.find('.slide-switch').on('click', '.next', function() {
+                that._nextSlide();
+                clearInterval(that.timer);
+                that.timer = setInterval(function() {
+                    that._nextSlide();
+                }, that.options.time);
+            }).on('click', '.prev', function() {
+                that._prevSlide();
+                clearInterval(that.timer);
+                that.timer = setInterval(function() {
+                    that._nextSlide();
+                }, that.options.time);
+            });
+
+            this.smallItem.on('mouseenter', function() {
+                that.index = $(this).index();
+                clearInterval(that.timer);
+                that._slideShow();
+            }).on('mouseleave', function() {
+                that._autoplay();
+            });
+
+            this.$element.on('mouseenter', function() {
+                $(this).find('.slide-switch').addClass('show');
+            }).on('mouseleave', function() {
+                $(this).find('.slide-switch').removeClass('show');
+            });
+        },
+        _nextSlide: function() {
+            if (this.index === this.len - 1) {
+                this.index = 0;
+            } else {
+                this.index++;
+            }
+            this._slideShow();
+        },
+        _prevSlide: function() {
+            if (this.index === 0) {
+                this.index = this.len - 1;
+            } else {
+                this.index--;
+            }
+            this._slideShow();
+        },
+        _slideShow: function() {
+            var $img = this.bigItem.eq(this.index).find('img.lazy');
+
+            //未加载图片的及时显示
+            if ($img.attr('src') !== $img.data('original')) {
+                lazyLoad($img, {
+                    event: 'sporty'
+                });
+                $img.trigger('sporty');
+            }
+
+            this.smallItem.eq(this.index).addClass('focus').siblings().removeClass('focus');
+            this.bigItem.eq(this.index).show().stop().animate({
+                opacity: 1
+            }, function() {
+
+                //修正IE下切换时文字会重叠的问题
+                $(this).find('.slide-tips > p').removeClass('hide');
+            }).siblings().stop().animate({
+                opacity: 0
+            }, function() {
+                $(this).hide().find('.slide-tips > p').addClass('hide');
+            });
+        },
+        _autoplay: function() {
+            var that = this;
+
+            clearInterval(this.timer);
+            this.timer = setInterval(function() {
+                that._nextSlide();
+            }, this.options.time);
+        }
+    };
+    $.fn.slider = function(option) {
+        return this.each(function() {
+            var $this = $(this),
+                data = $this.data('Slider'),
+                options = typeof option === 'object' && option;
+
+            if (!data) {
+                $this.data('Slider', (data = new Slider(this, options)));
+            }
+            if (typeof option === 'string') {
+                data[option]();
+            }
+        });
+    };
+    $.fn.slider.Constructor = Slider;
+    $.fn.slider.defaults = {
+        time: 5000,
+        orient: true, //左右切换箭头的显示
+        pagination: null
+    };
+})($);
+});
+define("js/common/logo-brand", ["jquery","handlebars","source-map","lazyload"], function(require, exports, module){
+/**
+ * 首页优选品牌js
+ * @author: liuyue(yue.liu@yoho.cn)
+ * @date: 2015/12/08
+ */
+
+var $ = require("jquery"),
+    Handlebars = require("handlebars"),
+    lazyLoad = require("lazyload");
+
+(function($) {
+    var LogoBrand = function(element, options) {
+        this.$element = $(element);
+        this.options = $.extend({}, $.fn.logoBrand.defaults, options);
+
+        this.init();
+    };
+
+    LogoBrand.prototype = {
+        init: function() {
+            this.$element.addClass('logos-' + this.options.showNum);
+            this._sendRequest();
+        },
+        _createHelper: function() {
+            var showNum = this.options.showNum;
+
+            Handlebars.registerHelper('brandList', function(items, options) {
+                var out = '<ul>',
+                    i = 0,
+                    item = null,
+                    fillNum = 0;
+
+                //不是每页显示个数的倍数,填充数据
+                if (items.length % showNum !== 0) {
+                    fillNum = showNum - (items.length % showNum);
+                    for (i = 0; i < fillNum; i++) {
+                        items.push({
+                            href: 'javascript:;',
+                            img: ''
+                        });
+                    }
+                }
+
+                for (i = 0; i < items.length; i++) {
+                    item = options.fn(items[i]);
+
+                    if (i % showNum === 5 || i === 5) {
+
+                        //插入切换按钮的位置
+                        out = out + '<li class="logo-brand-switch" data-page="' + Math.floor(i / showNum) + '">' +
+                                    '<a class="prev iconfont" href="javascript:;">&#xe60f;</a>' +
+                                    '<a class="next iconfont" href="javascript:;">&#xe60e;</a></li>' +
+                                    '<li data-page="' + Math.floor(i / showNum) + '">' + item + '</li>';
+                    } else if (i !== 0 && i % showNum === 0) {
+
+                        //插入more的位置,more占的是下一页第一个brand的位置,所以page是i/17
+                        out = out + '<li class="brand-more" data-page="' + Math.floor(i / (showNum + 1)) + '">' +
+                                    '<a href="javascript:;" target="_blank">MORE ></a></li>' +
+                                    '<li data-page="' + Math.floor(i / showNum) + '">' + item + '</li>';
+                    } else {
+                        out = out + '<li data-page="' + Math.floor(i / showNum) + '">' + item + '</li>';
+                    }
+                }
+
+                //加上最后一个more, more占的是下一页第一个brand的位置,这里已经循环不到brand,所以加在末尾
+                return out + '<li class="brand-more" data-page="' + Math.floor(i / (showNum + 1)) + '">' +
+                            '<a href="javascript:;" target="_blank">MORE ></a></li></ul>';
+
+            });
+        },
+        _sendRequest: function() {
+            var that = this;
+
+            $.ajax({
+                type: 'GET',
+                url: that.options.url,
+                dataType: 'json',
+                success: function(data) {
+                    var brandTpl,
+                        brandHtml;
+
+                    if (!data || data.length === 0) {
+                        return;
+                    }
+
+                    that._createHelper();
+                    brandHtml = '\{{#brandList logoBrand}}' +
+                        '<a href="\{{href}}" target="_blank"><img class="lazy" data-original="\{{img}}" alt=""></a>' +
+                        '\{{/brandList}}';
+                    brandTpl = Handlebars.compile(brandHtml);
+                    that.$element.html(brandTpl(data));
+                    that.$element.find('.brand-more a').attr('href', data.moreBrand);
+                    lazyLoad(that.$element.find('img.lazy'));
+                    that._bindEvent();
+                }
+            });
+        },
+        _brandShow: function(hidePage, showPage) {
+            var that = this;
+
+            lazyLoad($('li[data-page=' + showPage + ']').find('img.lazy').trigger('appear'));
+            that.$element.find('li[data-page=' + hidePage + ']').find('img').fadeOut('normal', function() {
+                that.$element.find('li').hide();
+                that.$element.find('li[data-page=' + showPage + ']').show().find('img').fadeIn();
+            });
+        },
+        _bindEvent: function() {
+            var that = this;
+
+            that.$element.on('click', '.next', function() {
+                var page = $(this).parent().data('page'),
+                    nextPage = 0,
+                    totalPage = Math.ceil(that.$element.find('li').size() / (that.options.showNum + 2)) - 1;
+
+                if (page === totalPage) {
+                    nextPage = 0;
+                } else {
+                    nextPage = page + 1;
+                }
+                that._brandShow(page, nextPage);
+            });
+
+            that.$element.on('click', '.prev', function() {
+                var page = $(this).parent().data('page'),
+                    prevPage = 0,
+                    totalPage = Math.ceil(that.$element.find('li').size() / (that.options.showNum + 2)) - 1;
+
+                if (page === 0) {
+                    prevPage = totalPage;
+                } else {
+                    prevPage = page - 1;
+                }
+                that._brandShow(page, prevPage);
+            });
+        }
+    };
+    $.fn.logoBrand = function(option) {
+        return this.each(function() {
+            var $this = $(this),
+                data = $this.data('LogoBrand'),
+                options = typeof option === 'object' && option;
+
+            if (!data) {
+                $this.data('LogoBrand', (data = new LogoBrand(this, options)));
+            }
+            if (typeof option === 'string') {
+                data[option]();
+            }
+        });
+    };
+    $.fn.logoBrand.Constructor = LogoBrand;
+    $.fn.logoBrand.defaults = {
+        showNum: 16,
+        url: '/boys/getBrand'
+    };
+})($);
+});
+define("js/product/item", ["jquery","lazyload","handlebars","source-map","index"], function(require, exports, module){
+/**
+ * 商品详情页
+ * @author: xuqi<qi.xu@yoho.cn>
+ * @date: 2015/12/23
+ */
+
+var $ = require("jquery"),
+    lazyLoad = require("lazyload"),
+    Handlebars = require("handlebars"),
+    JSON2 = require("index");
+
+var $imgShow = $('#img-show'),
+    $thumbs = $('#thumbs > .thumb-wrap');
+
+var $size = $('#sizes'),
+    $sizes = $size.children('.size'),
+    $sizeWarn = $size.find('.size-warn'),
+    $colorSizeTip = $size.children('.color-size-tip');
+
+var $num = $('#num'),
+    $plusNum = $('#plus-num'),
+    $minusNum = $('#minus-num');
+
+var $addToCart = $('#add-to-cart'),
+    $soldOut = $('#sold-out');
+
+var $lcContainer = $('.lc-container'),
+    $itemBuy = $('.item-buy');
+
+var $descColor = $('#desc-color');
+
+var thumbsLoaded = {};
+
+var $main = $('.main'),
+    id = $main.data('id');
+
+var maxStock = -1; //记录当前选中的颜色-尺码的库存量,若为-1,代表未选择尺码
+
+var SLIDETIME = 200;
+
+var colTxt = {
+    def: '收藏商品',
+    coled: '已收藏',
+    hover: '取消收藏'
+};
+
+var Alert = require("js/common/dialog").Alert;
+
+require("js/product/latest-walk");
+
+require("js/common/share");
+
+function imgShow(src) {
+    $imgShow.attr('src', src);
+}
+
+/**
+ * 获取当前选择的商品数目
+ * @return [Number]
+ */
+function getNum() {
+    return +$num.text();
+}
+
+//重置Num显示为1
+function resetNum() {
+    $num.text('1');
+
+    //+-按钮状态重置
+    if (maxStock === 1 || maxStock === 0) {
+
+        //数目为1/0时
+        $plusNum.addClass('dis');
+        $minusNum.addClass('dis');
+    } else {
+        $plusNum.removeClass('dis');
+        $minusNum.addClass('dis');
+    }
+}
+
+//加入购物车和已售罄状态控制
+function switchBtnStatus($color) {
+    if ($itemBuy.length === 0) {
+
+        //全部售罄,按钮状态不变
+        return;
+    }
+
+    //选中的商品存量为0或者某个颜色的total为0
+    if (maxStock === 0 || ($color && ~~$color.data('total') === 0)) {
+        $itemBuy.addClass('hide'); //隐藏加入购物车、即将开始、立即购买等相同位置的按钮
+        $soldOut.removeClass('hide');
+    } else {
+
+        //包括默认的-1情况下
+        $itemBuy.removeClass('hide');
+        $soldOut.addClass('hide');
+    }
+}
+
+//size warn
+function showSizeWarn() {
+    $sizes.not('.hide').children('.size-warn').removeClass('hide');
+}
+
+//size title
+(function() {
+    var $sizeTitleJson = $('#size-title-json'),
+        jsonHtml = $sizeTitleJson.html(),
+        sizeTitle;
+
+    if (jsonHtml === '') {
+        return;
+    }
+
+    sizeTitle = JSON2.parse(jsonHtml);
+
+    //数据获取后删除
+    $sizeTitleJson.remove();
+
+    $sizes.children('li').each(function() {
+        var $this = $(this),
+            key = $this.data('name');
+
+        $this.data('title', sizeTitle[key]);
+    });
+}());
+
+//初始化thumbsLoaded
+thumbsLoaded[$('.colors .focus').index()] = true;
+
+//品牌收藏
+$('#brand-favour').click(function() {
+    var $this = $(this);
+
+    $.ajax({
+        type: 'POST',
+        url: '/product/index/favoriteBrand',
+        data: {
+            brandId: $this.data('id')
+        }
+    }).then(function(data) {
+        if (data.code === 200) {
+            $this.toggleClass('coled');
+        } else if (data.code === 403) {
+            location.href = data.data.url;
+        }
+    });
+});
+
+//颜色
+$('.colors').on('click', 'li', function() {
+    var $this = $(this),
+        index = $this.index();
+
+    var $imgs;
+
+    //初始化color-size显示或隐藏
+    $colorSizeTip.addClass('hide');
+
+    //隐藏尺码提示
+    $sizeWarn.addClass('hide');
+
+    maxStock = -1;
+
+    if ($this.hasClass('focus')) {
+
+        //已获取焦点的颜色再次点击,清除尺码的选中
+        $sizes.eq(index).children('li').removeClass('focus');
+    } else {
+
+        //未获取焦点,选择尺码
+        $this.siblings('.focus').removeClass('focus');
+        $this.addClass('focus');
+
+        //切换图片显示
+        $thumbs.not('.hide').addClass('hide');
+        $imgs = $thumbs.eq(index).removeClass('hide').find('img');
+
+        if (typeof thumbsLoaded[index] === 'undefined') {
+
+            //trigger layLoad
+            lazyLoad($imgs, {
+                event: 'sporty'
+            });
+
+            $imgs.trigger('sporty');
+
+            thumbsLoaded[index] = true;
+        }
+
+        imgShow($imgs.first().data('shower'));
+
+        //切换详细信息的颜色显示
+        $descColor.text($this.data('color'));
+
+        //切换尺码显示
+        $sizes.not('.hide').addClass('hide').children('li').removeClass('focus');
+        $sizes.eq(index).removeClass('hide');
+    }
+
+    resetNum();
+    switchBtnStatus($this);
+});
+
+//缩略图鼠标移入显示
+$('#thumbs').on('mouseenter', '.thumb', function() {
+    imgShow($(this).data('shower'));
+});
+
+//尺码
+$size.on('click', 'li', function() {
+    var $this = $(this);
+
+    if ($this.hasClass('focus')) {
+        return;
+    }
+
+    maxStock = +$this.data('num');
+
+    $this.siblings('.focus').removeClass('focus');
+    $this.addClass('focus');
+
+    $colorSizeTip.html($this.data('title')).removeClass('hide');
+
+    $sizeWarn.addClass('hide');
+
+    switchBtnStatus();
+
+    resetNum();
+}).on('click', '.size-ruler', function() {
+
+    //尺码帮助
+
+    $('body,html').animate({
+        scrollTop: $('.size-info').offset().top
+    }, 300);
+});
+
+//数量
+$plusNum.click(function() {
+    var num = getNum();
+
+    if ($(this).hasClass('dis')) {
+        return;
+    }
+
+    if (maxStock === -1) {
+        showSizeWarn();//显示选择尺码提示
+        return;
+    }
+
+    //已售罄
+    if (maxStock === 0) {
+        return;
+    }
+
+    if (num === maxStock - 1) {
+
+        //+按钮不可点
+        $(this).addClass('dis');
+    }
+
+    //数目为1时点+则移除-不可点状态
+    if (num === 1) {
+        $minusNum.removeClass('dis');
+    }
+
+    $num.text(num + 1 > maxStock ? maxStock : num + 1);
+}).on('selectstart', function() {
+    return false;
+});
+
+$minusNum.click(function() {
+    var num = getNum();
+
+    if ($(this).hasClass('dis')) {
+        return;
+    }
+
+    if (num === 2) {
+        $(this).addClass('dis');
+    }
+
+    if (num === maxStock) {
+
+        //恢复+可点
+        $plusNum.removeClass('dis');
+    }
+
+    $num.text(num - 1 < 0 ? 0 : num - 1);
+}).on('selectstart', function() {
+    return false;
+});
+
+//限购码
+$('.get-lc:not(.dis)').hover(function() {
+    $lcContainer.removeClass('hide');
+}, function() {
+    $lcContainer.addClass('hide');
+});
+
+//加入购物车
+$addToCart.click(function() {
+    if (maxStock === -1) {
+        showSizeWarn();
+        return;
+    }
+
+    $.ajax({
+        type: 'POST',
+        url: '/cart/index/add',
+        data: {
+            productSku: $('.size:not(.hide) li.focus').data('sku'),
+            buyNumber: getNum()
+        }
+    }).then(function(data) {
+        var code = data.code;
+
+        if (code === 200) {
+            $('#type-chose').slideUp(SLIDETIME);
+            $('#balance').slideDown(SLIDETIME);
+
+            $('#cart-num').text(data.data.goods_count); //更新数目
+        }
+    });
+});
+
+//收藏
+$('#collect-product').click(function() {
+    var $this = $(this),
+        cancel;
+
+    if ($this.hasClass('coled')) {
+        cancel = true;
+    }
+
+    $.ajax({
+        type: 'POST',
+        url: '/product/item/togglecollect',
+        data: {
+            productId: id,
+            type: cancel ? 'cancel' : 'add'
+        }
+    }).then(function(data) {
+        var code = data.code;
+
+        if (code === 200) {
+
+            $this.toggleClass('coled');
+
+            if (cancel) {
+                $this.find('em').text(colTxt.def);
+            } else {
+                $this.find('em').text(colTxt.coled);
+            }
+        } else if (code === 403) {
+            location.href = data.data.url;
+        }
+    });
+}).hover(function() {
+    var $this = $(this);
+
+    if ($this.hasClass('coled')) {
+        $this.find('em').text(colTxt.hover);
+    }
+}, function() {
+    var $this = $(this);
+
+    if ($this.hasClass('coled')) {
+        $this.find('em').text(colTxt.coled);
+    }
+});
+
+//继续购物
+$('#keep-shopping').click(function() {
+    $('#type-chose').slideDown(SLIDETIME);
+    $('#balance').slideUp(SLIDETIME);
+});
+
+//立即购买
+$('#buy-now').click(function() {
+    var sku,
+        base,
+        myAlert;
+
+    if (maxStock === -1) {
+        showSizeWarn();
+        return;
+    }
+
+    if ($(this).hasClass('dis')) {
+        return;
+    }
+
+    base = $(this).data('base');
+
+    //潮流尖货
+    if (!base) {
+        myAlert = new Alert('打开APP可抢购该商品哦~~');
+        myAlert.show();
+        return;
+    }
+
+    sku = $sizes.find('.focus').data('sku');
+
+    if (sku && base) {
+        location.href = base + '?product_sku=' + sku;
+    }
+});
+
+//按钮鼠标移入效果【dis状态的按钮状态不变】
+$('.buy-btn').mouseover(function() {
+    if ($(this).hasClass('dis')) {
+        return;
+    }
+
+    $(this).addClass('hover');
+}).mouseleave(function() {
+    $(this).removeClass('hover');
+});
+
+//商品详情/材质洗涤切换
+$('.description-material').on('click', '.title', function() {
+    var $this = $(this),
+        index = $this.index();
+
+    var $description = $('.description-content'),
+        $material = $('.material-content');
+
+    if ($this.hasClass('cur')) {
+        return;
+    }
+
+    $this.addClass('cur');
+    $this.siblings('.cur').removeClass('cur');
+
+    if (index === 0) {
+
+        //商品信息
+        $description.slideDown(SLIDETIME);
+        $material.slideUp(SLIDETIME);
+    } else {
+        $description.slideUp(SLIDETIME);
+        $material.slideDown(SLIDETIME);
+    }
+});
+
+//售后服务
+$('.after-service-switch').click(function() {
+    var $this = $(this),
+        $content = $this.next('.after-service-content');
+
+    var html = {
+        def: '&#xe604;',
+        spread: '&#xe603;'
+    };
+
+    if ($content.css('display') === 'none') {
+        $content.slideDown(SLIDETIME);
+
+        $this.find('.triangle').html(html.spread);
+    } else {
+        $content.slideUp(SLIDETIME);
+
+        $this.find('.triangle').html(html.def);
+    }
+});
+
+
+//商品详情区的热点
+$.ajax({
+    type: 'GET',
+    url: '/product/item/hotarea',
+    data: {
+        productId: id
+    }
+}).then(function(html) {
+    $('#details-html').prepend(html);
+
+    //修正热区尺寸使居中
+    $('.hot-point-wrap > img').load(function() {
+        $(this).parent('.hot-point-wrap').width($(this).width());
+    });
+
+    //Bind Hover event
+    $('.hot-point').hover(function() {
+        $(this).addClass('hover');
+    }, function() {
+        $(this).removeClass('hover');
+    });
+});
+
+//商品详情懒加载
+lazyLoad($('#details-html img'));
+
+//只有一个尺码(多个或一个颜色)时默认选中第一个未售罄的颜色的第一个尺码
+(function() {
+    var hasOnlyOneSize = true,
+        i;
+
+    for (i = 0; i < $sizes.length; i++) {
+        if ($sizes.eq(i).find('li').length !== 1) {
+            hasOnlyOneSize = false;
+            break;
+        }
+    }
+
+    if (hasOnlyOneSize) {
+        $sizes.eq($('.colors .focus').index()).find('li').click();
+    }
+}());
+
+//咨询和评价
+(function() {
+    var commentPage = 1,
+        consultPage = 1;
+
+    var commentsTpl = Handlebars.compile($('#comments-tpl').html()),
+        consultsTpl = Handlebars.compile($('#consults-tpl').html());
+
+    var $commentsUl = $('#comments-ul'),
+        $consultsUl = $('#consults-ul');
+
+    var $commentNum = $('.comment-num'),
+        $consultNum = $('.consult-num');
+
+    var loadingComments,
+        loadingConsults;
+
+    //购买评价
+    function loadComments() {
+        if (loadingComments) {
+            return;
+        }
+
+        loadingComments = true;
+        $.ajax({
+            type: 'GET',
+            url: '/product/item/comments',
+            data: {
+                productId: id,
+                page: commentPage
+            }
+        }).then(function(data) {
+            var res;
+
+            if (data.code === 200) {
+                res = data.data;
+
+                if (res.length === 0) {
+                    $commentsUl.next('.more-wrap').addClass('hide');
+                    return;
+                }
+
+                //更新总数显示
+                $commentNum.text(res[0].total);
+
+                $commentsUl.append(commentsTpl({
+                    comments: res
+                }));
+                commentPage++;
+            }
+        }).always(function() {
+            loadingComments = false;
+        });
+    }
+
+    //顾客咨询
+    function loadConsults() {
+        if (loadingConsults) {
+            return;
+        }
+
+        loadingConsults = true;
+
+        $.ajax({
+            type: 'GET',
+            url: '/product/item/consults',
+            data: {
+                productId: id,
+                page: consultPage
+            }
+        }).then(function(data) {
+            var res;
+
+            if (data.code === 200) {
+                res = data.data;
+
+                if (res.length === 0) {
+                    $consultsUl.next('.more-wrap').addClass('hide');
+                    return;
+                }
+
+                //更新总数显示
+                $consultNum.text(res[0].total);
+
+                $consultsUl.append(consultsTpl({
+                    consults: res
+                }));
+                consultPage++;
+            }
+        }).always(function() {
+            loadingConsults = false;
+        });
+    }
+
+    //评价和咨询切换
+    $('.consult-comment').on('click', '.title', function() {
+        var $this = $(this),
+            index = $this.index();
+
+        var $comments = $('.comments'),
+            $consults = $('.consults');
+
+        if ($this.hasClass('cur')) {
+            return;
+        }
+
+        $this.addClass('cur');
+        $this.siblings('.cur').removeClass('cur');
+
+        if (index === 0) {
+
+            //咨询
+            $consults.slideDown(SLIDETIME);
+            $comments.slideUp(SLIDETIME);
+        } else {
+            $consults.slideUp(SLIDETIME);
+            $comments.slideDown(SLIDETIME);
+        }
+    }).on('click', '.load-more', function() {
+        var $this = $(this);
+
+        if ($this.hasClass('load-more-comments')) {
+            loadComments();
+        } else {
+            loadConsults();
+        }
+    });
+
+    //我要咨询
+    $('#consults-btn').click(function() {
+
+        //TODO:点击我要资讯的时候更新验证码显示
+        $('.new-consult').removeClass('hide');
+        $('.consult-success').addClass('hide');
+    });
+
+    //提交咨询
+    $('#submit-consult').click(function() {
+        var $this = $(this),
+            $parent = $this.closest('.new-consult'),
+            $textarea = $parent.find('.my-consult'),
+            content = $.trim($textarea.val());
+
+        var $consultWarn = $parent.find('.consult-warn');
+
+        var pass = true;
+
+        if (content === '') {
+            $textarea.addClass('error');
+            $consultWarn.removeClass('hide');
+
+            pass = false;
+        } else {
+            $textarea.removeClass('error');
+            $consultWarn.addClass('hide');
+        }
+
+        if (pass === false) {
+            return;
+        }
+
+        $.ajax({
+            type: 'POST',
+            url: '/product/item/addconsult',
+            data: {
+                productId: id,
+                content: content
+            }
+        }).then(function(data) {
+            var code = data.code;
+
+            if (code === 200) {
+                $parent.addClass('hide');
+
+                $parent.siblings('.consult-success').removeClass('hide');
+
+                //清空输入
+                $textarea.val('');
+            } else if (code === 403) {
+
+                //跳转登录页
+                location.href = data.data.url;
+            }
+        });
+    });
+
+    loadComments();
+    loadConsults();
+}());
+});
+define("js/common/dialog", ["jquery","handlebars","source-map"], function(require, exports, module){
+/**
+ * 弹框公共组件
+ * @author: xuqi<qi.xu@yoho.cn>
+ * @date: 2016/2/24
+ */
+
+var $ = require("jquery"),
+    Handlebars = require("handlebars");
+
+var defaultOptions = {
+    mask: true,
+    closeIcon: true,
+    refreshOnClose: false
+};
+
+var tpl =
+    '<div class="yoho-dialog {{className}} hide">' +
+        '{{#if closeIcon}}' +
+            '<span class="close">' +
+                '<i class="iconfont">&#xe602;</i>' +
+            '</span>' +
+        '{{/if}}' +
+        '<div class="content">' +
+            '{{{content}}}' +
+        '</div>' +
+        '<div class="btns">' +
+            '{{# btns}}' +
+                '<span {{#if id}}id="dialog-{{id}}"{{/if}} class="btn{{#each btnClass}} {{.}}{{/each}}">' +
+                    '{{name}}' +
+                '</span>' +
+            '{{/ btns}}' +
+        '</div>' +
+    '</div>';
+
+var tplFn = Handlebars.compile(tpl);
+
+//背景蒙版
+function createMask() {
+    if ($('.body-mask').length === 0) {
+        $('body').append('<div class="body-mask hide"></div>');
+    }
+
+    return $('.body-mask').css({
+        height: $(document).height(),
+        width: $(document).width()
+    });
+}
+
+function createDialog(data) {
+    $('body').append(tplFn(data));
+
+    return $('.yoho-dialog');
+}
+
+function cerateSubContent(text) {
+    var $yohoDialog = $('.yoho-dialog'),
+        subContent = '<p class="sub-content">' + text + '</p>';
+
+    if ($yohoDialog && $yohoDialog.length > 0) {
+        $yohoDialog.find('.content').after(subContent);
+    }
+}
+
+function Dialog(options) {
+    var opt = $.extend({}, defaultOptions, options);
+    var that = this,
+        i;
+
+    //实现继承时,只返回实例,不生成html
+    if (opt.inherit) {
+        return this;
+    }
+
+    if (opt.mask) {
+        that.$mask = createMask();
+    }
+
+    that.$el = createDialog(opt);
+
+
+    if (opt.subContent) {
+        cerateSubContent(opt.subContent);
+    }
+
+    if (opt.subContents) {
+        for (i = opt.subContents.length - 1; i >= 0; i--) {
+            cerateSubContent(opt.subContents[i]);
+        }
+    }
+
+    //绑定x关闭事件
+    that.$el.find('.close').click(function() {
+        that.close();
+        if (options.refreshOnClose) {
+            window.location.reload();
+        }
+    });
+
+    //绑定btn关闭事件
+    that.$el.find('.btn-close').click(function() {
+        that.close();
+    });
+
+    function bindBtnEvt(index) {
+        that.$el.find('#dialog-' + opt.btns[index].id).on('click', function() {
+            opt.btns[index].cb && opt.btns[index].cb();
+        });
+    }
+
+    //绑定按钮事件
+    if (!!opt.btns) {
+        for (i = 0; i < opt.btns.length; i++) {
+            bindBtnEvt(i);
+        }
+    }
+}
+
+Dialog.prototype.close = function() {
+    this.$mask && this.$mask.addClass('hide');
+    this.$el.remove();
+};
+
+Dialog.prototype.show = function() {
+    this.$mask && this.$mask.removeClass('hide');
+    this.$el.removeClass('hide').css({
+        'margin-top': -this.$el.height() / 2,
+        'margin-left': -this.$el.width() / 2
+    });
+};
+
+exports.Dialog = Dialog;
+
+//Alert
+function Alert(content) {
+    var that = this;
+    var option = {
+        content: content,
+        className: 'alert-dialog',
+        btns: [
+            {
+                id: 'alert-sure',
+                btnClass: ['alert-sure'],
+                name: '确定',
+                cb: function() {
+                    that.close();
+                }
+            }
+        ]
+    };
+
+    Dialog.call(this, option);
+}
+
+Alert.prototype = new Dialog({
+    inherit: true
+});
+Alert.prototype.constructor = Alert;
+exports.Alert = Alert;
+
+//Confirm
+function Confirm(opt) {
+    var that = this;
+
+    var option = {
+        content: opt.content,
+        className: 'confirm-dialog',
+        btns: [
+            {
+                id: 'confirm-sure',
+                btnClass: ['confirm-sure'],
+                name: '确定',
+                cb: opt.cb
+            },
+            {
+                id: 'confirm-cancel',
+                btnClass: ['confirm-cancel'],
+                name: '取消',
+                cb: function() {
+                    that.close();
+                }
+            }
+        ]
+    };
+
+    Dialog.call(this, option);
+}
+
+Confirm.prototype = new Dialog({
+    inherit: true
+});
+Confirm.prototype.constructor = Confirm;
+exports.Confirm = Confirm;
+
+});
+define("js/common/share", ["jquery"], function(require, exports, module){
+/**
+ * 分享
+ * @author: xuqi<qi.xu@yoho.cn>
+ * @date: 2016/3/1
+ */
+
+var $ = require("jquery");
+
+function shareBase(options) {
+    var openUrl = '';
+    var defOption = {
+        title: '',
+        url: window.location.href,
+        weixinUrl: '',
+        image: '',
+        desc: '',
+        channel: ''
+    };
+    var shareChannels = ['weibo', 'tweibo', 'qzone', 'renren', 'qq', 'douban','weixin'];
+    var sharebox;
+    var shareCon = '<em><i></i></em>';
+
+    defOption = $.extend(defOption, options);
+
+    if ($.inArray(defOption.channel, shareChannels) === -1) {
+        alert('不存在的分享平台!');
+        return false;
+    }
+
+    switch (defOption.channel) {
+        case 'weibo':
+            openUrl = 'http://service.weibo.com/share/share.php?url=' + defOption.url + '&title=' +
+                defOption.title + '&appkey=3739328910&searchPic=true&pic=' + defOption.image;
+            break;
+        case 'tweibo':
+            openUrl = 'http://share.v.t.qq.com/index.php?c=share&a=index&url=' + defOption.url + '&title=' +
+                defOption.title + '&appkey=c0af9c29e0900813028c2ccb42021792&pic=' + defOption.image;
+            break;
+        case 'qzone':
+            openUrl = 'http://sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_onekey?url=' + defOption.url + '&title=' +
+                defOption.title + '&desc=&summary=' + defOption.desc + '&site=YOHO!BUY 有货&pics=' + defOption.image;
+            break;
+        case 'renren':
+            openUrl = 'http://widget.renren.com/dialog/share?resourceUrl=' + defOption.url + '&srcUrl=' +
+                defOption.url + '&desc=' + defOption.desc + '&title=' + defOption.title + '&description=' +
+                defOption.desc + '&pic=' + defOption.image;
+            break;
+        case 'qq':
+            openUrl = 'http://connect.qq.com/widget/shareqq/index.html?url=' + defOption.url + '&desc=' +
+                defOption.desc + '&title=' + defOption.title.replace('%', '') + '&desc=&summary=' +
+                defOption.desc + '&site=YOHO!BUY 有货&pics=' + defOption.image;
+            break;
+        case 'weixin':
+            openUrl = 'http://s.jiathis.com/qrcode.php?url=' + defOption.weixinUrl + '&desc=' +
+                defOption.desc + '&title=' + defOption.title + '&description=' +
+                defOption.desc + '&pic=' + defOption.image;
+            break;
+        case 'douban':
+            openUrl = '//www.douban.com/share/service?href=' + defOption.url + '&text=' +
+                defOption.desc + '&image=' + defOption.image + '&title=' + defOption.title + '&comment=';
+            break;
+    }
+
+    if (defOption.channel === 'weixin') {
+        if (!defOption.self) {
+            return;
+        }
+
+        sharebox = defOption.self.closest('.share-to').find('.weixin-share-box');
+
+        if (sharebox.length > 0) {
+            shareCon += '<div class="con"><h2>分享到微信朋友圈</h2><p class="pic">' +
+            '<img src="' + openUrl + '" /></p><p class="w">打开微信,点击底部得“发现”,使用<br/>“扫一扫“即可将网页分享到我的朋友圈。</p>' +
+            '<a href="javascript:void(0)" class="close">x</a></div>';
+            sharebox.find('div').length > 0 ? sharebox.show() : sharebox.html(shareCon).show();
+
+            sharebox.find('.close').click(function() {
+                $(this).closest('.weixin-share-box').hide();
+            });
+        }
+    } else {
+        window.open(encodeURI(openUrl));
+    }
+}
+
+function share(channel, self) {
+    var title = document.title.replace(/(^\s*)|(\s*$)/g, '');
+    var desc = $('#share-desc').val();
+    var image = $('#share-img').val();
+    var weixinUrl = $('#weixin-url').val();
+
+
+    if (channel === 'weibo' || channel === 'tqq') {
+        shareBase({
+            channel: channel,
+            title: title,
+            image: image
+        });
+    } else {
+        shareBase({
+            channel: channel,
+            title: title,
+            desc: desc,
+            image: image,
+            self: self,
+            weixinUrl: weixinUrl
+        });
+    }
+}
+
+$('.share-wrapper').on('click', 'i', function() {
+    var $el = $(this),
+        type = $el.data('type'),
+        $weixinShareBox = $('.weixin-share-box');
+
+    if (type === 'weixin') {
+        share(type, $el);
+    } else {
+        $weixinShareBox.hide();
+        share(type);
+    }
+});
+
+});
+define("js/product/shop-index", ["jquery","lazyload","handlebars","source-map","jquery-pjax"], function(require, exports, module){
+/**
+ * 首页
+ * @author: bikai<kai.bi@yoho.cn>
+ * @date: 2016/4/26
+ */
+
+var $ = require("jquery"),
+    lazyLoad = require("lazyload"),
+    product = require("js/product/product");
+
+var $shopIntro = $('.shop-intro'),
+    $shopCollect = $('.shop-collect'),
+    $sliderLeft = $('.slider-left'),
+    $allGoods = $('.all-goods'),
+    $fixedArea = $allGoods.find('.fixed-area'),
+    fixedAreaTop = $fixedArea.offset() ? $fixedArea.offset().top : 0;
+
+// Pjax
+require("jquery-pjax");
+
+require("js/common/slider");
+require("js/product/list");
+
+product.init(4);
+
+lazyLoad($('img.lazy'));
+
+if ($sliderLeft.length) {
+    $sliderLeft.slider();
+}
+
+$shopIntro.on('click', function() {
+    $('.pop-shop-intro').show();
+    $('.mask').show();
+});
+
+$('.close-btn, .mask').on('click', function() {
+    $('.pop-shop-intro').hide();
+    $('.mask').hide();
+});
+
+
+// 收藏店铺
+function colloectAction() {
+    var $colloectIcon = $shopCollect.find('.shop-collect-ico'),
+        $colloectText = $shopCollect.find('.shop-collect-text'),
+        isFavorite = $colloectIcon.hasClass('on'),
+        needColloect = window.cookie('needColloect');
+
+    $.ajax({
+        type: 'post',
+        url: '/shoplist/setFavorite',
+        data: {
+            isFavorite: isFavorite ? 0 : 1,
+            needColloect: needColloect,
+            shopId: $shopCollect.data('id')
+        },
+        success: function(res) {
+            if (res.code === 200) {
+                if (isFavorite) {
+                    $colloectIcon.removeClass('on');
+                    $colloectText.html('收藏');
+                } else {
+                    $colloectIcon.addClass('on');
+                    $colloectText.html('已收藏');
+                }
+
+                if (needColloect) {
+                    $colloectIcon.addClass('on');
+                    $colloectText.html('已收藏');
+                }
+            } else if (res.code === 401) {
+                window.setCookie('needColloect', '1', {
+                    path: '/',
+                    domain: '.yohobuy.com',
+                    expires: 90
+                });
+                location.href = res.url;
+            }
+        }
+    });
+}
+
+$shopCollect.on('click', function() {
+    colloectAction();
+});
+
+if (window.cookie('needColloect') * 1 === 1 && window.getUid()) {
+    colloectAction();
+    window.setCookie('needColloect', '', {
+        path: '/',
+        domain: '.yohobuy.com',
+        expires: 1
+    });
+}
+
+// 全部商品使用 pjax 翻页
+$allGoods.pjax('a.pjax', '.goods-wrap', {
+    timeout: 5000,
+    scrollTo: false // 默认滚动没有动画,禁止掉
+}).on('pjax:end', function() {
+    product.init(4);
+    lazyLoad($('img.lazy'));
+
+    $fixedArea = $allGoods.find('.fixed-area'); // 翻页后 fixed-area 区域有变化,需要更新选择器
+
+    // 分页后移动到全部商品
+    $('html, body').animate({
+        scrollTop: $allGoods.offset().top - 30
+    });
+}).on('click', '.menu-list li', function() {
+    var $this = $(this);
+
+    $this.siblings().removeClass('on');
+    $this.addClass('on');
+});
+
+$(window).on('scroll', function() {
+    var scrollTop = $(this).scrollTop();
+
+    if (scrollTop > fixedAreaTop) {
+        $fixedArea.css({
+            position: 'fixed',
+            top: 0
+        });
+    } else {
+        $fixedArea.css({
+            position: 'static',
+            top: 0
+        });
+    }
+});
+
+});
+define("js/index/index", ["jquery","lazyload","handlebars","source-map"], function(require, exports, module){
+/**
+ * 首页
+ * @author: xuqi<qi.xu@yoho.cn>
+ * @date: 2015/11/23
+ */
+
+var $ = require("jquery"),
+    lazyLoad = require("lazyload"),
+    homePage = $('.home-page').data('page'),
+    brandUrl = $('.logo-brand').data('url');
+
+
+require("js/common/slider");
+require("js/common/slider2");
+require("js/common/logo-brand");
+
+require("js/common/accordion");
+
+$(document).on('mouseenter', '.imgopacity a img', function() {
+    $(this).css('opacity', 0.8);
+});
+$(document).on('mouseout', '.imgopacity a img', function() {
+    $(this).css('opacity', 1);
+});
+
+
+
+if ($.inArray(homePage, ['boys','girls','kids','lifestyle']) > -1) {
+    require("js/common/new-arrivls")({
+        type: homePage,
+        url: '/common/getNewArrival',
+        count: (homePage === 'boys') || (homePage === 'lifestyle') ? 5 : 4,
+        rows: [5,3]
+    });
+    window.setCookie('_Channel', homePage, {
+        domain: '.yohobuy.com',
+        path: '/',
+        expires: 365
+    });
+}
+
+
+
+lazyLoad($('img.lazy'));
+if (homePage === 'boys') {
+    $('.slide-container').slider({
+        pagination: '.thumb-pagination'
+    });
+} else {
+    $('.center-col').slider();
+    $('.slide-container').slider();
+}
+
+if (homePage === 'boys') {
+    $('.logo-brand').logoBrand({
+        url: brandUrl
+    });
+    $('.img-brand').slider2();
+} else {
+    $('.logo-brand').logoBrand({
+        showNum: 10,
+        url: brandUrl
+    });
+    $('.img-slider-wrapper').slider2();
+}
+
+
+
+});
+define("js/common/slider2", ["jquery"], function(require, exports, module){
+/**
+ * (品牌优选)图片幻灯片插件
+ * @author: wangqing(robin.wang@yoho.cn)
+ * @date: 205/7/2
+ */
+var $ = require("jquery");
+
+(function($) {
+    $.fn.slider2 = function(options) {
+        function autoplay(index, limit, toright) {
+            if (toright === true) {
+                $('.next').trigger('click');
+                if (index === (limit - 3)) {
+                    autoplayrecycle(--index, limit, false);
+                } else {
+                    autoplayrecycle(++index, limit, true);
+                }
+            } else {
+                $('.prev').trigger('click');
+                if (index === 0) {
+                    autoplayrecycle(++index, limit, true);
+                } else {
+                    autoplayrecycle(--index, limit, false);
+                }
+            }
+        }
+
+        function autoplayrecycle(index, limit, toright) {
+            window.setTimeout(autoplay, $.fn.slider2.defaults.delaytime, index, limit, toright);
+        }
+
+        function changePic(index, width, callback) {
+            var offersetleft = -(index * width);
+
+            $('.img-list')
+                .animate({
+                    'margin-left': offersetleft + 'px'
+                }, 'slow', callback);
+
+        }
+        $.fn.slider2.defaults = {
+            index: 0,
+            shownum: 3,
+            autoplay: false,
+            delaytime: 3000
+        };
+        return this.each(function() {
+            var opts = $.extend({}, $.fn.slider2.defaults, options);
+            var mr = parseInt($('.img-item').css('margin-right'));
+            var $banneritems = $('.img-item');
+            var bannerarr = [];
+            var _width = $banneritems.outerWidth() + mr,
+                _size = $banneritems.length,
+                j = 0;
+
+            if (_size <= 3) {
+                $(this).find('.img-brand-switch').hide();
+                return;
+            }
+            for (j = 0; j < $banneritems.length; j++) {
+                bannerarr.push($banneritems[j]);
+            }
+            _size = bannerarr.length;
+            $(this).find('.img-list').css({
+                width: (_width * _size)
+            });
+            $(this).find('.next').on('click', function(e) {
+                var i = 0,
+                    _obj = null;
+
+                e.preventDefault();
+
+                changePic(3, _width, function() {
+                    for (i = 0; i < 3; i++) {
+                        _obj = bannerarr.shift();
+
+                        $('.img-item').parent().append(_obj.outerHTML);
+                        bannerarr.push(_obj);
+                    }
+                    $('.img-item').first().remove();
+                    $('.img-item').first().remove();
+                    $('.img-item').first().remove();
+                    $('.img-list').css({
+                        'margin-left': '0'
+                    });
+                });
+            });
+            $(this).find('.prev').on('click', function(e) {
+                var i = 0,
+                    _obj = null,
+                    offersetleft = '';
+
+                e.preventDefault();
+                for (i = 0; i < 3; i++) {
+                    _obj = bannerarr.pop();
+
+                    $('.img-item').parent().prepend(_obj.outerHTML);
+                    bannerarr.unshift(_obj);
+                }
+                offersetleft = 3 * _width;
+                $('.img-item').last().remove();
+                $('.img-item').last().remove();
+                $('.img-item').last().remove();
+                $('.img-list').css({
+                    'margin-left': -offersetleft + 'px'
+                });
+                changePic(0, _width);
+            });
+            if (opts.autoplay === true) {
+                autoplayrecycle(opts.index, _size, true);
+            }
+        });
+
+    };
+
+}($));
+});
+define("js/common/accordion", ["jquery"], function(require, exports, module){
+var Slide = require("js/common/yohoui/YH.slide");
+var $ = require("jquery");
+
+var $contain = $('.slide-accordion');
+var $item = $contain.find('li');
+
+var $width = $item.width();
+var $spn = parseInt($('.home-page').width()) === 1150 ? (120 + 5) : (102 + 5);
+var slide;
+
+function switchfun(to) {
+    $item.each(function(index) {
+        $(this).css('zIndex', index);
+        if (index <= to) {
+            $(this).stop().animate({
+                left: index * $spn
+            }, 400);
+        } else {
+            $(this).stop().animate({
+                left: (to) * $spn + $width + $spn * (index - to - 1)
+            }, 400);
+        }
+    });
+}
+
+switchfun(0);
+
+slide = new Slide({
+    length: 5,
+    loop: false,
+    auto: false,
+    timeout: 2,
+    index: 0
+});
+
+slide.on('change', function(data) {
+    switchfun(data.to);
+});
+
+$item.mouseover(function() {
+    slide.go($(this).index());
+});
+
+slide.init();
+});
+define("js/common/yohoui/YH.slide", [], function(require, exports, module){
+var me = require("js/common/yohoui/YH.base");
+
+var slide = function(options) {
+    this.__lastTime = null;
+    this.__isStop = false;
+    options = me.extend(this.defaults, options);
+    slide.superclass.constructor.call(this, options);
+};
+
+me.inherit(slide, me.assembly);
+
+slide.prototype.oninit = function() {
+    var __self = this,
+        _o = __self.options;
+
+    if (_o.auto) {
+        __self.play();
+    }
+    __self.go(_o.index);
+    return this;
+};
+
+slide.prototype.go = function(_to, _from) {
+    var __self = this,
+        _o = __self.options;
+    var _direction,_loop,_current,_index,_originalto,o,key,_e;
+
+    if (__self.__lastTime) {
+        clearTimeout(__self.__lastTime);
+        __self.__lastTime = null;
+    }
+    _from = 'undefined' === typeof _from ? _o.index : _from;
+    _direction = _to === _from ? 0 : _to > _from ? 1 : -1;
+    _loop = _o.loop, _index = _o.length - 1, _originalto = _to;
+    if (_loop) {
+        if (_to > _index) {
+            _to = _to - _index - 1;
+        } else {
+            if (0 > _to) {
+                _to = _to + _index + 1;
+            } else {
+                _to = _to;
+            }
+        }
+    } else {
+        if (_to > _index) {
+            _to = _index;
+        } else {
+            if (0 > _to) {
+                _to = 0;
+            } else {
+                _to = _to;
+            }
+        }
+    }
+    _current = _o.index = _to;
+
+    o = {
+        from: _from,
+        to: _to,
+        originalto: _originalto,
+        direction: _direction
+    };
+
+    for (key in __self.registerEvent) {
+        if (__self.registerEvent[key].length > 0) {
+            for (_e in __self.registerEvent[key]) {
+                if (__self.registerEvent[key].hasOwnProperty(_e)) {
+                    __self.registerEvent[key][_e](o);
+                }
+            }
+        }
+    }
+
+    if (_current !== _index || _to) {
+        if (!__self.__isStop && _o.auto) {
+            __self.play();
+        }
+    } else {
+        if (__self.__lastTime) {
+            clearTimeout(__self.__lastTime);
+        }
+    }
+};
+
+slide.prototype.play = function() {
+    var __self = this,
+        _o = __self.options;
+
+    __self.__lastTime = setTimeout(function() {
+        __self.next();
+    }, 1000 * _o.timeout);
+    return this;
+};
+
+slide.prototype.next = function() {
+    var __self = this,
+    _o = __self.options;
+    var _from = _o.index;
+    var _to = _from + _o.step;
+
+    __self.go(_to, _from);
+};
+
+slide.prototype.prev = function() {
+    var __self = this,
+        _o = __self.options;
+    var _from = _o.index;
+    var _to = _from - _o.step;
+
+    __self.go(_to, _from);
+};
+
+slide.prototype.pause = function() {
+    var __self = this;
+
+    if (__self.__lastTime) {
+        clearTimeout(__self.__lastTime);
+    }
+    __self.__isStop = true;
+};
+
+slide.prototype.resume = function() {
+    var __self = this;
+
+    __self.__isStop = false;
+    __self.play();
+};
+
+slide.prototype.defaults = {
+    index: 0,
+    timeout: 5,
+    step: 1,
+    per: 1,
+    auto: false,
+    loop: false
+};
+
+module.exports = slide;
+});
+define("js/common/yohoui/YH.base", [], function(require, exports, module){
+var assembly;
+var classtype = {
+        '[object Array]': 'array',
+        '[object Boolean]': 'boolean',
+        '[object Date]': 'date',
+        '[object Function]': 'function',
+        '[object Number]': 'number',
+        '[object Object]': 'object',
+        '[object RegExp]': 'regexp',
+        '[object String]': 'string'
+    };
+var me = {
+    __Index: 0,
+    list: [],
+    get: function(id) {
+        return id === undefined ? this.list : this.list[id];
+    },
+    fn: function() { },
+    inherit: function(childClass, parentClass) {
+        var Constructor = me.fn;
+
+        Constructor.prototype = parentClass.prototype;
+        childClass.prototype = new Constructor();
+
+        childClass.prototype.constructor = childClass;
+        childClass.superclass = parentClass.prototype;
+
+        if (childClass.prototype.constructor === Object.prototype.constructor) {
+            childClass.prototype.constructor = parentClass;
+        }
+    },
+    extend: function(obj, newProperties) {
+        var key;
+
+        for (key in newProperties) {
+            if (newProperties.hasOwnProperty(key)) {
+                obj[key] = newProperties[key];
+            }
+        }
+        return obj;
+    },
+    copy: function(TargetClass, obj, newProperties) {
+        var value,o,key;
+
+        if (typeof obj !== 'object') {
+            return obj;
+        }
+        value = obj.valueOf();
+        if (obj !== value) {
+            return new obj.constructor(value);
+        }
+        if (obj instanceof obj.constructor && obj.constructor !== Object) {
+            if (TargetClass) {
+                o = new TargetClass();
+            } else {
+                o = me.clone(obj.constructor.prototype);
+            }
+
+            for (key in obj) {
+                if (TargetClass || obj.hasOwnProperty(key)) {
+                    o[key] = obj[key];
+                }
+            }
+        } else {
+            o = {};
+            for (key in obj) {
+                if (o.hasOwnProperty(key)) {
+                    o[key] = obj[key];
+                }
+            }
+        }
+        if (newProperties) {
+            for (key in newProperties) {
+                if (o.hasOwnProperty(key)) {
+                    o[key] = newProperties[key];
+                }
+            }
+        }
+
+        return o;
+    },
+    clone: function(obj) {
+        me.__cloneFunc.prototype = obj;
+        return new me.__cloneFunc();
+    },
+    __cloneFunc: function() {
+    },
+    delegate: function(func, scope) {
+        var args;
+
+        scope = scope || window;
+
+        if (arguments.length > 2) {
+            args = Array.prototype.slice.call(arguments, 2);
+
+            return function() {
+                return func.apply(scope, args);
+            };
+        } else {
+            return function() {
+                return func.call(scope);
+            };
+        }
+    },
+    dom: function($select, classCss) {
+        var wrap = $select;
+        var name, DOM = {
+            wrap: wrap
+        },
+            els = wrap[0].getElementsByTagName('*'),
+            elsLen = els.length;
+        var i;
+
+        for (i = 0; i < elsLen; i++) {
+            name = els[i].className;
+            if (name.indexOf(classCss) > -1) {
+                name = name.split(classCss)[1];
+            }
+            if (name) {
+                DOM[name] = wrap.find(els[i]);
+            }
+        }
+        return DOM;
+    },
+
+    //模板引擎
+    template: function() {
+        var result, key, reg,i;
+        var args = arguments;
+
+        if (args.length > 0) {
+            if (me.isString(args[0])) {
+                result = args[0];
+                if (args.length === 2 && me.isObject(args[1])) {
+                    for (key in args[1]) {
+                        if (args[1][key] !== undefined) {
+                            reg = new RegExp('({' + key + '})', 'g');
+
+                            result = result.replace(reg, args[1][key]);
+                        }
+                    }
+                } else {
+                    for (i = 1; i < args.length; i++) {
+                        if (args[i] !== undefined) {
+                            reg = new RegExp('({[' + (i - 1) + ']})', 'g');
+
+                            result = result.replace(reg, args[i]);
+                        }
+                    }
+                }
+            }
+        }
+        return result;
+    },
+    __type: function(obj) {
+        return obj == null ? String(obj) : classtype[Object.prototype.toString.call(obj)] || 'object';
+    },
+    isObject: function(obj) {
+        return this.isFunction(obj) || !!(obj && 'object' === typeof obj);
+    },
+    isFunction: function(obj) {
+        return this.__type(obj) === 'function';
+    },
+    isArray: Array.isArray || function(obj) {
+        return this.__type(obj) === 'array';
+    },
+    isNum: function(obj) {
+        return !isNaN(parseFloat(obj)) && isFinite(obj);
+    },
+    isString: function(obj) {
+        return this.__type(obj) === 'string';
+    },
+    each: function(data, callback, args) {
+        var i, len;
+
+        if (me.isArray(data)) {
+            for (i = 0, len = data.length; i < len; i++) {
+                if (callback.call(data[i], i, data[i], args) === false) {
+                    break;
+                }
+            }
+        } else {
+
+            for (i in data) {
+                if (callback.call(data[i], i, data[i], args) === false) {
+                    break;
+                }
+            }
+        }
+    },
+    funManager: {
+        __loadList: {},
+        __loadFun: function(item, callback, win) {
+
+            if (item.methord && me.isFunction(item.methord())) {
+                win = win || window;
+                item.methord()(item, function() {
+                    callback();
+                }, win);
+            }
+        },
+        load: function(fns, statechange, win, __index) {
+            __index = __index || 0;
+
+            if (fns[__index]) {
+                me.funManager.__loadFun(fns[__index], function() {
+                    me.funManager.load(fns, statechange, win, __index + 1);
+                }, win);
+            }
+            statechange(__index, win);
+        },
+        get: function(id) {
+            return this.__loadList[id];
+        }
+    },
+    log: function(msg) {
+        var console = window.console || {
+            log: function() { }
+        };
+
+        console.log(msg);
+    },
+    Event: {
+        mousewheel: function(e) {
+            var _eoe = e.originalEvent;
+            var _de = _eoe.detail ? _eoe.detail * -1 : _eoe.wheelDelta / 40;
+            var _direction = _de < 0 ? -1 : 1;
+
+            return {
+                direction: _direction,
+                unit: _de
+            };
+        },
+        __: function(_e, el, event, handle) {
+            var key;
+
+            for (key in _e) {
+                if (window[_e[key].validator]) {
+                    el[_e[key].validator](_e[key].prefix + event, handle, false);
+                    break;
+                }
+            }
+        },
+        add: function(el, event, handle) {
+            var _e = [
+                {
+                    validator: 'addEventListener',
+                    prefix: ''
+                },
+                {
+                    validator: 'attachEvent',
+                    prefix: 'on'
+                }
+                            ];
+
+            this.__(_e, el, event, handle);
+        },
+        remove: function(el, event, handle) {
+            var _e = [
+                {
+                    validator: 'removeEventListener',
+                    prefix: ''
+                },
+                {
+                    validator: 'detachEvent',
+                    prefix: 'on'
+                }
+                            ];
+
+            this.__(_e, el, event, handle);
+        }
+    },
+    getUid: function(_name) {
+        return me.template('me-{0}{1}-{2}', _name, new Date().getTime(), me.__Index++);
+    },
+    Browser: {
+        isTouch: function() {
+            var msGesture = window.navigator && window.navigator.msPointerEnabled && window.MSGesture;
+
+            return (('ontouchstart' in window) || msGesture || window.DocumentTouch) ? true : false;
+        },
+        Prefix: function() {
+            var i;
+
+            var props = ['perspectiveProperty', 'WebkitPerspective', 'MozPerspective', 'OPerspective', 'msPerspective'];
+            var obj = document.createElement('div');
+
+            for (i in props) {
+                if (obj.style[props[i]] !== undefined) {
+                    return me.template('-{0}-', props[i].replace('Perspective', '').toLowerCase());
+                }
+            }
+        },
+        parseURL: function(url) {
+            var a = document.createElement('a');
+            var ret,seg,len,i,s;
+
+            a.href = url;
+            return {
+                source: url,
+                protocol: a.protocol.replace(':', ''),
+                host: a.hostname,
+                port: a.port,
+                query: a.search,
+                params: (function() {
+                    ret = {},
+                    seg = a.search.replace(/^\?/, '').split('&'),
+                    len = seg.length, i = 0, s;
+
+                    for (; i < len; i++) {
+                        if (!seg[i]) {
+                            continue;
+                        }
+                        s = seg[i].split('=');
+                        ret[s[0]] = s[1];
+                    }
+                    return ret;
+                })(),
+                file: (a.pathname.match(/\/([^\/?#]+)$/i) || [null, ''])[1],
+                hash: a.hash.replace('#', ''),
+                path: a.pathname.replace(/^([^\/])/, '/$1'),
+                relative: (a.href.match(/tps?:\/\/[^\/]+(.+)/) || [null, ''])[1],
+                segments: a.pathname.replace(/^\//, '').split('/')
+            };
+        }
+    },
+    Array: {
+        indexOf: function(array, val) {
+            var i;
+
+            for (i = 0; i < array.length; i++) {
+                if (this[i] === val) {
+                    return i;
+                }
+            }
+            return -1;
+        },
+        remove: function(array, val) {
+            var index = this.indexOf(array, val);
+
+            if (index > -1) {
+                array.splice(index, 1);
+            }
+            return array;
+        }
+    }
+};
+
+assembly = function(options) {
+    this.initialized = false;
+    this.registerEvent = {
+        before: [],
+        change: [],
+        after: []
+    };
+    this.options = options;
+
+    this.init(options);
+};
+
+assembly.output = function() {
+    me.log(me.list);
+};
+assembly.prototype.oninit = me.fn;
+
+assembly.prototype.init = function(cfg) {
+    this.initialized = true;
+
+    // function _getClassName(_constructor, _constr) {
+    //     var _constr = _constr || "";
+    //     if (_constructor.superclass) {
+    //         var args = /(\w+)\.superclass/.exec(_constructor.arguments.callee);
+    //         if (args != null) {
+    //             _constr += args[1] + "-";
+    //             // return _getClassName(_constructor.superclass.constructor, _constr);
+    //         }
+    //     }
+    //     return _constr;
+    // }
+    this.__Uid = me.getUid('me');
+    this.oninit(cfg);
+    me.list[this.__Uid] = this;
+};
+assembly.prototype.destory = function() {
+    this.initialized = false;
+    delete me.list[this.__Uid];
+};
+assembly.prototype.getUid = function() {
+    return this.__Uid;
+};
+assembly.prototype.getOptions = function() {
+    return this.options;
+};
+assembly.prototype.config = function() {
+    if (arguments.length > 0) {
+        if (typeof (arguments[0]) === 'string') {
+            if (arguments.length > 1) {
+                this.options[arguments[0]] = arguments[1];
+            } else {
+                return this.options[name];
+            }
+        }
+    } else {
+        return this.options;
+    }
+};
+assembly.prototype.on = function(name, callback) {
+    var __self = this;
+    var _e = __self.registerEvent[name];
+
+    if (_e) {
+        _e.push(callback);
+    }
+    return _e;
+};
+assembly.prototype.off = function(name, callback) {
+    var __self = this;
+    var _e = __self.registerEvent[name];
+    var e = [];
+
+    me.each(_e, function(name, _callback) {
+
+        if (_callback === callback) {
+            e.push(name);
+        }
+    });
+
+    me.each(e.reverse(), function(name, _callback) {
+        _e.splice(_callback, 1);
+    });
+};
+me.assembly = assembly;
+
+module.exports = me;
+});
+define("js/common/new-arrivls", ["jquery","lazyload","handlebars","source-map"], function(require, exports, module){
+var $ = require("jquery"),
+        lazyload = require("lazyload");
+var Handlebars = require("handlebars");
+
+function InfiniteLoad(options) {
+    var defaults = {
+        index: 0,
+        isload: true,//是否正在加载
+        isrun: true,//判断是否执行
+        offset: {
+            height: null,
+            width: null
+        }
+    };
+
+    this.registerEvent = {
+        before: [],
+        change: [],
+        after: []
+    };
+
+    this.options = $.extend(true, {}, defaults, options);
+
+    return this;
+}
+
+InfiniteLoad.prototype.on = function(name, callback) {
+    var g = this;
+    var _e = g.registerEvent[name];
+
+    if (_e) {
+        _e.push(callback);
+    }
+    return _e;
+};
+
+InfiniteLoad.prototype.exect = function(key, params) {
+    var g = this;
+    var e;
+
+    if (g.registerEvent[key] && g.registerEvent[key].length > 0) {
+        for (e in g.registerEvent[key]) {
+            if (g.registerEvent[key].hasOwnProperty(e)) {
+                g.registerEvent[key][e](params);
+            }
+        }
+    }
+};
+
+InfiniteLoad.prototype.init = function() {
+    var g = this;
+    var p = this.options;
+
+    function __loadMore() {
+
+        if (p.isrun && p.isload && g.__directionCalculation()) {
+            p.isload = false;
+            p.index++;
+            g.exect('after', p);
+        }
+
+        g.exect('change', p);
+    }
+
+    g.exect('before', p);
+
+    $(window).scroll(__loadMore);
+};
+
+InfiniteLoad.prototype.emit = function() {
+    var p = this.options;
+
+    p.isload = true;
+};
+
+InfiniteLoad.prototype.stop = function() {
+    var p = this.options;
+
+    p.isrun = false;
+    p.isload = false;
+};
+
+InfiniteLoad.prototype.__directionCalculation = function() {
+    var p = this.options;
+
+    if (p.offset.height && p.offset.height() > 0 && $(window).scrollTop() + $(window).height() >= p.offset.height()) {
+        return true;
+    }
+    return false;
+};
+
+module.exports = function(data) {
+    var $container = $('#newarrivals .goods-container');
+    var $load = $('.loading a');
+    var load = new InfiniteLoad({
+        index: 1,
+        isload: false,
+        offset: {
+            height: function() {
+                return parseFloat($container.offset().top) + parseFloat($container.height()) - 200;
+            }
+        }
+    });
+    var loadAjax;
+    var url = data.url,
+        count = data.count,
+        rows = data.rows;
+
+    data.pageIndex = 0;
+
+    delete data.url;
+    delete data.count;
+    delete data.rows;
+
+    loadAjax = function(url, data, count) {
+
+        var options = {
+            type: 'POST',
+            url: url,
+            success: function(result) {
+                var code = result.code;
+                var myTemplate,len,pos;
+
+                if (code === 200) {
+                    len = result.goods.length % count;
+                    pos = result.goods.length - len - 1;
+
+                    result.goods.splice(pos, len);
+
+                    myTemplate = Handlebars.compile(load.tpl);
+
+                    $container.append(myTemplate(result.goods));
+                    data.pageIndex = data.pageIndex + result.goods.length;
+
+                    //懒加载插件貌似有点问题,图片先直接展示
+                    lazyload($container.find('img.lazy'));
+
+                    load.emit();
+                } else {
+
+                    load.stop();
+                    $load.html('查看更多');
+                }
+            },
+            error: function() {
+
+                load.stop();
+                $load.html('网络断开连接了~');
+            }
+        };
+
+        options.data = data;
+        $.ajax(options);
+    };
+
+
+    load.on('after', function(p) {
+
+        data.pageCount = count * rows[1];
+
+        loadAjax(url, data);
+    });
+
+    load.on('before', function(p) {
+
+
+        load.tpl = '{{#each this}}';
+        load.tpl += '<div class="good-info imgopacity" data-skn="{{skn}}">';
+        load.tpl += '    <div class="tag-container clearfix">';
+        load.tpl += '        {{# tags}}';
+        load.tpl += '            {{# isNew}}';
+        load.tpl += '                <span class="good-tag new-tag">NEW</span>';
+        load.tpl += '            {{/ isNew}}';
+        load.tpl += '            {{# isReNew}}';
+        load.tpl += '                <span class="good-tag renew-tag">再到着</span>';
+        load.tpl += '            {{/ isReNew}}';
+        load.tpl += '            {{# isSale}}';
+        load.tpl += '                <span class="good-tag sale-tag">SALE</span>';
+        load.tpl += '            {{/ isSale}}';
+        load.tpl += '            {{# isNewFestival}}';
+        load.tpl += '                <span class="good-tag new-festival-tag">新品节</span>';
+        load.tpl += '            {{/ isNewFestival}}';
+        load.tpl += '            {{# isLimit}}';
+        load.tpl += '                <span class="good-tag limit-tag">限量商品</span>';
+        load.tpl += '            {{/ isLimit}}';
+        load.tpl += '            {{# isYearEndPromotion}}';
+        load.tpl += '                <span class="good-tag yep-tag">年终大促</span>';
+        load.tpl += '            {{/ isYearEndPromotion}}';
+        load.tpl += '            {{# isYearMidPromotion}}';
+        load.tpl += '                <span class="good-tag ymp-tag">年中热促</span>';
+        load.tpl += '            {{/ isYearMidPromotion}}';
+        load.tpl += '        {{/ tags}}';
+        load.tpl += '    </div>';
+        load.tpl += '    <div class="good-detail-img">';
+        load.tpl += '        <a class="good-thumb" href="{{url}}" target= "_blank">';
+        load.tpl += '            <img class="lazy" data-original="{{thumb}}">';
+        load.tpl += '        </a>';
+        load.tpl += '        {{# isFew}}';
+        load.tpl += '            <p class="few-tag">即将售罄</p>';
+        load.tpl += '        {{/ isFew}}';
+
+        load.tpl += '        {{#if showColBtn}}';
+        load.tpl += '            <span class="col-btn iconfont{{#if coled}} coled{{/if}}">&#xe616;</span>';
+        load.tpl += '        {{/if}}';
+        load.tpl += '    </div>';
+        load.tpl += '    <div class="good-detail-text">';
+        load.tpl += '        <a href="{{url}}" target= "_blank">{{name}}</a>';
+        load.tpl += '        <p class="price">';
+        load.tpl += '            <span class="sale-price{{#unless marketPrice}}prime-cost{{/unless}}">';
+        load.tpl += '                ¥{{salePrice}}';
+        load.tpl += '            </span>';
+        load.tpl += '            {{# marketPrice}}';
+        load.tpl += '                <span class="market-price">¥{{.}}</span>';
+        load.tpl += '            {{/ marketPrice}}';
+        load.tpl += '        </p>';
+        load.tpl += '    </div>';
+        load.tpl += '</div>';
+        load.tpl += '{{/each}}';
+
+
+        data.pageCount = count * rows[0];
+
+        loadAjax(url, data, data.count);
+
+        //load.emit();
+    });
+
+    load.init();
+
+};
+});
+define("js/brand/index", ["jquery","lazyload","handlebars","source-map","dot"], function(require, exports, module){
+/**
+ * 首页
+ * @author: xuqi<qi.xu@yoho.cn>
+ * @date: 2015/11/23
+ */
+
+var $ = require("jquery"),
+    lazyLoad = require("lazyload");
+
+
+require("js/common/slider");
+require("js/brand/brands");
+
+lazyLoad($('img.lazy'));
+$('.slide-container').slider({
+    orient: true
+});
+});
+define("js/brand/brands", ["jquery","handlebars","source-map","dot"], function(require, exports, module){
+var $ = require("jquery"),
+    Handlebars = require("handlebars"),
+    dot = require("dot");
+
+var $tabs = $('.brands-tabs');
+var $list = $('.brands-list');
+var $gory = $('.brands-category');
+var $news = $('.news-txt ul');
+var $clearfix = $list.find('dl.clearfix');
+var $brand = $list.find('li>a');
+var $category = $gory.find('a');
+var $tab = $tabs.find('li>a');
+var $arr = $tabs.find('.hoverarr');
+var $thisTab;
+
+var categoryHeight = $category.height();
+var categoryTop = $category.offset() ? $category.offset().top : 0;
+var newsHeight = $news.height();
+var newsTop = $news.offset() ? $news.offset().top : 0;
+var timeout, _id;
+
+
+//用于临时存储数据
+var tempdata = {};
+
+var templete = '<div class="brands-dialog">';
+
+templete += '    <div class="brands-layer">';
+templete += '        <div class="layer-content">';
+templete += '            <div class="title">{{title}}</div>';
+templete += '            <div class="clearfix desc">';
+templete += '                <img src="{{icon}}">';
+templete += '                <p class="right">{{content}}</p>';
+templete += '            </div> ';
+templete += '            <div class="featured">';
+templete += '                <p>{{subtitle}}</p> ';
+templete += '                <div class="clearfix"> ';
+templete += '                    {{#each imgs}}';
+templete += '                    <img src="{{src}}">';
+templete += '                    {{/each}}';
+templete += '                </div>';
+templete += '            </div>';
+templete += '        </div>';
+templete += '    </div>';
+templete += '</div>';
+
+dot($('.brand-desc'));
+
+$.easing.easeOutQuint = function(x, t, b, c, d) {
+    return c * ((t = t / d - 1) * t * t * t * t + 1) + b;
+};
+
+function getQueryString(name) {
+    var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)');
+    var r = window.location.search.substr(1).match(reg);
+
+    if (r != null) {
+        return window.unescape(r[2]);
+    }
+    return null;
+}
+
+// 格式化资讯NEWS标题数量
+if ($news.length) {
+    $news.find('li').each(function() {
+        var $dom = $(this);
+        var domHeight = $dom.offset().top - newsTop + $dom.height();
+
+        if (domHeight > newsHeight) {
+            $dom.hide();
+        }
+    });
+}
+
+//头部图片TAB切换展示
+$tab.eq(0).parent('li').find('.brands-content').css('z-index', '1');
+
+_id = getQueryString('id') ? getQueryString('id') : 0;
+
+// 设置对应TAB选中
+$thisTab = $tab.eq(_id);
+$thisTab.find('.g-mask').addClass('g-mask-on');
+
+if (_id && $thisTab.length) {
+    $arr.css({
+        left: parseFloat($thisTab.offset().left) - parseFloat($tabs.offset().left)
+    });
+}
+$tab.hover(function() {
+    var $this = $(this);
+
+    clearTimeout(timeout);
+    timeout = setTimeout(function() {
+        var targetLeft = parseFloat($this.offset().left) - parseFloat($tabs.offset().left);
+
+        $arr.animate({
+            left: targetLeft
+        }, 200, 'easeOutQuint');
+    }, 50);
+    $tabs.find('.brands-content').removeAttr('style');
+    $this.parent('li').find('.brands-content').css('z-index', '1');
+
+}, function() {
+    clearTimeout(timeout);
+});
+
+//品牌类别滚动事件
+$(window).scroll(function() {
+    if ($(this).scrollTop() >= categoryTop) {
+        $gory.addClass('category-fix');
+    } else {
+        $gory.removeClass('category-fix');
+    }
+});
+
+//点击字母,页面滚动到相关区域
+$category.click(function() {
+    var name = $(this).attr('href').split('#')[1];
+    var targetTop = $list.find('[name=' + name + ']').offset().top - categoryHeight;
+
+    if (!$gory.hasClass('category-fix')) {
+        targetTop -= categoryHeight;
+    }
+
+    $('html,body').animate({
+        scrollTop: targetTop
+    }, 200);
+    return false;
+});
+
+
+//浮层代码
+function bindTemplete($select, data, templete) {
+    var $this = $select;
+    var offset = {
+        width: $this.width(),
+        left: $this.offset().left,
+        right: parseFloat($(window).width()) - parseFloat($this.offset().left) - parseFloat($this.width())
+    };
+
+    var $parent = $this.parent('li');
+    var myTemplate;
+
+    $list.find('.brands-dialog').remove();
+    myTemplate = Handlebars.compile(templete);
+    $parent.append(myTemplate(data));
+    dot($parent.find('.right'));
+
+    if (offset.right - 350 < 0) {
+        $parent.find('.brands-layer')
+                .addClass('brands-layer-right').css('left', -330 - offset.width);
+    }
+}
+
+//鼠标悬浮品牌,请求数据,并且展示
+function bindHoverEvent() {
+    $brand.unbind('mouseenter').unbind('mouseleave').hover(function() {
+        var $this = $(this);
+        var key = $this.attr('data-key');
+
+        var options = {
+            url: '/brands/brandinfo',
+            type: 'get',
+            data: {
+                brandId: key
+            },
+            success: function(_data) {
+
+                if (_data.code === 200 && _data.brand) {
+                    if (!tempdata.hasOwnProperty(_data.brand.key)) {
+                        tempdata[_data.brand.key] = _data.brand;
+                    }
+                    bindTemplete($this, tempdata[_data.brand.key], templete);
+                }
+            }
+        };
+
+        clearTimeout(timeout);
+        timeout = setTimeout(function() {
+            if (!tempdata.hasOwnProperty(key)) {
+                $.ajax(options);
+            } else {
+                bindTemplete($this, tempdata[key], templete);
+            }
+        }, 200);
+    }, function() {
+        clearTimeout(timeout);
+        $list.find('.brands-dialog').remove();
+    });
+}
+
+if ($clearfix.length < 26) {
+    $.ajax({
+        url: '/brands/brandList',
+        type: 'POST',
+        data: {
+            start: $clearfix.length ? ($clearfix.length + 1) : 1
+        },
+        success: function(_data) {
+            if (_data) {
+                $list.append(_data);
+                $brand = $list.find('li>a');
+                bindHoverEvent();
+            }
+        }
+    });
+}
+
+bindHoverEvent();
+});
+define("js/passport/entry", ["jquery","jquery.placeholder"], function(require, exports, module){
+/*
+ * 密码中心打包入口文件
+ */
+
+require("js/passport/reg");
+require("js/passport/back");
+require("js/passport/login");
+require("js/passport/reset");
+require("js/passport/vertification");
+require("js/passport/thirdlogin");
+require("js/passport/third-pwd");
+require("js/passport/relate");
+});
+define("js/passport/reg", ["jquery","jquery.placeholder"], function(require, exports, module){
+/*
+ * @description 注册页js
+ * @time 2015/12/14
+ */
+
+var $ = require("jquery"),
+    regValidate = require("js/passport/mail-phone-regx"),
+    computeComplex = require("js/passport/pwd-strength");
+
+var $registerPage = $('.register-page'),
+    $pwdTips = $('#pwd-tips'),
+    $pwdTip1 = $pwdTips.find('#pwd-tip1'),
+    $errTip = $('#err-tip'),
+    $registerBtn = $('#register-btn'),
+    $countDown = $('#count-down'),
+    $successBtn = $('.success-btn'),
+    countDown = 5,
+    clearT;
+
+var $sendCaptcha = $('#send-captcha'),
+    caCount = 4,
+    validateResult = [];
+
+var $pn = $('#phone-num'),
+    $mc = $('#msg-captcha'),
+    $pwd = $('#pwd'),
+    $repwd = $('#repwd'),
+    $ca = $('#captcha'),
+    timeResidue = 0;
+
+// 密码强度验证
+var $pwdIntensity = $('.pwd-intensity'),
+    $pwdParent = $pwdIntensity.closest('.pwd-intensity-container');
+
+//signup验证
+var $region = $('#country-code'),
+    $regionSelect = $('#region'),
+    isPwd = false,
+    pwdVal;
+
+var pwdReg = regValidate.pwdValidateRegx;
+
+var $curErrContainer;
+
+var oldPhone = ''; //如果手机号改变时刷新验证码
+
+require("jquery.placeholder");
+
+setTimeout(function() {
+    $pn.val('');
+    $mc.val('');
+    $pwd.val('');
+    $repwd.val('');
+    $ca.val('');
+}, 0);
+
+//验证码位数
+$ca.attr('maxlength', caCount);
+
+//密码规则提示
+$pwd.focus(function(event) {
+    $pwdTips.removeClass('hide');
+    isPwd = true;
+    pwdVal = $(this).val();
+}).blur(function() {
+    $pwdTips.addClass('hide');
+    isPwd = false;
+});
+
+
+//IE8 placeholder
+$('[placeholder]').placeholder();
+
+// 存储校验信息
+validateResult = [
+    {
+        id: 'phone-num',
+        message: '', //错误信息
+        status: false //当前的状态
+    },
+    {
+        id: 'captcha',
+        message: '',
+        status: false
+    },
+    {
+        id: 'msg-captcha',
+        message: '',
+        status: false
+    },
+    {
+        id: 'pwd',
+        message: '',
+        status: false
+    },
+    {
+        id: 'repwd',
+        message: '',
+        status: false
+    }
+];
+
+//刷新图形验证码
+function refreshPic() {
+    var time = new Date(),
+        $captchaImg = $('.captcha-img'),
+        captchaImgSrc = $captchaImg.attr('src').split('?')[0];
+
+    $captchaImg.attr('src', captchaImgSrc + '?t=' + time.getTime());
+}
+
+//手机号ajax校验
+function phoneAjaxFn(page, callback) {
+    var url,
+        data;
+
+    if (page === 'reg') {
+        url = '/passport/register/checkmobile';
+        data = {
+            mobile: $pn.val(),
+            area: $region.text().split('+')[1]
+        };
+    } else if (page === 'third') {
+        url = '/passport/autouserinfo/bindCheck';
+        data = {
+            mobile: $pn.val(),
+            area: $region.text().split('+')[1],
+            openId: $('#open-id').val(),
+            sourceType: $('#source-type').val()
+        };
+    }
+
+    validateResult[0].message = 'err';
+    validateResult[0].status = false;
+
+    $.ajax({
+        url: url,
+        type: 'POST',
+        data: data
+    }).then(function(data) {
+        if (!data) {
+            return;
+        }
+
+        switch (data.code) {
+            case 200:
+
+                if ($pn.val() !== oldPhone && oldPhone !== '') {
+
+                    // 如果手机号发生改变则刷新验证码并且更新状态
+                    refreshPic();
+                    $sendCaptcha.addClass('disable').attr('disabled', 'disabled');
+                    validateResult[1].message = '图形验证码错误';
+                    validateResult[1].status = false;
+                }
+
+                oldPhone = $pn.val();
+
+                validateResult[0].message = '';
+                validateResult[0].status = true;
+                break;
+            case 400:
+                refreshPic();
+                validateResult[0].message = data.message;
+                validateResult[0].status = false;
+                break;
+        }
+
+        callback();
+    });
+}
+
+//图形验证码ajax校验
+function picCaptchaAjaxFn(page, callback) {
+    var url;
+
+    if (page === 'reg') {
+        url = '/passport/register/piccaptcha';
+    } else if (page === 'third') {
+        url = '/passport/autouserinfo/checkPicCode';
+    }
+    $.ajax({
+        type: 'POST',
+        url: url,
+        data: {
+            verifyCode: $ca.val()
+
+            //mobile: $pn.val(),
+            //area: $region.text().split('+')[1]
+        }
+    }).then(function(data) {
+        if (!data) {
+            return;
+        }
+
+        switch (data.code) {
+            case 200:
+                validateResult[1].message = '';
+                validateResult[1].status = true;
+                break;
+            case 400:
+                refreshPic();
+                validateResult[1].message = '图形验证码错误';
+                validateResult[1].status = false;
+                break;
+        }
+        callback();
+    });
+}
+
+//短信验证码ajax校验
+function msgCaptchaAjaxFn(page, callback) {
+    var url;
+
+    if (page === 'reg') {
+        url = '/passport/register/msgcaptcha';
+    } else if (page === 'third') {
+        url = '/passport/autouserinfo/checkBindMsg';
+    }
+    $.ajax({
+        type: 'POST',
+        url: url,
+        data: {
+            code: $mc.val(),
+            mobile: $pn.val(),
+            area: $region.text().split('+')[1]
+        }
+    }).then(function(data) {
+        if (!data) {
+            return;
+        }
+
+        switch (data.code) {
+            case 200:
+                validateResult[2].message = '';
+                validateResult[2].status = true;
+                break;
+            case 400:
+                validateResult[2].message = '短信验证码错误';
+                validateResult[2].status = false;
+                break;
+        }
+
+        callback();
+    });
+}
+
+// 验证
+function validateRule(page, $element, callback) {
+
+    var val = $.trim($element.val()),
+        regionCode;
+
+
+
+    // 根据需求//redmine.yoho.cn/issues/3117改成上边的正则
+    // 对应的错误提示语也改了,感觉要不了多久就会改回来
+    // pwdReg = /^([a-zA-Z0-9\-\+_!@\#$%\^&\*\(\)\:\;\.=\[\]\\\',\?]){6,20}$/gi;
+
+    //手机号校验
+    if ($element.hasClass('phone-num')) {
+
+        regionCode = $region.text();
+
+
+        if (val === '') {
+            validateResult[0].message = '请输入手机号码';
+            validateResult[0].status = false;
+            callback();
+
+        } else {
+            if (!/^[0-9]+$/.test(val) ||
+                (regionCode === '+86' && !regValidate.phoneRegx[regionCode].test(val))) {
+                validateResult[0].message = '手机号码格式不正确,请重新输入';
+                validateResult[0].status = false;
+                callback();
+            } else {
+                phoneAjaxFn(page, callback);
+            }
+        }
+
+    //图形验证码校验
+    } else if ($element.hasClass('captcha')) {
+        if (val === '') {
+            validateResult[1].message = '请输入图形验证码';
+            validateResult[1].status = false;
+            callback();
+
+        } else if (val.length <= 3) {
+            validateResult[1].message = '图形验证码为4位';
+            validateResult[1].status = false;
+            callback();
+
+        } else {
+
+            // 并且手机号正确
+            if (validateResult[0].status) {
+                picCaptchaAjaxFn(page, callback);
+            } else {
+                validateResult[1].message = '图形验证码错误';
+                validateResult[1].status = false;
+                callback();
+            }
+
+        }
+
+    //短信验证码校验
+    } else if ($element.hasClass('msg-captcha')) {
+
+        if (val === '') {
+            validateResult[2].message = '请输入短信验证码';
+            validateResult[2].status = false;
+            callback();
+
+        } else if (val.length <= 3) {
+            validateResult[2].message = '短信验证码错误';
+            validateResult[2].status = false;
+            callback();
+
+        } else {
+
+            // 并且图形验证码正确
+            if (validateResult[1].status) {
+                msgCaptchaAjaxFn(page, callback);
+            } else {
+                validateResult[2].message = '短信验证码错误';
+                validateResult[2].status = false;
+                callback();
+            }
+        }
+
+    //密码校验
+    } else if ($element.hasClass('pwd')) {
+        if (val === '') {
+            validateResult[3].message = '请输入密码';
+            validateResult[3].status = false;
+
+        } else if (val.length < 6 || val.length > 20) {
+            validateResult[3].message = '密码只支持6-20位字符';
+            validateResult[3].status = false;
+
+        } else if (!pwdReg.test($element.val())) {
+            validateResult[3].message = '密码须字母和数字组合';
+            validateResult[3].status = false;
+
+        } else {
+            validateResult[3].message = '';
+            validateResult[3].status = true;
+        }
+        callback();
+
+    //二次密码校验
+    } else if ($element.hasClass('repwd')) {
+        if (val === '') {
+            validateResult[4].message = '请输入密码确认';
+            validateResult[4].status = false;
+
+        } else if ($pwd.val() !== val) {
+            validateResult[4].message = '与密码不一致,请重新输入';
+            validateResult[4].status = false;
+
+        } else {
+            validateResult[4].message = '';
+            validateResult[4].status = true;
+
+        }
+
+        callback();
+    }
+}
+
+function posErrTip() {
+    var tipPos = $curErrContainer.offset();
+
+    return $errTip.css({
+        top: tipPos.top - 40,
+        left: tipPos.left
+    });
+}
+
+//显示提示信息
+function showErrTip() {
+
+    var show = false,
+        i,
+        validateResultLen = validateResult.length;
+
+    for (i = 0; i < validateResultLen; i++) {
+        if (!show) {
+
+            //不可以通过status判断
+            if (!!validateResult[i].message && validateResult[i].message !== 'err') {
+
+                //显示错误提示
+                $errTip.find('span').text(validateResult[i].message);
+                $curErrContainer = $('#' + validateResult[i].id);
+                posErrTip().removeClass('hide');
+
+                show = true; //停止判断
+            } else {
+                $errTip.addClass('hide');
+            }
+        }
+    }
+}
+
+//显示红色边框
+function showBorder() {
+
+    var $errInput,
+        i,
+        validateResultLen = validateResult.length;
+
+    for (i = 0; i < validateResultLen; i++) {
+        if (!!validateResult[i].message) {
+
+            //显示红色边框
+            $errInput = $('#' + validateResult[i].id);
+            $errInput.addClass('error');
+
+        } else {
+
+            //去掉红色边框
+            $errInput = $('#' + validateResult[i].id);
+            $errInput.removeClass('error');
+        }
+    }
+}
+
+// 密码强度验证
+function pwdFn($obj) {
+    var pwd = $obj.val(),
+        pwdStrength = computeComplex(pwd),
+        level = 0;
+
+    if (pwdStrength === 0) {
+        level = 0;
+    } else if (pwdStrength <= 10) {
+        level = 1;
+    } else if (pwdStrength <= 20) {
+        level = 2;
+    } else {
+        level = 3;
+    }
+
+    switch (level) {
+        case 0:
+            $pwdParent.removeClass('red yellow green');
+            $pwdIntensity.removeClass('color');
+            break;
+        case 1:
+            $pwdParent.addClass('red').removeClass('yellow green');
+            $pwdIntensity.filter('.low').addClass('color');
+            $pwdIntensity.filter('.mid,.high').removeClass('color');
+            break;
+        case 2:
+            $pwdParent.addClass('yellow').removeClass('red green');
+            $pwdIntensity.filter('.low,.mid').addClass('color');
+            $pwdIntensity.filter('.high').removeClass('color');
+            break;
+        case 3:
+            $pwdParent.addClass('green').removeClass('yellow red');
+            $pwdIntensity.addClass('color');
+            break;
+    }
+
+    //提示框
+    if (pwd === '') {
+        $pwdTip1.removeClass('red yes no').addClass('default');
+    } else if (pwd.length < 6 || pwd.length > 20) {
+        $pwdTip1.removeClass('default yes').addClass('no red');
+    } else {
+        $pwdTip1.removeClass('default no red').addClass('yes');
+    }
+}
+
+//重新定位错误提示
+$(window).resize(function() {
+    if ($errTip.hasClass('hide')) {
+        return;
+    }
+
+    posErrTip();
+});
+
+// 失去焦点时开始校验
+// Tips: 不可以在获得焦点的时候验证,获得焦点和失去焦点的间隔太小,如果中间存在ajax校验的话会出现问题
+// ( ▼-▼ )注册页和信息完善页面接口不同
+exports.init = function(page) {
+
+    $('#agree-terms').click(function() {
+
+        var $this = $(this),
+            i,
+            passI = 0;
+
+        if (!!$this.attr('notchecked')) {
+
+            $this.removeAttr('notchecked');
+
+            //勾选
+            for (i = 0; i < validateResult.length; i++) {
+                if (validateResult[i].status) {
+                    passI++;
+                }
+            }
+            if (passI === 4) {
+                $registerBtn.removeClass('disable').removeAttr('disabled');
+            }
+        } else {
+
+            //取消勾选
+            $registerBtn.addClass('disable').attr('disabled', 'disabled');
+            $this.attr('notchecked', 'notchecked');
+        }
+    });
+
+    // 按回车键提交
+    $registerPage.on('keydown', function(e) {
+        var key = e.which;
+
+        if (key === 13) {
+            $registerBtn.click();
+        }
+    });
+
+    $registerPage.find('.va').keyup(function() {
+
+        var j,
+            statusLen = 0,
+            vLen = validateResult.length,
+            $that = $(this);
+
+        validateRule(page, $(this), function() {
+            showErrTip(); // 显示错误提示
+            showBorder(); // 显示红色边框
+
+            // 如果validateResult中有4个status为true表示验证通过
+            for (j = 0; j < vLen; j++) {
+
+                if (validateResult[j].status) {
+
+                    statusLen++;
+                }
+
+            }
+
+            if (statusLen === 4 && !$('#agree-terms').attr('notchecked')) {
+                $registerBtn.removeClass('disable').removeAttr('disabled');
+            } else {
+                $registerBtn.addClass('disable').attr('disabled', 'disabled');
+            }
+
+            // 图形验证通过时,发送短信按钮可点击
+            if (validateResult[1].status && timeResidue <= 0) {
+                $sendCaptcha.removeClass('disable').removeAttr('disabled');
+            } else {
+                $sendCaptcha.addClass('disable').attr('disabled', 'disabled');
+            }
+
+            //图形验证通过时,发送短信按钮可点击 end
+
+        });
+
+        // 如果是密码则校验强度
+        if (($that).hasClass('pwd')) {
+            pwdFn($that);
+        }
+
+    }).blur(function() {
+
+        /*validateRule($(this), function() {
+            showErrTip();
+            showBorder(); // 显示红色边框
+        });*/
+    });
+
+    $regionSelect.change(function() {
+
+        $region.text($('#region').val());
+
+        validateRule(page, $pn, showErrTip); //验证
+    });
+
+    // 点击发送验证码
+    $sendCaptcha.click(function() {
+        var t,
+            url;
+
+        if ($(this).hasClass('disable')) {
+            return;
+        }
+
+        timeResidue = 60;
+
+        $('#msg-tip').removeClass('hide');
+
+        $sendCaptcha.addClass('disable').attr('disabled', 'disabled');
+        $sendCaptcha.val('60秒可重新发送');
+
+        t = setInterval(function() {
+            if (timeResidue <= 0) {
+                $sendCaptcha.removeClass('disable').removeAttr('disabled').val('获取短信验证码');
+                clearInterval(t);
+                return;
+            }
+            $sendCaptcha.val(timeResidue-- + '秒可重新发送');
+        }, 1000);
+
+        if (page === 'reg') {
+            url = '/passport/register/sendBindMsg';
+        } else if (page === 'third') {
+            url = '/passport/autouserinfo/sendBindMsg';
+        }
+
+        //todo ajax 发送验证码
+        $.ajax({
+            type: 'POST',
+            url: url,
+            data: {
+                area: $region.text().split('+')[1],
+                mobile: $pn.val(),
+                verifyCode: $ca.val()
+            }
+        });
+    });
+
+    // 防止粘贴密码
+    if ($('.success-box').length <= 0) {
+        $pwd[0].onpaste = function() {
+            return false;
+        };
+    }
+
+    //ajax表单提交
+    $registerBtn.click(function() {
+        var url;
+
+        if (page === 'reg') {
+            url = '/passport/register/mobileregister';
+        } else if (page === 'third') {
+            url = '/passport/autouserinfo/bindMobile';
+        }
+
+        if ($(this).hasClass('disable')) {
+            return;
+        } else {
+
+            //ajax提交
+            $.ajax({
+                type: 'POST',
+                url: url,
+                data: {
+                    area: $region.text().split('+')[1],
+                    mobile: $pn.val(),
+                    verifyCode: $ca.val(),
+                    code: $mc.val(),
+                    password: $pwd.val()
+                }
+            }).then(function(data) {
+
+                var time = 0,
+                    t,
+                    refer;
+
+                if (data.code === 200) {
+
+                    refer = data.data.href;
+
+                    t = setTimeout(function() {
+                        time++;
+                    }, 1000);
+
+                    $.ajax({
+                        type: 'GET',
+                        url: data.data.session
+                    }).then(function(data) {
+
+                        if (data.code === 200 && t < 3) {
+                            clearInterval(t);
+                            location.href = refer;
+                        }
+                    });
+
+                    if (t >= 3) {
+                        clearInterval(t);
+                        location.href = refer;
+                    }
+                } else {
+
+                    //todo
+                    console.log('网络超时~');
+                }
+
+            });
+        }
+    });
+
+    $('.change-captcha').click(function() {
+        refreshPic();
+    });
+
+    //注册成功页面5秒后跳转
+    if ($('.success-box').length > 0) {
+        clearT = setInterval(function() {
+
+            if (countDown === 0) {
+
+                window.location.href = $successBtn.attr('data-url');
+
+                clearInterval(clearT);
+            }
+            $countDown.text(countDown--);
+        }, 1000);
+    }
+};
+});
+define("js/passport/mail-phone-regx", [], function(require, exports, module){
+/**
+ * 国家区号Map手机号码以及邮箱验证正则
+ * @author: xuqi<qi.xu@yoho.cn>
+ * @date: 2015/12/11
+ */
+
+var countryPhoneRegx = {
+    '+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]{1}[0-9]{8}$/,
+    '+81': /^0[9|8|7][0-9]{9}$/,
+    '+61': /^[0-9]{11}$/
+};
+
+var emailRegx = /^[.\-_a-zA-Z0-9]+@[\-_a-zA-Z0-9]+\.[a-zA-Z0-9]/;
+
+var pwdValidateRegx = /^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{6,20}$/;
+
+exports.phoneRegx = countryPhoneRegx;
+
+exports.emailRegx = emailRegx;
+
+exports.pwdValidateRegx = pwdValidateRegx;
+});
+define("js/passport/pwd-strength", [], function(require, exports, module){
+/*
+ * 计算密码复杂度
+ */
+
+function gettype(str, i) {
+    if (str.charCodeAt(i) >= 48 && str.charCodeAt(i) <= 57) {
+        return 1;
+    } else if (str.charCodeAt(i) >= 97 && str.charCodeAt(i) <= 122) {
+        return 2;
+    } else if (str.charCodeAt(i) >= 65 && str.charCodeAt(i) <= 90) {
+        return 3;
+    }
+
+    return 4;
+}
+
+function isregular(cur, pre, type) {
+    var curCode = cur.charCodeAt(0);
+    var preCode = pre.charCodeAt(0);
+
+    if (curCode - preCode === 0) {
+        return true;
+    }
+
+    if (type !== 4 && (curCode - preCode === 1 || curCode - preCode === -1)) {
+        return true;
+    }
+
+    return false;
+}
+
+function getcomplex(curType, preType) {
+    if (preType === 0 || curType === preType) {
+        return 0;
+    } else if (curType === 4 || preType === 4) {
+        return 2;
+    } else {
+        return 1;
+    }
+}
+
+function computeComplex(password) {
+    var complex = 0,
+        length = password.length,
+        pre = '',
+        preType = 0,
+        i = 0,
+        cur,
+        curType;
+
+
+    for (i = 0; i < length; i++) {
+        cur = password.charAt(i);
+        curType = gettype(password, i);
+
+        if (preType !== curType || !isregular(cur, pre, curType)) {
+            complex += curType + getcomplex(curType, preType);
+        }
+
+        pre = cur;
+        preType = curType;
+    }
+
+    return complex;
+}
+
+module.exports = computeComplex;
+});
+define("js/passport/back", ["jquery","jquery.placeholder"], function(require, exports, module){
+/**
+ * 找回密码
+ * @author: xuqi<qi.xu@yoho.cn>
+ * @date: 2015/12/14
+ */
+
+var $ = require("jquery"),
+    regx = require("js/passport/mail-phone-regx"),
+    emailReg = regx.emailRegx,
+    phoneRegx = regx.phoneRegx;
+
+var emailAc = require("js/passport/ac-email"); //邮箱自动完成
+
+var $cr = $('#country-code-hide'),
+    $phoneNum = $('#phone-num'),
+    $ca = $('#captcha'),
+    $ccList = $('#country-code-list'),
+    $cc = $('#country-code'),
+    $btn = $('#find-btn'),
+    $accErr = $('#account-err'),
+    $caErr = $('#captcha-err'),
+    caCount = 4, //验证码位数
+    hasPh = false,
+    hasCa = false;
+
+
+require("jquery.placeholder");
+
+function imgcode() {
+    var time = new Date(),
+        $captchaImg = $('#captcha-img'),
+        captchaImgSrc = $captchaImg.attr('src').split('?')[0];
+
+    $('#captcha-img').attr('src', captchaImgSrc + '?t=' + time.getTime());
+}
+
+function enableBtn() {
+    if (hasPh && hasCa) {
+        $btn.removeClass('disable').prop('disabled', false);
+    } else {
+        $btn.addClass('disable').prop('disabled', true);
+    }
+}
+
+function authcode() {
+    if (!hasPh || !hasCa) {
+        enableBtn();
+        return;
+    }
+
+    $.ajax({
+        type: 'POST',
+        url: '/passport/back/authcode',
+        data: {
+            verifyCode: $.trim($ca.val()),
+            phoneNum: $phoneNum.val(),
+            area: $cr.val()
+        }
+
+    }).then(function(data) {
+        if (data.code === 200) {
+            hasCa = true;
+        } else if (data.code === 402) {
+            hasPh = false;
+            hasCa = true;
+            $accErr.removeClass('hide').find('em').text('该账号不存在');
+            $phoneNum.addClass('error');
+        } else if (data.code === 400) {
+            hasCa = false;
+            imgcode();
+        }
+        enableBtn();
+    });
+}
+
+function vaPn(v) {
+    var pass = true,
+        errTxt = '';
+
+    v = $.trim(v);
+    if (v !== '') {
+        if (/^[0-9]+$/.test(v)) {
+            if (phoneRegx[$cr.val()].test(v)) {
+                pass = true;
+            } else {
+                errTxt = '手机号码格式不正确, 请重新输入';
+                pass = false;
+            }
+        } else {
+            if (emailReg.test(v)) {
+                pass = true;
+            } else {
+                errTxt = '邮箱格式不正确, 请重新输入';
+                pass = false;
+            }
+        }
+    } else {
+        errTxt = '账户名不能为空';
+        pass = false;
+    }
+    hasPh = pass;
+    authcode();
+
+    return {
+        pass: pass,
+        errTxt: errTxt
+    };
+}
+
+function vaCa() {
+    var v = $.trim($ca.val());
+
+    if (v === '' || v.length < caCount) {
+        hasCa = false;
+        enableBtn();
+        return;
+    }
+
+    hasCa = true;
+
+    authcode();
+}
+
+emailAc($phoneNum, function() {
+        var pnVa = vaPn($phoneNum.val());
+
+        if (pnVa.pass) {
+            $accErr.addClass('hide');
+            $phoneNum.removeClass('error');
+        } else {
+            $accErr.removeClass('hide').find('em').text(pnVa.errTxt);
+            $phoneNum.addClass('error');
+        }
+    }
+);
+
+$ca.attr('maxlength', caCount);
+
+//IE8 placeholder
+$('input').placeholder();
+
+$('#change-captcha, #captcha-img').on('click', function() {
+    imgcode();
+});
+
+$cc.on('click', function(e) {
+    e.stopPropagation();
+    if ($ccList.css('style') === 'block') {
+        $ccList.slideUp('fast');
+    } else {
+        $ccList.slideDown('fast');
+    }
+});
+
+$ccList.delegate('li', 'click', function(e) {
+    var $cur = $(this),
+        code = $cur.data('cc'),
+        pnVa;
+
+    e.stopPropagation();
+    $cr.val(code);
+    $cc.find('em').html($cur.text());
+
+    //切换后验证手机号码
+    if ($.trim($phoneNum.val()) !== '') {
+        pnVa = vaPn($phoneNum.val());
+        enableBtn();
+        if (hasPh) {
+            $accErr.addClass('hide');
+            $phoneNum.removeClass('error');
+        } else {
+            $accErr.removeClass('hide').text(pnVa.errTxt);
+            $phoneNum.addClass('error');
+        }
+    }
+    $ccList.slideUp('fast');
+});
+
+$(document).click(function() {
+    if ($ccList.css('display') === 'block') {
+        $ccList.slideUp();
+    }
+});
+
+$phoneNum.keyup(function() {
+    vaPn($.trim($(this).val()));
+}).focus(function() {
+    $(this).removeClass('error');
+
+    //focus隐藏错误提示
+    $accErr.addClass('hide');
+});
+
+//验证码在鼠标移开后验证, keyup时不再验证
+$ca.blur(function() {
+    var errTxt = $.trim($ca.val()) === '' ? '验证码不能为空' : '验证码不正确';
+
+    if (hasCa) {
+        $caErr.addClass('hide');
+        $ca.removeClass('error');
+    } else {
+        $caErr.removeClass('hide').find('em').text(errTxt);
+        $ca.addClass('error');
+
+        //验证码错误则刷新验证码
+        if ($ca.val() < caCount) {
+
+            //防止重复刷新验证码
+            imgcode();
+        }
+    }
+}).focus(function() {
+    $(this).removeClass('error');
+
+    //focus隐藏错误提示
+    $caErr.addClass('hide');
+}).keyup(function() {
+    vaCa();
+});
+
+$('#find-btn').click(function(e) {
+
+    if (/^[0-9]+$/.test($.trim($phoneNum.val()))) {
+        $('#find-form').attr('action', '/passport/back/mobile');
+    }
+    if ($(this).hasClass('disable')) {
+        return;
+    }
+    if (!hasCa || !hasPh) {
+        e.preventDefault();
+        return true;
+    }
+});
+});
+define("js/passport/ac-email", ["jquery"], function(require, exports, module){
+/**
+ * 邮箱自动补全
+ * @author:xuqi<qi.xu@yoho.cn>
+ * @date: 2016/2/22
+ */
+var $ = require("jquery");
+
+var mailPostfix = {
+    num: ['qq.com', '163.com', '126.com', 'sina.com', 'gmail.com', 'sohu.com', 'hotmail.com', '139.com', '189.com'],
+    other: ['gmail.com', 'qq.com', '163.com', '126.com', 'sina.com', 'sohu.com', 'hotmail.com', '139.com', '189.com']
+};
+
+var emailAcTime;
+
+/**
+ * @param $input 需要自动完成的$对象
+ * @param cb 鼠标移开/点击自动完成项后需要执行的操作(验证等)
+ */
+module.exports = function($input, cb) {
+    var ulHtml = '<ul id="email-autocomplete" class="email-autocomplete hide"></ul>';
+
+    var $emailAutoComplete;
+
+    $input.parent().append(ulHtml);
+
+    $emailAutoComplete = $('#email-autocomplete');
+
+    $input.on('keyup', function() {
+        var account = $.trim($(this).val()),
+            html = '',
+            accountMatch,
+            matchStr,
+            postfix,
+            i;
+
+        //输入@时自动补全邮箱后缀
+        //此处>0非错误,用于避免输入的第一个字符为@被识别为邮箱
+        if (account.indexOf('@') > 0) {
+            accountMatch = account.match(/^[0-9]+@(.*)/);
+            if (accountMatch) {
+
+                //数字邮箱补全
+                postfix = mailPostfix.num;
+                matchStr = accountMatch[1];
+            } else {
+                postfix = mailPostfix.other;
+                matchStr = account.match(/@(.*)/)[1];
+            }
+
+            for (i = 0; i < postfix.length; i++) {
+                if (postfix[i].indexOf(matchStr) > -1) {
+                    html += '<li>' + account.slice(0, account.indexOf('@')) + '@' + postfix[i] + '</li>';
+                }
+            }
+
+            if (html !== '' && /.com$/.test(account) === false) {
+                $emailAutoComplete.html(html).removeClass('hide');
+            } else {
+
+                //隐藏autocomplete
+                $emailAutoComplete.html('').addClass('hide');
+            }
+        }
+    }).on('blur', function() {
+        emailAcTime = setTimeout(function() {
+
+            //未点击自动完成项
+            $emailAutoComplete.addClass('hide');
+
+            cb && cb();
+        }, 200);
+    });
+
+    //邮箱自动完成列表项点击
+    $emailAutoComplete.on('click', 'li', function() {
+        clearTimeout(emailAcTime); //清空默认关闭
+
+        //点击自动完成项后进行验证
+        $input.val($(this).text()).focus();
+
+        $emailAutoComplete.addClass('hide');
+
+        cb && cb();
+    });
+};
+});
+define("js/passport/login", ["jquery","jquery.placeholder"], function(require, exports, module){
+/**
+ * 登录
+ * @author: xuqi<qi.xu@yoho.cn>
+ * @date: 2015/12/11
+ */
+var $ = require("jquery");
+
+var $account = $('#account'),
+    $password = $('#password'),
+    $captcha = $('#captcha');
+
+var $accountTip = $account.siblings('.err-tip'),
+    $passwordTip = $password.siblings('.err-tip'),
+    $captchaTip = $captcha.siblings('.err-tip'),
+    $capsLock = $('#caps-lock');
+
+var $countryCodeHide = $('#country-code-hide'),
+    $countryCodeEm = $('#country-code > em'),
+    $countryList = $('#country-list');
+
+var $emailAutoComplete = $('#email-autocomplete');
+
+var mailPhoneRegx = require("js/passport/mail-phone-regx");
+var mailAc = require("js/passport/ac-email"); //邮箱自动完成
+
+var $remember = $('.remember-me');
+
+var captchaUrl = '/passport/images?t='; // /passport/images?t=1454464125
+
+var $captchaWrap = $('.captcha-wrap'),
+    $captcha = $captchaWrap.find('#captcha'),
+    $captchaImg = $captchaWrap.find('#captcha-img'),
+    $captchaTip = $captchaWrap.find('.err-tip');
+
+//checkbox status unicode
+var checkbox = {
+    checked: '&#xe612;',
+    unchecked: '&#xe613;'
+};
+
+var authing = false;
+
+var emailAcTime;
+
+require("jquery.placeholder");
+
+//验证账户名
+function validateAccount() {
+    var pass = false,
+        account = $.trim($account.val()),
+        countryCode = $countryCodeHide.val(),
+        err;
+
+    if (account !== '') {
+        if (/^[0-9]+$/.test(account)) {
+
+            //如果是纯数字,则作为手机号码处理
+            if (countryCode !== '+86' ||
+                mailPhoneRegx.phoneRegx[countryCode].test(account)) {
+                pass = true;
+            } else {
+                pass = false;
+                err = '手机号码不正确,请重新输入';
+            }
+        } else {
+            if (mailPhoneRegx.emailRegx.test(account)) {
+                pass = true;
+            } else {
+                pass = false;
+                err = '邮箱格式不正确,请重新输入';
+            }
+        }
+    } else {
+        err = '请输入账户名';
+    }
+
+    if (pass) {
+        $accountTip.addClass('hide');
+        $account.removeClass('error');
+    } else {
+        $accountTip.removeClass('hide').children('em').text(err);
+        $account.addClass('error');
+    }
+    return pass;
+}
+
+//验证密码
+function validatePassword() {
+    var pass = false,
+        password = $.trim($password.val()),
+        err;
+
+    if (password !== '') {
+        if (password.length < 6) {
+            err = '请输入长度为6-20字符的密码';
+        } else {
+            pass = true;
+        }
+    } else {
+        err = '请输入密码';
+    }
+
+    if (pass) {
+        $passwordTip.addClass('hide');
+        $password.removeClass('error');
+    } else {
+        $passwordTip.removeClass('hide').children('em').text(err);
+        $password.addClass('error');
+    }
+    return pass;
+}
+
+//验证验证码
+function validateCaptcha() {
+    var pass = false,
+        captcha = $.trim($captcha.val()),
+        err;
+
+    // 验证码不可见的时候不验证
+    if ($captchaWrap.is(':hidden')) {
+        return true;
+    }
+
+    if (captcha !== '') {
+        if (captcha.length !== 4) {
+            err = '请输入长度为4字符的验证码';
+        } else {
+            pass = true;
+        }
+    } else {
+        err = '请输入验证码';
+    }
+
+    if (pass) {
+        $captchaTip.addClass('hide');
+        $captcha.removeClass('error');
+    } else {
+        $captchaTip.removeClass('hide').children('em').text(err);
+        $captcha.addClass('error');
+    }
+    return pass;
+}
+
+//验证
+function validate() {
+    var pass = true,
+        account = $.trim($account.val()),
+        password = $.trim($password.val());
+
+    if (account !== '') {
+        pass = validateAccount() && validatePassword() && validateCaptcha();
+    } else {
+        pass = false;
+        $account.addClass('error');
+
+        if (password === '') {
+
+            //账户名和密码都为空的情况下点击登陆,只在账户输入框后显示错误提示
+            $accountTip.addClass('both-error').removeClass('hide').children('em').text('请输入账户名和密码');
+            $passwordTip.addClass('hide');
+            $password.addClass('error');
+        } else {
+            $accountTip.removeClass('hide').children('em').text('请输入账户名');
+        }
+    }
+
+    return pass;
+}
+
+//密码错误次数,超过三次显示验证码
+function vaAccountErrTimes() {
+    $captchaImg.attr('src', captchaUrl + $.now());
+    $captcha.val('');
+    $captchaWrap.removeClass('hide');
+}
+
+//登录
+function login() {
+    var pass = validate();
+
+    if (pass && authing === false) {
+        authing = true;
+
+        $.ajax({
+            url: '/passport/login/auth',
+            type: 'POST',
+            data: {
+                areaCode: $countryCodeHide.val().replace('+', ''),
+                account: $.trim($account.val()),
+                password: $.trim($password.val()),
+                captcha: $.trim($captcha.val()),
+                isRemember: $remember.hasClass('checked') ? true : false
+            },
+            success: function(res) {
+                if (res.code === 200) {
+                    if (res.data) {
+
+                        //防止data.data为undefined时下行语句执行出错而导致脚本不能走到complete去处理authing
+                        location.href = res.data.session;
+                    }
+                } else {
+                    if (res.data.errorType === 'captcha') {
+                        $captchaTip.removeClass('hide').children('em').html(res.message);
+                        $captcha.addClass('error').val('');
+                    } else {
+                        $passwordTip.removeClass('hide').children('em').html(res.message);
+                        $password.addClass('error').val('');
+                    }
+
+                    //验证错误次数
+                    if (res.data && res.data.needCaptcha) {
+                        vaAccountErrTimes();
+                    }
+                }
+            },
+            complete: function() {
+                authing = false;
+            }
+        });
+    }
+}
+
+mailAc($account, function() {
+        if (validateAccount()) {
+            $.ajax({
+                url: '/passport/login/account',
+                type: 'GET',
+                data: {
+                    account: $.trim($account.val())
+                }
+            }).then(function(res) {
+                if (res.data && res.data.needCaptcha) {
+                    vaAccountErrTimes();
+                }
+            });
+        }
+    }
+);
+
+$('[placeholder]').placeholder();
+
+//展开地区列表
+$('#country-code').on('click', function() {
+    if ($countryList.css('display') === 'none') {
+        $countryList.slideDown();
+    }
+});
+
+//选中地区列表项
+$countryList.on('click', 'li', function() {
+    var $this = $(this),
+        cc = $this.data('cc');
+
+    $countryCodeEm.html($this.html());
+
+    $countryCodeHide.val(cc);
+
+    $countryList.slideUp();
+});
+
+//点击其他区域,收起区域列表
+$(document).on('click', function(e) {
+    if ($(e.target).closest('#country-code').length > 0) {
+        return;
+    }
+
+    if ($countryList.css('display') === 'block') {
+        $countryList.slideUp();
+    }
+});
+
+//密码
+$password.on('blur', function() {
+    validatePassword();
+
+    if ($capsLock.hasClass('hide')) {
+        return;
+    }
+
+    $capsLock.addClass('hide');
+}).on('keypress', function(e) {
+    var code = e.which;
+
+    //CapsLock检测
+    if (code >= 65 && code <= 90) {
+        $capsLock.removeClass('hide');
+        return;
+    }
+    $capsLock.addClass('hide');
+});
+
+// 验证码
+$captcha.on('blur', function() {
+    validateCaptcha();
+});
+
+//邮箱自动完成列表项点击
+$emailAutoComplete.on('click', 'li', function() {
+    clearTimeout(emailAcTime); //清空默认关闭
+
+    $account.val($(this).text()).focus();
+
+    $emailAutoComplete.addClass('hide');
+});
+
+//记住登录状态
+$remember.on('click', function() {
+    var $this = $(this);
+
+    $this.toggleClass('checked');
+
+    if ($this.hasClass('checked')) {
+        $this.children('i').html(checkbox.checked);
+    } else {
+        $this.children('i').html(checkbox.unchecked);
+    }
+});
+
+//focus到输入框则隐藏错误提示和样式
+$('.va').on('focus', function() {
+    var $this = $(this);
+
+    $this.removeClass('error');
+
+    $this.siblings('.err-tip').addClass('hide');
+});
+
+// 验证码刷新
+$captchaWrap.on('click', '.change-captcha, .captcha-img', function() {
+    $captchaImg.attr('src', captchaUrl + $.now());
+});
+
+//登录
+$('#login-btn').on('click', login);
+
+//Enter登录
+$('input.va').on('keypress', function(e) {
+    if (e.which === 13) {
+        login();
+    }
+});
+
+// 初始:只带账户名的页面,密码输入获得焦点
+if (($account.val() !== '' || $account.val() === $account.attr('placeholder')) &&
+    $password.val() === '') {
+    $password.focus();
+}
+});
+define("js/passport/reset", ["jquery","jquery.placeholder"], function(require, exports, module){
+/**
+ * 找回密码
+ * @author: xuqi<qi.xu@yoho.cn>
+ * @date: 2015/12/14
+ */
+
+var $ = require("jquery");
+
+var $pwd = $('#pwd'),
+    $repwd = $('#re-input'),
+    $next = $('#reset-pwd-btn'),
+    $pwdErr = $('#pwd-err'),
+    $repwdErr = $('#repwd-err'),
+    $pwdTips = $('#pwd-tips');
+
+var hasNoErrPw = false;
+
+var $pwdIntensity = $('.pwd-intensity'),
+    $pwdParent = $pwdIntensity.closest('.pwd-intensity-container'),
+    $pwdTip1 = $('#pwd-tip1');
+
+var pwdRegx = require("js/passport/mail-phone-regx").pwdValidateRegx;
+
+require("jquery.placeholder");
+
+
+/*
+ * 计算密码复杂度
+ */
+
+function gettype(str, i) {
+    if (str.charCodeAt(i) >= 48 && str.charCodeAt(i) <= 57) {
+        return 1;
+    } else if (str.charCodeAt(i) >= 97 && str.charCodeAt(i) <= 122) {
+        return 2;
+    } else if (str.charCodeAt(i) >= 65 && str.charCodeAt(i) <= 90) {
+        return 3;
+    }
+
+    return 4;
+}
+
+function isregular(cur, pre, type) {
+    var curCode = cur.charCodeAt(0);
+    var preCode = pre.charCodeAt(0);
+
+    if (curCode - preCode === 0) {
+        return true;
+    }
+
+    if (type !== 4 && (curCode - preCode === 1 || curCode - preCode === -1)) {
+        return true;
+    }
+
+    return false;
+}
+
+function getcomplex(curType, preType) {
+    if (preType === 0 || curType === preType) {
+        return 0;
+    } else if (curType === 4 || preType === 4) {
+        return 2;
+    } else {
+        return 1;
+    }
+}
+
+function computeComplex(password) {
+    var complex = 0,
+        length = password.length,
+        pre = '',
+        preType = 0,
+        i = 0,
+        cur,
+        curType;
+
+
+    for (i = 0; i < length; i++) {
+        cur = password.charAt(i);
+        curType = gettype(password, i);
+
+        if (preType !== curType || !isregular(cur, pre, curType)) {
+            complex += curType + getcomplex(curType, preType);
+        }
+
+        pre = cur;
+        preType = curType;
+    }
+
+    return complex;
+}
+
+function pwdKeyupEvt() {
+    var pwd = $pwd.val(),
+        pwdStrength = computeComplex(pwd),
+        level = 0;
+
+    //TODO:自定义密码强度规则,需要修正
+    if (pwdStrength === 0) {
+        level = 0;
+    } else if (pwdStrength <= 10) {
+        level = 1;
+    } else if (pwdStrength <= 20) {
+        level = 2;
+    } else {
+        level = 3;
+    }
+    switch (level) {
+        case 0:
+            $pwdParent.removeClass('red yellow green');
+            $pwdIntensity.removeClass('color');
+            break;
+        case 1:
+            $pwdParent.addClass('red').removeClass('yellow green');
+            $pwdIntensity.filter('.low').addClass('color');
+            $pwdIntensity.filter('.mid,.high').removeClass('color');
+            break;
+        case 2:
+            $pwdParent.addClass('yellow').removeClass('red green');
+            $pwdIntensity.filter('.low,.mid').addClass('color');
+            $pwdIntensity.filter('.high').removeClass('color');
+            break;
+        case 3:
+            $pwdParent.addClass('green').removeClass('yellow red');
+            $pwdIntensity.addClass('color');
+            break;
+    }
+
+    //提示框
+    if (pwd === '') {
+        $pwdTip1.removeClass('red yes no').addClass('default');
+    } else if (pwd.length < 6 || pwd.length > 20) {
+        $pwdTip1.removeClass('default yes').addClass('no red');
+    } else {
+        $pwdTip1.removeClass('default no red').addClass('yes');
+    }
+
+    if (pwdRegx.test(pwd)) {
+        hasNoErrPw = true;
+    } else {
+        hasNoErrPw = false;
+    }
+}
+
+//IE8 placeholder
+$('input').placeholder();
+
+$('.va').keyup(function() {
+    var pass = true;
+
+    if ($(this).hasClass('pwd')) {
+        pwdKeyupEvt();
+    } else {
+        if ($(this).val() === '') {
+            pass = false;
+        }
+    }
+    if (pass && hasNoErrPw && $pwd.val() === $repwd.val()) {
+        pass = true;
+    } else {
+        pass = false;
+    }
+    if (pass) {
+        $next.removeClass('disable').prop('disabled', false);
+    } else {
+        $next.addClass('disable').prop('disabled', true);
+    }
+}).blur(function() {
+    var $this = $(this),
+        v = $this.val();
+
+    if ($this.hasClass('pwd')) {
+        if (v === '') {
+            $this.addClass('error');
+            $pwdErr.removeClass('hide').find('em').text('请输入密码');
+        } else if (v.length < 6 || v.length > 20) {
+            $this.addClass('error');
+            $pwdErr.removeClass('hide').find('em').text('密码只支持6-20位');
+        } else if (!pwdRegx.test(v)) {
+            $this.addClass('error');
+            $pwdErr.removeClass('hide').find('em').text('密码须字母和数字组合');
+        } else {
+            $pwdErr.addClass('hide');
+            if ($repwd.val() !== '') {
+                if (v !== $repwd.val()) {
+                    $repwd.addClass('error');
+                    $repwdErr.removeClass('hide').find('em').text('两次密码输入不一致,请重新输入');
+                } else {
+                    $repwd.removeClass('error');
+                    $repwdErr.addClass('hide');
+                }
+            }
+        }
+    } else {
+        if (v === '') {
+            $this.addClass('error');
+            $repwdErr.removeClass('hide').find('em').text('请输入密码确认');
+        } else {
+            if ($pwd.val() !== '' && v !== $pwd.val()) {
+                $this.addClass('error');
+                $repwdErr.removeClass('hide').find('em').text('两次密码输入不一致,请重新输入');
+            } else {
+                $this.removeClass('error');
+                $repwdErr.addClass('hide');
+            }
+        }
+    }
+}).focus(function() {
+    $(this).removeClass('error');
+
+    //focus后错误提示隐藏
+    if ($(this).hasClass('pwd')) {
+        $pwdErr.addClass('hide');
+    } else {
+        $repwdErr.addClass('hide');
+    }
+});
+
+$pwd.focus(function() {
+    $pwdErr.addClass('hide');
+    $pwdTips.removeClass('hide');
+}).blur(function() {
+    $pwdTips.addClass('hide');
+});
+
+$('#pwd, #repwd').keydown(function(e) {
+    var code = e.keyCode || e.which;
+
+    //空格输入过滤
+    if (code === 32) {
+        e.preventDefault();
+        return;
+    }
+});
+
+});
+define("js/passport/vertification", ["jquery"], function(require, exports, module){
+/**
+ * 验证手机
+ * @author: xuqi<qi.xu@yoho.cn>
+ * @date: 2015/12/14
+ */
+
+var $ = require("jquery");
+
+var $sc = $('#send-captcha'),
+    $msgTip = $('#captcha-tip'),
+    $errTip = $('#err-tip'),
+    $next = $('#next-step'),
+    seconds,
+    itime;
+
+$sc.click(function() {
+    $.post('/passport/back/sendbackmobile', {
+        mobile: $('#mobile').val(),
+        area: $('#area').val(),
+        verifyCode: $('#captchaPic').val()
+    }, function(jsonData) {
+        if (jsonData.code === 200) {
+            $errTip.hide();
+            if ($(this).hasClass('disable')) {
+                return;
+            }
+            seconds = 60;
+
+            //$sc.addClass('disable').prop('disabled', true);
+            $sc.addClass('disable').attr('disabled', true);
+            $msgTip.removeClass('hide');
+
+            $sc.val(seconds-- + '秒后可重新操作');
+            itime = setInterval(function() {
+                if (seconds === 0) {
+                    clearInterval(itime);
+
+                    //$sc.val('发送验证码').removeClass('disable').prop('disabled', false);
+                    $sc.val('发送验证码').removeClass('disable').removeAttr('disabled');
+                } else {
+                    $sc.val(seconds-- + '秒后可重新操作');
+                }
+            }, 1000);
+        } else {
+            $(this).addClass('error');
+            $errTip.removeClass('hide').text('发送失败');
+        }
+    });
+});
+
+seconds = 60;
+
+//$sc.addClass('disable').prop('disabled', true);
+$sc.addClass('disable').attr('disabled', true);
+$msgTip.removeClass('hide');
+
+$sc.val(seconds-- + '秒后可重新操作');
+itime = setInterval(function() {
+    if (seconds === 0) {
+        clearInterval(itime);
+
+        //$sc.val('发送验证码').removeClass('disable').prop('disabled', false);
+        $sc.val('发送验证码').removeClass('disable').removeAttr('disabled');
+    } else {
+        $sc.val(seconds-- + '秒后可重新操作');
+    }
+}, 1000);
+
+
+$('#captcha').keyup(function() {
+    var v = $.trim($(this).val()),
+        that = this;
+
+    if (v.length === 4) {
+        $.ajax({
+            type: 'POST',
+            url: '/passport/back/backmobile',
+            dataType: 'json',
+            data: {
+                code: $('#captcha').val(),
+                verifyCode: $('#captchaPic').val(),
+                area: $('#area').val(),
+                mobile: $('#mobile').val()
+            },
+            success: function(res) {
+                if (res.code === 200) {
+
+                    //添加验证码正确验证
+                    $next.removeClass('disable').attr('href', res.data);
+                    $errTip.addClass('hide');
+                    $(that).removeClass('error');
+                } else {
+                    $next.addClass('disable');
+                    $errTip.removeClass('hide').find('em').text('验证码输入错误');
+                    $(that).addClass('error');
+                }
+            }
+        });
+    } else {
+        $next.addClass('disable').attr('href', 'javascript:;');
+    }
+}).blur(function() {
+    var v = $.trim($(this).val());
+
+    if (v === '') {
+
+        //添加验证码正确验证
+        $(this).addClass('error');
+        $errTip.removeClass('hide').text('请输入验证码');
+    }
+}).focus(function() {
+    $(this).removeClass('error');
+});
+});
+define("js/passport/thirdlogin", ["jquery"], function(require, exports, module){
+/**
+ * 第三方登录首页
+ * @author: wq
+ * @date: 2016/1/21
+ */
+var $ = require("jquery");
+var phoneRegx = require("js/passport/mail-phone-regx").phoneRegx;
+
+var nopermissionoption = $('#nopermissionmessage').html(); //倒计时dom
+var sendmessagehtml = $('.validatewrapper').html(); //发送短信dom
+var second = +$('.second').text(); //倒计时秒数
+var dovalidate = false; //校验验证码标识
+var validatecode = false; //验证码是否通过
+var choosedpic = '//cdn.yoho.cn/yohobuy/assets/img/passport/choosed.png';//已选择图片
+
+var $wrapper = $('.bindwrapper'),
+    $phoneTip = $wrapper.find('.phone-err-tip'),
+    $nextBtn = $wrapper.find('.yohobindbtn');
+
+/**
+ * 选择协议
+ * @return {[type]} [description]
+ */
+function chooseProtocol() {
+    $('.choosetag').on('change', function() {
+        var btnColor = '#f02200';
+
+        if ($(this).attr('checked') === 'checked') {
+            $('.choosewrapper').css({
+                'background-image': 'url("' + choosedpic + '")'
+            });
+        } else {
+            $('.choosewrapper').css({
+                'background-image': 'none'
+            });
+            btnColor = '#CCCCCC';
+        }
+        $nextBtn.css({
+            'background-color': btnColor
+        });
+    });
+}
+/**
+ * 判断是否同意协议
+ * @return {[type]} [description]
+ */
+function isagree() {
+    return $('.choosetag').attr('checked') === 'checked';
+}
+/**
+ * 选择区域的开关
+ * @return {[type]} [description]
+ */
+function chooseAreaToogle() {
+    $('.optionshow').on('click', function() {
+        $('.optionslist').toggleClass('hide');
+    });
+}
+
+/**
+ * 验证码校验
+ * @return {[type]} [description]
+ */
+function codeValidate() {
+    var validatenum = '';
+
+    $(document).on('keyup', '#validatenum', function() {
+        validatenum = $(this).val();
+        if (validatenum.length === 4) {
+            if (!dovalidate) {
+                dovalidate = true;
+                $.ajax({
+                    type: 'POST',
+                    url: '/passport/autouserinfo/checkBindMsg',
+                    data: {
+                        code: validatenum,
+                        mobile: $('#mobile').val(),
+                        area: $('#areacode').val()
+                    }
+                }).then(function(data) {
+                    dovalidate = false;
+                    if (data.code === 200) {
+                        validatecode = true;
+                    } else {
+                        alert(data.message);
+                    }
+                });
+            }
+        }
+    });
+
+    $('#validatenum').focus(function() {
+        $(this).removeAttr('placeholder');
+    }).blur(function() {
+        $(this).attr('placeholder', '验证码');
+    });
+}
+
+/**
+ * 选择区域
+ * @return {[type]} [description]
+ */
+function chooseArea() {
+    $('.optionitem').on('click', function() {
+        var $option = $(this);
+        var areanum = $option.attr('areanum');
+        var areaname = $option.text();
+
+        $('#areaname').text(areaname);
+        $('#areanum').text(areanum);
+        $('#areacode').val(areanum);
+        $('.optionslist').addClass('hide');
+    });
+}
+/**
+ * 取消选择区域
+ * @return {[type]} [description]
+ */
+function cancelChooseArea() {
+    $(document).on('click', 'body', function(e) {
+        var $target = $(e.target);
+
+        if ($target.hasClass('yohoselectarea') ||
+            $target.hasClass('areaname') ||
+            $target.hasClass('righttag') ||
+            $target.hasClass('optionslist') ||
+            $target.hasClass('optionitem')) {
+            return;
+        } else {
+            $('.optionslist').addClass('hide');
+        }
+    });
+}
+/**
+ * 去掉区域号的加号
+ * @return {[type]} [description]
+ */
+function fixAreaNum() {
+    var $opitem = '';
+    var itemarecode = '';
+
+    $('.optionitem').each(function() {
+        $opitem = $(this);
+        itemarecode = $opitem.attr('areanum').replace(/\+/g, '');
+        $opitem.attr('areanum', itemarecode);
+    });
+}
+
+/**
+ * 关闭蒙层
+ * @return {[type]} [description]
+ */
+function closeMask() {
+    var $target;
+
+    $(document).on('click', '#alreayregist', function(e) {
+        $target = $(e.target);
+        if ($target.hasClass('mask') || $target.hasClass('backdrop')) {
+            $('#alreayregist').hide();
+            $('.backdrop').hide();
+        }
+    });
+    $(document).on('click', '#bindconfirm', function(e) {
+        $target = $(e.target);
+        if ($target.hasClass('mask') || $target.hasClass('backdrop')) {
+            $('#bindconfirm').hide();
+            $('.backdrop').hide();
+        }
+    });
+}
+/**
+ * 绑定其他手机号
+ * @return {[type]} [description]
+ */
+function yohoBindBtn() {
+    $(document).on('click', '#yohobindbtn', function(e) {
+        $('.phonenum').val('');
+        $('#bindconfirm').hide();
+        $('.backdrop').hide();
+    });
+    $(document).on('click', '#yohobindbtn2', function(e) {
+        $('.phonenum').val('');
+        $('#alreayregist').hide();
+        $('.backdrop').hide();
+    });
+}
+/**
+ * 发送短信的时间变换动画
+ * @return {[type]} [description]
+ */
+function changeSecond() {
+    second -= 1;
+    if (second < 0) {
+        second = 60;
+        $('.validatewrapper').html(sendmessagehtml);
+        return;
+    } else {
+        $('.second').text(second);
+        window.setTimeout(changeSecond, 1000);
+    }
+
+}
+/**
+ * 时间循环
+ * @param  {[type]} phonenum [description]
+ * @return {[type]}          [description]
+ */
+function circleTime(phonenum) {
+    $('.validatewrapper').html(nopermissionoption);
+    window.setTimeout(changeSecond, 1000);
+}
+/**
+ * 发送短信
+ * @return {[type]} [description]
+ */
+function sendMessageValidate() {
+    $(document).on('click', '#sendmessage', function() {
+        if ($('#sendmessage').attr('disabled') === 'disabled') {
+            return;
+        }
+        circleTime($('#mobile').val());
+        $.ajax({
+            type: 'POST',
+            url: '/passport/autouserinfo/sendBindMsg',
+            data: {
+                mobile: $('#mobile').val(),
+                area: $('#areacode').val()
+            }
+        }).then(function(data) {
+            if (data.code !== 200) {
+                alert(data.message);
+            }
+        });
+
+    });
+}
+
+/**
+ * 最终提交表单
+ */
+function actionSubmit() {
+    var mobile = '';
+    var area = '';
+
+    area = $('#areacode').val();
+    mobile = $('#mobile').val();
+    $.ajax({
+        type: 'POST',
+        url: '/passport/autouserinfo/bindMobile',
+        data: {
+            area: area,
+            openId: $('#openId').val(),
+            sourceType: $('#sourceType').val(),
+            mobile: mobile,
+            code: $('#validatenum').val()
+        }
+    }).then(function(data) {
+        if (data.code === 200) {
+            if (data.data && data.data.refer) {
+                window.location.href = data.data.refer;
+            } else {
+                window.location.href = '/passport/thirdlogin/bindsuccess';
+            }
+        } else {
+            alert(data.message);
+        }
+    });
+}
+
+/**
+ * 确认去绑定
+ * @return {[type]} [description]
+ */
+function goToBindPhone() {
+    $(document).on('click', '#gotobindphone', function() {
+        if (validatecode === true) {
+            $('#inarea').val($('#areacode').val());
+            $('#inmobile').val($('#mobile').val());
+            actionSubmit();
+        } else {
+            alert('请输入正确验证码');
+        }
+    });
+}
+/**
+ * 点击下一步
+ * @return {[type]} [description]
+ */
+function nextStep() {
+    var openId = '';
+    var sourceType = '';
+    var mobile = '';
+    var areaCode = '';
+    var username = '';
+    var headImg = '';
+
+    $('#bindfirststep').on('click', function(e) {
+        var regx;
+
+        e.preventDefault();
+        mobile = $('.phonenum').val();
+        areaCode = $('#areanum').text();
+        regx = phoneRegx['+' + areaCode];
+
+        if (!isagree()) {
+            return;
+        }
+        if (mobile === '' || !regx || !regx.test(mobile)) {
+            $phoneTip.find('em').text('手机格式错误');
+            $phoneTip.removeClass('hide');
+            return;
+        }
+        openId = $('#openId').val() || '29803EC6D4AAC3AAB8ABDB6AE829D579';
+        sourceType = $('#sourceType').val() || 'qq';
+        $.ajax({
+            type: 'post',
+            url: '/passport/autouserinfo/bindCheck',
+            data: {
+                mobile: mobile,
+                area: areaCode,
+                openId: openId,
+                sourceType: sourceType
+            },
+            dataType: 'json',
+            success: function(data) {
+                var winHeight = $(window).height();
+
+                if (data.code === 200) {
+                    $('#bindmobileform').attr('action', data.data.next);
+                    $('#bindmobileform').submit();
+                } else if (data.code === 201) {
+
+                    // 已注册 未绑定
+                    username = data.data.user.username;
+                    headImg = data.data.user.headImg;
+                    $('#registphone').text(mobile);
+                    $('#username').text(username);
+                    if (headImg === '') {
+                        $('#userphoto').attr('src', '//img10.static.yhbimg.com/headimg/2013/11/28/09/' +
+                            '01cae078abe5fe320c88cdf4c220212688.gif?imageView/2/w/100/h/100');
+                    } else {
+                        $('#userphoto').attr('src', headImg);
+                    }
+                    $('#logindirectly2').attr('href', data.data.user.bindLogin);
+                    $('.backdrop').show();
+                    $('#sendmessage').click();
+                    $('#alreayregist .mask').css({
+                        'padding-top': winHeight > 440 ? winHeight / 2 : 217
+                    });
+                    $('#alreayregist').show();
+                } else if (data.code === 203) {
+
+                    // 已注册 可关联
+                    $('#bindmobileform').attr('action', data.data.next);
+                    $('#bindmobileform').submit();
+                } else if (data.code === 205) {
+
+                    // 未注册 不可关联
+                    username = data.data.user.username;
+                    headImg = data.data.user.headImg;
+                    $('#registphonetwo').text(mobile);
+                    $('#username1').text(username);
+                    if (headImg === '') {
+                        $('#userphoto1').attr('src', '//img10.static.yhbimg.com/headimg/2013/11/28/09/' +
+                            '01cae078abe5fe320c88cdf4c220212688.gif?imageView/2/w/100/h/100');
+                    } else {
+                        $('#userphoto1').attr('src', headImg);
+                    }
+                    $('#logindirectly').attr('href', data.data.user.bindLogin);
+                    $('.backdrop').show();
+                    $('#bindconfirm .mask').css({
+                        'padding-top': winHeight > 440 ? winHeight / 2 : 217
+                    });
+                    $('#bindconfirm').show();
+                } else if (data.code === 402) {
+                    $phoneTip.find('em').text('手机格式错误');
+                    $phoneTip.removeClass('hide');
+                } else {
+                    if (data && data.message) {
+                        alert(data.message);
+                    }
+                }
+            }
+        });
+    });
+}
+
+$wrapper.on('keydown', '.phonenum', function(e) {
+    if (e.keyCode === 13) {
+        $nextBtn.trigger('click');
+        return false;
+    }
+});
+
+function init() {
+    fixAreaNum(); //去掉所有区域的+
+    sendMessageValidate(); //有交互的发送短信
+    chooseProtocol(); //选择协议
+    chooseArea(); //选择区域
+    chooseAreaToogle(); //选择区域展示或关闭
+    cancelChooseArea(); //取消选择区域
+    nextStep();  //下一步
+    closeMask(); //关闭蒙层
+    yohoBindBtn(); //绑定其他手机号点击
+    goToBindPhone(); //绑定手机
+    codeValidate(); //验证码校验
+}
+init();
+});
+define("js/passport/third-pwd", ["jquery"], function(require, exports, module){
+/**
+ * 第三方绑定完善个人信息
+ * @author: wq
+ * @date: 2016/1/27
+ */
+var $ = require("jquery");
+var dovalidate = false; //校验验证码的标识
+var isvalidatecode = false; //是否验证成功的标识
+var isvalidatepwd = false; //密码验证是否通过的标识
+var second = ''; //倒计时时间
+var nopermissionoption = ''; //倒计时的dom
+var sendmessagehtml = ''; //发送短信的dom
+var submitStatus = false; //信息提交状态
+
+var $wrapper = $('.bindwrapper'),
+    $codeTip = $wrapper.find('.code-err-tip'),
+    $pwdTip = $wrapper.find('.pwd-err-tip'),
+    $pwdTip2 = $('#pwd-tip2'),
+    $sendMsgBtn = $('#sendmessage');
+var $pwd,
+    $pwdParent,
+    $pwdTip1,
+    $pwdIntensity;
+
+var pwdRegx = require("js/passport/mail-phone-regx").pwdValidateRegx;
+var mobile = $('#mobile').val(),
+    area = $('#area').val();
+
+nopermissionoption = $('#nopermissionmessage').html();
+sendmessagehtml = $('.validatewrapper').html();
+second = +$('.second').text();
+
+
+function gettype(str, i) {
+    if (str.charCodeAt(i) >= 48 && str.charCodeAt(i) <= 57) {
+        return 1;
+    } else if (str.charCodeAt(i) >= 97 && str.charCodeAt(i) <= 122) {
+        return 2;
+    } else if (str.charCodeAt(i) >= 65 && str.charCodeAt(i) <= 90) {
+        return 3;
+    }
+
+    return 4;
+}
+
+function isregular(cur, pre, type) {
+    var curCode = cur.charCodeAt(0);
+    var preCode = pre.charCodeAt(0);
+
+    if (curCode - preCode === 0) {
+        return true;
+    }
+
+    if (type !== 4 && (curCode - preCode === 1 || curCode - preCode === -1)) {
+        return true;
+    }
+
+    return false;
+}
+
+
+function getcomplex(curType, preType) {
+    if (preType === 0 || curType === preType) {
+        return 0;
+    } else if (curType === 4 || preType === 4) {
+        return 2;
+    } else {
+        return 1;
+    }
+}
+
+
+/**
+ * @desc: 计算密码复杂度(from://www.oschina.net/code/snippet_127301_17269)
+ * @author: xuqi(qi.xu@yoho.cn)
+ * @date: 2015/5/6
+ */
+function computeComplex(password) {
+    var complex = 0;
+    var length = password.length;
+    var pre = '';
+    var preType = 0;
+    var i = 0;
+    var cur = '';
+    var curType = '';
+
+    for (i; i < length; i++) {
+        cur = password.charAt(i);
+        curType = gettype(password, i);
+        if (preType !== curType || !isregular(cur, pre, curType)) {
+            complex += curType + getcomplex(curType, preType);
+        }
+        pre = cur;
+        preType = curType;
+    }
+
+    return complex;
+}
+
+function showErrTip($dom, info) {
+    $dom.find('em').text(info);
+    $dom.removeClass('hide');
+}
+
+function changeSecond() {
+    second -= 1;
+    if (second < 0) {
+        second = 60;
+        $('.validatewrapper').html(sendmessagehtml);
+        return;
+    } else {
+        $('.second').text(second);
+        window.setTimeout(changeSecond, 1000);
+    }
+
+}
+/**
+ * 启动倒计时
+ * @return {[type]} [description]
+ */
+function circleTime() {
+    $('.validatewrapper').html(nopermissionoption);
+    window.setTimeout(changeSecond, 1000);
+}
+
+function sendMessageValidate() {
+    $(document).on('click', '#sendmessage', function() {
+        circleTime();
+        $.ajax({
+            type: 'POST',
+            url: '/passport/autouserinfo/sendBindMsg',
+            data: {
+                mobile: mobile,
+                area: area
+            }
+        }).then(function(data) {
+            if (data.code !== 200) {
+                alert(data.message);
+            }
+        });
+
+    });
+}
+
+
+
+function codeValidate() {
+    var validatenum = '';
+
+    $(document).on('keyup', '#validatenum', function() {
+        $('#err-info').hide();
+        validatenum = $(this).val();
+        if (validatenum.length === 4) {
+            if (!dovalidate) {
+                dovalidate = true;
+                $.ajax({
+                    type: 'POST',
+                    url: '/passport/autouserinfo/checkBindMsg',
+                    data: {
+                        code: validatenum,
+                        mobile: mobile,
+                        area: area
+                    }
+                }).then(function(data) {
+                    dovalidate = false;
+                    if (data.code !== 200) {
+                        $('#err-info').show();
+                    } else {
+                        isvalidatecode = true;
+                    }
+                });
+            }
+        }
+    });
+}
+
+function pwdKeyupEvt() {
+    var pwd = $pwd.val(),
+        pwdStrength = computeComplex(pwd),
+        level = 0;
+
+    if (pwdStrength === 0) {
+        level = 0;
+    } else if (pwdStrength <= 10) {
+        level = 1;
+    } else if (pwdStrength <= 20) {
+        level = 2;
+    } else {
+        level = 3;
+    }
+    switch (level) {
+        case 0:
+            $pwdParent.removeClass('red yellow green');
+            $pwdIntensity.removeClass('color');
+            break;
+        case 1:
+            $pwdParent.addClass('red').removeClass('yellow green');
+            $pwdIntensity.filter('.low').addClass('color');
+            $pwdIntensity.filter('.mid,.high').removeClass('color');
+            break;
+        case 2:
+            $pwdParent.addClass('yellow').removeClass('red green');
+            $pwdIntensity.filter('.low,.mid').addClass('color');
+            $pwdIntensity.filter('.high').removeClass('color');
+            break;
+        case 3:
+            $pwdParent.addClass('green').removeClass('yellow red');
+            $pwdIntensity.addClass('color');
+            break;
+    }
+    if (pwd === '') {
+        isvalidatepwd = false;
+        $pwdTip1.removeClass('red yes no').addClass('default');
+    } else {
+        if (pwd.length < 6 || pwd.length > 20) {
+            isvalidatepwd = false;
+            $pwdTip1.removeClass('default yes').addClass('no red');
+        } else {
+            isvalidatepwd = true;
+            $pwdTip1.removeClass('default no red').addClass('yes');
+        }
+        if (/^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]*$/.test(pwd)) {
+            $pwdTip2.removeClass('default no red').addClass('yes');
+        } else {
+            $pwdTip2.removeClass('default yes').addClass('no red');
+        }
+    }
+}
+
+function validatePwd() {
+    $(document).on('keyup', '.pwdcontent', function() {
+        pwdKeyupEvt($(this));
+    });
+    $(document).on('focus', '.pwdcontent', function() {
+        $('#pwd-tips').removeClass('hide');
+    });
+    $(document).on('blur', '.pwdcontent', function() {
+        $('#pwd-tips').addClass('hide');
+    });
+}
+
+/**
+ * 最终提交表单
+ */
+function actionSubmit() {
+    var pwd = '';
+    var code = '';
+
+    // 查看提交状态,避免重复提交
+    if (submitStatus) {
+        return;
+    }
+    submitStatus = true;
+    setTimeout(function() {
+        submitStatus = false;
+    }, 50000);
+
+    pwd = $('#pwd').val();
+    code = $('#validatenum').val();
+    $.ajax({
+        type: 'POST',
+        url: '/passport/autouserinfo/bindMobile',
+        data: {
+            area: area,
+            openId: $('#openId').val(),
+            sourceType: $('#sourceType').val(),
+            mobile: mobile,
+            password: pwd,
+            code: code
+        }
+    }).then(function(data) {
+        submitStatus = false;
+        if (data.code === 200) {
+            if (data.data && data.data.refer) {
+                window.location.href = data.data.refer;
+            } else {
+                window.location.href = '/passport/thirdlogin/bindsuccess';
+            }
+        } else {
+            alert(data.message);
+        }
+    });
+}
+/**
+ * 确定完善信息
+ * @return {[type]} [description]
+ */
+function actionConfirm() {
+    var validatenum = '';
+    var pwd = '';
+
+    $('#confirmsubmit').on('click', function() {
+        var isAssess = true;
+
+        validatenum = $('#validatenum').val();
+        pwd = $('#pwd').val();
+
+        if (validatenum === '') {
+            showErrTip($codeTip, '短信验证码不能为空');
+            isAssess = false;
+        } else if (isvalidatecode === false) {
+            showErrTip($codeTip, '请输入正确的验证码');
+            isAssess = false;
+        }
+
+        if (pwd === '') {
+            showErrTip($pwdTip, '密码不能为空');
+            isAssess = false;
+        } else if (pwd.length < 6 || pwd.length > 20) {
+            showErrTip($pwdTip, '密码只支持6-20位字符');
+            isAssess = false;
+        } else if (!pwdRegx.test(pwd)) {
+            showErrTip($pwdTip, '密码须由字母和数字组合');
+            isAssess = false;
+        } else if (isvalidatepwd === false) {
+            showErrTip($pwdTip, '请输入符合强度的密码');
+            isAssess = false;
+        }
+
+        if (!isAssess) {
+            return;
+        }
+
+        actionSubmit();
+    });
+}
+
+
+
+function init() {
+    $pwd = $('#pwd');
+    $pwdParent = $('.safelevel');
+    $pwdIntensity = $('.pwd-intensity');
+    $pwdTip1 = $('#pwd-tip1');
+    sendMessageValidate();
+    codeValidate();
+    validatePwd();
+    actionConfirm();
+    if (mobile && area) {
+        $sendMsgBtn.click();
+    }
+}
+
+init();
+
+});
+define("js/passport/relate", ["jquery"], function(require, exports, module){
+/**
+ * 第三方关联
+ * @author: yyqing<yanqing.yang@yoho.cn>
+ * @date: 2016/4/11
+ */
+var $ = require("jquery");
+
+var $relateMain = $('#relate-main'),
+    $codeValidate = $('#code-validate'),
+    $vaWrapper = $codeValidate.find('.validate-wrapper'),
+    $msgCode = $codeValidate.find('.msg-code'),
+    $second = $codeValidate.find('.count-down span'),
+    $errTip = $codeValidate.find('.code-error'),
+    $hideDom = $('#hide-info');
+
+var relate = {};
+
+var circleTime = {};
+
+relate = $hideDom.data();
+$hideDom.remove();
+
+// 倒计时
+circleTime = {
+    init: function() {
+        if (this.timer) {
+            window.clearTimeout(this.timer);
+        }
+        this.second = 60;
+        $vaWrapper.addClass('waiting');
+        this.changeTime();
+    },
+    changeTime: function() {
+        var that = this;
+
+        if (this.second && this.second > 0) {
+            $second.text(this.second);
+            this.second--;
+            this.timer = window.setTimeout(function() {
+                that.changeTime();
+            }, 1000);
+        } else {
+            this.clearTime();
+        }
+    },
+    clearTime: function() {
+        if (this.timer) {
+            window.clearTimeout(this.timer);
+        }
+        $vaWrapper.removeClass('waiting');
+    }
+};
+
+function sendVerifyMsg() {
+    circleTime.init();
+
+    $.ajax({
+        type: 'POST',
+        url: '/passport/autouserinfo/sendBindMsg',
+        data: {
+            mobile: relate.mobile,
+            area: relate.area
+        }
+    }).then(function(jsonData) {
+        if (jsonData && jsonData.code !== 200) {
+            circleTime.clearTime();
+            alert(jsonData.message);
+        }
+    });
+}
+
+function relateMobile() {
+    var code = $msgCode.val();
+
+    if (!code) {
+        return;
+    }
+
+    $.ajax({
+        type: 'POST',
+        url: '/passport/autouserinfo/relateMobile',
+        data: {
+            mobile: relate.mobile,
+            area: relate.area,
+            openId: relate.openid,
+            sourceType: relate.source,
+            code: code
+        }
+    }).then(function(jsonData) {
+        if (jsonData.code === 200) {
+            window.location.href = jsonData.data.refer;
+        } else if (jsonData.code === 402) {
+            $errTip.removeClass('hide');
+        } else {
+            $errTip.addClass('hide');
+            alert(jsonData.message);
+        }
+    });
+}
+
+$('#next-step-btn').click(function() {
+    sendVerifyMsg();
+    $relateMain.addClass('hide');
+    $errTip.addClass('hide');
+    $codeValidate.removeClass('hide');
+});
+
+$codeValidate.on('keydown', '.msg-code', function(e) {
+    if (e.keyCode === 13) {
+        relateMobile();
+        return false;
+    }
+});
+
+$codeValidate.on('click', '.get-code', function() {
+    sendVerifyMsg();
+});
+
+$codeValidate.on('click', '.perv-step', function() {
+    circleTime.clearTime();
+    $relateMain.removeClass('hide');
+    $codeValidate.addClass('hide');
+    $msgCode.val('');
+});
+
+$('#relate-btn').click(function() {
+    relateMobile();
+});
+});
+define("js/cart/cart", ["jquery","handlebars","source-map"], function(require, exports, module){
+/**
+ * @description:  购物车
+ * @author: chenglong.wang@yoho.cn
+ * @tips: 购物车的商品计价在服务端处理,客户端只要在每次操作后刷新页面重新渲染就可以了
+ */
+
+var $ = require("jquery");
+var Handlerbars = require("handlebars");
+var dialog = require("js/common/dialog");
+
+var Confirm = dialog.Confirm;
+var Alert = dialog.Alert;
+
+var $cartnewSum = $('.cartnew-sum'),
+    $cartnewTips = $('.cartnew-tips'),
+    $payWapper = $('.pay-wapper'),
+    $goodsDetail = $('.goods-detail'),
+    $histroy = $('.histroy'),
+    $together = $('.together'),
+    $shopCart = $('.shop-cart'),
+    togetherProductSource,
+    togetherProductTemplate,
+    togetherProductStr,
+    subjoinPage,
+    subjoinPageNum,
+    subjoinPageAll,
+    pageDom,
+    selected,
+    pageNum = 1,
+    delUrl,
+    count,
+    countJSON,
+    dataJSON,
+    pacList = 0,
+    shopNum = 1,
+    shopNumAll,
+    productSku,
+    promotionId,
+    promotionPrice,
+    yetCollect,
+    collect,
+    content,
+    productId,
+    shopName,
+    delNum,
+    understock,
+    selectArray = [],
+    PromotionArray = [],
+    perList = false,
+    commonList = false,
+    hasPromotion = false,
+    htmlInfo,
+    shopJson,
+    oldprice,
+    wapperPrice,
+    countBusy = false;
+
+
+// 关闭温馨提示
+$cartnewTips.find('.btn_close').click(function() {
+    $cartnewTips.fadeOut();
+});
+
+// checkbox提交ajax
+function choiceOut(data) {
+    $.ajax({
+        type: 'POST',
+        dataType: 'json',
+        url: '/cart/index/select',
+        data: data,
+        beforeSend: function() {
+            $('.loading').css({
+                top: $(document).scrollTop() + 200
+            });
+            $('.loading').show();
+        }
+    }).then(function(d) {
+        if (d.code === 200) {
+            window.history.go(0);
+        }
+    });
+}
+
+//单选提交
+$payWapper.one('click', '.common-sell-box input[type="checkbox"], .pre-sell-box input[type="checkbox"]', function() {
+    selected = $(this).attr('checked') ? 'Y' : 'N';
+    selectArray = [];
+    selectArray.push({
+        product_sku: $(this).parents('tr').data('id'),
+        selected: selected,
+        buy_number: $(this).parents('tr').data('productnum'),
+        goods_type: $(this).parents('tr').data('goodstype'),
+        promotion_id: $(this).parents('tr').data('promotionid') ? $(this).parents('tr').data('promotionid') : 0
+    });
+    if ($(this).parents('tr').promotion_id) {
+        hasPromotion = true;
+    } else {
+        hasPromotion = false;
+    }
+    dataJSON = {
+        skuList: JSON.stringify(selectArray),
+        hasPromotion: hasPromotion
+    };
+    choiceOut(dataJSON);
+});
+
+//多选提交
+$cartnewSum.one('click', 'input[type="checkbox"]', function() {
+    selectArray = [];
+    shopJson = {};
+    dataJSON = {};
+    selected = $(this).attr('checked') ? 'Y' : 'N';
+    $('.pay-wapper:first tr').each(function() {
+        if ($(this).data('promotionid')) {
+            hasPromotion = true;
+        }
+        if ($(this).data('id')) {
+            selectArray.push({
+                product_sku: $(this).data('id'),
+                selected: selected,
+                buy_number: $(this).data('productnum'),
+                goods_type: $(this).data('goodstype'),
+                promotion_id: $(this).data('promotionid') ? $(this).data('promotionid') : 0
+            });
+        }
+    });
+    dataJSON = {
+        skuList: JSON.stringify(selectArray),
+        hasPromotion: hasPromotion
+    };
+    choiceOut(dataJSON);
+});
+
+function isCheck(obj, className) {
+    selectArray = [];
+    dataJSON = {};
+    selected = obj.attr('checked') ? 'Y' : 'N';
+    $('.' + className).each(function() {
+        if ($(this).data('promotionid')) {
+            hasPromotion = true;
+        } else {
+            hasPromotion = false;
+        }
+        if ($(this).data('id')) {
+            selectArray.push({
+                product_sku: $(this).data('id'),
+                selected: selected,
+                buy_number: $(this).data('productnum'),
+                goods_type: $(this).data('goodstype'),
+                promotion_id: $(this).data('promotionid') ? $(this).data('promotionid') : 0
+            });
+        }
+    });
+    dataJSON = {
+        skuList: JSON.stringify(selectArray),
+        hasPromotion: hasPromotion
+    };
+    choiceOut(dataJSON);
+}
+
+$('.per-list').on('click', 'input[type="checkbox"]', function() {
+    isCheck($(this), 'pre-sell-box');
+});
+
+$('.common-list').on('click', 'input[type="checkbox"]', function() {
+    isCheck($(this), 'common-sell-box');
+});
+
+// 凑单商品,最近浏览异步加载
+togetherProductSource = $('#togetherProduct').html();
+togetherProductTemplate = Handlerbars.compile(togetherProductSource);
+
+function getTogetherProduct($obj, url, page) {
+    $.ajax({
+        type: 'GET',
+        dataType: 'json',
+        url: url,
+        data: page
+    }).then(function(d) {
+        if (d.code === 200) {
+            if (d.data.item) {
+                if (d.data.item.length > 0) {
+                    $obj.html(' ');
+                    togetherProductStr = togetherProductTemplate(d.data);
+                    $obj.append($(togetherProductStr));
+                    $('#orderProduct li:last').addClass('end');
+                    $('.gift').removeClass('none');
+                }
+            }
+        }
+    });
+}
+
+// 最近浏览
+getTogetherProduct($histroy, '/cart/index/getHistroyProduct');
+
+// 凑单商品
+getTogetherProduct($together, '/cart/index/getTogetherProduct');
+
+//凑单商品翻页
+$together.on('click', '.pagenext, .pageprev', function() {
+    getTogetherProduct($together, '/cart/index/getTogetherProduct', {
+        page: Math.ceil(Math.random() * 100) + 1
+    });
+
+});
+
+//凑单商品,历史商品商品折叠
+$shopCart.on('click', '.icon-minus, .icon-add', function() {
+    if ($(this).hasClass('icon-minus')) {
+        $(this).parents('.title').next('.main').hide();
+        $(this).parents('h2').next('.right').hide();
+    } else {
+        $(this).parents('.title').next('.main').show();
+        $(this).parents('h2').next('.right').show();
+    }
+    $(this).siblings('i').toggleClass('none');
+    $(this).toggleClass('none');
+
+});
+
+// 最近浏览翻页
+$histroy.on('click', '.pagenext, .pageprev', function() {
+    if ($(this).hasClass('pagenext')) {
+        pageNum++;
+    } else {
+        --pageNum > 0 || (pageNum = 1);
+    }
+    getTogetherProduct($histroy, '/cart/index/getHistroyProduct', {
+        page: pageNum
+    });
+
+});
+
+
+//根据id获取商品信息
+function productInfo(data) {
+    $.ajax({
+        type: 'GET',
+        dataType: 'html',
+        url: '/cart/index/getProductInfo',
+        data: data
+    }).then(function(d) {
+        pacList = 0;
+        $goodsDetail.html(' ');
+        $goodsDetail.append(d);
+        $goodsDetail.show();
+        $('.detail-bigpic:not(.none) .con li:first').addClass('active');
+
+        if ($('.showSizeBox:not(.none) span').length < 2) {
+            $('.showSizeBox:not(.none) span:first').addClass('atcive');
+        }
+        if (Number($('#addToCart').val()) !== 1) {
+            $('.showSizeBox span').data('num', 0);
+        }
+        $.each($('.showSizeBox span'), function() {
+            if ($(this).data('num') <= 0) {
+                $(this).addClass('null-atcivec');
+                console.log($('.showSizeBox:not(.none) span:first'));
+                $('.showSizeBox:not(.none) span:first').removeClass('atcive');
+            }
+        });
+
+        if (typeof promotionPrice !== 'undefined') {
+            oldprice = $('.detail-info .oldprice del').html() ? $('.detail-info .oldprice del').html() : wapperPrice;
+            htmlInfo = '<span class="oldprice">现价:<del>' + oldprice + '</del></span>' +
+                        '<span class="newprice">活动价:<b class="promotion-price">' + promotionPrice + '</b></span>';
+            $('.detail-info .price').html(htmlInfo);
+        }
+
+        $('.detail-bigpic:not(.none) .bigpic:gt(0)').hide();
+
+        $('.showSizeBox:not(.none)').find('span').each(function() {
+        if ($(this).hasClass('null-atcivec')) {
+            $('.addcart').addClass('none');
+            $('.btn_sellout').removeClass('none');
+        } else {
+            $('.addcart').removeClass('none');
+            $('.btn_sellout').addClass('none');
+            return false;
+        }
+    });
+    });
+}
+
+function removeInfo() {
+    $goodsDetail.html(' ');
+    $goodsDetail.css({
+        top: $(document).scrollTop() + 30,
+        left: $(document).width() / 2 - $goodsDetail.width() / 2
+    });
+
+}
+
+//显示加价购商品信息
+$payWapper.on('click', '.cart-add-btn', function() {
+    productId = $(this).data('id');
+    promotionId = $(this).parents('table').data('promotion');
+    promotionPrice = $(this).parents('table').find('.subjoin-price').html();
+    wapperPrice = $(this).parents('table').find('.wapper-price').html();
+    removeInfo();
+    productInfo({
+        productId: productId
+    });
+});
+
+//凑单商品,历史商品商品记录
+$('.clearfix').on('click', '.btn_view_s', function() {
+    productId = $(this).data('id');
+    promotionId = $(this).parents('table').data('promotion');
+    promotionPrice = $(this).parents('table').find('.subjoin-price').html();
+    removeInfo();
+    productInfo({
+        productId: productId
+    });
+});
+
+//关闭商品信息窗口
+$goodsDetail.on('click', '.colse', function() {
+    $goodsDetail.hide();
+    $goodsDetail.html(' ');
+    shopNum = 1;
+});
+
+//展开加价购商品列表
+function fold(icon) {
+    icon.addClass('none').siblings('i').removeClass('none');
+    icon.parents('.cart-product-num').siblings('div').toggleClass('fold');
+    icon.siblings('.unfold-color').toggleClass('none');
+    icon.siblings('.cart-page').toggleClass('none');
+}
+
+$payWapper.on('click', '.icon-minusCart, .icon-addCart', function() {
+    fold($(this));
+});
+
+
+$payWapper.on('click', '.unfold-color', function() {
+    fold($(this));
+    $(this).siblings('.icon-minusCart').removeClass('none');
+    $(this).siblings('.icon-addCart').addClass('none');
+});
+
+//加价购商品分页
+$payWapper.on('click', '.cart-btn-next', function() {
+    subjoinPage = $(this).siblings('p').find('.f-red');
+    subjoinPageAll = Number($(this).siblings('p').find('.subjoinPageNum').html());
+    subjoinPageNum = Number(subjoinPage.html());
+    subjoinPage.html(subjoinPageNum + 1);
+    if (subjoinPageNum >= subjoinPageAll - 1) {
+        $(this).hide();
+    } else {
+        $(this).siblings('i').show();
+    }
+    pageDom = $(this).parents('.cart-product-num').siblings('div').find('table');
+    pageDom.addClass('none').eq(subjoinPageNum).removeClass('none');
+});
+
+$payWapper.on('click', '.cart-btn-pre', function() {
+    subjoinPage = $(this).siblings('p').find('.f-red');
+    subjoinPageAll = Number($(this).siblings('p').find('.subjoinPageNum').html());
+    subjoinPageNum = Number(subjoinPage.html());
+    subjoinPage.html(subjoinPageNum - 1);
+    if (subjoinPageNum <= 2) {
+        $(this).hide();
+    } else {
+        $(this).siblings('i').show();
+    }
+    pageDom = $(this).parents('.cart-product-num').siblings('div').find('table');
+    pageDom.addClass('none').eq(subjoinPageNum - 2).removeClass('none');
+});
+
+//删除购物车商品,把删除的商品移入cookie中
+function cartDel(data, delUrl, cookieList) {
+    $.ajax({
+        type: 'POST',
+        dataType: 'json',
+        url: delUrl,
+        data: dataJSON,
+        beforeSend: function() {
+            $('.loading').css({
+                top: $(document).scrollTop() + 200
+            });
+            $('.loading').show();
+        }
+    }).then(function(d) {
+        if (d.code === 200) {
+            if (cookieList) {
+                window.setCookie('cart-del-list', JSON.stringify(cookieList), {
+                    domain: '.yohobuy.com',
+                    path: '/'
+                });
+            }
+            window.history.go(0);
+        } else if (d.code === 300) {
+            $('.loading').hide();
+            new Alert(d.message).show();
+        } else if (d.code === 403) {
+            if (d.data.url) {
+                window.location = d.data.url;
+            }
+        }
+    });
+}
+
+//商品信息弹出框,加入收藏夹
+$goodsDetail.on('click', '.fav_count', function() {
+    $.ajax({
+        type: 'POST',
+        dataType: 'json',
+        url: '/product/item/togglecollect',
+        data: {
+            productId: productId,
+            type: 'add'
+        }
+    }).then(function(d) {
+        if (d.code === 200) {
+            new Alert(d.message).show();
+        } else if (d.code === 403) {
+            if (d.data.url) {
+                window.location = d.data.url;
+            }
+        } else {
+            new Alert(d.message).show();
+        }
+    });
+});
+
+
+//删除商品
+$payWapper.on('click', '.cart-del-btn', function() {
+    dataJSON = {};
+    selectArray = [];
+    promotionId = $(this).parents('tr').data('promotionid') ? $(this).parents('tr').data('promotionid') : 0;
+    selectArray.push({
+        product_sku: $(this).parents('tr').data('id'),
+        buy_number: $(this).parents('tr').data('productnum'),
+        promotion_id: promotionId
+    });
+
+    if (promotionId) {
+        hasPromotion = true;
+    } else {
+        hasPromotion = false;
+    }
+
+    dataJSON = {
+        skuList: JSON.stringify(selectArray),
+        hasPromotion: hasPromotion
+    };
+    content = '<div><span></span>删除商品</div>' +
+              '<p>确定从购物车中删除此商品?</p>';
+    if (!$(this).data('gift')) {
+        countJSON = {
+            productPrice: $(this).parents('tr').find('.productPrice').text(),
+            productTitle: $(this).parents('tr').find('.pay-pro-info a').text(),
+            link: $(this).parents('tr').find('.pay-pro-info a').attr('href'),
+            productNum: $(this).parents('tr').data('productnum'),
+            productSku: $(this).parents('tr').data('id'),
+            promotionId: $(this).parents('tr').data('promotionid')
+        };
+    }
+    delUrl = '/cart/index/remove';
+    new Confirm({
+        content: content,
+        cb: function() {
+                cartDel(dataJSON, delUrl, countJSON);
+            }
+    }).show();
+});
+
+//移入收藏夹
+$payWapper.on('click', '.cart-remove-btn', function() {
+    dataJSON = {};
+    selectArray = [];
+    promotionId = $(this).parents('tr').data('promotionid') ? $(this).parents('tr').data('promotionid') : 0;
+    selectArray.push({
+        product_sku: $(this).parents('tr').data('id'),
+        buy_number: $(this).parents('tr').data('productnum'),
+        promotion_id: promotionId
+    });
+
+    if (promotionId) {
+        hasPromotion = true;
+    } else {
+        hasPromotion = false;
+    }
+
+    dataJSON = {
+        skuList: JSON.stringify(selectArray),
+        hasPromotion: hasPromotion
+    };
+
+    cartDel(dataJSON, '/cart/index/fav');
+});
+
+//批量删除商品
+$cartnewSum.on('click', '.delAll', function() {
+    dataJSON = {};
+    countJSON = {};
+    selectArray = [];
+    PromotionArray = [];
+    $('.pay-wapper:first tr').each(function() {
+        if ($(this).find('input[type="checkbox"]').attr('checked')) {
+            promotionId = $(this).data('promotionid') ? $(this).data('promotionid') : 0;
+            if (promotionId) {
+                hasPromotion = true;
+            }
+            if ($(this).data('id')) {
+                if ($(this).find('input[type="checkbox"]').attr('checked')) {
+                    selectArray.push({
+                        product_sku: $(this).data('id'),
+                        buy_number: $(this).data('productnum'),
+                        promotion_id: promotionId
+                    });
+                }
+                countJSON = {
+                    productPrice: $(this).find('.productPrice').text(),
+                    productTitle: $(this).find('.pay-pro-info a').text(),
+                    link: $(this).find('.pay-pro-info a').attr('href'),
+                    productNum: $(this).data('productnum'),
+                    productSku: $(this).data('id'),
+                    promotionId: $(this).data('promotionid')
+                };
+                PromotionArray.push(countJSON);
+            }
+        }
+    });
+    delUrl = '/cart/index/remove';
+    content = '<div><span></span>删除商品</div>' +
+              '<p>确定从购物车中删除所有选中商品?</p>';
+    dataJSON = {
+        skuList: JSON.stringify(selectArray),
+        hasPromotion: hasPromotion
+    };
+    if (!$.isEmptyObject(selectArray)) {
+        new Confirm({
+            content: content,
+            cb: function() {
+                    cartDel(dataJSON, delUrl, PromotionArray);
+                }
+        }).show();
+    } else {
+        new Alert('请至少选择一件商品').show();
+    }
+});
+
+//批量移入收藏夹商品
+$cartnewSum.on('click', '.removeAll', function() {
+    dataJSON = {};
+    countJSON = {};
+    selectArray = [];
+    $('.pay-wapper:first tr').each(function() {
+        if ($(this).find('input[type="checkbox"]').attr('checked')) {
+            promotionId = $(this).data('promotionid') ? $(this).data('promotionid') : 0;
+            if (promotionId) {
+                hasPromotion = true;
+            }
+
+            if ($(this).data('id')) {
+                if ($(this).find('input[type="checkbox"]').attr('checked')) {
+                    selectArray.push({
+                        product_sku: $(this).data('id'),
+                        buy_number: $(this).data('productnum'),
+                        promotion_id: promotionId
+                    });
+                }
+            }
+        }
+    });
+    dataJSON = {
+        skuList: JSON.stringify(selectArray),
+        hasPromotion: hasPromotion
+    };
+    if (!$.isEmptyObject(selectArray)) {
+        cartDel(dataJSON, '/cart/index/fav');
+    } else {
+        new Alert('请至少选择一件商品').show();
+    }
+});
+
+//购物车商品增减
+function countAJAX(data) {
+    countBusy = true;
+    $.ajax({
+        type: 'POST',
+        dataType: 'json',
+        url: '/cart/index/modify',
+        data: data
+    }).then(function(d) {
+        if (d.code === 200) {
+            window.history.go(0);
+        }
+        countBusy = false;
+    });
+}
+
+$payWapper.on('click', '.minus, .plus', function() {
+    countJSON = {};
+    count = $(this).hasClass('minus') ? 'decreaseNum' : 'increaseNum';
+    countJSON['' + count] = 1;
+    if (countBusy || ($(this).siblings('input').val() === '1' && $(this).hasClass('minus'))) {
+        return false;
+    }
+
+    countAJAX($.extend(countJSON,
+        {
+            sku: $(this).parents('tr').data('id')
+        }
+    ));
+});
+
+$('.gift').on('click', '.up, .down', function() {
+    $(this).siblings('i').toggleClass('none');
+    $(this).toggleClass('none');
+});
+
+//加入购物车
+
+function addcart(data, cookieList) {
+    $.ajax({
+        type: 'POST',
+        url: '/cart/index/add',
+        data: data
+    }).then(function(d) {
+        if (d.code === 200) {
+            window.history.go(0);
+            if (cookieList) {
+                window.setCookie('cart-del-list', JSON.stringify(cookieList), {
+                    domain: '.yohobuy.com',
+                    path: '/'
+                });
+            }
+        } else if (d.code === 500) {
+            new Alert(d.message).show();
+        }
+    });
+}
+
+$goodsDetail.on('click', '.addcart', function() {
+    if ($('.showSizeBox:not(.none) .atcive').length !== 0) {
+        shopNumAll = $('.showSizeBox:not(.none) .atcive').data('num');
+        productSku = $('.showSizeBox:not(.none) .atcive').data('sku');
+        dataJSON = {
+            productSku: productSku,
+            buyNumber: $('#mnum').val(),
+            promotionId: promotionId
+        };
+    } else {
+        new Alert('请选择尺码').show();
+        return false;
+    }
+
+    if ($('#mnum').val() > shopNumAll) {
+        new Alert('库存不足,目前还有' + shopNumAll + '个库存').show();
+    } else {
+        if (Number($('#addToCart').val()) === 1) {
+            addcart(dataJSON);
+        } else {
+            new Alert('该商品无法加入购物车').show();
+        }
+    }
+});
+
+$goodsDetail.on('click', '.cut, .add', function() {
+    count = $(this).hasClass('minus') ? 'decreaseNum' : 'increaseNum';
+    if (promotionId) {
+        if ($(this).hasClass('cut')) {
+            new Alert('-_-,已经是最后一件,不能在减了!').show();
+        } else {
+            new Alert('最多只能购买1,您好像购买的太多了!').show();
+        }
+    } else {
+        if ($(this).hasClass('add')) {
+            shopNum++;
+        } else {
+            shopNum--;
+        }
+        if (shopNum < 1) {
+            new Alert('-_-,已经是最后一件,不能在减了!').show();
+            shopNum = 1;
+            return false;
+        }
+
+        $('#mnum').val(shopNum);
+    }
+
+});
+
+$goodsDetail.on('click', '.color', function() {
+    pacList = 0;
+    $('.color').find('p').removeClass('atcive');
+    $(this).find('p').addClass('atcive');
+    $('.showSizeBox').addClass('none').eq($(this).index()).removeClass('none');
+    if ($('.showSizeBox:not(.none) span').length < 2) {
+        $('.showSizeBox:not(.none) span:first').addClass('atcive');
+    }
+    $('.detail-bigpic').addClass('none').eq($(this).index()).removeClass('none');
+    $('.detail-bigpic').eq($(this).index()).find('.bigpic').hide();
+    $('.detail-bigpic').eq($(this).index()).find('.bigpic:first').show();
+    $('.detail-bigpic').eq($(this).index()).find('.con li').removeClass('active');
+    $('.detail-bigpic').eq($(this).index()).find('.con li:first').addClass('active');
+    $('.showSizeBox').eq($(this).index()).find('span').each(function() {
+        if ($(this).hasClass('null-atcivec')) {
+            $('.addcart').addClass('none');
+            $('.btn_sellout').removeClass('none');
+        } else {
+            $('.addcart').removeClass('none');
+            $('.btn_sellout').addClass('none');
+            return false;
+        }
+    });
+});
+
+$goodsDetail.on('click', '.showSizeBox span', function() {
+    shopNumAll = $(this).data('num');
+    if ($(this).data('num') > 0) {
+        $('.showSizeBox:not(.none) span').removeClass('atcivec atcive').eq($(this).index()).addClass('atcive');
+        $('.addcart').removeClass('none');
+        $('.btn_sellout').addClass('none');
+    } else {
+        $('.showSizeBox:not(.none) span').removeClass('atcivec atcive').eq($(this).index()).addClass('atcivec');
+        $('.addcart').addClass('none');
+        $('.btn_sellout').removeClass('none');
+    }
+});
+
+//撤销删除
+$('.goBack').on('click', function() {
+    dataJSON = {};
+    delNum = $('.dev-revocation .goBack').index(this);
+    selectArray = [];
+    $('.dev-revocation tr').each(function(index) {
+        if (delNum !== index) {
+            countJSON = {
+                productPrice: $(this).find('.productPrice').text(),
+                productTitle: $(this).find('.title').text(),
+                link: $(this).find('.title').attr('href'),
+                productNum: $(this).data('productnum'),
+                productSku: $(this).data('productsku'),
+                promotionId: $(this).data('promotionid')
+            };
+            selectArray.push(countJSON);
+        }
+    });
+    dataJSON = {
+        productSku: $(this).parents('tr').data('productsku'),
+        promotionId: $(this).parents('tr').data('promotionid'),
+        buyNumber: $(this).parents('tr').data('productnum')
+    };
+    addcart(dataJSON, selectArray);
+});
+
+$goodsDetail.on('click', '.piclist li', function() {
+    pacList = $(this).index();
+    $('.detail-bigpic:not(.none) .piclist li').removeClass('active');
+    $(this).addClass('active');
+    $('.detail-bigpic:not(.none) .bigpic').hide().eq($(this).index()).show();
+});
+
+function isSollect() {
+    $('.gift-wrapper .fold').show();
+    if ($('.pre-sell-box input:checked').length === $('.pre-sell-box input[type="checkbox"]').length) {
+        $('.per-list input[type="checkbox"]').attr('checked', true);
+    }
+    if ($('.common-sell-box input:checked').length === $('.common-sell-box input[type="checkbox"]').length) {
+        $('.common-list input[type="checkbox"]').attr('checked', true);
+    }
+    if ($('.common-list input[type="checkbox"]').attr('checked')) {
+        commonList = true;
+    }
+    if ($('.per-list input[type="checkbox"]').attr('checked')) {
+        perList = true;
+    }
+    if ($('.per-list').length !== 0 && $('.common-list').length !== 0) {
+        if (commonList && perList) {
+            $('.batch_div input[type="checkbox"]').attr('checked', true);
+        }
+    } else {
+        if (commonList || perList) {
+            $('.batch_div input[type="checkbox"]').attr('checked', true);
+        }
+    }
+
+    $('.cart-page').each(function() {
+        if ($(this).data('pageall') === 1) {
+            $('.cart-btn-pre', this).hide();
+            $('.cart-btn-next', this).hide();
+        } else {
+            $('.cart-btn-pre', this).hide();
+        }
+    });
+
+    if ($('.pre-sell-box input:checked').length > 0 && $('.common-sell-box input:checked').length > 0) {
+        $('.go_cash_tips').show();
+        $('.btn_account_disabled').show();
+        $('.btn_account').hide();
+    } else {
+        $('.go_cash_tips').hide();
+        $('.btn_account').show();
+        $('.btn_account_disabled').hide();
+    }
+
+    $('.pay-wapper tr').each(function() {
+        if ($(this).data('pid')) {
+            selectArray.push($(this).data('pid') + '');
+        }
+
+    });
+    $.ajax({
+        type: 'POST',
+        url: '/cart/index/checkFav',
+        data: {
+            pidList: JSON.stringify(selectArray)
+        }
+    }).then(function(d) {
+        yetCollect = '<span class="cart-yetremove-btn">已收藏</span>';
+        collect = '<a href="javascript:void(0);" class="cart-remove-btn"><span>移入收藏</span></a>';
+        $.each(d.data, function(key, val, index) {
+            $('.pay-wapper tr').each(function() {
+                if (Number($(this).data('pid')) === Number(key)) {
+                    if (val) {
+                        $(this).find('.cart-operation').append(yetCollect);
+                    } else {
+                        $(this).find('.cart-operation').append(collect);
+                    }
+                }
+            });
+        });
+    });
+}
+
+isSollect();
+
+$goodsDetail.on('click', '.pre, .next', function() {
+    if ($(this).hasClass('next')) {
+        if (pacList >= $(this).siblings('.con').find('li').length - 1) {
+            return false;
+        }
+        pacList++;
+    } else {
+        if (pacList < 1) {
+            return false;
+        }
+        pacList--;
+    }
+    $(this).siblings('.con').find('li').removeClass('active').eq(pacList).addClass('active');
+    $('.detail-bigpic:not(.none) .bigpic').hide().eq(pacList).show();
+});
+
+//结算
+$('.btn_account').on('click', function() {
+    understock = '';
+    if ($('.pay-wapper input:checked').parents('tr').find('.tipNoStore').length > 0) {
+        shopName = $('.pay-wapper input:checked').parents('tr').find('.tipNoStore');
+        $.each(shopName.parents('tr').find('.pay-pro-info a'), function() {
+            understock += $(this).html();
+        });
+        new Alert(understock + '库存不足').show();
+    } else {
+        if ($('.zp').length > 0 && !$(this).attr('title')) {
+            $(this).attr('title', '1');
+            new Alert('您有赠品没有选择,请选择完再结算!').show();
+        } else {
+            if ($('input:checked').length > 0) {
+                if ($('.pre-sell-box input:checked').length > 0) {
+                    window.location.href = '/cart/index/orderEnsure?type=2';
+                } else {
+                    window.location.href = '/cart/index/orderEnsure?type=1';
+                }
+            } else {
+                new Alert('请至少选择一件商品').show();
+            }
+        }
+    }
+});
+
+$payWapper.on('selectstart', function() {
+    return false;
+});
+$goodsDetail.on('selectstart', function() {
+    return false;
+});
+});
+define("js/guang/entry", ["jquery","lazyload","dot","jquery-pjax"], function(require, exports, module){
+/**
+ * 逛打包入口
+ * @author: xuqi<qi.xu@yoho.cn>
+ * @date: 2016/3/29
+ */
+
+require("js/guang/list");
+
+require("js/guang/detail");
+
+require("js/guang/index");
+
+});
+define("js/guang/list", ["jquery","lazyload","dot"], function(require, exports, module){
+/**
+ * 逛编辑页、列表页
+ * @author: xuqi<qi.xu@yoho.cn>
+ * @date: 2015/12/15
+ */
+
+require("js/guang/msg");
+require("js/guang/img-blink");
+require("js/guang/right-side");
+});
+define("js/guang/msg", ["jquery","lazyload","dot"], function(require, exports, module){
+var $ = require("jquery"),
+    lazyLoad = require("lazyload");
+
+var prising;
+
+require("dot");
+
+//资讯文字截取和lazyload
+function dotLazy() {
+
+    //文字截取
+    $('.msg-title, .msg-content .content').dotdotdot({
+        wrap: 'letter'
+    });
+
+    //Lazyload
+    lazyLoad($('#msg-list img.lazy'));
+}
+
+//资讯点赞
+$('.guang-page').on('click', '.like-icon', function() {
+    var $this = $(this),
+        msgId = $this.closest('.msg-content').data('id'),
+        url;
+
+    //同一资讯多次点击归一处理
+    if (prising === msgId) {
+        return;
+    }
+
+    prising = msgId;
+
+    $this.toggleClass('liked');
+
+    //点赞或取消点赞
+    if ($this.hasClass('liked')) {
+        url = '/guang/info/praise';
+    } else {
+        url = '/guang/info/cancelPraise';
+    }
+    $.ajax({
+        type: 'GET',
+        url: url,
+        data: {
+            id: msgId,
+            time: new Date().getTime()
+        }
+    }).then(function(data) {
+        if (data.code === 200) {
+            if (data.data * 1 === 0) {
+                $this.next('b').addClass('num-0').children('.num').html('0'); //隐藏数字显示
+            } else {
+                $this.next('b').removeClass('num-0').children('.num').html(data.data);
+            }
+        }
+        prising = false;
+    });
+}).on('mouseenter mouseleave', '.like-icon', function() {
+    $(this).closest('.like').toggleClass('hover');
+});
+
+dotLazy();
+
+exports.dotLazy = dotLazy;
+
+});
+define("js/guang/img-blink", ["jquery"], function(require, exports, module){
+/**
+ * 图片移入闪动效果JS
+ * @auhor: xuqi<qi.xu@yoho.cn>
+ * @date: 2015/7/29
+ */
+
+var $ = require("jquery");
+
+$('.guang-page').on('mouseover', 'a img, a .bg-img', function(e) {
+    var $el = $(e.target);
+
+    //slider中的图片不做此效果
+    if ($el.closest('.slider').length > 0) {
+        return;
+    }
+
+    $el.addClass('blink');
+
+    setTimeout(function() {
+        $el.removeClass('blink');
+    }, 100);
+});
+
+});
+define("js/guang/right-side", ["jquery","lazyload","dot"], function(require, exports, module){
+/**
+ * 右侧栏文字截取js
+ */
+var $ = require("jquery"),
+    lazyLoad = require("lazyload");
+
+require("dot");
+
+$('.ex-reco-context').dotdotdot({
+    wrap: 'letter'
+});
+
+lazyLoad($('.ads img.lazy'));
+});
+define("js/guang/detail", ["jquery","lazyload","dot","jquery-pjax"], function(require, exports, module){
+/**
+ * 逛详情页
+ * @author: liuyue<yue.liu@yoho.cn>
+ * @date: 2015/12/16
+ */
+
+var $ = require("jquery"),
+    lazyLoad = require("lazyload"),
+    $commentArea = $('#comment-area'),
+    articleId = $('.detail-body').data('id');
+
+var $commentList = $commentArea.find('.comments-wrap'),
+    $commentNum = $('#article-comment > .comment-num'),
+    commenting = false, //评论请求尚未返回变量
+    locating = false, //评论页面正在跳转
+    $commentBtn = $('#comment-btn'),
+    MAX_COMMENTS_WORDS = 100,
+    $wordCountTip = $('#word-count-tip');
+
+require("js/guang/right-side");
+require("js/guang/img-blink");
+
+require("js/common/share");
+
+//Pjax
+require("jquery-pjax");
+
+lazyLoad({
+    failure_limit: 50
+});
+
+//点击评论滑到评论区
+// $('#article-comment').click(function() {
+//     $('html, body').animate({
+//         scrollTop: $commentArea.offset().top - 20
+//     }, 800);
+// });
+
+//文章点赞与取消点赞
+$('#prise-btn').click(function() {
+    var prising = false,
+        url,
+        $this = $(this);
+
+    if (prising) {
+        return;
+    }
+    $this.toggleClass('liked');
+    if ($this.hasClass('liked')) {
+
+        //点赞
+        url = '/guang/info/praise';
+    } else {
+
+        //取消点赞
+        url = '/guang/info/cancelPraise';
+    }
+    prising = true;
+    $.ajax({
+        type: 'GET',
+        url: url,
+        data: {
+            id: articleId
+        }
+    }).then(function(data) {
+        if (data.code === 200) {
+            $this.find('.like-num').html(data.data);
+        }
+        prising = false;
+    });
+}).bind('mouseenter mouseleave', function() {
+    $(this).toggleClass('hover');
+});
+
+//文章收藏与取消收藏
+$('#collect-btn').click(function() {
+    var collecting = false,
+        url,
+        col,
+        $this = $(this);
+
+    if (collecting) {
+        return;
+    }
+    if ($this.hasClass('collected')) {
+
+        //取消收藏
+        url = '/guang/info/cancelcollect';
+        col = 0;
+    } else {
+
+        //收藏
+        url = '/guang/info/collect';
+        col = 1;
+    }
+    collecting = true;
+    $.ajax({
+        type: 'GET',
+        url: url,
+        data: {
+            id: articleId
+        }
+    }).then(function(data) {
+        var hrefUrl;
+
+        switch (data.code) {
+            case 401:
+
+                //防止从已有col的页面再次进行跳转后出错的情况
+                if (/\?col=(1|0)/.test(location.href)) {
+                    hrefUrl = location.href.replace(/\?col=(1|0)/, '?col=' + col);
+                } else {
+                    hrefUrl = location.href + '?col=' + col;
+                }
+                location.href = '//www.yohobuy.com/signin.html?refer=' + encodeURI(hrefUrl);
+                break;
+            case 400:
+
+                // alert(data.message);
+                break;
+            case 200:
+                if (/\?col=(1|0)/.test(location.href)) {
+
+                    //如果页面url中含有col,为了防止页面刷新时收藏或者取消收藏会根据col来的问题,进行页面跳转拿掉参数
+                    location.href = location.href.replace(/\?col=(1|0)/, '');
+                } else {
+                    $this.toggleClass('collected');
+                }
+                break;
+        }
+        collecting = false;
+    });
+}).bind('mouseenter mouseleave', function() {
+    $(this).toggleClass('hover');
+});
+
+function showComment() {
+    var commonlist = $('.comments-list').find('li').length;
+
+    if (commonlist === 0) {
+        $('.commnets-resultwrapper').hide();
+        $('.comments-empty').show();
+    } else {
+        $('.commnets-resultwrapper').show();
+        $('.comments-empty').hide();
+    }
+}
+showComment();
+
+//评论
+function comment(id) {
+    var commentInfo = $('#comment-info').val();
+
+    if (commentInfo === '') {
+        alert('评论不能为空');
+        return false;
+    }
+    commenting = true;
+    $.ajax({
+        url: '/guang/info/comment',
+        data: {
+            id: id,
+            comment: commentInfo
+        },
+        type: 'post',
+        success: function(data) {
+            switch (data.code) {
+                case 401:
+                    locating = true;
+                    location.href = '//www.yohobuy.com/signin.html?refer=' +
+                                    window.escape(location.href + '#comment-info');
+                    break;
+                case 400:
+                    alert(data.message);
+                    break;
+                case 200:
+                    if (data.data) {
+                        $commentList.html(data.data.content);
+                        $commentNum.html(data.data.count);
+                        showComment();
+
+                        //clear comment-text
+                        $('#comment-info').val('').keyup();
+                    }
+                    break;
+            }
+            commenting = false;
+        }
+    });
+}
+
+$commentBtn.click(function(e) {
+
+    //页面正在跳转或者正在AJAX请求时评论无效
+    if (locating || commenting) {
+        return false;
+    }
+
+    //字数不符合要求
+    if ($('#comment-info').val().length - MAX_COMMENTS_WORDS > 0) {
+        return;
+    }
+    e.preventDefault();
+    comment(articleId);
+});
+
+
+//comment pager pjax
+$(document).pjax('.comment-pager a', '#pjax-container', {
+    timeout: 5000
+});
+
+//分页后移动到评论框的位置
+$(document).on('pjax:end', function() {
+    showComment();
+    $('html,body').scrollTop($('#comment-info').offset().top);
+});
+
+$('#comment-info').keyup(function() {
+    var len = $(this).val().length,
+        showTxt;
+
+    if (len === 0) {
+        $wordCountTip.html('');
+        $commentBtn.addClass('disable');
+    } else {
+        if (len - MAX_COMMENTS_WORDS <= 0) {
+            showTxt = '还可以输入' + (MAX_COMMENTS_WORDS - len) + '字';
+            $commentBtn.removeClass('disable');
+        } else {
+            showTxt = '已超过<span class="exceed-count">' + (len - MAX_COMMENTS_WORDS) + '</span>字';
+            $commentBtn.addClass('disable');
+        }
+    }
+    $wordCountTip.html(showTxt);
+});
+
+//init
+$('#comment-info').trigger('keyup');
+
+});
+define("js/guang/index", ["jquery","lazyload","dot","jquery-pjax"], function(require, exports, module){
+/**
+ * 逛首页
+ * @author: xuqi<qi.xu@yoho.cn>
+ * @date: 2015/12/15
+ */
+
+var $ = require("jquery");
+
+var msg = require("js/guang/msg");
+
+require("jquery-pjax");
+require("js/common/slider");
+
+require("js/guang/img-blink");
+
+require("js/guang/right-side");
+
+$('#slider').slider(); //初始化slider
+
+$(document).pjax('.pjax-link, .msg-pager a', '#pjax-container', {
+    timeout: 2000
+});
+
+$(document).on('pjax:end', function() {
+    msg.dotLazy();
+});
+});
+define("js/home/entry", ["jquery","handlebars","source-map","dot"], function(require, exports, module){
+/**
+ * 个人中心页js打包入口文件
+ * @author: zhaobiao<bill.zhao@yoho.cn>
+ * @date: 2016/02/17
+ */
+
+require("js/home/index");
+require("js/home/orders");
+require("js/home/favorite");
+require("js/home/currency");
+
+require("js/home/returns");
+require("js/home/comment");
+require("js/home/complaints");
+require("js/home/message");
+
+require("js/home/edit");
+require("js/home/gift");
+require("js/home/validate");
+require("js/home/address");
+require("js/home/common-address");
+});
+define("js/home/index", ["jquery","handlebars","source-map"], function(require, exports, module){
+/**
+ * 个人中心首页
+ * @author: xuqi<qi.xu@yoho.cn>
+ * @date: 2016/2/17
+ */
+
+var $ = require("jquery");
+
+require("js/home/order-block");
+
+//关闭消息提示
+$('#close-message').click(function() {
+    $('.message-tip').slideUp(200);
+});
+
+//新品上架
+(function() {
+    var $naPager = $('.na-pager'),
+        $naUl = $('.new-arrival ul'),
+        naPage = Math.ceil($naUl.children('li').length / 5),
+        naItemWith = $naUl.children('li:last-child').outerWidth(),
+        naCurPage = 1;
+
+    $naUl.width($naUl.width() * naPage);
+
+    //最新上架翻页
+    $naPager.click(function() {
+        var $this = $(this),
+            left;
+
+        if ($this.hasClass('next')) {
+
+            //后翻
+            ++naCurPage;
+
+            //第2页显示前翻按钮
+            if (naCurPage === 2) {
+                $this.siblings().removeClass('no-visible');
+            }
+
+            //最后一页隐藏后翻按钮
+            if (naCurPage === naPage) {
+                $this.addClass('no-visible');
+            }
+        } else {
+
+            //前翻
+            --naCurPage;
+
+            //倒数第2页显示后翻按钮
+            if (naCurPage === naPage - 1) {
+                $this.siblings().removeClass('no-visible');
+            }
+
+            //第1页隐藏前翻按钮
+            if (naCurPage === 1) {
+                $this.addClass('no-visible');
+            }
+        }
+
+        left = -5 * (naCurPage - 1) * naItemWith;
+
+        $naUl.animate({
+            marginLeft: left
+        }, 400);
+    });
+}());
+});
+define("js/home/order-block", ["jquery","handlebars","source-map"], function(require, exports, module){
+/**
+ * 订单
+ * @author: xuqi<qi.xu@yoho.cn>
+ * @date: 2016/2/17
+ */
+
+var $ = require("jquery");
+var Handlebars = require("handlebars");
+
+var dialog = require("js/common/dialog");
+
+var Dialog = dialog.Dialog;
+var Confirm = dialog.Confirm;
+
+var $tpl = $('#cancel-dialog-tpl');
+var deleteDialog = '<div class="order-delete-confirm">' +
+    '<div class="header">' +
+    '<p>删除订单</p>' +
+    '<a href="javascript:;" title="关闭"></a>' +
+    '</div>' +
+    '<div class="body">' +
+    '<p class="confirm-tip"><i class="icon-doubt"></i>{{deleteMessage}}</p>' +
+    '<p class="delete-tip">{{deleteTip}}</p>' +
+    '</div>' +
+    '</div>';
+var html = $tpl.html();
+
+var active;
+
+function cancelFactory(id) {
+    var options = {
+        mask: false,
+        btns: [
+            {
+                id: 'cancel-sure',
+                name: '确定并取消订单',
+                btnClass: ['cancel-sure'],
+                cb: function () {
+                    var $checked = $('.cancel-dialog :checked');
+                    var $tip = $('.cancel-dialog .cancel-tip');
+
+                    if ($checked.length === 0) {
+                        $tip.html('请选择要取消订单的原因');
+                        return;
+                    }
+
+                    $.ajax({
+                        type: 'POST',
+                        url: '/home/orders/cancelorder',
+                        data: {
+                            orderCode: id,
+                            reason: $checked.val()
+                        }
+                    }).then(function (data) {
+                        if (data.code === 200) {
+                            active.close();
+                            history.go(0);
+                        } else {
+                            $tip.html(data.message);
+                        }
+                    });
+                }
+            },
+            {
+                id: 'cancel-no',
+                name: '取消',
+                btnClass: ['cancel-no'],
+                cb: function () {
+                    active.close();
+                }
+            }
+        ],
+        content: html,
+        className: 'cancel-dialog'
+    };
+
+    return new Dialog(options);
+}
+
+$tpl.remove();
+
+//查看物流
+$('.check-logistics').click(function () {
+    $(this).siblings('.logistics').removeClass('hide');
+});
+
+$('.close-logistics').click(function () {
+    $(this).closest('.logistics').addClass('hide');
+});
+
+
+//订单列表&订单详情【取消订单和确认收货】
+$('.me-orders, .order-detail').on('click', '.cancel-order', function (e) {
+
+    //取消订单
+    active = cancelFactory($(this).closest('.order, .order-detail').data('id'));
+    active.show();
+}).on('click', '.confirm-received', function (e) {
+    var id = $(this).closest('.order, .order-detail').data('id');
+
+    //确认收货
+    active = new Confirm({
+        cb: function () {
+            $.ajax({
+                type: 'POST',
+                url: '/home/orders/confirmorder',
+                data: {
+                    orderCode: id
+                }
+            }).then(function (data) {
+                if (data.code === 200) {
+                    active.close();
+                    history.go(0);
+                }
+            });
+        },
+        content: '您确定要确认收货吗?'
+    });
+    active.show();
+}).on('click', '.order-delete', function () {
+    var id = $(this).closest('.order, .order-detail').data('id');
+    active = deleteOrder(id, this);
+    active.show();
+});
+function deleteOrder(id, obj) {
+    // 是否为彻底删除
+    var isFullyDelete = true;
+    var $order = $(obj).parents(".order");
+    var deleteMessage = isFullyDelete ? "您确定要永久删除订单吗?" : "您确定要删除订单吗?";
+    var deleteTip = isFullyDelete ? "永久删除后,订单将无法恢复,您将无法对该订单的商品申请售后服务,请谨慎操作。" : "删除后,您可以在订单回收站找回该订单,也可以做永久删除。";
+    var insert = Handlebars.compile(deleteDialog);
+    var html = insert({deleteMessage: deleteMessage, deleteTip: deleteTip});
+    var options = {
+        mask: false,
+        btns: [
+            {
+                id: 'delete-sure',
+                name: '确定',
+                btnClass: ['delete-sure'],
+                cb: function () {
+                    $.ajax({
+                        type: 'POST',
+                        url: '/home/orders/delOrder',
+                        data: {
+                            orderCode: id,
+                            isFullyDelete: isFullyDelete,
+                        }
+                    }).then(function (data) {
+                        if (data.code === 200) {
+                            active.close();
+                            $order.remove();
+                            location.reload();
+                        }else{
+                            active.close();
+                            new dialog.Alert(data.message).show();
+                        }
+                    });
+                }
+            },
+            {
+                id: 'delete-no',
+                name: '取消',
+                btnClass: ['delete-no'],
+                cb: function () {
+                    active.close();
+                }
+            }
+        ],
+        content: html,
+        className: 'delete-dialog',
+    };
+    return new Dialog(options);
+}
+});
+define("js/home/orders", ["jquery","handlebars","source-map"], function(require, exports, module){
+/**
+ * 我的订单
+ * @author: xuqi<qi.xu@yoho.cn>
+ * @date: 2016/2/17
+ */
+var $ = require("jquery");
+
+
+require("js/home/order-block");
+
+//不同订单包裹提示
+
+$('.why').click(function() {
+    $('#differentBag').show();
+    return false;
+
+});
+$('#differentBag').click(function() {
+    return false;
+});
+$(document).click(function() {
+    $('#differentBag').hide();
+});
+
+
+//订单包裹左右切换
+function lunBo($pre, $next, $ul, $iWidth) {
+    var i = 1,
+        j = 1;
+
+    var iSpeed = 0,
+        isMoving = false;
+
+    $pre.click(function() {
+        if (isMoving) {
+            return;
+        }
+
+        if ($ul.css('left') === '0px') {
+            iSpeed = 0;
+
+        } else {
+            iSpeed += j * $iWidth;
+            isMoving = true;
+        }
+        $ul.stop().animate({
+            left: iSpeed
+        }, 300, function() {
+            isMoving = false;
+        });
+    });
+    $next.click(function() {
+        var $largeLeft = $ul.parent().width() - $ul.width() + 'px';
+
+        if (isMoving) {
+            return;
+        }
+
+        if ($ul.css('left') === $largeLeft) {
+            $ul.css('left', $largeLeft);
+        } else {
+            iSpeed += -i * $iWidth;
+            isMoving = true;
+        }
+
+        $ul.stop().animate({
+            left: iSpeed
+        }, 300, function() {
+            isMoving = false;
+        });
+    });
+}
+
+//订单分类
+$('.bag').find('ul').each(function() {
+    var $pre = $(this).parent().parent().find('.pre');
+    var $next = $(this).parent().parent().find('.next');
+
+    var $iWidth = $(this).find('li').eq(0).width();
+    var $length = $(this).find('li').size();
+    var $ulWidth = $iWidth * $length;
+
+    $(this).css('width', $ulWidth);
+    if ($length > 5) {
+        $pre.show();
+        $next.show();
+        lunBo($pre, $next, $(this), $iWidth);
+    } else {
+        $pre.hide();
+        $next.hide();
+    }
+
+});
+
+});
+define("js/home/favorite", ["jquery","handlebars","source-map","dot"], function(require, exports, module){
+/**
+ * 我的收藏
+ * @author: xuqi<qi.xu@yoho.cn>
+ * @date: 2016/2/23
+ */
+
+var $ = require("jquery"),
+    Handlebars = require("handlebars");
+
+var phoneReg = require("js/passport/mail-phone-regx").phoneRegx['+86'];
+
+var clockTxt = {
+    on: '[ 降价通知 ]',
+    off: '[ 取消通知 ]'
+};
+
+var param = location.href.match(/type=(.*)[&]*/),
+    favType;
+
+var curSkn;
+
+var $curClock;
+
+require("dot");
+
+//商品收藏
+(function() {
+    var $defaultSorts,
+        $allSorts;
+
+    var $bodyMask,
+        $noticeNum,
+        $priceNotice,
+        $noticeContent,
+        $noticeSuccess,
+        $noticeErrorMsg,
+        $noticeSubOrCancel,
+        $phone;
+
+    var reduction = {},
+        noticeNum;
+
+    // 同步订阅数量
+    function syncSubscribeNum(num) {
+        noticeNum = num * 1;
+        $noticeNum.text(num);
+        $noticeSuccess.find('.notice-num').text(5 - num);
+    }
+
+    //关闭价格订阅弹窗和蒙层
+    function closeNoticeBox() {
+        $bodyMask.addClass('hide');
+        $priceNotice.addClass('hide');
+
+        //重置头部文字
+        $noticeSubOrCancel.text('订阅成功');
+    }
+
+    //显示价格订阅弹窗和蒙层
+    function showNoticeBox() {
+        var top = $(document).scrollTop() + $(window).height() / 2;
+
+        if (typeof $bodyMask === 'undefined') {
+            $('body').append('<div class="body-mask hide"></div>');
+            $bodyMask = $('.body-mask');
+        }
+
+        $bodyMask.css({
+            height: $(document).height(),
+            width: $(document).width()
+        }).removeClass('hide');
+
+        $priceNotice.removeClass('error');
+
+        if ($curClock.hasClass('noticed')) {
+
+            //取消降价通知
+            $.ajax({
+                type: 'GET',
+                url: '/home/favorite/cancelnotice',
+                data: {
+                    id: curSkn
+                }
+            }).then(function(data) {
+                if (data.code === 200) {
+                    syncSubscribeNum(data.data.num);
+                    $noticeContent.addClass('hide');
+                    $noticeSuccess.removeClass('hide');
+                    $noticeSubOrCancel.text('取消成功');
+                    $priceNotice.removeClass('hide').css({
+                        top: top
+                    });
+
+                    if ($curClock.closest('.reduction-products').length > 0) {
+                        $curClock.closest('.fav-good').remove();
+                    } else {
+                        $curClock.removeClass('noticed').text(clockTxt.on);
+                    }
+                } else {
+                    if (data.message) {
+                        $noticeErrorMsg.text(data.message);
+                        $priceNotice.removeClass('hide').addClass('error').css({
+                            top: top
+                        });
+                    }
+                }
+            });
+        } else {
+            if (noticeNum >= 5) {
+                $noticeErrorMsg.text('您的订阅数已经到达上限');
+                $priceNotice.removeClass('hide').addClass('error').css({
+                    top: top
+                });
+            } else {
+                $noticeContent.removeClass('hide');
+                $noticeSuccess.addClass('hide');
+                $priceNotice.removeClass('hide').css({
+                    top: top
+                });
+            }
+        }
+
+    }
+
+    if ($('.fav-products').length === 0) {
+        return;
+    }
+
+    $defaultSorts = $('.default-sorts');
+    $allSorts = $('.all-sorts');
+
+    $noticeNum = $('.reduction-notice span');
+
+    $priceNotice = $('.price-notice');
+
+    $noticeContent = $('#price-notice .content');
+    $noticeSuccess = $('#price-notice .success');
+    $noticeErrorMsg = $('#price-notice .error-message');
+    $noticeSubOrCancel = $noticeSuccess.find('.subscribe-or-cancel');
+    $phone = $('#notice-phone-num');
+
+    reduction.phone = $phone.val();
+    reduction.change = false;
+
+    noticeNum = $noticeNum.text() * 1;
+
+    //展开分类
+    $('#spread-sort').click(function() {
+        $defaultSorts.slideUp(function() {
+            $allSorts.slideDown();
+        });
+    });
+
+    //收起分类
+    $('#retract-sort').click(function() {
+        $allSorts.slideUp(function() {
+            $defaultSorts.slideDown();
+        });
+    });
+
+    //降价通知
+    $('.price-down-clock').click(function() {
+        $curClock = $(this);
+        curSkn = $curClock.closest('.fav-good').data('id');
+        showNoticeBox();
+    });
+
+    //checkbox【手动触发checkbox点击后跳转链接的地址】
+    $('.reduction-filter input[type="checkbox"]').change(function() {
+        location.href = $(this).parent().attr('href');
+    });
+
+    //降价通知确定按钮
+    $('#price-notice').on('click', '.close', function() {
+        closeNoticeBox();
+    }).on('click', '.price-notice-sure', function() {
+        var phone,
+            errTxt;
+
+        if (!$priceNotice.hasClass('error') && !$noticeContent.hasClass('hide')) {
+
+            //订阅到手机号
+            phone = $.trim($phone.val());
+
+            if (phone === '' || !phoneReg.test(phone)) {
+                errTxt = phone === '' ? '请输入手机号码' : '手机号码格式不正确';
+
+                $phone.addClass('error');
+                $('#price-notice .err-text').removeClass('hide').find('em').html(errTxt);
+                return;
+            } else {
+                $phone.removeClass('error');
+                $('#price-notice .err-text').addClass('hide');
+            }
+
+            if (reduction.phone !== '' && reduction.phone !== phone && !reduction.change) {
+                $('#price-notice .phone-diff').removeClass('hide');
+                reduction.change = true;
+                return;
+            }
+
+            $.ajax({
+                type: 'GET',
+                url: '/home/favorite/notice',
+                data: {
+                    mobile: phone,
+                    id: curSkn
+                }
+            }).then(function(data) {
+                if (data.code === 200) {
+                    syncSubscribeNum(data.data.num);
+                    $noticeSuccess.removeClass('hide');
+                    $noticeContent.addClass('hide');
+
+                    reduction.phone = phone;
+                    reduction.change = false;
+                    $('#price-notice .phone-diff').addClass('hide');
+
+                    //切换商品通知文字
+                    $curClock.toggleClass('noticed').text(clockTxt.off);
+                } else {
+                    if (data.message) {
+                        $noticeErrorMsg.text(data.message);
+                        $priceNotice.removeClass('hide').addClass('error');
+                    }
+                }
+            });
+        } else {
+
+            //关闭窗口
+            closeNoticeBox();
+        }
+    });
+
+    //商品可参加活动
+    $('.has-activity').click(function() {
+        var $this = $(this),
+            $activites = $this.next('.activites'),
+            $li = $this.closest('li');
+
+        if ($activites.hasClass('hide')) {
+
+            //显示
+            $activites.removeClass('hide');
+            $li.css('padding-bottom', $activites.outerHeight());
+        } else {
+
+            //隐藏
+            $activites.addClass('hide');
+            $li.css('padding-bottom', '');
+        }
+    });
+}());
+
+
+//品牌收藏
+(function() {
+    var naTpl;
+    var naCache = {};
+
+    /**
+     * 翻页控制
+     * @param $li 当前品牌容器
+     * @param flag 翻页方向/-1-pre 1-next
+     */
+    function pageControll($li, flag) {
+        var id = $li.data('id'),
+            $ul = $li.find('.na-goods-ul'),
+            theCache = naCache[id],
+            curPage = theCache.cur ? theCache.cur : 1,
+            page = Math.ceil(theCache.total / 5);
+
+        var $pre = $li.find('.na-pre');
+        var $next = $li.find('.na-next');
+
+        curPage += flag;
+
+        //初始
+        $pre.removeClass('hidden');
+        $next.removeClass('hidden');
+
+        //第一页
+        if (curPage === 1) {
+            $pre.addClass('hidden');
+        }
+
+        //最后一页
+        if (curPage === page) {
+            $next.addClass('hidden');
+        }
+
+        $ul.animate({
+            marginLeft: -(curPage - 1) * $ul.parent('.na-goods').width()
+        }, 200);
+
+        theCache.cur = curPage;
+    }
+
+    function setListPadding($li, $naList) {
+        $li.css('padding-bottom', $naList.outerHeight() + 10);
+    }
+
+    if ($('.fav-brands').length === 0) {
+        return;
+    }
+
+    naTpl = Handlebars.compile($('#na-tpl').html());
+
+    // 新品到着【重要信息:最多显示20个新品到着商品】
+    $('.na-trigger').click(function() {
+        var $this = $(this),
+            $naList = $this.next('.na-list'),
+            $li = $this.closest('li'),
+            id;
+
+        if (!$naList.hasClass('hide')) {
+            $naList.addClass('hide');
+            $li.css('padding-bottom', '');
+            return;
+        }
+
+        id = $li.data('id');
+
+        if (naCache[id] && naCache[id].cache) {
+            $naList.removeClass('hide');
+            setListPadding($li, $naList);
+            return;
+        }
+
+        $.ajax({
+            type: 'GET',
+            url: '/home/favorite/newproduct',
+            data: {
+                id: id
+            }
+        }).then(function(data) {
+            var html,
+                res,
+                tplData;
+
+            if (data.code === 200) {
+                res = data.data;
+                tplData = res.length === 0 ? {} : {
+                    naGoods: res
+                };
+                html = naTpl(tplData);
+
+                $naList.removeClass('hide').find('.na-content').html(html);
+                setListPadding($li, $naList);
+
+                //初始,判断是否显示Next翻页
+                if (res.length > 5) {
+                    $li.find('.na-next').removeClass('hidden');
+                }
+
+                if (!naCache[id]) {
+                    naCache[id] = {};
+                }
+
+                naCache[id].cache = true;//set cache
+                naCache[id].total = res.length;
+            }
+        });
+    });
+
+    $('.na-content').on('click', '.na-pre, .na-next', function() {
+        var $this = $(this);
+
+        var flag = $this.hasClass('na-pre') ? -1 : 1;
+
+        pageControll($this.closest('.fav-brand'), flag);
+    });
+}());
+
+//文章收藏
+(function() {
+    if ($('.fav-articles').length < 0) {
+        return;
+    }
+
+    $('.fav-articles .desc').dotdotdot();
+}());
+
+if (param && param.length) {
+    favType = param[1];
+}
+
+//全选【通用】
+$('#me-checkall').click(function() {
+    $('.checkbox input[type="checkbox"]').prop('checked', $(this).prop('checked'));
+});
+
+//删除收藏
+$('.del-favorite').click(function(e) {
+    var id = $(this).closest('.fav-row').data('id'),
+        shopid = $(this).closest('.fav-row').data('shopid'),
+        brandorshoptype = $(this).closest('.fav-row').data('brandorshoptype');
+
+    e.preventDefault();
+
+    $.ajax({
+        type: 'GET',
+        url: '/home/favorite/cancel',
+        data: {
+            id: id,
+            shopid: shopid,
+            brandorshoptype: brandorshoptype,
+            type: favType
+        }
+    }).then(function(data) {
+        if (data.code === 200) {
+            history.go(0);
+        }
+    });
+});
+
+//删除多个商品/品牌/文章【通用】
+$('#me-del-checked').click(function() {
+    var ids = [],
+        name = '商品';
+
+    if (favType === 'brand') {
+        name = '品牌';
+    } else if (favType === 'article') {
+        name = '文章';
+    }
+
+    if (confirm('您确定要删除您收藏的' + name + '吗?')) {
+        $('.checkbox input[type="checkbox"]:checked').each(function() {
+            ids.push($(this).closest('.fav-row').data('id'));
+        });
+
+        if (ids.length === 0) {
+            alert('请选中您要移除的' + name);
+            return;
+        }
+
+        $.ajax({
+            type: 'GET',
+            url: '/home/favorite/cancel',
+            data: {
+                id: ids.join(','),
+                type: favType
+            }
+        }).then(function(data) {
+            history.go(0);
+        });
+    }
+});
+
+if (location.href.match(/is_reduction=(.*)[&]*/)) {
+    $('.reductionChecked').attr('checked', true);
+}
+if (location.href.match(/is_promotion=(.*)[&]*/)) {
+    $('.activityChecked').attr('checked', true);
+}
+});
+define("js/home/currency", ["jquery"], function(require, exports, module){
+/**
+ * 我的YOHO币
+ * @author: xuqi<qi.xu@yoho.cn>
+ * @date: 2016/3/22
+ */
+
+var $ = require("jquery");
+
+$('.filter-select').change(function() {
+    location.href = $(this).val();
+});
+});
+define("js/home/returns", ["jquery","handlebars","source-map"], function(require, exports, module){
+/**
+ * 我的退/换货
+ * @author: yyqing<yanqing.yang@yoho.cn>
+ * @date: 2016/2/26
+ */
+
+require("js/home/returns-detail");
+require("js/home/returns-apply");
+});
+define("js/home/returns-detail", ["jquery","handlebars","source-map"], function(require, exports, module){
+/**
+ * 退换货详情
+ * @author: yyqing<yanqing.yang@yoho.cn>
+ * @date: 2016/2/26
+ */
+
+var $ = require("jquery"),
+    Handlebars = require("handlebars"),
+    dialog = require("js/common/dialog");
+
+var $returnState = $('.visual-return-state li'),
+    $detail = $('.detail-container'),
+    $courierCode = $('.courier-code'),
+    $expressCompany = $('#express-company'),
+    $expressNumber = $('#express-number'),
+    $expressViewBox = $('.express-view-box > span');
+
+var returnId = $('#return-id').val(),
+    expId = $('#express-old-id').val(),
+    expNumber = $expressNumber.val(),
+    expCompany = '',
+    expList = {},
+    isChange = false;
+
+var Dialog = dialog.Dialog,
+    active,
+    cancelApplyDialog = '<p class="message-title"><i class="{{messageIcon}}"></i>{{messageTitle}}</p><p class="message-summary">{{messageSummary}}</p>';;
+
+function syncExpressInfo() {
+    expCompany = expList[expId] ? expList[expId] : '';
+    $expressViewBox.html(expCompany + ' 快递单号:' + expNumber);
+    $expressCompany.val(expId);
+    $expressNumber.val(expNumber);
+}
+
+function validateExpress() {
+    var send = {};
+
+    send.number = $expressNumber.val();
+    send.id = $expressCompany.val() * 1;
+
+    if (!send.id) {
+        alert('请选择快递公司');
+    } else if (!send.number) {
+        alert('请填入快递单号');
+    } else {
+        return send;
+    }
+
+    return false;
+}
+
+function sendExpressCode() {
+    var sendParm = validateExpress();
+
+    if (!sendParm) {
+        return;
+    }
+
+    $.ajax({
+        type: 'POST',
+        url: '/home/returns/setExpressNumber',
+        data: {
+            id: returnId,
+            isChange: isChange,
+            expressId: sendParm.id,
+            expressNumber: sendParm.number,
+            expressCompany: expList[sendParm.id]
+        }
+    }).then(function(jsonData) {
+        if (jsonData.code === 200) {
+            expId = sendParm.id;
+            expNumber = sendParm.number;
+            $returnState.eq(2).addClass('act');
+        } else {
+            alert(jsonData.message);
+        }
+        syncExpressInfo();
+        $courierCode.removeClass('in-edit');
+    });
+}
+
+function cancelApply(id, url) {
+    var template = Handlebars.compile(cancelApplyDialog);
+    var html = template({messageIcon: 'icon-warn', messageTitle: '取消申请', messageSummary: '您确定要请取消申请吗?'});
+    var options = {
+        mask: true,
+        btns: [
+            {
+                id: 'cancel-sure',
+                name: '确定',
+                btnClass: ['cancel-sure'],
+                cb: function() {
+                    $.ajax({
+                        type: 'POST',
+                        url: url,
+                        data: {
+                            id: id
+                        }
+                    }).then(function(data) {
+                        active.close();
+                        if (data.code === 200) {
+                            location.reload();
+                        } else {
+                            new dialog.Alert(data.message).show();
+                        }
+                    });
+                }
+            },
+            {
+                id: 'cancel-no',
+                name: '取消',
+                btnClass: ['cancel-no'],
+                cb: function() {
+                    active.close();
+                }
+            }
+        ],
+        content: html,
+        className: 'cancel-dialog'
+    };
+    return new Dialog(options);
+}
+
+
+if ($detail.parent().hasClass('exchange-detail')) {
+    isChange = true;
+}
+
+$expressCompany.val(expId);
+
+$detail.find('.company-list').each(function() {
+    var data = $(this).data();
+
+    expList[data.id] = data.name;
+});
+
+$('#modify').click(function() {
+    $courierCode.addClass('in-edit');
+});
+
+$('#submit-btn').click(function() {
+    sendExpressCode();
+});
+
+$('.cancel-return').on('click', '.cancel-trigger', function() {
+    active = cancelApply($(this).data('id'), $(this).data('url'));
+    active.show();
+})
+});
+define("js/home/returns-apply", ["jquery","handlebars","source-map"], function(require, exports, module){
+/**
+ * 退换货申请
+ * @author: yyqing<yanqing.yang@yoho.cn>
+ * @date: 2016/2/29
+ */
+var $ = require("jquery"),
+    Addr = require("js/home/common-address");
+
+var $goodsTable = $('#goods-table'),
+    $checkBox = $goodsTable.find('input[type="checkbox"]'),
+    $reasons = $goodsTable.find('.return-reason'),
+    $file = $goodsTable.find('input[type=file]'),
+    $refundType = $('input[name="refund-type"]'),
+    $province = $('#province'),
+    $city = $('#city'),
+    $areaCode = $('#area');
+
+var $refundInfo = $('#refund-pay-info'),
+    $payYoho = $refundInfo.find('.type-yoho'),
+    $payBank = $refundInfo.find('.type-bank'),
+    $payAli = $refundInfo.find('.type-alipay');
+
+var $exchange = $('.exchange-detail'),
+    $hidePhone = $exchange.find('input[name="hide-phone"]'),
+    $refundMode = $exchange.find('.refund-mode');
+
+var $submitBox = $('.submit-box'),
+    $waitPoint = $submitBox.find('.wait-gif span');
+
+var pageType = 0,  // 0-换货  1-退货
+    orderCode = $('#order-code').val(),
+    defaultArea = $exchange.find('input[name="hide-area"]').val(),
+    defaultPhone = $hidePhone.val(),
+    disPhone = '',
+    verifyTip = '',
+    colorSize = {},
+    timer;
+
+require("plugin/jquery.qupload");
+
+if (defaultPhone) {
+    $hidePhone.remove();
+    disPhone = defaultPhone.replace(/(\d{3})\d{4}(\d{4})/, '$1****$2');
+    $exchange.find('input[name="phone"]').val(disPhone);
+}
+
+$goodsTable.on('mouseenter mouseleave', '.doubt', function(e) {
+    var $this = $(this);
+    var $tipwrapper = $this.parents('.special-tip');
+    var $tipcontent = $tipwrapper.find('.special-content');
+    var width = $tipwrapper.find('> span').width();
+    if(e.type === 'mouseenter'){
+        $tipcontent.css({left: width+10,zIndex:1}).show();
+    }else if(e.type ==='mouseleave'){
+        $tipcontent.css({zIndxex:0}).hide();
+    }
+
+});
+
+function syncRefundMode(code) {
+    $.ajax({
+        type: 'POST',
+        url: '/home/returns/getDelivery',
+        data: {
+            areaCode: code
+        }
+    }).then(function(jsonData) {
+        var _html = '';
+
+        if (jsonData.code === 200) {
+            $.each(jsonData.data, function(k, v) {
+                var checked = '';
+
+                if (v.is_default === 'Y') {
+                    checked = 'checked="checked"';
+                }
+                _html += '<input type="radio" name="delivery-tpye" value="' +
+                    v.id + '" ' + checked + '"">' + v.name;
+            });
+            $refundMode.html(_html);
+        }
+    });
+}
+
+function setBackInput(type) {
+    $payYoho.hide();
+    if (type === 2) {
+        $payBank.show();
+        $payAli.hide();
+        $payYoho.hide();
+    } else if (type === 3) {
+        $payAli.show();
+        $payBank.hide();
+        $payYoho.hide();
+    } else if (type === 4) {
+        $payYoho.show();
+        $payBank.hide();
+        $payAli.hide();
+    }
+}
+
+if ($refundInfo.length) {
+    pageType = 1;
+
+    $refundType.each(function() {
+        if ($(this).prop('checked')) {
+            setBackInput($(this).val() * 1);
+        }
+    });
+} else if (defaultArea) {
+    syncRefundMode(defaultArea);
+}
+
+defaultArea = defaultArea ? defaultArea : '';
+Addr.loadAllData(defaultArea, {
+    areaDomId: 'area'
+});
+
+// 页面获取size列表数据
+$goodsTable.find('.sizeinfo').each(function() {
+    var sizes = [];
+
+    $(this).children().each(function() {
+        sizes.push($(this).data());
+    });
+    colorSize[$(this).data().id] = sizes;
+});
+
+$reasons.change(function() {
+    var $par = $(this).parent().parent(),
+        type = $(this).val() * 1;
+
+    if (type === 4 || type === 6 || type === 8) {
+        $par.next().show();
+    } else {
+        $par.next().hide();
+    }
+});
+
+$checkBox.change(function() {
+    var $par = $(this).parent().parent();
+
+    if ($(this).prop('checked')) {
+        $par.find('select').prop('disabled', false);
+    } else {
+        $par.find('select').val(0).prop('disabled', true);
+        $par.next().hide();
+    }
+});
+
+$goodsTable.on('change', '.exchange-color', function() {
+    var $warp = $(this).closest('.exchange-choose-wrap'),
+        _html = '<option value="0">请选择尺码</option>',
+        id = $(this).val();
+
+    if (colorSize[id]) {
+        $.each(colorSize[id], function(k, v) {
+            _html += '<option value="' + v.id + '">' + v.name + '</option>';
+        });
+    }
+    $warp.find('.exchange-size').html(_html).val(0);
+});
+
+$goodsTable.on('click', '.btn-del', function() {
+    $(this).parent().empty();
+});
+
+$file.each(function(e) {
+    var $this = $('#upload-img-' + e),
+        $par = $this.closest('.problem-description');
+
+    $this.qupload({
+        button_image_url: '',
+        upload_url: '//www.yohobuy.com/home/returns/imgUpload',
+        file_post_name: 'fileData',
+        button_text: '<span class="btn_upload_text">上传图片</span>',
+        button_text_style: '.btn_upload_text{color: #ffffff;}',
+        button_width: 116,
+        button_height: 33,
+        button_text_left_padding: 32,
+        button_text_top_padding: 8,
+        button_action: window.SWFUpload.BUTTON_ACTION.SELECT_FILE,
+        file_size_limit: '10240',
+        file_types: '*.jpg;*.jpeg;*.png;*.bmp',
+        uploadSuccessed: function(data) {
+            var $imgList = $par.find('li'),
+                isShow = false,
+                img, _html;
+
+            img = JSON.parse(data).imgList[0];
+            _html = '<span class="btn-del" title="删除"></span>' +
+                '<img src="' + img[0] + '" width="126" height="126">' +
+                '<input type="hidden" name="imgs" value="' + img.imgRelUrl + '">';
+            $imgList.each(function() {
+                if (!isShow && !$(this).find('img').length) {
+                    isShow = true;
+                    $(this).html(_html);
+                }
+            });
+        }
+    });
+});
+
+$exchange.on('change', '#area', function() {
+    var code = $(this).val() * 1;
+
+    if (code) {
+        syncRefundMode(code);
+    }
+});
+
+$refundType.change(function() {
+    var type = $(this).val() * 1;
+
+    setBackInput(type);
+});
+
+// 打包退换货商品信息
+function packGoogsList() {
+    var goods = [],
+        type = '换货';
+
+    if (pageType) {
+        type = '退货';
+    }
+    if (!$checkBox.length) {
+        verifyTip = '没有可以' + type + '的商品';
+    }
+
+    $checkBox.each(function() {
+        var $par = $(this).parent().parent(),
+            $next = $par.next(),
+            goodsInfo;
+
+        if (verifyTip.length) {
+            return;
+        }
+
+        if ($(this).prop('checked')) {
+            goodsInfo = {
+                product_skn: $par.find('input[name="skn"]').val(),
+                product_skc: $par.find('input[name="skc"]').val(),
+                product_sku: $par.find('input[name="sku"]').val(),
+                goods_type: $par.find('input[name="typeid"]').val(),
+                last_price: $par.find('input[name="price"]').val(),
+                reason: $par.find('.return-reason').val() * 1
+            };
+
+            if (pageType) {
+                goodsInfo.returned_reason = goodsInfo.reason;
+            } else {
+                goodsInfo.exchange_reason = goodsInfo.reason;
+                goodsInfo.new_goods_id = $par.find('.exchange-color').val() * 1;
+                goodsInfo.new_product_sku = $par.find('.exchange-size').val() * 1;
+
+                if (!verifyTip && !goodsInfo.new_goods_id) {
+                    verifyTip = '请选择要换的颜色';
+                }
+
+                if (!verifyTip && !goodsInfo.new_product_sku) {
+                    verifyTip = '请选择要换的尺码';
+                }
+            }
+            if (!verifyTip && !goodsInfo.reason) {
+                verifyTip = '请选择' + type + '原因';
+            }
+
+            if (goodsInfo.reason === 4 ||
+                goodsInfo.reason === 6 ||
+                goodsInfo.reason === 8) {
+                goodsInfo.remark = $.trim($next.find('textarea').val());
+                goodsInfo.evidence_images = [];
+                $next.find('input[name="imgs"]').each(function() {
+                    goodsInfo.evidence_images.push($(this).val());
+                });
+
+                if (!verifyTip && !goodsInfo.remark) {
+                    verifyTip = '请填写' + type + '描述';
+                }
+
+                if (!verifyTip && !goodsInfo.evidence_images.length) {
+                    verifyTip = '请上传图片';
+                }
+            }
+            delete goodsInfo.reason;
+
+            goods.push(goodsInfo);
+        }
+    });
+
+    if (!verifyTip && !goods.length) {
+        verifyTip = '请选择要' + type + '的商品';
+    }
+
+    return goods;
+}
+
+// 打包退货信息
+function packRefundInfo() {
+    var res = {};
+
+    res.goods = packGoogsList();
+    res.payment = {};
+
+    $refundType.each(function() {
+        if ($(this).prop('checked')) {
+            res.payment.return_amount_mode = $(this).val() * 1;
+        }
+    });
+
+    if (!verifyTip && !res.payment.return_amount_mode) {
+        verifyTip = '请选择退款方式';
+    }
+
+    if (res.payment.return_amount_mode === 2) {
+        res.payment.province = $province.val();
+        res.payment.city = $city.val();
+        res.payment.area_code = $areaCode.val();
+        if (!verifyTip && !res.payment.area_code * 1) {
+            verifyTip = '请选择银行所在地';
+        }
+
+        res.payment.bank_name = $.trim($refundInfo.find('input[name="bank-name"]').val());
+        if (!verifyTip && !res.payment.bank_name) {
+            verifyTip = '请填写银行名称';
+        }
+
+        res.payment.payee_name = $.trim($refundInfo.find('input[name="payee-name"]').val());
+        if (!verifyTip && !res.payment.payee_name) {
+            verifyTip = '请填写收款人姓名';
+        }
+
+        res.payment.bank_card = $.trim($refundInfo.find('input[name="bank-card"]').val());
+        if (!verifyTip && !res.payment.bank_card) {
+            verifyTip = '请填写收款账户';
+        }
+
+    } else if (res.payment.return_amount_mode === 3) {
+        res.payment.alipay_name = $.trim($refundInfo.find('input[name="alipay-name"]').val());
+        if (!verifyTip && !res.payment.alipay_name) {
+            verifyTip = '请填写收款人姓名';
+        }
+
+        res.payment.alipay_account = $.trim($refundInfo.find('input[name="alipay-account"]').val());
+        if (!verifyTip && !res.payment.alipay_account) {
+            verifyTip = '请填写收款账户';
+        }
+
+    }
+    return res;
+}
+
+// 打包换货信息
+function packExchangeInfo() {
+    var res = {};
+
+    res.goods = packGoogsList();
+
+    res.consigneeName = $.trim($exchange.find('input[name="name"]').val());
+    if (!verifyTip && !res.consigneeName) {
+        verifyTip = '请填写收货人姓名';
+    }
+
+    res.areaCode = $areaCode.val();
+    if (!verifyTip && !res.areaCode * 1) {
+        verifyTip = '请选择地区';
+    }
+
+    res.address = $.trim($exchange.find('input[name="address"]').val());
+    if (!verifyTip && !res.address) {
+        verifyTip = '请填写详细地址';
+    }
+
+    res.mobile = $.trim($exchange.find('input[name="phone"]').val());
+    if (res.mobile === disPhone) {
+        res.mobile = defaultPhone;
+    } else {
+        if (!verifyTip && !res.mobile) {
+            verifyTip = '请填写手机号';
+        }
+    }
+
+    res.zipCode = $.trim($exchange.find('input[name="postcode"]').val());
+    res.deliveryType = $exchange.find('input[name="delivery-tpye"]:checked').val();
+    if (!verifyTip && !res.deliveryType) {
+        verifyTip = '请选择商品返回方式';
+    }
+
+    return res;
+}
+
+function loadWaiting(status) {
+    var text = '○';
+
+    if (status) {
+        $submitBox.addClass('applying');
+        timer = setInterval(function() {
+            $waitPoint.text(text);
+            if (text.length > 3) {
+                text = '';
+            }
+            text += '○';
+        }, 600);
+    } else {
+        $submitBox.removeClass('applying');
+        clearInterval(timer);
+    }
+}
+
+// 提交申请
+$('.save-btn').click(function() {
+    var url, data;
+
+    verifyTip = '';  // 初始化提示语
+    if (pageType) {
+        url = '/home/returns/saveRefund';
+        data = packRefundInfo();
+    } else {
+        url = '/home/returns/saveExchange';
+        data = packExchangeInfo();
+    }
+    data.orderCode = orderCode;
+
+    if (verifyTip) {
+        alert(verifyTip);
+        return;
+    }
+
+    loadWaiting(true);
+    $.ajax({
+        type: 'POST',
+        url: url,
+        data: data
+    }).then(function(jsonData) {
+        if (jsonData.code === 200) {
+            if (jsonData.data && jsonData.data.refer) {
+                window.location.href = jsonData.data.refer;
+            }
+        } else {
+            alert(jsonData.message);
+            loadWaiting(false);
+        }
+    });
+});
+});
+define("js/home/common-address", ["jquery","handlebars","source-map"], function(require, exports, module){
+/**
+ * 个人中心页-地址管理
+ * @author: wsl<shuiling.wang@yoho.cn>
+ * @date: 2016/02/24
+ */
+
+var $ = require("jquery"),
+    dialog = require("js/common/dialog"),
+    Alert = dialog.Alert;
+
+var address = {
+
+    // 省的控件ID
+    provinceDomId: 'province',
+
+    // 城市的控件ID
+    cityDomId: 'city',
+
+    // 地区的控件ID
+    areaDomId: 'areaCode',
+
+    initDomIds: function(domOptions) {
+        var the = this;
+
+        if (domOptions.provinceDomId !== undefined) {
+            the.provinceDomId = domOptions.provinceDomId;
+        }
+        if (domOptions.cityDomId !== undefined) {
+            the.cityDomId = domOptions.cityDomId;
+        }
+        if (domOptions.areaDomId !== undefined) {
+            the.areaDomId = domOptions.areaDomId;
+        }
+    },
+
+    // 初始化地址数据
+    loadAreaData: function(pCode, toDomId, defaultValue, allCode) {
+        var the = this,
+            $toDom = $('#' + toDomId),
+            i = 0,
+            point = '';
+
+        var active,
+            val,
+            nId,
+            selecter;
+
+        $toDom.empty();
+
+        if (pCode < 91) {
+            $('#' + the.areaDomId).empty();
+            $('#county').attr('disabled', 'disabled');
+        }
+
+        $.ajax({
+            type: 'GET',
+            url: '/home/address/area',
+            data: 'id=' + pCode,
+
+            success: function(jsonData) {
+                jsonData.code = 200;
+
+                if (jsonData.code !== 200) {
+                    active = new Alert('暂无数据');
+                    active.show();
+                    return false;
+                }
+
+                $toDom.append('<option value="0">' + defaultValue + '</option>');
+                for (i in jsonData.options) {
+                    if (jsonData.options[i]) {
+                        val = jsonData.options[i];
+                        point = (toDomId === the.areaDomId && val.is_support === 'Y') ? '*' : '';
+                        nId = val.value;
+                        selecter = '';
+
+                        if (typeof (allCode) !== 'undefined' && allCode !== 0 &&
+                            nId === allCode.substr(0, nId.length)) {
+                            selecter = 'selected';
+                        }
+                        $toDom.append('<option value="' + nId + '" ' + selecter + '>' + point + val.text + '</option>');
+                    }
+                }
+            }
+        });
+    },
+    bindAreaChange: function(domOptions) {
+        var the = this;
+
+        if ($('#' + the.provinceDomId).data('events') !== undefined) {
+            return;
+        }
+
+        // 初始化
+        $('#' + the.provinceDomId).change(function() {
+            var pCode = $('#' + the.provinceDomId).val();
+
+            if (pCode === '0') {
+                return;
+            }
+
+            the.loadAreaData(pCode, the.cityDomId, '请选择城市', pCode);
+            $('#' + the.areaDomId).hide();
+            the.showAreaSel(domOptions.dispDomId);
+        });
+
+        $('#' + this.cityDomId).change(function() {
+            var pCode = $('#' + the.cityDomId).val();
+
+            if (pCode === '0') {
+                return;
+            }
+
+            the.loadAreaData(pCode, the.areaDomId, '请选择区县', pCode);
+            $('#' + the.areaDomId).show();
+            the.showAreaSel(domOptions.dispDomId);
+        });
+
+        $('#' + the.areaDomId).change(function() {
+            the.showAreaSel(domOptions.dispDomId);
+        });
+
+        the.showAreaSel(domOptions.dispDomId);
+    },
+
+    /**
+     * 显示地区选择
+     */
+    showAreaSel: function(dispDomId) {
+        var the = this,
+            strAddr = '',
+            strProvince = $('#' + the.provinceDomId).find('option:selected').text(),
+            strCity = $('#' + the.cityDomId).find('option:selected').text(),
+            strArea = $('#' + the.areaDomId).find('option:selected').text();
+
+        if (dispDomId !== undefined && dispDomId !== '') {
+            if (strProvince.indexOf('选择') < 0) {
+                strAddr = strProvince;
+            }
+
+            if (strCity !== '' && strCity.indexOf('选择') < 0) {
+                strAddr += ',' + strCity;
+            }
+
+            if (strArea !== '' && strArea.indexOf('选择') < 0) {
+                strAddr += ',' + strArea;
+            }
+            $('#' + dispDomId).html(strAddr);
+        }
+    },
+
+    loadAllData: function(areaCode, domOptions) {
+        var the = this;
+
+        the.initDomIds(domOptions);
+        areaCode += '';
+
+        if (areaCode < 91) {
+            the.loadAreaData(0, the.provinceDomId, '请选择省份', '');
+            $('#' + the.areaDomId).hide();
+            $('#' + the.cityDomId).html('<option value="0">请选择市</option>');
+        } else if (areaCode.length === 4) {
+            the.loadAreaData(0, the.provinceDomId, '请选择省份', areaCode);
+            the.loadAreaData(areaCode.substr(0, 2), the.cityDomId, '请选择城市', areaCode);
+            the.loadAreaData(areaCode, the.areaDomId, '请选择区县', areaCode);
+            $('#' + the.areaDomId).show();
+        } else if (areaCode.length === 6) {
+            the.loadAreaData(0, the.provinceDomId, '请选择省份', areaCode);
+            the.loadAreaData(areaCode.substr(0, 2), the.cityDomId, '请选择城市', areaCode);
+            the.loadAreaData(areaCode.substr(0, 4), the.areaDomId, '请选择区县', areaCode);
+            $('#' + this.areaDomId).show();
+        }
+        the.bindAreaChange(domOptions);
+    }
+};
+
+module.exports = address;
+
+});
+define("plugin/jquery.qupload", ["jquery"], function(require, exports, module){
+/**
+ * upload plugin
+ * 
+ */
+var $ = require("jquery");
+var SWFUpload = require("plugin/swfupload.queue").SWFUpload;
+
+var file_upload_limit = 6;
+$.fn.extend({
+    qupload : function(options) {
+        writeProgressHtml();
+        initSwfUpload($(this).attr('id'), options);
+    }
+});
+
+var hasProgreeHtml = 0;
+
+// 创建进度条的html
+function writeProgressHtml() {
+    if (hasProgreeHtml == 0) // 一个页面只创建一次
+    {
+        $('body')
+                .append(
+                        '<div id="progressDialog" style="display: none;width:370px;height:80px !important;"><div style="padding:10px 20px;"><span id="curUploadStatus">图片上传中……请稍等</span><div id="progress"></div></div></div>');
+        hasProgreeHtml = 1;
+    }
+}
+
+function setUploadStatus(uploadNum, totalUploadNum) {
+    $('#uploadNum').html(uploadNum);
+    $('#totalUploadNum').html(totalUploadNum);
+}
+
+// 初始化swf
+function initSwfUpload(btnId, options) {
+    // 上传成功的回调函数
+    var uploadSuccessCallBack = null;
+    if (options.uploadSuccessed != undefined) {
+        uploadSuccessCallBack = options.uploadSuccessed;
+    }
+    // 上传的key
+    var uploadKeyValue = '';
+    if (options.uploadKey != undefined) {
+        uploadKeyValue = options.uploadKey;
+    }
+
+    // 上传之前可以做的操作参数
+    var preUploadCallBack = null;
+    if (options.preupload != undefined) {
+        preUploadCallBack = options.preupload;
+    }
+
+    // 弹出层ID
+    var progressDivId = 'progressDialog';
+    // 进度条ID
+    var progressTargetId = 'progress';
+
+    // 共有多少张需要上传
+    var totalUploadNum = 0;
+
+    // 当前已经上传的张数
+    var curUploadedNum = 0;
+
+    this.options = options;
+
+    var numTest = 0;
+    
+    var errmsg_box = this.options.errmsg_box;
+
+    // 设置默认值函数
+    function setDefaultValue(optionName, optionValue) {
+        this.options[optionName] = options[optionName] == undefined ? optionValue
+                : options[optionName];
+    }
+
+    setDefaultValue('flash_url',
+            "http://static.yohobuy.com/admin/js/swfupload/swfupload.swf");
+    setDefaultValue('upload_url', "http://upload.yohobuy.com");
+    setDefaultValue('file_post_name', "Filedata");
+    setDefaultValue('file_size_limit', "2 MB");
+    setDefaultValue('file_types', "*.*");
+    setDefaultValue('file_types_description', "All Files");
+    setDefaultValue('file_upload_limit', file_upload_limit);
+    setDefaultValue('file_queue_limit', 0);
+    setDefaultValue('button_image_url',
+            "http://static.yohobuy.com/admin/images/btn_swfupload.png");
+    setDefaultValue('button_width', "104");
+    setDefaultValue('button_height', "20");
+    setDefaultValue('button_text', '<span class="btn_upload_xzzp">选择本地照片</span>');
+    setDefaultValue('button_text_style', '.btn_upload_xzzp{color:#ffffff}');
+    setDefaultValue('button_text_left_padding', 24);
+    setDefaultValue('button_text_top_padding', 0);
+    setDefaultValue('button_window_mode', 'TRANSPARENT');
+    setDefaultValue('button_cursor', '-2');
+
+    var settings = {
+        flash_url : this.options.flash_url,
+        upload_url : this.options.upload_url,
+        file_post_name : this.options.file_post_name,
+        // post_params: {"PHPSESSID" : "<?php echo session_id(); ?>"},
+        file_size_limit : this.options.file_size_limit,
+        file_types : this.options.file_types,
+        file_types_description : this.options.file_types_description,
+        file_upload_limit : this.options.file_upload_limit,
+        file_queue_limit : this.options.file_queue_limit,
+        prevent_swf_caching : false,
+        preserve_relative_urls : false,
+        custom_settings : {
+
+        },
+        debug : false,
+
+        // Button settings
+        button_image_url : this.options.button_image_url,
+        button_width : this.options.button_width,
+        button_height : this.options.button_height,
+        button_placeholder_id : btnId,
+        button_text : this.options.button_text,
+        button_text_style : this.options.button_text_style,
+        button_text_left_padding : this.options.button_text_left_padding,
+        button_text_top_padding : this.options.button_text_top_padding,
+        button_window_mode : this.options.button_window_mode,
+        button_cursor : this.options.button_cursor,
+
+        // The event handler functions are defined in handlers.js
+        file_dialog_start_handler : fileDialogStart,
+        file_queued_handler : fileQueued,
+        file_queue_error_handler : fileQueueError,
+        file_dialog_complete_handler : fileDialogComplete,
+        upload_start_handler : uploadStart,
+        upload_progress_handler : uploadProgress,
+        upload_error_handler : uploadError,
+        upload_success_handler : uploadSuccess,
+        upload_complete_handler : uploadComplete,
+        queue_complete_handler : queueComplete,
+        button_action: this.options.button_action
+    };
+
+    var swfu = new SWFUpload(settings);
+
+    function fileQueued(file) {
+        try {
+
+        } catch (ex) {
+            this.debug(ex);
+        }
+
+    }
+
+    function fileQueueError(file, errorCode, message) {
+        var errmsg;
+        try {
+            if (errorCode === SWFUpload.QUEUE_ERROR.QUEUE_LIMIT_EXCEEDED) {
+                alert("您尝试上传太多文件.\n"
+                        + (message === 0 ? "您已达到上传限制." : "您最多还可以 "
+                                + (message > 1 ? "上传 " + message + "文件."
+                                        : "一个文件.")));
+                return;
+            }
+            
+            // var progress = new FileProgress(file,
+            // this.customSettings.progressTarget);
+            // progress.setError();
+            // progress.toggleCancel(false);
+            switch (errorCode) {
+            
+            case SWFUpload.QUEUE_ERROR.FILE_EXCEEDS_SIZE_LIMIT:
+                // progress.setStatus("File is too big.");
+                
+                errmsg = '文件超过'+settings.file_size_limit/1024+'M';
+                alert(errmsg);
+                this.debug("Error Code: File too big, File name: "
+                                + file.name + ", File size: " + file.size
+                                + ", Message: " + message); 
+                break;
+            case SWFUpload.QUEUE_ERROR.ZERO_BYTE_FILE:
+                // progress.setStatus("Cannot upload Zero Byte files.");
+                alert('请上传有内容的文件!');
+                this.debug("Error Code: Zero byte file, File name: "
+                        + file.name + ", File size: " + file.size
+                        + ", Message: " + message);
+                break;
+            case SWFUpload.QUEUE_ERROR.INVALID_FILETYPE:
+                alert('请上传指定类型的文件!');
+                this.debug("Error Code: Invalid File Type, File name: "
+                        + file.name + ", File size: " + file.size
+                        + ", Message: " + message);
+                break;
+            default:
+                if (file !== null) {
+                    // progress.setStatus("Unhandled Error");
+                }
+                alert('上传文件失败,请稍后在试!');
+                this.debug("Error Code: " + errorCode + ", File name: "
+                        + file.name + ", File size: " + file.size
+                        + ", Message: " + message);
+                break;
+            }
+        } catch (ex) {
+            this.debug(ex);
+        }
+    }
+
+    function fileDialogStart() {
+        if (preUploadCallBack != null) {
+            preUploadCallBack();
+        }
+    }
+
+    // 选择文件完成
+    function fileDialogComplete(numFilesSelected, numFilesQueued) {
+        try {
+
+            if (numFilesSelected > 0) {
+                // document.getElementById(this.customSettings.cancelButtonId).disabled
+                // = false;
+                totalUploadNum = numFilesSelected;
+                curUploadedNum = 1;
+                setUploadStatus(curUploadedNum, totalUploadNum);
+                this.startUpload();
+            }
+
+        } catch (ex) {
+            this.debug(ex);
+        }
+    }
+
+    // 开始上传
+    function uploadStart(file) {
+        this.addPostParam('_key', uploadKeyValue);
+        //$('#' + progressDivId).dialog();
+    }
+
+    // 上传进度
+    function uploadProgress(file, bytesLoaded, bytesTotal) {
+        // $('#uploadData').html(bytesLoaded + "/" + bytesTotal);
+        // $('#uploadData').html( $('#uploadData').html() + ' - ' + bytesLoaded
+        // + '+' + ',' + bytesTotal );
+        var percent = Math.ceil((bytesLoaded / bytesTotal) * 100);
+        //$("#progress").progressbar({
+        //  value : percent
+        //});
+    }
+
+    // 上传成功
+    function uploadSuccess(file, serverData) {
+        curUploadedNum++;
+        setUploadStatus(curUploadedNum, totalUploadNum);
+        if (uploadSuccessCallBack != null) {
+            uploadSuccessCallBack(serverData);
+        }
+    }
+
+    // 上传出错
+    function uploadError(file, errorCode, message) {
+
+        try {
+            if (errorCode === SWFUpload.QUEUE_ERROR.QUEUE_LIMIT_EXCEEDED) {
+                alert("您尝试上传太多文件.\n"
+                        + (message === 0 ? "您已达到上传限制." : "您最多还可以 "
+                                + (message > 1 ? "上传 " + message + "文件."
+                                        : "一个文件.")));
+                return;
+            }
+            switch (errorCode) {
+            
+            case SWFUpload.QUEUE_ERROR.FILE_EXCEEDS_SIZE_LIMIT:
+                alert("Error Code: 文件太大。 文件名为: " + file.name + ", 大小为: "
+                        + file.size + ", Message: " + message);
+                break;
+            case SWFUpload.QUEUE_ERROR.ZERO_BYTE_FILE:
+
+                alert("Error Code: 文件为0, 文件名为: " + file.name + ", 大小为: "
+                        + file.size + ", Message: " + message);
+                break;
+            case SWFUpload.QUEUE_ERROR.INVALID_FILETYPE:
+                alert("Error Code: 文件类型不合要求, 文件名为: " + file.name + ", 大小为: "
+                        + file.size + ", Message: " + message);
+                break;
+            default:
+                if (file !== null) {
+
+                }
+                alert("上传出错" + "Error Code: " + errorCode + ", File name: "
+                        + file.name + ", File size: " + file.size
+                        + ", Message: " + message);
+                break;
+            }
+        } catch (ex) {
+            this.debug(ex);
+        }
+    }
+
+    // 上传完成
+    function uploadComplete(file) {
+        //$('#' + progressDivId).dialog('close');
+    }
+
+    // This event comes from the Queue Plugin
+    function queueComplete(numFilesUploaded) {
+
+    }
+}
+
+window.SWFUpload = SWFUpload;
+});
+define("plugin/swfupload.queue", [], function(require, exports, module){
+/*
+    Queue Plug-in
+    
+    Features:
+        *Adds a cancelQueue() method for cancelling the entire queue.
+        *All queued files are uploaded when startUpload() is called.
+        *If false is returned from uploadComplete then the queue upload is stopped.
+         If false is not returned (strict comparison) then the queue upload is continued.
+        *Adds a QueueComplete event that is fired when all the queued files have finished uploading.
+         Set the event handler with the queue_complete_handler setting.
+        
+    */
+var SWFUpload = require("plugin/swfupload").SWFUpload;
+
+if (typeof(SWFUpload) === "function") {
+    SWFUpload.queue = {};
+    
+    SWFUpload.prototype.initSettings = (function (oldInitSettings) {
+        return function () {
+            if (typeof(oldInitSettings) === "function") {
+                oldInitSettings.call(this);
+            }
+            
+            this.queueSettings = {};
+            
+            this.queueSettings.queue_cancelled_flag = false;
+            this.queueSettings.queue_upload_count = 0;
+            
+            this.queueSettings.user_upload_complete_handler = this.settings.upload_complete_handler;
+            this.queueSettings.user_upload_start_handler = this.settings.upload_start_handler;
+            this.settings.upload_complete_handler = SWFUpload.queue.uploadCompleteHandler;
+            this.settings.upload_start_handler = SWFUpload.queue.uploadStartHandler;
+            
+            this.settings.queue_complete_handler = this.settings.queue_complete_handler || null;
+        };
+    })(SWFUpload.prototype.initSettings);
+
+    SWFUpload.prototype.startUpload = function (fileID) {
+        this.queueSettings.queue_cancelled_flag = false;
+        this.callFlash("StartUpload", [fileID]);
+    };
+
+    SWFUpload.prototype.cancelQueue = function () {
+        this.queueSettings.queue_cancelled_flag = true;
+        this.stopUpload();
+        
+        var stats = this.getStats();
+        while (stats.files_queued > 0) {
+            this.cancelUpload();
+            stats = this.getStats();
+        }
+    };
+    
+    SWFUpload.queue.uploadStartHandler = function (file) {
+        var returnValue;
+        if (typeof(this.queueSettings.user_upload_start_handler) === "function") {
+            returnValue = this.queueSettings.user_upload_start_handler.call(this, file);
+        }
+        
+        // To prevent upload a real "FALSE" value must be returned, otherwise default to a real "TRUE" value.
+        returnValue = (returnValue === false) ? false : true;
+        
+        this.queueSettings.queue_cancelled_flag = !returnValue;
+
+        return returnValue;
+    };
+    
+    SWFUpload.queue.uploadCompleteHandler = function (file) {
+        var user_upload_complete_handler = this.queueSettings.user_upload_complete_handler;
+        var continueUpload;
+        
+        if (file.filestatus === SWFUpload.FILE_STATUS.COMPLETE) {
+            this.queueSettings.queue_upload_count++;
+        }
+
+        if (typeof(user_upload_complete_handler) === "function") {
+            continueUpload = (user_upload_complete_handler.call(this, file) === false) ? false : true;
+        } else if (file.filestatus === SWFUpload.FILE_STATUS.QUEUED) {
+            // If the file was stopped and re-queued don't restart the upload
+            continueUpload = false;
+        } else {
+            continueUpload = true;
+        }
+        
+        if (continueUpload) {
+            var stats = this.getStats();
+            if (stats.files_queued > 0 && this.queueSettings.queue_cancelled_flag === false) {
+                this.startUpload();
+            } else if (this.queueSettings.queue_cancelled_flag === false) {
+                this.queueEvent("queue_complete_handler", [this.queueSettings.queue_upload_count]);
+                this.queueSettings.queue_upload_count = 0;
+            } else {
+                this.queueSettings.queue_cancelled_flag = false;
+                this.queueSettings.queue_upload_count = 0;
+            }
+        }
+    };
+}
+
+exports.SWFUpload = SWFUpload;
+});
+define("plugin/swfupload", [], function(require, exports, module){
+/**
+ * SWFUpload: http://www.swfupload.org, http://swfupload.googlecode.com
+ *
+ * mmSWFUpload 1.0: Flash upload dialog - http://profandesign.se/swfupload/,  http://www.vinterwebb.se/
+ *
+ * SWFUpload is (c) 2006-2007 Lars Huring, Olov Nilz锟絥 and Mammon Media and is released under the MIT License:
+ * http://www.opensource.org/licenses/mit-license.php
+ *
+ * SWFUpload 2 is (c) 2007-2008 Jake Roberts and is released under the MIT License:
+ * http://www.opensource.org/licenses/mit-license.php
+ *
+ */
+
+
+/* ******************* */
+/* Constructor & Init  */
+/* ******************* */
+var SWFUpload;
+
+if (SWFUpload == undefined) {
+    SWFUpload = function (settings) {
+        this.initSWFUpload(settings);
+    };
+}
+
+SWFUpload.prototype.initSWFUpload = function (settings) {
+    try {
+        this.customSettings = {};   // A container where developers can place their own settings associated with this instance.
+        this.settings = settings;
+        this.eventQueue = [];
+        this.movieName = "SWFUpload_" + SWFUpload.movieCount++;
+        this.movieElement = null;
+
+
+        // Setup global control tracking
+        SWFUpload.instances[this.movieName] = this;
+
+        // Load the settings.  Load the Flash movie.
+        this.initSettings();
+        this.loadFlash();
+        this.displayDebugInfo();
+    } catch (ex) {
+        delete SWFUpload.instances[this.movieName];
+        throw ex;
+    }
+};
+
+/* *************** */
+/* Static Members  */
+/* *************** */
+SWFUpload.instances = {};
+SWFUpload.movieCount = 0;
+SWFUpload.version = "2.2.0 2009-03-25";
+SWFUpload.QUEUE_ERROR = {
+    QUEUE_LIMIT_EXCEEDED            : -100,
+    FILE_EXCEEDS_SIZE_LIMIT         : -110,
+    ZERO_BYTE_FILE                  : -120,
+    INVALID_FILETYPE                : -130
+};
+SWFUpload.UPLOAD_ERROR = {
+    HTTP_ERROR                      : -200,
+    MISSING_UPLOAD_URL              : -210,
+    IO_ERROR                        : -220,
+    SECURITY_ERROR                  : -230,
+    UPLOAD_LIMIT_EXCEEDED           : -240,
+    UPLOAD_FAILED                   : -250,
+    SPECIFIED_FILE_ID_NOT_FOUND     : -260,
+    FILE_VALIDATION_FAILED          : -270,
+    FILE_CANCELLED                  : -280,
+    UPLOAD_STOPPED                  : -290
+};
+SWFUpload.FILE_STATUS = {
+    QUEUED       : -1,
+    IN_PROGRESS  : -2,
+    ERROR        : -3,
+    COMPLETE     : -4,
+    CANCELLED    : -5
+};
+SWFUpload.BUTTON_ACTION = {
+    SELECT_FILE  : -100,
+    SELECT_FILES : -110,
+    START_UPLOAD : -120
+};
+SWFUpload.CURSOR = {
+    ARROW : -1,
+    HAND : -2
+};
+SWFUpload.WINDOW_MODE = {
+    WINDOW : "window",
+    TRANSPARENT : "transparent",
+    OPAQUE : "opaque"
+};
+
+// Private: takes a URL, determines if it is relative and converts to an absolute URL
+// using the current site. Only processes the URL if it can, otherwise returns the URL untouched
+SWFUpload.completeURL = function(url) {
+    if (typeof(url) !== "string" || url.match(/^https?:\/\//i) || url.match(/^\//)) {
+        return url;
+    }
+    
+    var currentURL = window.location.protocol + "//" + window.location.hostname + (window.location.port ? ":" + window.location.port : "");
+    
+    var indexSlash = window.location.pathname.lastIndexOf("/");
+    if (indexSlash <= 0) {
+        path = "/";
+    } else {
+        path = window.location.pathname.substr(0, indexSlash) + "/";
+    }
+    
+    return /*currentURL +*/ path + url;
+    
+};
+
+
+/* ******************** */
+/* Instance Members  */
+/* ******************** */
+
+// Private: initSettings ensures that all the
+// settings are set, getting a default value if one was not assigned.
+SWFUpload.prototype.initSettings = function () {
+    this.ensureDefault = function (settingName, defaultValue) {
+        this.settings[settingName] = (this.settings[settingName] == undefined) ? defaultValue : this.settings[settingName];
+    };
+    
+    // Upload backend settings
+    this.ensureDefault("upload_url", "");
+    this.ensureDefault("preserve_relative_urls", false);
+    this.ensureDefault("file_post_name", "Filedata");
+    this.ensureDefault("post_params", {});
+    this.ensureDefault("use_query_string", false);
+    this.ensureDefault("requeue_on_error", false);
+    this.ensureDefault("http_success", []);
+    this.ensureDefault("assume_success_timeout", 0);
+    
+    // File Settings
+    this.ensureDefault("file_types", "*.*");
+    this.ensureDefault("file_types_description", "All Files");
+    this.ensureDefault("file_size_limit", 0);   // Default zero means "unlimited"
+    this.ensureDefault("file_upload_limit", 0);
+    this.ensureDefault("file_queue_limit", 0);
+
+    // Flash Settings
+    this.ensureDefault("flash_url", "swfupload.swf");
+    this.ensureDefault("prevent_swf_caching", true);
+    
+    // Button Settings
+    this.ensureDefault("button_image_url", "");
+    this.ensureDefault("button_width", 1);
+    this.ensureDefault("button_height", 1);
+    this.ensureDefault("button_text", "");
+    this.ensureDefault("button_text_style", "color: #000000; font-size: 16pt;");
+    this.ensureDefault("button_text_top_padding", 0);
+    this.ensureDefault("button_text_left_padding", 0);
+    this.ensureDefault("button_action", SWFUpload.BUTTON_ACTION.SELECT_FILES);
+    this.ensureDefault("button_disabled", false);
+    this.ensureDefault("button_placeholder_id", "");
+    this.ensureDefault("button_placeholder", null);
+    this.ensureDefault("button_cursor", SWFUpload.CURSOR.ARROW);
+    this.ensureDefault("button_window_mode", SWFUpload.WINDOW_MODE.WINDOW);
+    
+    // Debug Settings
+    this.ensureDefault("debug", false);
+    this.settings.debug_enabled = this.settings.debug;  // Here to maintain v2 API
+    
+    // Event Handlers
+    this.settings.return_upload_start_handler = this.returnUploadStart;
+    this.ensureDefault("swfupload_loaded_handler", null);
+    this.ensureDefault("file_dialog_start_handler", null);
+    this.ensureDefault("file_queued_handler", null);
+    this.ensureDefault("file_queue_error_handler", null);
+    this.ensureDefault("file_dialog_complete_handler", null);
+    
+    this.ensureDefault("upload_start_handler", null);
+    this.ensureDefault("upload_progress_handler", null);
+    this.ensureDefault("upload_error_handler", null);
+    this.ensureDefault("upload_success_handler", null);
+    this.ensureDefault("upload_complete_handler", null);
+    
+    this.ensureDefault("debug_handler", this.debugMessage);
+
+    this.ensureDefault("custom_settings", {});
+
+    // Other settings
+    this.customSettings = this.settings.custom_settings;
+    
+    // Update the flash url if needed
+    if (!!this.settings.prevent_swf_caching) {
+        this.settings.flash_url = this.settings.flash_url + (this.settings.flash_url.indexOf("?") < 0 ? "?" : "&") + "preventswfcaching=" + new Date().getTime();
+    }
+    
+    if (!this.settings.preserve_relative_urls) {
+        //this.settings.flash_url = SWFUpload.completeURL(this.settings.flash_url); // Don't need to do this one since flash doesn't look at it
+        this.settings.upload_url = SWFUpload.completeURL(this.settings.upload_url);
+        if (this.settings.button_image_url) {
+            this.settings.button_image_url = SWFUpload.completeURL(this.settings.button_image_url);
+        }
+    }
+    
+    delete this.ensureDefault;
+};
+
+// Private: loadFlash replaces the button_placeholder element with the flash movie.
+SWFUpload.prototype.loadFlash = function () {
+    var targetElement, tempParent;
+
+    // Make sure an element with the ID we are going to use doesn't already exist
+    if (document.getElementById(this.movieName) !== null) {
+        throw "ID " + this.movieName + " is already in use. The Flash Object could not be added";
+    }
+
+    // Get the element where we will be placing the flash movie
+    targetElement = document.getElementById(this.settings.button_placeholder_id) || this.settings.button_placeholder;
+
+    if (targetElement == undefined) {
+        throw "Could not find the placeholder element: " + this.settings.button_placeholder_id;
+    }
+
+    // Append the container and load the flash
+    tempParent = document.createElement("div");
+    tempParent.innerHTML = this.getFlashHTML(); // Using innerHTML is non-standard but the only sensible way to dynamically add Flash in IE (and maybe other browsers)
+    targetElement.parentNode.replaceChild(tempParent.firstChild, targetElement);
+
+    // Fix IE Flash/Form bug
+    if (window[this.movieName] == undefined) {
+        window[this.movieName] = this.getMovieElement();
+    }
+    
+};
+
+// Private: getFlashHTML generates the object tag needed to embed the flash in to the document
+SWFUpload.prototype.getFlashHTML = function () {
+    // Flash Satay object syntax: http://www.alistapart.com/articles/flashsatay
+    return ['<object id="', this.movieName, '" type="application/x-shockwave-flash" data="', this.settings.flash_url, '" width="', this.settings.button_width, '" height="', this.settings.button_height, '" class="swfupload">',
+                '<param name="wmode" value="', this.settings.button_window_mode, '" />',
+                '<param name="movie" value="', this.settings.flash_url, '" />',
+                '<param name="quality" value="high" />',
+                '<param name="menu" value="false" />',
+                '<param name="allowScriptAccess" value="always" />',
+                '<param name="flashvars" value="' + this.getFlashVars() + '" />',
+                '</object>'].join("");
+};
+
+// Private: getFlashVars builds the parameter string that will be passed
+// to flash in the flashvars param.
+SWFUpload.prototype.getFlashVars = function () {
+    // Build a string from the post param object
+    var paramString = this.buildParamString();
+    var httpSuccessString = this.settings.http_success.join(",");
+    
+    // Build the parameter string
+    return ["movieName=", encodeURIComponent(this.movieName),
+            "&amp;uploadURL=", encodeURIComponent(this.settings.upload_url),
+            "&amp;useQueryString=", encodeURIComponent(this.settings.use_query_string),
+            "&amp;requeueOnError=", encodeURIComponent(this.settings.requeue_on_error),
+            "&amp;httpSuccess=", encodeURIComponent(httpSuccessString),
+            "&amp;assumeSuccessTimeout=", encodeURIComponent(this.settings.assume_success_timeout),
+            "&amp;params=", encodeURIComponent(paramString),
+            "&amp;filePostName=", encodeURIComponent(this.settings.file_post_name),
+            "&amp;fileTypes=", encodeURIComponent(this.settings.file_types),
+            "&amp;fileTypesDescription=", encodeURIComponent(this.settings.file_types_description),
+            "&amp;fileSizeLimit=", encodeURIComponent(this.settings.file_size_limit),
+            "&amp;fileUploadLimit=", encodeURIComponent(this.settings.file_upload_limit),
+            "&amp;fileQueueLimit=", encodeURIComponent(this.settings.file_queue_limit),
+            "&amp;debugEnabled=", encodeURIComponent(this.settings.debug_enabled),
+            "&amp;buttonImageURL=", encodeURIComponent(this.settings.button_image_url),
+            "&amp;buttonWidth=", encodeURIComponent(this.settings.button_width),
+            "&amp;buttonHeight=", encodeURIComponent(this.settings.button_height),
+            "&amp;buttonText=", encodeURIComponent(this.settings.button_text),
+            "&amp;buttonTextTopPadding=", encodeURIComponent(this.settings.button_text_top_padding),
+            "&amp;buttonTextLeftPadding=", encodeURIComponent(this.settings.button_text_left_padding),
+            "&amp;buttonTextStyle=", encodeURIComponent(this.settings.button_text_style),
+            "&amp;buttonAction=", encodeURIComponent(this.settings.button_action),
+            "&amp;buttonDisabled=", encodeURIComponent(this.settings.button_disabled),
+            "&amp;buttonCursor=", encodeURIComponent(this.settings.button_cursor)
+        ].join("");
+};
+
+// Public: getMovieElement retrieves the DOM reference to the Flash element added by SWFUpload
+// The element is cached after the first lookup
+SWFUpload.prototype.getMovieElement = function () {
+    if (this.movieElement == undefined) {
+        this.movieElement = document.getElementById(this.movieName);
+    }
+
+    if (this.movieElement === null) {
+        throw "Could not find Flash element";
+    }
+    
+    return this.movieElement;
+};
+
+// Private: buildParamString takes the name/value pairs in the post_params setting object
+// and joins them up in to a string formatted "name=value&amp;name=value"
+SWFUpload.prototype.buildParamString = function () {
+    var postParams = this.settings.post_params; 
+    var paramStringPairs = [];
+
+    if (typeof(postParams) === "object") {
+        for (var name in postParams) {
+            if (postParams.hasOwnProperty(name)) {
+                paramStringPairs.push(encodeURIComponent(name.toString()) + "=" + encodeURIComponent(postParams[name].toString()));
+            }
+        }
+    }
+
+    return paramStringPairs.join("&amp;");
+};
+
+// Public: Used to remove a SWFUpload instance from the page. This method strives to remove
+// all references to the SWF, and other objects so memory is properly freed.
+// Returns true if everything was destroyed. Returns a false if a failure occurs leaving SWFUpload in an inconsistant state.
+// Credits: Major improvements provided by steffen
+SWFUpload.prototype.destroy = function () {
+    try {
+        // Make sure Flash is done before we try to remove it
+        this.cancelUpload(null, false);
+        
+
+        // Remove the SWFUpload DOM nodes
+        var movieElement = null;
+        movieElement = this.getMovieElement();
+        
+        if (movieElement && typeof(movieElement.CallFunction) === "unknown") { // We only want to do this in IE
+            // Loop through all the movie's properties and remove all function references (DOM/JS IE 6/7 memory leak workaround)
+            for (var i in movieElement) {
+                try {
+                    if (typeof(movieElement[i]) === "function") {
+                        movieElement[i] = null;
+                    }
+                } catch (ex1) {}
+            }
+
+            // Remove the Movie Element from the page
+            try {
+                movieElement.parentNode.removeChild(movieElement);
+            } catch (ex) {}
+        }
+        
+        // Remove IE form fix reference
+        window[this.movieName] = null;
+
+        // Destroy other references
+        SWFUpload.instances[this.movieName] = null;
+        delete SWFUpload.instances[this.movieName];
+
+        this.movieElement = null;
+        this.settings = null;
+        this.customSettings = null;
+        this.eventQueue = null;
+        this.movieName = null;
+        
+        
+        return true;
+    } catch (ex2) {
+        return false;
+    }
+};
+
+
+// Public: displayDebugInfo prints out settings and configuration
+// information about this SWFUpload instance.
+// This function (and any references to it) can be deleted when placing
+// SWFUpload in production.
+SWFUpload.prototype.displayDebugInfo = function () {
+    this.debug(
+        [
+            "---SWFUpload Instance Info---\n",
+            "Version: ", SWFUpload.version, "\n",
+            "Movie Name: ", this.movieName, "\n",
+            "Settings:\n",
+            "\t", "upload_url:               ", this.settings.upload_url, "\n",
+            "\t", "flash_url:                ", this.settings.flash_url, "\n",
+            "\t", "use_query_string:         ", this.settings.use_query_string.toString(), "\n",
+            "\t", "requeue_on_error:         ", this.settings.requeue_on_error.toString(), "\n",
+            "\t", "http_success:             ", this.settings.http_success.join(", "), "\n",
+            "\t", "assume_success_timeout:   ", this.settings.assume_success_timeout, "\n",
+            "\t", "file_post_name:           ", this.settings.file_post_name, "\n",
+            "\t", "post_params:              ", this.settings.post_params.toString(), "\n",
+            "\t", "file_types:               ", this.settings.file_types, "\n",
+            "\t", "file_types_description:   ", this.settings.file_types_description, "\n",
+            "\t", "file_size_limit:          ", this.settings.file_size_limit, "\n",
+            "\t", "file_upload_limit:        ", this.settings.file_upload_limit, "\n",
+            "\t", "file_queue_limit:         ", this.settings.file_queue_limit, "\n",
+            "\t", "debug:                    ", this.settings.debug.toString(), "\n",
+
+            "\t", "prevent_swf_caching:      ", this.settings.prevent_swf_caching.toString(), "\n",
+
+            "\t", "button_placeholder_id:    ", this.settings.button_placeholder_id.toString(), "\n",
+            "\t", "button_placeholder:       ", (this.settings.button_placeholder ? "Set" : "Not Set"), "\n",
+            "\t", "button_image_url:         ", this.settings.button_image_url.toString(), "\n",
+            "\t", "button_width:             ", this.settings.button_width.toString(), "\n",
+            "\t", "button_height:            ", this.settings.button_height.toString(), "\n",
+            "\t", "button_text:              ", this.settings.button_text.toString(), "\n",
+            "\t", "button_text_style:        ", this.settings.button_text_style.toString(), "\n",
+            "\t", "button_text_top_padding:  ", this.settings.button_text_top_padding.toString(), "\n",
+            "\t", "button_text_left_padding: ", this.settings.button_text_left_padding.toString(), "\n",
+            "\t", "button_action:            ", this.settings.button_action.toString(), "\n",
+            "\t", "button_disabled:          ", this.settings.button_disabled.toString(), "\n",
+
+            "\t", "custom_settings:          ", this.settings.custom_settings.toString(), "\n",
+            "Event Handlers:\n",
+            "\t", "swfupload_loaded_handler assigned:  ", (typeof this.settings.swfupload_loaded_handler === "function").toString(), "\n",
+            "\t", "file_dialog_start_handler assigned: ", (typeof this.settings.file_dialog_start_handler === "function").toString(), "\n",
+            "\t", "file_queued_handler assigned:       ", (typeof this.settings.file_queued_handler === "function").toString(), "\n",
+            "\t", "file_queue_error_handler assigned:  ", (typeof this.settings.file_queue_error_handler === "function").toString(), "\n",
+            "\t", "upload_start_handler assigned:      ", (typeof this.settings.upload_start_handler === "function").toString(), "\n",
+            "\t", "upload_progress_handler assigned:   ", (typeof this.settings.upload_progress_handler === "function").toString(), "\n",
+            "\t", "upload_error_handler assigned:      ", (typeof this.settings.upload_error_handler === "function").toString(), "\n",
+            "\t", "upload_success_handler assigned:    ", (typeof this.settings.upload_success_handler === "function").toString(), "\n",
+            "\t", "upload_complete_handler assigned:   ", (typeof this.settings.upload_complete_handler === "function").toString(), "\n",
+            "\t", "debug_handler assigned:             ", (typeof this.settings.debug_handler === "function").toString(), "\n"
+        ].join("")
+    );
+};
+
+/* Note: addSetting and getSetting are no longer used by SWFUpload but are included
+    the maintain v2 API compatibility
+*/
+// Public: (Deprecated) addSetting adds a setting value. If the value given is undefined or null then the default_value is used.
+SWFUpload.prototype.addSetting = function (name, value, default_value) {
+    if (value == undefined) {
+        return (this.settings[name] = default_value);
+    } else {
+        return (this.settings[name] = value);
+    }
+};
+
+// Public: (Deprecated) getSetting gets a setting. Returns an empty string if the setting was not found.
+SWFUpload.prototype.getSetting = function (name) {
+    if (this.settings[name] != undefined) {
+        return this.settings[name];
+    }
+
+    return "";
+};
+
+
+
+// Private: callFlash handles function calls made to the Flash element.
+// Calls are made with a setTimeout for some functions to work around
+// bugs in the ExternalInterface library.
+SWFUpload.prototype.callFlash = function (functionName, argumentArray) {
+    argumentArray = argumentArray || [];
+    
+    var movieElement = this.getMovieElement();
+    var returnValue, returnString;
+
+    // Flash's method if calling ExternalInterface methods (code adapted from MooTools).
+    try {
+        returnString = movieElement.CallFunction('<invoke name="' + functionName + '" returntype="javascript">' + __flash__argumentsToXML(argumentArray, 0) + '</invoke>');
+        returnValue = eval(returnString);
+    } catch (ex) {
+        throw "Call to " + functionName + " failed";
+    }
+    
+    // Unescape file post param values
+    if (returnValue != undefined && typeof returnValue.post === "object") {
+        returnValue = this.unescapeFilePostParams(returnValue);
+    }
+
+    return returnValue;
+};
+
+/* *****************************
+    -- Flash control methods --
+    Your UI should use these
+    to operate SWFUpload
+   ***************************** */
+
+// WARNING: this function does not work in Flash Player 10
+// Public: selectFile causes a File Selection Dialog window to appear.  This
+// dialog only allows 1 file to be selected.
+SWFUpload.prototype.selectFile = function () {
+    this.callFlash("SelectFile");
+};
+
+// WARNING: this function does not work in Flash Player 10
+// Public: selectFiles causes a File Selection Dialog window to appear/ This
+// dialog allows the user to select any number of files
+// Flash Bug Warning: Flash limits the number of selectable files based on the combined length of the file names.
+// If the selection name length is too long the dialog will fail in an unpredictable manner.  There is no work-around
+// for this bug.
+SWFUpload.prototype.selectFiles = function () {
+    this.callFlash("SelectFiles");
+};
+
+
+// Public: startUpload starts uploading the first file in the queue unless
+// the optional parameter 'fileID' specifies the ID 
+SWFUpload.prototype.startUpload = function (fileID) {
+    this.callFlash("StartUpload", [fileID]);
+};
+
+// Public: cancelUpload cancels any queued file.  The fileID parameter may be the file ID or index.
+// If you do not specify a fileID the current uploading file or first file in the queue is cancelled.
+// If you do not want the uploadError event to trigger you can specify false for the triggerErrorEvent parameter.
+SWFUpload.prototype.cancelUpload = function (fileID, triggerErrorEvent) {
+    if (triggerErrorEvent !== false) {
+        triggerErrorEvent = true;
+    }
+    this.callFlash("CancelUpload", [fileID, triggerErrorEvent]);
+};
+
+// Public: stopUpload stops the current upload and requeues the file at the beginning of the queue.
+// If nothing is currently uploading then nothing happens.
+SWFUpload.prototype.stopUpload = function () {
+    this.callFlash("StopUpload");
+};
+
+/* ************************
+ * Settings methods
+ *   These methods change the SWFUpload settings.
+ *   SWFUpload settings should not be changed directly on the settings object
+ *   since many of the settings need to be passed to Flash in order to take
+ *   effect.
+ * *********************** */
+
+// Public: getStats gets the file statistics object.
+SWFUpload.prototype.getStats = function () {
+    return this.callFlash("GetStats");
+};
+
+// Public: setStats changes the SWFUpload statistics.  You shouldn't need to 
+// change the statistics but you can.  Changing the statistics does not
+// affect SWFUpload accept for the successful_uploads count which is used
+// by the upload_limit setting to determine how many files the user may upload.
+SWFUpload.prototype.setStats = function (statsObject) {
+    this.callFlash("SetStats", [statsObject]);
+};
+
+// Public: getFile retrieves a File object by ID or Index.  If the file is
+// not found then 'null' is returned.
+SWFUpload.prototype.getFile = function (fileID) {
+    if (typeof(fileID) === "number") {
+        return this.callFlash("GetFileByIndex", [fileID]);
+    } else {
+        return this.callFlash("GetFile", [fileID]);
+    }
+};
+
+// Public: addFileParam sets a name/value pair that will be posted with the
+// file specified by the Files ID.  If the name already exists then the
+// exiting value will be overwritten.
+SWFUpload.prototype.addFileParam = function (fileID, name, value) {
+    return this.callFlash("AddFileParam", [fileID, name, value]);
+};
+
+// Public: removeFileParam removes a previously set (by addFileParam) name/value
+// pair from the specified file.
+SWFUpload.prototype.removeFileParam = function (fileID, name) {
+    this.callFlash("RemoveFileParam", [fileID, name]);
+};
+
+// Public: setUploadUrl changes the upload_url setting.
+SWFUpload.prototype.setUploadURL = function (url) {
+    this.settings.upload_url = url.toString();
+    this.callFlash("SetUploadURL", [url]);
+};
+
+// Public: setPostParams changes the post_params setting
+SWFUpload.prototype.setPostParams = function (paramsObject) {
+    this.settings.post_params = paramsObject;
+    this.callFlash("SetPostParams", [paramsObject]);
+};
+
+// Public: addPostParam adds post name/value pair.  Each name can have only one value.
+SWFUpload.prototype.addPostParam = function (name, value) {
+    this.settings.post_params[name] = value;
+    this.callFlash("SetPostParams", [this.settings.post_params]);
+};
+
+// Public: removePostParam deletes post name/value pair.
+SWFUpload.prototype.removePostParam = function (name) {
+    delete this.settings.post_params[name];
+    this.callFlash("SetPostParams", [this.settings.post_params]);
+};
+
+// Public: setFileTypes changes the file_types setting and the file_types_description setting
+SWFUpload.prototype.setFileTypes = function (types, description) {
+    this.settings.file_types = types;
+    this.settings.file_types_description = description;
+    this.callFlash("SetFileTypes", [types, description]);
+};
+
+// Public: setFileSizeLimit changes the file_size_limit setting
+SWFUpload.prototype.setFileSizeLimit = function (fileSizeLimit) {
+    this.settings.file_size_limit = fileSizeLimit;
+    this.callFlash("SetFileSizeLimit", [fileSizeLimit]);
+};
+
+// Public: setFileUploadLimit changes the file_upload_limit setting
+SWFUpload.prototype.setFileUploadLimit = function (fileUploadLimit) {
+    this.settings.file_upload_limit = fileUploadLimit;
+    this.callFlash("SetFileUploadLimit", [fileUploadLimit]);
+};
+
+// Public: setFileQueueLimit changes the file_queue_limit setting
+SWFUpload.prototype.setFileQueueLimit = function (fileQueueLimit) {
+    this.settings.file_queue_limit = fileQueueLimit;
+    this.callFlash("SetFileQueueLimit", [fileQueueLimit]);
+};
+
+// Public: setFilePostName changes the file_post_name setting
+SWFUpload.prototype.setFilePostName = function (filePostName) {
+    this.settings.file_post_name = filePostName;
+    this.callFlash("SetFilePostName", [filePostName]);
+};
+
+// Public: setUseQueryString changes the use_query_string setting
+SWFUpload.prototype.setUseQueryString = function (useQueryString) {
+    this.settings.use_query_string = useQueryString;
+    this.callFlash("SetUseQueryString", [useQueryString]);
+};
+
+// Public: setRequeueOnError changes the requeue_on_error setting
+SWFUpload.prototype.setRequeueOnError = function (requeueOnError) {
+    this.settings.requeue_on_error = requeueOnError;
+    this.callFlash("SetRequeueOnError", [requeueOnError]);
+};
+
+// Public: setHTTPSuccess changes the http_success setting
+SWFUpload.prototype.setHTTPSuccess = function (http_status_codes) {
+    if (typeof http_status_codes === "string") {
+        http_status_codes = http_status_codes.replace(" ", "").split(",");
+    }
+    
+    this.settings.http_success = http_status_codes;
+    this.callFlash("SetHTTPSuccess", [http_status_codes]);
+};
+
+// Public: setHTTPSuccess changes the http_success setting
+SWFUpload.prototype.setAssumeSuccessTimeout = function (timeout_seconds) {
+    this.settings.assume_success_timeout = timeout_seconds;
+    this.callFlash("SetAssumeSuccessTimeout", [timeout_seconds]);
+};
+
+// Public: setDebugEnabled changes the debug_enabled setting
+SWFUpload.prototype.setDebugEnabled = function (debugEnabled) {
+    this.settings.debug_enabled = debugEnabled;
+    this.callFlash("SetDebugEnabled", [debugEnabled]);
+};
+
+// Public: setButtonImageURL loads a button image sprite
+SWFUpload.prototype.setButtonImageURL = function (buttonImageURL) {
+    if (buttonImageURL == undefined) {
+        buttonImageURL = "";
+    }
+    
+    this.settings.button_image_url = buttonImageURL;
+    this.callFlash("SetButtonImageURL", [buttonImageURL]);
+};
+
+// Public: setButtonDimensions resizes the Flash Movie and button
+SWFUpload.prototype.setButtonDimensions = function (width, height) {
+    this.settings.button_width = width;
+    this.settings.button_height = height;
+    
+    var movie = this.getMovieElement();
+    if (movie != undefined) {
+        movie.style.width = width + "px";
+        movie.style.height = height + "px";
+    }
+    
+    this.callFlash("SetButtonDimensions", [width, height]);
+};
+// Public: setButtonText Changes the text overlaid on the button
+SWFUpload.prototype.setButtonText = function (html) {
+    this.settings.button_text = html;
+    this.callFlash("SetButtonText", [html]);
+};
+// Public: setButtonTextPadding changes the top and left padding of the text overlay
+SWFUpload.prototype.setButtonTextPadding = function (left, top) {
+    this.settings.button_text_top_padding = top;
+    this.settings.button_text_left_padding = left;
+    this.callFlash("SetButtonTextPadding", [left, top]);
+};
+
+// Public: setButtonTextStyle changes the CSS used to style the HTML/Text overlaid on the button
+SWFUpload.prototype.setButtonTextStyle = function (css) {
+    this.settings.button_text_style = css;
+    this.callFlash("SetButtonTextStyle", [css]);
+};
+// Public: setButtonDisabled disables/enables the button
+SWFUpload.prototype.setButtonDisabled = function (isDisabled) {
+    this.settings.button_disabled = isDisabled;
+    this.callFlash("SetButtonDisabled", [isDisabled]);
+};
+// Public: setButtonAction sets the action that occurs when the button is clicked
+SWFUpload.prototype.setButtonAction = function (buttonAction) {
+    this.settings.button_action = buttonAction;
+    this.callFlash("SetButtonAction", [buttonAction]);
+};
+
+// Public: setButtonCursor changes the mouse cursor displayed when hovering over the button
+SWFUpload.prototype.setButtonCursor = function (cursor) {
+    this.settings.button_cursor = cursor;
+    this.callFlash("SetButtonCursor", [cursor]);
+};
+
+/* *******************************
+    Flash Event Interfaces
+    These functions are used by Flash to trigger the various
+    events.
+    
+    All these functions a Private.
+    
+    Because the ExternalInterface library is buggy the event calls
+    are added to a queue and the queue then executed by a setTimeout.
+    This ensures that events are executed in a determinate order and that
+    the ExternalInterface bugs are avoided.
+******************************* */
+
+SWFUpload.prototype.queueEvent = function (handlerName, argumentArray) {
+    // Warning: Don't call this.debug inside here or you'll create an infinite loop
+    
+    if (argumentArray == undefined) {
+        argumentArray = [];
+    } else if (!(argumentArray instanceof Array)) {
+        argumentArray = [argumentArray];
+    }
+    
+    var self = this;
+    if (typeof this.settings[handlerName] === "function") {
+        // Queue the event
+        this.eventQueue.push(function () {
+            this.settings[handlerName].apply(this, argumentArray);
+        });
+        
+        // Execute the next queued event
+        setTimeout(function () {
+            self.executeNextEvent();
+        }, 0);
+        
+    } else if (this.settings[handlerName] !== null) {
+        throw "Event handler " + handlerName + " is unknown or is not a function";
+    }
+};
+
+// Private: Causes the next event in the queue to be executed.  Since events are queued using a setTimeout
+// we must queue them in order to garentee that they are executed in order.
+SWFUpload.prototype.executeNextEvent = function () {
+    // Warning: Don't call this.debug inside here or you'll create an infinite loop
+
+    var  f = this.eventQueue ? this.eventQueue.shift() : null;
+    if (typeof(f) === "function") {
+        f.apply(this);
+    }
+};
+
+// Private: unescapeFileParams is part of a workaround for a flash bug where objects passed through ExternalInterface cannot have
+// properties that contain characters that are not valid for JavaScript identifiers. To work around this
+// the Flash Component escapes the parameter names and we must unescape again before passing them along.
+SWFUpload.prototype.unescapeFilePostParams = function (file) {
+    var reg = /[$]([0-9a-f]{4})/i;
+    var unescapedPost = {};
+    var uk;
+
+    if (file != undefined) {
+        for (var k in file.post) {
+            if (file.post.hasOwnProperty(k)) {
+                uk = k;
+                var match;
+                while ((match = reg.exec(uk)) !== null) {
+                    uk = uk.replace(match[0], String.fromCharCode(parseInt("0x" + match[1], 16)));
+                }
+                unescapedPost[uk] = file.post[k];
+            }
+        }
+
+        file.post = unescapedPost;
+    }
+
+    return file;
+};
+
+// Private: Called by Flash to see if JS can call in to Flash (test if External Interface is working)
+SWFUpload.prototype.testExternalInterface = function () {
+    try {
+        return this.callFlash("TestExternalInterface");
+    } catch (ex) {
+        return false;
+    }
+};
+
+// Private: This event is called by Flash when it has finished loading. Don't modify this.
+// Use the swfupload_loaded_handler event setting to execute custom code when SWFUpload has loaded.
+SWFUpload.prototype.flashReady = function () {
+    // Check that the movie element is loaded correctly with its ExternalInterface methods defined
+    var movieElement = this.getMovieElement();
+
+    if (!movieElement) {
+        this.debug("Flash called back ready but the flash movie can't be found.");
+        return;
+    }
+
+    this.cleanUp(movieElement);
+    
+    this.queueEvent("swfupload_loaded_handler");
+};
+
+// Private: removes Flash added fuctions to the DOM node to prevent memory leaks in IE.
+// This function is called by Flash each time the ExternalInterface functions are created.
+SWFUpload.prototype.cleanUp = function (movieElement) {
+    // Pro-actively unhook all the Flash functions
+    try {
+        if (this.movieElement && typeof(movieElement.CallFunction) === "unknown") { // We only want to do this in IE
+            this.debug("Removing Flash functions hooks (this should only run in IE and should prevent memory leaks)");
+            for (var key in movieElement) {
+                try {
+                    if (typeof(movieElement[key]) === "function") {
+                        movieElement[key] = null;
+                    }
+                } catch (ex) {
+                }
+            }
+        }
+    } catch (ex1) {
+    
+    }
+
+    // Fix Flashes own cleanup code so if the SWFMovie was removed from the page
+    // it doesn't display errors.
+    window["__flash__removeCallback"] = function (instance, name) {
+        try {
+            if (instance) {
+                instance[name] = null;
+            }
+        } catch (flashEx) {
+        
+        }
+    };
+
+};
+
+
+/* This is a chance to do something before the browse window opens */
+SWFUpload.prototype.fileDialogStart = function () {
+    this.queueEvent("file_dialog_start_handler");
+};
+
+
+/* Called when a file is successfully added to the queue. */
+SWFUpload.prototype.fileQueued = function (file) {
+    file = this.unescapeFilePostParams(file);
+    this.queueEvent("file_queued_handler", file);
+};
+
+
+/* Handle errors that occur when an attempt to queue a file fails. */
+SWFUpload.prototype.fileQueueError = function (file, errorCode, message) {
+    file = this.unescapeFilePostParams(file);
+    this.queueEvent("file_queue_error_handler", [file, errorCode, message]);
+};
+
+/* Called after the file dialog has closed and the selected files have been queued.
+    You could call startUpload here if you want the queued files to begin uploading immediately. */
+SWFUpload.prototype.fileDialogComplete = function (numFilesSelected, numFilesQueued, numFilesInQueue) {
+    this.queueEvent("file_dialog_complete_handler", [numFilesSelected, numFilesQueued, numFilesInQueue]);
+};
+
+SWFUpload.prototype.uploadStart = function (file) {
+    file = this.unescapeFilePostParams(file);
+    this.queueEvent("return_upload_start_handler", file);
+};
+
+SWFUpload.prototype.returnUploadStart = function (file) {
+    var returnValue;
+    if (typeof this.settings.upload_start_handler === "function") {
+        file = this.unescapeFilePostParams(file);
+        returnValue = this.settings.upload_start_handler.call(this, file);
+    } else if (this.settings.upload_start_handler != undefined) {
+        throw "upload_start_handler must be a function";
+    }
+
+    // Convert undefined to true so if nothing is returned from the upload_start_handler it is
+    // interpretted as 'true'.
+    if (returnValue === undefined) {
+        returnValue = true;
+    }
+    
+    returnValue = !!returnValue;
+    
+    this.callFlash("ReturnUploadStart", [returnValue]);
+};
+
+
+
+SWFUpload.prototype.uploadProgress = function (file, bytesComplete, bytesTotal) {
+    file = this.unescapeFilePostParams(file);
+    this.queueEvent("upload_progress_handler", [file, bytesComplete, bytesTotal]);
+};
+
+SWFUpload.prototype.uploadError = function (file, errorCode, message) {
+    file = this.unescapeFilePostParams(file);
+    this.queueEvent("upload_error_handler", [file, errorCode, message]);
+};
+
+SWFUpload.prototype.uploadSuccess = function (file, serverData, responseReceived) {
+    file = this.unescapeFilePostParams(file);
+    this.queueEvent("upload_success_handler", [file, serverData, responseReceived]);
+};
+
+SWFUpload.prototype.uploadComplete = function (file) {
+    file = this.unescapeFilePostParams(file);
+    this.queueEvent("upload_complete_handler", file);
+};
+
+/* Called by SWFUpload JavaScript and Flash functions when debug is enabled. By default it writes messages to the
+   internal debug console.  You can override this event and have messages written where you want. */
+SWFUpload.prototype.debug = function (message) {
+    this.queueEvent("debug_handler", message);
+};
+
+
+/* **********************************
+    Debug Console
+    The debug console is a self contained, in page location
+    for debug message to be sent.  The Debug Console adds
+    itself to the body if necessary.
+
+    The console is automatically scrolled as messages appear.
+    
+    If you are using your own debug handler or when you deploy to production and
+    have debug disabled you can remove these functions to reduce the file size
+    and complexity.
+********************************** */
+   
+// Private: debugMessage is the default debug_handler.  If you want to print debug messages
+// call the debug() function.  When overriding the function your own function should
+// check to see if the debug setting is true before outputting debug information.
+SWFUpload.prototype.debugMessage = function (message) {
+    if (this.settings.debug) {
+        var exceptionMessage, exceptionValues = [];
+
+        // Check for an exception object and print it nicely
+        if (typeof message === "object" && typeof message.name === "string" && typeof message.message === "string") {
+            for (var key in message) {
+                if (message.hasOwnProperty(key)) {
+                    exceptionValues.push(key + ": " + message[key]);
+                }
+            }
+            exceptionMessage = exceptionValues.join("\n") || "";
+            exceptionValues = exceptionMessage.split("\n");
+            exceptionMessage = "EXCEPTION: " + exceptionValues.join("\nEXCEPTION: ");
+            SWFUpload.Console.writeLine(exceptionMessage);
+        } else {
+            SWFUpload.Console.writeLine(message);
+        }
+    }
+};
+
+SWFUpload.Console = {};
+SWFUpload.Console.writeLine = function (message) {
+    var console, documentForm;
+
+    try {
+        console = document.getElementById("SWFUpload_Console");
+
+        if (!console) {
+            documentForm = document.createElement("form");
+            document.getElementsByTagName("body")[0].appendChild(documentForm);
+
+            console = document.createElement("textarea");
+            console.id = "SWFUpload_Console";
+            console.style.fontFamily = "monospace";
+            console.setAttribute("wrap", "off");
+            console.wrap = "off";
+            console.style.overflow = "auto";
+            console.style.width = "700px";
+            console.style.height = "350px";
+            console.style.margin = "5px";
+            documentForm.appendChild(console);
+        }
+
+        console.value += message + "\n";
+
+        console.scrollTop = console.scrollHeight - console.clientHeight;
+    } catch (ex) {
+        alert("Exception: " + ex.name + " Message: " + ex.message);
+    }
+};
+
+exports.SWFUpload = SWFUpload;
+});
+define("js/home/comment", ["jquery"], function(require, exports, module){
+/**
+ * 我的评论
+ * @author: yyqing<yanqing.yang@yoho.cn>
+ * @date: 2016/3/1
+ */
+var $ = require("jquery");
+
+var $comment = $('.comment-table'),
+    $remarkBtn = $comment.find('.remark-btn');
+
+var $dialog = $('#comment-dialog-widget'),
+    $titleBar = $dialog.find('.dialog-titlebar'),
+    $commentArea = $dialog.find('textarea');
+
+var pageW = $(document).width(),
+    pageH = $(document).height(),
+    winH = $(window).height();
+
+var dialog = {
+        canmove: false,
+        offset: {},
+        maxtop: 0,
+        maxleft: 0
+    },
+    orderInfo = {},
+    $optDom;
+
+// 处理订单数据
+$remarkBtn.each(function() {
+    var $next = $(this).next(),
+        data = $next.data(),
+        key = data.orderid;
+
+    orderInfo[key] = {};
+    orderInfo[key].productSkn = data.productskn;
+    orderInfo[key].productId = data.productid;
+    orderInfo[key].goodsId = data.goodsid;
+    orderInfo[key].orderId = data.orderid;
+    orderInfo[key].erpSkuId = data.erpskuid;
+
+    $next.remove();
+    $(this).data('code', key);
+});
+
+$remarkBtn.click(function() {
+    var scrollTop = $(document).scrollTop();
+
+    $optDom = $(this);
+    $commentArea.val('');
+    $dialog.removeClass('hide').css({
+        top: scrollTop + (winH - $dialog.outerHeight()) / 2,
+        left: (pageW - $dialog.outerWidth()) / 2
+    });
+});
+
+// 评论弹窗
+$titleBar.bind('mousedown', function(e) {
+    if ($(e.target).hasClass('dialog-close-btn')) {
+        return;
+    }
+
+    dialog.canmove = true;
+    dialog.offset = {
+        x: e.offsetX,
+        y: e.offsetY
+    };
+    dialog.maxtop = pageH - $dialog.outerHeight();
+    dialog.maxleft = pageW - $dialog.outerWidth();
+});
+
+$(document).mousemove(function(e) {
+    var mtop, mleft;
+
+    if (!dialog.canmove) {
+        return;
+    }
+
+    mtop = e.pageY - dialog.offset.y;
+    mleft = e.pageX - dialog.offset.x;
+    mtop = mtop < dialog.maxtop ? mtop : dialog.maxtop;
+    mleft = mleft < dialog.maxleft ? mleft : dialog.maxleft;
+    $dialog.css({
+        top: mtop > 0 ? mtop : 0,
+        left: mleft > 0 ? mleft : 0
+    });
+}).mouseup(function(e) {
+    dialog.canmove = false;
+});
+
+$dialog.on('click', '.dialog-save-btn', function() {
+    var remark = $.trim($commentArea.val()),
+        param;
+
+    if (remark === '') {
+        alert('请添加评论内容');
+        return;
+    }
+    if ($optDom.length) {
+        param = orderInfo[$optDom.data().code];
+        param.content = remark;
+
+        $.ajax({
+            type: 'POST',
+            url: '/home/comment/saveComment',
+            data: param
+        }).then(function(jsonData) {
+            var $par = $optDom.parent();
+
+            if (jsonData.code === 200) {
+                $par.prev().text(remark);
+                $par.html('<span class="remarked">已评论!</span>');
+                $optDom.length = 0;
+                $dialog.addClass('hide');
+            } else {
+                alert(jsonData.message);
+            }
+        });
+    }
+});
+
+$dialog.on('click', '.dialog-close-btn', function() {
+    $optDom.length = 0;
+    $dialog.addClass('hide');
+});
+});
+define("js/home/complaints", ["jquery"], function(require, exports, module){
+/**
+ * 我的投诉
+ * @author: yyqing<yanqing.yang@yoho.cn>
+ * @date: 2016/3/18
+ */
+
+var $ = require("jquery");
+
+var $cancelBtn = $('.cancel-btn'),
+    $title = $('#title'),
+    $customer = $('#customer'),
+    $complaintsType = $('#complaintsType'),
+    $orderCode = $('#orderCode'),
+    $content = $('#content');
+
+var ajaxing = false;
+var rule = {
+        title: {
+            dom: $title,
+            min: 1,
+            max: 10,
+            onshow: '请输入您的投诉主题',
+            onfocus: '请输入主题',
+            onmin: '投诉主题不能为空',
+            onmax: '输入投诉主题不能超过10个字'
+        },
+        customer: {
+            dom: $customer,
+            min: 1,
+            max: 10,
+            onshow: '请填写您要投诉的对象,比如:客服00*号、发货员...',
+            onfocus: '请填写您要投诉的对象',
+            onmin: '投诉对象不能为空',
+            onmax: '输入投诉对象不能超过10个字'
+        },
+        orderCode: {
+            dom: $orderCode,
+            regexp: /^([0-9,]{9,})$/, //一个和多个订单
+            onshow: '如果多个是多个订单号,请用英文逗号隔开,没有则不填',
+            onfocus: '请输入订单号',
+            onerror: '您输入的订单格式不对,如果多个是多个订单号,请用英文逗号隔开'
+        },
+        content: {
+            dom: $content,
+            min: 1,
+            max: 130,
+            onshow: '输入您投诉的内容',
+            onfocus: '请输入您投诉的内容',
+            onmin: '投诉内容不能为空',
+            onmax: '输入的投诉内容不能超过130个字'
+        }
+    };
+
+function preventResubmit() {
+    if (!ajaxing) {
+        ajaxing = true;
+        setTimeout(function() {
+            ajaxing = false;
+        }, 1000);
+        return false;
+    }
+    return true;
+}
+
+function validate(info) {
+    var $tips = info.dom.siblings('.option-tip'),
+        val = $.trim(info.dom.val()),
+        len = val.length;
+
+    if (info.min && len < info.min) {
+        $tips.text(info.onmin);
+        return false;
+    } else if (info.max && len > info.max) {
+        $tips.text(info.onmax);
+        return false;
+    }
+
+    if (info.regexp && !info.regexp.test(val)) {
+        $tips.text(info.onerror);
+        return false;
+    }
+
+    $tips.text('输入正确');
+    return true;
+}
+
+function validateForm() {
+    var res = {},
+        focus;
+
+    $.each(rule, function(key, info) {
+        if (validate(info)) {
+            res[key] = $.trim(info.dom.val());
+        } else {
+            if (!focus) {
+                focus = key;
+                info.dom.focus();
+            }
+        }
+    });
+    res.complaintsType = $complaintsType.val();
+
+    if (focus) {
+        return false;
+    }
+    return res;
+}
+
+function addComplaint() {
+    var sendParm = validateForm();
+
+    if (preventResubmit() || !sendParm) {
+        return;
+    }
+
+    $.ajax({
+        type: 'POST',
+        url: '/home/complaints/addcomplaints',
+        data: sendParm
+    }).then(function(jsonData) {
+        ajaxing = false;
+        if (jsonData.code === 200) {
+            window.location.reload();
+        } else {
+            alert(jsonData.message);
+        }
+    });
+}
+
+function cancelComplaint(id, dom) {
+    var $dom = dom;
+
+    if (preventResubmit()) {
+        return;
+    }
+
+    $.ajax({
+        type: 'POST',
+        url: '/home/complaints/cancelcomplaints',
+        data: {
+            id: id
+        }
+    }).then(function(jsonData) {
+        ajaxing = false;
+        if (jsonData.code === 200) {
+            $dom.prev().remove();
+            $dom.text('问题已撤销');
+        } else {
+            alert(jsonData.message);
+        }
+    });
+}
+
+$.each(rule, function(key, info) {
+    info.dom.focus(function() {
+        info.dom.siblings('.option-tip').text(info.onfocus);
+    }).blur(function() {
+        validate(info);
+    });
+});
+
+$('#complaint-submit').click(function() {
+    addComplaint();
+});
+
+$cancelBtn.click(function() {
+    var data = $(this).data();
+
+    if (data && data.id) {
+        cancelComplaint(data.id, $(this).parent());
+    }
+});
+});
+define("js/home/message", ["jquery"], function(require, exports, module){
+/**
+ * 我的信息
+ * @author: yyqing<yanqing.yang@yoho.cn>
+ * @date: 2016/3/21
+ */
+var $ = require("jquery");
+
+var $container = $('#message-main-container'),
+    $msgCheck = $container.find('.msg-check'),
+    $readBtn = $container.find('.read-choose-btn'),
+    $checked;
+
+var operationId = [];
+
+require("js/home/message-content");
+
+function hasNew() {
+    var newMsg = false;
+
+    $checked = $container.find('.msg-check:checked');
+    operationId = [];
+
+    $checked.each(function() {
+        var $par = $(this).parent().parent();
+
+        operationId.push($(this).val());
+        if ($par.hasClass('new-msg')) {
+            newMsg = true;
+        }
+    });
+
+    if (newMsg) {
+        $readBtn.addClass('has-new');
+    } else {
+        $readBtn.removeClass('has-new');
+    }
+}
+
+function msgOperation(type, data) {
+    var url;
+
+    switch (type) {
+        case 'del':
+            url = '/home/message/delMessage';
+            break;
+        case 'read':
+            url = '/home/message/readMessage';
+            break;
+    }
+
+    $.ajax({
+        type: 'GET',
+        url: url,
+        data: data
+    }).then(function(jsonData) {
+        if (!jsonData.code) {
+            if (type === 'del') {
+                $container.html(jsonData);
+                $msgCheck = $container.find('.msg-check');
+                $readBtn = $container.find('.read-choose-btn');
+            }
+        } else {
+            if (jsonData.code === 200) {
+                if (type === 'read') {
+                    $checked.removeAttr('checked');
+                    $checked.parent().parent().removeClass('new-msg');
+                    hasNew();
+                }
+            } else {
+                alert(jsonData.message);
+            }
+        }
+    });
+}
+
+$container.on('change', 'input[type="checkbox"]', function() {
+    var checked = $(this).attr('checked');
+
+    if ($(this).hasClass('choose-all')) {
+        if (checked === 'checked') {
+            $msgCheck.attr('checked', true);
+        } else {
+            $msgCheck.removeAttr('checked');
+        }
+    }
+    hasNew();
+});
+
+$container.on('click', '.del-btn', function() {
+    if (confirm('您确定要删除这条短消息?')) {
+        msgOperation('del', $(this).data());
+    }
+});
+
+$container.on('click', '.del-choose-btn', function() {
+    if (!operationId.length) {
+        alert('请选中您要删除的消息');
+        return;
+    }
+
+    if (confirm('确定要删除您选中的消息')) {
+        msgOperation('del', {
+            id: operationId.join(',')
+        });
+    }
+});
+
+$container.on('click', '.read-choose-btn', function() {
+    if ($(this).hasClass('has-new')) {
+        msgOperation('read', {
+            id: operationId.join(',')
+        });
+    }
+});
+});
+define("js/home/message-content", ["jquery"], function(require, exports, module){
+/**
+ * 我的信息
+ * @author: yyqing<yanqing.yang@yoho.cn>
+ * @date: 2016/3/25
+ */
+var $ = require("jquery");
+
+var $pickBtn = $('.pick-coupon-btn');
+
+var pickBusy = false;
+
+$pickBtn.click(function() {
+    var data = $(this).data();
+
+    if (pickBusy) {
+        return;
+    }
+    pickBusy = true;
+    $.ajax({
+        type: 'GET',
+        url: '/home/message/pickCoupon',
+        data: data
+    }).then(function(jsonData) {
+        var msg = jsonData.message;
+
+        if (jsonData.code === 200) {
+            msg = '领取成功';
+            $(this).removeClass('pick-coupon-btn');
+        }
+
+        pickBusy = false;
+
+        alert(msg);
+    });
+});
+});
+define("js/home/edit", ["jquery","handlebars","source-map"], function(require, exports, module){
+/**
+ * 个人中心页-个人资料编辑
+ * @author: zhaobiao<bill.zhao@yoho.cn>
+ * @date: 2016/02/17
+ */
+var $ = require("jquery");
+
+var $allEditForms = $('.userinfo-edit form');
+
+var address = require("js/home/common-address");
+
+var date = {
+    init: function(year, month, day) {
+        var $year = $('#year'),
+            $month = $('#month'),
+            $day = $('#day');
+
+        var that = this;
+
+        this.createDay($year.val(), $month.val(), $day.val());
+
+        $year.on('change', function() {
+            that.update();
+        });
+
+        $month.on('change', function() {
+            that.update();
+        });
+    },
+    update: function() {
+        this.createDay($('#year').val(), $('#month').val(), $('#day').val());
+    },
+    createDay: function(year, month, day) {
+        var html = '<select name="day" id="day">',
+            monthArray = new Array(4, 6, 9, 11),
+            dayNum = 31;
+
+        var select,
+            i;
+
+        year = parseInt(year);
+        month = parseInt(month);
+
+        if (year === 0) {
+            year = 0;
+        }
+
+        if (month === 0) {
+            month = 0;
+        }
+
+        $('#year').val(year.toString());
+        $('#month').val(month.toString());
+
+        html += '<option value="0">日</option>';
+
+        if (year > 0 && month > 0) {
+            if ($.inArray(month, monthArray) !== -1) {
+                dayNum = 30;
+            } else if (month === 2) {
+                dayNum = 28;
+                if (0 === year % 4 && (year % 100 !== 0 || year % 400 === 0)) {
+                    dayNum = 29;
+                }
+            }
+
+            for (i = 1; i <= dayNum; i++) {
+                select = '';
+
+                if (parseInt(day) === i) {
+                    select = 'selected';
+                }
+                html += '<option value="' + i + '" ' + select + '>' + i	+ '</option>';
+            }
+        }
+        html += '</select>';
+
+        $('#day').replaceWith(html);
+    }
+};
+
+
+$('.userinfo-edit h2').on('click', function() {
+    var $form = $(this).next();
+
+    $allEditForms.slideUp('fast');
+    $form.css('display') === 'none' ? $form.slideDown('slow') : null;
+
+});
+
+function checkBaseForm() {
+    var nicknameLength = $('#nickname').val().length,
+        usernameLength = $('#username').val().length,
+        $gender = $('input[name="gender"]'),
+        $year = $('#year'),
+        $month = $('#month'),
+        $day = $('#day');
+
+    if (nicknameLength === 0) {
+        alert('请输入昵称');
+        return false;
+    }
+
+    if (usernameLength === 0) {
+        alert('请输入用户名');
+        return false;
+    }
+
+    if (nicknameLength >= 20) {
+        alert('昵称最长为20个字符');
+        return false;
+    }
+
+
+    if (!$gender.is(':checked')) {
+        alert('请选择性别');
+        return false;
+    }
+
+    if ($year.val() === '0' || $month.val() === '0' || $day.val() === '0') {
+        alert('请选择出生年月日');
+        return false;
+    }
+
+    return true;
+}
+
+function checkContactForm() {
+    if ($('#province').val() === '0' || $('#city').val() === '0' || $('#areaCode').val() === '0') {
+        alert('请选择所在区域');
+        return false;
+    }
+
+    if ($('#province').val() === null || $('#city').val() === null || $('#areaCode').val() === null) {
+        alert('请选择所在区域');
+        return false;
+    }
+
+    if ($('#phone').val().length === 0 && $('#mobile').val().length === 0) {
+        alert('电话和手机号码不能同时为空,请填写!');
+        return false;
+    }
+
+
+    if ($('#fullAddress').val().length === 0) {
+        alert('请填写地址');
+        return false;
+    }
+
+    if ($('#zipCode').val().length === 0 || $('#zipCode').val().length < 2) {
+        alert('请填写邮编');
+        return false;
+    }
+
+    return true;
+}
+
+function checkHabbitForm() {
+    if (!$('.user-habbit-info input').is(':checked')) {
+        alert('请填写购物&着装习惯');
+        return false;
+    }
+
+    return true;
+}
+
+function checkFavoriteForm() {
+    if ($('#likebrand').val() === '') {
+        alert('请选择品牌');
+        return false;
+    }
+
+    return true;
+}
+
+function delBrand(brandId) {
+    var brand = $('#likebrand').val();
+
+    if (parseInt(brandId) === 0) {
+        return false;
+    }
+
+    $('#likebrand').val(brand.replace(',' + brandId + ',', ','));
+    $('#pp-' + brandId).attr('checked', false);
+    $('#brand-' + brandId).remove();
+}
+
+
+
+function addBrand(domObj, brandId, brandName) {
+    var html = '<li id="brand-' + brandId + '">' +
+                brandName + '<a href="javascript:void(0);" class="btn-del"></a></li>';
+
+    var brandInfo = $('#brand-' + brandId).html(),
+        brandStr = $('#likebrand').val();
+
+    var $brandBox = $('#brand-box');
+
+    if (parseInt(brandId) === 0) {
+        return false;
+    }
+
+    if (typeof domObj !== 'undefined' && domObj !== '' && domObj.checked === false) {
+        delBrand(brandId);
+        return false;
+    }
+    if (brandInfo) {
+        alert('您已经选择了该品牌.');
+        return false;
+    }
+    $brandBox.append(html);
+
+    $brandBox.find('li>a').off('click').on('click', function() {
+        delBrand($(this).closest('li').attr('id').substr(6));
+    });
+
+    brandStr += brandId + ',';
+    $('#likebrand').val(brandStr);
+}
+
+function checkBrand() {
+    var postData = {
+            brandName: $('#keywords').val()
+        };
+
+    $.post('/home/user/isbrandname', postData, function(data) {
+        if (data.code === 200) {
+            if (data.data.id && data.data.brand_name) {
+                addBrand('', data.data.id, data.data.brand_name);
+                $('#keywords').val('');
+                return true;
+            } else {
+                alert('网络异常,请重试');
+                return false;
+            }
+        }
+        alert(data.message);
+        return false;
+    }, 'json');
+}
+
+function save(postUrl, btnId) {
+    var $form = $('#' + btnId).closest('form');
+
+    $.post(postUrl, $form.serialize(), function(data) {
+        if (data.code === 200) {
+            alert(data.message);
+            setTimeout(function() {
+                $form.closest('div').next().find('h2').click();
+            }, 100);
+            return true;
+        }
+        alert(data.message);
+        return false;
+    }, 'json');
+}
+
+
+$('#base-info').on('click', function() {
+    if (checkBaseForm()) {
+        save('/home/user/edituserinfo/', 'base-info');
+    }
+});
+
+$('#contact-info').on('click', function() {
+    if (checkContactForm()) {
+        save('/home/user/editusercontactinfo/', 'contact-info');
+    }
+});
+
+$('#shopping-info').on('click', function() {
+    if (checkHabbitForm()) {
+        save('/home/user/edituserhabitsinfo/', 'shopping-info');
+    }
+});
+
+$('#favorite-brand').on('click', function() {
+    if (checkFavoriteForm()) {
+        $.ajax({
+            url: '/home/user/edituserlikebrand/',
+            type: 'post',
+            datatype: 'json',
+            data: {
+                brand: $('#likebrand').val()
+            },
+            success: function(data) {
+                if (data.code === 200) {
+                    alert(data.message);
+                    return true;
+                }
+                alert(data.message);
+                return false;
+            },
+            error: function(err) {
+                alert('网络异常');
+            }
+        });
+    }
+});
+
+$('#add-brand-btn').on('click', function() {
+    checkBrand();
+});
+
+$('.user-favorite-info input[type="checkbox"]').on('click', function() {
+    var $this = $(this);
+
+    addBrand(this, $this.attr('id').substr(3), $this.parent().text());
+});
+
+(function() {
+    var $brands = $('#brand-box li');
+
+    if ($brands.length > 0) {
+        $brands.find('a').on('click', function() {
+            delBrand($(this).closest('li').attr('id').substr(6));
+        });
+    }
+})();
+
+date.init();
+
+(function() {
+    if (!$('#province').val()) {
+        address.loadAllData(0, {
+            provinceDomId: 'province',
+            cityDomId: 'city',
+            areaDomId: 'areaCode'
+        });
+    } else {
+        address.bindAreaChange({
+            provinceDomId: 'province',
+            cityDomId: 'city',
+            areaDomId: 'areaCode'
+        });
+    }
+})();
+
+});
+define("js/home/gift", ["jquery","handlebars","source-map"], function(require, exports, module){
+/**
+ * 个人中心页-兑换礼品卡
+ * @author: wsl<shuiling.wang@yoho.cn>
+ * @date: 2016/02/22
+ */
+var $ = require("jquery"),
+    dialog = require("js/common/dialog"),
+    Alert = dialog.Alert;
+
+var $giftError = $('.giftCardCode').find('.gift-error'),
+    $codeError = $('.captchaCode').find('.gift-error'),
+    reg = '',
+    code = '',
+    i = 1;
+
+var active;
+
+var Gift = {
+    suc: [
+        false,
+        false,
+        false,
+        false
+    ],
+    checkCard: function(num) {
+        reg = /^[0-9a-zA-Z]{4,4}$/;
+
+        if (!reg.test($('#giftCardCode' + num).val())) {
+            $giftError.html('您输入的兑换码有误,兑换码必须为数字或字母,每个文本框里只能输入四个兑换码!');
+            Gift.suc[num - 1] = false;
+        } else {
+            for (i = 1; i <= 3; i++) {
+                if (!reg.test($('#giftCardCode' + i).val())) {
+                    $giftError.html('您输入的兑换码有误,兑换码必须为数字或字母,每个文本框里只能输入四个兑换码!');
+                    Gift.suc[i] = false;
+                } else {
+                    $giftError.html('');
+                    Gift.suc[i] = true;
+                }
+            }
+
+            if (num !== 3) {
+                $('#giftCardCode' + (num + 1)).focus();
+            }
+        }
+    },
+    bindGiftCardForm: function() {
+        $('#giftCardCode1').bind('blur keyup', function() {
+            Gift.checkCard(1);
+        });
+
+        $('#giftCardCode2').bind('blur keyup', function() {
+            Gift.checkCard(2);
+        });
+
+        $('#giftCardCode3').bind('blur keyup', function() {
+            Gift.checkCard(3);
+        });
+
+        $('#captchaCode').bind('blur keyup', function() {
+            code = $('#captchaCode').val();
+
+            if (code.length <= 0) {
+                $codeError.html('请输入验证码!');
+                Gift.suc[3] = false;
+            } else {
+                $codeError.html('');
+                Gift.suc[3] = true;
+            }
+        });
+    },
+
+    checkForm: function() {
+        if (!reg.test($('#giftCardCode1').val()) || !reg.test($('#giftCardCode2').val()) ||
+            !reg.test($('#giftCardCode3').val())) {
+            $giftError.html('您输入的兑换码有误,兑换码必须为数字或字母,每个文本框里只能输入四个兑换码!');
+            return false;
+        }
+
+        if ($.trim($('#captchaCode').val()) === '') {
+            $codeError.html('请输入验证码!');
+            return false;
+        }
+        return true;
+    }
+};
+
+//更换验证码
+function refreshCaptcha() {
+    var dt = new Date();
+
+    $('#imgcode').attr('src', '/passport/images?t=' + dt.getTime());
+    return false;
+}
+
+$('#sub-gift').on('click', function() {
+    if (Gift.checkForm()) {
+        $.post('/home/gift/exchange', $('#giftCardForm').serialize(), function(data) {
+            if (data.code === 200) {
+                window.location.href = '/home/gift?type=1';
+            } else if (data.code === 400) {
+                active = new Alert(data.message);
+                active.show();
+                refreshCaptcha();
+            } else {
+                window.location.href = '/home/gift?type=2';
+            }
+        }, 'json');
+    } else {
+        return false;
+    }
+});
+
+$(document).on('click', '#imgcode,.check-img', function() {
+    refreshCaptcha();
+});
+
+$(function() {
+    refreshCaptcha();
+    Gift.bindGiftCardForm();
+});
+});
+define("js/home/validate", ["jquery","handlebars","source-map"], function(require, exports, module){
+/**
+ * 个人中心页-账号安全验证
+ * @author:wsl<shuiling.wang@yoho.cn>
+ * @date: 2016/02/23
+ */
+var $ = require("jquery"),
+    dialog = require("js/common/dialog"),
+    phoneRegx = require("js/passport/mail-phone-regx"),
+    Alert = dialog.Alert;
+
+var $checkUser = $('.check-user'),
+    $checkInput = $checkUser.find('input').not('input[type=button],input[type=hidden],input[type=reset]'),
+    canSend = true,
+    canFlag = true,
+    stime = 60;
+
+var sInt,
+    active;
+
+$.ajaxSetup({
+    async: false
+});
+
+if (!Array.prototype.indexOf) {
+    Array.prototype.indexOf = function(obj, start) {
+        var i,
+            j;
+
+        for (i = (start || 0), j = this.length; i < j; i++) {
+            if (this[i] === obj) {
+                return i;
+            }
+        }
+
+        return -1;
+    };
+}
+
+function errorInfoAction(opt, txt) {
+    opt.$checkInfo.html('<div class="form-error">' + txt + '</div>');
+    if (opt.dom.attr('name') !== 'code' && opt.dom.attr('name') !== 'verifyCode') {
+        opt.dom.addClass('input-error');
+    }
+    return false;
+}
+
+function successInfoAction(opt) {
+    opt.$checkInfo.html('<div class="form-success">&nbsp;</div>');
+
+    if (opt.dom.attr('name') !== 'code' && opt.dom.attr('name') !== 'verifyCode') {
+        opt.dom.removeClass('input-error');
+    }
+    return true;
+}
+
+function checkFormAjax(ajaxData) {
+    var res;
+
+    $.post(ajaxData.url, ajaxData.data, function(data) {
+        if (typeof data.code !== 'undefined' && data.code === 200) {
+            res = successInfoAction(ajaxData.opt);
+        } else {
+            ajaxData.txt = ajaxData.txt !== '' && ajaxData.txt !== null ? ajaxData.txt : data.message;
+            res = errorInfoAction(ajaxData.opt, ajaxData.txt);
+        }
+    });
+
+    return res;
+}
+
+// 身份校验
+function checkForm(dom) {
+    var val = dom.val(),
+        len = val.length,
+        $domParent = dom.parent(),
+        $checkInfo = $domParent.find('.check-info'),
+        inputName = dom.attr('name'),
+        regular = '',
+        text = '',
+        mobileValue = '',
+        opt = {
+            $checkInfo: $checkInfo,
+            dom: dom
+        },
+        ajaxData = {
+            opt: opt
+        };
+
+    $checkInfo.html('');
+
+    if (inputName === 'password') {
+        if (len === 0) {
+            return errorInfoAction(opt, '密码不能为空!');
+        } else {
+            $.extend(ajaxData, {
+                url: '/home/account/checkpassword',
+                data: {
+                    password: val
+                },
+                txt: '密码错误!'
+            });
+            return checkFormAjax(ajaxData);
+        }
+    } else if (inputName === 'verifyCode') {
+        $.extend(ajaxData, {
+            url: '/home/account/checkverifycode',
+            data: {
+                verifyCode: val
+            },
+            txt: '验证码错误!'
+        });
+        return checkFormAjax(ajaxData);
+    } else if (inputName === 'email') {
+        regular = phoneRegx.emailRegx;
+
+        if (val.match(regular) === null) {
+            return errorInfoAction(opt, '邮箱错误!');
+        } else {
+            $.extend(ajaxData, {
+                url: '/home/account/checkemail',
+                data: {
+                    email: val
+                },
+                txt: ''
+            });
+            return checkFormAjax(ajaxData);
+        }
+    } else if (inputName === 'mobile') {
+        regular = phoneRegx.phoneRegx;
+        text = val.split('-');
+
+        if (text.length === 1) {
+            regular = val.match('^1[35847]{1}[0-9]{9}');
+        } else {
+            regular = regular['+' + text[0]].test(text[1]);
+        }
+
+        if (len === 0) {
+            return errorInfoAction(opt, '手机号不能为空!');
+        } else if (regular === null || !regular) {
+            return errorInfoAction(opt, '手机号错误!');
+        } else {
+            $.extend(ajaxData, {
+                url: '/home/account/checkmobile',
+                data: {
+                    mobile: val
+                },
+                txt: '手机号已经存在!'
+            });
+            return checkFormAjax(ajaxData);
+        }
+    } else if (inputName === 'newPwd') {
+        regular = phoneRegx.pwdValidateRegx;
+
+        if (!regular.test(val)) {
+            return errorInfoAction(opt, '建议6~20个数字+字母组合!');
+        } else {
+            return successInfoAction(opt);
+        }
+    } else if (inputName === 'confirm_password') {
+        if ($('#newPwd').val() !== val) {
+            return errorInfoAction(opt, '两次密码不一致!');
+        } else {
+            return successInfoAction(opt);
+        }
+
+        // else if ($('#newPwd').val() !== '') {
+        //     $('#newPwd').next().html('<div class="form-success">&nbsp;</div>');
+        //     return successInfoAction(opt);
+        // }
+    } else if (inputName === 'code') {
+        mobileValue = $('#realAccount').length > 0 ? $('#realAccount').val() : $('#mobilevalue').val();
+
+        if (val !== '') {
+            $.extend(ajaxData, {
+                url: '/home/account/checkmobilemsg',
+                data: {
+                    mobile: mobileValue,
+                    code: $('#inputcode').val()
+                },
+                txt: '验证码错误!'
+            });
+            return checkFormAjax(ajaxData);
+        }
+    } else {
+        return true;
+    }
+}
+
+// 校验表单
+function checkAllForm() {
+    var arr = [];
+
+    canFlag = false;
+
+    $.each($checkInput, function(key, item) {
+        arr[key] = checkForm($(item));
+    });
+
+    if (arr.indexOf(false) >= 0) {
+        canFlag = true;
+        return false;
+    } else {
+        return true;
+    }
+}
+
+// 切换验证码
+function changeCode() {
+    var timestamp = (new Date()).getTime();
+
+    $('#the-code-img').attr('src', '/passport/images?len=6&time=' + timestamp);
+}
+
+// 重新发送倒计时
+function code() {
+    var sstring = '';
+
+    if (stime > 0) {
+        sstring = '重新发送' + stime + '秒';
+        $('#sendButton').text(sstring);
+        stime = stime - 1;
+    } else {
+        stime = 60;
+        $('#sendButton').text('发送验证码');
+        clearInterval(sInt);
+        canSend = true;
+    }
+}
+
+// 发送手机验证码ajax请求
+function sendMobileMsg(mobileV) {
+    var $code = $('#inputcode'),
+        $ccheckInfo = $code.parent().find('check-info');
+
+    $.post('/home/account/sendmobilemsg', {
+        mobile: mobileV
+    }, function(data) {
+        if (typeof data.code !== 'undefined' && data.code === 200) {
+            canSend = false;
+            sInt = setInterval(function() {
+                code();
+            }, 1000);
+            $ccheckInfo.html('');
+        } else {
+            $ccheckInfo.html('<div class="form-error">验证码发送失败</div>');
+        }
+    });
+}
+
+// 发送手机验证码
+function sendcode() {
+    var $mobile = $('#mobilevalue');
+
+    var $mcheckInfo,
+        mobileV,
+        mobileObj;
+
+    if ($mobile.length > 0) {
+        $mcheckInfo = $mobile.next(),
+        mobileV = $mobile.val(),
+        mobileObj = mobileV.split('-');
+
+        if (mobileObj.length === 1) {
+            mobileObj = mobileV.match('^1[35847]{1}[0-9]{9}');
+        } else {
+            mobileObj = phoneRegx.phoneRegx['+' + mobileObj[0]].test(mobileObj[1]);
+        }
+    } else {
+        mobileV = $('#realAccount').val();
+    }
+
+    if (canSend) {
+        if ($mobile.length > 0) {
+            if (mobileObj === null || !mobileObj) {
+                $mcheckInfo.html('<div class="form-error">手机号错误!</div>');
+                $mobile.addClass('input-error');
+                return false;
+            }
+
+            if ($mcheckInfo.find('.form-success').length > 0) {
+                sendMobileMsg(mobileV);
+            }
+        }
+
+        if ($('#realAccount').length > 0) {
+            sendMobileMsg(mobileV);
+        }
+    } else {
+        return false;
+    }
+}
+
+// 验证完成后倒计时跳转
+function toHome() {
+    window.location.href = '/home/account';
+}
+
+// ajax公共处理模块
+function ajaxAction(opt, flag) {
+    $.post(opt.url, opt.data, function(data) {
+        if (data.code === 200) {
+            if (flag) {
+                opt.hrefUrl += '&checkCode=' + data.data;
+            }
+            window.location.href = opt.hrefUrl;
+        } else {
+            canFlag = true;
+            active = new Alert(data.message);
+            active.show();
+            return false;
+        }
+    }, 'json');
+}
+
+// 提交表单
+function submitForm() {
+    var step = $('.progress-bar .cur').index(),
+        verifyType = $('#verifyType').val(),
+        curType = '',
+        opt = {};
+
+    if ($('.email').length > 0) {
+        curType = 'email';
+    }
+
+    if ($('.mobile').length > 0) {
+        curType = 'mobile';
+    }
+
+    if ($('.userpwd').length > 0) {
+        curType = 'userpwd';
+    }
+
+    /*
+     * step 0: 验证身份 1:验证第二步骤 2:验证第三步骤
+     * verifyType 验证身份的状态 1:登录密码验证 2:邮箱的身份验证 3:手机的身份验证
+     */
+    if (step === 0) {
+        if (verifyType === '1') {
+            opt = {
+                url: '/home/account/verifypassword',
+                data: $('#pwdform').serialize(),
+                hrefUrl: '/home/account/' + curType + '?step=2'
+            };
+
+            ajaxAction(opt, 'step1');
+
+            // if (!ajaxAction(opt)) {
+            //     $("input[type=reset]").trigger("click");
+            // }
+        } else if (verifyType === '2') {
+            opt = {
+                url: '/home/account/sendemail',
+                data: {
+                    checkType: curType,
+                    email: $('#realAccount').val()
+                },
+                hrefUrl: '/home/account/sendemailsuccess?email=' + $('#realAccount').val() +
+                        '&type=1&checkType=' + curType
+            };
+            ajaxAction(opt);
+        } else {
+            opt = {
+                url: '/home/account/checkmobilemsg',
+                data: {
+                    mobile: $('#realAccount').val(),
+                    code: $('#inputcode').val()
+                },
+                hrefUrl: '/home/account/' + curType + '?step=2'
+            };
+            ajaxAction(opt, 'step1');
+        }
+    } else if (step === 1) {
+        if (curType === 'userpwd') {
+            opt = {
+                url: '/home/account/modifypwd',
+                data: $('#pwdform').serialize(),
+                hrefUrl: '/home/account/userpwd?step=3&success=true'
+            };
+            ajaxAction(opt);
+        } else if (curType === 'email') {
+            opt = {
+                url: '/home/account/modifyemail',
+                data: {
+                    email: $('#email').val()
+                },
+                hrefUrl: '/home/account/sendemailsuccess?email=' + $('#email').val() +
+                        '&type=2&checkType=email'
+            };
+            ajaxAction(opt);
+        } else {
+            opt = {
+                url: '/home/account/modifymobile',
+                data: {
+                    mobile: $('#mobilevalue').val(),
+                    code: $('#inputcode').val()
+                },
+                hrefUrl: '/home/account/mobile?step=3&success=true'
+            };
+            ajaxAction(opt);
+        }
+    }
+}
+
+$(function() {
+    var t = null;
+
+    if ($('.res-info').length > 0) {
+        t = setTimeout(function() {
+            toHome();
+        }, 5000);
+    }
+
+    changeCode();
+
+    $('#pwdform').submit(function() {
+        return false;
+    });
+
+    $checkInput.blur(function() {
+        checkForm($(this));
+    });
+
+    $('.sub-btn').on('click', function() {
+        if (canFlag === false) {
+            return false;
+        }
+
+        if (checkAllForm()) {
+            submitForm();
+        } else {
+            return false;
+        }
+    });
+
+    $('input[name=verifyCode]').keydown(function(e) {
+        if (e.keyCode === 13) {
+            if (canFlag === false) {
+                return false;
+            }
+
+            if (checkAllForm()) {
+                submitForm();
+            } else {
+                return false;
+            }
+        }
+    });
+
+    $('.the-code').on('click', function() {
+        changeCode();
+    });
+
+    $('#send-mobile-code').on('click', function() {
+        sendcode();
+    });
+
+    if ($('#newPwd').length > 0) {
+        $('#newPwd').on('input', function(e) {
+            var $confirm = $('input[name=confirm_password]'),
+                confirmV = $confirm.val(),
+                newPwdV = $('#newPwd').val(),
+                opt = {
+                    dom: $confirm,
+                    $checkInfo: $confirm.next()
+                };
+
+            if (confirmV.length > 0 && newPwdV !== confirmV) {
+                errorInfoAction(opt, '两次密码不一致!');
+            }
+        });
+    }
+});
+});
+define("js/home/address", ["jquery","handlebars","source-map"], function(require, exports, module){
+/**
+ * 个人中心页-地址管理
+ * @author: wsl<shuiling.wang@yoho.cn>
+ * @date: 2016/02/24
+ */
+var $ = require("jquery"),
+    regionCode = require("js/home/common-address"),
+    dialog = require("js/common/dialog"),
+    Alert = dialog.Alert;
+
+var active;
+
+var $del = $('.address-del'),
+    $edit = $('.address-modify'),
+    $input = $('.input-1');
+
+var address = {
+
+    evil: function(fn) {
+        var Fn = Function;
+
+        return new Fn('return ' + fn)();
+    },
+
+    clearAddrForm: function() {
+        $('#addressName').val('');
+        $('#address').val('');
+        $('#zipCode').val('');
+        $('#phone').val('');
+        $('#mobile').val('');
+        $('#email').val('');
+        $('#addrId').val(0);
+        $('#province').val(0);
+        $('#city').val(0);
+        $('#areaCode').val(0).hide();
+        $('#btn-reset').hide();
+        $('#form-status').html('添加新地址');
+    },
+
+    editAddr: function(id) {
+        $.getJSON('/home/address/editAddress?id=' + id, function(jsonData) {
+            if (jsonData.code === 200) {
+                $('#form-status').html('修改地址');
+                $('#addressName').val(jsonData.data.consignee);
+
+                regionCode.loadAllData(jsonData.data.area_code, {});
+                $('#address').val(jsonData.data.address);
+                $('#email').val(jsonData.data.email);
+                $('#phone').val(jsonData.data.phone);
+                $('#mobile').val(jsonData.data.mobile);
+                $('#zipCode').val(jsonData.data.zip_code);
+                $('#addrId').val(jsonData.data.address_id);
+                $('#btn-reset').show();
+            }
+        });
+    },
+
+    saveAddr: function(callbackFunc) {
+        $.post('/home/address/saveAddress', $('#address-form').serialize(), function(data) {
+            if (data.code === 200) {
+                location.reload();
+            } else {
+                active = new Alert(data.message);
+                active.show();
+            }
+        }, 'json');
+    },
+
+    // 删除地址
+    delAddr: function(addrId) {
+        $.getJSON('/home/address/delAddress?id=' + addrId, function(jsonData) {
+            if (jsonData.code === 200) {
+                $('.address-list').find('li[addressId=' + addrId + ']').remove();
+                if (addrId === $('#addrId').val()) {
+                    address.clearAddrForm();
+                }
+            } else {
+                active = new Alert('删除失败');
+                active.show();
+            }
+        });
+    },
+
+    setDefaultAddr: function(addrId) {
+        var oldBtn = $('.address-list').find('.default-btn'),
+            oldLi = $('.address-list').find('.default-btn').parents('li'),
+            curLi = $('.address-list').find('li[addressId=' + addrId + ']'),
+            curBtn = curLi.find('.set-default-btn');
+
+        $.getJSON('/home/address/defaultAddress?id=' + addrId, function(jsonData) {
+            if (jsonData.code === 200) {
+                oldBtn.attr('class', 'btn-c3 set-default-btn');
+                oldLi.removeClass('preferred');
+                oldBtn.html('<span>设为常用地址</span>');
+                curBtn.attr('class', 'btn-c2 default-btn');
+                oldBtn.html('<span>设为常用地址</span>');
+                curLi.addClass('preferred');
+            } else {
+                active = new Alert('设置失败');
+                active.show();
+            }
+        });
+    }
+};
+
+if (!Array.prototype.indexOf) {
+    Array.prototype.indexOf = function(obj, start) {
+        var i,
+            j;
+
+        for (i = (start || 0), j = this.length; i < j; i++) {
+            if (this[i] === obj) {
+                return i;
+            }
+        }
+
+        return -1;
+    };
+}
+
+// 获取地址id
+function getAddressId(dom) {
+    var li = dom.parents('.address-content'),
+        id = li.attr('addressId');
+
+    return id;
+}
+
+//表单焦点显示
+function focusAction(opt) {
+    var msg = '';
+
+    if (opt.inputName === 'addressName') {
+        msg = '真实姓名在2到5个汉字之间';
+    }
+
+    if (opt.inputName === 'address') {
+        msg = '请填写详细地址';
+    }
+
+    if (opt.inputName === 'zipCode') {
+        msg = '请输入收货人所在地邮编号';
+    }
+
+    if (opt.inputName === 'phone') {
+        msg = '格式例如:0577-88888888';
+    }
+
+    if (opt.inputName === 'mobile') {
+        msg = '请输入手机号,如1360000000';
+    }
+
+    if (opt.inputName === 'email') {
+        msg = '用来接收订单提醒邮件,便于您及时了解订单状态';
+    }
+
+    opt.$checkInfo.removeClass('form-prompt').addClass('form-focus').html(msg);
+}
+
+//表单失去焦点显示
+function blurAction(opt) {
+    var regular = '',
+        res = true,
+        msg = '输入正确',
+        domClass = 'form-info form-success',
+        value = opt.val;
+
+    if (opt.inputName === 'addressName') {
+        regular = /^[\u4e00-\u9fa5]{2,5}$/;
+
+        if (opt.len < 1 || opt.len > 12) {
+            msg = '真实姓名在2到5个汉字之间,请确认';
+            res = false;
+            domClass = 'form-info form-error';
+        } else if (regular.test(opt.val) === false) {
+            msg = '真实姓名至少2个中文,最多5个中文';
+            res = false;
+            domClass = 'form-info form-error';
+        }
+    }
+
+    if (opt.inputName === 'address') {
+        if (opt.len < 2) {
+            msg = '请填写详细地址';
+            res = false;
+            domClass = 'form-info form-error';
+        }
+    }
+
+    if (opt.inputName === 'zipCode') {
+        regular = /^[0-9]{6}$/;
+
+        if (opt.len === 0) {
+            msg = '请输入收货人所在地邮编号';
+            res = false;
+            domClass = 'form-info form-error';
+        } else if (regular.test(opt.val) === false) {
+            msg = '你输入的邮编式不正确';
+            res = false;
+            domClass = 'form-info form-error';
+        }
+    }
+
+    if (opt.inputName === 'phone') {
+        regular = /^(0[0-9]{2,3}\-)?([2-9][0-9]{6,7})+(\-[0-9]{1,4})?$/;
+
+        if (opt.len === 0) {
+            msg = '你真的不想留联系电话了吗?';
+            res = true;
+            domClass = 'form-info form-success';
+        } else if (regular.test(opt.val) === false) {
+            msg = '你输入的联系电话格式不正确';
+            res = false;
+            domClass = 'form-info form-error';
+        }
+    }
+
+    if (opt.inputName === 'mobile') {
+        regular = /^1[3|4|5|8|7][0-9]{9}$/;
+
+        if (opt.len !== 11) {
+            msg = '手机号码必须是11位的,请确认';
+            res = false;
+            domClass = 'form-info form-error';
+        } else if (regular.test(opt.val) === false) {
+            msg = '您输入的手机号格式不正确';
+            res = false;
+            domClass = 'form-info form-error';
+        }
+    }
+
+    if (opt.inputName === 'email') {
+        regular = '^[a-z0-9_\-]+(\.[_a-z0-9\-]+)*@([_a-z0-9\-]+\.)+([a-z]{2}|aero|arpa|biz|com|coop|' +
+                    'edu|gov|info|int|jobs|mil|museum|name|nato|net|org|pro|travel)$';
+
+        if (value.match(regular) === null || opt.len === 0) {
+            msg = '你输入的邮件地址格式不正确';
+            res = false;
+            domClass = 'form-info form-error';
+        }
+    }
+
+    opt.$checkInfo.removeClass().addClass(domClass).html(msg);
+    return res;
+}
+
+
+// 地址表单验证
+function checkAddressForm(dom, action) {
+    var val = dom.val(),
+        $domParent = dom.parent(),
+        opt = {
+            val: val,
+            len: val.length,
+            $domParent: dom.parent(),
+            $checkInfo: $domParent.find('span'),
+            inputName: dom.attr('name')
+        };
+
+    if (action === 'focus') {
+        focusAction(opt);
+    }
+
+    if (action === 'blur') {
+        return blurAction(opt);
+    }
+}
+
+function fullOneValidator() {
+    var phone = $('#phone').next(),
+        mobile = $('#mobile').next();
+
+    if (mobile.hasClass('form-success') && !phone.hasClass('form-error') && $('#phone').val().length === 0) {
+        phone.removeClass().addClass('form-prompt form-info').html('请输入你的联系电话,可以为空哦');
+        return true;
+    } else if (phone.html() === '输入正确' && !mobile.hasClass('form-error') && $('#mobile').val().length === 0) {
+        mobile.removeClass().addClass('form-prompt form-info').html('填写手机号便于接收发货和收货通知');
+        return true;
+    } else if (!mobile.hasClass('form-success') && phone.html() !== '输入正确') {
+        phone.removeClass().addClass('form-success form-info').html('你真的不想留联系电话了吗?');
+        mobile.removeClass().addClass('form-prompt form-info').html('填写手机号便于接收发货和收货通知');
+        $('#mobile').focus();
+        return false;
+    }
+}
+
+//校验所有内容
+function checkAllForm() {
+    var arr = [];
+
+    $.each($input, function(key, item) {
+        arr.push(checkAddressForm($(item), 'blur'));
+    });
+
+    arr.push(fullOneValidator());
+
+    $.each($('.form-info'), function(key, item) {
+        if ($(item).hasClass('form-error')) {
+            $(item).prev().focus();
+            return false;
+        }
+    });
+
+
+    if (arr.indexOf(false) === -1) {
+        return true;
+    } else {
+        return false;
+    }
+}
+
+$(document).on('click', '.set-default-btn', function() {
+    var id = getAddressId($(this));
+
+    address.setDefaultAddr(id);
+});
+
+$del.on('click', function() {
+    var id = getAddressId($(this));
+
+    address.delAddr(id);
+});
+
+$edit.on('click', function() {
+    var id = getAddressId($(this));
+
+    address.editAddr(id);
+    $('#btn-reset').show();
+});
+
+$input.on('focus', function() {
+    checkAddressForm($(this), 'focus');
+});
+
+$input.on('blur', function() {
+    checkAddressForm($(this), 'blur');
+});
+
+$('#address-info').on('click', function() {
+    if (checkAllForm()) {
+        address.saveAddr();
+    }
+});
+
+$(document).ready(function() {
+    regionCode.loadAllData(
+        0,
+        {
+            provinceDomId: 'province',
+            cityDomId: 'city',
+            areaDomId: 'areaCode'
+        }
+    );
+
+    address.clearAddrForm();
+
+    $('#btn-reset').click(function() {
+        address.clearAddrForm();
+    });
+});
+});
+define("js/help/entry", ["jquery","handlebars","source-map"], function(require, exports, module){
+/**
+ * 帮助中心页js打包入口文件
+ * @author: yyqing<yanqing.yang@yoho.cn>
+ * @date: 2016/3/23
+ */
+
+require("js/help/search");
+});
+define("js/help/search", ["jquery","handlebars","source-map"], function(require, exports, module){
+/**
+ * 我的信息
+ * @author: yyqing<yanqing.yang@yoho.cn>
+ * @date: 2016/3/23
+ */
+var $ = require("jquery"),
+    Handlebars = require("handlebars");
+
+var $searchMain = $('.search-content'),
+    $dialog = $('#help-dialog-widget'),
+    $dialogBg = $('#help-dialog-bg');
+
+var docW = $(document).width(),
+    winH = $(window).height();
+
+var tpl =
+    '<div class="dialog-titlebar">' +
+        '<span class="dialog-close-btn"></span>' +
+    '</div>' +
+    '<div class="dialog-content">' +
+        '<p class="ask">问:<br>{{ask}}</p>' +
+        '<p class="answer">答:<br>{{answer}}</p>' +
+    '</div>';
+
+var tplFn = Handlebars.compile(tpl);
+
+$searchMain.on('click', '.faqs', function() {
+    var data = $(this).data(),
+        top = $(document).scrollTop();
+
+    $dialog.html(tplFn(data)).removeClass('hide');
+    $dialogBg.removeClass('hide');
+
+    $dialog.html(tplFn(data)).css({
+        top: top + (winH - $dialog.outerHeight()) / 2,
+        left: (docW - $dialog.outerWidth()) / 2
+    });
+});
+
+$dialog.on('click', '.dialog-close-btn', function() {
+    $dialog.addClass('hide');
+    $dialogBg.addClass('hide');
+});
+});
+define("js/order/ensure", ["jquery","handlebars","source-map"], function(require, exports, module){
+/**
+ * @description: 订单保存
+ * @time: 2015/12/21
+ */
+
+var $ = require("jquery");
+
+var address = require("js/order/address");
+
+var dialog = require("js/common/dialog");
+
+var accMul = function(arg1, arg2) {
+    var m = 0,
+    s1 = arg1.toString(),
+    s2 = arg2.toString();
+
+    try {
+        m += s1.split('.')[1].length;
+    } catch (e) {
+    }
+    try {
+        m += s2.split('.')[1].length;
+    } catch (e) {
+    }
+    return Number(s1.replace('.', '')) * Number(s2.replace('.', '')) / Math.pow(10, m);
+};
+
+var Order = {
+    /*业务数据(人民币)*/
+    Data: {
+        product: 0, //商品价格
+        activity: 0, //活动
+        carriage: 0, //邮费
+        juan: 0, //优惠卷
+        yohocoin: 0 //YOHO币
+    },
+    /*view 交互*/
+    UI: {
+        e: {
+            $pan: $('.pan'),
+            $jc: $('#juancode'),
+            $bp: $('#biprice'),
+            $statistics: $('li', '.play-total'),
+            $tobi: $('p em', '.play-bi-pan .play-pan'),
+            $cancel: $('.cancel', '.btn-group'),
+            $total: $('em', '.to-play'),
+            $tbody: $('table tbody', '.pay-wapper'),
+
+            //请填写并核对一下信息
+            $orderSelectionSave: $('.address-list h2 span'),
+            $addAddress: $('.add-address'),
+            $addressManage: $('.address-manage'),
+            $spanPayTypeLegend: $('span.pay-type-legend'),
+            $supportType: $('.support-type'),
+            $existAddressListWrap: $('.exist-address-list'),
+            $existAddressList: $('.exist-address-list').find('li'),
+            $existAddress: $('.exist-address-list').find('input[name="exist-address"]'),
+            $payTimeModify: $('.pay-time-modify'),
+            $switchPayModify: $('.switch-pay-modify'),
+            $modityPayInfo: $('.modity-pay-info'),
+            $payTotal: $('.play-total'),
+            $toPay: $('.to-play em'),
+            $redEnvelopes: $('.red-envelopes'),
+            $useEnvelopes: $('.use-envelopes'),
+            $hasEnvelopes: $('.has-envelopes span'),
+            $useEnvelopesInput: $('.use-envelopes').find('input'),
+            $expressFee: $('.express-fee')
+        },
+        init: function() {
+            var e = this.e,
+                    d = Order.Data,
+                    c = Order.Common;
+
+            //初始化产品价格(表格中的价格)
+            e.$tbody.find('tr').each(function(index) {
+
+                var td = $(this).find('td');
+                var len = e.$tbody.find('tr').length;
+                var subtotal = parseFloat(td.eq(1).html()) * parseInt(td.eq(3).html());
+
+                td.eq(1).html('¥' + td.eq(1).html());
+
+                if (td.hasClass('xforone')) {
+                    td.eq(4).find('del').html('¥' + c.strFixed(subtotal));
+                    subtotal = 0;
+                } else {
+                    td.eq(4).html('¥' + c.strFixed(subtotal));
+                }
+                d.product += subtotal;
+                if (!index) {
+                    td.last().attr('rowspan', len);
+                } else {
+                    td.last().remove();
+                }
+                if (index === len - 1) {
+                    e.$tbody.find('tr').eq(0).find('td').last().html('<strong>¥' + c.strFixed(d.product) + '</strong>');
+                }
+            });
+
+            // 使用优惠券、使用yoho币点击展开
+            e.$pan.find('dt').click(function() {
+
+                var pan = $(this).parent('dl.pan');
+
+                if (pan.find('dd').is(':hidden')) {
+                    c.winShow(pan);
+
+                    $(this).addClass('active');
+                } else {
+                    c.winHide(pan);
+
+                    $(this).removeClass('active');
+                }
+
+            });
+
+            //请填写并核对一下信息
+            e.$orderSelectionSave.click(function() {
+                var i = 0,
+                        $addressLi = $('.exist-address-list li'),
+                        liLen = $addressLi.length,
+                        notSelect = 0;
+
+                if (!$(this).attr('expand')) {
+
+                    $(this).attr('expand', 'expand').text('[不保存并关闭]');
+
+                    $('.exist-address-list li').removeClass('hide');
+
+                    $('.save-btn').removeClass('hide');
+
+                    e.$existAddressListWrap.addClass('address-expand');
+
+                    if (liLen === 1) {
+                        e.$addressManage.removeClass('hide');
+                    }
+
+                } else {
+
+                    for (i = 0; i < liLen; i++) {
+
+                        if ($addressLi.eq(i).hasClass('address_select')) {
+                            notSelect++;
+                        }
+
+                        if (!$addressLi.eq(i).hasClass('address_select')) {
+                            $addressLi.eq(i).addClass('hide');
+                        }
+                    }
+
+                    if (notSelect === 0) {
+                        $('.exist-address-list li:not(".use-new-address")').removeClass('hide');
+
+                        $('.use-new-address input').removeAttr('checked');
+                    }
+
+                    $('.address-list-inner li.address_select input').attr('checked', 'checked');
+                    $('.address-list-inner li').removeClass('active');
+                    $('.address-list-inner li.address_select').addClass('active');
+
+                    $(this).removeAttr('expand').text('[修改]');
+
+                    $('.save-btn').addClass('hide');
+
+                    e.$existAddressListWrap.removeClass('address-expand');
+
+                    e.$addressManage.addClass('hide');
+                }
+
+            });
+
+
+            //支付及送货时间
+            e.$switchPayModify.click(function() {
+
+                if (e.$payTimeModify.hasClass('hide')) {
+                    e.$payTimeModify.removeClass('hide');
+                    e.$modityPayInfo.addClass('hide');
+                    $(this).text('[不保存并关闭]');
+                } else {
+                    e.$payTimeModify.addClass('hide');
+                    e.$modityPayInfo.removeClass('hide');
+                    $(this).text('[修改]');
+
+                    e.$payTimeModify.find('input[name="pay-type"]').filter('.checked').attr('checked', 'checked');
+                    e.$payTimeModify.find('input[name="pay-time-radio"]').filter('.checked').attr('checked', 'checked');
+                    e.$payTimeModify.find('input[name="call-me"]').filter('.checked').attr('checked', 'checked');
+                }
+            });
+
+            e.$spanPayTypeLegend.click(function() {
+                $(this).toggleClass('active');
+
+                e.$supportType.toggleClass('hide');
+            });
+
+            $(document).on('click', '.exist-address-list li', function() {
+
+                $('.exist-address-list li').removeClass('active');
+
+                $(this).addClass('active');
+
+                $(this).find('input').attr('checked', 'checked');
+
+                if ($(this).hasClass('use-new-address')) {
+                    e.$addressManage.removeClass('hide');
+
+                    $('.address-manage input').val('');
+
+                    $('.save-btn').removeAttr('data-id');
+
+                    // 0表示获取所有省的列表,'000000'表示无匹配的区域码
+                    address.newAddress(0, '000000');
+                }
+            });
+        },
+
+        //渲染价格明细
+        render: function(data, tips) {
+
+            // 下面这段是在服务端算价格
+            var e = this.e,
+                    i,
+                    dArr = data.promotion_formula_list,
+                    packageList = data.package_list,
+                    str = '',
+                    isExpress = '';
+
+            var tipsStr;
+
+            var envelopesVal;
+
+            if (!!tips) {
+                tipsStr = tips;
+            } else {
+                tipsStr = '';
+            }
+
+            for (i = 0; i < dArr.length; i++) {
+
+                if (dArr[i].promotion === '优惠券:') {
+                    dArr[i].promotion = (tipsStr ? tipsStr : '优惠券') + '<span class="juan-modify">[修改]</span>:';
+                }
+
+                if (dArr[i].promotion === 'YOHO币:') {
+                    dArr[i].promotion = 'YOHO币<span class="bi-modify">[修改]</span>:';
+                }
+
+                if (dArr[i].isExpress) {
+                    isExpress = 'total-express-w';
+                } else {
+                    isExpress = '';
+                }
+
+                str += '<li class="' + isExpress + '">' +
+                        '<label>' + dArr[i].promotion + '</label>' +
+                        '<em>' + dArr[i].promotion_amount + '</em>' +
+                        '</li>';
+            }
+
+            e.$payTotal.html(str);
+            e.$toPay.html((data.last_order_amount).toFixed(2));
+
+            //有货币清零状态更新
+            $('#biprice').val(accMul(100, data.use_yoho_coin));
+            if (~~data.use_yoho_coin === 0) {
+                $('.errbitip').text('');
+            } else {
+                $('.errbitip').text('抵扣' + data.use_yoho_coin.toFixed(2) + '元');
+            }
+
+            envelopesVal = e.$useEnvelopesInput.data('all') - data.use_red_envelopes;
+
+            if (~~data.use_red_envelopes > 0) {
+                e.$useEnvelopes.find('span').html('-¥' + data.use_red_envelopes.toFixed(2));
+                e.$useEnvelopes.find('input').attr('data-use', data.use_red_envelopes);
+            } else {
+                e.$useEnvelopes.find('span').html('-¥0.00');
+                e.$hasEnvelopes.html('¥' + (e.$useEnvelopesInput.attr('data-all') * 1).toFixed(2));
+                e.$redEnvelopes.removeClass('active');
+                e.$useEnvelopesInput.prop('checked', false);
+            }
+            e.$hasEnvelopes.html('¥' + envelopesVal.toFixed(2));
+
+            if (packageList) {
+                e.$expressFee.each(function(index, expressCost) {
+                    var orignCost = packageList[index].shopping_orig_cost,
+                        disCount = packageList[index].shopping_cut_cost,
+                        realCost = packageList[index].shopping_cost;
+
+                    var cost = parseInt(orignCost) === 0 ?
+                        '运费:¥0.00元' :
+                        '运费:¥' + realCost + '元(原价' + orignCost + '元,优惠' + disCount + ')元';
+
+                    $(expressCost).text(cost);
+                });
+            }
+        }
+    },
+    /*公共方法*/
+    Common: {
+        enterNUM: function(str1, str2) {
+            str1 = str1.replace(/[^\d]/g, '');
+            if (str1 && str2) {
+                str1 = parseInt(str1);
+                str2 = parseInt(str2);
+                if (str1 > str2) {
+                    str1 = str2;
+                }
+            }
+            return str1;
+        },
+        calucate: function() {
+            var p = Order.Data;
+
+            $.each(Order.Data, function(key, index) {
+                p[key] = parseFloat(Order.Data[key]);
+            });
+            return p.product - p.activity + p.carriage - p.juan - p.yohocoin;
+        },
+        winShow: function(pan) {
+            pan.find('dt').show();
+            pan.find('dd').show();
+            if (pan.attr('class').match(/(-bi-)|(-juan-)/g)) {
+                pan.find('dt').hide();
+            }
+        },
+        winHide: function(pan) {
+            pan.find('dt').show();
+            pan.find('dd').hide();
+
+            /*if (pan.hasClass('play-juan-pan') && $('.juan-modify').length > 0) {
+             pan.find('dt').hide();
+             }
+
+             if (pan.hasClass('play-bi-pan') && $('.bi-modify').length > 0) {
+             pan.find('dt').hide();
+             }*/
+        },
+        strFixed: function(str) {
+            return parseFloat(str).toFixed(2);
+        }
+    },
+    /*业务逻辑*/
+    Bll: {
+        e: {
+            $juanok: $('#juansubmit'),
+            $juantip: $('.errtip', '.play-juan-pan'),
+            $biok: $('#bisubmit'),
+            $carriageGroup: $('input[name="carriagegroup"]'),
+            $selectExpress: $('.express-list input'),
+            $bp: $('#biprice'),
+            $errorTip: $('.errbitip'),
+            $useEnvelopes: $('.use-envelopes'),
+            $hasEnvelopes: $('.has-envelopes span'),
+            $useEnvelopesInput: $('.use-envelopes').find('input'),
+            $redEnvelopes: $('.red-envelopes'),
+            $loading: $('.loading')
+        },
+        init: function() {
+            var e = this.e,
+                    u = Order.UI,
+                    options,
+                    c = Order.Common,
+                    envelopesVal;
+
+            function getSelectData(callback) {
+
+                var $juangroupInput = $('.play-juan.is-select input[name="juangroup"]:checked');
+                var expressVal = $('.express-list input[name="carriagegroup"]:checked').val();
+                var biVal = $('#biprice.is-select').val();
+                var codeVal = $juangroupInput.val();
+                var cartType = $('.address-manage').attr('cart-type');
+                var redEnvelopes = $('.use-envelopes input:checked').attr('data-use');
+                var resultData;
+
+                codeVal = codeVal ? codeVal : $juangroupInput.closest('li').find('#juancode').val();
+
+                resultData = {
+                    cartType: cartType,
+                    deliveryWay: expressVal,
+                    couponCode: codeVal,
+                    yohoCoin: biVal
+
+                    //redEnvelopes: e.$useEnvelopesInput.length > 0 ? ~~e.$hasEnvelopes.text().substring(1) : '0'
+                };
+
+                if (!!redEnvelopes) {
+                    resultData.redEnvelopes = redEnvelopes;
+                }
+
+                callback(resultData);
+
+            }
+
+            // 选择快递
+            e.$selectExpress.click(function() {
+
+                var expressId = $(this).val();
+
+                e.$loading.show();
+
+                getSelectData(function(d) {
+
+                    d.deliveryWay = expressId;
+
+                    options = {
+                        type: 'POST',
+                        url: '/cart/index/orderCompute',
+                        data: d,
+                        success: function(data) {
+                            e.$loading.hide();
+
+                            if (data.code === 200) {
+                                u.render(data.data);
+
+                                if (expressId === '1') {
+
+                                    $('.express-list.sf').addClass('hide');
+                                } else if (expressId === '2') {
+                                    $('.express-list.sf').removeClass('hide');
+                                }
+                            } else {
+                                new dialog.Alert(data.message).show();
+                            }
+                        }
+                    };
+
+                    $.ajax(options);
+                });
+            });
+
+            //点击 优惠卷支付 确认按钮
+            e.$juanok.click(function() {
+
+                var pan = $(this).parents('dl.pan');
+
+                var juanText = '';
+
+                $('.play-juan').addClass('is-select');
+
+                getSelectData(function(d) {
+
+                    var code = d.couponCode;
+
+                    if (!code) {
+
+                        e.$juantip.html('请选择或填写一个优惠券');
+                        $('.play-juan').removeClass('is-select');
+
+                    } else {
+
+                        e.$loading.show();
+
+                        options = {
+                            type: 'POST',
+                            url: '/cart/index/orderCompute',
+                            data: d,
+                            success: function(data) {
+
+                                e.$loading.hide();
+
+                                if (data.code === 200) {
+
+                                    juanText = $('.play-juan input[value="' + code + '"]').next().text();
+                                    u.render(data.data, juanText);
+
+                                    //$('#juancode').val(code);
+
+                                    c.winHide(pan);
+                                    e.$juantip.html('');
+
+                                    //$('.play-juan-pan dt').hide();
+
+                                } else {
+                                    e.$juantip.html(data.message);
+                                    $('.play-juan').removeClass('is-select');
+                                }
+                            }
+                        };
+
+                        $.ajax(options);
+                    }
+                });
+
+            });
+
+            // 优惠券修改
+            $(document).on('click', '.juan-modify', function() {
+
+
+                var $pan = $('.play-juan-pan');
+
+                c.winShow($pan);
+            });
+
+            e.$biok.click(function() {
+
+                var pan = $(this).parents('dl.pan');
+                var juanText;
+
+                $('#biprice').addClass('is-select');
+
+                getSelectData(function(d) {
+
+                    if (!!d.couponCode) {
+                        juanText = $('.play-juan input[value="' + d.couponCode + '"]').next().text();
+                    }
+
+                    //if (d.yohoCoin * 1 === 0) {
+                    if (!/^\d+$/.test(d.yohoCoin + '') || d.yohoCoin * 1 === 0) {
+                        $('.errbitip').html('请输入一个正整数');
+                        $('#biprice').removeClass('is-select');
+
+                    } else if (d.yohoCoin * 1 > $('.play-pan em').text() * 1) {
+
+                        $('.errbitip').html('您的YOHO币不足');
+                        $('#biprice').removeClass('is-select');
+
+                    } else {
+                        e.$loading.show();
+
+                        options = {
+                            type: 'POST',
+                            url: '/cart/index/orderCompute',
+                            data: d,
+                            success: function(data) {
+
+                                e.$loading.hide();
+
+                                if (data.code === 200) {
+
+                                    u.render(data.data, juanText);
+                                    c.winHide(pan);
+
+                                    //$('.play-bi-pan dt').hide();
+
+                                } else {
+                                    $('.errbitip').html(data.message);
+                                    $('#biprice').removeClass('is-select');
+                                }
+                            }
+                        };
+
+                        $.ajax(options);
+                    }
+
+                });
+            });
+
+            // 修改yoho币
+            $(document).on('click', '.bi-modify', function() {
+
+
+                var $pan = $('.play-bi-pan');
+
+                c.winShow($pan);
+            });
+
+            e.$bp.keyup(function() {
+
+                var val = $(this).val();
+
+                //if (val * 1 < 0 || val.indexOf('.') > 0) {
+                if (!/^\d+$/.test(val + '')) {
+                    e.$errorTip.html('请输入一个正整数');
+                } else if (val * 1 > $(this).data('bi') * 1) {
+                    e.$errorTip.html('您的YOHO币不足');
+                } else {
+                    e.$errorTip.html('抵扣' + (val / 100).toFixed(2) + '元');
+                }
+            });
+
+            // 取消yoho 币
+            $('.cancel-bi').click(function() {
+
+
+                var $pan = $('.play-bi-pan');
+                var juanText;
+
+                $('.errbitip').html('');
+
+                if ($('#biprice').hasClass('is-select')) {
+
+                    e.$loading.show();
+
+                    getSelectData(function(d) {
+
+                        d.yohoCoin = 0;
+
+                        if (!!d.couponCode) {
+                            juanText = $('.play-juan input[value="' + d.couponCode + '"]').next().text();
+                        }
+
+                        options = {
+                            type: 'POST',
+                            url: '/cart/index/orderCompute',
+                            data: d,
+                            success: function(data) {
+
+                                e.$loading.hide();
+
+                                if (data.code === 200) {
+                                    u.render(data.data, juanText);
+                                    c.winHide($pan);
+
+                                    $('#biprice').val('0');
+
+                                    //$('.play-bi-pan dt').hide();
+                                    $('#biprice').removeClass('is-select');
+
+                                    $('.errbitip').html('');
+
+                                    // $('.use-envelopes input').attr('checked', 'checked');
+                                    // $('.red-envelopes').addClass('active');
+
+                                } else {
+                                    $('.errbitip').html(data.message);
+                                }
+                            }
+                        };
+
+                        $.ajax(options);
+                    });
+
+                } else {
+                    c.winHide($pan);
+                    $('#biprice').val('0');
+                }
+
+            });
+
+            // 取消优惠券
+            $('.cancel-code').click(function() {
+
+                var $pan = $('.play-juan-pan');
+
+                if ($('.play-juan').hasClass('is-select')) {
+
+                    e.$loading.show();
+
+                    getSelectData(function(d) {
+
+                        d.couponCode = '';
+
+                        options = {
+                            type: 'POST',
+                            url: '/cart/index/orderCompute',
+                            data: d,
+                            success: function(data) {
+
+                                e.$loading.hide();
+
+                                if (data.code === 200) {
+                                    u.render(data.data);
+
+                                    c.winHide($pan);
+                                    $('.play-juan').removeClass('is-select');
+
+                                    $('#juancode').val('')
+                                            .siblings('input[name="juangroup"]').attr('checked', 'checked');
+
+                                    // $('.use-envelopes input').attr('checked', 'checked');
+                                    // $('.red-envelopes').addClass('active');
+
+                                } else {
+                                    e.$juantip.html(data.message);
+                                }
+                            }
+                        };
+
+                        $.ajax(options);
+                    });
+                } else {
+                    c.winHide($pan);
+                }
+            });
+
+
+            // 红包
+            envelopesVal = e.$useEnvelopesInput.data('all') - e.$useEnvelopesInput.data('use'); // 剩余的红包
+            e.$hasEnvelopes.text('¥' + envelopesVal.toFixed(2));
+            e.$useEnvelopes.find('input').click(function() {
+
+                var $this = $(this),
+                        juanText;
+
+                e.$loading.show();
+
+                $this.attr('disabled', 'disabled');
+
+                getSelectData(function(d) {
+
+                    if (!!$this.attr('checked')) {
+
+                        //d.redEnvelopes = $this.val();
+                        d.redEnvelopes = $this.data('use');
+
+                    } else {
+
+                        d.redEnvelopes = 0;
+                    }
+
+                    juanText = $('.play-juan input[value="' + d.couponCode + '"]').next().text();
+
+                    options = {
+                        type: 'POST',
+                        url: '/cart/index/orderCompute',
+                        data: d,
+                        success: function(data) {
+                            e.$loading.hide();
+
+                            if (data.code === 200) {
+                                u.render(data.data, juanText);
+
+                                $this.removeAttr('disabled');
+
+                                if (!!$this.attr('checked')) {
+                                    e.$redEnvelopes.addClass('active');
+                                } else {
+                                    e.$useEnvelopes.find('span').html('-¥0.00');
+                                    e.$hasEnvelopes.html('¥' + ($this.attr('data-all') * 1).toFixed(2));
+                                    e.$redEnvelopes.removeClass('active');
+                                }
+                            } else {
+
+                                new dialog.Alert(data.message).show();
+                            }
+                        }
+                    };
+
+                    $.ajax(options);
+                });
+
+            });
+
+
+            //发票抬头和备注字数限制
+            function limitStrLen($obj, len) {
+
+                var $this = $obj;
+
+                $this.keyup(function() {
+
+                    if ($this.val().length > len) {
+
+                        $this.val($this.val().substr(0, len));
+                    }
+                });
+            }
+
+            limitStrLen($('#piaodesc'), 30);
+            limitStrLen($('#notedesc'), 100);
+        }
+    }
+};
+
+Order.Data.activity = 0;
+Order.Data.carriage = 0;
+
+Order.UI.init();
+Order.Bll.init();
+
+
+address.getUserAddressList();
+
+// 0表示获取所有省的列表,'000000'表示无匹配的区域码
+address.newAddress(0, '000000');
+address.modifyAddress();
+address.saveAddress();
+
+//不同订单包裹提示
+
+$('.why').click(function() {
+    $('#differentBag').show();
+    return false;
+
+});
+$('#differentBag').click(function() {
+    return false;
+});
+$(document).click(function() {
+    $('#differentBag').hide();
+});
+
+//订单包裹左右切换
+function lunBo($pre, $next, $ul, $iWidth) {
+    var i = 1,
+            j = 1;
+
+    var iSpeed = 0,
+            isMoving = false;
+
+    $pre.click(function() {
+        if (isMoving) {
+            return;
+        }
+
+        if ($ul.css('left') === '0px') {
+            iSpeed = 0;
+
+        } else {
+            iSpeed += j * $iWidth;
+            isMoving = true;
+        }
+        $ul.stop().animate({
+            left: iSpeed
+        }, 300, function() {
+            isMoving = false;
+        });
+    });
+    $next.click(function() {
+        var $largeLeft = $ul.parent().width() - $ul.width() + 'px';
+
+        if (isMoving) {
+            return;
+        }
+
+        if ($ul.css('left') === $largeLeft) {
+            $ul.css('left', $largeLeft);
+        } else {
+            iSpeed += -i * $iWidth;
+            isMoving = true;
+        }
+
+        $ul.stop().animate({
+            left: iSpeed
+        }, 300, function() {
+            isMoving = false;
+        });
+    });
+}
+
+
+
+//订单分类
+$('.bag').find('ul').each(function() {
+    var $pre = $(this).parent().parent().find('.pre');
+    var $next = $(this).parent().parent().find('.next');
+
+    var $iWidth = $(this).find('li').eq(0).width();
+    var $length = $(this).find('li').size();
+    var $ulWidth = $iWidth * $length;
+
+    $(this).css('width', $ulWidth);
+    if ($length > 5) {
+        $pre.show();
+        $next.show();
+        lunBo($pre, $next, $(this), $iWidth);
+    } else {
+        $pre.hide();
+        $next.hide();
+    }
+});
+
+});
+define("js/order/address", ["jquery","handlebars","source-map"], function(require, exports, module){
+/**
+ * @description: 地址管理
+ * @author: chenglong.wang@yoho.cn
+ */
+
+var $ = require("jquery");
+var dialog = require("js/common/dialog");
+
+
+var isProvinceChecked = false;
+
+var $addressManage = $('.address-manage'),
+    $province = $addressManage.find('.text-input[name="province"]'),
+    $city = $addressManage.find('.text-input[name="city"]'),
+    $county = $addressManage.find('.text-input[name="county"]'),
+    $selectList = $addressManage.find('.text-input[name="province"], .text-input[name="city"]'),
+    $addressList = $('.address-list'),
+    $name = $addressManage.find('.text-input[name="name"]'),
+    $phone = $addressManage.find('.text-input[name="phone"]'),
+    $mail = $addressManage.find('.text-input[name="mail"]'),
+    $address = $addressManage.find('.text-input[name="address"]'),
+    $code = $addressManage.find('.text-input[name="code"]'),
+    $saveBtn = $('.save-btn'),
+    $telCode = $addressManage.find('.text-input[name="tel-code"]'),
+    $tel = $addressManage.find('.text-input[name="tel"]'),
+    $useNewAddress = $('.use-new-address'),
+    $existAddressList = $('.exist-address-list'),
+    $loading = $('.loading'),
+    $orderEditMain = $('#order-edit-main');
+
+var cartType = $addressManage.attr('cart-type');
+
+$loading.show();
+
+// 构建select下拉选项
+function structureOption($obj, data, selectId) {
+
+    var i,
+        optionHtml = '',
+        defaultOption,
+        isStar = '';
+
+    for (i = 0; i < data.length; i++) {
+
+        if (data[i].is_support_express === 'Y') {
+            isStar = '*';
+        } else {
+            isStar = '';
+        }
+
+        if (data[i].id === selectId) {
+            optionHtml += '<option selected value="' + data[i].id + '">' + isStar + data[i].caption + '</option>';
+        } else {
+            optionHtml += '<option value="' + data[i].id + '">' + isStar + data[i].caption + '</option>';
+        }
+    }
+
+
+    if ($obj.attr('name') === 'province') {
+        defaultOption = '<option value="0">请选择省份</option>';
+    } else if ($obj.attr('name') === 'city') {
+        defaultOption = '<option value="0">请选择城市</option>';
+
+    } else if ($obj.attr('name') === 'county') {
+        defaultOption = '<option value="0">请选择区县</option>';
+    }
+
+    $obj.html(defaultOption + optionHtml);
+}
+/**
+ * @description: 改函数会返回地址信息
+ * d {Object} type: 'getProvince'获取省 type: 'getCity'获取城市 type: 'getCounty'获取县
+ * id: 0 && type: 'getProvince' 获取所有省,默认没有选中项
+ * id !== 0 && type: 'getProvince' 获取所有省,默认选中用户所在的省
+ */
+function getAddress(d, callback) {
+
+    var $obj;
+    var selectId = d.selectId;
+
+    if (d.type === 'getProvince') {
+
+        //url = 'getProvince';
+        $obj = $province;
+    } else if (d.type === 'getCity') {
+
+        //url = 'getCity';
+        $obj = $city;
+    } else if (d.type === 'getCounty') {
+
+        //url = 'getCounty';
+        $obj = $county;
+    }
+
+    $.ajax({
+        type: 'GET',
+        url: '/cart/index/getAreaList',
+        dataType: 'json',
+        data: {
+            id: d.id * 1
+        }
+    }).then(function(d) {
+
+        structureOption($obj, d.data, selectId);
+
+        if (typeof callback === 'function') {
+            callback();
+        }
+
+    });
+}
+
+//手机号码****处理
+function setPhoneStar(pn) {
+    return pn.replace(/^(\d{3}).*(\d{4})$/, '$1****$2');
+}
+
+// 修改地址时把用户信息带过来
+function getUserInfo($obj) {
+
+    $name.val($obj.attr('data-name'));
+    $name.attr('data-id', $obj.attr('data-id'));
+    $address.val($obj.attr('data-addressDesc'));
+    $phone.val($obj.attr('data-mobile'));
+    $mail.val($obj.attr('data-email'));
+    $code.val($obj.attr('data-zipcode'));
+    $telCode.val($obj.attr('data-phoneCode'));
+    $tel.val($obj.attr('data-phoneNum'));
+}
+
+// 更新地址列表状态
+function refreshAddressStatus() {
+    $useNewAddress.removeClass('active');
+    $existAddressList.find('li:not(".active")').addClass('hide');
+    $existAddressList.find('li.active').addClass('address_select');
+    $addressManage.addClass('hide');
+    $saveBtn.addClass('hide').removeAttr('data-id'); //清除data-id
+    $existAddressList.removeClass('address-expand');
+    $('.address-list h2 span').text('[修改]');
+}
+
+//获取用户已经存在的地址列表
+exports.getUserAddressList = function() {
+
+    var addressData,
+        i,
+        addressStr = '',
+        isChecked = '',
+        isHide = '',
+        addressText = '',
+        hasDefault = 0;
+
+    $.ajax({
+        type: 'GET',
+        url: '/cart/index/getAddress',
+        dataType: 'json'
+    }).then(function(d) {
+
+        $loading.hide();
+
+        if (d.code === 200) {
+
+            addressData = d.data.list;
+
+            if (!addressData) {
+
+                // 新用户引导
+                if (!!$orderEditMain.attr('data-new')) {
+
+                    $saveBtn.addClass('new-user-btn').html('下一步:选择支付及送货时间');
+
+                    $('.pay-btn').addClass('new-user-pay').html('下一步:发票和备注');
+
+                    $('.switch-pay-modify').html('');
+
+                }
+
+                $addressList.find('>h2').find('span').click();
+
+                $('.exist-address-list li').click();
+
+                $('.use-new-address').removeClass('active');
+
+                return;
+
+            }
+
+            for (i = 0; i < addressData.length; i++) {
+
+                if (addressData[i].checked) {
+
+                    isChecked = 'checked';
+                    isHide = 'active address_select';
+                    hasDefault++;
+                    addressText = '默认地址';
+
+                } else {
+                    isChecked = '';
+                    isHide = 'hide';
+                    addressText = '设为默认地址';
+                }
+
+                addressStr +=
+                    '<li data-id="' + addressData[i].id + '" class="' + isHide +
+                    '" data-express="' + addressData[i].isSupport + '">' +
+                    '<input data-name="' + addressData[i].user +
+                    '" data-areaCode="' + addressData[i].areaCode +
+                    '" data-addressDesc="' + addressData[i].addressDesc +
+                    '" data-mobile="' + addressData[i].mobile +
+                    '" data-phoneNum="' + addressData[i].phoneNum +
+                    '" data-phoneCode="' + addressData[i].phoneCode +
+                    '" data-zipCode="' + addressData[i].zipCode +
+                    '" data-email="' + addressData[i].email +
+                    '" class="radio" type="radio" name="address" ' + isChecked + ' />' +
+                    '<label for="">' +
+                    '<strong>' + addressData[i].user + '</strong>' + addressData[i].address +
+                    '<a href="javascript:void(0);" class="default-address">' + addressText + '</a>' +
+                    '<div class="order-modify-btn">' +
+                    '<span class="address-modify">[修改]</span>' +
+                    '<span class="address-del">[删除]</span>' +
+                    '</div>' +
+                    '</label>' +
+                    '</li>';
+            }
+
+            $('.use-new-address').before($(addressStr));
+
+            //说明用户的地址列表没有默认地址
+            if (hasDefault === 0) {
+
+                //没有默认地址则把所有地址都显示出来
+                //$('.exist-address-list li:not(".use-new-address")').removeClass('hide');
+                $('.address-list h2 span').click();
+            }
+
+            if ($('.active.address_select').attr('data-express') === 'N') {
+                $('.express-list input[name="carriagegroup"][value="2"]').attr('disabled', 'disabled');
+                $('.express-list input[name="carriagegroup"][value="1"]').attr('checked', 'checked');
+                $('.express-list.sf').addClass('hide');
+                $('.is-sup').removeClass('hide');
+            } else {
+                $('.express-list input[name="carriagegroup"][value="2"]').removeAttr('disabled');
+                $('.express-list.sf').removeClass('hide');
+                $('.is-sup').addClass('hide');
+            }
+
+        }
+
+    });
+};
+
+/*
+ * 添加地址&修改地址
+ * id: 根据id获取省市区列表
+ * code: 根据code确定是否选中省市区
+ */
+exports.newAddress = function(id, code) {
+
+    var pId = id || 0; //如果没有传id则获取所有省列表
+
+    var addressCodeReg = /[0-9]{2}/gi;
+
+    var codeId = !!code && code.match(addressCodeReg);
+
+    //获取省
+    getAddress({
+        id: pId,
+        type: 'getProvince',
+        selectId: codeId[0]
+    }, function() {
+
+        var provinceId = $province.val();
+
+        if (provinceId !== '0') {
+
+            //如果获取的省有默认选中项则获取市
+            getAddress({
+                id: provinceId,
+                type: 'getCity',
+                selectId: '' + codeId[0] + codeId[1]
+            }, function() {
+
+                var cityId = $city.val();
+
+                //如果获取的市有默认选中项则获取县
+                if (cityId !== '0') {
+                    getAddress({
+                        id: cityId,
+                        type: 'getCounty',
+                        selectId: code
+                    });
+                }
+            });
+        } else {
+            $addressManage.find('select[name="city"]').html('<option value="0">请选择城市</option>');
+            $addressManage.find('select[name="county"]').html('<option value="0">请选择区县</option>');
+        }
+    });
+
+    // 发生change事件时获取下一级地址
+    $selectList.change(function() {
+
+        var $this = $(this);
+
+        if ($this.attr('name') === 'province') {
+
+            if ($this.val() === '0') {
+                $addressManage.find('select[name="city"]').html('<option value="0">请选择城市</option>');
+                $addressManage.find('select[name="county"]').html('<option value="0">请选择区县</option>');
+            } else {
+                getAddress({
+                    id: $this.val(),
+                    type: 'getCity'
+                }, function() {
+                    isProvinceChecked = true;
+                });
+                $addressManage.find('select[name="county"]').html('<option value="0">请选择区县</option>');
+            }
+        }
+
+        if ($this.attr('name') === 'city' && isProvinceChecked) {
+
+            if ($this.val() === '0') {
+                $addressManage.find('select[name="county"]').html('<option value="0">请选择区县</option>');
+            } else {
+                getAddress({
+                    id: $this.val(),
+                    type: 'getCounty'
+                });
+            }
+        }
+    });
+};
+
+//修改地址
+exports.modifyAddress = function() {
+
+    $addressList.click(function(event) {
+
+        var $this = $(event.target),
+            id = $this.closest('li').attr('data-id'),
+            areaCode = $this.closest('li').find('.radio').attr('data-areaCode');
+
+        if ($this.hasClass('address-modify')) {
+            $addressManage.removeClass('hide');
+            exports.newAddress(0, areaCode);
+            getUserInfo($this.closest('li').find('.radio'));
+            $('.address-list-inner .save-btn').removeClass('hide');
+            $saveBtn.attr('data-id', id);
+            isProvinceChecked = true;
+        } else if ($this.hasClass('address-del')) {
+
+            $loading.show();
+
+            $.ajax({
+                type: 'POST',
+                url: '/cart/index/delAddress',
+                data: {
+                    id: id
+                }
+            }).then(function(d) {
+
+                $loading.hide();
+
+                if (d.code === 200) {
+
+                    $this.closest('li').remove();
+                } else {
+                    new dialog.Alert(d.message).show();
+                }
+            }).fail(function() {
+
+                //todo
+            });
+        } else if ($this.hasClass('default-address') && !$this.parents('li').hasClass('address_select')) {
+
+            $loading.show();
+
+            // 设为默认地址
+            $.ajax({
+                type: 'post',
+                url: '/cart/index/setDefaultAddress',
+                data: {
+                    id: id
+                }
+            }).then(function(d) {
+
+                $loading.hide();
+
+                if (d.code === 200) {
+
+                    $('.exist-address-list li').removeClass('address_select')
+                        .find('.default-address').text('设为默认地址');
+                    $this.parents('li').addClass('address_select');
+                    $this.text('默认地址');
+
+                } else {
+                    new dialog.Alert(d.message).show();
+                }
+            });
+        }
+    });
+};
+
+// 保存地址并送到这个地址
+exports.saveAddress = function() {
+    $saveBtn.click(function() {
+
+        var $this = $(this);
+
+        var name = $name.val(),
+            province = $province.val(),
+            city = $city.val(),
+            county = $county.val(),
+            address = $address.val(),
+            phone = $phone.val(),
+            telCode = $telCode.val(),
+            tel = $tel.val(),
+            mail = $mail.val(),
+            code = $code.val();
+
+        var provinceText = $province.find('option[value="' + province + '"]').text().replace(/\*/, ''),
+            cityText = $city.find('option[value="' + city + '"]').text().replace(/\*/, ''),
+            countyText = $county.find('option[value="' + county + '"]').text().replace(/\*/, '');
+
+
+        var postData = {
+            consignee: name,
+            areaCode: county,
+            address: address,
+            email: mail,
+            mobile: phone,
+            zipCode: code,
+            phoneCode: telCode,
+            phoneNum: tel
+        };
+
+        var addressStr;
+        var $modifyLi;
+        var hasCheckedAddress;
+
+        var nameReg = /^[\u4e00-\u9fa5]{2,5}$/;
+        var addressReg = /^[\s\S]{2,100}$/;
+        var phoneReg = /^(13[0-9]|15[012356789]|17[678]|18[0-9]|14[57])[0-9]{8}$/;
+        var codeReg = /^[0-9]{6}$/;
+        var emailReg = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
+        var telCodeReg = /^[0-9]{3,5}$/;
+        var telReg = /^[0-9]{5,10}$/;
+
+
+        function hasText(val) {
+
+            if (val === telCode) {
+
+                if (!!val) {
+                    return val + '-';
+                } else {
+                    return ' ';
+                }
+
+            } else {
+                if (!!val) {
+                    return val + ' ';
+                } else {
+                    return ' ';
+                }
+            }
+        }
+
+        hasCheckedAddress = $('.exist-address-list li:not(".use-new-address")')
+            .find('input[name="address"]:checked').length > 0;
+
+        // 说明是送货到这个地址
+        if (!$('.add-address').attr('checked') && hasCheckedAddress && !$('.save-btn').attr('data-id')) {
+
+            $('.exist-address-list li').removeClass('address_select');
+            $('.exist-address-list li.active').addClass('address_select')
+                .find('input[name="address"]').attr('checked', 'checked');
+
+            $('.address-list span').removeAttr('expand');
+
+            refreshAddressStatus();
+
+        }
+
+        //if (!!$('.add-address').attr('checked')) {
+        if (!$('.address-manage').hasClass('hide')) {
+
+            if (!nameReg.test(name)) {
+                new dialog.Alert('真实姓名至少2个中文,最多5个中文').show();
+                return;
+            }
+            if (!addressReg.test(address)) {
+                new dialog.Alert('你输入的地址格式不正确').show();
+                return;
+            }
+            if (!phoneReg.test(phone)) {
+                new dialog.Alert('你输入的联系电话格式不正确').show();
+                return;
+            }
+
+            if ((!!telCode && !telCodeReg.test(telCode)) || (!!tel && !telReg.test(tel)) ||
+                (telCodeReg.test(telCode) && !telReg.test(tel)) ||
+                (!telCodeReg.test(telCode) && telReg.test(tel))) {
+                new dialog.Alert('你输入的电话格式不正确').show();
+                return;
+            }
+
+            if (!!mail && !emailReg.test(mail)) {
+                new dialog.Alert('你输入的邮箱格式不正确').show();
+                return;
+            }
+
+            if (!!code && !codeReg.test(code)) {
+                new dialog.Alert('你输入的邮编格式不正确').show();
+                return;
+            }
+
+            // 如果存在data-id说明是修改,否则是新增
+            if (!!$saveBtn.attr('data-id')) {
+                postData.id = $saveBtn.attr('data-id');
+            }
+
+            $.ajax({
+                type: 'post',
+                url: '/cart/index/saveAddress',
+                data: postData
+            }).then(function(d) {
+
+                var addressData;
+
+                if (d.code === 200) {
+
+                    addressData = d.data;
+
+                    if (addressData.is_support === 'Y') {
+                        $('.express-list input[name="carriagegroup"][value="2"]').removeAttr('disabled');
+                        $('.express-list.sf').removeClass('hide');
+                        $('.is-sup').addClass('hide');
+
+                    } else {
+
+                        $('.express-list input[name="carriagegroup"][value="2"]').attr('disabled', 'disabled');
+                        $('.express-list input[name="carriagegroup"][value="1"]').attr('checked', 'checked');
+                        $('.express-list.sf').addClass('hide');
+                        $('.is-sup').removeClass('hide');
+                    }
+
+                    if (!!postData.id) {
+
+                        // 修改操作接口没有返回id
+                        addressStr = '<li class="active" data-id="' + postData.id +
+                        '" data-express="' + addressData.is_support + '">' +
+                        '<input data-name="' + postData.consignee +
+                        '" data-areaCode="' + postData.areaCode +
+                        '" data-addressDesc="' + postData.address +
+                        '" data-mobile="' + postData.mobile +
+                        '" data-phoneNum="' + postData.phoneNum +
+                        '" data-phoneCode="' + postData.phoneCode +
+                        '" data-zipCode="' + postData.zipCode +
+                        '" data-email="' + postData.email +
+                        '" checked="checked" class="radio" type="radio" name="address" />' +
+                        '<label>' +
+                        '<strong>' + name + '</strong>' +
+                        '<span>' + provinceText + ' ' + cityText + ' ' + countyText + ' ' + address +
+                        ' ' + hasText(code) + setPhoneStar(phone) + hasText(telCode) + hasText(tel) + '</span>' +
+                        '<a href="javascript:void(0);" class="default-address">设为默认地址</a>' +
+                        '<div class="order-modify-btn">' +
+                        '<span class="address-modify">[修改]</span>' +
+                        '<span class="address-del">[删除]</span>' +
+                        '</div>' +
+                        '</label>' +
+                        '</li>';
+                    } else {
+
+                        //添加操作接口有返回id
+                        addressStr = '<li class="active" data-id="' + addressData.id +
+                        '" data-express="' + addressData.is_support + '">' +
+                        '<input data-name="' + addressData.consignee +
+                        '" data-areaCode="' + addressData.area_code +
+                        '" data-addressDesc="' + addressData.address +
+                        '" data-mobile="' + addressData.mobile +
+                        '" data-phoneNum="' + postData.phoneNum +
+                        '" data-phoneCode="' + postData.phoneCode +
+                        '" data-zipCode="' + addressData.zip_code +
+                        '" data-email="' + addressData.email +
+                        '" checked="checked" class="radio" type="radio" name="address" />' +
+                        '<label>' +
+                        '<strong>' + name + '</strong>' +
+                        '<span>' + provinceText + ' ' + cityText + ' ' + countyText + ' ' + address +
+                        ' ' + hasText(code) + setPhoneStar(phone) + hasText(telCode) + hasText(tel) + '</span>' +
+                        '<a href="javascript:void(0);" class="default-address">设为默认地址</a>' +
+                        '<div class="order-modify-btn">' +
+                        '<span class="address-modify">[修改]</span>' +
+                        '<span class="address-del">[删除]</span>' +
+                        '</div>' +
+                        '</label>' +
+                        '</li>';
+                    }
+
+
+
+                    // 如果dataID存在说明是修改操作
+                    if (!!$this.attr('data-id')) {
+
+                        $modifyLi = $('.exist-address-list li[data-id="' + $this.attr('data-id') + '"]');
+
+                        $modifyLi.after($(addressStr)).remove();
+                    } else {
+                        $('.use-new-address').before($(addressStr));
+                    }
+
+                    $('.address-list span').removeAttr('expand');
+
+                    refreshAddressStatus();
+                } else {
+                    new dialog.Alert(d.message).show();
+                }
+            });
+        }
+
+        if ($('.exist-address-list li').find('input[name="address"]:checked').length === 0) {
+            new dialog.Alert('请选择一个地址').show();
+            return;
+        } else {
+
+            if ($('.exist-address-list li').find('input[name="address"]:checked')
+                    .closest('li').attr('data-express') === 'N') {
+                $('.express-list input[name="carriagegroup"][value="2"]').attr('disabled', 'disabled');
+                $('.express-list input[name="carriagegroup"][value="1"]').attr('checked', 'checked');
+                $('.express-list.sf').addClass('hide');
+                $('.is-sup').removeClass('hide');
+            } else {
+                $('.express-list input[name="carriagegroup"][value="2"]').removeAttr('disabled');
+                $('.express-list.sf').removeClass('hide');
+                $('.is-sup').addClass('hide');
+            }
+        }
+
+
+        // 说明需要新用户引导,展开支付及送货时间
+        if ($this.hasClass('new-user-btn')) {
+
+            $('.switch-pay-modify').click();
+        }
+
+    });
+};
+
+
+
+// 支付及送货时间选择
+$('.pay-time-modify .pay-btn').click(function() {
+
+    var $this = $(this);
+
+    var $payInfoBox = $('.modity-pay-info'),
+        $payTime = $('.pay-time-modify'),
+        payTypeVal = $payTime.find('input[name="pay-type"]:checked').val(),
+        payTypeText = $payTime.find('input[name="pay-type"]:checked').next('label').text(),
+        payTimeText = $payTime.find('input[name="pay-time-radio"]:checked').next('label').text(),
+        payTimeVal = $payTime.find('input[name="pay-time-radio"]:checked').val(),
+        isCall = $payTime.find('input[name="call-me"]:checked').next('label').text(),
+        callMeVal = $payTime.find('input[name="call-me"]:checked').val();
+
+
+    $loading.show();
+
+    $.ajax({
+        type: 'POST',
+        url: '/cart/index/orderCompute',
+        dataType: 'json',
+        data: {
+            cartType: cartType,
+            paymentType: payTypeVal
+        }
+    }).then(function(d) {
+
+        $loading.hide();
+
+        if (d.code === 200) {
+
+            $payInfoBox.find('li').eq(0).find('span').text(payTypeText);
+            $payInfoBox.find('li').eq(1).find('span').text(payTimeText);
+            $payInfoBox.find('li').eq(2).find('span').text(isCall);
+
+            $('.pay-time-modify').addClass('hide')
+                .find('input[name="pay-type"][value=' + payTypeVal + ']').addClass('checked')
+                .end().find('input[name="pay-time-radio"][value=' + payTimeVal + ']').addClass('checked')
+                .end().find('input[name="call-me"][value=' + callMeVal + ']').addClass('checked');
+
+            $('.modity-pay-info').removeClass('hide');
+
+            $('.switch-pay-modify').text('[修改]');
+
+            if ($this.hasClass('new-user-pay')) {
+
+                $('.play-piao-pan dd').css({
+
+                    display: 'block'
+                });
+                $('.play-piao-pan dt').addClass('active');
+            }
+
+        } else {
+            new dialog.Alert(d.message).show();
+        }
+    });
+});
+
+function getYohoBiList() {
+
+    var $juanUl = $('.play-juan ul'),
+        juanStr = '',
+        dLen,
+        data,
+        i;
+
+    $.ajax({
+        type: 'GET',
+        dataType: 'json',
+        url: '/cart/index/getCouponList'
+    }).then(function(d) {
+
+        if (d.code === 200) {
+            data = d.data;
+            dLen = data.length;
+
+            for (i = 0; i < dLen; i++) {
+                juanStr += '<li>' +
+                '<input name="juangroup" type="radio" value="' +
+                data[i].code + '" ' + (data[i].valid ? '' : 'disabled="disabled"') + '>' +
+                '<label>' + data[i].desc + '</label>' +
+                '</li>';
+            }
+
+            $juanUl.prepend($(juanStr));
+
+        }
+    });
+}
+getYohoBiList();
+
+// 把Y、N转换成bool
+
+function ytoTrue(val) {
+
+    if (val === 'N') {
+        return false;
+    } else {
+        return true;
+    }
+}
+
+
+// 去支付
+$('.to-play input.submit').click(function() {
+
+    var $this = $(this);
+
+    var addressId = $('.exist-address-list input[name="address"]:checked').closest('li').attr('data-id'),
+        deliveryTimeId = $('.pay-time-modify input[name="pay-time-radio"]:checked').val(),
+        deliveryWayId = $('.select-express input[name="carriagegroup"]:checked').val(),
+        invoiceTitle = $('#piaodesc').val(),
+        invoiceId = $('#piaotype').val(),
+        paymentType = $('.pay-time-modify input[name="pay-type"]:checked').val(),
+        paymentId = $('.pay-time-modify input[name="pay-type"]:checked').data('pay'),
+        remark = $('#notedesc').val(),
+        yohoCoin = $('#biprice').val(),
+        isPreContact = $('.pay-time-modify input[name="call-me"]:checked').val(),
+        isPrintPrice = $('.play-pan input[name="isPP"]:checked').val(),
+        redEnvelopes = $('.use-envelopes input:checked').attr('data-use'),
+        $juangroupInput = $('.play-juan.is-select input[name="juangroup"]:checked'),
+        codeVal = $juangroupInput.val(),
+        juanCode = !!codeVal ? codeVal : $juangroupInput.closest('li').find('#juancode').val();
+
+    $loading.show();
+
+    if (!!$this.attr('disabled')) {
+        return;
+    }
+
+    $this.attr('disabled', 'disabled');
+
+    $.ajax({
+        type: 'POST',
+        dataType: 'json',
+        url: '/cart/index/orderSub',
+        data: {
+            addressId: addressId,
+            cartType: cartType,
+            deliveryTimeId: deliveryTimeId,
+            deliveryWayId: deliveryWayId,
+            invoiceTitle: invoiceTitle,
+            invoiceId: invoiceId,
+            paymentId: paymentId,
+            paymentType: paymentType,
+            remark: remark,
+            couponCode: juanCode,
+            yohoCoin: yohoCoin,
+            isPreContact: ytoTrue(isPreContact),
+            isPrintPrice: ytoTrue(isPrintPrice),
+            redEnvelopes: redEnvelopes
+        }
+    }).then(function(d) {
+
+        $loading.hide();
+
+        if (d.code === 200) {
+            window.location.href = d.data.payUrl;
+        } else {
+            new dialog.Alert(d.message).show();
+        }
+    }).always(function() {
+        $this.removeAttr('disabled');
+    });
+});
+
+});
+define("js/shopping/pay", ["jquery"], function(require, exports, module){
+/**
+ * 支付页面
+ */
+
+//切换选项卡
+var $ = require("jquery"),
+    $choseTag = $('.mode div'),
+    $mode = $('.mode'),
+    $showPayImg = $('#show-pay-img'),
+    $btnty = $('#btnby'),
+    $lightBox = $('.light-box'),
+    $choosePay = $('#choosePay').val(),
+    $chooseMoid = $('.mode div[id="' + $choosePay + '"]').parent().data('value'),
+    $showValue = $choosePay ? $chooseMoid : $('.mode').eq(0).data('value'),
+    $payUrl = $('#payUrl').val(),
+    $modeData,
+    activeTab,
+    imgAlt,
+    imgSrc,
+    orderCode,
+    payment;
+
+$.jqtab = function(tabtit, tabcon) {
+
+    $(tabtit + ' li').click(function() {
+        activeTab = $(this).find('a').attr('tab');
+
+        $(tabtit + ' li').removeClass('thistab');
+        $(this).addClass('thistab');
+        $(tabcon).hide();
+        $('#' + activeTab).fadeIn();
+        return false;
+    });
+};
+
+
+$.jqtab('#tabs', '.tab-con');
+
+//选项卡点击
+function choosed() {
+    if ($choosePay) {
+        $('.mode div[id="' + $choosePay + '"]').addClass('choosed-tag').parent().addClass('choose-type');
+    } else {
+        $mode.eq(0).addClass('choose-type').show();
+        $mode.eq(0).find('div').addClass('choosed-tag');
+    }
+    $btnty.attr('value', '前往' + $('#' + $chooseMoid).attr('alt'));
+    $showPayImg.attr('src', $('#' + $chooseMoid).attr('src'));
+}
+
+choosed();
+
+$mode.click(function() {
+    $modeData = $(this).data();
+    $showValue = $modeData.value;
+    imgAlt = $('#' + $showValue).attr('alt');
+    imgSrc = $('#' + $showValue).attr('src');
+
+    $mode.removeClass('choose-type');
+    $(this).addClass('choose-type');
+    $choseTag.removeClass('choosed-tag');
+    $(this).find('.borer-tag').addClass('choosed-tag');
+    $btnty.attr('value', '前往' + imgAlt);
+    $showPayImg.attr('src', imgSrc);
+    return false;
+});
+
+
+$('.close').click(function() {
+    $lightBox.hide();
+});
+
+$('.change').click(function() {
+    $lightBox.hide();
+});
+
+//支付方式选择按钮
+function getData(payment, orderCode) {
+    $.ajax({
+        type: 'get',
+        url: '/common/addpaymentinterval',
+        dataType: 'json',
+        data: {
+            orderCode: orderCode,
+            payment: payment
+        }
+    });
+}
+
+$('#btnby').click(function() {
+    payment = $('.choose-type').attr('data-id');
+    orderCode = $('.order-num').text();
+    getData(payment, orderCode);
+    window.open($payUrl + '?order_code=' + orderCode + '&payment_type=' + $showValue);
+    $lightBox.show();
+});
+
+//发送支付确认
+$('.pay-over').unbind('click').bind('click', function() {
+    var _this = this;
+
+    $.post('/shopping/pay/sendPay',
+        {
+            orderCode: orderCode,
+            paymentId: payment
+        },
+        function() {
+            window.location.href = $(_this).data('url');
+        }
+    );
+});
+});
+define("js/pay/wechatqrcode", ["jquery"], function(require, exports, module){
+/**
+ * 微信支付页面
+ */
+
+var $ = require("jquery"),
+    $wOdetail = $('.w-odetail'),
+    $payHost = $('#payHost').val(),
+    $paySuccessUrl = $('#paySuccessUrl').val(),
+    $wPerm = $('.w-p-erm');
+
+require("plugin/jquery.qrcode");
+
+$wOdetail.click(function() {
+    $('.w-addrinfo').slideToggle('slow');
+
+    if ($wOdetail.find('i').hasClass('up')) {
+        $wOdetail.html('收起详情<i class="down"></i>');
+    } else {
+        $wOdetail.html('订单详情<i class="up"></i>');
+    }
+});
+
+$wPerm.qrcode({
+    render: 'table',
+    text: $wPerm.data('url')
+});
+
+function checkPayStatus() {
+    $.ajax({
+        url: $payHost,
+        dataType: 'jsonp',
+        success: function(data) {
+            if (data.message === 'success') {
+                window.location.href = $paySuccessUrl;
+            }
+        }
+    });
+}
+
+
+setInterval(checkPayStatus, 3000);
+});
+define("plugin/jquery.qrcode", ["jquery"], function(require, exports, module){
+/* jscs: disable */
+/* jshint ignore:start */
+var jQuery = require("jquery");
+
+(function(r) {
+    r.fn.qrcode = function(h) {
+        var s;
+
+        function u(a) {
+            this.mode = s;
+            this.data = a
+        }
+
+        function o(a, c) {
+            this.typeNumber = a;
+            this.errorCorrectLevel = c;
+            this.modules = null;
+            this.moduleCount = 0;
+            this.dataCache = null;
+            this.dataList = []
+        }
+
+        function q(a, c) {
+            if (void 0 == a.length) throw Error(a.length + "/" + c);
+            for (var d = 0; d < a.length && 0 == a[d];) d++;
+            this.num = Array(a.length - d + c);
+            for (var b = 0; b < a.length - d; b++) this.num[b] = a[b + d]
+        }
+
+        function p(a, c) {
+            this.totalCount = a;
+            this.dataCount = c
+        }
+
+        function t() {
+            this.buffer = [];
+            this.length = 0
+        }
+        u.prototype = {
+            getLength: function() {
+                return this.data.length
+            },
+            write: function(a) {
+                for (var c = 0; c < this.data.length; c++) a.put(this.data.charCodeAt(c), 8)
+            }
+        };
+        o.prototype = {
+            addData: function(a) {
+                this.dataList.push(new u(a));
+                this.dataCache = null
+            },
+            isDark: function(a, c) {
+                if (0 > a || this.moduleCount <= a || 0 > c || this.moduleCount <= c) throw Error(a + "," + c);
+                return this.modules[a][c]
+            },
+            getModuleCount: function() {
+                return this.moduleCount
+            },
+            make: function() {
+                if (1 > this.typeNumber) {
+                    for (var a = 1, a = 1; 40 > a; a++) {
+                        for (var c = p.getRSBlocks(a, this.errorCorrectLevel), d = new t, b = 0, e = 0; e < c.length; e++) b += c[e].dataCount;
+                        for (e = 0; e < this.dataList.length; e++) c = this.dataList[e], d.put(c.mode, 4), d.put(c.getLength(), j.getLengthInBits(c.mode, a)), c.write(d);
+                        if (d.getLengthInBits() <= 8 * b) break
+                    }
+                    this.typeNumber = a
+                }
+                this.makeImpl(!1, this.getBestMaskPattern())
+            },
+            makeImpl: function(a, c) {
+                this.moduleCount = 4 * this.typeNumber + 17;
+                this.modules = Array(this.moduleCount);
+                for (var d = 0; d < this.moduleCount; d++) {
+                    this.modules[d] = Array(this.moduleCount);
+                    for (var b = 0; b < this.moduleCount; b++) this.modules[d][b] = null
+                }
+                this.setupPositionProbePattern(0, 0);
+                this.setupPositionProbePattern(this.moduleCount -
+                    7, 0);
+                this.setupPositionProbePattern(0, this.moduleCount - 7);
+                this.setupPositionAdjustPattern();
+                this.setupTimingPattern();
+                this.setupTypeInfo(a, c);
+                7 <= this.typeNumber && this.setupTypeNumber(a);
+                null == this.dataCache && (this.dataCache = o.createData(this.typeNumber, this.errorCorrectLevel, this.dataList));
+                this.mapData(this.dataCache, c)
+            },
+            setupPositionProbePattern: function(a, c) {
+                for (var d = -1; 7 >= d; d++)
+                    if (!(-1 >= a + d || this.moduleCount <= a + d))
+                        for (var b = -1; 7 >= b; b++) - 1 >= c + b || this.moduleCount <= c + b || (this.modules[a + d][c + b] =
+                            0 <= d && 6 >= d && (0 == b || 6 == b) || 0 <= b && 6 >= b && (0 == d || 6 == d) || 2 <= d && 4 >= d && 2 <= b && 4 >= b ? !0 : !1)
+            },
+            getBestMaskPattern: function() {
+                for (var a = 0, c = 0, d = 0; 8 > d; d++) {
+                    this.makeImpl(!0, d);
+                    var b = j.getLostPoint(this);
+                    if (0 == d || a > b) a = b, c = d
+                }
+                return c
+            },
+            createMovieClip: function(a, c, d) {
+                a = a.createEmptyMovieClip(c, d);
+                this.make();
+                for (c = 0; c < this.modules.length; c++)
+                    for (var d = 1 * c, b = 0; b < this.modules[c].length; b++) {
+                        var e = 1 * b;
+                        this.modules[c][b] && (a.beginFill(0, 100), a.moveTo(e, d), a.lineTo(e + 1, d), a.lineTo(e + 1, d + 1), a.lineTo(e, d + 1), a.endFill())
+                    }
+                return a
+            },
+            setupTimingPattern: function() {
+                for (var a = 8; a < this.moduleCount - 8; a++) null == this.modules[a][6] && (this.modules[a][6] = 0 == a % 2);
+                for (a = 8; a < this.moduleCount - 8; a++) null == this.modules[6][a] && (this.modules[6][a] = 0 == a % 2)
+            },
+            setupPositionAdjustPattern: function() {
+                for (var a = j.getPatternPosition(this.typeNumber), c = 0; c < a.length; c++)
+                    for (var d = 0; d < a.length; d++) {
+                        var b = a[c],
+                            e = a[d];
+                        if (null == this.modules[b][e])
+                            for (var f = -2; 2 >= f; f++)
+                                for (var i = -2; 2 >= i; i++) this.modules[b + f][e + i] = -2 == f || 2 == f || -2 == i || 2 == i || 0 == f && 0 == i ? !0 : !1
+                    }
+            },
+            setupTypeNumber: function(a) {
+                for (var c =
+                        j.getBCHTypeNumber(this.typeNumber), d = 0; 18 > d; d++) {
+                    var b = !a && 1 == (c >> d & 1);
+                    this.modules[Math.floor(d / 3)][d % 3 + this.moduleCount - 8 - 3] = b
+                }
+                for (d = 0; 18 > d; d++) b = !a && 1 == (c >> d & 1), this.modules[d % 3 + this.moduleCount - 8 - 3][Math.floor(d / 3)] = b
+            },
+            setupTypeInfo: function(a, c) {
+                for (var d = j.getBCHTypeInfo(this.errorCorrectLevel << 3 | c), b = 0; 15 > b; b++) {
+                    var e = !a && 1 == (d >> b & 1);
+                    6 > b ? this.modules[b][8] = e : 8 > b ? this.modules[b + 1][8] = e : this.modules[this.moduleCount - 15 + b][8] = e
+                }
+                for (b = 0; 15 > b; b++) e = !a && 1 == (d >> b & 1), 8 > b ? this.modules[8][this.moduleCount -
+                    b - 1
+                ] = e : 9 > b ? this.modules[8][15 - b - 1 + 1] = e : this.modules[8][15 - b - 1] = e;
+                this.modules[this.moduleCount - 8][8] = !a
+            },
+            mapData: function(a, c) {
+                for (var d = -1, b = this.moduleCount - 1, e = 7, f = 0, i = this.moduleCount - 1; 0 < i; i -= 2)
+                    for (6 == i && i--;;) {
+                        for (var g = 0; 2 > g; g++)
+                            if (null == this.modules[b][i - g]) {
+                                var n = !1;
+                                f < a.length && (n = 1 == (a[f] >>> e & 1));
+                                j.getMask(c, b, i - g) && (n = !n);
+                                this.modules[b][i - g] = n;
+                                e--; - 1 == e && (f++, e = 7)
+                            }
+                        b += d;
+                        if (0 > b || this.moduleCount <= b) {
+                            b -= d;
+                            d = -d;
+                            break
+                        }
+                    }
+            }
+        };
+        o.PAD0 = 236;
+        o.PAD1 = 17;
+        o.createData = function(a, c, d) {
+            for (var c = p.getRSBlocks(a,
+                    c), b = new t, e = 0; e < d.length; e++) {
+                var f = d[e];
+                b.put(f.mode, 4);
+                b.put(f.getLength(), j.getLengthInBits(f.mode, a));
+                f.write(b)
+            }
+            for (e = a = 0; e < c.length; e++) a += c[e].dataCount;
+            if (b.getLengthInBits() > 8 * a) throw Error("code length overflow. (" + b.getLengthInBits() + ">" + 8 * a + ")");
+            for (b.getLengthInBits() + 4 <= 8 * a && b.put(0, 4); 0 != b.getLengthInBits() % 8;) b.putBit(!1);
+            for (; !(b.getLengthInBits() >= 8 * a);) {
+                b.put(o.PAD0, 8);
+                if (b.getLengthInBits() >= 8 * a) break;
+                b.put(o.PAD1, 8)
+            }
+            return o.createBytes(b, c)
+        };
+        o.createBytes = function(a, c) {
+            for (var d =
+                    0, b = 0, e = 0, f = Array(c.length), i = Array(c.length), g = 0; g < c.length; g++) {
+                var n = c[g].dataCount,
+                    h = c[g].totalCount - n,
+                    b = Math.max(b, n),
+                    e = Math.max(e, h);
+                f[g] = Array(n);
+                for (var k = 0; k < f[g].length; k++) f[g][k] = 255 & a.buffer[k + d];
+                d += n;
+                k = j.getErrorCorrectPolynomial(h);
+                n = (new q(f[g], k.getLength() - 1)).mod(k);
+                i[g] = Array(k.getLength() - 1);
+                for (k = 0; k < i[g].length; k++) h = k + n.getLength() - i[g].length, i[g][k] = 0 <= h ? n.get(h) : 0
+            }
+            for (k = g = 0; k < c.length; k++) g += c[k].totalCount;
+            d = Array(g);
+            for (k = n = 0; k < b; k++)
+                for (g = 0; g < c.length; g++) k < f[g].length &&
+                    (d[n++] = f[g][k]);
+            for (k = 0; k < e; k++)
+                for (g = 0; g < c.length; g++) k < i[g].length && (d[n++] = i[g][k]);
+            return d
+        };
+        s = 4;
+        for (var j = {
+                PATTERN_POSITION_TABLE: [
+                    [],
+                    [6, 18],
+                    [6, 22],
+                    [6, 26],
+                    [6, 30],
+                    [6, 34],
+                    [6, 22, 38],
+                    [6, 24, 42],
+                    [6, 26, 46],
+                    [6, 28, 50],
+                    [6, 30, 54],
+                    [6, 32, 58],
+                    [6, 34, 62],
+                    [6, 26, 46, 66],
+                    [6, 26, 48, 70],
+                    [6, 26, 50, 74],
+                    [6, 30, 54, 78],
+                    [6, 30, 56, 82],
+                    [6, 30, 58, 86],
+                    [6, 34, 62, 90],
+                    [6, 28, 50, 72, 94],
+                    [6, 26, 50, 74, 98],
+                    [6, 30, 54, 78, 102],
+                    [6, 28, 54, 80, 106],
+                    [6, 32, 58, 84, 110],
+                    [6, 30, 58, 86, 114],
+                    [6, 34, 62, 90, 118],
+                    [6, 26, 50, 74, 98, 122],
+                    [6, 30, 54, 78, 102, 126],
+                    [6, 26, 52,
+                        78, 104, 130
+                    ],
+                    [6, 30, 56, 82, 108, 134],
+                    [6, 34, 60, 86, 112, 138],
+                    [6, 30, 58, 86, 114, 142],
+                    [6, 34, 62, 90, 118, 146],
+                    [6, 30, 54, 78, 102, 126, 150],
+                    [6, 24, 50, 76, 102, 128, 154],
+                    [6, 28, 54, 80, 106, 132, 158],
+                    [6, 32, 58, 84, 110, 136, 162],
+                    [6, 26, 54, 82, 110, 138, 166],
+                    [6, 30, 58, 86, 114, 142, 170]
+                ],
+                G15: 1335,
+                G18: 7973,
+                G15_MASK: 21522,
+                getBCHTypeInfo: function(a) {
+                    for (var c = a << 10; 0 <= j.getBCHDigit(c) - j.getBCHDigit(j.G15);) c ^= j.G15 << j.getBCHDigit(c) - j.getBCHDigit(j.G15);
+                    return (a << 10 | c) ^ j.G15_MASK
+                },
+                getBCHTypeNumber: function(a) {
+                    for (var c = a << 12; 0 <= j.getBCHDigit(c) -
+                        j.getBCHDigit(j.G18);) c ^= j.G18 << j.getBCHDigit(c) - j.getBCHDigit(j.G18);
+                    return a << 12 | c
+                },
+                getBCHDigit: function(a) {
+                    for (var c = 0; 0 != a;) c++, a >>>= 1;
+                    return c
+                },
+                getPatternPosition: function(a) {
+                    return j.PATTERN_POSITION_TABLE[a - 1]
+                },
+                getMask: function(a, c, d) {
+                    switch (a) {
+                        case 0:
+                            return 0 == (c + d) % 2;
+                        case 1:
+                            return 0 == c % 2;
+                        case 2:
+                            return 0 == d % 3;
+                        case 3:
+                            return 0 == (c + d) % 3;
+                        case 4:
+                            return 0 == (Math.floor(c / 2) + Math.floor(d / 3)) % 2;
+                        case 5:
+                            return 0 == c * d % 2 + c * d % 3;
+                        case 6:
+                            return 0 == (c * d % 2 + c * d % 3) % 2;
+                        case 7:
+                            return 0 == (c * d % 3 + (c + d) % 2) % 2;
+                        default:
+                            throw Error("bad maskPattern:" +
+                                a);
+                    }
+                },
+                getErrorCorrectPolynomial: function(a) {
+                    for (var c = new q([1], 0), d = 0; d < a; d++) c = c.multiply(new q([1, l.gexp(d)], 0));
+                    return c
+                },
+                getLengthInBits: function(a, c) {
+                    if (1 <= c && 10 > c) switch (a) {
+                        case 1:
+                            return 10;
+                        case 2:
+                            return 9;
+                        case s:
+                            return 8;
+                        case 8:
+                            return 8;
+                        default:
+                            throw Error("mode:" + a);
+                    } else if (27 > c) switch (a) {
+                        case 1:
+                            return 12;
+                        case 2:
+                            return 11;
+                        case s:
+                            return 16;
+                        case 8:
+                            return 10;
+                        default:
+                            throw Error("mode:" + a);
+                    } else if (41 > c) switch (a) {
+                        case 1:
+                            return 14;
+                        case 2:
+                            return 13;
+                        case s:
+                            return 16;
+                        case 8:
+                            return 12;
+                        default:
+                            throw Error("mode:" +
+                                a);
+                    } else throw Error("type:" + c);
+                },
+                getLostPoint: function(a) {
+                    for (var c = a.getModuleCount(), d = 0, b = 0; b < c; b++)
+                        for (var e = 0; e < c; e++) {
+                            for (var f = 0, i = a.isDark(b, e), g = -1; 1 >= g; g++)
+                                if (!(0 > b + g || c <= b + g))
+                                    for (var h = -1; 1 >= h; h++) 0 > e + h || c <= e + h || 0 == g && 0 == h || i == a.isDark(b + g, e + h) && f++;
+                            5 < f && (d += 3 + f - 5)
+                        }
+                    for (b = 0; b < c - 1; b++)
+                        for (e = 0; e < c - 1; e++)
+                            if (f = 0, a.isDark(b, e) && f++, a.isDark(b + 1, e) && f++, a.isDark(b, e + 1) && f++, a.isDark(b + 1, e + 1) && f++, 0 == f || 4 == f) d += 3;
+                    for (b = 0; b < c; b++)
+                        for (e = 0; e < c - 6; e++) a.isDark(b, e) && !a.isDark(b, e + 1) && a.isDark(b, e +
+                            2) && a.isDark(b, e + 3) && a.isDark(b, e + 4) && !a.isDark(b, e + 5) && a.isDark(b, e + 6) && (d += 40);
+                    for (e = 0; e < c; e++)
+                        for (b = 0; b < c - 6; b++) a.isDark(b, e) && !a.isDark(b + 1, e) && a.isDark(b + 2, e) && a.isDark(b + 3, e) && a.isDark(b + 4, e) && !a.isDark(b + 5, e) && a.isDark(b + 6, e) && (d += 40);
+                    for (e = f = 0; e < c; e++)
+                        for (b = 0; b < c; b++) a.isDark(b, e) && f++;
+                    a = Math.abs(100 * f / c / c - 50) / 5;
+                    return d + 10 * a
+                }
+            }, l = {
+                glog: function(a) {
+                    if (1 > a) throw Error("glog(" + a + ")");
+                    return l.LOG_TABLE[a]
+                },
+                gexp: function(a) {
+                    for (; 0 > a;) a += 255;
+                    for (; 256 <= a;) a -= 255;
+                    return l.EXP_TABLE[a]
+                },
+                EXP_TABLE: Array(256),
+                LOG_TABLE: Array(256)
+            }, m = 0; 8 > m; m++) l.EXP_TABLE[m] = 1 << m;
+        for (m = 8; 256 > m; m++) l.EXP_TABLE[m] = l.EXP_TABLE[m - 4] ^ l.EXP_TABLE[m - 5] ^ l.EXP_TABLE[m - 6] ^ l.EXP_TABLE[m - 8];
+        for (m = 0; 255 > m; m++) l.LOG_TABLE[l.EXP_TABLE[m]] = m;
+        q.prototype = {
+            get: function(a) {
+                return this.num[a]
+            },
+            getLength: function() {
+                return this.num.length
+            },
+            multiply: function(a) {
+                for (var c = Array(this.getLength() + a.getLength() - 1), d = 0; d < this.getLength(); d++)
+                    for (var b = 0; b < a.getLength(); b++) c[d + b] ^= l.gexp(l.glog(this.get(d)) + l.glog(a.get(b)));
+                return new q(c, 0)
+            },
+            mod: function(a) {
+                if (0 >
+                    this.getLength() - a.getLength()) return this;
+                for (var c = l.glog(this.get(0)) - l.glog(a.get(0)), d = Array(this.getLength()), b = 0; b < this.getLength(); b++) d[b] = this.get(b);
+                for (b = 0; b < a.getLength(); b++) d[b] ^= l.gexp(l.glog(a.get(b)) + c);
+                return (new q(d, 0)).mod(a)
+            }
+        };
+        p.RS_BLOCK_TABLE = [
+            [1, 26, 19],
+            [1, 26, 16],
+            [1, 26, 13],
+            [1, 26, 9],
+            [1, 44, 34],
+            [1, 44, 28],
+            [1, 44, 22],
+            [1, 44, 16],
+            [1, 70, 55],
+            [1, 70, 44],
+            [2, 35, 17],
+            [2, 35, 13],
+            [1, 100, 80],
+            [2, 50, 32],
+            [2, 50, 24],
+            [4, 25, 9],
+            [1, 134, 108],
+            [2, 67, 43],
+            [2, 33, 15, 2, 34, 16],
+            [2, 33, 11, 2, 34, 12],
+            [2, 86, 68],
+            [4, 43, 27],
+            [4, 43, 19],
+            [4, 43, 15],
+            [2, 98, 78],
+            [4, 49, 31],
+            [2, 32, 14, 4, 33, 15],
+            [4, 39, 13, 1, 40, 14],
+            [2, 121, 97],
+            [2, 60, 38, 2, 61, 39],
+            [4, 40, 18, 2, 41, 19],
+            [4, 40, 14, 2, 41, 15],
+            [2, 146, 116],
+            [3, 58, 36, 2, 59, 37],
+            [4, 36, 16, 4, 37, 17],
+            [4, 36, 12, 4, 37, 13],
+            [2, 86, 68, 2, 87, 69],
+            [4, 69, 43, 1, 70, 44],
+            [6, 43, 19, 2, 44, 20],
+            [6, 43, 15, 2, 44, 16],
+            [4, 101, 81],
+            [1, 80, 50, 4, 81, 51],
+            [4, 50, 22, 4, 51, 23],
+            [3, 36, 12, 8, 37, 13],
+            [2, 116, 92, 2, 117, 93],
+            [6, 58, 36, 2, 59, 37],
+            [4, 46, 20, 6, 47, 21],
+            [7, 42, 14, 4, 43, 15],
+            [4, 133, 107],
+            [8, 59, 37, 1, 60, 38],
+            [8, 44, 20, 4, 45, 21],
+            [12, 33, 11, 4, 34, 12],
+            [3, 145, 115, 1, 146,
+                116
+            ],
+            [4, 64, 40, 5, 65, 41],
+            [11, 36, 16, 5, 37, 17],
+            [11, 36, 12, 5, 37, 13],
+            [5, 109, 87, 1, 110, 88],
+            [5, 65, 41, 5, 66, 42],
+            [5, 54, 24, 7, 55, 25],
+            [11, 36, 12],
+            [5, 122, 98, 1, 123, 99],
+            [7, 73, 45, 3, 74, 46],
+            [15, 43, 19, 2, 44, 20],
+            [3, 45, 15, 13, 46, 16],
+            [1, 135, 107, 5, 136, 108],
+            [10, 74, 46, 1, 75, 47],
+            [1, 50, 22, 15, 51, 23],
+            [2, 42, 14, 17, 43, 15],
+            [5, 150, 120, 1, 151, 121],
+            [9, 69, 43, 4, 70, 44],
+            [17, 50, 22, 1, 51, 23],
+            [2, 42, 14, 19, 43, 15],
+            [3, 141, 113, 4, 142, 114],
+            [3, 70, 44, 11, 71, 45],
+            [17, 47, 21, 4, 48, 22],
+            [9, 39, 13, 16, 40, 14],
+            [3, 135, 107, 5, 136, 108],
+            [3, 67, 41, 13, 68, 42],
+            [15, 54, 24, 5, 55, 25],
+            [15,
+                43, 15, 10, 44, 16
+            ],
+            [4, 144, 116, 4, 145, 117],
+            [17, 68, 42],
+            [17, 50, 22, 6, 51, 23],
+            [19, 46, 16, 6, 47, 17],
+            [2, 139, 111, 7, 140, 112],
+            [17, 74, 46],
+            [7, 54, 24, 16, 55, 25],
+            [34, 37, 13],
+            [4, 151, 121, 5, 152, 122],
+            [4, 75, 47, 14, 76, 48],
+            [11, 54, 24, 14, 55, 25],
+            [16, 45, 15, 14, 46, 16],
+            [6, 147, 117, 4, 148, 118],
+            [6, 73, 45, 14, 74, 46],
+            [11, 54, 24, 16, 55, 25],
+            [30, 46, 16, 2, 47, 17],
+            [8, 132, 106, 4, 133, 107],
+            [8, 75, 47, 13, 76, 48],
+            [7, 54, 24, 22, 55, 25],
+            [22, 45, 15, 13, 46, 16],
+            [10, 142, 114, 2, 143, 115],
+            [19, 74, 46, 4, 75, 47],
+            [28, 50, 22, 6, 51, 23],
+            [33, 46, 16, 4, 47, 17],
+            [8, 152, 122, 4, 153, 123],
+            [22, 73, 45,
+                3, 74, 46
+            ],
+            [8, 53, 23, 26, 54, 24],
+            [12, 45, 15, 28, 46, 16],
+            [3, 147, 117, 10, 148, 118],
+            [3, 73, 45, 23, 74, 46],
+            [4, 54, 24, 31, 55, 25],
+            [11, 45, 15, 31, 46, 16],
+            [7, 146, 116, 7, 147, 117],
+            [21, 73, 45, 7, 74, 46],
+            [1, 53, 23, 37, 54, 24],
+            [19, 45, 15, 26, 46, 16],
+            [5, 145, 115, 10, 146, 116],
+            [19, 75, 47, 10, 76, 48],
+            [15, 54, 24, 25, 55, 25],
+            [23, 45, 15, 25, 46, 16],
+            [13, 145, 115, 3, 146, 116],
+            [2, 74, 46, 29, 75, 47],
+            [42, 54, 24, 1, 55, 25],
+            [23, 45, 15, 28, 46, 16],
+            [17, 145, 115],
+            [10, 74, 46, 23, 75, 47],
+            [10, 54, 24, 35, 55, 25],
+            [19, 45, 15, 35, 46, 16],
+            [17, 145, 115, 1, 146, 116],
+            [14, 74, 46, 21, 75, 47],
+            [29, 54, 24, 19,
+                55, 25
+            ],
+            [11, 45, 15, 46, 46, 16],
+            [13, 145, 115, 6, 146, 116],
+            [14, 74, 46, 23, 75, 47],
+            [44, 54, 24, 7, 55, 25],
+            [59, 46, 16, 1, 47, 17],
+            [12, 151, 121, 7, 152, 122],
+            [12, 75, 47, 26, 76, 48],
+            [39, 54, 24, 14, 55, 25],
+            [22, 45, 15, 41, 46, 16],
+            [6, 151, 121, 14, 152, 122],
+            [6, 75, 47, 34, 76, 48],
+            [46, 54, 24, 10, 55, 25],
+            [2, 45, 15, 64, 46, 16],
+            [17, 152, 122, 4, 153, 123],
+            [29, 74, 46, 14, 75, 47],
+            [49, 54, 24, 10, 55, 25],
+            [24, 45, 15, 46, 46, 16],
+            [4, 152, 122, 18, 153, 123],
+            [13, 74, 46, 32, 75, 47],
+            [48, 54, 24, 14, 55, 25],
+            [42, 45, 15, 32, 46, 16],
+            [20, 147, 117, 4, 148, 118],
+            [40, 75, 47, 7, 76, 48],
+            [43, 54, 24, 22, 55, 25],
+            [10,
+                45, 15, 67, 46, 16
+            ],
+            [19, 148, 118, 6, 149, 119],
+            [18, 75, 47, 31, 76, 48],
+            [34, 54, 24, 34, 55, 25],
+            [20, 45, 15, 61, 46, 16]
+        ];
+        p.getRSBlocks = function(a, c) {
+            var d = p.getRsBlockTable(a, c);
+            if (void 0 == d) throw Error("bad rs block @ typeNumber:" + a + "/errorCorrectLevel:" + c);
+            for (var b = d.length / 3, e = [], f = 0; f < b; f++)
+                for (var h = d[3 * f + 0], g = d[3 * f + 1], j = d[3 * f + 2], l = 0; l < h; l++) e.push(new p(g, j));
+            return e
+        };
+        p.getRsBlockTable = function(a, c) {
+            switch (c) {
+                case 1:
+                    return p.RS_BLOCK_TABLE[4 * (a - 1) + 0];
+                case 0:
+                    return p.RS_BLOCK_TABLE[4 * (a - 1) + 1];
+                case 3:
+                    return p.RS_BLOCK_TABLE[4 *
+                        (a - 1) + 2];
+                case 2:
+                    return p.RS_BLOCK_TABLE[4 * (a - 1) + 3]
+            }
+        };
+        t.prototype = {
+            get: function(a) {
+                return 1 == (this.buffer[Math.floor(a / 8)] >>> 7 - a % 8 & 1)
+            },
+            put: function(a, c) {
+                for (var d = 0; d < c; d++) this.putBit(1 == (a >>> c - d - 1 & 1))
+            },
+            getLengthInBits: function() {
+                return this.length
+            },
+            putBit: function(a) {
+                var c = Math.floor(this.length / 8);
+                this.buffer.length <= c && this.buffer.push(0);
+                a && (this.buffer[c] |= 128 >>> this.length % 8);
+                this.length++
+            }
+        };
+        "string" === typeof h && (h = {
+            text: h
+        });
+        h = r.extend({}, {
+            render: "canvas",
+            width: 256,
+            height: 256,
+            typeNumber: -1,
+            correctLevel: 2,
+            background: "#ffffff",
+            foreground: "#000000"
+        }, h);
+        return this.each(function() {
+            var a;
+            if ("canvas" == h.render) {
+                a = new o(h.typeNumber, h.correctLevel);
+                a.addData(h.text);
+                a.make();
+                var c = document.createElement("canvas");
+                c.width = h.width;
+                c.height = h.height;
+                for (var d = c.getContext("2d"), b = h.width / a.getModuleCount(), e = h.height / a.getModuleCount(), f = 0; f < a.getModuleCount(); f++)
+                    for (var i = 0; i < a.getModuleCount(); i++) {
+                        d.fillStyle = a.isDark(f, i) ? h.foreground : h.background;
+                        var g = Math.ceil((i + 1) * b) - Math.floor(i * b),
+                            j = Math.ceil((f + 1) * b) - Math.floor(f * b);
+                        d.fillRect(Math.round(i * b), Math.round(f * e), g, j)
+                    }
+            } else {
+                a = new o(h.typeNumber, h.correctLevel);
+                a.addData(h.text);
+                a.make();
+                c = r("<table></table>").css("width", h.width + "px").css("height", h.height + "px").css("border", "0px").css("border-collapse", "collapse").css("background-color", h.background);
+                d = h.width / a.getModuleCount();
+                b = h.height / a.getModuleCount();
+                for (e = 0; e < a.getModuleCount(); e++) {
+                    f = r("<tr></tr>").css("height", b + "px").appendTo(c);
+                    for (i = 0; i < a.getModuleCount(); i++) r("<td></td>").css("width",
+                        d + "px").css("background-color", a.isDark(e, i) ? h.foreground : h.background).appendTo(f)
+                }
+            }
+            a = c;
+            jQuery(a).appendTo(this)
+        })
+    }
+})(jQuery);
+/* jscs: enable */
+/* jshint ignore:end */
+});
+define("js/about/entry", ["jquery","jquery.placeholder","handlebars","source-map"], function(require, exports, module){
+/**
+ * 逛打包入口
+ * @author: yyqing<yanqing.yang@yoho.cn>
+ * @date: 2016/4/14
+ */
+
+require("js/about/settled");
+
+});
+define("js/about/settled", ["jquery","jquery.placeholder","handlebars","source-map"], function(require, exports, module){
+/**
+ * 商家入驻
+ * @author: xuqi<qi.xu@yoho>
+ * @date: 2016/3/24
+ */
+
+var $ = require("jquery");
+
+var reg = require("js/passport/mail-phone-regx");
+
+require("jquery.placeholder");
+require("plugin/jquery.qupload");
+
+//入口页
+(function() {
+    var $mask,
+        $dialog;
+
+    if ($('.settled-page').length === 0) {
+        return;
+    }
+
+    $mask = $('#mask');
+    $dialog = $('#notice-container');
+
+    function showNotice() {
+        var wh = $(window).height();
+
+        $mask.removeClass('hide');
+        $dialog.css({
+            'max-height': wh - 60
+        }).removeClass('hide');
+    }
+
+    function hideNotice() {
+        $mask.addClass('hide');
+        $dialog.addClass('hide');
+    }
+
+    $('#fake-link').click(showNotice);
+
+    $('#fake-close').click(hideNotice);
+    $('#mask').click(hideNotice);
+}());
+
+//申请页
+(function() {
+    var $otherBr,
+        $otherNp,
+        $otherRp,
+        $categoryUl,
+        $shopListTr,
+        $shops,
+        $panel;
+
+    var $postcode,
+        $email,
+        $phoneNum,
+        $upKey,
+        $styleCount;
+
+    var categoryHtml = $('#category-tpl').html();
+
+    var Dialog = require("js/common/dialog").Dialog;
+    var successDialog,
+        SWFUpload = window.SWFUpload,
+        upKey;
+
+    if ($('.settled-apply-page').length < 0) {
+        return;
+    }
+
+    $('[placeholder]').placeholder();
+
+    $otherBr = $('#other-brand-relation');
+    $otherNp = $('#other-new-period');
+    $otherRp = $('#other-replenishment-period');
+    $categoryUl = $('#category-list');
+    $shopListTr = $('#shop-list');
+    $shops = $('#shops');
+    $panel = $('#mask, #submit-success');
+
+    $postcode = $('#postcode');
+    $email = $('#email');
+    $phoneNum = $('#phone-number');
+    $upKey = $('#upload-key');
+    $styleCount = $('#style-count');
+    upKey = $upKey.val();
+    $upKey.remove();
+
+    function initUpload(arr) {
+        $.each(arr, function(k, v) {
+            $('#' + v.dom).qupload({
+                uploadKey: upKey,
+                button_image_url: '',
+                button_text: '<span class="btn_upload_text">上传</span>',
+                button_text_style:
+                    '.btn_upload_text{color:#000;margin-left:30px;' +
+                    'line-height: 2em;font-size:14px;}',
+                button_text_left_padding: 32,
+                button_text_top_padding: 8,
+                button_width: 160,
+                button_height: 35,
+                button_action: SWFUpload.BUTTON_ACTION.SELECT_FILE,//单选
+                file_size_limit: '10240',
+                file_types: v.type,
+                uploadSuccessed: function(serverData) {
+                    var data = JSON.parse(serverData);
+
+                    if (data.code !== 12) {
+                        alert(data.message);
+                        return false;
+                    }
+                    v.callback(data.data.hit.Filedata.return_file_path);
+                }
+            });
+        });
+    }
+
+    function validate() {
+        var pass = true,
+            postcodeReg = /[0-9]\d{5}(?!\d)/,
+            emailReg = reg.emailRegx,
+            phoneReg = reg.phoneRegx['+86'],
+            styleCountReg = /^(0|[1-9][0-9]*)$/;
+
+        $('.va, .category-item select, .for-other, .category-item').removeClass('error');
+
+        $('.va-null').each(function() {
+            if ($(this).val() === '') {
+                $(this).addClass('error');
+                pass = false;
+            }
+        });
+
+        if ($postcode.val() === '' || !postcodeReg.test($postcode.val())) {
+            $postcode.addClass('error');
+            pass = false;
+        }
+
+        if ($email.val() === '' || !emailReg.test($email.val())) {
+            $email.addClass('error');
+            pass = false;
+        }
+
+        if ($phoneNum.val() === '' || !(phoneReg.test($phoneNum.val()))) {
+            $phoneNum.addClass('error');
+            pass = false;
+        }
+
+        if ($styleCount.val() === '' || !(styleCountReg.test($styleCount.val()))) {
+            $styleCount.addClass('error');
+            pass = false;
+        }
+
+        $('.category-item').each(function() {
+            if ($(this).get(0).selectedIndex === 0) {
+                $(this).addClass('error');
+                pass = false;
+            }
+        });
+
+        if ($('input[name="seller-role"]:checked').index() === 3 &&
+            $otherBr.val() === '') {
+            pass = false;
+            $otherBr.addClass('error');
+        }
+
+        if ($('input[name="new_cycle"]:checked').index() === 5 &&
+            $otherNp.val() === '') {
+            pass = false;
+            $otherNp.addClass('error');
+        }
+
+        if ($('input[name="supply_cycle"]:checked').index() === 5 &&
+            $otherRp.val() === '') {
+            pass = false;
+            $otherRp.addClass('error');
+        }
+
+        return pass;
+    }
+
+    function addCategoryUI() {
+        $categoryUl.closest('tr').removeClass('hide');
+        $categoryUl.append('<li>' + categoryHtml + '</li>');
+    }
+
+    //获取二级分类的方法
+    function getCategoryTwo() {
+        var id = $(this).val();
+        var $categoryTwo = $(this).parent().find('.category-two');
+        var html = '<option>选择二级分类</option>';
+
+        if (id === '') {
+            $categoryTwo.html(html);
+            return;
+        }
+
+        $.ajax({
+            url: '/shop/settled/getTwoCategory',
+            type: 'GET',
+            data: {
+                id: id
+            }
+        }).then(function(data) {
+            var res = [];
+            var key;
+
+            if (data.code === 200) {
+                res = data.data;
+                for (key = 0; key < res.length; key++) {
+                    html += '<option value="' + res[key].id + '" >' + res[key].name + '</option>';
+                }
+            }
+            $categoryTwo.html(html);
+        });
+    }
+
+    // 初始化上传插件
+    initUpload([
+        {
+            dom: 'upload-brand-material',
+            type: '*.ppt;*.pdf;*.zip;*.rar',
+            callback: function(data) {
+                $('#brand-material').val(data);
+                $('.brand-tip').html('上传成功');
+                alert('上传成功!');
+            }
+        },
+        {
+            dom: 'upload-goods-material',
+            type: '*.xls;*.xlsx;*.zip;*.rar',
+            callback: function(data) {
+                $('#goods-material').val(data);
+                $('.goods-tip').html('上传成功');
+                alert('上传成功!');
+            }
+        }
+    ]);
+
+    // 提交成功
+    if (location.search.indexOf('state=1') > -1) {
+        successDialog = new Dialog({
+            className: 'settled-success',
+            closeIcon: false,
+            content: '<h1 class="main-title">恭喜您已提交成功</h1><h2 class="sub-title">我们将尽快与您联系</h2>',
+            btns: [
+                {
+                    id: 'apply-success-ok',
+                    btnClass: ['apply-success-ok'],
+                    name: '确认',
+                    cb: function() {
+                        location.href = '/shop/settled/index';
+                    }
+                }
+            ]
+        });
+        successDialog.show();
+        return;
+    }
+
+    $('input[name="seller_role"]').change(function() {
+        if ($(this).index() === 3) {
+            $otherBr.removeClass('hide');
+        } else {
+            $otherBr.addClass('hide');
+        }
+    });
+
+    $('input[name="new-cycle"]').change(function() {
+        if ($(this).index() === 5) {
+            $otherNp.removeClass('hide');
+        } else {
+            $otherNp.addClass('hide');
+        }
+    });
+
+    $('input[name="supply-cycle"]').change(function() {
+        if ($(this).index() === 5) {
+            $otherRp.removeClass('hide');
+        } else {
+            $otherRp.addClass('hide');
+        }
+    });
+
+    $('input[name="have-store"]').change(function() {
+        if ($(this).index() === 1) {
+            $shopListTr.addClass('hide');
+        } else {
+            $shopListTr.removeClass('hide');
+        }
+    });
+
+    $('.form-container').on('change', '.category-one', getCategoryTwo);
+
+    $('#category-add').click(addCategoryUI);
+
+    $shops.delegate('.shop-add', 'click', function() {
+        $shops.append(
+            '<li>' +
+                '<input class="shop-addres" name="store-address[]" type="text" placeholder="输入店铺地址">' +
+                '<span>月均销售:</span>' +
+                '<input class="shop-sales-volume" type="text" name="store-sales-volume[]" placeholder="输入价格">' +
+                '<span>元</span>' +
+            '</li>'
+        );
+    });
+
+    $('#apply-post').click(function() {
+        var scrollTo;
+
+        if (validate()) {
+            $panel.removeClass('hide');
+            $('form').submit();
+        } else {
+            $('.error').first().focus();
+            scrollTo = $('.error').first().offset().top;
+            $(window).scrollTop(scrollTo - 10);
+        }
+    });
+
+    if (navigator.userAgent.indexOf('MSIE') >= 0) {
+        $('[placeholder]').focus(function() {
+            var $input = $(this);
+
+            $input.removeClass('placeholder');
+        }).blur(function() {
+            var $input = $(this);
+
+            if ($input.val() === '') {
+                $input.addClass('placeholder');
+            }
+        });
+    }
+}());
+});
+define("js/coupon/entry", ["jquery","lazyload","handlebars","source-map"], function(require, exports, module){
+/**
+ * 领券频道打包入口
+ * @author: zhaobiao<biao.zhao@yoho.cn>
+ * @date: 2016/4/12
+ */
+
+require("js/coupon/coupon");
+
+});
+define("js/coupon/coupon", ["jquery","lazyload","handlebars","source-map"], function(require, exports, module){
+/**
+ * 领券频道
+ * @author: 赵彪<bill.zhao@yoho.cn>
+ * @date: 2016/04/14
+ */
+var $ = require("jquery"),
+    lazyLoad = require("lazyload"),
+    Dialog = require("js/common/dialog").Dialog;
+
+
+var alertConfig,
+    makeAlert;
+
+// j面跳转对象
+var redirect = {
+
+    // 去逛逛跳转链接
+    gunangSrc: null,
+
+    // 查看优惠券跳转链接
+    checkCouponSrc: null,
+    goToGuang: function() {
+        window.location.href = this.gunangSrc;
+    },
+    goToCheck: function() {
+        window.location.href = this.checkCouponSrc;
+    },
+
+    // 处理网络返回
+    403: function(url) {
+        window.location.href = url;
+    },
+    200: function(url) {
+        this.checkCouponSrc = url;
+    }
+};
+
+//加载底部图片
+lazyLoad($('img.lazy'));
+
+require("js/common/slider");
+
+
+$('.slide-container').slider();
+
+// 根据配置执行展示弹窗
+function couponAlert(opt) {
+    var newAlert = new Dialog(opt);
+
+    newAlert.show();
+}
+
+// 配置弹窗
+alertConfig = {
+    success: {
+        content: '恭喜您,成功领取优惠券',
+        subContents: ['特殊情况下到账有延时', '请耐心等待'],
+        className: 'subcontent-dialog',
+        refreshOnClose: true,
+        btns: [
+            {
+                id: 1,
+                name: '去购物啦',
+                btnClass: ['black', 'btn-close'],
+                cb: function() {
+                    redirect.goToGuang();
+                }
+            },
+            {
+                id: 2,
+                name: '查看优惠券',
+                btnClass: ['btn-close'],
+                cb: function() {
+                    redirect.goToCheck();
+                }
+            }
+        ]
+    },
+    alreadyGot: {
+        content: '您已领取过优惠券',
+        subContent: '快去选购心仪的潮品吧',
+        className: 'subcontent-dialog',
+        btns: [
+            {
+                id: 1,
+                name: '去使用',
+                btnClass: ['btn-close'],
+                cb: function() {
+                    redirect.goToGuang();
+                }
+            }
+        ]
+    },
+    expired: {
+        content: '优惠券已过期',
+        subContent: '去领最新的优惠券吧',
+        className: 'subcontent-dialog',
+        btns: [
+            {
+                id: 1,
+                name: '关闭',
+                btnClass: ['btn-close']
+            }
+        ]
+    },
+    failed: {
+        content: '领取失败',
+        subContents: ['请刷新重试,', '多次无效请联系客服'],
+        className: 'subcontent-dialog',
+        btns: [
+            {
+                id: 1,
+                name: '刷新',
+                btnClass: ['btn-close'],
+                cb: function() {
+                    window.location.reload();
+                }
+            }
+        ]
+    }
+};
+
+// 对应不同的网络返回码展示不同的弹窗
+makeAlert = {
+    200: function() {
+        couponAlert(alertConfig.success);
+    },
+    401: function() {
+        couponAlert(alertConfig.alreadyGot);
+    },
+    315: function() {
+        couponAlert(alertConfig.expired);
+    },
+    400: function() {
+        couponAlert(alertConfig.failed);
+    },
+    403: function() {
+
+        // do not make alert when user are not login in
+    }
+};
+
+function requestCoupon(id) {
+    $.ajax({
+        type: 'GET',
+        url: '/coupon/sendcoupon',
+        data: {
+            id: id
+        },
+        success: function(res) {
+            var code = res.code;
+
+            // 如果返回的数据里有url,则执行redirect里的方法
+            res.url && res.url.length > 0 && redirect[code] && redirect[code](res.url + '?'+ location.href.split('?')[1]);
+
+            // 如果能找到对应code则执行相应方法,如果没有的对应code则执行error提示
+            makeAlert[code] ? makeAlert[code]() : makeAlert['400']();
+
+        },
+        error: function(err) {
+            var Alert = require("js/common/dialog").Alert;
+
+            new Alert('网络异常').show();
+        }
+    });
+}
+
+$('.enable .info').on('click', function(e) {
+    e.preventDefault();
+    requestCoupon($(this).closest('a').data('id'));
+    redirect.gunangSrc = $(this).closest('a').get(0).href;
+});
+
+});
diff --git a/web-static/dist/yohobuy/4.7.1/index.css b/web-static/dist/yohobuy/4.7.1/index.css
new file mode 100644
index 0000000..6e4ba7b
--- /dev/null
+++ b/web-static/dist/yohobuy/4.7.1/index.css
@@ -0,0 +1 @@
+@charset "utf-8";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}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}.clearfix:after{content:'';display:table;clear:both}body{font-family:arial,Microsoft YaHei}@font-face{font-family:iconfont;src:url(../assets/font/iconfont.eot?v155ba59e178);src:url(../assets/font/iconfont.eot?v155ba59e178#iefix) format('embedded-opentype'),url(../assets/font/iconfont.woff?v155ba59ea9c) format('woff'),url(../assets/font/iconfont.ttf?v155ba59e9c9) format('truetype'),url(../assets/font/iconfont.svg?v155ba59e18c#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}.center-content{width:1150px;margin-left:auto;margin-right:auto}.min-screen .center-content{width:990px}.left,.pull-left{float:left}.pull-right,.right{float:right}.center{text-align:center}.hide{display:none!important}a:focus,input,textarea{outline:none}a{text-decoration:none;color:#000}.body-mask{position:absolute;z-index:9;background:#000;opacity:.2;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=20)";top:0;left:0}.yoho-notice{width:100%;height:100px;font-size:12px;background-color:#555;font-family:微软雅黑}.yoho-notice .notice-title{height:100px;line-height:100px;font-size:27px;font-weight:700;color:#fff;width:245px;position:absolute}.yoho-notice .notice-content{padding:16px 0 0 300px;color:#e8e8e8}.yoho-notice .notice-content .tips{margin-bottom:10px}.yoho-notice .notice-content .detail{line-height:16px}.yoho-header .header-topwrapper{width:100%;background-color:#f4f4f4;min-width:1150px}.yoho-header .header-top{width:1150px;height:32px;line-height:32px;margin:0 auto;position:relative}.yoho-header #loginBox{display:none}.yoho-header .leftpart{position:relative;padding-left:5px;padding-right:5px}.yoho-header .leftpart:hover{background-color:#dcdcdc}.yoho-header .leftpart:hover .yohoproducts-list{display:block!important}.yoho-header .leftpart .acttags{background-color:#dcdcdc}.yoho-header .yohoproducts-list{position:absolute;display:none;width:170px;left:0;top:32px;background-color:#f4f4f4;padding-top:30px;padding-bottom:10px;padding-left:20px;z-index:19}.yoho-header .yohoproducts-item{height:14px;line-height:14px;margin-bottom:20px}.yoho-header .yohoproducts-item a{color:#9196a0;font-size:14px}.yoho-header .yohoproducts-item:hover a{color:#000}.yoho-header .rightpart{position:absolute;right:0;top:0}.yoho-header .rightpart .acttags{background-color:#dcdcdc}.yoho-header .rightpart .tag-seprate{border-color:#dcdcdc}.yoho-header .hi,.yoho-header .loginbar,.yoho-header .registbar{display:inline-block;float:left}.yoho-header .hi{color:#8e8e8e;font-size:12px}.yoho-header #loginBox a,.yoho-header #loginBox span,.yoho-header .header-yoho,.yoho-header .login-out,.yoho-header .loginbar,.yoho-header .registbar{color:#000;font-size:12px}.yoho-header .registbar{margin-left:7px}.yoho-header .tag-list-wrapper{margin-left:13px;float:left}.yoho-header .tag-list{margin-left:13px;height:34px}.yoho-header .tag-seprate{margin-top:11px;width:0;height:14px;display:inline-block;float:left;border-left:1px solid #dcdcdc}.yoho-header .tag-item{display:inline-block;float:left;line-height:32px;box-sizing:border-box;margin-left:-1px}.yoho-header .tag-item a{color:#8e8e8e;font-size:12px;display:inline-block}.yoho-header .tag-item span{display:inline-block}.yoho-header .myyoho{padding-right:10px;position:relative}.yoho-header .myyoho .tag-seprate{margin-right:12px}.yoho-header .myyoho-info{position:absolute;display:none;top:32px;left:-110px;width:300px;background-color:#f8f8f8;z-index:18}.yoho-header .myyoho-photo{overflow:hidden}.yoho-header .myyoho-photo img{display:block;margin:0 auto;width:63px;height:63px;border-radius:50%}.yoho-header .myyoho-info-header{margin:17px auto 0;width:257px;border-bottom:1px solid #dcdcdc;text-align:center;padding-bottom:15px}.yoho-header .user-email{margin-top:14px;color:#000;height:25px;line-height:20px;font-size:18px}.yoho-header .user-level{color:#000;height:20px;line-height:20px;font-size:18px}.yoho-header .user-level .leveldetail{color:#8cc4f9}.yoho-header .levelinfo{width:100%;padding-top:10px;clear:both;height:15px}.yoho-header .levelwrapper{width:150px;height:14px;background-color:#e2e2e2;margin-left:40px;position:relative}.yoho-header .levelspan{position:absolute;left:2px;height:14px;top:0;line-height:16px}.yoho-header .levelwrapper .integrate{height:14px;line-height:15px;background-color:#ceae64;text-align:left;padding-left:5px}.yoho-header .cardcate{font-size:14px;line-height:14px;margin-left:5px}.yoho-header .myyoho-info-content{margin:20px auto 0;padding-left:35px;padding-right:29px;border-bottom:1px solid #dcdcdc}.yoho-header .myyoho-info-content .item{height:12px;line-height:12px;margin-bottom:16px}.yoho-header .myyoho-info-content .item a{font-size:14px;color:#000}.yoho-header .myyoho-info-footer{height:51px;line-height:51px;text-align:center}.yoho-header .myyoho-info-footer a{color:#000;font-size:14px}.yoho-header .myorder{padding-right:10px}.yoho-header .myorder .tag-seprate{margin-right:11px}.yoho-header .mycollect{padding-right:11px}.yoho-header .mycollect .tag-seprate{margin-right:11px}.yoho-header .message{padding-right:10px}.yoho-header .message .tag-seprate{margin-right:11px}.yoho-header .phone{padding-right:8px;position:relative}.yoho-header .phone .tag-seprate{margin-right:10px}.yoho-header .qr{position:absolute;display:none;top:32px;left:-100px;width:231px;height:290px;background-color:#f8f8f8;z-index:19}.yoho-header .qr-img{position:relative;background-image:url(../assets/img/header/qr.png?v155ba59f236);background-repeat:no-repeat;background-size:100% 100%;margin:32px auto 15px;width:143px;height:147px}.yoho-header .qr-words{height:25px;line-height:25px;font-size:16px;text-align:center}.yoho-header .qr-more{margin-top:6px;line-height:25px;font-size:14px;text-align:center}.yoho-header .onlineserver .tag-seprate{margin-right:10px}.yoho-header .header-navwrapper{width:100%;height:130px;position:relative;min-width:1150px}.yoho-header .header-navcontent{width:1150px;height:130px;margin:0 auto}.yoho-header .first-nav-list{margin-top:45px}.yoho-header .first-nav-item{float:left;padding:8px 23px 0}.yoho-header .first-nav-item .menu-ico{width:84px;height:32px;display:block}.yoho-header .all a,.yoho-header .all span,.yoho-header .boys a,.yoho-header .boys span,.yoho-header .girls a,.yoho-header .girls span,.yoho-header .kids a,.yoho-header .kids span,.yoho-header .lifestyle a,.yoho-header .lifestyle span{color:#fff!important}.yoho-header .all{background-color:#5e4b3c}.yoho-header .all .sub-nav-wrapper{background-color:#000;display:block!important}.yoho-header .all .third-nav-wrapper{border-top:2px solid #000}.yoho-header .searchcateboys .searchinput{border:1px solid #3a3a3a}.yoho-header .searchcateboys .icon-search{background-color:#3a3a3a!important}.yoho-header .searchcategirls .searchinput{border:1px solid #ff88ae}.yoho-header .searchcategirls .icon-search{background-color:#ff88ae!important}.yoho-header .searchcatewoman .searchinput{border:1px solid #ff88ae}.yoho-header .searchcatewoman .icon-search{background-color:#ff88ae!important}.yoho-header .searchcatekids .searchinput{border:1px solid #7bd3f9!important}.yoho-header .searchcatekids .icon-search{background-color:#7bd3f9!important}.yoho-header .gobuyboys{background-position:0 0}.yoho-header .gobuyboys,.yoho-header .gobuygirls{background-image:url(../assets/img/sprite.header.png?v155ba59fd52)}.yoho-header .gobuygirls{background-position:-56px 0}.yoho-header .gobuykids{background-position:-28px 0}.yoho-header .gobuykids,.yoho-header .gobuylifestyle{background-image:url(../assets/img/sprite.header.png?v155ba59fd52)}.yoho-header .gobuylifestyle{background-position:0 -28px}.yoho-header .gobuyoutlets{background-image:url(../assets/img/sprite.header.png?v155ba59fd52);background-position:-28px -28px}.yoho-header .searchcatelifestyle .searchinput{border:1px solid #5e4b3c!important}.yoho-header .searchcatelifestyle .icon-search{background-color:#5e4b3c!important}.yoho-header .boys{background-color:#3a3a3a}.yoho-header .boys .sub-nav-wrapper{background-color:#3a3a3a;display:block!important}.yoho-header .boys .third-nav-wrapper{border-top:2px solid #3a3a3a}.yoho-header .girls{background-color:#ff88ae}.yoho-header .girls .sub-nav-wrapper{background-color:#ff88ae;display:block!important}.yoho-header .girls .third-nav-wrapper{border-top:2px solid #ff88ae}.yoho-header .kids{background-color:#7bd3f9}.yoho-header .kids .sub-nav-wrapper{background-color:#7bd3f9;display:block!important}.yoho-header .kids .third-nav-wrapper{border-top:2px solid #7bd3f9}.yoho-header .lifestyle{background-color:#5e4b3c}.yoho-header .lifestyle .sub-nav-wrapper{background-color:#5e4b3c;display:block!important}.yoho-header .lifestyle .third-nav-wrapper{border-top:2px solid #5e4b3c}.yoho-header .outlets>.sub-nav-wrapper{display:block!important}.yoho-header .name-cn{text-align:center;line-height:16px!important}.yoho-header .name-cn a{color:#000;font-size:16px!important}.yoho-header .name-en{text-align:center;line-height:14px!important;margin-bottom:6px}.yoho-header .name-en a{color:#8e8e8e;font-size:12px;line-height:14px!important;font-family:arial!important}.yoho-header .sub-nav-wrapper{display:none;height:40px;left:0;width:100%;position:absolute;z-index:11}.yoho-header .sub-nav-list{width:1150px;height:40px;margin:0 auto;overflow:hidden}.yoho-header .sub-nav-item{float:left;padding:12px 46px 12px 0;box-sizing:border-box;margin-right:38px}.yoho-header .sub-nav-item a{position:relative;color:#fff;font-size:14px;line-height:14px;display:inline-block}.yoho-header .sub-nav-item:last-child{margin-right:0!important}.yoho-header .newlogo{display:block;width:26px;height:12px;background-image:url(../assets/img/header/new.png?v155ba59f232);background-repeat:no-repeat;position:absolute;right:-29px;top:-6px}.yoho-header .actsecondnav,.yoho-header .sub-nav-item:hover>a{padding-bottom:3px;border-bottom:2px solid #fff}.yoho-header .sub-nav-item:hover .third-nav-wrapper{display:block}.yoho-header .third-nav-wrapper{box-sizing:border-box;height:410px;position:absolute;left:0;top:38px;width:100%;min-width:1150px;display:none;z-index:17;padding-top:30px;padding-bottom:30px;background-color:#f8f8f8}.yoho-header .third-nav{width:1150px;height:100%;margin:0 auto}.yoho-header .category{width:880px;float:left;overflow:hidden}.yoho-header .category .thirdnavlist{box-sizing:border-box;width:220px;height:240px;float:left;padding-left:20px;border-right:1px solid #dcdcdc;padding-right:20px}.yoho-header .category-title{color:#000;font-size:16px;width:178px;padding-bottom:12px;border-bottom:1px solid #000;line-height:16px;margin-bottom:20px}.yoho-header .category-title a{color:#000!important}.yoho-header .category-list{margin-top:16px;margin-bottom:30px}.yoho-header .category-item{line-height:28px}.yoho-header .category-list a{color:#a1a1a1!important;font-size:14px}.yoho-header .category-list .category-item .hot{color:#e01!important;font-size:14px}.yoho-header .category-item-act a{color:#000!important}.yoho-header .showdetail{box-sizing:border-box;padding-left:19px;padding-right:19px;width:337px;height:250px;float:right}.yoho-header [class*=" icon-"],.yoho-header [class^=icon-]{display:inline-block;vertical-align:middle;background-repeat:none}.yoho-header .icon-hamburger{background-position:-56px -40px;width:13px;height:11px}.yoho-header .icon-hamburger,.yoho-header .icon-headphones{background-image:url(../assets/img/sprite.header.png?v155ba59fd52)}.yoho-header .icon-headphones{background-position:-84px 0;width:15px;height:10px;margin-top:2px}.yoho-header .icon-heart{background-position:-41px -56px;width:12px;height:11px}.yoho-header .icon-heart,.yoho-header .icon-mail{background-image:url(../assets/img/sprite.header.png?v155ba59fd52);margin-top:-2px}.yoho-header .icon-mail{background-position:-56px -28px;width:16px;height:10px}.yoho-header .icon-iphone{background-position:-84px 0;width:8px}.yoho-header .icon-iphone,.yoho-header .icon-papers{background-image:url(../assets/img/sprite.header.png?v155ba59fd52);height:14px;margin-top:-2px}.yoho-header .icon-papers{background-position:-29px -56px;width:10px}.yoho-header .icon-bottomarrow{background-image:url(../assets/img/sprite.header.png?v155ba59fd52);background-position:-71px -40px;width:10px;height:5px;margin-top:-2px}.yoho-header .outlets-logo{background:url(../assets/img/header/outlets.png?v155ba59f233) no-repeat 50%;width:200px;height:34px;left:42%;margin-top:28px;position:absolute;display:none}.yoho-header .icon-logo{background:url(../assets/img/header/logo.png?v155ba59f230) no-repeat 50%;width:182px;height:53px;top:22px;left:44.2%;position:absolute}.yoho-header .icon-logo .main-link{display:block;width:100%;height:100%}.yoho-header .search{position:relative}.yoho-header .searchspan{margin-top:45px;float:left;display:inline-block;overflow:hidden}.yoho-header .searchinput{float:left;width:240px;height:28px;border:1px solid #000;box-sizing:border-box;padding:6px 0 5px 10px;border-right:none}.yoho-header .icon-search{background:url(../assets/img/header/search.png?v155ba59f237) no-repeat 50%;width:80px;height:28px;float:left;border:none;margin-top:45px;background-color:#3a3a3a}.yoho-header .search-list{position:absolute;top:73px;left:0;z-index:11;box-sizing:border-box;display:none;background-color:#fff;padding-top:20px;width:100%;max-height:500px;border-left:1px solid #000;border-right:1px solid #000;border-bottom:1px solid #000}.yoho-header .search-item{position:relative;padding:5px;height:25px;line-height:25px;font:12px}.yoho-header .search-item:hover{background-color:#f4f4f4}.yoho-header .searchvalue{position:absolute;left:10px;max-width:192px;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.yoho-header .valuenum{position:absolute;right:10px;font-size:12px}.yoho-header .header-tool{padding-right:23px}.yoho-header .gobuy{margin-top:47px;margin-left:23px;width:26px;height:26px;position:relative;cursor:pointer}.yoho-header .gobuy-wrapper{position:absolute;display:none;top:24px;right:-14px;width:378px;padding-top:6px;z-index:19}.yoho-header .gobuy-empty{position:absolute;width:100%;height:507px;z-index:1;background:#f8f8f8 url(../assets/img/header/empty_car.png?v155ba59f21a) no-repeat 106px 132px}.yoho-header .gobuy-empty .information{margin-top:300px;width:100%;height:18px;line-height:18px;font-size:18px;text-align:center}.yoho-header .gobuy-loading{position:absolute;width:100%;height:407px;z-index:1;background:#f8f8f8 url(../assets/img/header/loading.gif?v155ba59f22f) no-repeat center 150px}.yoho-header .gobuy-loading .information{margin-top:180px;width:100%;height:12px;line-height:12px;font-size:12px;text-align:center}.yoho-header .gobuy-notempty{position:absolute;width:100%;z-index:1;background-color:#f8f8f8;overflow:hidden}.yoho-header .goods-list-wrapper{width:100%;max-height:444px;margin-bottom:19px;overflow-y:auto;overflow-x:hidden}.yoho-header .goods-list{margin-top:40px}.yoho-header .goods-item{height:64px;margin-bottom:18px;padding-left:18px}.yoho-header .goods-img{display:inline-block;float:left;width:46px;height:62px;margin-right:13px}.yoho-header .goods-detail{margin-right:16px}.yoho-header .goods-detail .content{width:170px;height:14px;line-height:14px;font-size:14px;margin-bottom:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.yoho-header .goods-detail .content a{color:#666;outline:none;text-decoration:none}.yoho-header .goods-detail .style{height:14px;line-height:14px;font-size:14px;color:#b0b0b0}.yoho-header .goods-price .priceandnum{height:14px;line-height:14px;font-size:14px;margin-bottom:13px;min-width:75px;text-align:right}.yoho-header .goods-price .delete{display:inline-block;float:right;font-size:14px;color:#000}.yoho-header .activity-item{margin-bottom:8px;padding-left:18px}.yoho-header .activity-name{display:inline-block;box-sizing:border-box;border:none;width:60px;height:18px;line-height:18px;background-color:#3a3a3a;color:#fff;font-size:14px;text-align:center;margin-right:13px;vertical-align:top}.yoho-header .activity-content{display:inline-block;line-height:14px;width:250px;color:#3a3a3a;font-size:12px;word-break:break-all}.yoho-header .gobuy-notempty-footer{width:100%;height:61px;text-align:center}.yoho-header .gobuy-notempty-footer h3{box-sizing:border-box;width:349px;margin:0 auto;height:61px;line-height:61px;border-top:1px solid #dcdcdc}.yoho-header .gobuy-notempty-footer a{font-size:18px;color:#444}.yoho-header .ic-infomation{position:absolute;background-image:url(../assets/img/sprite.header.png?v155ba59fd52);background-position:0 -56px;width:27px;height:20px;top:-10px;right:-15px;color:#fff;text-align:center;line-height:20px;font-size:12px}.yoho-header .float-left{float:left}.yoho-header .float-right{float:right}.yoho-header .showdetail img{display:block;box-sizing:border-box;width:337px;height:250px}.yoho-header .showdetail .title{display:block;margin-top:40px;width:100%;height:15px;text-align:center;line-height:15px;font-size:14px;color:#000!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.yoho-header .cate_row{float:left;height:352px;box-sizing:border-box}.yoho-header .cate_row li{box-sizing:border-box}.yoho-header .cate_row1{width:253px}.yoho-header .cate_row2{width:278px;border-left:1px solid #ccc;padding-left:50px}.yoho-header .cate_row3{width:270px;border-left:1px solid #ccc;padding-left:50px}.yoho-header .third-nav .cattitle{width:180px;padding-bottom:10px;border-bottom:1px solid #000;line-height:18px;margin-bottom:20px}.yoho-header .third-nav .cattitle h3 a{color:#000!important;font-size:14px}.yoho-header .third-nav .catdetail{line-height:14px;height:14px;margin-bottom:24px;min-width:200px}.yoho-header .third-nav .catdetail a{color:#a1a1a1!important;font-size:14px}.yoho-header .third-nav .catdetail .hot{color:#e01!important}.yoho-header .thirdcatelink:hover{text-decoration:underline!important}.yoho-header .hovercontent{display:none}.yoho-header.outlets .header-navwrapper{background-color:#3a3a3a}.yoho-header.outlets .header-navwrapper .sub-nav-wrapper{background-color:#e6e6e6;margin-top:37px}.yoho-header.outlets .header-navwrapper .third-nav-wrapper{border-top:0}.yoho-header.outlets .outlets-logo{display:block}.yoho-header.outlets .icon-logo{display:none}.yoho-header.outlets .first-nav-item.cure{background:none}.yoho-header.outlets .first-nav-item>h3,.yoho-header.outlets .header-tool>.search{display:none}.yoho-header.outlets .sub-nav-list{padding-left:15%}.yoho-header.outlets .sub-nav-list .sub-nav-item{width:14%;text-align:center}.yoho-header.outlets .sub-nav-list .sub-nav-item>a{color:#222!important}.yoho-header.outlets .sub-nav-list .sub-nav-item:hover a{border-color:#555}.yoho-header.outlets .sub-nav-list .third-nav{text-align:left}.simple-header{height:66px;margin:0 0 20px;border-bottom:2px solid #222}.simple-header .header-inner{width:990px;height:100%;margin:0 auto}.simple-header .logo{float:left;line-height:66px;font-size:0}.simple-header .logo img{vertical-align:middle}.simple-header .header-tool{float:right;line-height:66px;font-size:0}.simple-header .header-tool li{display:inline-block;padding:0 10px;line-height:28px}.simple-header .header-tool li,.simple-header .header-tool li a,.simple-header .header-tool li span{font-size:12px;vertical-align:middle}.simple-header .header-tool li .tell-icon{font-size:12px}.simple-header .header-tool li .tell-icon~span{font-weight:700}.simple-header .header-tool .login-box a{color:#666}.simple-header .header-tool .tool-options{position:relative;font-size:0;cursor:pointer}.simple-header .header-tool .tool-options .iconfont,.simple-header .header-tool .tool-options span{display:inline-block;font-size:12px;height:28px;line-height:28px;vertical-align:top}.simple-header .header-tool .tool-options .iconfont.up,.simple-header .header-tool .tool-options span.up{display:none}.simple-header .header-tool .tool-options .tool-select{display:none;position:absolute;width:74px;left:0;background:#eaeceb;z-index:6}.simple-header .header-tool .tool-options .tool-select a{display:block;padding:0 0 0 10px;border-top:1px solid #ddd}.simple-header .header-tool .tool-options:hover{background-color:#eaeceb}.simple-header .header-tool .tool-options:hover .iconfont.up{display:inline-block}.simple-header .header-tool .tool-options:hover .iconfont.down{display:none}.min-screen .yoho-header .header-topwrapper{min-width:990px}.min-screen .yoho-header .header-top{width:990px}.min-screen .yoho-header .header-navwrapper{min-width:990px}.min-screen .yoho-header .header-navcontent,.min-screen .yoho-header .header-wrapper{width:990px}.min-screen .yoho-header .icon-logo{left:39.2%}.min-screen .yoho-header .icon-logo .main-link{display:block;width:100%;height:100%}.min-screen .yoho-header .sub-nav-list{width:990px;min-width:990px}.min-screen .yoho-header .sub-nav-item{margin-right:15px}.min-screen .yoho-header .first-nav-item{float:left;padding:10px 14px 0;margin-right:3px}.min-screen .yoho-header .third-nav{width:990px}.min-screen .yoho-header .third-nav-wrapper{min-width:990px}.min-screen .yoho-header .category{width:800px}.min-screen .yoho-header .cate_row1{width:204px}.min-screen .yoho-header .cate_row2{width:244px;border-left:1px solid #ccc;padding-left:39px}.min-screen .yoho-header .cate_row3{width:163px;border-left:1px solid #ccc;padding-left:28px}.min-screen .yoho-header .category .thirdnavlist{width:200px}.min-screen .yoho-header .category-title{width:152px}.min-screen .yoho-header .showdetail{width:190px;padding-right:0}.min-screen .yoho-header .showdetail img{width:174px;height:155px}#cover{position:fixed;z-index:12}#cover,#cover .con{left:0;top:0;width:100%;height:100%}#cover .con{background:rgba(0,0,0,.6)!important;position:absolute;z-index:13;opacity:.5;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=50)"}#cover .tag_img_warpper{margin:0 auto;width:180px;height:168px}#cover .tag_img_warpper img{width:100%;height:100%}#cover .guide-box{background:#fff;margin:0 auto;height:400px;position:relative;z-index:14}#cover .guide-box .close{top:-15px;text-align:center;right:-15px;color:#fff;line-height:22px;font-size:24px;position:absolute;background:#000;border-radius:50px;border:currentColor;border-image:none;width:28px;height:28px;line-height:25px;display:block}#cover .guide-box li{padding:10px;width:200px;height:400px;float:left;box-sizing:border-box}#cover .guide-box li .go{margin:26px auto 0;width:100%;height:18px;text-align:center;color:#b0b0b0;line-height:18px;font-size:18px;font-style:italic;font-weight:lighter;display:block}#cover .guide-box li.girls{border-left-color:#eee;border-left-width:1px;border-left-style:solid}#cover .guide-box li.girls .goods-num{text-align:center;color:#bbb;line-height:12px;font-size:12px;margin-top:16px}#cover .guide-box li.lifestyle{border-left-color:#eee;border-left-width:1px;border-left-style:solid}#cover .guide-box li.lifestyle .goods-num{text-align:center;color:#bbb;line-height:12px;font-size:12px;margin-top:16px}#cover .guide-box li.kids{border-left-color:#eee;border-left-width:1px;border-left-style:solid}#cover .guide-box li.boys .goods-num,#cover .guide-box li.kids .goods-num{text-align:center;color:#bbb;line-height:12px;font-size:12px;margin-top:16px}#cover .boys .block_cn,#cover .girls .block_cn,#cover .kids .block_cn,#cover .lifestyle .block_cn{text-align:center;line-height:26px;font-size:26px;font-weight:700;margin-top:30px}#cover .boys .block_en,#cover .girls .block_en,#cover .kids .block_en,#cover .lifestyle .block_en{text-align:center;line-height:26px;font-size:26px;font-weight:700;margin-top:19px}#cover .boys .block_cn,#cover .boys .block_en{color:#000}#cover .girls .block_cn,#cover .girls .block_en{color:#ff88ae}#cover .kids .block_cn,#cover .kids .block_en{color:#7ad9f8}#cover .lifestyle .block_cn,#cover .lifestyle .block_en{color:#4f4037!important}#cover .boys .block_line,#cover .girls .block_line,#cover .kids .block_line,#cover .lifestyle .block_line{margin:20px auto 0;width:50px;height:0;border-bottom-color:#ccc;border-bottom-width:1px;border-bottom-style:solid}.yoho-footer{font-size:12px}.yoho-footer *{box-sizing:border-box}.yoho-footer .red{color:#e01}.yoho-footer .rgb6{color:#666}.yoho-footer .rgb9{color:#999}.yoho-footer .rgbf{color:#fff}.yoho-footer .index-foot{background:#eee;padding:20px 0}.yoho-footer .index-foot dd{float:left;width:370px;margin-right:20px;overflow:hidden}.yoho-footer .index-foot dd ul{margin-top:18px;padding-top:18px}.yoho-footer .index-foot dd.last{margin-right:0}.yoho-footer .foot-panel{background:#fff;padding:20px}.yoho-footer .title{position:relative;text-align:center}.yoho-footer .title-line{border-bottom:1px solid #ddd;position:absolute;top:9px;width:100%;left:0}.yoho-footer .text{position:absolute;width:100%;text-align:center;left:0;top:0}.yoho-footer .text span{background:#fff;font-size:18px;line-height:18px;padding:0 10px}.yoho-footer .item-nav{padding-top:20px}.yoho-footer .item-nav span{color:#fff;padding:0 3px;cursor:pointer;font-size:20px}.yoho-footer .item-nav .cur{color:#999}.yoho-footer .vote{line-height:24px}.yoho-footer .vote input{margin:0 5px 0 1px}.yoho-footer .vote .button{height:24px;line-height:24px;width:55px;font-size:12px;margin-top:11px;margin-right:10px;background:#222;color:#fff;display:inline-block;text-align:center;cursor:pointer}.yoho-footer .vote p{height:24px;overflow:hidden}.yoho-footer .vote textarea{width:98%;height:68px;vertical-align:middle;margin:5px 0 0;resize:none}.yoho-footer .vote-item p{float:left;width:50%}.yoho-footer .mobile{margin-right:-10px}.yoho-footer .mobile li{margin-right:10px;float:left}.yoho-footer .mobile img{display:block;width:103px;height:131px}.yoho-footer .index-banner{width:100%;margin-top:20px}.yoho-footer .two-dim{margin-right:-10px;overflow:hidden}.yoho-footer .two-dim li{border:1px solid #ddd;margin-right:10px}.yoho-footer .two-dim li a{display:block}.yoho-footer .two-dim li p{text-align:center;margin-top:13px;margin-bottom:10px;line-height:12px}.yoho-footer .dim-img{display:block;width:87px;height:87px;margin:7px}.yoho-footer .dim-hover{position:absolute}.yoho-footer .dim-hover img{width:38px;height:38px}.yoho-footer .dim-active .dim-img{opacity:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"}.yoho-footer .dim-active .dim-hover{display:none}.yoho-footer .footerbottom{width:100%}.yoho-footer .promise{padding:20px 0 10px;background:#000}.yoho-footer .promise .left{margin-right:60px;line-height:30px;font-size:12px;font-weight:700}.yoho-footer .promise .left .iconfont{display:inline-block;font-weight:400;font-size:22px;vertical-align:middle;margin-right:5px}.yoho-footer .promise .left:first-child .iconfont{font-size:27px}.yoho-footer .subscribe{border:1px solid #262626;width:240px}.yoho-footer .subscribe input{width:180px;height:32px;padding:0 10px;line-height:32px;border:none;margin:0;background:#000}.yoho-footer .subscribe a{display:block;float:right;margin-right:20px;font-size:20px;line-height:28px;opacity:.5;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=50)"}.yoho-footer .footer-help{background:#000;font-size:12px;overflow:hidden}.yoho-footer .footer-help>div{padding:15px 0;border-top:1px solid #262626}.yoho-footer .footer-help ul{width:110%}.yoho-footer .footer-help p{line-height:24px}.yoho-footer .footer-help p span{color:#fff}.yoho-footer .footer-help p a{color:#666}.yoho-footer .footer-help p a:hover{text-decoration:underline}.yoho-footer .footer-help li{width:180px}.yoho-footer .footer-help .screen{border-top:1px solid #262626;padding:15px 0}.yoho-footer .footer-link{background:#000;padding:10px 0 30px;font-size:12px}.yoho-footer .footer-link .right-flag{margin-top:3px}.yoho-footer .footer-link .right-flag a{margin-right:5px}.yoho-footer .footer-link .about-us{line-height:20px;color:#666;margin-left:10px}.yoho-footer .footer-link .about-us a{color:#666}.yoho-footer .footer-link .about-us span{padding:0 10px}.yoho-footer .return-top{position:fixed;width:60px;height:60px;left:50%;margin-left:595px;text-align:center;line-height:50px;color:#fff;background:#000;opacity:.5;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";bottom:20px;cursor:pointer;z-index:4}.yoho-footer .return-top .iconfont{font-size:34px}.yoho-footer .return-top:hover{opacity:.9;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=90)"}.yoho-footer .return-top.min{left:100%;right:20px;margin-left:auto}.min-screen .yoho-footer .index-foot dd{width:316px}.min-screen .yoho-footer .two-dim{margin-top:26px;margin-bottom:10px;overflow:hidden}.min-screen .yoho-footer .dim-img{width:69px;height:69px}.min-screen .yoho-footer .mobile{margin-top:26px;padding-bottom:15px}.min-screen .yoho-footer .mobile img{width:85px;height:108px}.min-screen .yoho-footer .promise .left{margin-right:45px}.min-screen .yoho-footer .subscribe{width:200px}.min-screen .yoho-footer .subscribe input{width:140px}.min-screen .yoho-footer .footer-help li{width:150px}.path-nav{font-size:12px;padding:15px 0;height:18px;line-height:18px}.path-nav,.path-nav a{color:#666}.path-nav .iconfont{font-size:12px}.path-nav .last{font-weight:700}.slider{position:relative;height:327px;width:100%;overflow:hidden}.slider img{max-width:100%;max-height:100%}.slide-pagination{position:absolute;left:0;right:0;bottom:12px;text-align:center}.slide-pagination-inner{display:inline-block;position:relative;padding:7px;vertical-align:middle}.slide-shade{position:absolute;left:0;right:0;top:0;bottom:0;background:#000;opacity:.3;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=30)";border-radius:13px}.slide-pagination-last span{display:block;float:left;position:relative;margin:0 7px;width:12px;height:12px;background:#fff;cursor:pointer;opacity:.6;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=60)";border-radius:6px;z-index:2}.slide-pagination-last span.focus{opacity:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"}.slide-switch{display:none}.slide-switch a{display:block;position:absolute;top:50%;margin:-30px 0 0;width:60px;height:60px;line-height:56px;text-align:center;z-index:2;background:#fff;opacity:.55;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=55)"}.slide-switch a .iconfont{font-size:32px;color:#59585a}.slide-switch a:hover{opacity:.9;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=90)"}.slide-switch .prev{left:0}.slide-switch .next{right:0}.slide-switch.show{display:block}.yoho-dialog{position:fixed;padding:20px;top:50%;left:50%;min-height:130px;min-width:350px;background:#f8f8f8;z-index:12;border:5px solid rgba(0,0,0,.38)}.yoho-dialog .close{position:absolute;top:5px;right:5px;cursor:pointer}.yoho-dialog .btns,.yoho-dialog .content{text-align:center}.yoho-dialog .alert-sure,.yoho-dialog .confirm-sure{background:#000;color:#fff}.yoho-dialog .btn{display:inline-block;width:56px;height:26px;line-height:26px;text-align:center;border:1px solid #000;cursor:pointer;margin-left:10px}.yoho-dialog .btn:first-child{margin-left:0}.yoho-dialog.alert-dialog .content,.yoho-dialog.confirm-dialog .content{width:350px;height:auto;min-height:90px;overflow:hidden;line-height:20px;position:relative;padding-top:40px;padding-bottom:20px}.yoho-dialog.alert-dialog .content p,.yoho-dialog.confirm-dialog .content p{position:absolute;left:0;bottom:25px;width:100%;color:#444;line-height:25px}.yoho-dialog.alert-dialog .content div,.yoho-dialog.confirm-dialog .content div{position:absolute;top:0;left:100px;padding-top:30px;font-size:22px;font-weight:700;width:150px;height:30px;line-height:30px;margin:0 auto}.yoho-dialog.alert-dialog .content div span,.yoho-dialog.confirm-dialog .content div span{background-image:url(../assets/img/sprite.cart.png?v155ba59fd53);background-position:0 -272px;float:left;width:27px;height:30px}.yoho-dialog.subcontent-dialog{padding:30px 0}.yoho-dialog.subcontent-dialog .content{font-weight:700;margin:0 auto 30px}.yoho-dialog.subcontent-dialog .sub-content{text-align:center;font-size:12px;color:#555;margin-left:5px;margin-bottom:5px}.yoho-dialog.subcontent-dialog .btn{margin-top:25px;width:100px;font-size:13px;margin-left:0;margin-right:0}.yoho-dialog.subcontent-dialog .btn.black{background-color:#000;color:#fff}.pager{font-size:12px}.pager a{height:24px;padding:0 9px;line-height:24px;display:inline-block;text-align:center;margin-right:8px;color:#222}.pager a.cur{color:#fff;background-color:#222}.pager a:first-child .iconfont{right:auto;left:-5px}.pager .iconfont{position:relative;vertical-align:middle;bottom:1px;right:-5px;font-size:14px}.err-page{width:650px;height:200px;overflow:hidden;margin:100px auto}.err-page .tips-404{float:left;height:200px;padding-left:20px}.err-page .tips-404 .tip{font-size:24px;color:#000;margin-top:55px}.err-page .tips-404 .links{font-size:12px;color:#666;margin-top:15px}.err-page:before{content:'';display:block;width:200px;height:200px;background:url(../assets/img/404.png?v155ba59e176) 50% no-repeat;float:left}.share-wrapper{position:relative}.share-wrapper i{display:block;float:left;width:16px;height:16px;margin-left:5px;cursor:pointer}.share-wrapper .weibo{background-position:0 0}.share-wrapper .tweibo,.share-wrapper .weibo{background-image:url(../assets/img/sprite.share.png?v155ba59fd53)}.share-wrapper .tweibo{background-position:-18px 0}.share-wrapper .renren{background-position:0 -18px}.share-wrapper .qzone,.share-wrapper .renren{background-image:url(../assets/img/sprite.share.png?v155ba59fd53)}.share-wrapper .qzone{background-position:-18px -18px}.share-wrapper .qq{background-position:-36px 0}.share-wrapper .douban,.share-wrapper .qq{background-image:url(../assets/img/sprite.share.png?v155ba59fd53)}.share-wrapper .douban{background-position:-36px -18px}.share-wrapper .weixin{background-image:url(../assets/img/sprite.share.png?v155ba59fd53);background-position:0 -36px}.share-wrapper .weixin-share-box{display:none;position:absolute;width:282px;height:302px;padding-top:9px;text-align:center;font-family:Microsoft Yahei,Arial,Verdana;top:22px;right:-26px;z-index:2}.share-wrapper .weixin-share-box em,.share-wrapper .weixin-share-box em i{position:absolute;width:0;height:0;font-size:0;border-width:0 10px 9px;border-style:dashed dashed solid}.share-wrapper .weixin-share-box em{border-color:transparent transparent #d6d6d6;top:0;left:50%;margin-left:-10px}.share-wrapper .weixin-share-box em i{border-color:transparent transparent #e8e8e8;overflow:hidden;top:1px;left:-15px}.share-wrapper .weixin-share-box .con{position:relative;width:280px;height:300px;overflow:hidden;background-color:#fff;border:1px solid #d6d6d6;box-shadow:0 2px 4px #d1d1d1}.share-wrapper .weixin-share-box h2{display:block;height:46px;line-height:46px;background-color:#e8e8e8;color:#000;font-size:18px}.share-wrapper .weixin-share-box .pic,.share-wrapper .weixin-share-box .pic img{width:168px;height:168px}.share-wrapper .weixin-share-box .pic{overflow:hidden;margin:16px auto}.share-wrapper .weixin-share-box .w{font-size:13px;color:#9f9f9f;line-height:20px}.share-wrapper .weixin-share-box .close{position:absolute;width:45px;height:45px;line-height:45px;overflow:hidden;top:0;right:0;font-size:16px;color:#999}.product-search-page .goods-container{height:auto;padding:25px 0 0;position:relative;width:1160px}.product-search-page .goods-container .good-info{width:222px}.product-search-page .path-nav .last{font-weight:400}.product-search-page .path-nav .last span{font-weight:700}.min-screen .product-search-page .goods-container{height:auto;padding-top:25px;position:relative;width:1000px}.min-screen .product-search-page .goods-container .good-info{width:190px}.min-screen .product-search-page .goods-container .good-info .good-detail-img{height:255px}.min-screen .product-search-page .goods-container .block-next-page{width:190px;height:255px}.min-screen .product-search-page .filter-box .brand .attr-content{max-width:750px}.product-list-page .list-left{width:160px}.product-list-page .list-right{width:970px}.product-list-page .brand-banner{position:relative;height:150px;overflow:hidden}.product-list-page .brand-banner .opt-wrap{position:absolute;width:100%;height:32px;top:50%;margin-top:-16px;text-align:right}.product-list-page .brand-banner a,.product-list-page .brand-banner span{display:inline-block;height:20px;margin-right:5px;line-height:20px;border:1px solid #fff;padding:5px 10px;color:#fff;font-size:12px}.product-list-page .brand-banner .iconfont{font-size:13px}.product-list-page .brand-banner .brand-favor{margin-right:0;cursor:pointer}.product-list-page .brand-banner .coled{color:red}.product-list-page .brand-about{font-size:12px;line-height:150%}.product-list-page .sort-intro{margin-bottom:20px}.product-list-page .sort-intro .texts{width:386px;height:298px;padding:0 50px;border:1px solid #eaeceb;text-align:center;overflow:hidden}.product-list-page .sort-intro .name{font-size:30px;font-weight:700;margin-top:60px}.product-list-page .sort-intro .en-name{font-size:14px;font-weight:700}.product-list-page .sort-intro .desc{color:#666;margin-top:15px;font-size:12px;line-height:150%}.product-list-page .sort-intro .img{width:480px;height:300px}.product-list-page .sort-intro .key-entry{width:330px;margin:30px auto 0}.product-list-page .sort-intro .key-entry a{float:left;display:block;width:110px;line-height:20px;font-size:12px;color:#069;text-decoration:underline}.product-list-page .sell-signboard .left-list li{padding-left:0;height:auto;margin-bottom:10px;line-height:inherit}.product-list-page .sell-signboard .left-list li img{width:100%}.product-list-page.search-page .path-nav .last{font-weight:400}.product-list-page.search-page .path-nav .last span{font-weight:700}.min-screen .product-list-page .sort-intro .texts{width:346px;height:248px;padding:0 30px}.min-screen .product-list-page .sort-intro .name{margin-top:30px}.min-screen .product-list-page .sort-intro .img{width:400px;height:250px}.new-sale-page .sale-list-banner{width:100%;position:relative}.new-sale-page .sale-list-banner ul{overflow:hidden;width:100%;position:relative;z-index:1}.new-sale-page .sale-list-banner ul li{width:100%;height:100%;display:block;float:left;position:absolute;top:0;left:0}.new-sale-page .sale-list-pagation{z-index:2;position:absolute;left:0;bottom:50px;width:100%;height:20px;text-align:center}.new-sale-page .sale-list-pagation div{display:inline-block}.new-sale-page .sale-list-pagation span{display:block;width:20px;height:20px;background:url(../assets/img/product/default-normal.png?v155ba59f2de);float:left;margin:0 10px;cursor:pointer}.new-sale-page .sale-list-pagation span.active{background:url(../assets/img/product/default-active.png?v155ba59f2dd)}.new-sale-page .header-title{position:relative;width:100%;height:42px;margin:20px 0;text-align:center;font-size:20px}.new-sale-page .header-title .count-wrap{position:relative}.new-sale-page .header-title .count{background:#fff;padding:0 5px;color:#999;font-size:12px;margin-top:6px}.new-sale-page .header-title .line-through{position:absolute;bottom:9px;left:0;right:0;height:1px;border-top:1px dotted #999}.new-sale-page .new-banner img{display:block;width:100%}.new-sale-page .new-brands{position:relative;width:100%;margin-top:25px}.new-sale-page .new-brands>*{float:left}.new-sale-page .new-brands .next,.new-sale-page .new-brands .pre{position:absolute;display:block;width:40px;height:40px;line-height:40px;color:#fff;background:#e0e0e0;text-align:center;top:50%;margin-top:-20px;cursor:pointer;opacity:.8;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=80)"}.new-sale-page .new-brands .next:hover,.new-sale-page .new-brands .pre:hover{opacity:.9;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=90)"}.new-sale-page .new-brands .pre{left:0}.new-sale-page .new-brands .next{right:0}.new-sale-page .new-brands .brands-wrap{position:relative;overflow:hidden;width:890px;height:76px;margin-left:40px}.new-sale-page .new-brands .brands{position:absolute;width:auto;height:76px}.new-sale-page .new-brands .brands li{float:left;margin-left:14px}.new-sale-page .new-brands .brands li a{display:block;width:164px;height:76px;line-height:76px;vertical-align:middle;text-align:center}.new-sale-page .new-brands .brands li img{vertical-align:middle;max-width:100%;max-height:100%;border:none}.new-sale-page .new-floor-title{position:relative;margin:35px auto;width:300px;height:31px;line-height:31px;font-size:18px;border:1px solid #000}.new-sale-page .new-floor-title .date{position:absolute;left:-1px;top:-1px;width:155px;height:33px;color:#fff;text-align:center;background:url(../assets/img/product/floor-title.png?v155ba59f2df)}.new-sale-page .new-floor-title .title{float:right;margin-right:40px}.min-screen .new-sale-page .new-brands .brands-wrap{width:730px}.filter-box{border:1px solid #dfdfdf}.filter-box .section{padding:10px 15px;font-size:12px;border-top:1px solid #dfdfdf}.filter-box .section:first-child{border-top:none;padding:5px 15px}.filter-box .title{float:left;width:75px;line-height:30px;font-weight:700}.filter-box .attr-content{margin-left:75px}.filter-box .multi-select{display:inline-block;width:60px;height:18px;line-height:18px;border:1px solid #555;color:#555;text-align:center;cursor:pointer}.filter-box .attr{display:block;float:left;padding:0 10px;margin-right:30px;line-height:30px;cursor:pointer;color:#666;-moz-user-select:none}.filter-box .attr a{color:#666}.filter-box .attr:first-child{margin-left:0}.filter-box .attr.checked,.filter-box .attr.checked a{color:#e01}.filter-box .attr:hover{text-decoration:underline}.filter-box .color .attr{margin-right:0}.filter-box .checked .color-block{width:16px;height:16px;border:2px solid #222;padding:2px;background-size:100%!important}.filter-box .checked .color-block .sub-color-block{display:block;width:16px;height:16px;background-position:50%!important}.filter-box .checked-conditions{line-height:30px;background:#eaeceb}.filter-box .checked-conditions .title{margin-top:5px}.filter-box .checked-conditions .tag{display:block;float:left;padding:0 10px;margin:5px 30px 5px 0;background:#000;color:#fff;cursor:pointer}.filter-box .checked-conditions .color-block{height:14px;width:14px;border:1px solid #fff;margin-bottom:-3px;background-size:100%!important;background-position:50%!important}.filter-box .checked-conditions .clear-checked{margin-top:5px;color:#999;float:right}.filter-box .checked-conditions .clear-checked:hover{color:#468fa2}.filter-box .checked-conditions .close{font-size:14px}.filter-box .sort-pre .active .attr{border:1px solid #000}.filter-box .sort-pre .attr{position:relative}.filter-box .active .sort-up-icon{visibility:visible}.filter-box .sort-up-icon{position:absolute;width:15px;height:9px;left:50%;margin-left:-7px;bottom:-17px;z-index:3;visibility:hidden;background:url(../assets/img/product/senior-up.png?v155ba59f2e3) no-repeat;background-position:50% 0}.filter-box .sort-sub-wrap{width:100%}.filter-box .sort-sub-wrap .sort-sub{border-top:1px solid #eaeceb;margin-top:15px;padding:0 0 15px}.filter-box .sort-sub-wrap .sort-sub .attr{padding-top:15px}.filter-box .brand{position:relative}.filter-box .brand .attr{box-sizing:border-box;width:20%;height:30px;margin:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.filter-box .brand .attr-content{max-width:900px}.filter-box .brand .brand-opt{position:absolute;right:20px;top:15px;color:#555}.filter-box .brand .multi .attr.checked,.filter-box .brand .multi .attr.checked a{color:#000}.filter-box .brand .brand-more{margin-right:10px;cursor:pointer}.filter-box .brand .brands-index{float:left;line-height:30px;margin-right:5px;cursor:pointer}.filter-box .brand .brands-index span{margin:0 3px;-moz-user-select:none}.filter-box .brand .brands-index span:first-child{margin-left:10px}.filter-box .brand .brands-index span.hover{color:red}.filter-box .brand .brand-search{float:left;height:18px;line-height:18px;border:1px solid #b0b0b0;margin-top:5px;margin-left:10px}.filter-box .brand .brand-search input{float:left;border:none;width:100px;height:18px;padding:0}.filter-box .brand .brand-search .btn{position:relative;display:inline-block;top:-1px;width:55px;height:20px;line-height:20px;background:#3a3a3a;color:#fff;text-align:center;cursor:default}.filter-box .brand .panel-body{padding:15px 20px;background:#f4f7f6;margin-top:5px;margin-left:10px}.filter-box .brand .panel-body .ul-scroll{overflow:auto;min-height:30px;max-height:150px}.filter-box .btns{display:none;margin-top:10px;text-align:center}.filter-box .multi .btns{display:block}.filter-box .multi-select-cancel,.filter-box .multi-select-ok{width:55px;height:24px;border:none;background:#000;color:#fff;font-size:14px;margin-right:20px;cursor:pointer;outline:none;font-family:Microsoft YaHei}.filter-box .multi-select-cancel.dis,.filter-box .multi-select-ok.dis{background:#ccc}.filter-box .ud-price-range{margin-top:2px}.filter-box .limit{height:22px;width:42px;border:1px solid #ccc;padding:0}.filter-box .price-sep{margin:0 5px}.filter-box .price-sure{height:24px;width:44px;background:#333;color:#fff;margin-left:10px;outline:none;border:none;font-size:12px;cursor:pointer}.filter-box .color-block{display:inline-block;height:22px;width:22px;border:1px solid #ccc;margin-bottom:-6px;margin-right:5px;background-size:100%!important;background-repeat:no-repeat!important;background-position:50%!important}.filter-box .senior{padding-bottom:6px}.filter-box .senior .attr-content{position:relative}.filter-box .senior .senior-attr-wrap>.attr:hover{text-decoration:none}.filter-box .senior-attr-wrap{position:relative}.filter-box .senior-attr-wrap>.attr.hover,.filter-box .senior-attr-wrap>.attr:hover{font-weight:700}.filter-box .senior-attr-wrap>.attr.hover>.iconfont,.filter-box .senior-attr-wrap>.attr:hover>.iconfont{visibility:hidden}.filter-box .senior-attr-wrap>.attr.hover .senior-up-icon,.filter-box .senior-attr-wrap>.attr:hover .senior-up-icon{visibility:visible}.filter-box .senior-sub{box-sizing:border-box;position:absolute;padding:0 15px 15px 91px;left:-91px;right:-16px;top:39px;background:#fff;border:1px solid #dfdfdf;border-top:0;z-index:2}.filter-box .senior-sub ul{max-width:950px}.filter-box .senior-sub .multi-select{position:absolute;top:20px;right:15px}.filter-box .senior-sub .attr{height:30px}.filter-box .senior-sub.multi .multi-select{display:none}.filter-box .senior-baffle{height:18px;margin-top:-18px;background:none}.filter-box .senior-content{padding-top:15px;border-top:1px solid #eaeceb}.filter-box .senior-up-icon{position:relative;width:100%;height:9px;z-index:3;margin-left:-11px;visibility:hidden;background:url(../assets/img/product/senior-up.png?v155ba59f2e3) no-repeat;background-position:50% 0;top:-1px;top:1px\9}.filter-box .checkbox{display:none;float:left}.filter-box .multi .checkbox{display:block;color:#ccc;font-size:12px;margin-right:3px}.filter-box .multi .checkbox.checked{color:#000}.filter-box .multi .checkbox.checked+span{color:#000;font-weight:700}.min-screen .filter-box .brand .attr{width:25%}:root .senior-up-icon,_:-ms-fullscreen{top:1px}.sort-pager{height:48px;background:#f5f7f6;line-height:48px;margin:10px 0}.sort-pager .checks,.sort-pager .sort-type{color:#999;font-size:12px;padding:0 10px}.sort-pager .checks .iconfont,.sort-pager .sort-type .iconfont{font-size:12px}.sort-pager .checks.active,.sort-pager .checks.checked,.sort-pager .sort-type.active,.sort-pager .sort-type.checked{color:#000;font-weight:700}.sort-pager .checks.active .iconfont,.sort-pager .checks.checked .iconfont,.sort-pager .sort-type.active .iconfont,.sort-pager .sort-type.checked .iconfont{font-weight:100}.sort-pager .checks .iconfont{background:#fff}.sort-pager .sort-type:first-child .iconfont{display:none}.sort-pager .pager-wrap{float:right;padding:15px 0}.sort-pager .page-count{position:relative;height:18px;float:left;font-size:12px;line-height:18px}.sort-pager .page-count>span{float:left;display:block;width:42px;height:10px;line-height:10px;padding:3px;border:1px solid #ccc;color:#222;cursor:pointer;margin-right:10px;background:#fff}.sort-pager .page-count .iconfont{font-size:14px;color:#ccc;float:right}.sort-pager .page-count>ul{position:absolute;display:none;width:48px;border-left:1px solid #ccc;border-right:1px solid #ccc;background:#fff;z-index:1}.sort-pager .page-count li{padding:0 3px;border-bottom:1px solid #ccc}.sort-pager .page-count li:hover{background:#376cf7;color:#fff}.sort-pager .page-count a{display:block;width:100%}.sort-pager .page-orient{float:left;font-size:14px;line-height:15px;margin:0 20px}.sort-pager .page-orient .dis-icon{color:#e6e6e6}.sort-pager .page-orient i{color:red}.good-info{margin-bottom:35px;width:222px;margin-right:10px;float:left}.good-info .good-detail-img{width:100%;height:300px;position:relative}.good-info .good-detail-img .good-thumb,.good-info .good-detail-img img.lazy{display:block;overflow:hidden;width:100%;height:100%}.good-info .good-detail-img .few-tag{width:100%;position:absolute;left:0;height:16px;line-height:16px;background:#ffac5b;color:#fff;font-size:12px;text-align:center;bottom:0}.good-info .good-detail-text{color:#222;font-size:12px;text-align:left;overflow:hidden}.good-info .good-detail-text>a{margin-top:16px;line-height:1.5;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.good-info .good-detail-text>.price{margin-top:5px}.good-info .good-detail-text .brand a{color:#666;line-height:1.5}.good-info .good-detail-text .market-price{text-decoration:line-through;color:#999}.good-info .col-btn{position:absolute;top:15px;right:15px;color:#ccc;font-size:12px}.good-info .col-btn.coled{color:#f95b4f}.good-info .tag-container{font-size:12px;height:22px;line-height:22px}.good-info .tag-container .good-tag{float:left;box-sizing:border-box;display:block;height:22px;padding:0 7px;margin-right:3px;color:#fff}.good-info .tag-container .good-tag:nth-last-of-type(1){margin-right:0}.good-info .tag-container .new-tag{background:#78dc7d}.good-info .tag-container .renew-tag{background:#78dc7e}.good-info .tag-container .running-man-tag{background-color:#017df9;color:#f7ed02}.good-info .tag-container .sale-tag,.good-info .tag-container .yep-tag,.good-info .tag-container .ymp-tag{background:#ff565b}.good-info .tag-container .limit-tag{color:#4e4e4e;border:1px solid #4e4e4e}@keyframes a{0%{max-width:0}to{max-width:150px}}.good-item-wrapper{border:1px solid #ddd;padding-left:20px;padding-top:18px;padding-right:20px;position:absolute;background:#fff;display:none}.good-item-wrapper .good-info-main{float:left}.good-item-wrapper .col-btn{display:block}.good-item-wrapper .col-btn:hover{cursor:pointer}.good-item-wrapper .good-select-color{float:left;margin-top:22px;overflow:hidden;animation:a .6s 1}.good-item-wrapper .good-select-color ul{display:block;float:left;margin-left:15px}.good-item-wrapper .good-select-color li{width:50px;margin-bottom:15px}.good-item-wrapper .good-select-color li a,.good-item-wrapper .good-select-color li img{display:block;overflow:hidden;width:100%}.block-next-page,.good-item-wrapper .good-info{margin-right:10px}.block-next-page{width:222px;height:297px;padding-top:22px;margin-bottom:35px;float:left;cursor:pointer}.block-next-page a{display:block}.block-next-page a img{width:100%;height:100%;display:block;overflow:hidden}.latest-walk{overflow:hidden;border-top:2px solid #eaeceb;font-size:12px}.latest-walk h2{padding-top:15px;font-size:14px}.latest-walk .goods{min-width:984px;height:241px;margin:30px 0;overflow:hidden}.latest-walk .good{float:left;margin-right:14px;width:150px}.latest-walk img{display:block;width:150px;height:201px}.latest-walk .name{display:block;height:18px;line-height:18px;max-width:150px;margin:5px 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.latest-walk .market-price{color:#999;margin-right:5px;text-decoration:line-through}.latest-walk .sale-price{color:#000;font-weight:700}.min-screen .latest-walk .goods{width:820px;min-width:820px;height:301px}.min-screen .latest-walk .good{margin-right:10px;width:195px}.min-screen .latest-walk img{width:195px;height:261px}.product-page .sort-container{width:100%;font-size:12px;border-bottom:1px solid #ebebeb;padding-bottom:10px;margin-bottom:10px}.product-page .sort-container h2{height:28px;line-height:28px;color:#222;font-weight:700;position:relative}.product-page .sort-container h2 span{color:#bbb;padding-left:5px}.product-page .product-list-nav h3{height:28px;line-height:28px;color:#222;font-weight:700;position:relative;text-indent:10px;cursor:pointer}.product-page .product-list-nav h3 span{color:#bbb;padding-left:5px}.product-page .product-list-nav h3 span.icon-triangle{display:inline-block;padding-left:0;width:0;height:0;border-top:6px solid #fff;border-left:6px solid #000;border-bottom:6px solid #fff;position:absolute;top:50%;margin-top:-6px;left:0;transition:transform .3s}.product-page .product-list-nav.active .icon-triangle{transform:rotate(90deg)}.product-page .product-list-nav.active .sort-child-list{display:block}.product-page .sort-child-list{display:none}.product-page .sort-child-list li{color:#bbb}.product-page .sort-child-list li span{padding-left:5px;color:#bbb}.product-page .sort-child-list li.active{background:#333;color:#fff}.product-page .sort-child-list li.active a{color:#fff}.product-page .sort-child-list a{display:block;color:#666;padding-left:10px;height:22px;line-height:22px}.product-page .sort-child-list.new-sale{display:block}.product-page .nav-pic-title{height:35px;line-height:35px;color:#000;font-weight:700;border-bottom:1px solid #ebebeb;font-size:12px}.product-page .pic-nav{display:block}.product-page .pic-nav li{margin-bottom:10px}.product-page .pic-nav img,.product-page .pic-nav li{display:block;width:100%;overflow:hidden}.product-page .brand-ad img,.product-page .brand-card img{max-width:100%}.product-page .no-result{border:1px solid #eaeceb;padding:60px 0;text-align:center;margin-bottom:20px}.product-page .no-result .no-title{font-size:16px}.product-page .no-result .keyword{color:#e01}.product-page .no-result .search-again{width:490px;margin:15px auto}.product-page .no-result .search-again input{float:left;width:380px;height:18px;padding:15px 5px;border:10px solid #343434;color:#333;outline:none;box-sizing:content-box}.product-page .no-result .search-again .search-again-btn{float:left;width:80px;height:68px;line-height:68px;background:#343434;vertical-align:middle;color:#fff;cursor:pointer;outline:none;border:none}.product-page .no-result .search-again .iconfont{font-size:30px}.product-page .no-result .no-tip{font-size:12px;color:#999}.hotrank-page .popular-list{width:1160px}.hotrank-page .popular-list li{position:relative;float:left;width:378px;height:596px;overflow:hidden;list-style:none;margin:0 8px 0 0}.hotrank-page .popular-list li .item-img{width:100%;height:506px;line-height:506px;text-align:center;overflow:hidden}.hotrank-page .popular-list li img{display:block;width:100%;height:100%}.hotrank-page .popular-list .polular-icon{position:absolute;top:0;right:0;width:50px;height:50px;line-height:60px;background:#ffc513 url(../assets/img/product/hotrank/popular-icon.png?v155ba59f34e) no-repeat 50%;text-align:center;color:#ffc513;font-weight:700}.hotrank-page .popular-list .item-content{width:100%;padding:14px 0 0;height:77px;overflow:hidden;text-align:center;color:#222;line-height:18px}.hotrank-page .popular-list .item-content h2{max-height:36px;font-size:12px;color:#000;line-height:18px;text-align:center;overflow:hidden}.hotrank-page .popular-list .item-content p{display:inline-block;margin:3px 0 0;font-size:12px;text-align:center;line-height:20px;color:#000}.hotrank-page .popular-list .item-content p span{text-decoration:line-through;margin:0 10px 0 0;color:#999}.hotrank-page .popular-list .popular-item6,.hotrank-page .popular-list .popular-item7,.hotrank-page .popular-list .popular-item8,.hotrank-page .popular-list .popular-item9{width:280px;height:464px;margin:0 10px 0 0;overflow:hidden}.hotrank-page .popular-list .popular-item6 .item-img,.hotrank-page .popular-list .popular-item7 .item-img,.hotrank-page .popular-list .popular-item8 .item-img,.hotrank-page .popular-list .popular-item9 .item-img{height:374px;line-height:374px}.hotrank-page .hot-week{position:relative;padding:0 0 40px}.hotrank-page .hot-cate{height:45px;background:#f5f7f6;overflow:hidden}.hotrank-page .hot-cate li{float:left;height:45px;line-height:45px;display:table-cell}.hotrank-page .hot-cate li a{vertical-align:middle;padding:0 26px;font-size:14px;color:#777;border-left:1px solid #999}.hotrank-page .hot-cate li:first-child a{border:none}.hotrank-page .hot-cate li.current a{font-size:16px;color:#000}.hotrank-page .hot-week-list{width:1160px}.hotrank-page .hot-week-list .good-info{width:280px;height:464px;margin:10px 10px 0 0}.hotrank-page .hot-week-list .good-info .tag-container{display:none}.hotrank-page .hot-week-list .good-info .good-detail-img{height:374px;line-height:374px;text-align:center;font-size:0}.hotrank-page .hot-week-list .good-info .good-detail-img img{vertical-align:middle}.hotrank-page .hot-week-list .good-info .good-detail-text{height:77px;overflow:hidden;text-align:center;color:#222;line-height:18px}.hotrank-page .hot-week-list .good-info .good-detail-text a{max-height:36px;font-size:12px;color:#000;line-height:18px;text-align:center;overflow:hidden}.hotrank-page .hot-week-list .good-info .good-detail-text p{display:inline-block;margin:3px 0 0;font-size:12px;text-align:center;line-height:20px;color:#000}.hotrank-page .hot-week-list .good-info .good-detail-text p .sale-price{margin:0 10px 0 0}.hotrank-page .floatlayer{display:none;position:fixed;top:50%;left:50%;margin:0 0 0 575px;opacity:0;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"}.hotrank-page .floatlayer li{width:42px;height:42px;border:2px solid #555;border-top:none;border-bottom-width:1px;text-align:center}.hotrank-page .floatlayer li a{position:relative;display:table-cell;width:42px;height:42px;vertical-align:middle;color:#555;font-size:12px}.hotrank-page .floatlayer li a span{display:inline-block;vertical-align:middle;width:28px;word-wrap:break-word}.hotrank-page .floatlayer li:first-child{border-top:1px solid #555}.hotrank-page .floatlayer li.current,.hotrank-page .floatlayer li:hover{background:#555}.hotrank-page .floatlayer li.current a,.hotrank-page .floatlayer li:hover a{color:#fff}.min-screen .hotrank-page{width:990px}.min-screen .hotrank-page .popular-list li{width:324px;height:521px}.min-screen .hotrank-page .popular-list li .item-img{height:434px;line-height:434px}.min-screen .hotrank-page .popular-list .popular-item6,.min-screen .hotrank-page .popular-list .popular-item7,.min-screen .hotrank-page .popular-list .popular-item8,.min-screen .hotrank-page .popular-list .popular-item9{width:240px;height:408px}.min-screen .hotrank-page .popular-list .popular-item6 .item-img,.min-screen .hotrank-page .popular-list .popular-item7 .item-img,.min-screen .hotrank-page .popular-list .popular-item8 .item-img,.min-screen .hotrank-page .popular-list .popular-item9 .item-img{height:320px;line-height:320px}.min-screen .hotrank-page .hot-week-list .good-info{width:240px;height:408px}.min-screen .hotrank-page .hot-week-list .good-info .good-detail-img{height:320px;line-height:320px}.shop-entry-area{width:100%;height:auto;overflow:hidden;display:none}.shop-entry-area .shop-entry:first-child{margin-left:0}.shop-entry{position:relative;background:#f5f7f6;border:1px solid #eaeceb;padding:12px 15px;width:49%;box-sizing:border-box;float:left;margin:0 0 10px 2%}.shop-entry .logo{width:80px;height:50px}.shop-entry .name{margin-left:10px;width:70%}.shop-entry .shop-name{font-size:16px;color:#222;line-height:26px;height:26px}.shop-entry .shop-name,.shop-entry .sorts{width:100%;display:block;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.shop-entry .sorts{color:#999;font-size:12px;line-height:18px;height:18px}.shop-entry .sorts a{color:#999}.shop-entry .entry-btn{position:absolute;right:15px;top:50%;width:110px;height:32px;line-height:32px;margin-top:-16px;background:#222;text-align:center;color:#fff;font-size:12px}.shop-entry .entry-btn .iconfont{font-size:12px}.goods-container{height:auto;padding:25px 0 0;position:relative;width:980px}.goods-container .good-info{width:235px}.product-detail-page .brand-banner{height:45px;width:100%}.product-detail-page .brand-banner img{display:block;height:45px}.product-detail-page .brand-banner .opt{margin-top:5px}.product-detail-page .brand-banner .brand-fav,.product-detail-page .brand-banner .home{display:inline-block;width:32px;height:32px;line-height:32px;border:1px solid #fff;text-align:center;color:#fff;cursor:pointer}.product-detail-page .brand-banner .home{margin-right:5px}.product-detail-page .brand-banner .home .iconfont{font-size:14px}.product-detail-page .brand-banner .brand-fav .iconfont{font-size:13px}.product-detail-page .brand-banner .coled{color:#ee0014}.product-detail-page .path-nav{border:none;margin-bottom:0}.product-detail-page .main{width:990px;margin:0 auto}.product-detail-page .main .infos{width:465px}.product-detail-page .main .img{position:relative;width:420px;height:560px}.product-detail-page .main .img-show{display:block;width:100%;height:100%}.product-detail-page .main .tags{position:absolute;top:0;left:0}.product-detail-page .main .good-tag{float:left;box-sizing:border-box;height:22px;line-height:22px;color:#fff;padding:0 7px;margin-right:5px;font-size:12px}.product-detail-page .main .new-tag{background:#78dc7d}.product-detail-page .main .renew-tag{background:#78dc7e}.product-detail-page .main .running-man-tag{background-color:#017df9;color:#f7ed02}.product-detail-page .main .sale-tag,.product-detail-page .main .yep-tag,.product-detail-page .main .ymp-tag{background:#ff565b}.product-detail-page .main .few-tag{background:#ffac5b}.product-detail-page .main .limit-tag{border:1px solid #4e4e4e;color:#4e4e4e;background:#fff}.product-detail-page .main .thumbs{width:75px;height:510px;margin-left:2px;overflow:hidden}.product-detail-page .main .thumb{display:block;width:75px;cursor:pointer;margin-bottom:2px}.product-detail-page .main .name{font-size:18px;font-weight:700;line-height:24px}.product-detail-page .main .sale-tip{color:#ee0014;padding-left:3px}.product-detail-page .main .brand-name{color:#666;font-size:12px}.product-detail-page .main .title{color:#999;font-size:12px}.product-detail-page .main .market-price{margin-top:8px}.product-detail-page .main .price{color:#000;font-size:22px;line-height:24px;font-weight:700}.product-detail-page .main .has-other-price{color:#999;text-decoration:line-through;font-size:12px}.product-detail-page .main .arrival-date{color:#ee0014;font-size:14px;font-weight:700;margin-left:24px}.product-detail-page .main .vip-price{line-height:14px;color:#222;margin-top:5px;background:url(../assets/img/product/vip-price-icon.png?v155ba59f2ec) no-repeat;padding-left:48px;font-size:12px}.product-detail-page .main .vip-price .cur,.product-detail-page .main .vip-price .login-url{color:#f02200}.product-detail-page .main .vip-price .vip-price-item{margin-left:5px}.product-detail-page .main .vip-price .vip-schedual{color:#999;text-decoration:underline;margin-left:5px}.product-detail-page .main .activity{margin-top:12px}.product-detail-page .main .activity li{line-height:20px}.product-detail-page .main .ac-type{display:inline-block;min-width:50px;max-width:100px;height:16px;line-height:16px;margin-right:5px;padding:0 5px;text-align:center;background:#999;color:#fff;font-size:12px;overflow:hidden;vertical-align:middle}.product-detail-page .main .ac-des{font-size:12px}.product-detail-page .main .row{margin-top:10px}.product-detail-page .main .trade-content{padding-top:20px;margin-top:20px;border-top:1px solid #eaeceb}.product-detail-page .main .chose-color{font-size:12px}.product-detail-page .main .chose-color .title{margin-top:14px}.product-detail-page .main .chose-color img{display:block;height:36px;width:36px;border:2px solid #fff}.product-detail-page .main .chose-color .focus img{border-color:#222}.product-detail-page .main .chose-color li{margin-right:5px;margin-bottom:5px;cursor:pointer}.product-detail-page .main .chose-size{font-size:12px}.product-detail-page .main .chose-size .title{margin-top:6px}.product-detail-page .main .chose-size li{float:left;display:block;height:22px;line-height:22px;margin-right:5px;margin-bottom:5px;padding:0 5px;border:1px solid #eaeceb;text-align:center;cursor:pointer;min-width:28px}.product-detail-page .main .chose-size li.disable{opacity:.5;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=50)"}.product-detail-page .main .chose-size li.focus{color:#fff;background:#222}.product-detail-page .main .size-wrapper{width:415px}.product-detail-page .main .size{float:left;color:#666}.product-detail-page .main .size-ruler{float:left;display:block;width:57px;height:24px;background:url(../assets/img/product/size-ruler.jpg?v155ba59f2ea);margin-bottom:5px;cursor:pointer}.product-detail-page .main .num-warn,.product-detail-page .main .size-warn{float:left;height:24px;line-height:24px}.product-detail-page .main .color-size-tip{color:#999;clear:both;line-height:18px}.product-detail-page .main .chose-count .title{margin-top:6px}.product-detail-page .main .num{display:block;width:38px;height:23px;line-height:23px;text-align:center;border:1px solid #eaeceb;color:#333;font-size:12px;background:#ebebe4}.product-detail-page .main .minus-plus{display:block;width:14px;height:23px;border:1px solid #eaeceb;border-left:none;text-align:center;cursor:pointer}.product-detail-page .main .minus-plus i{display:block;width:13px;height:11px;line-height:8px;font-size:12px;-moz-user-select:none}.product-detail-page .main .minus-plus .dis{color:#999}.product-detail-page .main .minus{border-top:1px solid #eaeceb;font-size:13px}.product-detail-page .main .lc-btn{float:left;display:block;width:80px;height:25px;line-height:25px;color:#fff;background:#222;margin-left:10px;font-size:12px;text-align:center;cursor:default}.product-detail-page .main .lc-btn.dis,.product-detail-page .main .lc-btn.had-lc,.product-detail-page .main .lc-btn.lc-sold-out{background:#ccc}.product-detail-page .main .num-wraper{position:relative}.product-detail-page .main .lc-container{position:absolute;top:-39px;right:-233px;z-index:1}.product-detail-page .main .lc-arrow{position:absolute;top:40px;left:-12px;width:13px;height:20px;background:url(../assets/img/product/arrow.png?v155ba59f2da)}.product-detail-page .main .lc-content{box-sizing:border-box;width:220px;height:285px;text-align:center;background:#f8f8f8;border:1px solid #cecece;padding:40px 25px 0}.product-detail-page .main .lc-content .qr-code{width:137px;height:137px;background:url(../assets/img/product/top-good-qr.png?v155ba59f2eb);margin:0 auto}.product-detail-page .main .lc-content .title{font-size:18px;color:#000;margin:12px 0;line-height:24px}.product-detail-page .main .lc-content .sub-title{font-size:14px;color:#939290}.product-detail-page .main .buy-btn{display:inline-block;margin-right:10px;height:48px;line-height:48px;width:197px;text-align:center;color:#fff;background:#e92601;font-size:14px;cursor:pointer}.product-detail-page .main .buy-btn.hover{background:#eb3b19;background:rgba(233,38,1,.8)}.product-detail-page .main .buy-btn.dis{background:#ccc}.product-detail-page .main .collect-product,.product-detail-page .main .keep-shopping{display:inline-block;width:127px;height:48px;text-align:center;line-height:48px;background:#fff;color:#222;border:1px solid #ccc;font-weight:700;font-size:12px;cursor:pointer}.product-detail-page .main .collect-product .iconfont,.product-detail-page .main .keep-shopping .iconfont{color:#ccc;font-size:14px}.product-detail-page .main .collect-product.coled .iconfont,.product-detail-page .main .keep-shopping.coled .iconfont{color:#fa5252}.product-detail-page .main .share-row{margin-top:20px}.product-detail-page .main .share-row .title{margin-top:2px}.product-detail-page .main .balance{display:none}.product-detail-page .main .balance .success-tip{color:#222;font-size:18px;margin-bottom:10px}.product-detail-page .main .balance .cart-total{color:#999;font-size:12px}.product-detail-page .main .balance .balance-btns{margin-top:20px}.product-detail-page .other-infos{padding-bottom:30px}.product-detail-page .info-block{margin-top:30px;color:#999;border-top:2px solid #eaeceb;font-size:12px}.product-detail-page .info-block .basic{width:640px;margin:0 auto}.product-detail-page .info-block .basic li{float:left;width:25%;line-height:20px}.product-detail-page .info-block .comfort{width:470px;border:1px solid #eaeceb;margin:17px auto 0;padding-bottom:15px}.product-detail-page .info-block .comfort li{margin:12px 20px 0}.product-detail-page .info-block .comfort-block{display:inline-block;width:14px;height:10px;border:1px solid #eaeceb;margin-right:2px}.product-detail-page .info-block .comfort-block.cur{background:#999;border:1px solid #999}.product-detail-page .block-title{margin-bottom:25px;text-align:center}.product-detail-page .block-title .title{display:inline-block;padding-top:15px;font-weight:700;cursor:pointer}.product-detail-page .block-title .title.cur{color:#222;border-top:2px solid #222;margin-top:-2px}.product-detail-page .block-title .sep{display:inline-block;margin:0 30px;color:#eaeceb;font-size:14px;cursor:default;font-weight:700}.product-detail-page .description-content{overflow:hidden}.product-detail-page .material-content{display:none;overflow:hidden}.product-detail-page .material-detail li{width:860px;padding-bottom:20px;border-bottom:1px dotted #eaeceb;margin:0 auto 20px}.product-detail-page .material-detail li img{float:left;width:125px;height:50px}.product-detail-page .material-detail li .name{float:left;width:100px;line-height:25px;border-right:1px dotted #eaeceb;color:#666;font-weight:700;text-align:center;font-size:14px}.product-detail-page .material-detail li .text{float:left;width:614px;padding-left:20px;line-height:18px}.product-detail-page .wash{text-align:center}.product-detail-page .wash li{display:inline-block;padding:0 20px;color:#666;border-right:1px solid #eaeceb}.product-detail-page .size-info{text-align:center}.product-detail-page .fitting-report-table,.product-detail-page .reference-table,.product-detail-page .size-table{text-align:center;margin:0 auto}.product-detail-page .fitting-report-table th,.product-detail-page .reference-table th,.product-detail-page .size-table th{width:110px;text-align:center}.product-detail-page .fitting-report-table tr,.product-detail-page .reference-table tr,.product-detail-page .size-table tr{height:30px}.product-detail-page .fitting-report-table td,.product-detail-page .fitting-report-table tr,.product-detail-page .reference-table td,.product-detail-page .reference-table tr,.product-detail-page .size-table td,.product-detail-page .size-table tr{text-align:center}.product-detail-page .fitting-report-table thead,.product-detail-page .reference-table thead,.product-detail-page .size-table thead{background:#f5f7f6;color:#999}.product-detail-page .fitting-report-table tbody,.product-detail-page .reference-table tbody,.product-detail-page .size-table tbody{color:#222}.product-detail-page .fitting-report-table .avatar,.product-detail-page .reference-table .avatar,.product-detail-page .size-table .avatar{width:26px;height:26px;border-radius:50px}.product-detail-page .fitting-report-table .avatar-col,.product-detail-page .reference-table .avatar-col,.product-detail-page .size-table .avatar-col{width:26px;padding-left:20px;padding-right:20px}.product-detail-page .fitting-report-table .model-col,.product-detail-page .reference-table .model-col,.product-detail-page .size-table .model-col{width:90px}.product-detail-page .fitting-report-table .remark-col,.product-detail-page .reference-table .remark-col,.product-detail-page .size-table .remark-col{width:200px}.product-detail-page .fr-img-wrap{width:100%;text-align:center}.product-detail-page .fr-img-wrap img{max-width:100%}.product-detail-page .ref-model{padding-top:10px}.product-detail-page .ref-model .model{width:444px;height:35px;padding-top:47px;padding-left:316px;color:#666;overflow:hidden;margin:10px auto 0}.product-detail-page .ref-model .model em{margin-left:5px}.product-detail-page .size-tip{color:#999;margin-top:15px;text-align:center}.product-detail-page .details{text-align:center;font-size:12px;color:#999;line-height:18px}.product-detail-page .details-html{width:750px;text-align:center;margin:0 auto}.product-detail-page .details-html b{font-weight:700}.product-detail-page .details-html i{font-style:italic}.product-detail-page .consults{display:none}.product-detail-page .consult-comment .title,.product-detail-page .consult-comment .title.cur{color:#666}.product-detail-page .cc-content{background:#f5f7f6;padding:20px 20px 0;font-size:12px}.product-detail-page .cc-content h2{font-weight:700;font-size:14px;margin-bottom:10px;color:#000}.product-detail-page .cc-content li{border-top:1px solid #eaeceb;padding:20px 0}.product-detail-page .cc-content .user-info{color:#999;line-height:16px}.product-detail-page .cc-content .user-info>*{float:left}.product-detail-page .cc-content .user-info .name{color:#666}.product-detail-page .cc-content .user-info .date{color:#bbb}.product-detail-page .cc-content .user-info .question{color:#222}.product-detail-page .cc-content .user-avatar{width:30px;height:30px;margin-right:5px}.product-detail-page .cc-content .more-wrap{text-align:center;border-top:1px solid #eaeceb;padding:20px 0;font-size:14px;font-weight:700;color:#666}.product-detail-page .cc-content .btn-wrap{padding:20px 0;border-top:1px solid #eaeceb}.product-detail-page .cc-content .load-more{cursor:pointer}.product-detail-page .cc-content .btn{display:block;width:140px;height:32px;line-height:32px;color:#fff;background:#222;text-align:center;font-size:12px;margin:0 auto;cursor:pointer}.product-detail-page .cc-content .btn .iconfont{font-size:14px}.product-detail-page .cc-content .comment,.product-detail-page .cc-content .consult{margin-top:10px}.product-detail-page .cc-content .consults{display:none}.product-detail-page .new-consult{padding:20px 0;border-top:1px solid #eaeceb}.product-detail-page .new-consult textarea{width:590px;height:80px;padding:5px;outline:none;resize:none}.product-detail-page .new-consult .submit-consult{display:block;width:140px;height:32px;line-height:32px;margin:8px 0 0}.product-detail-page .new-consult .error{border-color:#e01}.product-detail-page .consult-success{border-top:1px solid #eaeceb;margin-top:30px;text-align:center;padding:20px 0}.product-detail-page .consult-success p{width:295px;height:55px;line-height:55px;margin:0 auto;border:2px solid #222;display:block;color:#222;font-weight:700}.product-detail-page .after-service{text-align:center;margin-top:30px}.product-detail-page .after-service .after-service-content{display:none}.product-detail-page .after-service .after-service-switch{height:44px;line-height:44px;background:#eaeceb;text-align:center;font-size:12px;cursor:pointer}.product-detail-page .after-service .after-service-switch .iconfont{font-size:12px}.product-detail-page .after-service .text{padding:20px 15px;background:#f5f7f6;text-align:left;color:#666;line-height:18px}.product-detail-page .after-service .orange{color:#f9761a}.product-detail-page .after-service h4{font-weight:700;font-size:14px;line-height:24px;color:#222;margin-top:10px}.product-detail-page .after-service h4:first-child{margin-top:0}.product-detail-page .after-service .img-1{width:715px;height:259px;margin:0 auto;background:url(../assets/img/product/after-service-1.png?v155ba59f2d7)}.product-detail-page .after-service .img-2{width:715px;height:230px;margin:0 auto;background:url(../assets/img/product/after-service-2.png?v155ba59f2d8)}.product-detail-page .after-service a{color:#666}.product-detail-page .service{width:403px;height:19px;margin:45px auto;background:url(../assets/img/product/service.png?v155ba59f2e4)}.product-detail-page .latest-walk{overflow:inherit}.product-detail-page .latest-walk .goods{width:1010px;margin:0 auto;height:auto}.product-detail-page .latest-walk .goods>div{float:left;width:180px;margin-right:22px}.product-detail-page .latest-walk img{height:240px;width:180px;display:block}.product-detail-page .latest-walk .name{display:block;margin-top:5px;color:#222;line-height:16px}.product-detail-page .latest-walk .price{color:#222;font-weight:700;margin-top:5px}.product-detail-page .latest-walk .market-price{margin-right:5px}.product-detail-page .latest-walk .has-sale{text-decoration:line-through;color:#999}.product-detail-page .warn-tip{display:inline-block;color:#e01;margin-left:7px;font-size:12px}.product-detail-page .warn-tip i{font-size:14px}.product-detail-page .hot-point-wrap{position:relative;margin:0 auto}.product-detail-page .hot-point-wrap .hot-point{position:absolute;background:#fff\9;filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=0)}.product-detail-page .hot-point-wrap .hot-point.hover .pointer{background-position:0 -25px}.product-detail-page .hot-point-wrap .hot-point.hover .hp-good{display:block}.product-detail-page .hot-point-wrap .pointer{position:absolute;display:block;background:url(../assets/img/product/hp-num.png?v155ba59f2e2) no-repeat 0 0;color:#fff;cursor:pointer;width:25px;height:25px;line-height:25px;text-align:center;left:0;top:0;font-size:18px}.product-detail-page .hot-point-wrap .hp-good{display:none;position:absolute;left:30px;top:0;width:210px;background:#000;height:60px;padding:10px}.product-detail-page .hot-point-wrap .hp-good .pic{display:block;float:left;width:60px;height:60px;margin-right:10px}.product-detail-page .hot-point-wrap .hp-good .info{position:relative;float:left;color:#fff;font-size:12px;width:140px;height:60px;line-height:20px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;text-align:left}.product-detail-page .hot-point-wrap .hp-good .check-btn{display:block;position:absolute;height:18px;width:40px;text-decoration:none;right:0;bottom:0;text-align:center;background:#e8e8e8;border-radius:2px}.shop-index-page{margin:10px auto 30px;width:1150px}.shop-index-page .shop-banner{position:relative}.shop-index-page .shop-banner .shop-name{position:absolute;left:260px;bottom:20px;font-size:36px;color:#fff}.shop-index-page .shop-banner .banner-img{width:100%;height:150px}.shop-index-page .shop-banner .opt-wrap{position:absolute;top:65%;right:0;padding:0 10px}.shop-index-page .shop-banner .shop-collect,.shop-index-page .shop-banner .shop-intro{display:inline-block;width:110px;height:30px;margin-right:10px;font-size:16px;line-height:30px;text-align:center;color:#fff;border:1px solid #fff;cursor:pointer}.shop-index-page .shop-banner .shop-collect i,.shop-index-page .shop-banner .shop-intro i{background-repeat:no-repeat;float:left;position:relative;left:11px;top:5px}.shop-index-page .shop-banner .shop-collect .shop-intro-ico,.shop-index-page .shop-banner .shop-intro .shop-intro-ico{width:16px;height:20px;background-image:url(../assets/img/product/shop-instro.png?v155ba59f2e7);margin-right:12px}.shop-index-page .shop-banner .shop-collect .shop-collect-ico,.shop-index-page .shop-banner .shop-intro .shop-collect-ico{width:20px;height:19px;background-image:url(../assets/img/product/shop-collection.png?v155ba59f2e5);top:6px;margin-right:12px}.shop-index-page .shop-banner .shop-collect .shop-collect-ico.on,.shop-index-page .shop-banner .shop-intro .shop-collect-ico.on{background-image:url(../assets/img/product/shop-collection-on.png?v155ba59f2e4)}.shop-index-page .shop-nav{box-sizing:border-box;margin-bottom:30px;padding:0 20px;width:100%;height:40px;color:#fff;background:#000;font-size:16px}.shop-index-page .shop-nav a{position:relative;top:8px;display:inline-block;line-height:26px;color:#fff}.shop-index-page .shop-nav .nav-item{position:relative;float:left;width:160px;text-align:center}.shop-index-page .shop-nav .nav-item.first{width:100px;text-align:left}.shop-index-page .shop-nav .current a{border-bottom:2px solid #fff}.shop-index-page .coupon{margin-top:20px;width:100%;height:80px}.shop-index-page .coupon .coupon-title{width:162px;height:100%;background-image:url(../assets/img/sprite.product.png?v155ba59fd54);background-position:0 0}.shop-index-page .slider-wrap{height:360px}.shop-index-page .slider-wrap .slide-wrapper img{width:auto;height:auto}.shop-index-page .slider-left{float:left;margin-right:10px;width:660px;height:100%;overflow:hidden;position:relative}.shop-index-page .slider-left .slide-wrapper{height:358px}.shop-index-page .slider-left .slide-switch a.prev{margin-left:-330px}.shop-index-page .slider-left .slide-switch a.next{margin-right:-330px}.shop-index-page .slider-left img{width:100%;height:100%}.shop-index-page .slider-left .slide-pagination{display:none}.shop-index-page .slider-right{float:left;width:300px;height:100%}.shop-index-page .slider-right .slider-item{display:block;margin-bottom:10px;width:100%;height:175px}.shop-index-page .floor-header{margin-top:50px}.shop-index-page .hot-single,.shop-index-page .new-arrivel{width:980px}.shop-index-page .hot-single .item,.shop-index-page .new-arrivel .item{float:left;position:relative;margin-right:10px;margin-bottom:20px;width:235px;height:315px;font-size:14px;text-align:center;line-height:1.5;background:#f5f5f5;font-weight:700}.shop-index-page .hot-single .item img,.shop-index-page .new-arrivel .item img{width:235px;height:250px}.shop-index-page .hot-single .item .title,.shop-index-page .new-arrivel .item .title{width:220px;padding:0 5px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.shop-index-page .hot-single .hat,.shop-index-page .new-arrivel .hat{position:absolute;top:0;right:0;width:50px;height:50px;color:#ffc513;text-align:center;line-height:57px;background-image:url(../assets/img/sprite.product.png?v155ba59fd54);background-position:0 -82px}.shop-index-page .mask{background-color:#000;opacity:.5;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";position:fixed;top:0;left:0;right:0;bottom:0;z-index:12;display:none;cursor:pointer}.shop-index-page .pop-shop-intro{display:none}.shop-index-page .shop-intro-bg{width:908px;height:604px;background-color:#000;opacity:.5;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";position:fixed;left:50%;top:50%;z-index:13;margin:-302px 0 0 -454px}.shop-index-page .shop-intro-area{width:898px;height:594px;padding:60px 10px 35px 40px;background-color:#fff;position:fixed;left:50%;top:50%;margin:-297px 0 0 -449px;z-index:14;box-sizing:border-box}.shop-index-page .shop-intro-area .close-btn{width:18px;height:18px;background-image:url(../assets/img/product/shop-instro-close.png?v155ba59f2e7);position:absolute;right:20px;top:20px;cursor:pointer}.shop-index-page .shop-intro-area .brand-cont{overflow:auto;width:100%;height:499px;padding-right:30px;box-sizing:border-box}.shop-index-page .shop-intro-area .intro-title{float:left}.shop-index-page .shop-intro-area .intro-title h2{width:100%;float:left;text-align:left;font-size:26px;font-weight:700;color:#000;font-style:italic}.shop-index-page .shop-intro-area .intro-title p{font-family:黑体;font-size:20px;text-align:left;padding:10px 0;float:left}.shop-index-page .shop-intro-area .intro-cont{width:100%;float:left;margin-top:55px;font-size:14px;line-height:20px}.shop-index-page .shop-intro-area .intro-cont p{text-indent:2em}.shop-index-page .shop-intro-area .intro-cont img{width:100%;margin-top:10px}.shop-index-page .fixed-area{background:#fff;z-index:1;width:970px}.shop-index-page .all-goods-menu{width:100%;height:40px;line-height:40px}.shop-index-page .all-goods-menu .menu-tag{color:#d0021b;font-size:18px;font-weight:700;text-align:left;padding:0 20px 0 10px;border-right:1px solid #000;float:left}.shop-index-page .all-goods-menu .menu-list{width:810px;height:40px;overflow:hidden;float:left;font-size:14px}.shop-index-page .all-goods-menu .menu-list li{display:inline-block;padding:0 15px}.shop-index-page .all-goods-menu .menu-list .on{background:#000;height:28px;line-height:28px}.shop-index-page .all-goods-menu .menu-list .on a{color:#fff}.shop-index-page .all-goods-menu .more{font-size:14px;float:right}.shop-index-page .sort-pager .sort-type:first-child .iconfont{display:inline-block}.shop-index-page .loading{position:relative;width:100%;text-align:center}.shop-index-page .loading a{display:block;height:35px;width:120px;margin:0 auto;background-color:#000;color:#fff;font-size:14px;line-height:35px;text-align:center}.shop-index-page .trend-info,.shop-index-page .trend-info .trend-list{width:100%}.shop-index-page .trend-info .trend-list li{float:left;width:316px;margin-left:10px;text-align:center}.shop-index-page .trend-info .trend-list li:first-child{margin-left:0}.shop-index-page .trend-info .trend-list img{width:100%;height:181px}.shop-index-page .trend-info .trend-list .main-title,.shop-index-page .trend-info .trend-list .sub-title{box-sizing:border-box;font-size:16px;margin-top:15px;padding:0 10px;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:24px}.shop-index-page .trend-info .trend-list .sub-title{margin-top:0;font-size:14px}.shop-index-page .goods-wrap .goods-container .good-info{width:235px;height:auto;margin-bottom:35px}.shop-index-page .goods-wrap .goods-container .good-detail-text{text-align:left}.shop-index-page .left-modular{width:160px;font-size:14px;margin-top:20px;float:left}.shop-index-page .left-modular .title{width:100%;height:25px;line-height:25px;background:#000;color:#fff;font-family:黑体;padding-left:14px;box-sizing:border-box}.shop-index-page .left-modular .left-list{width:100%;margin-top:5px}.shop-index-page .left-modular .left-list li{width:100%;height:42px;line-height:42px;background:#f5f5f5;float:left;box-sizing:border-box;margin-top:5px;padding-left:14px}.shop-index-page .left-modular .left-list li a{color:#000}.shop-index-page .left-modular .left-list li.on{border:1px solid #000}.shop-index-page .classic-recommend .left-list li{height:50px;line-height:50px}.shop-index-page .classic-recommend .classic-name{width:96px;display:inline-block;line-height:14px;vertical-align:middle;font-weight:700}.shop-index-page .classic-recommend .classic-name .name{font-size:14px}.shop-index-page .classic-recommend .classic-name .en-name{font-size:12px}.shop-index-page .classic-recommend img{width:40px;max-height:40px;margin-right:5px;vertical-align:middle}.shop-index-page .sell-recommend .left-list li{padding-left:0;height:auto;margin-bottom:25px;line-height:inherit}.shop-index-page .sell-recommend .left-list li img{width:100%}.shop-index-page ::-webkit-scrollbar{width:16px;height:16px}.shop-index-page ::-webkit-scrollbar-thumb,.shop-index-page ::-webkit-scrollbar-track{border-radius:999px;border:5px solid transparent}.shop-index-page ::-webkit-scrollbar-track{box-shadow:inset 0 0 6px transparent}.shop-index-page ::-webkit-scrollbar-thumb{min-height:20px;background-clip:content-box;box-shadow:inset 0 0 0 6px rgba(0,0,0,.3)}.shop-index-page ::-webkit-scrollbar-corner{background:transparent}.shop-index-page .page-nav{padding:7px 0;float:right;font-size:14px}.shop-index-page .page-nav .page-prev{width:33px;height:33px;background:#ccc;text-align:center;float:left}.shop-index-page .page-nav .arrow-left{width:10px;height:10px;display:inline-block;position:relative;top:-7px;background:url(../assets/img/product/arrow-left.png?v155ba59f2d9) no-repeat}.shop-index-page .page-nav a .page-next,.shop-index-page .page-nav a .page-prev{background:#000;color:#fff}.shop-index-page .page-nav .page-next{min-width:110px;height:33px;background:#a9a9a9;float:left;margin-left:1px;line-height:33px;padding-left:10px;box-sizing:border-box;padding-right:10px}.shop-index-page .page-nav .arrow-right{width:10px;height:10px;display:inline-block;vertical-align:middle;background:url(../assets/img/product/arrow-right.png?v155ba59f2d9) no-repeat}.shop-index-page .page-nav .pages{margin-left:10px}.product-page .product-pager{padding:20px 0;font-size:12px;color:#6a6a6a;border-top:2px solid #eaeceb}.product-page .product-pager .pager{float:right}.product-page .list-left{width:160px}.product-page .list-right{width:970px}.new-sale-page .goods-container,.product-list-page .goods-container{height:auto;padding-top:25px;position:relative;width:980px}.new-sale-page .goods-container .good-info,.product-list-page .goods-container .good-info{width:235px}.new-sale-page .goods-container .good-info .good-detail-img,.product-list-page .goods-container .good-info .good-detail-img{height:315px}.new-sale-page .goods-container .block-next-page,.product-list-page .goods-container .block-next-page{width:235px;height:315px}.new-sale-page .filter-box .brand .attr-content,.product-list-page .filter-box .brand .attr-content{max-width:730px}.min-screen .new-sale-page .list-right,.min-screen .product-list-page .list-right{width:810px}.min-screen .new-sale-page .goods-container,.min-screen .product-list-page .goods-container{height:auto;padding-top:25px;position:relative;width:820px}.min-screen .new-sale-page .goods-container .good-info,.min-screen .product-list-page .goods-container .good-info{width:195px}.min-screen .new-sale-page .goods-container .good-info .good-detail-img,.min-screen .product-list-page .goods-container .good-info .good-detail-img{height:261px}.min-screen .new-sale-page .goods-container .block-next-page,.min-screen .product-list-page .goods-container .block-next-page{width:195px;height:261px}.min-screen .new-sale-page .filter-box .brand .attr-content,.min-screen .product-list-page .filter-box .brand .attr-content{max-width:570px}.passport-page{width:1150px;margin-left:auto;margin-right:auto}.passport-page .content{float:left;margin-top:107px;padding-left:85px}.passport-page .input{height:43px;font-size:16px;line-height:1.2;line-height:43px\9;width:268px;border:1px solid #dbdbdb;text-indent:10px;color:#9a9a9a;color:rgba(0,0,0,.5)}.passport-page .error{border-color:red!important}.passport-page .btn{display:block;height:46px;line-height:46px;width:100%;text-align:center;color:#fff;background-color:#ff1901;letter-spacing:10px;font-size:20px;cursor:pointer}.passport-page .btn.disable{background-color:#555;cursor:default}.passport-page .pwd-intensity-container{width:270px;text-align:right;padding-top:5px}.passport-page .pwd-intensity-container .pwd-intensity{height:15px;font-size:12px;background-color:#e8e8e8;padding:0 10px;text-align:center;color:#b9b9b9}.passport-page .pwd-intensity-container.red .pwd-intensity{color:#e01}.passport-page .pwd-intensity-container.red .color{background:#e01;color:#fff}.passport-page .pwd-intensity-container.yellow .pwd-intensity{color:#f6da1e}.passport-page .pwd-intensity-container.yellow .color{background:#f6da1e;color:#fff}.passport-page .pwd-intensity-container.green .pwd-intensity{color:#3ee392}.passport-page .pwd-intensity-container.green .color{background:#3ee392;color:#fff}.passport-page .pwd-tips{position:absolute;top:-10px;left:285px;width:160px!important;height:72px;padding-top:7px;font-size:12px;background-image:url(../assets/img/sprite.passport.png?v155ba59fd55);background-position:0 0}.passport-page .pwd-tips>div{position:relative;height:22px;line-height:22px;margin-left:15px;padding-left:15px;font-size:12px;color:#b9b9b9}.passport-page .pwd-tips>div i{position:absolute;width:14px;height:14px;left:-2px;top:50%;margin:-7px 0 0;background-image:url(../assets/img/sprite.passport.png?v155ba59fd55);background-position:-63px -113px}.passport-page .pwd-tips>div.no{color:red}.passport-page .pwd-tips>div.no i{background-image:url(../assets/img/sprite.passport.png?v155ba59fd55);background-position:-95px -113px}.passport-page .pwd-tips>div.yes i{background-image:url(../assets/img/sprite.passport.png?v155ba59fd55);background-position:-79px -113px}.passport-page .email-autocomplete{position:absolute;width:248px;padding:0 10px;z-index:1;margin-top:5px;border-radius:5px;cursor:pointer;border:1px solid #fefefe;background-color:#161616;color:#fff;font-size:16px}.passport-page .email-autocomplete li{height:24px;line-height:24px}.passport-page .err-tip{position:absolute;font-size:14px;white-space:nowrap;top:8px;left:285px;padding:6px 0;color:red}.passport-page .err-tip i{display:block;float:left;height:14px;width:14px;background-image:url(../assets/img/sprite.passport.png?v155ba59fd55);background-position:-95px -113px;margin-right:5px}.passport-page .err-tip a{text-decoration:underline;color:red}.passport-page .page-tip{display:block;width:100%;height:30px;line-height:30px;text-align:center;font-size:20px;font-weight:700;color:#ccc;clear:both;margin-bottom:15px}.passport-cover{float:left;margin:107px 0;width:575px}.passport-cover .cover-content{width:100%;height:318px;padding:50px 0;border-right:1px solid #dfdfdf}.passport-cover .cover-img{display:block;width:252px;height:190px;margin:0 auto;margin-top:50px}.login-page .relative{position:relative}.login-page .right{float:right}.login-page .login-ul>li{margin-bottom:25px}.login-page .title{float:left;font-size:20px}.login-page .country-code{cursor:pointer;color:#b9b9b9}.login-page .country-list{display:none;position:absolute;padding:0 10px;background:#fff;border:1px solid #000;top:20px;right:0;z-index:1;border-radius:5px}.login-page .country-list li{height:20px;line-height:20px;color:#000}.login-page .captcha-wrap{position:relative}.login-page .captcha-wrap .err-tip{left:335px}.login-page .captcha{width:160px;float:left}.login-page .captcha-img{height:37px;width:90px;border:0;vertical-align:middle;outline:none;margin-left:10px;margin-top:4px;float:left}.login-page .change-captcha{position:absolute;top:0;right:-50px;cursor:pointer;float:left;height:43px;font-size:14px;line-height:43px;color:#ff1901}.login-page .remember-me{cursor:pointer}.login-page .other-opts{color:#b9b9b9;font-size:14px}.login-page .other-opts .iconfont{font-size:14px}.login-page .other-opts .fast-reg{color:#ff1901}.login-page .forget-password{color:#b9b9b9}.login-page .third-party-login{display:table}.login-page .third-party-login a{display:table-cell;width:45px;background-size:100% 100%}.login-page .third-party-login .icon{display:block;width:30px;height:30px;margin:0 auto}.login-page .third-party-login .weixin{background-image:url(../assets/img/sprite.passport.png?v155ba59fd55);background-position:-96px -81px}.login-page .third-party-login .qq{background-image:url(../assets/img/sprite.passport.png?v155ba59fd55);background-position:-128px -81px}.login-page .third-party-login .weibo{background-image:url(../assets/img/sprite.passport.png?v155ba59fd55);background-position:0 -81px}.login-page .third-party-login .alipay{background-image:url(../assets/img/sprite.passport.png?v155ba59fd55);background-position:0 -113px}.login-page .third-party-login .douban{background-image:url(../assets/img/sprite.passport.png?v155ba59fd55);background-position:-64px -81px}.login-page .third-party-login .renren{background-image:url(../assets/img/sprite.passport.png?v155ba59fd55);background-position:-32px -81px}.login-page .caps-lock{position:absolute;color:#666;border:#ffe57d;background:#fff6d2;white-space:nowrap;top:8px;left:278px;padding:0 20px;height:27px;line-height:30px}.register-page{font-size:14px;color:#b9b9b9}.register-page li{margin-bottom:25px;width:270px;position:relative}.register-page li input,.register-page li select{outline:none}.register-page li .input{height:43px;line-height:43px;font-size:16px;width:268px;border:1px solid #dbdbdb;text-indent:10px;color:#9a9a9a;padding:0}.register-page li .input.error{border:1px solid red}.register-page li .input.phone-num{width:209px;display:block;float:left;position:absolute;top:0;right:0}.register-page li .input.captcha,.register-page li .input.msg-captcha{width:160px;float:left}.register-page li .input.agree-terms{vertical-align:middle}.register-page li .send-captcha{top:0;background:#ff1901;position:absolute;width:100px;right:0;font-size:12px;text-indent:0;letter-spacing:0}.register-page li .send-captcha.disable{background:#555}.register-page li .link{text-decoration:underline;color:#ff1901}.register-page li .btn{height:45px;line-height:45px;color:#fff;border:none;padding:0;font-family:黑体,Regular;text-align:center}.register-page li .region{height:30px;padding:4px 0;width:132px;border-color:#c1c1c1;color:#9a9a9a;font-size:16px;font-family:黑体,Regular}.register-page li .country-code{width:58px;height:43px;line-height:43px;text-align:center;white-space:nowrap;border:1px solid #dbdbdb;border-right:0;font-size:16px;display:block;float:left}.register-page li .captcha-img{height:37px;width:90px;border:0;vertical-align:middle;outline:none;margin-left:10px;margin-top:4px;float:left}.register-page li .change-captcha{margin-left:10px;cursor:pointer;float:left;height:43px;line-height:43px}.register-page li .pwd-intensity-container{width:270px;text-align:right;margin-top:5px;height:auto;overflow:hidden}.register-page li .pwd-intensity-container .pwd-intensity{height:15px;font-size:12px;background-color:#e8e8e8;padding:1px 10px;text-align:center}.register-page li .pwd-intensity-container.red{color:red}.register-page li .pwd-intensity-container.red .color{background:red;color:#fff}.register-page li .pwd-intensity-container.yellow .color{background:#ff0;color:#fff}.register-page li .pwd-intensity-container.green .color{background:#3ee392;color:#fff}.register-page li .register-btn{width:270px;font-size:20px;font-weight:700;background:#ff1901}.register-page li .register-btn.disable{background:#555}.register-page li.w330{width:330px}.register-page li.items-container,.register-page li.quick-login-container{font-size:13px;text-align:right;white-space:nowrap}.register-page li.quick-login-container{width:270px}.register-page li.skip-user-info{font-size:18px;text-align:center}.register-page li.skip-user-info a{color:#ff1901;text-decoration:underline}.register-page .msg-tip{position:absolute;top:17px;left:285px;white-space:nowrap}.register-page .msg-tip:before{content:'';display:inline-block;width:12px;height:12px;margin-right:5px;background-image:url(../assets/img/sprite.passport.png?v155ba59fd55);background-position:-63px -129px}.register-page .err-tip{z-index:11;position:absolute;height:30px;line-height:30px;color:red;background-color:#ffebeb;border:1px solid #ffbdbe;padding:0 10px}.register-page .err-tip b{display:block;position:absolute;top:30px;left:20px;background-image:url(../assets/img/sprite.passport.png?v155ba59fd55);background-position:-111px -113px;width:17px;height:9px}.register-page .success-box{font-size:14px;color:#b9b9b9;margin-top:130px}.register-page .success-box .success-text{line-height:29px;padding-left:46px;font-size:16px;color:#000}.register-page .success-box .success-text span{font-size:22px}.register-page .success-box .success-text #count-down{color:#ff1901}.register-page .success-box .success-text:before{content:'';display:inline-block;background-image:url(../assets/img/sprite.passport.png?v155ba59fd55);background-position:-32px -113px;width:29px;height:29px;margin-right:5px;position:relative;top:6px}.register-page .success-box .success-btn{display:block;margin:46px auto 0;width:270px;height:45px;line-height:45px;background:#ff1901;text-align:center;color:#fff;letter-spacing:2px}.back-page{font-size:14px}.back-page .content{margin:175px 0 0!important}.back-page .back-header{position:relative;width:268px;line-height:40px;margin-bottom:5px}.back-page .back-header .country-code{float:right;cursor:pointer;color:#b9b9b9}.back-page .back-header .country-code .iconfont{font-size:14px;vertical-align:middle}.back-page .title{float:left;margin:0}.back-page .title,.back-page .title2{font-size:22px;line-height:40px;color:#000;font-weight:400}.back-page .title2{margin:0 0 5px}.back-page .err-tip.captcha-err{top:10px;left:326px}.back-page .country-code-list{display:none;position:absolute;padding:0 10px;color:#000;background-color:#fff;border:1px solid #000;margin-top:5px;cursor:pointer;z-index:9;top:30px;right:0;border-radius:5px}.back-page .country-code-list li{height:20px;line-height:20px}.back-page .input-container-li{position:relative;margin-bottom:22px}.back-page .input-container-li .btn{width:270px;height:45px;line-height:45px;cursor:pointer;font-size:20px;border:none;letter-spacing:0}.back-page .input-container-li .captcha{width:160px}.back-page .input-container-li .captcha-img{height:37px;width:90px;border:0;margin-left:10px;vertical-align:middle;outline:none;cursor:pointer}.back-page .input-container-li .change-captcha{color:#ff1901;font-size:12px;text-decoration:underline;margin-left:10px;cursor:pointer}.send-email-page{font-size:14px}.send-email-page .content{margin:216px 0 0!important}.send-email-page .send-tips{line-height:28px;color:#4c4c4c;text-align:center;font-size:15px}.send-email-page .send-tips .iconfont{margin:0 8px 0 0}.send-email-page .no-find{margin:10px 0 0;line-height:20px;color:#a5a4a4;text-align:center}.send-email-page .to-my-email a{display:block;margin:53px auto 0;width:270px;height:45px;line-height:45px;background:#ff1901;text-align:center;color:#fff;letter-spacing:2px}.verification-page .content li{position:relative;margin-bottom:43px}.verification-page .content .btn{display:inline-block;border:none}.verification-page .content .head-title{font-size:24px;color:#000}.verification-page .content .pn-label{color:#828282;font-size:16px}.verification-page .content .country-code{margin:0 10px}.verification-page .content .country-code,.verification-page .content .phone-num{color:#000;font-size:16px}.verification-page .content .captcha{width:160px!important}.verification-page .content .send-captcha{width:133px;font-size:12px;position:relative;top:-1px;letter-spacing:0}.verification-page .content .err-tip{left:310px}.verification-page .content .captcha-tips{position:absolute;top:50px;color:#a5a4a4}.verification-page .content .captcha-tips .iconfont{color:#0f9acd;font-size:14px;margin:0 8px 0 0;vertical-align:12%}.reset-success-page .content{margin:255px 0 0!important}.reset-success-page .success-text{line-height:35px}.reset-success-page .success-text .iconfont{font-size:30px;color:#ee3f14}.reset-success-page .success-text span{font-size:24px;margin:0 18px}.reset-success-page .success-text #count-down{color:#ee3f14}.reset-success-page .success-btn{display:block;margin:43px auto 0;width:269px;line-height:269px;height:45px;line-height:45px;font-size:14px;color:#fff;text-align:center;background-color:#ff1901}.welcome-page{text-align:center;color:#7f7f7f}.welcome-page .content{padding-top:82px}.welcome-page .wel-title{font-size:30px;margin-bottom:30px}.welcome-page .wel-title em{font-style:normal;color:#ff1901}.welcome-page .wel-sub-title{font-size:16px;margin-bottom:60px}.welcome-page .link{display:block}.welcome-page .link span{color:#7f7f7f}.welcome-page .link-img{height:91px;width:91px;background-size:100% 100%;margin-bottom:10px}.welcome-page .go-shopping{float:left;padding-left:100px}.welcome-page .go-shopping div{background-image:url(../assets/img/passport/go-shopping.png?v155ba59f2bc)}.welcome-page .complete-info{float:right;padding-right:100px}.welcome-page .complete-info div{background-image:url(../assets/img/passport/edit-info.png?v155ba59f2bb)}.yohobindbtn{display:block;width:210px;height:45px;line-height:45px;background-color:#f02200;color:#fff;font-size:16px;text-align:center}.hide{display:none}.novisiable{visibility:hidden}.actlevel{background-color:#f02200!important;color:#fff!important}.mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:15;overflow:hidden;-webkit-overflow-scrolling:touch;outline:0}.bindwrapper{margin:0 auto;width:980px;min-height:450px;padding-top:122px}.welcomeword{width:100%;text-align:center;font-size:22px;line-height:22px;color:#545454;margin-bottom:15px}.welcomeword .yoho{color:#e12000}.safeword{width:100%;text-align:center;font-size:16px;line-height:16px;color:#545454;margin-bottom:63px}.yohobindrow{width:485px;margin:0 auto 22px;height:40px}.yohobindrow .name{float:left;text-align:right;margin-right:14px;width:96px}.yohobindrow .areatag{height:30px;line-height:30px}.yohobindrow .phonetag,.yohobindrow .setpwdtag{height:47px;line-height:47px}.yohobindrow .content{float:left;text-align:left;margin-top:0;padding-left:0}.yohobindrow .errinfo{color:#f02200;line-height:49px;margin-left:5px}.yohobindrow:after{display:block;content:'';clear:both}.sendnotify{width:260px;text-align:left;margin:0 auto 18px}.validaterow{margin:0 auto 22px;padding-left:248px}.validaterow .name{float:left;text-align:right;margin-right:14px;width:96px}.validaterow .areatag{height:30px;line-height:30px}.validaterow .phonetag{height:47px;line-height:47px}.validaterow .content{float:left;text-align:left}.validaterow .content .err-tip{left:430px}.validaterow .validatewrapper{float:left;height:45px;width:133px;text-align:center;line-height:45px;background-color:#d8d8d8;color:#000;font-size:13px;margin-left:18px}.validaterow .validatewrapper .yohobindbtn{width:133px;font-size:13px}.validaterow:after{display:block;content:'';clear:both}.validatepicrow{overflow:hidden;margin:0 auto 22px;padding-left:250px}.validatepicrow .name{float:left;text-align:right;margin-right:14px;width:96px}.validatepicrow .areatag{height:30px;line-height:30px}.validatepicrow .phonetag{height:47px;line-height:47px}.validatepicrow .content{float:left;text-align:left}.validatepicrow .validatewrapper{float:left;height:45px;text-align:center;line-height:45px;color:#000;font-size:13px;margin-left:18px}.validatepicrow .validatewrapper .yohobindbtn{width:133px;font-size:13px}.validatepicrow .change-captcha{cursor:pointer;color:#f02200;text-decoration:underline}.validatepicrow:after{display:block;content:'';clear:both}.setpwdwrapper{margin-bottom:10px;height:45px}.safelevel{width:291px;margin:0 auto;text-align:right}.safelevel,.safelevel span{height:15px;font-size:10px;color:#000}.safelevel span{width:28px;line-height:15px;background-color:#e5e5e5;margin-right:4px;padding:1px 8px}.green .color{background-color:#0f0;color:#fff}.yellow .color{background-color:#ff0;color:#fff}.red .color{background-color:red;color:#fff}.yohoselectarea{position:relative;box-sizing:border-box;width:131px;height:33px}.yohoselectarea .optionshow{width:100%;height:100%;padding-left:16px;border:1px solid #d9d9d9}.yohoselectarea .optionshow .areaname{display:block;float:left;width:110px;height:100%;line-height:33px;font-size:13px;color:#000}.yohoselectarea .optionshow .righttag{display:block;float:left;width:21px;height:100%;line-height:33px;background-color:#d8d8d8;background-image:url(../assets/img/passport/arrowbottom.png?v155ba59f2b7);background-repeat:no-repeat;background-position:50%}.yohoselectarea .optionslist{background-color:#fff;position:absolute;top:35px;left:0;width:149px;z-index:2}.yohoselectarea .optionslist .optionitem{height:33px;line-height:33px;padding-left:16px;font-size:13px}.yohoselectarea .optionslist .optionitem:hover{background-color:#dfdfdf}.yohophonewrapper{width:271px;height:47px;border:1px solid #d9d9d9;position:relative}.yohophonewrapper .areanum{float:left;height:100%;width:63px;line-height:47px;text-align:center;color:#000;background-color:#d8d8d8}.yohophonewrapper .phonenum{outline:none;box-sizing:border-box;float:left;height:45px;width:205px;line-height:38px;padding-left:8px;border:none;color:#000}.yohophonewrapper .pwdcontent,.yohophonewrapper .validatenum{width:100%}.protoctolwrapper{width:350px;margin:38px auto 0;padding-left:85px;overflow:hidden}.protoctolwrapper .choosewrapper{float:left;width:13px;height:13px;background-color:#4c4c4c;background-image:url(../assets/img/passport/choosed.png?v155ba59f2ba);background-position:50%;background-repeat:no-repeat;margin-right:14px}.protoctolwrapper .choosetag{width:110%;height:110%;display:block;opacity:0;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";margin:0}.protoctolwrapper span{float:left;color:#666;font-size:13px;line-height:14px}.protoctolwrapper .protoctol{color:#f02200;text-decoration:underline}.protoctolwrapper:after{display:block;content:'';clear:both}.confirmwrapper{overflow:hidden;margin-top:47px!important}.btnwrapper{width:350px;margin:20px auto 0;padding-left:85px}.thirdloginwrapper{margin:0 auto;width:1150px;min-height:450px;padding-top:160px}.thirdloginwrapper .safeword{margin-bottom:30px}.thirdloginwrapper .left{box-sizing:border-box;float:left;width:450px;height:318px;border-right:1px solid #e5e5e5}.thirdloginwrapper .right{box-sizing:border-box;float:right;width:696px;padding-top:64px;height:318px}.thirdloginwrapper .completeprofile,.thirdloginwrapper .gobuy{float:left;display:inline-block;width:94px;height:94px;line-height:94px;text-align:center;border-radius:50%;background-color:#f02200;color:#fff}.thirdloginwrapper .gobuy{margin-left:228px;margin-right:80px}.bindsuccesswrapper{margin:0 auto;width:1150px;min-height:450px;padding-top:160px}.bindsuccesswrapper .successwrapper{width:320px;height:29px;margin:0 auto 16px}.bindsuccesswrapper .successwrapper .successtag{display:inline-block;margin-right:28px;float:left;width:29px;height:29px;background-image:url(../assets/img/passport/bindsuccess.png?v155ba59f2b8);background-repeat:no-repeat}.bindsuccesswrapper .successwrapper .congratulation{display:inline-block;height:29px;line-height:29px;font-size:22px}.bindsuccesswrapper .info{text-align:center;font-size:16px;margin-bottom:48px}.bindsuccesswrapper .gobuynow{margin:0 auto}.bindconfrimwrapper{width:900px;height:439px;margin:-217px auto;background-color:#fff;box-sizing:border-box;padding-top:37px}.bindconfrimwrapper .topwrapper{width:281px;height:90px;margin:0 auto 32px}.bindconfrimwrapper .topwrapper .userphoto{width:90px;height:90px;vertical-align:middle;border-radius:50%;margin-right:22px}.bindconfrimwrapper .topwrapper .username{vertical-align:middle;display:inline-block;width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700;color:#545454}.bindconfrimwrapper .usertaginfo{text-align:center;font-size:18px;font-weight:700;color:#545454;margin-bottom:15px}.bindconfrimwrapper .usertagremind{text-align:center;font-size:16px;color:#888;margin-bottom:47px}.bindconfrimwrapper .otherphone{margin:0 auto 64px}.bindconfrimwrapper .logindirectly{display:block;text-align:center;text-decoration:underline;color:#f02200}.yohobindbtn[disabled]{background-color:#e5e5e5;cursor:not-allowed}.gobindwrapper{width:100%;height:45px;margin-bottom:70px}.gobindwrapper .myphone{float:left;margin-left:20px;width:193px}.gobindwrapper .logindirectly{display:inline-block}.gobindwrapper .validaterow{overflow:hidden;margin:0 auto 22px;padding-left:222px;float:left}.gobindwrapper .validaterow .name{float:left;text-align:right;margin-right:14px;width:96px}.gobindwrapper .validaterow .areatag{height:30px;line-height:30px}.gobindwrapper .validaterow .phonetag{height:47px;line-height:47px}.gobindwrapper .validaterow .content{float:left;text-align:left}.gobindwrapper .validaterow .content .validatacode{outline:none;box-sizing:border-box;float:left;height:45px;width:113px;line-height:38px;padding-left:8px;border:1px solid #d9d9d9;color:#000}.gobindwrapper .validaterow .validatewrapper{float:left;height:45px;width:133px;text-align:center;line-height:45px;background-color:#d8d8d8;color:#000;font-size:13px;margin-left:18px}.gobindwrapper .validaterow .validatewrapper .yohobindbtn{width:133px;font-size:13px}.gobindwrapper:after{display:block;content:'';clear:both}.gobindbottomwrapper{width:100%;padding-left:341px}.gobindbottomwrapper .logindirectly{display:inline-block;float:left;margin-right:36px;text-decoration:underline;color:#f02200}.pwd-tips{position:absolute;z-index:11;top:-10px;left:285px;width:160px!important;height:72px;padding-top:7px;font-size:12px;background-image:url(../assets/img/sprite.passport.png?v155ba59fd55);background-position:0 0;background-color:#fff}.pwd-tips>div{position:relative;height:22px;line-height:22px;margin-left:15px;padding-left:15px;font-size:12px;color:#b9b9b9}.pwd-tips>div i{position:absolute;width:14px;height:14px;left:-2px;top:50%;margin:-7px 0 0;background-image:url(../assets/img/sprite.passport.png?v155ba59fd55);background-position:-63px -113px}.pwd-tips>div.no{color:red}.pwd-tips>div.no i{background-position:-95px -113px}.pwd-tips>div.no i,.pwd-tips>div.yes i{background-image:url(../assets/img/sprite.passport.png?v155ba59fd55)}.pwd-tips>div.yes i{background-position:-79px -113px}.tip-panel{position:absolute;display:none;width:248px;padding:0 10px;z-index:9;background-color:#161616;border:1px solid hsla(0,0%,100%,.7);margin-top:5px;cursor:pointer;border-radius:5px}.tip-panel li{height:20px;line-height:20px;color:#b9b9b9}.err-tip{position:absolute;font-size:14px;white-space:nowrap;top:8px;left:285px;padding:6px 0;color:red}.err-tip i{display:block;float:left;height:14px;width:14px;background-image:url(../assets/img/sprite.passport.png?v155ba59fd55);background-position:-95px -113px;margin-right:5px}.err-tip a{text-decoration:underline;color:red}.backdrop{position:fixed;background:#000;width:100%;height:100%;left:0;top:0;bottom:0;right:0;opacity:.5;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=50)"}.err-info{display:none;z-index:11;position:absolute;top:-41px;left:0;height:30px;line-height:30px;color:red;background-color:#ffebeb;border:1px solid #ffbdbe;padding:0 10px}.err-info b{background:url(../assets/img/passport/angle.png?v155ba59f2b6);position:absolute;height:9px;width:17px;top:30px;left:10px}.third-relate-page{min-height:600px}.third-relate-page .relate-main{padding-top:100px}.third-relate-page .user-wrapper{width:280px;margin:0 auto}.third-relate-page .user-wrapper .user-thumb{width:94px;height:94px;border-radius:50%;display:inline-block;overflow:hidden}.third-relate-page .user-wrapper .user-thumb img{width:100%;height:100%}.third-relate-page .user-wrapper label{width:190px;line-height:94px;margin-left:20px;font-size:18px;font-weight:700;color:#545454;word-break:keep-all;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;position:absolute}.third-relate-page .remind-info{width:490px;min-height:54px;padding-left:50px;margin:35px auto;background:url(../assets/img/passport/warn.png?v155ba59f2c2) no-repeat;text-align:center}.third-relate-page .remind-info h3{font-size:18px;font-weight:700;color:#545454;margin-bottom:12px}.third-relate-page .remind-info a{color:#f22c26;text-decoration:underline;cursor:pointer}.third-relate-page .remind-info p{font-size:16px;color:#888}.third-relate-page .option-btn{text-align:center}.third-relate-page .option-btn a{width:192px;height:46px;color:#fff;font-size:18px;line-height:46px;display:inline-block;background-color:#f12200;cursor:pointer}.third-relate-page .option-btn a:first-child{margin-right:14px}.third-relate-page .remind-tips{width:390px;margin:0 auto;font-size:14px;color:#888;text-align:center;margin-top:30px;text-decoration:underline;display:block}.third-relate-page .remind-tips a{color:#f12200;cursor:pointer}.third-relate-page .remind-tips>*{text-decoration:underline}.third-relate-page .code-validate{padding-top:140px}.third-relate-page .action-link{width:440px;margin:0 auto;padding-left:180px;color:#545454;line-height:46px}.third-relate-page .action-link .code-name{margin-left:-100px;position:absolute}.third-relate-page .action-link input{width:260px;height:40px;padding-left:10px;font-size:16px;margin-right:14px}.third-relate-page .action-link label{width:140px;height:46px;font-size:14px;color:#fff;background-color:#f12200;display:inline-block;text-align:center;cursor:pointer}.third-relate-page .action-link .count-down{color:#979797;background-color:#d8d8d8;display:none}.third-relate-page .action-link .code-error{position:absolute;width:200px;display:inline-block;color:red;padding-left:10px}.third-relate-page .action-link .code-error i{display:inline-block;height:14px;width:14px;background-image:url(../assets/img/sprite.passport.png?v155ba59fd55);background-position:-95px -113px;vertical-align:middle;margin-right:5px;margin-top:-2px}.third-relate-page .waiting .get-code{display:none}.third-relate-page .waiting .count-down{display:inline-block}.third-relate-page .relate-btn{width:212px;height:46px;font-family:arial,Microsoft YaHei;color:#fff;font-size:18px;background-color:#f12200;border:0;outline:none;margin:20px 0}.guang-page{width:1150px;margin:0 auto}.guang-page .left-side{float:left;width:830px}.guang-page .right-side{float:left;width:290px;margin-left:30px}.guang-page .bg-img.blink,.guang-page img.blink{opacity:.8;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=80)"}.guang-page .ex-reco-title{color:#333;line-height:24px;padding-bottom:10px;border-bottom:1px solid #ccc;font-size:20px;font-weight:700}.guang-page .ex-reco-list{margin-top:14px}.guang-page .ex-reco-item{box-sizing:border-box;height:60px;margin-bottom:14px}.guang-page .ex-reco-item:last-child{margin-bottom:0}.guang-page .ex-reco-img{display:block;float:left;width:90px;height:60px;margin-right:5px}.guang-page .ex-reco-img span{display:block;height:100%;width:100%;background-size:cover;background-position:50%}.guang-page .ex-reco-img span img{width:100%;height:100%}.guang-page .ex-reco-context{float:left;max-width:195px;height:40px;line-height:20px;font-size:13px;color:#666;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.guang-page .ex-reco-context:hover{color:#c30}.guang-page .hot{margin-top:40px}.guang-page .hot .hot-title{color:#333;line-height:24px;padding-bottom:10px;border-bottom:1px solid #ccc;font-weight:700;font-size:20px}.guang-page .hot .hot-tag-list{margin-top:14px;max-height:150px;overflow:hidden}.guang-page .hot .hot-tag{display:inline-block;float:left;padding:5px;font-size:12px;background-color:#ccc;border:none;margin-right:10px;margin-bottom:10px;color:#fff;font-weight:700}.guang-page .hot .hot-tag:hover{background-color:#333}.guang-page .ads{margin-top:30px}.guang-page .ads .ad{display:block;box-sizing:border-box;margin-bottom:24px;width:290px}.guang-page .ads .ad img{display:block;width:100%}.guang-page .msg-content{padding:24px 0;border-bottom:1px solid #ccc;position:relative}.guang-page .msg-content .content{height:80px;line-height:24px}.guang-page .msg-content .iconfont{color:#ccc}.guang-page .msg-content .msg-img{position:relative;float:left;margin-right:26px}.guang-page .msg-content .msg-img img{display:block;width:360px;height:240px}.guang-page .msg-content .msg-img img.square{height:360px}.guang-page .msg-content .classification{position:absolute;background-color:#000;color:#fff;text-align:center;width:80px;height:32px;line-height:32px;font-size:13px;opacity:.9;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=90)";z-index:8}.guang-page .msg-content .reco{position:absolute;top:0;left:66px;height:32px;width:32px;background:url(../assets/img/guang/msg-reco.png?v155ba59f1fa);background-size:100% 100%;z-index:9}.guang-page .msg-content .msg-info{float:left;width:440px}.guang-page .msg-content .msg-title{display:block;font-size:22px;color:#333;line-height:30px;max-height:64px}.guang-page .msg-content .msg-title:hover{color:#c30}.guang-page .msg-content .content{font-size:14px;color:#666}.guang-page .msg-content .msg-app{line-height:34px;color:#999;font-size:13px}.guang-page .msg-content .author{display:block;float:left;color:#333;margin-right:22px;max-width:180px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.guang-page .msg-content .author:hover{color:#c30}.guang-page .msg-content .page-view,.guang-page .msg-content .publish-time{color:#999}.guang-page .msg-content .publish-time{margin-right:30px}.guang-page .msg-content .like-comment,.guang-page .msg-content .tags{position:absolute;bottom:24px;font-size:12px}.guang-page .msg-content .like-comment .like,.guang-page .msg-content .tags .like{margin-right:10px}.guang-page .msg-content .like-comment .like:hover *,.guang-page .msg-content .tags .like:hover *{color:#000}.guang-page .msg-content .like-comment .like-icon,.guang-page .msg-content .tags .like-icon{cursor:pointer}.guang-page .msg-content .like-comment .like-icon.liked,.guang-page .msg-content .tags .like-icon.liked{color:#000}.guang-page .msg-content .like-comment.tags,.guang-page .msg-content .tags.tags{left:386px;max-width:350px;height:20px;overflow:hidden}.guang-page .msg-content .like-comment.like-comment,.guang-page .msg-content .tags.like-comment{right:0;color:#999}.guang-page .msg-content .msg-tag{display:inline-block;text-align:center;height:20px;line-height:20px;padding:0 10px;margin-right:10px;background-color:#ccc;color:#fff}.guang-page .msg-content .msg-tag:last-child{margin-right:0}.guang-page .msg-content .msg-tag:hover{background-color:#333}.guang-page .pager{font-size:12px}.guang-page .pager a{height:24px;padding:0 9px;line-height:24px;display:inline-block;text-align:center;margin-right:8px;color:#222}.guang-page .pager a.cur{background-color:#222;color:#fff}.guang-index-page .msg-nav{border-bottom:1px solid #000;margin-top:24px;height:30px}.guang-index-page .msg-nav li{float:left;height:30px;line-height:30px;text-align:center;font-size:18px;padding:0 28px}.guang-index-page .msg-nav li a{display:block;height:100%;width:100%;color:#333}.guang-index-page .msg-nav li.actived{background-color:#111}.guang-index-page .msg-nav li.actived a{color:#fff}.guang-index-page .msg-pager{float:right;margin:20px 0}.guang-detail-page{width:1150px;margin:0 auto 95px}.guang-detail-page b{font-weight:700}.guang-detail-page i{font-style:italic}.guang-detail-page .block{margin:15px 0}.guang-detail-page .excellent-recommendation-title{margin-top:4px}.guang-detail-page .block-header{position:relative;border-bottom:1px solid #c1c1c1;font-size:18px;height:38px;line-height:38px;text-align:center;margin-bottom:24px;color:#333}.guang-detail-page .block-header .more-reco{position:absolute;right:0;color:#000;font-size:14px;text-decoration:none}.guang-detail-page .related-brand .brands{width:852px}.guang-detail-page .related-reco .recos{width:850px}.guang-detail-page .detail-title{font-size:28px;line-height:64px;border-bottom:1px dotted #c1c1c1;word-wrap:break-word}.guang-detail-page .article-author{float:left;line-height:64px}.guang-detail-page .article-author .author-avatar{clear:both;width:38px;height:64px}.guang-detail-page .article-author .author-avatar img{width:38px;height:38px;border-radius:50%;vertical-align:middle}.guang-detail-page .author-info{float:left;margin-left:10px;font-size:14px;max-width:447px}.guang-detail-page .author-info .author-name{display:block;height:64px;line-height:64px;cursor:pointer;color:#000}.guang-detail-page .author-info .author-name:hover{color:#c30}.guang-detail-page .author-info .author-introduce{color:#999}.guang-detail-page .article-status{float:right;height:64px;line-height:64px;color:#999;font-size:13px}.guang-detail-page .article-status .article-click{margin:0 25px}.guang-detail-page .article-status .article-comment{color:#c30;cursor:pointer}.guang-detail-page .article-main img{display:block;max-width:100%;margin:0 auto}.guang-detail-page .article-main .article-text{margin:2px 0 20px;line-height:28px;font-size:14px}.guang-detail-page .article-main .article-small-pic{text-align:center;font-size:0}.guang-detail-page .article-main .article-small-pic img{display:inline-block;max-width:412px}.guang-detail-page .article-main .article-small-pic img:first-child{margin:0 6px 0 0}.guang-detail-page .article-main .block:first-child{margin-top:10px}.guang-detail-page .user-handle{margin:30px 0 0;text-align:center}.guang-detail-page .user-handle ul{display:inline-block}.guang-detail-page .user-handle ul li{float:left;margin:0 15px;cursor:pointer}.guang-detail-page .user-handle ul li a{position:relative;display:block;padding:0 10px;height:36px;line-height:36px;color:#535353;font-size:0;background:#efefef;text-align:left}.guang-detail-page .user-handle ul li a i,.guang-detail-page .user-handle ul li a span{display:inline-block;font-style:normal;font-size:14px}.guang-detail-page .user-handle ul li a i{margin:0 5px 0 0;font-size:18px;opacity:.5;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=50)"}.guang-detail-page .user-handle ul li a .cancel-collect{display:none}.guang-detail-page .user-handle ul .like-status.hover i,.guang-detail-page .user-handle ul .like-status.liked i{opacity:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"}.guang-detail-page .user-handle ul .like-statis.hover .like-num{color:#000}.guang-detail-page .user-handle ul .sort-collect a i{width:21px}.guang-detail-page .user-handle ul .sort-collect.collected a i{opacity:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"}.guang-detail-page .user-handle ul .sort-collect.collected a span{display:none}.guang-detail-page .user-handle ul .sort-collect.collected a .cancel-collect{display:inline}.guang-detail-page .user-handle ul .sort-collect.hover i{opacity:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"}.guang-detail-page .user-handle ul .sort-collect.hover span{color:#000}.guang-detail-page .article-bottom-info{margin:44px 0 0;padding:0 0 10px;border-bottom:1px dotted #c1c1c1}.guang-detail-page .article-tag{float:left;width:588px}.guang-detail-page .article-tag .tag-icon{float:left;margin:0 12px 0 0;font-size:20px;font-style:normal}.guang-detail-page .article-tag ul{float:left;max-width:555px}.guang-detail-page .article-tag ul li{float:left;margin:0 10px 10px 0}.guang-detail-page .article-tag ul li a{display:block;padding:0 15px;height:20px;line-height:20px;font-size:12px;color:#fff;font-weight:700;background:#c1c1c1}.guang-detail-page .article-tag ul li:hover a{background:#333}.guang-detail-page .article-tag ul li:first-child{margin-left:0}.guang-detail-page .article-share{float:right}.guang-detail-page .article-share .title{font-size:12px}.guang-detail-page .detail-related-posts{margin:14px 0 0}.guang-detail-page .detail-related-posts li{float:left;width:264px;margin-left:19px}.guang-detail-page .detail-related-posts li a{display:block}.guang-detail-page .detail-related-posts li .bg-img{display:block;width:100%;height:173px;line-height:173px;text-align:center;font-size:0}.guang-detail-page .detail-related-posts li .bg-img img{max-width:100%;max-height:100%;vertical-align:middle}.guang-detail-page .detail-related-posts li .post-title{margin:8px 0 0}.guang-detail-page .detail-related-posts li .post-title h2{line-height:16px;font-size:14px;color:#000;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.guang-detail-page .detail-related-posts li .post-title:hover h2{color:#c30!important}.guang-detail-page .detail-related-posts li:first-child{margin-left:0}.guang-detail-page .comment-area{margin:58px 0 0}.guang-detail-page .comment-area .comment-publish{height:48px}.guang-detail-page .comment-textarea textarea{display:block;width:812px;height:86px;padding:12px;resize:none;outline:none;font-size:14px;line-height:18px;color:#535353;font-family:arial,helvetica,微软雅黑;border:1px solid #e7e7e7}.guang-detail-page .word-count-tip{display:inline-block;height:48px;line-height:48px;font-size:12px;color:#c8c8c8}.guang-detail-page .word-count-tip .exceed-count{color:red}.guang-detail-page .publish-btn{margin:10px 0 0;float:right;width:90px;height:33px;line-height:33px;text-align:center;color:#fff;font-size:14px;background:#cb3a3e;cursor:pointer}.guang-detail-page .publish-btn:hover{background:#c03234}.guang-detail-page .publish-btn.disable{background-color:#e79c9e}.guang-detail-page .comments-wrap h4{position:relative;line-height:32px;border-bottom:1px solid #e7e7e7}.guang-detail-page .comments-wrap h4 .comment-num{margin-right:5px;color:#c11e00}.guang-detail-page .comments-wrap h4 i{position:absolute;width:13px;height:7px;left:30px;bottom:-7px;background:url(../assets/img/guang/comment-icon.png?v155ba59f1f8) no-repeat}.guang-detail-page .comments-wrap .comment-pager{float:right;margin:20px 0}.guang-detail-page .comments-empty{display:none;color:#ccc;margin:20px 0;font-size:12px;line-height:12px;text-align:center}.guang-detail-page .commnets-resultwrapper{display:none}.guang-detail-page .comments-list li{margin:14px 0 0;padding:0 0 15px;border-bottom:1px dotted #e7e7e7}.guang-detail-page .comments-list li .avatar{float:left;width:40px;height:40px;overflow:hidden}.guang-detail-page .comments-list li .avatar img{display:block;width:100%;height:100%;border-radius:50%}.guang-detail-page .comments-list li .comment-info{float:left;width:774px;margin:0 0 0 16px}.guang-detail-page .comments-list li .comment-info .comment-user-name{color:#c11e00;font-size:15px;line-height:15px}.guang-detail-page .comments-list li .comment-info .comment-content{margin-top:10px;line-height:16px;font-size:12px;word-wrap:break-word}.guang-detail-page .comments-list li .comment-info .comment-time{margin:10px 0 0;color:#c8c8c8;font-size:12px;line-height:12px;clear:both}.guang-detail-page .brand{margin-right:22px;margin-bottom:20px;float:left}.guang-detail-page .brand .thumb{display:table-cell;border:1px solid #f5f5f5;height:120px;width:120px;box-sizing:border-box;text-align:center;vertical-align:middle}.guang-detail-page .brand .thumb img{display:block;max-width:120px;max-height:120px;margin:0 auto}.guang-detail-page .brand .brand-name{width:120px;font-size:13px;line-height:20px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;text-align:center;color:#333}.guang-detail-page .few-tag,.guang-detail-page .tag-container{display:none}.guang-detail-page .good-info{width:192px;margin-right:20px;margin-bottom:12px}.guang-detail-page .good-info .good-detail-img{height:auto}.guang-detail-page .good-info .good-detail-img .good-thumb,.guang-detail-page .good-info .good-detail-img img.lazy{height:257px}.guang-detail-page .good-info .good-detail-text>a{margin-top:0;line-height:36px}.guang-detail-page .good-info .good-detail-text>.price{margin-top:0}.guang-editor-page .tag-header,.guang-list-page .tag-header{height:45px;line-height:45px;color:#333;font-size:14px;font-weight:700;border-bottom:1px solid #ccc}.guang-editor-page .tag-header>span,.guang-list-page .tag-header>span{font-size:20px}.guang-editor-page .msg-pager,.guang-list-page .msg-pager{float:right;margin:20px 0}.guang-editor-page .right-side{margin-top:20px}.guang-list-page .right-side{margin-top:11px}.guang-editor-page .editor-info{padding:10px;background:#fafafa}.guang-editor-page .editor-info .author-avatar{float:left;width:80px;height:100%}.guang-editor-page .editor-info .author-avatar img{width:80px;height:80px;vertical-align:middle;border-radius:50%}.guang-editor-page .editor-info .author-info{float:left;margin:0 0 0 10px;max-width:1060px}.guang-editor-page .editor-info .author-name{margin-top:11px;font-size:20px;height:30px!important;line-height:30px!important}.guang-editor-page .editor-info .author-introduce{line-height:24px;font-size:14px;color:#999}.guang-editor-page .editor-info .intro-content{margin:15px 0 0;line-height:18px;font-size:14px;color:#999}.home-page{width:1150px;margin:10px auto 0}.home-page .slide-container{position:absolute;left:0;right:0;height:450px}.home-page .slide-thumb-container{height:510px}.home-page .slide-wrapper{position:relative;height:450px;overflow:hidden}.home-page .slide-wrapper ul{position:relative;height:100%}.home-page .slide-wrapper li{display:none;position:absolute;top:0;right:0;width:100%;height:100%}.home-page .slide-wrapper li a{display:block;height:100%;width:1150px;margin:0 auto}.home-page .slide-wrapper li img{width:100%;height:100%}.home-page .slide-wrapper:hover .slide-switch.show,.home-page .slide-wrapper li:first-child{display:block}.home-page .slide-container-placeholder{height:450px;width:100%}.home-page .slide-thumb-container-placeholder{height:510px}.home-page .slide-switch{display:block}.home-page .slide-switch a{position:absolute;top:50%;margin:-30px 0 0;width:60px;height:60px;line-height:56px;text-align:center;z-index:2;background:#fff;opacity:.55;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=55)"}.home-page .slide-switch a .iconfont{font-size:32px;color:#59585a}.home-page .slide-switch a.prev{left:50%;margin-left:-575px}.home-page .slide-switch a.next{right:50%;margin-right:-575px}.home-page .slide-switch a:hover{opacity:.9;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=90)"}.home-page .thumb-pagination{width:1148px;margin:6px auto 0;padding-left:2px}.home-page .thumb-pagination li{position:relative;float:left;margin-left:6px;width:138px;height:54px}.home-page .thumb-pagination li a{position:absolute;left:0;right:0;bottom:0;top:0;background:#000;opacity:.3;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=30)"}.home-page .thumb-pagination li img{width:100%;height:100%}.home-page .thumb-pagination li:first-child{margin:0}.home-page .thumb-pagination li.focus a{opacity:0;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"}.home-page .slide-pagination{font-size:0}.home-page .slide-pagination .slide-shade{position:absolute;left:0;right:0;top:0;bottom:0;background:#000;opacity:.3;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=30)";border-radius:13px}.home-page .slide-pagination span{position:relative;display:inline-block;margin:0 7px;width:12px;height:12px;background:#fff;cursor:pointer;opacity:.6;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=60)";border-radius:6px;z-index:2}.home-page .slide-pagination span.focus{opacity:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"}.home-page .debris-slider{height:510px;width:100%}.home-page .debris-slider .col{float:left}.home-page .debris-slider .col a{display:block}.home-page .debris-slider .left-col a,.home-page .debris-slider .right-col a{margin-bottom:10px}.home-page .debris-slider .left-col a:last-child,.home-page .debris-slider .right-col a:last-child{margin-bottom:0}.home-page .debris-slider .left-col img,.home-page .debris-slider .right-col img{height:100%;width:100%}.home-page .debris-slider .left-col{margin-right:10px}.home-page .debris-slider .left-col a{width:280px;height:120px}.home-page .debris-slider .left-col a:first-child{height:250px}.home-page .debris-slider .center-col{position:relative;width:570px;height:100%;margin-right:10px;font-size:0}.home-page .debris-slider .center-col .slide-wrapper{height:100%}.home-page .debris-slider .center-col .slide-wrapper li a{width:100%}.home-page .debris-slider .center-col .slide-switch a.prev{left:0;margin-left:0}.home-page .debris-slider .center-col .slide-switch a.next{right:0;margin-right:0}.home-page .debris-slider .center-col img{max-width:100%;max-height:100%}.home-page .debris-slider .center-col:hover .slide-switch.show{display:block}.home-page .debris-slider .right-col a{width:280px;height:120px}.home-page .debris-slider .right-col a:first-child{height:380px;margin-bottom:11px}.home-page .new-report img{display:block;width:100%;height:100%}.home-page .new-report .report-list{float:left;width:868px}.home-page .new-report .report-list li{float:left;margin:0 8px 8px 0;width:185px;height:248px;overflow:hidden}.home-page .new-report .report-list li:first-child{margin-right:7px;width:282px;height:504px}.home-page .new-report .last-item{float:left;width:282px;height:504px;overflow:hidden}.home-page .preference-brand{overflow:hidden}.home-page .preference-brand-list{margin-top:8px;width:1158px}.home-page .preference-brand-item{float:left;margin-right:8px;margin-bottom:8px}.home-page .preference-brand-item a{display:table-cell;width:185px;height:86px;text-align:center;vertical-align:middle}.home-page .preference-brand-item img{display:block;max-width:100%;max-height:100%;margin:0 auto}.home-page .preference-more{float:left;width:185px;height:86px;line-height:100px;text-align:center;color:#000;font-size:16px}.home-page .img-slider-wrapper{position:relative;width:100%;height:558px;background:#8ae6e0;overflow:hidden}.home-page .img-slider-wrapper .img-brand-switch{display:block}.home-page .img-slider-wrapper .img-brand-switch a{position:absolute;top:50%;font-size:36px;color:#fff}.home-page .img-slider-wrapper .img-brand-switch a.next{right:30px}.home-page .img-slider-wrapper .img-brand-switch a.prev{left:30px}.home-page .img-container-landscape{box-sizing:border-box;margin:86px auto 0;width:982px;height:433px;overflow:hidden}.home-page .img-container-landscape .img-list{width:1000px;height:100%}.home-page .img-container-landscape .img-item{float:left;box-sizing:border-box;width:320px;height:100%;margin-right:10px}.home-page .img-container-landscape .img-item img{width:100%;height:100%}.home-page .img-brand{position:relative;width:100%;height:175px;overflow:hidden}.home-page .img-brand ul{width:1158px}.home-page .img-brand li{float:left;margin:0 8px 0 0;width:378px;height:175px;line-height:175px;overflow:hidden;font-size:0;text-align:center}.home-page .img-brand li img{max-width:100%;max-height:100%;vertical-align:middle}.home-page .img-brand .img-brand-switch{display:none}.home-page .img-brand .img-brand-switch a{position:absolute;top:50%;margin:-20px 0 0;width:40px;height:40px;line-height:40px;text-align:center;z-index:2;background:#fff;opacity:.55;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=55)"}.home-page .img-brand .img-brand-switch a.prev{left:0}.home-page .img-brand .img-brand-switch a.next{right:0}.home-page .img-brand .img-brand-switch a:hover{opacity:.9;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=90)"}.home-page .img-brand:hover .img-brand-switch{display:block}.home-page .logo-brand{width:100%;height:282px;overflow:hidden}.home-page .logo-brand ul{width:1158px}.home-page .logo-brand li{float:left;margin:8px 8px 0 0;width:185px;height:86px;line-height:86px;font-size:0;text-align:center}.home-page .logo-brand li img{max-width:100%;max-height:100%;vertical-align:middle}.home-page .logo-brand .logo-brand-switch{position:relative;background:url(../assets/img/index/logo-brand-line.png?v155ba59f298) no-repeat 50%;line-height:normal}.home-page .logo-brand .logo-brand-switch .iconfont{position:absolute;left:50%;font-size:32px}.home-page .logo-brand .logo-brand-switch .iconfont.prev{top:10px;margin-left:-48px}.home-page .logo-brand .logo-brand-switch .iconfont.next{bottom:12px;margin-left:20px}.home-page .logo-brand .brand-more{font-size:16px}.home-page .logo-brand .brand-more:hover{text-decoration:underline}.home-page .logo-brand.logos-10{height:188px}.home-page .categorys-list ul{width:1158px}.home-page .categorys-list li{float:left;margin:0 8px 8px 0;width:185px;height:248px}.home-page .categorys-list li img{display:block;width:100%;height:100%}.home-page .categorys-list li.cate-item0{width:185px;height:504px}.home-page .categorys-list li.cate-item1{width:377px;height:504px}.home-page .floor-header{position:relative;margin:80px 0 40px}.home-page .floor-header .floor-title{margin:0 auto;width:298px;height:31px;line-height:31px;border:1px solid #000;font-size:16px;text-align:center}.home-page .floor-header .header-navs{position:absolute;padding:10px 0;top:0;right:0;font-size:14px}.home-page .floor-header .header-navs li{float:left;padding:1px 15px;border-left:1px solid #ccc}.home-page .floor-header .header-navs li a{color:#333}.home-page .floor-header .header-navs li:first-child{border-left:none}.home-page .floor-header .header-navs li:hover{text-decoration:underline}.g-list li{float:left}.g-list li a{position:relative;display:block;overflow:hidden}.g-list li a img,.g-mask{width:100%;height:100%}.g-mask{display:block;position:absolute;z-index:1;background:#000;opacity:.5;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";overflow:hidden;transition:opacity .6s}.g-title{display:block;text-align:center;font-weight:700;line-height:1.5;width:100%;margin-top:14px}.home-page .tpl-recommend{width:100%;position:relative}.home-page .tpl-recommend a{display:block}.home-page .tpl-recommend a img{display:block;width:100%;height:100%}.home-page .tpl-recommend .tpl-body{margin-bottom:8px}.home-page .tpl-recommend .tpl-nav{float:left;overflow:hidden}.home-page .tpl-recommend .tpl-nav .tpl-keywords{margin-bottom:8px}.home-page .tpl-recommend .tpl-nav .tpl-category{padding:10px 0;background-color:#f8f8f8;overflow:hidden}.home-page .tpl-recommend .tpl-nav .tpl-category a{float:left;width:50%;text-align:center;color:#000;overflow:hidden}.home-page .tpl-recommend .tpl-brands{float:left;overflow:hidden;margin-left:8px}.home-page .tpl-recommend .tpl-brands li{margin-top:8px}.home-page .tpl-recommend .tpl-types{float:left;overflow:hidden;margin-top:-8px;width:579px}.home-page .tpl-recommend .tpl-types li{float:left;margin-left:8px;margin-top:8px}.home-page .tpl-recommend .tpl-types li a{width:185px;height:248px}.home-page .tpl-recommend .tpl-products{overflow:hidden;margin-left:-10px}.home-page .tpl-recommend .tpl-products li{float:left;margin-left:10px}.home-page .tpl-recommend .tpl-products li a{width:222px;height:298px}.home-page .tpl-recommend .tpl-nav{width:185px}.home-page .tpl-recommend .tpl-nav .keywords0,.home-page .tpl-recommend .tpl-nav .keywords1,.home-page .tpl-recommend .tpl-nav .keywords2{margin-bottom:10px;height:76px}.home-page .tpl-recommend .tpl-nav .keywords2{margin-bottom:0}.home-page .tpl-recommend .tpl-nav .tpl-category{height:228px}.home-page .tpl-recommend .tpl-nav .tpl-category a{height:38px;line-height:38px;font-size:14px}.home-page .tpl-recommend .tpl-brands{width:378px;height:512px}.home-page .tpl-recommend .tpl-brands li a{height:248px}.min-screen .home-page .tpl-recommend .tpl-nav{width:158px}.min-screen .home-page .tpl-recommend .tpl-nav .keywords0,.min-screen .home-page .tpl-recommend .tpl-nav .keywords1,.min-screen .home-page .tpl-recommend .tpl-nav .keywords2{margin-bottom:8px;height:65px}.min-screen .home-page .tpl-recommend .tpl-nav .keywords2{margin-bottom:0}.min-screen .home-page .tpl-recommend .tpl-nav .tpl-category{height:192px}.min-screen .home-page .tpl-recommend .tpl-nav .tpl-category a{height:32px;line-height:32px;font-size:12px}.min-screen .home-page .tpl-recommend .tpl-nav .tpl-category a:hover{text-decoration:underline}.min-screen .home-page .tpl-recommend .tpl-brands{width:324px;height:432px}.min-screen .home-page .tpl-recommend .tpl-brands li a{height:212px}.min-screen .home-page .tpl-recommend .tpl-types{width:498px}.min-screen .home-page .tpl-recommend .tpl-types li a{width:158px;height:212px}.min-screen .home-page .tpl-recommend .tpl-products li a{width:190px;height:254px}.home-page .singlehot{overflow:hidden;margin-left:-8px}.home-page .singlehot li{margin-left:8px;margin-bottom:8px}.home-page .singlehot li a{width:185px;height:248px}.home-page .singlehot .impo1,.home-page .singlehot .impo9{width:378px}.home-page .floor-ad a{display:block;height:129px}.home-page .floor-ad a img{display:block;width:100%;height:100%}.home-page .goods-container{margin-right:-10px;width:inherit;padding-top:0}.home-page .goods-container .good-info{margin-bottom:0;width:280px;height:485px}.home-page .goods-container .good-detail-img{height:374px}.home-page .goods-container .good-detail-text{text-align:center}.home-page .adbanner{margin-top:12px}.home-page .adbanner a{height:150px}.min-screen .home-page .singlehot li a{width:158px;height:212px}.min-screen .home-page .singlehot .impo1,.min-screen .home-page .singlehot .impo9{width:323px}.min-screen .home-page .goods-container .good-info{width:240px;height:412px}.min-screen .home-page .goods-container .good-info .good-detail-img{height:320px}.home-page .commodity .commodity-list{margin-left:-10px}.home-page .commodity .commodity-list a{height:465px;width:280px}.home-page .commodity .commodity-list li{margin-left:10px}.home-page .commodity .commodity-list i{position:absolute;bottom:0;width:100%;height:20px;background:#ffac5b;color:#fff;line-height:20px;text-align:center;font-size:12px}.home-page .commodity .commodity-list i.top{position:absolute;top:10px;right:10px;background-color:#ff575c;color:#fff;border-radius:30px;z-index:2;height:60px;width:60px;line-height:60px;font-size:20px}.home-page .commodity .commodity-list .commodity-img{position:relative;height:374px}.home-page .commodity .commodity-list p.commodity-name{font-size:12px;color:#000;text-align:center;margin-top:14px;line-height:18px}.home-page .commodity .commodity-list p.commodity-price{position:relative;margin:3px 0 0;text-align:center;line-height:20px;color:#000}.home-page .commodity .commodity-list p.commodity-price span{display:inline-block;font-size:12px}.home-page .commodity .commodity-brands{margin-left:-8px}.home-page .commodity .commodity-brands a{float:left;margin-left:8px;display:block;width:185px;height:86px}.home-page .commodity .commodity-brands a img{width:100%;height:100%}.home-page .commodity .loading{position:relative;width:100%;text-align:center;padding-top:40px}.home-page .commodity .loading a{display:block;height:35px;width:120px;margin:0 auto 40px;background-color:#000;color:#fff;font-size:14px;line-height:35px;text-align:center}.min-screen .home-page .commodity .commodity-list a{height:400px;width:240px}.min-screen .home-page .commodity .commodity-list .commodity-img{height:320px}.min-screen .home-page .commodity .commodity-list i.top{height:52px;width:52px;line-height:52px;font-size:14px}.min-screen .home-page .commodity .commodity-brands a{width:158px;height:74px}.home-page .slide-accordion{overflow:hidden;position:relative;height:400px}.home-page .slide-accordion a{position:relative;display:block}.home-page .slide-accordion a img{display:block;width:100%;height:100%}.home-page .slide-accordion ul{position:absolute;left:-5px}.home-page .slide-accordion li{position:absolute;border-left:5px solid #fff}.home-page .slide-accordion li a{width:650px;height:400px}.home-page .slide-accordion .g-mask{opacity:.2;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=20)"}.home-page .slide-accordion .g-mask:hover{opacity:0;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"}.min-screen .home-page .slide-accordion{height:342px}.min-screen .home-page .slide-accordion li a{width:558px;height:342px}.boys .tpl-nav .keywords0{margin-bottom:10px!important;height:152px!important}.boys .tpl-nav .keywords1{height:86px!important}.boys .tpl-nav .tpl-category a{height:38px!important;line-height:38px!important;font-size:14px!important}.boys .tpl-brands{margin-top:-8px!important}.boys .goods-container .good-info,.lifestyle .goods-container .good-info{width:222px!important;height:408px!important}.boys .goods-container .good-info .good-detail-img,.lifestyle .goods-container .good-info .good-detail-img{height:298px!important}.min-screen .boys .tpl-nav .keywords0{margin-bottom:8px!important;height:130px!important}.min-screen .boys .tpl-nav .keywords1{margin-bottom:0!important;height:74px!important}.min-screen .boys .tpl-brands{margin-top:-8px!important}.min-screen .boys .goods-container .good-info,.min-screen .lifestyle .goods-container .good-info{width:188px;height:360px}.min-screen .boys .goods-container .good-info .good-detail-img,.min-screen .lifestyle .goods-container .good-info .good-detail-img{height:255px}.min-screen .home-page{width:990px}.min-screen .home-page .slide-container{height:387px}.min-screen .home-page .slide-container img{display:block}.min-screen .home-page .slide-thumb-container{height:440px}.min-screen .home-page .slide-container-placeholder{height:387px}.min-screen .home-page .slide-thumb-container-placeholder{height:440px}.min-screen .home-page .slide-wrapper{height:387px}.min-screen .home-page .slide-wrapper li a{width:990px}.min-screen .home-page .slide-switch{display:block}.min-screen .home-page .slide-switch a.prev{margin-left:-495px}.min-screen .home-page .slide-switch a.next{margin-right:-495px}.min-screen .home-page .slide-switch a:hover{opacity:.9;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=90)"}.min-screen .home-page .thumb-pagination{width:990px;margin:7px auto 0;padding:0}.min-screen .home-page .thumb-pagination li{width:118px;height:46px}.min-screen .home-page .debris-slider{height:440px}.min-screen .home-page .debris-slider .left-col{margin-right:9px}.min-screen .home-page .debris-slider .left-col a{width:240px;height:103px}.min-screen .home-page .debris-slider .left-col a:first-child{height:214px}.min-screen .home-page .debris-slider .center-col{width:492px;margin-right:9px}.min-screen .home-page .debris-slider .right-col a{width:240px;height:103px}.min-screen .home-page .debris-slider .right-col a:first-child{height:326px;margin-bottom:10px}.min-screen .home-page .new-report .report-list{width:748px}.min-screen .home-page .new-report .report-list li{width:158px;height:212px}.min-screen .home-page .new-report .last-item,.min-screen .home-page .new-report .report-list li:first-child{width:242px;height:432px}.min-screen .home-page .preference-brand-list{width:998px}.min-screen .home-page .preference-brand-item{margin-right:7px}.min-screen .home-page .preference-brand-item a{width:159px;height:74px}.min-screen .home-page .preference-more{width:159px;height:74px;line-height:90px}.min-screen .home-page .img-slider-wrapper{height:480px}.min-screen .home-page .img-container-landscape{margin:73px auto 0;width:844px;height:370px}.min-screen .home-page .img-container-landscape .img-item{width:275px;height:100%;margin-right:9px}.min-screen .home-page .img-brand{height:150px}.min-screen .home-page .img-brand ul{width:998px}.min-screen .home-page .img-brand li{width:325px;height:150px;line-height:150px}.min-screen .home-page .logo-brand{height:246px}.min-screen .home-page .logo-brand ul{width:998px}.min-screen .home-page .logo-brand li{margin:8px 8px 0 0;width:158px;height:74px;line-height:74px}.min-screen .home-page .logo-brand .logo-brand-switch .iconfont{font-size:24px}.min-screen .home-page .logo-brand .logo-brand-switch .iconfont.prev{top:-12px}.min-screen .home-page .logo-brand .logo-brand-switch .iconfont.next{bottom:-12px}.min-screen .home-page .logo-brand.logos-10{height:164px}.min-screen .home-page .categorys-list ul{width:1004px}.min-screen .home-page .categorys-list li{margin:0 7px 7px 0;width:161px;height:214px}.min-screen .home-page .categorys-list li.cate-item0{width:160px;height:435px}.min-screen .home-page .categorys-list li.cate-item1{width:326px;height:435px}.min-screen .home-page .floor-header{margin:50px 0 30px}.min-screen .home-page .floor-header .header-navs li{padding:1px 10px}.brands .path-nav{border-bottom:none;margin-bottom:0;padding-top:10px;padding-bottom:20px}.brands .brands-tabs{position:relative}.brands .brands-tabs a{display:block}.brands .brands-tabs a img{width:100%;height:100%;display:block}.brands .brands-tabs li{float:left}.brands .brands-tabs li p{display:block;font-size:30px;text-align:center;color:#dedede;position:absolute;top:50%;width:100%;margin-top:-15px;z-index:3}.brands .brands-tabs li .g-mask{opacity:.4;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=40)"}.brands .brands-tabs li .g-mask-on,.brands .brands-tabs li:hover .g-mask{opacity:0;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"}.brands .brands-tabs .hover-contain{position:relative;border-bottom:1px solid #dfdfdf}.brands .brands-tabs .hover-contain .hoverarr{background-color:#3d3d3d;position:absolute;bottom:0;z-index:7}.brands .brands-tabs .hover-contain .hoverarr i{width:0;height:0;position:absolute;left:50%;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #3d3d3d;top:-6px;margin-left:-3px}.brands .header-navs{margin-right:-15px}.brands .category-nav{border:2px solid #222;padding-left:16px;height:44px;line-height:44px;font-size:12px;font-weight:700;position:relative;z-index:9;background-color:#fff}.brands .category-nav span{display:inline-block;margin-right:15px}.brands .category-nav a{display:inline-block;padding:0 7px;text-align:center;color:#222;cursor:pointer}.brands .category-fix{position:fixed;top:0;z-index:9;margin-top:0!important}.brands .brands-list dl{position:relative;border-top:1px dotted #999;padding:20px 0}.brands .brands-list dt{position:absolute;width:130px;font-weight:700;font-size:16px;text-align:center;top:50%;margin-top:-9px}.brands .brands-list dd{margin-left:130px}.brands .brands-list dd li{float:left;display:block;width:170px;height:18px}.brands .brands-list dd a{color:#666;line-height:18px;font-size:12px;position:relative}.brands .brands-list dd a span{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block}.brands .brands-list dd a span:hover{text-decoration:underline}.brands .brands-list dd .brands-dialog{display:inline;position:relative}.brands .brands-list dd .hot{font-weight:700;color:#222}.brands .brands-list dd i{position:relative;top:-4px;color:#e01;font-size:14px}.brands .brands-category{width:1150px}.brands .brands-tabs{width:100%}.brands .brands-tabs li{margin-left:10px}.brands .brands-tabs li a{position:relative;width:222px;height:180px}.brands .brands-tabs li:first-child{margin-left:0}.brands .brands-tabs .hover-contain{height:30px}.brands .brands-tabs .hover-contain .hoverarr{height:5px;width:222px}.brands .brands-ad,.brands .brands-logo{margin:20px 0}.brands .brands-ad li{float:left;margin-left:10px}.brands .brands-ad li img{display:block;width:280px;height:280px}.brands .brands-ad li:first-child{margin-left:0}.brands .brands-ad li:first-child img{width:570px}.brands .brands-logo a{float:left;margin-left:26px}.brands .brands-logo a img{display:block;width:91px;height:38px}.brands .brands-logo a:first-child{margin-left:0}.brands .list-floor{width:1160px}.brands .brandfloor .g-list{margin-top:-32px}.brands .brandfloor li{margin-right:8px;margin-top:32px}.brands .brandfloor li a{width:378px;height:250px}.brands .singlegoods .g-list{margin-top:-10px}.brands .singlegoods li{margin-right:10px;margin-top:10px}.brands .singlegoods li a{width:280px;height:374px}.brands .singlegoods .singlegoods-title{position:absolute;left:0;bottom:0;height:50px;width:100%}.brands .singlegoods .singlegoods-title p{position:absolute;z-index:2;top:0;left:0;display:block;width:100%;height:100%;line-height:50px;font-size:18px;text-align:center;color:#fff}.brands .video .g-list{margin-top:-10px}.brands .video li{margin-right:8px;margin-top:10px}.brands .video li a{width:378px;height:242px}.brands .video .video-play{display:block;position:absolute;left:50%;top:50%;margin-left:-30px;margin-top:-28px;width:60px;height:56px;background-image:url(../assets/img/index/play.png?v155ba59f29a)}.brands .video .video-title{position:absolute;left:0;bottom:0;height:32px;width:100%}.brands .video .video-title p{position:absolute;z-index:2;top:0;left:0;display:block;width:100%;height:100%;font-size:14px;line-height:32px;text-align:center;color:#fff}.brands .news{margin-bottom:40px}.brands .news .news-pic{position:relative;float:left;width:764px;height:436px}.brands .news .news-pic .slide-container{height:100%}.brands .news .news-pic .slide-container li a{height:100%;width:764px}.brands .news .news-pic .slide-container .slide-wrapper{height:100%}.brands .news .news-pic .slide-container .slide-switch{display:none}.brands .news .news-pic .slide-container .slide-switch .prev{left:0;margin-left:0}.brands .news .news-pic .slide-container .slide-switch .next{right:0;margin-right:0}.brands .news .news-pic .slide-container .slide-switch.show{display:block}.brands .news .news-pic .slide-tips{position:absolute;left:0;bottom:0;height:30px;width:100%;background:#000;opacity:.8;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=80)"}.brands .news .news-pic .slide-tips p{position:absolute;left:18px;z-index:2;height:30px;font-size:14px;line-height:30px;color:#fff}.brands .news .news-pic .slide-pagination{right:0;left:auto;bottom:0}.brands .news .news-pic .slide-pagination .slide-shade{opacity:0;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";background:none}.brands .news .news-pic .slide-pagination span{margin-top:3px}.brands .news .news-txt{padding:20px 16px;float:right;border:1px solid #000;overflow:hidden}.brands .news .news-txt ul{height:100%}.brands .news .news-txt li{position:relative;display:block;margin-bottom:10px;margin-left:20px}.brands .news .news-txt a{font-size:14px;line-height:27px;cursor:pointer;color:#010101;display:block}.brands .news .news-txt a:hover{color:#fff;background:#000;padding-left:12px;transition:padding .4s}.brands .news .news-txt i{position:absolute;top:0;left:-26px;font-size:22px}.brands .news .news-txt{width:342px;height:394px}.brands .ads{margin:40px 0}.brands .ads li{margin-right:10px;margin-bottom:10px}.brands .ads li a{width:280px}.brands .ads li a img{height:160px}.brands .ads li .name{font-size:14px}.brands .ads li .des{font-size:12px}.brands .brands-items{margin:25px auto}.brands .brands-items .brands-item{float:left;padding:15px 0;width:50%}.brands .brands-items a.brands-pic{float:left;width:280px;height:136px;display:block}.brands .brands-items a.brands-pic img{width:100%;height:100%}.brands .brands-items .brand-info{float:right;padding:0 20px;width:255px;color:#000}.brands .brands-items .brand-info h3{width:100%;font-size:20px;line-height:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.brands .brands-items .brand-info .brand-desc{padding:12px 0;height:92px;font-size:14px;line-height:22px;overflow:hidden}.brands .pagination{margin:40px 0 80px;text-align:center}.brands .pagination a{height:24px;padding:0 9px;line-height:24px;display:inline-block;text-align:center;margin-right:8px;color:#222;font-size:12px}.brands .pagination a i{position:relative;top:-1px;font-size:10px;transform:scale(.8)}.brands .pagination a.cur{background:#222;color:#fff}.min-screen .brands .header-navs{margin-right:-10px}.min-screen .brands .sit-nav{padding-top:10px;font-size:12px}.min-screen .brands .sit-nav .sep{margin:0 6px}.min-screen .brands .brands-category{width:990px}.min-screen .brands .brands-tabs li a{width:190px;height:154px}.min-screen .brands .brands-tabs .hover-contain{height:25px}.min-screen .brands .brands-tabs .hover-contain .hoverarr{height:4px;width:190px}.min-screen .brands .brands-ad li img{width:240px;height:240px}.min-screen .brands .brands-ad li:first-child img{width:490px}.min-screen .brands .brands-logo a{margin-left:10px}.min-screen .brands .brands-logo a img{width:90px;height:37px}.min-screen .brands .brands-logo a:first-child{margin-left:0}.min-screen .brands .list-floor{width:1000px}.min-screen .brands .brandfloor .g-list{margin-top:-26px}.min-screen .brands .brandfloor li{margin-right:9px;margin-top:26px}.min-screen .brands .brandfloor li a{width:324px;height:214px}.min-screen .brands .singlegoods .g-list{margin-top:-10px}.min-screen .brands .singlegoods li{margin-right:10px;margin-top:10px}.min-screen .brands .singlegoods li a{width:240px;height:324px}.min-screen .brands .singlegoods .singlegoods-title{position:absolute;left:0;bottom:0;height:50px;width:100%}.min-screen .brands .singlegoods .singlegoods-title p{position:absolute;z-index:2;top:0;left:0;display:block;width:100%;height:100%;line-height:50px;font-size:18px;text-align:center;color:#fff}.min-screen .brands .video .g-list{margin-top:-10px}.min-screen .brands .video li{margin-right:9px;margin-top:10px}.min-screen .brands .video li a{width:324px;height:206px}.min-screen .brands .video .video-play{display:block;position:absolute;left:50%;top:50%;margin-left:-30px;margin-top:-28px;width:60px;height:56px;background-image:url(../assets/img/index/play.png?v155ba59f29a)}.min-screen .brands .video .video-title{position:absolute;left:0;bottom:0;height:30px;width:100%}.min-screen .brands .video .video-title p{position:absolute;z-index:2;top:0;left:0;display:block;width:100%;height:100%;font-size:14px;line-height:30px;text-align:center;color:#fff}.min-screen .brands .news .news-pic{width:660px;height:376px}.min-screen .brands .news .news-pic .slide-container,.min-screen .brands .news .news-pic .slide-container img{height:376px}.min-screen .brands .news .news-txt{width:284px;height:334px}.min-screen .brands .news .news-txt li{margin-bottom:13px}.min-screen .brands .ads{margin-bottom:30px}.min-screen .brands .ads li{margin-right:10px;margin-bottom:10px}.min-screen .brands .ads li a{width:240px}.min-screen .brands .ads li a img{height:138px}.min-screen .brands .ads li .name{font-size:14px}.min-screen .brands .ads li .des{font-size:12px}.min-screen .brands .brands-items a.brands-pic{width:240px;height:116px}.min-screen .brands .brands-items .brand-info{width:212px}.min-screen .brands .brands-items .brand-info .brand-desc{height:72px}.brands-layer{position:absolute;z-index:9;top:-83px;left:15px;width:325px;height:287px;background:url(../assets/img/index/brands-layer.png?v155ba59f297) no-repeat;font-weight:400}.brands-layer .layer-content{padding:20px 20px 20px 35px}.brands-layer .layer-content .title{font-size:24px;line-height:24px;border-bottom:1px solid #ccc;padding-bottom:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.brands-layer .layer-content .desc{margin:5px 0;height:72px;overflow:hidden}.brands-layer .layer-content .desc img{width:80px;height:50px;margin:3px 5px 0 0;float:left}.brands-layer .layer-content .desc .right{width:180px;float:right;font-size:12px;line-height:150%;max-height:80px}.brands-layer .layer-content .featured{font-size:16px;margin-right:-15px}.brands-layer .layer-content .featured img{height:100px;width:80px;float:left;margin:15px 15px 0 0}.brands-layer-right{background:url(../assets/img/index/brands-layer.png?v155ba59f297) no-repeat 0 -287px;left:-325px;top:-83px}.brands-layer-right .layer-content{padding:20px 35px 20px 20px}.coupon-page{width:1150px;margin:10px auto 0}.coupon-page .slide-container{position:relative}.coupon-page .slide-wrapper{position:relative;height:450px;overflow:hidden}.coupon-page .slide-wrapper ul{position:relative;height:100%}.coupon-page .slide-wrapper li{display:none;position:absolute;top:0;right:0;width:100%;height:100%}.coupon-page .slide-wrapper li a{display:block;height:100%;width:1150px;margin:0 auto}.coupon-page .slide-wrapper li img{width:100%;height:100%}.coupon-page .slide-switch,.coupon-page .slide-wrapper:hover .slide-switch.show,.coupon-page .slide-wrapper li:first-child{display:block}.coupon-page .slide-switch a{position:absolute;top:50%;margin:-30px 0 0;width:60px;height:60px;line-height:56px;text-align:center;z-index:2;background:#fff;opacity:.55;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=55)"}.coupon-page .slide-switch a .iconfont{font-size:32px;color:#59585a}.coupon-page .slide-switch a.prev{left:50%;margin-left:-575px}.coupon-page .slide-switch a.next{right:50%;margin-right:-575px}.coupon-page .slide-switch a:hover{opacity:.9;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=90)"}.coupon-page .title{width:300px;margin:80px auto 40px;text-align:center;border:1px solid #000;height:31px;line-height:31px;position:relative}.coupon-page .title span{margin:5px}.coupon-page .coupon{display:inline-block;position:relative;width:282px;height:258px;margin-right:2px}.coupon-page .coupon img{width:100%;height:100%}.coupon-page .coupon .coupon-mask{width:100%;height:259px;background-color:rgba(0,0,0,.6);position:absolute;top:0;left:0;right:0;z-index:8}.coupon-page .coupon .info{width:78px;height:78px;position:absolute;right:2px;bottom:-1px}.coupon-page .coupon .info>div{width:100%;height:38px;font-size:16px;color:#fff;text-align:center;position:absolute;top:50%;margin-top:-19px}.coupon-page .coupon .info p{margin-bottom:5px}.coupon-page .coupon .info .guang{width:50px;height:18px;line-height:18px;font-size:12px;background-color:#fff;color:#d0021b;margin:0 auto}.me-page{width:990px;margin:0 auto 20px}.me-page .home-path{height:40px;line-height:40px;color:#ccc;font-size:12px}.me-page .home-path .path-icon{float:left;display:block;background-image:url(../assets/img/sprite.home.png?v155ba59fd56);background-position:-22px -24px;width:15px;height:15px;margin-right:10px;margin-top:11px}.me-page .home-path a,.me-page .home-path span{color:#666}.me-page .home-path span{font-weight:700}.me-page .block{border:1px solid #dedede;border-radius:2px}.me-page .me-main .block{margin-bottom:10px}.me-page .title{height:40px;line-height:40px;padding:0 8px;background-color:#e3e3e3;background-position:10px 12px;background-repeat:no-repeat}.me-page .user-thumb{text-align:center;padding:20px 0;background:#f8f8f8}.me-page .user-thumb .thumb-bg{width:100px;height:100px;padding:5px 7px 7px 5px;margin:0 auto;background:url(../assets/img/home/thumb-bg.png?v155ba59f293)}.me-page .user-thumb .default-user-thumb,.me-page .user-thumb img{width:100px;height:100px}.me-page .user-thumb .default-user-thumb{background:url(../assets/img/home/default-thumb.png?v155ba59f257) no-repeat;background-size:100%}.me-page .home-navigation{float:left;width:180px;margin-right:8px}.me-page .home-navigation .ucenter{background-image:url(../assets/img/home/ucenter.png?v155ba59f294)}.me-page .nav-group .row{height:38px;line-height:38px;border-top:1px solid #e2e2e2;padding-left:35px;color:#666;background:#f8f8f8;font-size:12px}.me-page .nav-group .row a{display:inline-block;color:#666}.me-page .nav-group .row span{color:#e0012b;font-weight:700}.me-page .nav-group .row.active{background:#636363}.me-page .nav-group .row.active a{color:#fff}.me-page .nav-group .row.first{border-top:none}.me-page .nav-group li:hover{background:#fff;color:#000}.me-page .nav-group .nav-title{font-size:14px;border-top:1px solid #ccc;border-bottom:1px solid #ccc;color:#333;background:#e6e6e6;padding-left:0}.me-page .nav-group .nav-title .title-icon{float:left;display:block;width:15px;height:15px;background-image:url(../assets/img/sprite.home.png?v155ba59fd56);background-position:-48px 0;margin:10px 10px 0}.me-page .me-main{float:left;width:800px}.me-page .me-pager{width:778px;height:22px;line-height:22px;background:#f3f3f3;border-top:1px solid #e3e3e3;padding:10px;font-size:12px;color:#666}.me-page .me-pager .check-all{margin:0;vertical-align:text-top;margin-right:5px}.me-page .me-pager .del-checked{cursor:pointer;margin-left:5px}.me-page .me-pager .del-checked:hover{color:#468fa2;text-decoration:underline}.me-page .me-pager a{border:1px solid #cecece;padding:0 6px;height:18px;line-height:18px;border-radius:2px;margin-right:4px;background-color:#fff}.me-page .me-pager a.cur,.me-page .me-pager a:hover{background-color:#222;color:#fff}.me-page .me-pager .pager-html{display:inline}.me-page .help-us{height:20px;line-height:20px;font-size:12px}.me-page .help-us a{color:#468fa2}.me-page .help-us .help-us-icon{display:inline-block;width:12px;height:12px;margin-right:8px;margin-top:-3px;vertical-align:middle;background-image:url(../assets/img/sprite.home.png?v155ba59fd56);background-position:-48px -17px}.me-page .empty-tip{padding:200px 0;text-align:center;overflow:hidden}.me-page .tabs{height:25px;margin:10px;background:url(../assets/img/home/tab.png?v155ba59f292) repeat-x 0 -25px;font-size:12px;line-height:25px;padding-left:10px}.me-page .tabs li{display:block;float:left;width:88px;height:25px;text-align:center;background:url(../assets/img/home/tab.png?v155ba59f292) no-repeat -92px 0;margin-right:3px;color:#333}.me-page .tabs li.active{background-position:0 0;font-weight:700}.me-page .tabs a{display:block;width:100%;height:100%}.me-page .table-header{height:30px;line-height:30px;background:#efefef;border:1px solid #e6e6e6;padding:0 10px}.me-page .table-header>span{display:block;float:left;text-align:center}.me-page .advance-buy-tag,.me-page .freebie-tag,.me-page .presall-tag,.me-page .virtual-good-tag{display:block;position:absolute;bottom:0;left:0;right:0;height:15px;line-height:16px;text-align:center;color:#fff}.me-page .freebie-tag{background:#88be51}.me-page .advance-buy-tag{background:#fc1264}.me-page .presall-tag,.me-page .virtual-good-tag{background:#333}.default-me-page .message-tip{box-sizing:border-box;width:800px;height:40px;line-height:40px;padding:0 10px;margin-bottom:10px;background:#faf6d9;border:1px solid #f5e8c5;border-radius:2px;font-weight:700;font-size:12px}.default-me-page .message-tip a{color:#468fa2;font-weight:400}.default-me-page .message-tip b{color:#e8044f;margin-right:5px}.default-me-page .message-tip .close{float:right;cursor:pointer;font-weight:400}.default-me-page .more{display:block;float:right;height:21px;line-height:22px;width:63px;margin-top:8px;padding-right:8px;font-size:12px;color:#fdfdfd;text-align:center;border-radius:2px;background:url(../assets/img/home/btn-more.png?v155ba59f249) no-repeat}.default-me-page .brands ul{padding:10px 0 10px 10px}.default-me-page .brands ul li{float:left;width:122px;height:103px;border:1px solid #f6f6f6;margin-right:7px;overflow:hidden}.default-me-page .brands ul img{width:80px;height:50px;display:block;vertical-align:middle;margin:15px auto}.default-me-page .brands ul .brand-name{display:block;width:114px;height:18px;line-height:18px;color:#333;background:#f4f4f4;font-size:12px;text-align:center;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;margin:0 auto}.default-me-page .new-arrival{overflow:hidden}.default-me-page .new-arrival .na-pager-wrap{float:right}.default-me-page .new-arrival .na-pager-wrap .next,.default-me-page .new-arrival .na-pager-wrap .pre{display:inline-block;height:22px;line-height:22px;margin-top:8px;padding:0 6px;font-size:12px;color:#fff;background:#646464;text-align:center;border-radius:2px;cursor:pointer}.default-me-page .new-arrival .na-pager-wrap .next .iconfont,.default-me-page .new-arrival .na-pager-wrap .pre .iconfont{font-size:12px}.default-me-page .new-arrival .na-pager-wrap .no-visible{visibility:hidden}.default-me-page .new-arrival ul{width:800px;height:218px;overflow:hidden}.default-me-page .new-arrival li{float:left;width:101px;height:160px;padding:29px;border-right:1px solid #e3e3e3;text-align:center;font-size:12px;overflow:hidden}.default-me-page .new-arrival li .thumb{width:100px;height:100px}.default-me-page .new-arrival li .name{margin:10px 0;text-decoration:underline;color:#666;line-height:14px}.default-me-page .new-arrival li .price{color:#000}.default-me-page .banner{display:block;width:800px;border:none}.default-me-page .latest-orders .title{background-image:url(../assets/img/home/latest-orders.png?v155ba59f26f)}.default-me-page .brands .title{background-image:url(../assets/img/home/brands.png?v155ba59f246)}.default-me-page .new-arrival .title{background-image:url(../assets/img/home/new-arrival.png?v155ba59f272)}.me-orders{font-size:12px}.me-orders .right{float:right}.me-orders .order-table-header .info{width:330px;text-align:left;padding-left:10px}.me-orders .order-table-header .price{width:75px}.me-orders .order-table-header .count{width:60px}.me-orders .order-table-header .operation,.me-orders .order-table-header .order-status,.me-orders .order-table-header .pay{width:100px}.me-orders .order-title{height:28px;line-height:28px;background:#efefef;padding:0 5px;border-bottom:1px solid #e6e6e6}.me-orders .order-title .order-time{margin-left:25px}.me-orders .order-title .order-delete{margin-right:15px;color:#999}.me-orders .order-title .order-delete:hover{text-decoration:underline}.me-orders .order{margin:10px;border:1px solid #e6e6e6;border-radius:2px}.me-orders .order .order-wrap{position:relative;display:table;text-align:center}.me-orders .order .order-wrap>*{display:table-cell;vertical-align:middle}.me-orders .order li{display:table;border-top:1px solid #e6e6e6}.me-orders .order li>div{display:table-cell;color:#666;text-align:center;vertical-align:middle}.me-orders .order li:first-child{border-top:none}.me-orders .order .thumb-wrap{position:relative}.me-orders .order .thumb{width:60px;height:60px}.me-orders .order .info{position:relative;width:320px;text-align:left;padding:10px 0 10px 10px}.me-orders .order .info>*{float:left}.me-orders .order .info .color-size{color:#999}.me-orders .order .info .arrival-date{color:#e8044f;margin-left:2px}.me-orders .order .text-info{position:absolute;padding:5px;bottom:10px;left:72px}.me-orders .order .text-info>*{display:block;line-height:18px}.me-orders .order .name{color:#468fa2;max-width:245px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.me-orders .order .had-refund{color:#e8044f}.me-orders .order .price{width:80px;padding:5px;font-weight:700}.me-orders .order .price .free-icon{display:block;width:37px;height:18px;line-height:18px;font-size:12px;text-align:center;color:#80bb45;background:#e7fbc0;margin:5px auto;border:1px solid #80bb45;border-radius:3px}.me-orders .order .price.free-price em{text-decoration:line-through}.me-orders .order .count{width:50px}.me-orders .order .operation,.me-orders .order .order-status,.me-orders .order .pay{width:90px;border-left:1px solid #e6e6e6;padding:5px}.me-orders .order .pay{font-weight:700}.me-orders .order .pay-tip{font-weight:400;display:block;line-height:18px;color:#999}.me-orders .order .return-order{display:inline-block;padding:3px 10px;background:#ff7c48;border-radius:9px;color:#fff;text-align:center}.me-orders .order .op-item{display:block;color:#468fa2;line-height:18px}.me-orders .order .op-item.op-dis{color:#999}.me-orders .order .no-pay,.me-orders .order .paid{color:#e8044f}.me-orders .order .order-status span{line-height:18px;color:#999}.me-orders .order .order-status .cancel{color:#e8044f}.me-orders .order .check-logistics{display:block;cursor:pointer;color:#468fa2}.me-orders .order .cancel{color:#e8044f}.me-orders .order .logistics{position:absolute;padding:20px 12px;color:#ff8341;border:1px solid #c9c9c9;background:#fff;right:185px;margin-top:-40px;z-index:11}.me-orders .order .logistics li{line-height:18px;white-space:nowrap}.me-orders .order .logistics .close-logistics{position:absolute;top:0;right:0;color:#c9c9c9;cursor:pointer}.me-orders .order .logistics .right-triangle{position:absolute;width:0;height:0;right:-6px;top:24px}.me-orders .order .logistics .right-triangle.top{margin-top:1px;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:6px solid #fff}.me-orders .order .logistics .right-triangle.bottom{margin-right:-1px;border-top:6px solid transparent;border-bottom:6px solid transparent;border-left:7px solid #c9c9c9}.me-orders .order .operation>*{cursor:pointer}.me-orders .order .operation .pay-now{display:block;color:#fff;background:#de034a;height:20px;line-height:20px;text-align:center;margin:0 auto;border-radius:4px;width:68px}.me-history-orders .order-table-header .info,.me-history-orders .order .info{width:520px}.me-history-orders .order .info{text-align:center}.me-history-orders .order-table-header .order-sum,.me-history-orders .order .order-sum{width:90px;text-align:left}.me-history-orders .order li{border:none}.cancel-dialog header{font-size:14px;padding-bottom:10px;border-bottom:1px dotted #a7a7a7;color:#000;text-align:left}.cancel-dialog ul{text-align:left;padding:10px 0 0 25px}.cancel-dialog ul li{height:28px;line-height:28px;font-size:12px}.cancel-dialog ul label{padding-left:10px}.cancel-dialog ul input[type=text]{margin-left:10px;height:24px;text-indent:5px}.cancel-dialog .cancel-tip{margin-top:20px;color:#d60248;font-size:12px;padding-left:30px;text-align:left}.cancel-dialog .btns{padding:15px 30px;text-align:left}.cancel-dialog .btns .btn{height:35px;font-size:12px;line-height:35px}.cancel-dialog .btns .cancel-sure{width:130px;border-radius:3px;color:#fff;background:#d60248;border:none}.cancel-dialog .btns .cancel-no{background:#eaeaea;border-radius:3px;color:#999;border-color:#ebebeb;width:66px}.delete-dialog{padding:0 0 20px;border:1px solid #000;background:#fff}.delete-dialog .header{padding:0 10px;height:32px;background:#444;line-height:32px;color:#fff;text-align:left}.delete-dialog .close{color:#fff}.delete-dialog .close .iconfont{font-size:20px;font-weight:700}.delete-dialog .order-delete-confirm{width:400px;line-height:1.5}.delete-dialog .body{padding:20px;margin-top:30px}.delete-dialog .confirm-tip{font-size:18px;word-wrap:break-word}.delete-dialog .confirm-tip i{display:inline-block;width:30px;height:30px;margin-right:12px;background:url(../assets/img/home/doubt.png?v155ba59f25b) no-repeat;vertical-align:middle}.delete-dialog .delete-tip{padding-left:20px;margin:15px 0;font-size:13px;word-wrap:break-word}.delete-dialog .delete-sure{background:#efefef}.delete-dialog .delete-no{margin-left:60px;border-color:#cdcdcd}.orders-me-page .orders .title{padding-left:130px;line-height:40px;background-image:url(../assets/img/home/orders.png?v155ba59f27d);font-size:12px;font-weight:700}.orders-me-page .order-table-header{padding:0;margin:0 10px;border:1px solid #e6e6e6}.order-detail-page{font-size:12px}.order-detail-page .order-detail>.title{background-image:url(../assets/img/home/order-detail.png?v155ba59f279)}.order-detail-page .status{margin:10px 0;padding:10px;background:#efefef;border-bottom:1px solid #e6e6e6}.order-detail-page .status p{margin:5px 0;line-height:18px}.order-detail-page .status .cur-status{color:#e8044f}.order-detail-page .status .complete-tip{color:#999}.order-detail-page .status .cancel-order{margin-right:20px}.order-detail-page .status .cancel-order,.order-detail-page .status .edit-order{float:right;background:#ebebeb;border:1px solid #c1c1c1;color:#000}.order-detail-page .status .edit-order-active{background:#444;border:1px solid #444;color:#fff}.order-detail-page .status .go-pay{margin-left:60px}.order-detail-page .detail-info{padding:10px}.order-detail-page .sub-title{height:21px;line-height:21px;border:1px solid #e6e6e6;color:#333;background:#efefef}.order-detail-page .sub-title .icon{display:inline-block;height:11px;width:11px;background-image:url(../assets/img/home/complaint-icon.png?v155ba59f250);margin:5px 5px 0}.order-detail-page .content{padding:10px 20px 20px}.order-detail-page .content p{line-height:18px}.order-detail-page .order-progress{padding-top:20px}.order-detail-page .order-progress li{position:absolute;width:150px;line-height:15px;top:20px}.order-detail-page .order-progress .cur{color:#e9034e;font-weight:700}.order-detail-page .order-progress .date{display:block;color:#999;padding-left:12px}.order-detail-page .progress-box{position:relative;width:552px;height:70px;margin:0 auto}.order-detail-page .progress-box .pg-0{left:-20px}.order-detail-page .progress-box .pg-1{left:145px}.order-detail-page .progress-box .pg-2{left:330px}.order-detail-page .progress-box .pg-3{left:515px}.order-detail-page .virtual-detail .pg-1{left:245px}.order-detail-page .virtual-detail .pg-2{left:515px}.order-detail-page .virtual-detail .outter-progress{background:url(../assets/img/home/virtual-order-progress.png?v155ba59f296) no-repeat 0 0}.order-detail-page .virtual-detail .inner-progress{background:url(../assets/img/home/virtual-order-progress.png?v155ba59f296) no-repeat 0 -12px}.order-detail-page .outter-progress{width:552px;height:12px;background:url(../assets/img/home/order-progress.png?v155ba59f27a) no-repeat 0 0}.order-detail-page .inner-progress{height:12px;background:url(../assets/img/home/order-progress.png?v155ba59f27a) no-repeat 0 -12px}.order-detail-page .handle-time{width:300px}.order-detail-page .recive-place{width:200px}.order-detail-page .logistics-info{width:800px}.order-detail-page .trace-order td,.order-detail-page .trace-order th{line-height:18px}.order-detail-page .differentOrder{position:relative;width:100%;margin-top:10px}.order-detail-page .differentOrder .warn{text-align:center;background:#fefbd5;font:initial;height:40px;line-height:40px;font-size:16px}.order-detail-page .differentOrder .warn .red{color:red}.order-detail-page .differentOrder .warn .why{background-image:url(../assets/img/sprite.order.png?v155ba59fd56);background-position:-247px -46px;width:26px;height:20px;display:inline-block;vertical-align:middle}.order-detail-page .differentOrder .warn .why:hover{cursor:pointer}.order-detail-page .differentOrder .differentBag:before{content:"";position:absolute;width:0;height:0;border-bottom:10px solid #000;border-left:10px solid transparent;border-right:10px solid transparent;top:-10px;right:113px}.order-detail-page .differentOrder .differentBag{display:none;position:absolute;right:-10px;top:40px;width:510px;padding:0 50px;background:#fff;z-index:1;border:1px solid #000;font-size:14px}.order-detail-page .differentOrder .bag{position:relative;border-bottom:1px solid #e0e0e0;margin-top:10px;padding:20px 0}.order-detail-page .differentOrder .bag h3{height:30px;line-height:30px;font-weight:700;margin-left:15px}.order-detail-page .differentOrder .bag .pre{background-position:0 -142px;left:-30px}.order-detail-page .differentOrder .bag .next,.order-detail-page .differentOrder .bag .pre{position:absolute;background-image:url(../assets/img/sprite.order.png?v155ba59fd56);width:30px;height:50px;top:70px;display:none;cursor:pointer}.order-detail-page .differentOrder .bag .next{background-position:-32px -142px;right:-30px}.order-detail-page .differentOrder .bag p{color:#767676;margin-left:15px}.order-detail-page .differentOrder .bagDetil{position:relative;height:90px;width:510px;overflow:hidden;margin-bottom:20px}.order-detail-page .differentOrder .bagDetil ul{list-style:none;position:absolute;left:0;clear:both;height:90px}.order-detail-page .differentOrder .bagDetil ul li{float:left;width:102px;height:90px;line-height:90px;text-align:center;position:relative}.order-detail-page .differentOrder .bagDetil ul li img{width:90px;height:90px}.order-detail-page .differentOrder .bagDetil ul li p{position:absolute;bottom:0;background:#9c3;width:90px;height:1rem;line-height:1rem;color:#fff;margin-left:7px}.order-detail-page .differentOrder .bagDetil ul li a,.order-detail-page .differentOrder .bagDetil ul li a:hover{cursor:default}.order-detail-page .good-list table{border-collapse:collapse}.order-detail-page .good-list thead{height:25px;line-height:25px;background:#000;padding:2px 5px;color:#fff}.order-detail-page .good-list td,.order-detail-page .good-list th{padding:5px;text-align:center;border-right:1px solid #e6e6e6;border-bottom:1px solid #e6e6e6}.order-detail-page .good-list th{border-color:#000}.order-detail-page .good-list tr td:last-child,.order-detail-page .good-list tr th:last-child{border-right:none}.order-detail-page .good-list .product-info{width:314px}.order-detail-page .good-list .good-price,.order-detail-page .good-list .num,.order-detail-page .good-list .sum{width:91px}.order-detail-page .good-list .yoho-coin{width:100px}.order-detail-page .good-list .yoho-coin a{display:inline-block;width:12px;height:12px;background-image:url(../assets/img/sprite.home.png?v155ba59fd56);background-position:0 -44px;vertical-align:text-top}.order-detail-page .good-list .thumb-link{float:left;position:relative;margin-left:5px;margin-right:10px}.order-detail-page .good-list .thumb{display:block;width:60px;height:60px}.order-detail-page .good-list .name-color-size{float:left;color:#999;padding-top:12px;text-align:left}.order-detail-page .good-list .name{display:block;color:#468fa2;line-height:18px;text-align:left;max-width:230px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.order-detail-page .order-balance{text-align:right;border-bottom:1px solid #e6e6e6;padding:10px 0}.order-detail-page .order-balance .back-coin{height:30px}.order-detail-page .order-balance .yoho-coin{width:14px;height:14px;display:inline-block;background-image:url(../assets/img/sprite.cart.png?v155ba59fd53);background-position:-321px -225px;vertical-align:middle;margin-top:-2px;margin-right:4px}.order-detail-page .order-balance em{font-weight:700}.order-detail-page .order-balance .payment{color:#e8044f}.order-detail-page .oo-btn{display:inline-block;height:30px;width:92px;line-height:30px;text-align:center;border-radius:3px;color:#fff;cursor:pointer}.order-detail-page .go-pay{background:#d9044a;border:1px solid #c54b73}.order-detail-page .order-operation{text-align:right;padding:20px 10px}.order-detail-page .order-operation .oo-icon{display:inline-block;height:22px;width:22px;vertical-align:text-bottom}.order-detail-page .order-operation .success-icon{background-image:url(../assets/img/sprite.home.png?v155ba59fd56);background-position:0 0}.order-detail-page .order-operation .cancel-icon{background-image:url(../assets/img/sprite.home.png?v155ba59fd56);background-position:-24px 0}.order-detail-page .order-operation .confirm-received{display:block;float:right;margin-top:5px;background:#d9044a;border:1px solid #c54b73}.order-detail-page .order-operation .cancel-order{background:#ebebeb;border:1px solid #c1c1c1;color:#000}.order-detail-page .freebie-tag{background:#9c3}.order-detail-page .advance-buy-tag{background:#fc1264}.order-detail-page .virtual-good-tag{background:red}.order-detail-page .presall-tag{background:blue}.order-ticket-page{font-size:12px}.order-ticket-page .order-ticket .title{background-image:url(../assets/img/home/orders.png?v155ba59f27d)}.order-ticket-page .ticket-info{padding:20px 10px}.order-ticket-page .ticket-info .ticket-tag{display:inline-block;width:72px;height:19px;line-height:19px;text-align:center;font-size:12px;color:#fff;background:#000;border-radius:3px;margin-right:5px}.order-ticket-page .ticket-info .order-num{margin-left:10px}.order-ticket-page .ticket-info .return-to-orders{float:right;color:#468fa2}.order-ticket-page .qr-codes{width:768px;padding:10px 0 10px 10px;border:1px solid #e7e7e7;background:#fff;margin:0 auto}.order-ticket-page .qr-codes li{float:left;width:232px;height:260px;margin:10px;border:1px solid #e7e7e7;word-break:break-all;overflow:hidden;text-align:center}.order-ticket-page .qr-codes .qr{width:230px;height:230px}.order-ticket-page .tickets-tip{width:758px;padding:10px;border:1px solid #e7e7e7;background:#fff;margin:20px auto}.order-ticket-page .tickets-tip p{padding-left:20px;padding-bottom:10px;line-height:20px;background:url(../assets/img/home/qr-tip.png?v155ba59f27e) no-repeat -27px 5px}.order-ticket-page .tickets-tip .warn{background-position:0 -23px}.red-envelopes-page{font-size:12px}.red-envelopes-page .red-envelopes>.title{font-size:14px;font-weight:700}.red-envelopes-page .re-header{height:25px;line-height:25px;width:100%;text-align:center;border-bottom:1px solid #e6e6e6;background:#efefef}.red-envelopes-page .re-header span{display:inline-block;width:33%}.red-envelopes-page .money{color:#d52c29;font-family:微软雅黑;font-size:20px;font-weight:700}.red-envelopes-page .re-icon{display:inline-block;width:20px;height:18px;background-image:url(../assets/img/sprite.home.png?v155ba59fd56);background-position:0 -24px}.red-envelopes-page .red-envelopes-list{display:table;width:100%}.red-envelopes-page .red-envelopes-list li{display:table-row;color:#666;border-top:1px solid #e6e6e6}.red-envelopes-page .red-envelopes-list li>*{display:table-cell;width:33%;padding:10px;text-align:center;vertical-align:middle;border-left:1px solid #e6e6e6}.red-envelopes-page .red-envelopes-list li>:first-child{border-left:none}.red-envelopes-page .red-envelopes-list .use-remark{text-align:left;line-height:18px}.me-coupons-page{font-size:12px}.me-coupons-page .coupons>.title{font-size:14px;font-weight:700}.me-coupons-page .coupons-header{width:776px;height:25px;line-height:25px;text-align:center;border:1px solid #e6e6e6;background:#efefef;margin:0 auto}.me-coupons-page .coupons-header span{display:block;float:left}.me-coupons-page .coupon{display:table;border:1px solid #e6e6e6;width:778px;margin:10px auto;text-align:center;color:#666}.me-coupons-page .coupon>*{display:table-cell;vertical-align:middle;border-left:1px solid #e6e6e6;padding:5px;line-height:18px}.me-coupons-page .coupon .coupons-img{border-left:none}.me-coupons-page .coupon .end-soon{color:#e8044f}.me-coupons-page .un-use-coupons .coupons-img{width:20%}.me-coupons-page .un-use-coupons .value{width:18%}.me-coupons-page .un-use-coupons .term-of-validity{width:22%}.me-coupons-page .un-use-coupons .term-of-validity span{display:none}.me-coupons-page .un-use-coupons .use-remark{width:24%}.me-coupons-page .un-use-coupons .status{width:16%}.me-coupons-page .un-use-coupons .end-soon span{display:inline;padding:3px 10px;color:#fff;background:#e8044f}.me-coupons-page .used-coupons .coupon>*,.me-coupons-page .used-coupons .coupons-header>span{width:16.66%}.me-coupons-page .no-valid-coupons .coupon>*,.me-coupons-page .no-valid-coupons .coupons-header>span{width:25%}.me-currency-page{font-size:12px}.me-currency-page .currencies>.title{background-image:url(../assets/img/home/currency.png?v155ba59f256)}.me-currency-page .my-currency{height:58px;line-height:58px;font-weight:700;border-bottom:1px solid #e8e8e8;font-size:18px;color:#333;margin:0 10px}.me-currency-page .my-currency em{color:#ff2400;font-weight:400}.me-currency-page .my-currency.has-tip{border-bottom:none}.me-currency-page .currency-tip{height:40px;line-height:24px;font-size:18px;color:#333;font-weight:700;margin:-16px 10px 0;border-bottom:1px solid #e8e8e8}.me-currency-page .currency-tip em{color:#ff2400;font-weight:400}.me-currency-page .currency,.me-currency-page .tab-wrap{margin:0 10px}.me-currency-page .tab-wrap{position:relative}.me-currency-page .tab-wrap .options-helper{position:absolute;right:10px;top:0}.me-currency-page .tab-wrap .coin-helper{margin-left:10px;color:#468fa2}.me-currency-page .tabs{margin-left:0;margin-right:0}.me-currency-page .currency-header{height:25px;line-height:25px;text-align:center;border:1px solid #e6e6e6;background:#efefef;margin:0 10px}.me-currency-page .currency-header span{display:block;float:left;font-size:14px;font-weight:700}.me-currency-page .currency-header .date{width:159px}.me-currency-page .currency-header .income-expenditure{width:317px}.me-currency-page .currency-header .remark{width:300px}.me-currency-page .currency{display:table;border:1px solid #e6e6e6;margin-bottom:20px;border-bottom:none}.me-currency-page .currency li{display:table-row;text-align:center;font-size:14px;height:50px;line-height:50px}.me-currency-page .currency li>*{display:table-cell;border-left:1px solid #e6e6e6;border-bottom:1px solid #e6e6e6;vertical-align:middle;color:#666;padding:5px;line-height:18px}.me-currency-page .currency li>:first-child{border-left:none}.me-currency-page .currency .date{width:155px}.me-currency-page .currency .remark{width:300px}.me-currency-page .currency .remark>a{color:#468fa2;margin-left:10px;text-decoration:underline}.me-currency-page .currency .income-expenditure{width:320px;color:#73a7b5}.me-currency-page .currency .income{color:#e10049}.me-favorite-page .favorite .title{background-image:url(../assets/img/home/favorite.png?v155ba59f261)}.me-favorite-page .favorite-table-header{font-size:12px;padding:0}.me-favorite-page .favorite-table-header .options{width:136px}.me-favorite-page .fav-row{display:table;padding:10px 0;border-bottom:1px solid #e6e6e6}.me-favorite-page .fav-row>*{display:table-cell;vertical-align:middle}.me-favorite-page .fav-row .checkbox{width:40px;padding-left:10px}.me-favorite-page .del-favorite{color:#666;visibility:hidden;cursor:pointer}.me-favorite-page .fav-row:hover .del-favorite{visibility:visible}.me-favorite-page .empty-reduction,.me-favorite-page .favorite-articles,.me-favorite-page .favorite-brands,.me-favorite-page .favorite-products,.me-favorite-page .reduction-notice-tip{margin:0 10px;font-size:12px}.me-favorite-page .price-notice{position:absolute;width:320px;height:194px;z-index:12;top:50%;left:50%;margin-left:-160px;margin-top:-130px;background:#fff;border:1px solid #999;padding:20px;font-size:14px}.me-favorite-page .price-notice .close{position:absolute;display:block;top:5px;right:5px;width:46px;height:16px;cursor:pointer;background:#cdcdcd;color:#fff;border-radius:2px;font-size:12px}.me-favorite-page .price-notice .close:hover{background:#414141}.me-favorite-page .price-notice .price-notice-sure{display:block;width:82px;height:34px;line-height:34px;text-align:center;color:#fff;background:#e90024;font-weight:700;cursor:pointer;margin:20px auto 0}.me-favorite-page .price-notice .tip{line-height:20px;margin:20px 0}.me-favorite-page .price-notice label{margin-right:10px}.me-favorite-page .price-notice input{width:180px;height:30px;line-height:30px;color:#333;padding:0 5px;font-size:14px;border:1px solid #bebebe}.me-favorite-page .price-notice input.error{border-color:red}.me-favorite-page .price-notice .err-text{padding-left:70px;line-height:24px;color:red}.me-favorite-page .price-notice .err-text i{display:block;float:left;height:14px;width:14px;background-image:url(../assets/img/sprite.passport.png?v155ba59fd55);background-position:-95px -113px;margin-right:5px;margin-top:5px}.me-favorite-page .price-notice .phone-diff{color:red;line-height:18px}.me-favorite-page .price-notice .success{text-align:center}.me-favorite-page .price-notice .success p{font-size:14px;line-height:22px;margin-top:20px}.me-favorite-page .price-notice .success .iconfont{color:#51c516;font-size:24px}.me-favorite-page .price-notice .success .notice-num{color:#e20d29}.me-favorite-page .price-notice .cue{text-align:center;padding:70px 0 50px;display:none}.me-favorite-page .price-notice .cue span{color:#e90024}.me-favorite-page .price-notice .cue p{font-size:14px;line-height:22px}.me-favorite-page .error .content,.me-favorite-page .error .success{display:none}.me-favorite-page .error .cue{display:block}.me-favorite-page .reduction-notice-tip{border:1px solid #e7e7e7;padding:20px;margin-bottom:10px}.me-favorite-page .reduction-notice-tip .notice-text{width:245px;float:left}.me-favorite-page .reduction-notice-tip h2{color:#000;font-size:14px;line-height:1.5}.me-favorite-page .reduction-notice-tip p{padding:10px 0;color:#999;font-size:12px;line-height:1.5}.me-favorite-page .reduction-notice-tip .notice-img{float:right;width:458px;height:197px;background:url(../assets/img/home/reduction-notice.jpg?v155ba59f283)}.me-favorite-page .empty-reduction{text-align:center;font-size:14px;border:1px solid #e7e7e7;padding:40px;margin-bottom:20px}.me-favorite-page .empty-reduction a{display:inline-block;width:92px;height:30px;line-height:30px;color:#666;text-align:center;cursor:pointer;background:#ededed;border:1px solid #dbdbdb;border-radius:3px}.me-favorite-page .reduction-products{margin-bottom:20px}.fav-products .favorite-products>ul{padding-bottom:20px}.fav-products .sorts{position:relative;padding:10px 35px 10px 10px;min-height:20px;line-height:20px;margin:0 10px 10px;background:#f3f3f3;border:1px solid #e6e6e6;color:#ccc}.fav-products .sorts .sort{height:20px;line-height:20px;color:#666;font-size:12px;display:inline-block}.fav-products .sorts .sort.focus{background:url(../assets/img/home/sort-select.png?v155ba59f28d) no-repeat 0;padding-left:18px;color:#fff}.fav-products .sorts .sort.focus a{display:inline-block;background:url(../assets/img/home/sort-select.png?v155ba59f28d) no-repeat 100%;font-weight:700;color:#fff}.fav-products .sorts .sep{margin:0 10px}.fav-products .sorts .has-more{margin-left:10px}.fav-products .all-sorts{display:none}.fav-products .sort-btn{position:absolute;display:block;width:19px;height:19px;line-height:19px;right:10px;top:10px;text-align:center;border:1px solid #ececec;background:#fff;cursor:pointer}.fav-products .sort-btn .iconfont{color:#000;font-size:12px}.fav-products .reduction-filter{height:30px;line-height:30px;text-align:right;font-size:12px;margin:0 10px}.fav-products .reduction-notice{float:left;color:#666}.fav-products .favorite-goods{margin:0 10px;font-size:12px}.fav-products .favorite-goods>ul{padding-bottom:20px}.fav-products .favorite-table-header .info{width:390px;padding-left:50px;text-align:left}.fav-products .favorite-table-header .price{width:200px;text-align:left}.fav-products .fav-good{position:relative}.fav-products .fav-good .thumb{width:110px;text-align:center}.fav-products .fav-good .thumb img{width:100px}.fav-products .fav-good .text-info{width:270px;line-height:16px}.fav-products .fav-good .name{color:#468fa2;display:block}.fav-products .fav-good .name:hover{text-decoration:underline}.fav-products .fav-good .has-bought{display:inline-block;width:37px;height:15px;line-height:15px;text-align:center;color:#fff;background:#418fa3;border-radius:2px}.fav-products .fav-good .has-activity{color:#666;cursor:pointer}.fav-products .fav-good .price{width:200px;padding-left:10px}.fav-products .fav-good .price>em{font-weight:700;color:#e8044f;font-size:14px}.fav-products .fav-good .price .price-down{display:block;margin-top:5px}.fav-products .fav-good .price .price-down>em{color:#e8044f}.fav-products .fav-good .price .price-down .iconfont{font-size:12px}.fav-products .fav-good .options{width:136px;text-align:center}.fav-products .fav-good .options>*{display:block}.fav-products .fav-good .options .buy-again,.fav-products .fav-good .options .buy-now{width:92px;height:30px;line-height:30px;font-size:14px;text-align:center;border-radius:4px;margin:0 auto}.fav-products .fav-good .options .buy-now{color:#fff;background:#da044a}.fav-products .fav-good .options .buy-again{color:#666;background:#ececec;border:1px solid #cecece}.fav-products .fav-good .options .price-down-clock{line-height:20px;color:#666;cursor:pointer}.fav-products .fav-good .options .sold-out{color:#666}.fav-products .fav-good .options .buy-again,.fav-products .fav-good .options .buy-now,.fav-products .fav-good .options .sold-out{margin-top:12px}.fav-products .fav-good .activites{position:absolute;left:160px;right:0;top:120px;padding:10px 0;border-top:1px dashed #ccc}.fav-products .fav-good .activites li{line-height:18px}.fav-products .fav-good .activites .type{display:inline-block;width:54px;height:14px;line-height:14px;margin-right:5px;overflow:hidden;background:#6c6c6c;border-radius:2px;color:#fff;text-align:center;vertical-align:middle}.fav-products .fav-good .activites .arrow{position:absolute;width:13px;left:20px;top:-7px;height:7px;background-image:url(../assets/img/sprite.home.png?v155ba59fd56);background-position:-48px -31px}.fav-products .fav-good:hover{background:#f3f3f3}.fav-brands .favorite-brands>ul{padding-bottom:20px}.fav-brands .favorite-table-header .name{width:190px;padding-left:50px;text-align:left}.fav-brands .favorite-table-header .col-count,.fav-brands .favorite-table-header .new-arrival{width:200px}.fav-brands .fav-brand{position:relative;font-size:12px}.fav-brands .fav-brand .thumb{width:190px}.fav-brands .fav-brand .thumb a{display:block;width:115px;padding:5px;text-align:center;border:1px solid #f4f4f4}.fav-brands .fav-brand .thumb .name{display:block;background:#f4f4f4;color:#666;line-height:18px}.fav-brands .fav-brand .thumb img{width:100px;height:100px}.fav-brands .fav-brand .col-count,.fav-brands .fav-brand .new-arrival{width:200px;text-align:center}.fav-brands .fav-brand .new-arrival{cursor:pointer}.fav-brands .fav-brand .options{width:136px;text-align:center}.fav-brands .fav-brand .brand-shop{display:block;width:92px;height:30px;line-height:30px;border:1px solid #c2c2c2;background:#ececec;text-align:center;cursor:pointer;margin:14px auto 10px;border-radius:2px;color:#666;font-size:14px}.fav-brands .fav-brand .na-list{position:absolute;left:50px;right:0;top:152px;padding:10px 0;border-top:1px dashed #ccc}.fav-brands .fav-brand .na-list .arrow{position:absolute;width:13px;left:265px;top:-7px;height:7px;background-image:url(../assets/img/sprite.home.png?v155ba59fd56);background-position:-48px -31px}.fav-brands .fav-brand .na-good{width:102px;height:165px;padding:0 15px;text-align:left}.fav-brands .fav-brand .na-good-thumb{border:1px solid #ccc;width:100px;height:100px;vertical-align:middle}.fav-brands .fav-brand .na-good-name{color:#666;line-height:14px;margin:5px 0;max-height:28px;overflow:hidden}.fav-brands .fav-brand .na-content>*{float:left}.fav-brands .fav-brand .has-no-na{text-align:center;float:none;padding:20px 183px 20px 0}.fav-brands .fav-brand .has-sale{text-decoration:line-through}.fav-brands .fav-brand .na-next,.fav-brands .fav-brand .na-pre{display:block;width:31px;height:31px;line-height:33px;text-align:center;background:#f4f4f4;border:1px solid #eee;margin-top:66px}.fav-brands .fav-brand .na-next.hidden,.fav-brands .fav-brand .na-pre.hidden{visibility:hidden}.fav-brands .fav-brand .na-goods{width:660px;height:165px;padding-top:20px;overflow:hidden}.fav-brands .fav-brand .na-goods-ul{width:2640px}.fav-brands .fav-brand .na-goods-ul>li{float:left}.fav-articles .favorite-articles>ul{padding-bottom:20px}.fav-articles .fav-article:first-child{padding-top:8px}.fav-articles .bg-img{display:block;width:146px;height:96px;backgound-size:cover;background-position:50%}.fav-articles .text-info{width:559px;padding-left:20px}.fav-articles .name{display:block;font-weight:700;font-size:14px;line-height:30px;color:#000;width:550px;word-break:keep-all;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fav-articles .name:hover{text-decoration:underline}.fav-articles .desc{color:#333;font-size:12px;line-height:24px;height:48px}.fav-articles .del-favorite{float:right;font-size:12px;cursor:pointer}.user-me-page{font-size:12px;line-height:150%}.user-me-page form{display:inline}.user-me-page strong{font-weight:700}.user-me-page .clear{zoom:1}.user-me-page .clear:after{content:".";display:block;height:0;visibility:hidden;overflow:hidden;clear:both}.user-me-page .userinfo-edit form{display:none}.user-me-page .userinfo-edit h2.title{background-image:url(../assets/img/home/edit/title-informations.png?v155ba59f320)}.user-me-page .account,.user-me-page .email,.user-me-page .gift,.user-me-page .mobile,.user-me-page .userpwd{font-size:12px;line-height:150%}.user-me-page .account .title,.user-me-page .email .title,.user-me-page .gift .title,.user-me-page .mobile .title,.user-me-page .userpwd .title{position:relative}.user-me-page .account .title h2,.user-me-page .email .title h2,.user-me-page .gift .title h2,.user-me-page .mobile .title h2,.user-me-page .userpwd .title h2{height:16px;font-size:14px;font-weight:700;line-height:16px;position:absolute;top:50%;margin-top:-8px}.user-me-page .account .title h2 span,.user-me-page .email .title h2 span,.user-me-page .gift .title h2 span,.user-me-page .mobile .title h2 span,.user-me-page .userpwd .title h2 span{font-size:10px;-webkit-transform:scale(.85);display:inline-block;line-height:15px;font-weight:400;padding-left:0}.user-me-page .address{font-family:arial,Microsoft YaHei}.user-me-page .address a{color:#468fa2;text-decoration:none}.user-me-page .address .a-underline{text-decoration:underline}.user-me-page .address input[type=button]{margin-top:0}.user-me-page .address input#address{width:340px}.user-me-page .address .title{position:relative}.user-me-page .address .title h2{width:66px;height:16px;background:url(../assets/img/home/edit/title-address.png?v155ba59f31f) no-repeat;text-indent:-999em;float:left;position:absolute;top:50%;margin-top:-8px}.user-me-page .address .main{width:798px;padding:10px 1px 1px;float:left;border:1px solid #dedede;border-radius:2px}.user-me-page .address .address-list{width:776px;margin:0 10px;display:inline;border:1px solid #e6e6e6;border-bottom:0;float:left}.user-me-page .address .address-content{width:756px;padding:10px;border-bottom:1px solid #e6e6e6;float:left}.user-me-page .address .address-content.preferred{background:#fdfcdd;color:#333}.user-me-page .address .address-detail{width:596px;float:left}.user-me-page .address .address-edit{width:150px;padding:10px 0 10px 10px;text-align:center;float:left}.user-me-page .address.block{border:none}.user-me-page .btn-c3{height:22px;background:url(../assets/img/home/edit/btn_hs.png?v155ba59f317) no-repeat left -66px;padding-left:8px;display:inline-block}.user-me-page .btn-c3 span{height:22px;line-height:21px;background:url(../assets/img/home/edit/btn_hs.png?v155ba59f317) no-repeat right -66px;padding-right:10px;display:inline-block;cursor:pointer;color:#fff}.user-me-page .btn-c2{height:22px;background:url(../assets/img/home/edit/btn_hs.png?v155ba59f317) no-repeat left -44px;padding-left:8px;display:inline-block}.user-me-page .btn-c2 span{height:22px;line-height:21px;background:url(../assets/img/home/edit/btn_hs.png?v155ba59f317) no-repeat right -44px;padding-right:10px;display:inline-block;cursor:pointer;color:#b3b3b3}.user-me-page .main-info{border-top:1px solid #ddd;padding:20px 10px 10px}.user-me-page .main-info .p1{padding-bottom:10px;font-weight:700}.user-me-page .main-info .blue2{color:#468fa2}.user-me-page .block{min-height:375px;height:auto}.user-me-page .block form#giftCardForm,.user-me-page .block form#pwdform,.user-me-page .block form.first{display:block}.user-me-page .edit-box{padding:10px 11px 11px}.user-me-page .form-group{height:30px;border:1px solid #fff;margin-bottom:2px;line-height:22px;font-size:12px;font-family:Arial,helvetica,sans-serif}.user-me-page .form-group label{width:80px;text-align:right;color:#333;float:left}.user-me-page .plain{color:#666;font-weight:700}.user-me-page .width-300{width:300px}.user-me-page .width-150{width:150px}.user-me-page .input-1{height:20px;line-height:20px;color:#333;border:1px solid #c9c9c9;background:url(../assets/img/home/edit/input_1.png?v155ba59f31d) repeat-x #fff;vertical-align:top}.user-me-page .btn-b1{width:118px;height:34px;border:0;background:url(../assets/img/home/edit/btn_b1.png?v155ba59f313) no-repeat;color:#fff;font-size:14px;font-weight:700;padding-right:10px;cursor:pointer;display:inline-block;margin-top:12px;margin-left:80px}.user-me-page #btn-reset{margin-left:0}.user-me-page .tips-p{margin-left:10px;color:#999;display:inline-block}.user-me-page .box{width:778px;clear:both;padding-top:10px;margin-bottom:10px;float:left}.user-me-page .sub-title{clear:both;height:21px;line-height:21px;padding-left:23px;background:url(../assets/img/home/edit/ico_arrow2.png?v155ba59f31a) no-repeat 5px 5px #efefef;border:1px solid #e6e6e6;font-size:12px;color:#333;font-weight:400;cursor:pointer;margin-bottom:2px}.user-me-page .sub-title .more{padding:2px 10px 0 0;float:right}.user-me-page .sub-title .btn-edit{width:37px;height:17px;background:url(../assets/img/home/edit/btn_edit.png?v155ba59f315) no-repeat;display:inline-block;overflow:hidden;border:0}.user-me-page .user-personal-info .user-info{width:552px;padding-right:38px;float:left}.user-me-page .user-personal-info .user-profile{width:148px;padding:18px;text-align:center;float:right;border-left:1px solid #e0e0e0}.user-me-page .user-personal-info .user-profile img{width:100px;height:100px;margin-bottom:10px}.user-me-page .user-favorite-info ul{clear:both;width:750px;padding:0 20px 0 0;float:left}.user-me-page .user-favorite-info ul li{height:22px;padding-left:20px;float:left;font-size:12px}.user-me-page .user-favorite-info .brand-box{width:725px;margin:0 0 10px 20px;display:inline;padding:5px 10px 5px 0;border:1px solid #ccc;background:#f8f8f8;color:#000}.user-me-page .user-favorite-info .brand-box li{height:22px;line-height:22px;padding:0 0 0 10px;float:left;display:inline-block;white-space:nowrap}.user-me-page .user-favorite-info .btn-del{height:20px;line-height:20px;border:0;padding-left:18px;background:url(../assets/img/home/edit/ico_del.png?v155ba59f31b) no-repeat 0 2px;color:#468fa2;display:inline-block;overflow:hidden;text-decoration:none;vertical-align:middle}.user-me-page .user-favorite-info .btn-submit-sm{width:56px;height:20px;border:0;font-size:12px;color:#fff;line-height:20px;padding:0;margin:0;background:url(../assets/img/home/edit/btn_s1_z2.png?v155ba59f318) repeat-x;text-align:center;display:inline-block;cursor:pointer}.user-me-page .user-favorite-info span{color:#999;line-height:25px;display:inline-block}.user-me-page .user-favorite-info .form-group{clear:both;width:730px;padding:0 20px 5px;float:left}.user-me-page .account-row{padding:30px 0;border-bottom:1px solid #ddd}.user-me-page .account-row .content{height:32px;line-height:32px;position:relative}.user-me-page .account-row .content div{float:left;display:inline-block}.user-me-page .account-row .content .left-content{width:200px}.user-me-page .account-row .content .middle-content{width:500px}.user-me-page .account-row .content .middle-content .tip{color:#666}.user-me-page .account-row .content .middle-content .tip.red{color:#e01}.user-me-page .account-row .content .right-content{width:75px;height:20px;line-height:20px;position:absolute;top:50%;margin-top:-10px;text-align:center}.user-me-page .account-row .center{text-align:center}.user-me-page .account-row a{text-decoration:none;color:#666;outline:none}.user-me-page .account-row [class*=" icon-"],.user-me-page .account-row [class^=icon-]{height:32px;line-height:32px;vertical-align:middle;display:inline-block;padding-left:42px;margin-left:20px}.user-me-page .account-row .icon-ok{background:url(../assets/img/home/edit/icon-32.png?v155ba59f319) no-repeat 0 0}.user-me-page .account-row .icon-warning{background:url(../assets/img/home/edit/icon-32.png?v155ba59f319) no-repeat 0 -32px}.user-me-page .account-row .account-type{font-size:18px;line-height:32px;display:inline-block;padding-left:20px}.user-me-page .button-icon20{padding-left:5px;background:url(../assets/img/home/edit/btn_bg_20.png?v155ba59f314) no-repeat left 0;display:inline-block;cursor:pointer}.user-me-page .button-icon20 i{font-style:normal;background:url(../assets/img/home/edit/btn_bg_20.png?v155ba59f314) repeat-x left -20px;display:inline-block;height:20px;line-height:20px;text-align:center}.user-me-page .button-sliver20 i{background-position:left -80px;width:52px}.user-me-page .button-icon20 span{background:url(../assets/img/home/edit/btn_bg_20.png?v155ba59f314) no-repeat right -40px;display:inline-block;padding-right:5px}.user-me-page .button-sliver20 span{background-position:right -100px}.user-me-page .button-sliver20{background-position:left -60px}.user-me-page .gift-box{padding:10px 11px 11px}.user-me-page .gift-box h2{height:16px;font-size:14px;font-weight:700;line-height:16px}.user-me-page .gift-box li{font-size:12px;font-family:arial,Microsoft YaHei;margin-bottom:25px}.user-me-page .gift-box .gift-input{width:60px;height:20px;line-height:20px;color:#333;border:1px solid #c9c9c9;background:url(../assets/img/home/edit/input_1.png?v155ba59f31d) repeat-x #fff}.user-me-page .gift-box .gift-error{color:red;margin-left:10px}.user-me-page .gift-box #imgcode{border:0;vertical-align:middle;outline:none;cursor:pointer}.user-me-page .gift-box .check-img{color:#468fa2;text-decoration:underline}.user-me-page .gift-box .btn-b1{margin:0}.user-me-page .form-error{background:url(../assets/img/home/onError.png?v155ba59f275) no-repeat 5px 9px #fff2e8;color:#e8044f}.user-me-page .form-error,.user-me-page .form-success{padding-left:25px;padding-right:5px;font-size:12px;line-height:30px;height:30px;display:inline-block;margin-left:5px}.user-me-page .form-success{background:url(../assets/img/home/onCorrect.png?v155ba59f273) no-repeat 5px 9px #e9ffeb;color:green}.user-me-page .form-focus,.user-me-page .form-prompt{background:url(../assets/img/home/onShow.png?v155ba59f277) no-repeat 5px 9px;padding-left:25px;font-size:12px;line-height:30px;height:30px;display:inline-block;color:#999}.user-me-page .form-focus{background:url(../assets/img/home/onShow.png?v155ba59f277) no-repeat 5px 9px #e9f0ff;color:#666}.user-me-page .add-address{width:778px;padding:10px 0;float:left}.user-me-page .add-address h2{clear:both;height:21px;line-height:21px;padding-left:23px;margin-left:10px;background:url(../assets/img/home/edit/ico_arrow2.png?v155ba59f31a) no-repeat 5px 5px #efefef;border:1px solid #e6e6e6;font-size:12px;color:#333;font-weight:400}.user-me-page .add-address .form-group{width:130%}.user-me-page .add-address .add-address-detail{padding:10px 0}.user-me-page .add-address .add-address-detail .form-info{vertical-align:middle;line-height:22px;height:22px;background-position:5px 5px}.user-me-page .add-address #btnReset{margin-left:0}.user-me-page .gift-fail,.user-me-page .gift-ok{padding:50px 260px;height:310px;display:block}.user-me-page .gift-fail h3,.user-me-page .gift-ok h3{font-size:18px;height:22px;line-height:25px;padding-left:25px;color:#000;background:url(../assets/img/home/edit/ico_i_sf.png?v155ba59f31c) no-repeat}.user-me-page .gift-fail .fail,.user-me-page .gift-ok .fail{background-position:0 -22px}.user-me-page .gift-fail .input-again,.user-me-page .gift-ok .input-again{text-decoration:underline;color:#c4153a}.user-me-page .gift-fail .input-again:active,.user-me-page .gift-fail .input-again:hover,.user-me-page .gift-ok .input-again:active,.user-me-page .gift-ok .input-again:hover{color:#c4153a}.user-me-page .gift-fail .success,.user-me-page .gift-ok .success{background-position:0 0}.user-me-page .gift-fail .currency-info,.user-me-page .gift-ok .currency-info{margin-top:20px;padding-left:25px}.user-me-page .gift-fail .gift-red,.user-me-page .gift-ok .gift-red{color:#bc0029;font-size:16px;font-weight:700;margin-left:5px}.user-me-page .gift-fail .yoho-currency,.user-me-page .gift-ok .yoho-currency{font-size:16px;font-weight:700;color:#3e3e3e}.user-me-page .check-safe{padding:10px 11px 11px;height:auto;overflow:hidden}.user-me-page .check-safe .form-success{background:url(../assets/img/home/onCorrect.png?v155ba59f273) no-repeat 5px 9px}.user-me-page .check-safe .progress-bar{width:780px;height:24px}.user-me-page .check-safe .progress-bar li{float:left;width:260px;color:#666;text-align:center;height:24px;line-height:24px}.user-me-page .check-safe .progress-bar li.cur{color:#fff}.user-me-page .check-safe .progress1{background:url(../assets/img/home/edit/icon-bar.png?v155ba59f319) no-repeat}.user-me-page .check-safe .progress2{background:url(../assets/img/home/edit/icon-bar.png?v155ba59f319) no-repeat 0 -24px}.user-me-page .check-safe .progress3{background:url(../assets/img/home/edit/icon-bar.png?v155ba59f319) no-repeat 0 -48px}.user-me-page .check-safe input[type=password],.user-me-page .check-safe input[type=text]{height:28px;border:1px solid #bebebe;line-height:28px;padding:0 5px}.user-me-page .check-safe .form-nav{padding:30px 0}.user-me-page .check-safe .form-nav ul{width:690px;margin:0 auto}.user-me-page .check-safe .form-nav li{padding:10px 0;float:left}.user-me-page .check-safe .form-nav .safe-form-l{float:left;width:220px;line-height:30px;padding:0 5px;text-align:right}.user-me-page .check-safe .form-nav .safe-form-r{width:422px;line-height:30px;float:left}.user-me-page .check-safe .form-nav .input-text{width:208px}.user-me-page .check-safe .form-nav .input-code{width:54px;margin-right:5px}.user-me-page .check-safe .form-nav #the-code-img{border:0;vertical-align:middle;outline:none;height:30px;cursor:pointer}.user-me-page .check-safe .form-nav .change-code{height:30px;padding:0 0 0 5px;line-height:15px;display:inline-block;vertical-align:middle;color:#666}.user-me-page .check-safe .form-nav .the-code{color:#468fa2}.user-me-page .check-safe .form-nav .btn-b1{margin:0}.user-me-page .check-safe .form-nav .check-info{display:inline-block;vertical-align:top}.user-me-page .check-safe .form-nav .input-error{border:2px solid #e8044f;height:26px;padding:0 4px}.user-me-page .feedback dt{height:20px;line-height:20px;background:url(../assets/img/home/suggest-icon.png?v155ba59f291) no-repeat 2px 3px;padding:0 0 0 20px;float:left;font-family:arial,Microsoft YaHei;font-size:12px}.user-me-page .feedback dt a{color:#468fa2}.user-me-page .feedback dd{float:right}.user-me-page .button-top{width:66px;height:22px;padding-left:10px;line-height:21px;border:0;text-align:center;background:url(../assets/img/home/btn_top.png?v155ba59f24a) no-repeat;color:#666;font-size:12px;cursor:pointer;display:inline-block}.user-me-page .rgb6{color:#666}.user-me-page .font14{font-size:14px}.user-me-page .button-icon{padding-left:5px;background:url(../assets/img/home/button-icon.png?v155ba59f24a) no-repeat left 0;display:inline-block;cursor:pointer}.user-me-page .button-icon i{font-style:normal;background:url(../assets/img/home/button-icon.png?v155ba59f24a) repeat-x left -33px;display:inline-block;height:33px;line-height:33px;text-align:center}.user-me-page .button-icon span{background:url(../assets/img/home/button-icon.png?v155ba59f24a) no-repeat right -66px;display:inline-block;padding-right:5px}.user-me-page .button-red{background-position:left -99px;color:#fff}.user-me-page .button-red i{background-position:left -134px;width:120px}.user-me-page .button-red i .btn-jt{background:url(../assets/img/home/btn-jt.png?v155ba59f247) no-repeat;width:5px;height:8px;display:inline-block;margin-left:10px}.user-me-page .button-red span{background-position:right -169px}.user-me-page .button-sliver i{width:100px;color:#666}.user-me-page .result-email,.user-me-page .result-info{padding:30px 0;min-height:360px;width:616px;margin:0 auto;text-align:center}.user-me-page .result-email p,.user-me-page .result-info p{line-height:24px}.user-me-page .result-email .info-detail,.user-me-page .result-info .info-detail{margin-top:20px;text-align:left}.user-me-page .result-email .button-icon,.user-me-page .result-info .button-icon{margin-top:20px}.user-me-page .result-email{text-align:left;width:400px}.user-me-page .res-info{height:24px;line-height:51px;padding-left:28px;font-size:20px;color:#000;line-height:24px;display:inline-block}.user-me-page .res-success{background:url(../assets/img/home/icon-24.png?v155ba59f26b) no-repeat}.user-me-page .res-error{background:url(../assets/img/home/icon-24.png?v155ba59f26b) no-repeat 0 -24px;color:red}.returns-me-page .returns .title{background-image:url(../assets/img/home/returns.png?v155ba59f28c)}.returns-me-page .operation,.returns-me-page .return-status,.returns-me-page .time{width:100px;border-left:1px solid #e6e6e6}.returns-me-page .return-type{width:80px;border-left:1px solid #e6e6e6}.returns-me-page .order-table-header{padding:0;margin:10px;border:1px solid #e6e6e6}.returns-me-page .order-table-header>span{text-align:center;border-left:none}.returns-me-page .order-table-header .info{width:384px;padding-left:10px;text-align:left}.returns-me-page .order-wrap li{border-top:none}.returns-me-page .order-wrap li .info{width:384px;padding:5px 0 5px 10px}.returns-me-page .order-wrap li .text-info{width:300px;right:0;bottom:15px}.returns-me-page .order-wrap li .text-info .name{max-width:300px}.returns-me-page .order-wrap li .text-info .name:hover{text-decoration:underline}.cancel-dialog{width:350px;background:#fff;padding:20px 30px 35px}.cancel-dialog .message-title{margin-top:40px;margin-bottom:27px;font-size:24px;font-weight:700}.cancel-dialog .message-summary{width:250px;margin:0 auto 22px;font-size:14px;word-wrap:break-word;line-height:20px;color:#444}.cancel-dialog .btns{padding:15px 30px 0;text-align:center}.cancel-dialog .btns .btn{height:35px;font-size:15px;line-height:35px}.cancel-dialog .btns .cancel-sure{width:130px;color:#fff;background:#000;border:none}.cancel-dialog .btns .cancel-no{margin-left:30px;background:#fff;color:#000;border-color:#000;width:126px}.cancel-dialog .close{top:15px;right:15px}.cancel-dialog .close .iconfont{font-size:30px}.cancel-dialog .icon-warn{display:inline-block;margin-right:10px;background:url(../assets/img/home/icon-warn.png?v155ba59f26c) no-repeat;width:30px;height:30px;vertical-align:-6px}.detail-me-page{font-size:12px}.detail-me-page .returns-detail .title{background-image:url(../assets/img/home/returns.png?v155ba59f28c)}.detail-me-page .order-info{background:#efefef;padding:10px}.detail-me-page .order-info span{color:#468fa2;margin:0 8px}.detail-me-page .visual-return-state{margin:40px auto;height:40px;width:560px;background:url(../assets/img/home/exchange-bg.png?v155ba59f25f) no-repeat top}.detail-me-page .visual-return-state li{width:112px;padding:20px 0 0;text-align:center;float:left}.detail-me-page .visual-return-state .act{background:url(../assets/img/home/detail-act.png?v155ba59f25a) no-repeat top}.detail-me-page .cancel-return{height:26px;margin:0 10px;padding-top:10px;padding-left:10px;line-height:26px;border-top:1px solid #e0e0e0}.detail-me-page .cancel-return a{display:inline-block;padding:0 10px;margin-left:15px;color:#fff;background:#3a3a3a;text-align:center}.detail-me-page .detail-container{padding:10px}.detail-me-page .detail-container h2{height:21px;line-height:21px;padding-left:23px;background:url(../../../img/home/complaint-icon.png?v155ba3cdb93) no-repeat 5px 5px #efefef;border:1px solid #e6e6e6;font-size:12px;color:#333;font-weight:400;margin-bottom:10px}.detail-me-page .detail-container .courier-code{margin:60px auto;text-align:center}.detail-me-page .detail-container .courier-code .express-edit-box{display:none}.detail-me-page .detail-container .courier-code button{padding:5px 15px}.detail-me-page .detail-container .in-edit .express-view-box{display:none}.detail-me-page .detail-container .in-edit .express-edit-box{display:block}.detail-me-page .detail-container .main-detail table{width:100%}.detail-me-page .detail-container .main-detail table tr{border:1px solid #e6e6e6}.detail-me-page .detail-container .main-detail table td{text-align:left;padding:8px 10px;border:none;color:#333}.detail-me-page .detail-container .word-h{display:none}.detail-me-page .detail-container .refund-tips{color:#999;margin-top:10px;margin-bottom:40px}.detail-me-page .exchange-detail .word-t{display:none}.detail-me-page .exchange-detail .word-h{display:inline-block}.detail-me-page .exchange-detail .refund-tips span{display:none}.apply-returns-page{font-size:12px}.apply-returns-page .title{background-image:url(../assets/img/home/refund-apply.png?v155ba59f284)}.apply-returns-page .exchange .title{background-image:url(../assets/img/home/exchange-apply.png?v155ba59f25d)}.apply-returns-page select{width:85px;font-size:12px;outline:none}.apply-returns-page .apply-container{padding:10px}.apply-returns-page .apply-container .return-prompt{padding:20px;border:1px solid #e6e6e6;margin-bottom:10px;line-height:21px;color:#333}.apply-returns-page .apply-container .return-prompt span{color:red}.apply-returns-page .apply-container .return-prompt .footwear-tip{height:142px;line-height:18px;margin-top:20px;padding-left:536px;background:url(../assets/img/home/footwear-tips.jpg?v155ba59f263) no-repeat}.apply-returns-page .apply-container .return-prompt .footwear-tip span{color:#666}.apply-returns-page .apply-container .return-prompt .footwear-tip span:first-child{display:block;margin-bottom:15px}.apply-returns-page .apply-container .return-prompt .icon-onlineservice{display:inline-block;width:16px;height:16px;margin-left:10px;background:url(../assets/img/home/onlineservice.png?v155ba59f276) no-repeat;vertical-align:text-bottom}.apply-returns-page .apply-container h2{height:21px;line-height:21px;padding-left:23px;background:url(../assets/img/home/complaint-icon.png?v155ba59f250) no-repeat 5px 5px #efefef;border:1px solid #e6e6e6;font-size:12px;color:#333;font-weight:400}.apply-returns-page .apply-container .goods-list-table{width:100%;margin-bottom:10px}.apply-returns-page .apply-container .goods-list-table tr{border:1px solid #e6e6e6;height:18px;line-height:18px}.apply-returns-page .apply-container .goods-list-table tr th{text-align:center;background:#efefef;padding:5px;color:#333}.apply-returns-page .apply-container .goods-list-table tr th:first-child{text-align:left}.apply-returns-page .apply-container .goods-list-table tr td{color:#666;padding:5px}.apply-returns-page .apply-container .goods-list-table .return-goods-info>*{display:block}.apply-returns-page .apply-container .goods-list-table .return-goods-info a{color:#468fa2;text-decoration:none;max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.apply-returns-page .apply-container .goods-list-table .return-goods-info span{color:#999}.apply-returns-page .apply-container .goods-list-table .special-tip{position:relative}.apply-returns-page .apply-container .goods-list-table .special-tip span{color:#3a3a3a}.apply-returns-page .apply-container .goods-list-table .special-tip .doubt{display:inline-block;margin-left:5px;width:14px;height:14px;background:url(../assets/img/home/return-doubt.png?v155ba59f289) no-repeat;vertical-align:text-bottom}.apply-returns-page .apply-container .goods-list-table .special-tip .special-content{display:none;position:absolute;top:0;width:280px;padding:10px 15px;border:1px solid #3a3a3a;background:#fff;color:#3a3a3a;word-break:break-word}.apply-returns-page .apply-container .goods-list-table .special-tip .special-content i.arrow{position:absolute;top:5px;left:-7px;width:7px;height:12px;background:url(../assets/img/home/return-arrow.png?v155ba59f288) no-repeat}.apply-returns-page .apply-container .goods-list-table .exchange-choose-wrap{width:185px;border:1px solid #e6e6e6;text-align:center}.apply-returns-page .apply-container .goods-list-table .exchange-choose-wrap p{line-height:29px}.apply-returns-page .apply-container .goods-list-table .exchange-choose-wrap select{width:85px}.apply-returns-page .apply-container .goods-list-table .refund-price{width:185px;color:#666;font-weight:700;text-align:center}.apply-returns-page .apply-container .goods-list-table .return-reason-wrap{width:200px;text-align:center}.apply-returns-page .apply-container .goods-list-table .return-reason-wrap select{width:190px}.apply-returns-page .apply-container .goods-list-table .return-reason-wrap label{color:#999;padding:4px 20px;background:#f5f5f5;border:1px solid #dadada}.apply-returns-page .apply-container .goods-list-table .border-style{border:1px solid #e6e6e6}.apply-returns-page .apply-container .goods-list-table .ex-tips,.apply-returns-page .apply-container .goods-list-table .re-tips{text-align:left;padding-left:10px;color:#666}.apply-returns-page .apply-container .goods-list-table .problem-description{display:none}.apply-returns-page .apply-container .goods-list-table .problem-description .left-title{width:160px;text-align:right;padding-right:15px}.apply-returns-page .apply-container .goods-list-table .problem-description .left-title .red-icon{color:red}.apply-returns-page .apply-container .goods-list-table .problem-description textarea{width:545px;height:75px;max-width:545px;max-height:300px;padding:5px;border:1px solid #ccc}.apply-returns-page .apply-container .goods-list-table .problem-description .up-image-tips{width:545px;background:#f5f5f5;border:1px solid #ccc;margin-bottom:15px;padding:3px 5px}.apply-returns-page .apply-container .goods-list-table .problem-description .up-image-list li{float:left;width:126px;height:126px;border:1px solid #ccc;padding:2px;display:inline-block;vertical-align:bottom;margin:0 0 10px 10px;background:url(../assets/img/home/up-pic-back.png?v155ba59f294) no-repeat;position:relative}.apply-returns-page .apply-container .goods-list-table .problem-description .up-image-list li:first-child{margin-left:0}.apply-returns-page .apply-container .goods-list-table .problem-description .up-image-list .btn-del{padding:8px;background:url(../assets/img/home/del-icon.png?v155ba59f258) no-repeat;color:#468fa2;display:inline-block;position:absolute;right:-1px;z-index:5;cursor:pointer}.apply-returns-page .apply-container .goods-list-table .problem-description .swfupload{background:#000}.apply-returns-page .apply-container .goods-list-table .problem-description .btn_upload_text{font-family:SimHei;font-size:16px;font-weight:700}.apply-returns-page .apply-container .refund-detail{padding-top:20px;text-align:center}.apply-returns-page .apply-container .refund-detail p{margin-bottom:25px}.apply-returns-page .apply-container .refund-detail p input[type=radio]{vertical-align:middle;margin:0 5px 0 40px}.apply-returns-page .apply-container .refund-detail .refund-pay-info p{height:23px;line-height:22px;padding-top:11px;color:#666;background:url(../assets/img/home/refund_tips.png?v155ba59f286) no-repeat;display:none}.apply-returns-page .apply-container .refund-detail .refund-pay-info tr{display:none}.apply-returns-page .apply-container .refund-detail .refund-pay-info .type-yoho-tips{width:515px;margin-left:160px}.apply-returns-page .apply-container .refund-detail .refund-pay-info .type-bank-tips{width:290px;margin-left:260px;background-position:0 -35px}.apply-returns-page .apply-container .refund-detail .refund-pay-info .type-alipay-tips{width:290px;margin-left:260px;background-position:0 -70px}.apply-returns-page .apply-container .refund-detail .refund-pay-table{width:100%;margin-bottom:25px}.apply-returns-page .apply-container .refund-detail .refund-pay-table td{padding:5px 0 5px 5px}.apply-returns-page .apply-container .refund-detail .refund-pay-table tr td:first-child{width:310px;text-align:right}.apply-returns-page .apply-container .exchange-detail{padding:30px}.apply-returns-page .apply-container .exchange-detail dt{font-weight:700;font-size:14px;color:#333;margin:10px 0}.apply-returns-page .apply-container .exchange-detail dd{padding:10px 5px}.apply-returns-page .apply-container .exchange-detail dd input[type=radio]{margin-left:50px;margin-top:0;vertical-align:middle}.apply-returns-page .apply-container .exchange-detail dd input[type=radio]:first-child{margin-left:0}.apply-returns-page .apply-container .exchange-detail dd>label{line-height:20px;width:100px;float:left;display:block}.apply-returns-page .apply-container .exchange-detail dd>label span{color:red}.apply-returns-page .apply-container .submit-box{text-align:center;margin-bottom:30px}.apply-returns-page .apply-container .submit-box .save-btn{width:138px;height:34px;border:0;background:url(../assets/img/home/submit-btn.png?v155ba59f28f) no-repeat;color:#fff;font-size:14px;font-weight:700;padding-right:20px;cursor:pointer;display:inline-block;outline:none}.apply-returns-page .apply-container .submit-box .wait-gif{width:138px;height:34px;line-height:34px;font-size:14px;color:#8c8686;background:url(../assets/img/home/return-waiting.png?v155ba59f28b) no-repeat top;vertical-align:top;display:none}.apply-returns-page .apply-container .submit-box .wait-gif span{display:inline-block;width:32px;text-align:left;padding-left:4px}.apply-returns-page .apply-container .applying .save-btn{display:none}.apply-returns-page .apply-container .applying .wait-gif{display:inline-block}.save-returns-page .title{background-image:url(../assets/img/home/refund-apply.png?v155ba59f284)}.save-returns-page .exchange .title{background-image:url(../assets/img/home/exchange-apply.png?v155ba59f25d)}.save-returns-page .save-container{padding:10px}.save-returns-page .save-container h2{height:21px;line-height:21px;padding-left:23px;background:url(../assets/img/home/complaint-icon.png?v155ba59f250) no-repeat 5px 5px #efefef;border:1px solid #e6e6e6;font-size:12px;color:#333;font-weight:400}.save-returns-page .save-container .save-prompt{width:527px;margin:0 auto;padding:100px 0}.save-returns-page .save-container .save-prompt h1{font-size:30px;color:#9c0;margin-bottom:20px;font-weight:700;background:url(../assets/img/home/return-success-icon.png?v155ba59f28a) no-repeat;cursor:pointer;display:inline-block;height:31px;line-height:31px;padding-left:45px}.save-returns-page .save-container .save-prompt p{font-size:12px;color:#999;line-height:23px}.save-returns-page .save-container .save-prompt p span{color:#9c0}.save-returns-page .save-container .save-prompt .retund-address{font-size:15px;font-weight:700;color:#333;margin-bottom:15px}.save-returns-page .save-container .save-prompt .backto-center{margin-top:30px}.save-returns-page .save-container .save-prompt .backto-center label{width:174px;height:35px;line-height:33px;font-size:14px;font-weight:700;color:#fff;text-align:center;display:inline-block;background:url(../assets/img/home/back-returns-btn.png?v155ba59f245) no-repeat;cursor:pointer}.save-returns-page .save-container .save-prompt .backto-center a:first-child{margin-right:15px}.save-returns-page .save-container .save-prompt .backto-center a:first-child label{background:url(../assets/img/home/back-orders-btn.png?v155ba59f244) no-repeat}.consult-me-page{font-size:12px}.consult-me-page .consult .title{background-image:url(../assets/img/home/consult.png?v155ba59f255)}.consult-me-page .consults{margin:10px}.consult-me-page .consults-table{width:100%;border:1px solid #e6e6e6}.consult-me-page .consults-table th{height:28px;line-height:28px;background:#efefef;padding:0 5px}.consult-me-page .consults-table td{color:#666;border-top:1px solid #e6e6e6;padding:5px;line-height:18px}.consult-me-page .consults-table td .thumb{width:60px;height:60px}.consult-me-page .consults-table td a{color:#468fa2;text-decoration:none}.consult-me-page .consults-table td a:hover{text-decoration:underline}.consult-me-page .consults-table td p{padding-left:20px;margin-top:5px;color:#999;word-break:break-all;overflow:hidden}.consult-me-page .consults-table td .question{color:#e9034e;background:url(../assets/img/home/consult-wd.png?v155ba59f254) no-repeat -13px 2px}.consult-me-page .consults-table td .reply{color:#390;background:url(../assets/img/home/consult-wd.png?v155ba59f254) no-repeat 0 -25px}.comment-me-page .comment .title{background-image:url(../assets/img/home/comment.png?v155ba59f24f)}.comment-me-page .me-comment{padding:10px;font-size:12px;line-height:18px}.comment-me-page .main-tip span{color:#e8044f}.comment-me-page .comment-table-header{padding:0;margin-top:10px}.comment-me-page .comment-table-header .info{width:260px}.comment-me-page .comment-table-header .time{width:415px;border-left:1px solid #e6e6e6;border-right:1px solid #e6e6e6}.comment-me-page .comment-table-header .type{width:98px}.comment-me-page .comment-table{width:100%;margin-top:10px}.comment-me-page .comment-table tr{border:1px solid #e6e6e6}.comment-me-page .comment-table tr th{background:#efefef;padding:5px}.comment-me-page .comment-table tr td{color:#666;padding:5px;text-align:center}.comment-me-page .comment-table tr a{color:#468fa2;text-decoration:none}.comment-me-page .comment-table tr .remarked{color:#e8044f}.comment-me-page .comment-table tr .remark-btn{width:69px;height:22px;line-height:21px;border:0;background:url(../assets/img/home/remark-btn.png?v155ba59f287) no-repeat;cursor:pointer;color:#fff;outline:none}.comment-me-page .comment-table .remark-content{width:405px;border:1px solid #e6e6e6;word-break:break-all}.comment-me-page #comment-dialog-widget{position:absolute;padding:5px;border:1px solid #999;background:#fff;border-radius:4px;z-index:15}.comment-me-page #comment-dialog-widget .dialog-titlebar{height:16px;cursor:move}.comment-me-page #comment-dialog-widget .dialog-titlebar .dialog-close-btn{float:right;width:46px;height:16px;background:url(../assets/img/home/openbox_close.png?v155ba59f278) no-repeat 0 0;cursor:pointer}.comment-me-page #comment-dialog-widget .dialog-titlebar .dialog-close-btn:hover{background-position:0 -16px}.comment-me-page #comment-dialog-widget .dialog-content{padding:3px 30px}.comment-me-page #comment-dialog-widget .dialog-content dl{display:table-row}.comment-me-page #comment-dialog-widget .dialog-content dd{display:table-cell;vertical-align:top;font-size:13px;line-height:15px}.comment-me-page #comment-dialog-widget .dialog-content textarea{width:390px;height:80px;max-width:390px;max-height:240px;background:url(../assets/img/home/input-back.png?v155ba59f26e) repeat-x;font-family:Trebuchet MS,Tahoma,Verdana,Arial,sans-serif}.comment-me-page #comment-dialog-widget .dialog-buttons{padding-right:30px}.comment-me-page #comment-dialog-widget .dialog-buttons button{color:#666;float:right;padding:8px 15px;margin-left:5px;border:1px solid #aaa;border-radius:3px;background-color:#f2f2f2;outline:none}.comment-me-page #comment-dialog-widget .dialog-buttons .dialog-save-btn{color:#fff;font-weight:700;border-color:#b5023d;background-color:#da0249}.complaint-me-page{font-size:12px}.complaint-me-page .complaint .title{background-image:url(../assets/img/home/complaints.png?v155ba59f253)}.complaint-me-page .me-complaints{padding:10px 10px 0}.complaint-me-page .me-complaints .empty-tip{padding:100px 0}.complaint-me-page .me-complaints .complaints-table-header{margin-bottom:10px}.complaint-me-page .me-complaints .complaint-item{padding:10px;border:1px solid #e6e6e6;margin-bottom:5px;color:#999;line-height:18px}.complaint-me-page .me-complaints .complaint-item .question{color:#e9034e;background:url(../assets/img/home/complaints-sd.png?v155ba59f252) no-repeat -13px 2px}.complaint-me-page .me-complaints .complaint-item .reply{color:#390;background:url(../assets/img/home/complaints-sd.png?v155ba59f252) no-repeat 0 -25px}.complaint-me-page .me-complaints .complaint-item .cancel-btn{width:68px;line-height:23px;text-align:center;color:#fff;background:url(../assets/img/home/remark-btn.png?v155ba59f287) no-repeat;display:inline-block;cursor:pointer}.complaint-me-page .me-complaints .complaint-item>div{display:inline-block;vertical-align:top}.complaint-me-page .me-complaints .info{width:280px;color:#000;text-align:left}.complaint-me-page .me-complaints .content{width:340px;text-align:left}.complaint-me-page .me-complaints .content p{padding-left:20px;margin-top:5px}.complaint-me-page .complaint-form{padding:10px}.complaint-me-page .complaint-form h2{clear:both;height:21px;line-height:21px;padding-left:23px;background:url(../assets/img/home/complaint-icon.png?v155ba59f250) no-repeat 5px 5px #efefef;border:1px solid #e6e6e6;font-size:12px;color:#333;font-weight:400}.complaint-me-page .complaint-form .form-content{font-size:12px;padding:7px 0}.complaint-me-page .complaint-form .form-content dl{padding:7px 5px;line-height:22px}.complaint-me-page .complaint-form .form-content dt{width:75px;color:#333;text-align:right;float:left}.complaint-me-page .complaint-form .form-content dd>input{width:150px;height:18px;line-height:18px}.complaint-me-page .complaint-form .form-content dd>input,.complaint-me-page .complaint-form .form-content dd>textarea{color:#333;border:1px solid #c9c9c9;background:url(../assets/img/home/input-back.png?v155ba59f26e) repeat-x;vertical-align:top}.complaint-me-page .complaint-form .form-content dd>textarea{width:400px;height:80px;max-width:500px;max-height:320px;overflow:auto}.complaint-me-page .complaint-form .form-submit>input{width:138px;height:34px;margin-left:80px;border:0;background:url(../assets/img/home/submit-btn.png?v155ba59f28f) no-repeat;color:#fff;font-size:14px;font-weight:700;text-align:center;padding-right:20px;cursor:pointer;display:inline-block}.message-me-page .message .title{background-image:url(../assets/img/home/message.png?v155ba59f271)}.message-me-page .message-table-header{font-size:12px}.message-me-page .message-table-header .sender{width:118px;padding-left:38px;text-align:left}.message-me-page .message-table-header .heading{width:408px;text-align:left}.message-me-page .message-table-header .time{width:130px}.message-me-page .message-table-header .action{padding-left:10px;width:66px}.message-me-page .message-list{padding:10px;font-size:12px}.message-me-page .message-list table{width:100%;line-height:38px}.message-me-page .message-list table tr{color:#999;border:1px solid #e6e6e6}.message-me-page .message-list table tr td{text-align:center}.message-me-page .message-list table tr input{vertical-align:middle;margin:0}.message-me-page .message-list table tr .del-btn{color:#468fa2;text-decoration:none;cursor:pointer}.message-me-page .message-list table .list-foot{background:#f8f8f8}.message-me-page .message-list table .list-foot button{float:left;line-height:18px;padding:2px 10px;border:1px solid #ccc;border-radius:2px;cursor:pointer;outline:none}.message-me-page .message-list table .list-foot .del-choose-btn{background:#da044a;border-color:#cc0345;margin-right:10px;color:#fff}.message-me-page .message-list table .list-foot .read-choose-btn{background:#ddd;color:#b3b3b3}.message-me-page .message-list table .list-foot .has-new{background:#3797af;border-color:#147e98;color:#fff}.message-me-page .message-list table .td-sender{width:110px;color:#666;text-align:left;white-space:nowrap;overflow:hidden}.message-me-page .message-list table .td-title{width:410px;padding-left:10px;color:#666;text-align:left;white-space:nowrap;overflow:hidden}.message-me-page .message-list table .new-msg{background:#f0f5f8;border-bottom:1px solid #becfd3}.message-me-page .message-list table .new-msg .td-sender a,.message-me-page .message-list table .new-msg .td-title a{font-weight:700;color:#468fa2}.content-message-page .title{background-image:url(../assets/img/home/message.png?v155ba59f271)}.content-message-page .title .back-list{font-size:12px;float:right;width:67px;height:22px;line-height:22px;margin-top:9px;padding-right:4px;text-align:center;color:#fdfdfd;display:inline-block;background:url(../assets/img/home/btn-more.png?v155ba59f249) no-repeat;cursor:pointer}.content-message-page .text-container{font-size:12px;line-height:18px;padding:20px}.content-message-page .text-container .text-title{margin-bottom:10px;padding-bottom:10px;border-bottom:1px dashed #999}.content-message-page .text-container .text-title span{color:#999}.content-message-page .text-container .coupon-item{display:table-row}.content-message-page .text-container .coupon-item>div{padding:10px 0;display:table-cell;vertical-align:middle}.content-message-page .text-container .coupon-item img{vertical-align:middle}.content-message-page .text-container .coupon-item a{width:90px;height:30px;line-height:30px;text-align:center;color:#b3b3b3;font-size:14px;background-color:#ddd;border:1px solid #ccc;border-radius:4px;display:inline-block;cursor:pointer}.content-message-page .text-container .coupon-item .coupon-img{width:160px;text-align:center}.content-message-page .text-container .coupon-item .coupon-info{width:470px;line-height:20px}.content-message-page .text-container .coupon-item .pick-coupon-btn,.content-message-page .text-container .coupon-item .view-coupon-btn{color:#fff;background:#da044a;border-color:#cc0345;display:inline-block}.content-message-page .text-container .sale-img{margin-bottom:15px;overflow:hidden}.content-message-page .text-container .sale-img img{vertical-align:top}.content-message-page .text-container .sale-btn{color:#fff;padding:0 10px;background:#e1044b;margin-top:15px;border:1px solid #c10241;border-radius:2px;display:inline-block;cursor:pointer}.vip-me-page .title{background-image:url(../assets/img/home/vip-img/vip-title.png?v155ba59f32b)}.vip-me-page .vip-level{clear:both;overflow:hidden}.vip-me-page .level{margin:20px 15px 0 40px;line-height:31px;float:left;clear:both;font-size:14px;color:#000}.vip-me-page .vipimg1{background-image:url(../assets/img/home/vip-img/silver-vip.png?v155ba59f324)}.vip-me-page .vipimg1,.vip-me-page .vipimg2{margin-top:20px;width:138px;height:31px;float:left}.vip-me-page .vipimg2{background-image:url(../assets/img/home/vip-img/gold-vip.png?v155ba59f321)}.vip-me-page .vipimg3{margin-top:20px;width:138px;height:31px;float:left;background-image:url(../assets/img/home/vip-img/platinum-vip.png?v155ba59f322)}.vip-me-page .favimg{float:left;width:645px;margin-top:20px;overflow:hidden}.vip-me-page .list{width:145px;float:left;margin:0 10px 8px 0}.vip-me-page .imgsrc{width:25px;float:left;margin-top:5px}.vip-me-page .fav-font{line-height:31px;font-size:12px;margin-left:30px;color:#000}.vip-me-page .year-amount{float:left;width:600px;margin-top:20px}.vip-me-page .amount{float:left}.vip-me-page .amount,.vip-me-page .ps{font-size:14px;font-weight:700;line-height:31px}.vip-me-page .ps{margin-left:30px}.vip-me-page .plalevel{margin-top:7px;width:160px;height:21px;background-image:url(../assets/img/home/vip-img/platinum.png?v155ba59f323)}.vip-me-page .amount-length{width:400px;height:15px;margin-bottom:5px}.vip-me-page .img-length{width:293px;height:12px;background-color:#e0e0e0}.vip-me-page .amount-left{width:298px;height:12px;overflow:hidden;float:left}.vip-me-page .img-left{height:12px;background-color:#cda16c;z-index:7;float:left}.vip-me-page .img-right{width:5px;height:12px;float:left;z-index:7;background-image:url(../assets/img/sprite.home.png?v155ba59fd56);background-position:-39px -24px;margin-left:-5px}.vip-me-page .letter{width:100px;font-size:12px;margin-left:303px;line-height:10px;margin-bottom:2px}.vip-me-page .change-img0{width:293px;height:18px;background-image:url(../assets/img/home/vip-img/vip-change1.png?v155ba59f327)}.vip-me-page .change-img1{width:293px;height:18px;background-image:url(../assets/img/home/vip-img/vip-change2.png?v155ba59f328)}.vip-me-page .change-img2{width:293px;height:18px;background-image:url(../assets/img/home/vip-img/vip-change3.png?v155ba59f329)}.vip-me-page .balance{margin-top:7px;font-size:13px;font-weight:700;margin-bottom:10px}.vip-me-page .balance p{float:left}.vip-me-page .balance a{color:red;margin-left:10px;float:left}.vip-me-page .history{margin-top:10px;clear:both;overflow:hidden}.vip-me-page .hisamout{margin-left:10px}.vip-me-page .line{clear:both;width:703px;height:1px;margin-bottom:5px;margin-left:40px;margin-top:25px;background-color:#e8e8e8;overflow:hidden}.vip-me-page .valid{overflow:hidden}.vip-me-page .valid-time{clear:both;width:720px;height:175px;margin-left:40px;position:relative;font-size:14px}.vip-me-page .time1{float:left;width:135px;height:135px;border-right:2px dashed #000}.vip-me-page .time1-img{margin-top:95px;width:130px;height:33px;background-image:url(../assets/img/home/vip-img/time1.png?v155ba59f325)}.vip-me-page .time2{width:129px}.vip-me-page .time2,.vip-me-page .time3{float:left;height:175px;border-right:2px dashed #000}.vip-me-page .time3{width:354px}.vip-me-page .time4{float:left;width:90px;height:155px}.vip-me-page .time-top{display:block;font-size:13px;margin-top:10px;margin-left:10px;line-height:18px}.vip-me-page .time-top span{font-weight:700}.vip-me-page .time-top a{color:red}.vip-me-page .time2-img{margin-top:47px;width:131px;height:33px;background-color:#ecdbca}.vip-me-page .time-left{float:left;display:block;font-size:13px;margin-top:10px;margin-left:10px;line-height:18px}.vip-me-page .time-left span{font-weight:700}.vip-me-page .time-right{float:right;display:block;font-size:13px;margin-top:10px;margin-right:10px;line-height:18px}.vip-me-page .time-right span{font-weight:700}.vip-me-page .time3-img{color:#fff;line-height:33px;margin-top:93px;width:356px;height:33px;background-color:#cda16d;text-align:center}.vip-me-page .time4-img{margin-top:65px;width:62px;height:33px;border-color:#ecdbca #fff transparent transparent;border-style:solid solid dashed dashed;border-width:33px 20px 0 0}.vip-me-page .doubt{margin-left:40px;margin-bottom:25px;margin-top:20px;font-size:14px}.vip-me-page .doubt a{float:right;margin-right:55px}.vip-me-page .tell{color:red}.vip-me-page .time-line{position:absolute;width:703px;height:2px;background-color:#e8e8e8;margin-top:65px}.help-page{width:990px;font-size:12px;margin:0 auto 20px}.help-page .path-nav{padding:11px 0;border-bottom:0;padding-left:25px;background:url(../assets/img/help/home-icon.png?v155ba59f240) no-repeat 0 12px}.help-page .left-container{float:left;width:180px;margin-right:8px}.help-page .block{border:1px solid #dedede;border-radius:2px}.help-page .title{height:40px;line-height:40px;padding:0 8px;background-color:#e3e3e3;background-position:10px 12px;background-repeat:no-repeat}.help-page .help-navigation{background:#f8f8f8;margin-bottom:10px}.help-page .help-navigation .help-center{background-image:url(../assets/img/help/help-center.png?v155ba59f23c)}.help-page .help-navigation dl{width:100%;height:40px;background:#efefef;border-top:1px solid #e6e6e6;border-bottom:1px solid #e6e6e6}.help-page .help-navigation dl dt{width:132px;height:22px;margin:10px 0 10px 7px;overflow:hidden;background:url(../assets/img/help/help-search.png?v155ba59f23f) no-repeat;float:left}.help-page .help-navigation dl dt input{width:110px;border:0;background:none;margin:3px 10px}.help-page .help-navigation dl dd{width:31px;float:left;margin:10px 0}.help-page .help-navigation dl dd .search-btn{width:31px;height:22px;border:0;background:url(../assets/img/help/help-search.png?v155ba59f23f) no-repeat -134px 0;cursor:pointer;text-indent:-999em}.help-page .help-navigation ul{width:154px;padding:8px 12px}.help-page .help-navigation ul li{line-height:20px;font-family:Arial,helvetica,sans-serif;margin:5px 0;padding-left:20px;color:#333;background:url(../assets/img/help/help-nav-li.png?v155ba59f23d) no-repeat}.help-page .help-navigation ul .active{background-position:0 -20px}.help-page .help-navigation ul .active a{color:#fff}.help-page .help-service{background:#f8f8f8;line-height:15px}.help-page .help-service .service-center{background-image:url(../assets/img/help/yoho-service.png?v155ba59f242);background-position:10px 9px}.help-page .help-service .service-main{padding:12px}.help-page .help-service .service-main strong{color:#000;font-size:18px;font-weight:700;font-family:Arial,helvetica,sans-serif}.help-page .help-service .service-main p:first-child{margin-bottom:10px}.help-page .help-main{width:800px;float:left;line-height:18px}.help-page .help-main strong{font-weight:700}.help-page .help-main .help-content{padding:15px}.help-page .help-main .help-content a{color:#468fa2;text-decoration:underline}.search-help-page .search-content{padding:15px}.search-help-page .search-content h2{border-bottom:2px solid #eee;font-size:14px;color:#333;height:20px;line-height:20px;padding-top:10px}.search-help-page .search-content ul{margin:10px 0;display:block;min-height:20px}.search-help-page .search-content ul li{width:345px;height:20px;line-height:20px;padding:0 0 0 20px;margin:0 15px 5px 0;display:inline-block;overflow:hidden;background:url(../assets/img/help/ask-icon.png?v155ba59f23b) no-repeat 2px 3px;font-family:Arial,helvetica,sans-serif}.search-help-page .search-content ul .faqs{color:#666;cursor:pointer}.search-help-page .search-content .full-search{line-height:22px;padding:10px 8px;background-color:#e3e3e3;font-size:14px;font-weight:700}.search-help-page .search-content .full-search label{padding:12px}.search-help-page .search-content .full-search .full-search-name{width:185px;height:22px;padding:0 10px;border:0;background:url(../assets/img/help/help-search.png?v155ba59f23f) no-repeat 0 -22px}.search-help-page .search-content .full-search .search-btn{width:31px;height:22px;border:0;background:url(../assets/img/help/help-search.png?v155ba59f23f) no-repeat -134px 0;cursor:pointer;text-indent:-999em}.search-help-page .search-content .full-search .yoho-im-btn{width:120px;height:20px;background:url(../assets/img/help/yoho-im.png?v155ba59f241);display:inline-block;vertical-align:middle;margin-left:10px;border:0;cursor:pointer}.search-help-page .search-content .empty-tip{padding:200px 0;text-align:center}.search-help-page .search-content .empty-tip span{color:#e8044f;font-weight:700}.search-help-page .search-content .all-ask-list{line-height:18px;padding-top:10px}.search-help-page .search-content .all-ask-list .ask-item{padding:10px}.search-help-page .search-content .all-ask-list .ask-item.even{border:1px solid #fbf0d5;background:#fefaf0}.search-help-page .search-content .all-ask-list .ask{min-height:10px;padding-left:20px;margin-bottom:10px;background:url(../assets/img/help/ask-icon.png?v155ba59f23b) no-repeat 2px 2px}.search-help-page .search-content .all-ask-list .answer{padding-left:20px;color:#f07100;background:url(../assets/img/help/answer-icon.png?v155ba59f238) no-repeat 2px 2px}.search-help-page .search-content .search-pager{height:20px;padding:10px}.search-help-page .search-content .search-pager .pager-html{display:inline}.search-help-page .search-content .search-pager a{border:1px solid #cecece;padding:0 6px;height:18px;line-height:18px;border-radius:2px;margin-right:4px;background-color:#fff}.search-help-page .search-content .search-pager a.cur{background-color:#222;color:#fff}.search-help-page .dialog-widget{position:absolute;width:450px;padding:5px;border:1px solid #999;background:#fff;border-radius:4px;z-index:16}.search-help-page .dialog-widget .dialog-titlebar{height:16px;cursor:move}.search-help-page .dialog-widget .dialog-titlebar .dialog-close-btn{float:right;width:46px;height:16px;background:url(../assets/img/home/openbox_close.png?v155ba59f278) no-repeat 0 0;cursor:pointer}.search-help-page .dialog-widget .dialog-titlebar .dialog-close-btn:hover{background-position:0 -16px}.search-help-page .dialog-widget .dialog-content{padding:20px 30px}.search-help-page .dialog-widget .dialog-content p{line-height:20px;padding-left:20px;padding-bottom:10px;font-size:12px;background:url(../assets/img/help/ask-icon.png?v155ba59f23b) no-repeat 2px 3px}.search-help-page .dialog-widget .dialog-content .answer{color:#f07100;background:url(../assets/img/help/answer-icon.png?v155ba59f238) no-repeat 2px 2px}.search-help-page .dialog-bg{position:fixed;top:0;left:0;width:100%;height:100%;background:#000;opacity:.2;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=20)";z-index:15}.order-ensure-page{width:990px;margin:40px auto}.order-ensure-page .order-edit{width:100%;position:relative;margin-bottom:35px}.order-ensure-page .order-edit .order-title{position:relative;margin-bottom:15px}.order-ensure-page .order-edit .order-title ul{display:block;background-image:url(../assets/img/sprite.order.png?v155ba59fd56);background-position:-247px 0;width:364px;height:12px;position:absolute;right:0;top:0}.order-ensure-page .order-edit .order-title ul li{display:block;width:33.33333333%;float:left;font-size:12px;color:#999;height:50px;line-height:50px;text-align:center;position:relative}.order-ensure-page .order-edit .order-title ul li.active{color:#333}.order-ensure-page .order-edit .order-title ul li.active:after{display:block;content:'';background-image:url(../assets/img/sprite.order.png?v155ba59fd56);background-position:-273px -46px;width:12px;height:12px;position:absolute;left:50%;margin-left:-6px;top:0}.order-ensure-page .order-edit .order-title ul li.first{text-align:left}.order-ensure-page .order-edit .order-title ul li.first.active:after{left:0;margin-left:0}.order-ensure-page .order-edit .order-title ul li.end{text-align:right}.order-ensure-page .order-edit .order-title ul li.end.active:after{right:0;margin-left:0}.order-ensure-page .order-edit .order-title:before{content:'';display:block;background-image:url(../assets/img/sprite.order.png?v155ba59fd56);background-position:0 -72px;width:117px;height:33px}.order-ensure-page .order-edit .order-title.cart-page-title:before{content:'';display:block;background-image:url(../assets/img/sprite.order.png?v155ba59fd56);background-position:-119px -72px;width:117px;height:33px}.order-ensure-page .order-edit .order-edit-main{border:1px solid #ccc;margin-top:20px}.order-ensure-page .order-edit .order-edit-main h2.title{height:30px;line-height:30px;background:#000;color:#fff;font-size:12px;text-indent:15px;overflow:hidden}.order-ensure-page .order-edit .order-edit-main h2.title a{display:block;width:90px;height:22px;background-image:url(../assets/img/sprite.order.png?v155ba59fd56);background-position:-521px -14px;float:right;margin-top:4px;margin-right:10px;cursor:pointer}.order-ensure-page .order-edit .order-edit-main .order-content{padding:5px 30px;font-size:12px;color:#333}.order-ensure-page .order-edit .order-edit-main .order-content .order-selection{border-bottom:1px dashed #ccc;padding:15px 0 0}.order-ensure-page .order-edit .order-edit-main .order-content .order-selection h2{font-size:14px;color:#000}.order-ensure-page .order-edit .order-edit-main .order-content .order-selection h2 span{color:#e8044f;text-decoration:underline;cursor:pointer}.order-ensure-page .order-edit .order-edit-main .order-content .address-list h2{margin-bottom:15px}.order-ensure-page .order-edit .order-edit-main .order-content .address-list ul li{padding:10px 0}.order-ensure-page .order-edit .order-edit-main .order-content .address-list ul li strong{font-weight:700;margin-right:15px}.order-ensure-page .order-edit .order-edit-main .order-content .address-list ul li input.radio{margin:0;vertical-align:middle}.order-ensure-page .order-edit .order-edit-main .order-content .address-list ul .order-modify-btn{display:inline-block;float:right;color:#e8044f;width:80px;padding-right:20px;height:auto;overflow:hidden}.order-ensure-page .order-edit .order-edit-main .order-content .address-list ul .order-modify-btn span{text-decoration:underline;cursor:pointer;float:right}.order-ensure-page .order-edit .order-edit-main .order-content .address-list ul .order-modify-btn span.address-modify{float:left}.order-ensure-page .order-edit .order-edit-main .order-content .address-list .exist-address-list{min-height:35px}.order-ensure-page .order-edit .order-edit-main .order-content .address-list .exist-address-list li{border:1px solid #fff;padding-left:15px}.order-ensure-page .order-edit .order-edit-main .order-content .address-list .exist-address-list li strong{color:#e8044f}.order-ensure-page .order-edit .order-edit-main .order-content .address-list .exist-address-list li .default-address,.order-ensure-page .order-edit .order-edit-main .order-content .address-list .exist-address-list li .order-modify-btn{display:none}.order-ensure-page .order-edit .order-edit-main .order-content .address-list .exist-address-list li .default-address{margin-left:15px;color:#468fa2;text-decoration:underline}.order-ensure-page .order-edit .order-edit-main .order-content .address-list .exist-address-list li .radio{display:none}.order-ensure-page .order-edit .order-edit-main .order-content .address-list .exist-address-list li.has-exist-address .default-address{color:#468fa2;text-decoration:underline;cursor:pointer}.order-ensure-page .order-edit .order-edit-main .order-content .address-list .exist-address-list.address-expand li .default-address,.order-ensure-page .order-edit .order-edit-main .order-content .address-list .exist-address-list.address-expand li .order-modify-btn,.order-ensure-page .order-edit .order-edit-main .order-content .address-list .exist-address-list.address-expand li .radio{display:inline-block}.order-ensure-page .order-edit .order-edit-main .order-content .address-list .exist-address-list.address-expand li.active{background:#dbedf7;border:1px solid #8fb8e0}.order-ensure-page .order-edit .order-edit-main .order-content .address-list .exist-address-list.address-expand li.address_select .default-address{color:#999;text-decoration:none}.order-ensure-page .order-edit .order-edit-main .order-content .address-manage{margin-top:20px;border-top:1px dashed #ccc}.order-ensure-page .order-edit .order-edit-main .order-content .address-manage li{height:25px;line-height:25px}.order-ensure-page .order-edit .order-edit-main .order-content .address-manage li .address-legend{width:80px;text-align:right;display:inline-block;color:#333}.order-ensure-page .order-edit .order-edit-main .order-content .address-manage li .address-legend i{color:#e8044f}.order-ensure-page .order-edit .order-edit-main .order-content .address-manage li .text-input{height:25px;line-height:25px;width:180px;padding:0;border:1px solid #ccc}.order-ensure-page .order-edit .order-edit-main .order-content .address-manage li select.text-input{width:100px}.order-ensure-page .order-edit .order-edit-main .order-content .address-manage li .address-tel-input{width:180px;text-align:center;display:inline-block;height:25px;line-height:25px}.order-ensure-page .order-edit .order-edit-main .order-content .address-manage li .address-tel-input input{text-align:left;float:right;width:120px}.order-ensure-page .order-edit .order-edit-main .order-content .address-manage li .address-tel-input input.tel-lengend{float:left;width:40px}.order-ensure-page .order-edit .order-edit-main .order-content .pay-btn,.order-ensure-page .order-edit .order-edit-main .order-content .save-btn{display:block;font-size:14px;color:#fff;font-weight:700;text-indent:25px;cursor:pointer;margin-bottom:15px}.order-ensure-page .order-edit .order-edit-main .order-content .save-btn{background-image:url(../assets/img/sprite.order.png?v155ba59fd56);background-position:0 -36px;width:200px;height:34px;line-height:34px}.order-ensure-page .order-edit .order-edit-main .order-content .save-btn.new-user-btn{width:245px;background-image:url(../assets/img/sprite.order.png?v155ba59fd56);background-position:0 0}.order-ensure-page .order-edit .order-edit-main .order-content .pay-btn{background-image:url(../assets/img/sprite.order.png?v155ba59fd56);background-position:0 -107px;width:90px;height:34px;line-height:34px}.order-ensure-page .order-edit .order-edit-main .order-content .pay-btn.new-user-pay{background-image:url(../assets/img/sprite.order.png?v155ba59fd56);background-position:0 -36px;width:200px}.order-ensure-page .order-edit .order-edit-main .order-content .pay-time ul{padding:15px}.order-ensure-page .order-edit .order-edit-main .order-content .pay-time ul li{margin:10px 0}.order-ensure-page .order-edit .order-edit-main .order-content .pay-time ul li input.radio{margin:0;vertical-align:middle}.order-ensure-page .order-edit .order-edit-main .order-content .pay-time ul .prev-sell-item{color:#e8044f}.order-ensure-page .order-edit .order-edit-main .order-content .pay-time .pay-time-modify .pay-time-title{margin-top:20px}.order-ensure-page .order-edit .order-edit-main .order-content .pay-time .pay-time-modify h3{height:25px;line-height:25px;border:1px solid #e6e6e6;background:#efefef;text-indent:25px;position:relative}.order-ensure-page .order-edit .order-edit-main .order-content .pay-time .pay-time-modify h3:after{content:'';display:block;width:11px;height:11px;background:url(../assets/img/order/roundgreybtn.gif?v155ba59f2b1);position:absolute;top:7px;left:8px}.order-ensure-page .order-edit .order-edit-main .order-content .pay-time .pay-time-modify .pay-dashed-hr{border-bottom:1px dashed #ccc;padding-bottom:10px}.order-ensure-page .order-edit .order-edit-main .order-content .pay-time .pay-time-modify .pay-type-tips{color:#999;padding-left:15px}.order-ensure-page .order-edit .order-edit-main .order-content .pay-time .pay-time-modify div.pay-type-legend{width:130px;display:inline-block;padding:0;text-indent:0}.order-ensure-page .order-edit .order-edit-main .order-content .pay-time .pay-time-modify span.pay-type-legend{margin:0;color:#468fa2;cursor:pointer}.order-ensure-page .order-edit .order-edit-main .order-content .pay-time .pay-time-modify span.pay-type-legend:after{content:'';width:12px;height:12px;background:url(../assets/img/order/icon-arrow.png?v155ba59f2a9);display:inline-block;transition:transform .3}.order-ensure-page .order-edit .order-edit-main .order-content .pay-time .pay-time-modify span.pay-type-legend.active:after{transform:rotate(180deg)}.order-ensure-page .order-edit .order-edit-main .order-content .pay-time .pay-time-modify .support-type{display:block;margin-left:130px;border-left:1px dashed #ccc;font-size:12px}.order-ensure-page .order-edit .order-edit-main .order-content .pay-time .pay-time-modify .support-type h4{padding:10px 0 10px 15px}.order-ensure-page .order-edit .order-edit-main .order-content .pay-time .pay-time-modify .support-type ul{height:auto;overflow:hidden;margin:0;padding:0}.order-ensure-page .order-edit .order-edit-main .order-content .pay-time .pay-time-modify .support-type ul li{display:block;float:left;width:105px;height:30px;border:1px solid #ccc;margin:0 0 10px 15px}.order-ensure-page .order-edit .order-edit-main .order-content .pay-time .pay-time-modify .support-type ul li img{display:block;width:100%;height:100%;overflow:hidden}.order-ensure-page .order-edit .order-edit-main .order-content .pay-time .pay-time-modify .pay-recommend{font-size:0}.order-ensure-page .order-edit .order-edit-main .order-content .pay-time .pay-time-modify .pay-recommend .pay-type-legend,.order-ensure-page .order-edit .order-edit-main .order-content .pay-time .pay-time-modify .pay-recommend .support-type{font-size:12px}.order-ensure-page .order-edit .order-edit-main .order-content .select-express{border-bottom:none}.order-ensure-page .order-edit .order-edit-main .order-content .select-express .sf{color:red;text-decoration:underline}.order-ensure-page .order-edit .order-edit-main .order-content .select-express .express-list{padding-left:15px;margin:10px 0}.order-ensure-page .order-edit .order-edit-main .order-content .select-express .express-list input.radio{margin:0;vertical-align:middle}.order-ensure-page .order-edit .order-edit-main .order-content .select-express .express-tips{color:#999}.order-ensure-page .order-pay{width:100%}.order-ensure-page .differentOrder{position:relative;width:100%}.order-ensure-page .differentOrder .warn{text-align:center;background:#fefbd5;font:initial;height:40px;line-height:40px;font-size:16px}.order-ensure-page .differentOrder .warn .red{color:red}.order-ensure-page .differentOrder .warn .why{background-image:url(../assets/img/sprite.order.png?v155ba59fd56);background-position:-247px -46px;width:26px;height:20px;display:inline-block;vertical-align:middle}.order-ensure-page .differentOrder .warn .why:hover{cursor:pointer}.order-ensure-page .differentOrder .differentBag:before{content:"";position:absolute;width:0;height:0;border-bottom:10px solid #000;border-left:10px solid transparent;border-right:10px solid transparent;top:-10px;right:219px}.order-ensure-page .differentOrder .differentBag{display:none;position:absolute;right:-10px;top:40px;width:510px;padding:0 50px;background:#fff;z-index:1;border:1px solid #000;font-size:14px}.order-ensure-page .differentOrder .bag{position:relative;border-bottom:1px solid #e0e0e0;margin-top:10px;padding:20px 0}.order-ensure-page .differentOrder .bag h3{height:30px;line-height:30px;font-weight:700;margin-left:15px}.order-ensure-page .differentOrder .bag .pre{background-position:0 -142px;left:-30px}.order-ensure-page .differentOrder .bag .next,.order-ensure-page .differentOrder .bag .pre{position:absolute;background-image:url(../assets/img/sprite.order.png?v155ba59fd56);width:30px;height:50px;top:70px;display:none}.order-ensure-page .differentOrder .bag .next{background-position:-32px -142px;right:-30px}.order-ensure-page .differentOrder .bag p{color:#767676;margin-left:15px}.order-ensure-page .differentOrder .bagDetil{position:relative;height:90px;width:510px;overflow:hidden;margin-bottom:20px}.order-ensure-page .differentOrder .bagDetil ul{list-style:none;position:absolute;left:0;clear:both;height:90px}.order-ensure-page .differentOrder .bagDetil ul li{float:left;width:102px;height:90px;line-height:90px;text-align:center;position:relative}.order-ensure-page .differentOrder .bagDetil ul li img{width:90px;height:90px}.order-ensure-page .differentOrder .bagDetil ul li p{position:absolute;bottom:0;background:#9c3;width:90px;height:1rem;line-height:1rem;color:#fff;margin-left:7px}.freebie-tag{background:#9c3}.advance-buy-tag{background:#fc1264}.virtual-good-tag{background:red}.presall-tag{background:blue}.order-pay{font-size:12px;line-height:150%}.order-pay .pay-wapper{border:1px solid #ccc;border-top:none}.order-pay .pay-wapper .cart-sub-total{font-weight:700}.order-pay .pay-wapper .cart-sub-total-all{font-weight:700;font-size:18px}.order-pay table{width:100%}.order-pay table td{border:1px solid #ccc;border-left:0 none;padding:10px;text-align:center}.order-pay thead{background:#000}.order-pay thead th{height:32px;line-height:32px;color:#fff;vertical-align:middle;text-align:center;font-weight:700}.order-pay thead .clo1{width:10%}.order-pay thead .clo2{width:20%}.order-pay thead .clo4{width:40%}.order-pay .pay-pro-icon{float:left;width:60px;height:60px;display:block;position:relative}.order-pay .pay-pro-icon span{width:100%;height:16px;line-height:16px;position:absolute;left:0;bottom:0;text-align:center;color:#fff;display:block;cursor:pointer}.order-pay .pay-pro-icon .incentive{background:#f74a87}.order-pay .pay-pro-icon .gift{background:#9c3}.order-pay .pay-pro-info{color:#999;margin-left:70px;text-align:left}.order-pay .pay-pro-info a{color:#468fa2;text-decoration:none;display:block}.order-pay .pay-pro-info a:hover{text-decoration:underline}.order-pay .play-content{padding:10px}.order-pay .play-content .red{color:#e8044f!important}.order-pay .play-content .orange{color:#f60!important}.order-pay .play-content .strong{font-weight:700;color:#000}.order-pay .play-content .pan dt{width:105px;height:30px;padding:0 0 0 30px;line-height:30px;text-align:left;border:0;color:#fff;display:inline-block;cursor:pointer;background:url(../assets/img/order/btn-openclose.png?v155ba59f2a7) no-repeat 0 -60px;margin-bottom:5px}.order-pay .play-content .pan dd{display:none;border:1px solid #ccc;padding:10px 15px;margin-bottom:10px}.order-pay .play-content .dropdown,.order-pay .play-content .textbox{height:20px;line-height:20px;color:#333;border:1px solid #c9c9c9;vertical-align:top}.order-pay .play-content .btn-group{text-align:right}.order-pay .play-content .btn-group input{display:inline-block;background:none;border:1px solid #ccc;border-radius:2px;height:20px}.order-pay .play-content .btn-group .ok{background-color:#000;color:#fff;cursor:pointer}.order-pay .play-content .btn-group .cancel{cursor:pointer}.order-pay .play-content .play-left{float:left;width:405px}.order-pay .play-content .play-left .pan{text-align:left}.order-pay .play-content .play-left .pan dt{color:#000;background-image:url(../assets/img/sprite.order.png?v155ba59fd56);background-position:-384px -14px}.order-pay .play-content .play-left .pan dt.active{background-image:url(../assets/img/sprite.order.png?v155ba59fd56);background-position:-247px -14px}.order-pay .play-content .play-piao-pan li{height:25px;padding:10px 0;line-height:22px}.order-pay .play-content .play-piao-pan li label{width:65px;display:inline-block}.order-pay .play-content .play-piao-pan li .textbox{width:200px}.order-pay .play-content .play-remark-pan .textbox{width:369px;height:70px}.order-pay .play-content .play-remark-pan .note{padding:5px 0;color:#999}.order-pay .play-content .play-right{float:right;width:50%;width:405px}.order-pay .play-content .play-right .pan{text-align:right}.order-pay .play-content .play-right .red-envelopes{width:200px;height:60px;border:1px dashed #000;margin-top:10px;float:right;padding:15px;font-size:12px;color:#000}.order-pay .play-content .play-right .red-envelopes.active{background:#fefccb}.order-pay .play-content .play-right .use-envelopes{font-weight:700}.order-pay .play-content .play-right .has-envelopes{margin-top:5px}.order-pay .play-content .play-right .has-envelopes span{font-weight:700}.order-pay .play-content .back-coin{text-align:right;height:30px;line-height:30px;padding-right:18px}.order-pay .play-content .back-coin .yoho-coin{width:14px;height:14px;display:inline-block;background-image:url(../assets/img/sprite.cart.png?v155ba59fd53);background-position:-321px -225px;vertical-align:middle;margin-top:-2px;margin-right:4px}.order-pay .play-content .play-total{text-align:right;padding-bottom:20px}.order-pay .play-content .play-total .bi-modify,.order-pay .play-content .play-total .juan-modify{color:#468fa2;text-decoration:underline;cursor:pointer}.order-pay .play-content .play-total label{padding-right:10px}.order-pay .play-content .play-total em{width:80px;text-align:left;display:inline-block}.order-pay .play-content .play-total a{color:#468fa2;text-decoration:underline}.order-pay .play-content .play-total .total-express-w{color:#e80480}.order-pay .play-content .play-juan-pan dd{text-align:left}.order-pay .play-content .play-juan{padding:10px 0}.order-pay .play-content .play-juan .textbox{width:70px}.order-pay .play-content .play-juan [disabled=disabled]+label{color:#999}.order-pay .play-content .play-bi-pan dd{text-align:right}.order-pay .play-content .play-bi-pan .textbox{width:70px}.order-pay .play-content .play-bi-pan p{padding:10px 0}.order-pay .play-content .play-bi-pan p.errbitip{padding-top:0}.order-pay .to-play p{padding:10px 0;font-size:14px;text-align:right;color:#000}.order-pay .to-play p em{color:#e8044f;font-size:24px}.order-pay .to-play .btn-group{padding:10px 0 40px}.order-pay .to-play .btn-group .submit{float:right;width:133px;height:33px;padding:0;text-align:center;border:0;line-height:33px;font-size:14px;color:#fff;font-weight:700;background:url(../assets/img/order/btns.png?v155ba59f2a8) no-repeat 0 -33px;display:inline-block;cursor:pointer}.order-ensure-page .none{display:none}.order-ensure-page .gift{position:relative;width:988px;height:50px;background:url(../assets/img/cart/cart_gift.png?v155ba59f1d9) 0 0 repeat;border:1px solid #ccc;text-align:center}.order-ensure-page .gift p{background:url(../assets/img/cart/cart_gift_banner.jpg?v155ba59f1dc) 0 0 no-repeat;display:inline-block;width:450px;height:50px;overflow:hidden}.order-ensure-page .gift i{width:30px;height:30px;overflow:hidden;position:absolute;top:10px;right:5px;cursor:pointer}.order-ensure-page .gift .up{background-position:-329px -141px}.order-ensure-page .gift .down,.order-ensure-page .gift .up{background-image:url(../assets/img/sprite.cart.png?v155ba59fd53)}.order-ensure-page .gift .down{background-position:-332px -178px}.order-ensure-page .loading{width:120px;height:28px;overflow:hidden;position:absolute;left:50%;top:50%;display:none;line-height:30px;border:1px solid #ccc;font-size:12px;text-indent:10px;background:#fff}.order-ensure-page .loading span{width:20px;height:20px;float:left;margin:4px 4px 4px 13px;background:url(../assets/img/cart/loading_s.gif?v155ba59f1f0) 2px 2px no-repeat}.order-ensure-page .dev-revocation{border:1px solid #fcd081;background:#fff8d9;margin-bottom:15px}.order-ensure-page .dev-revocation td{border:none}.order-ensure-page .dev-revocation td a{color:#468fa2;margin-left:12px}.order-ensure-page .dev-revocation td a:hover{text-decoration:underline}.order-ensure-page .order-title{margin-top:30px;height:auto;overflow:hidden}.order-ensure-page .salesPromotion{width:990px;height:36px;border-bottom:1px solid #ccc;font-size:12px}.order-ensure-page .salesPromotion p{width:800px;height:36px;line-height:36px;float:left;padding:0 10px}.order-ensure-page .salesPromotion p b{margin-right:5px;background:#6c6c6c;border-radius:4px;padding:1px 5px;color:#fff}.order-ensure-page .salesPromotion span{width:150px;height:36px;padding:0 10px;line-height:36px;float:right;text-align:right;position:relative}.order-ensure-page .salesPromotion span i{position:absolute;top:11px;left:108px;float:left;width:13px;height:13px;background-image:url(../assets/img/sprite.cart.png?v155ba59fd53);background-position:-357px -71px}.order-ensure-page .cartnew-tips{height:auto;overflow:hidden;font-size:12px;margin-bottom:5px}.order-ensure-page .cartnew-tips .tipsbox{width:648px;height:23px;line-height:18px;padding:4px 5px 4px 10px;color:#666;background:url(../assets/img/cart/cartnew_tipsbox.png?v155ba59f1d1) no-repeat;position:relative;float:left}.order-ensure-page .cartnew-tips .tipsbox .btn_close{width:17px;height:17px;padding:0;background-image:url(../assets/img/sprite.cart.png?v155ba59fd53);background-position:-270px -225px;float:right;cursor:pointer}.order-ensure-page .cartnew-tips .tipsbox strong{color:#000;font-weight:700}.order-ensure-page .cartnew-tips .tipsbox a{color:#468fa2}.order-ensure-page .pay-wapper{position:relative}.order-ensure-page .pay-wapper .pre-sell .pre-sell-title{background:#fff9d9}.order-ensure-page .pay-wapper .pre-sell .pre-sell-title span{margin-right:10px}.order-ensure-page .pay-wapper .free{display:inline-block;width:39px;height:20px;background-image:url(../assets/img/sprite.cart.png?v155ba59fd53);background-position:-150px -225px}.order-ensure-page .pay-wapper .fold,.order-ensure-page .pay-wapper .none{display:none}.order-ensure-page .pay-wapper .vipPrice{color:#e8044f;display:block}.order-ensure-page .pay-wapper .presell{color:#c21250;display:block}.order-ensure-page .pay-wapper .giftInfo{margin-left:30px}.order-ensure-page .pay-wapper .pay-pro-info{padding-left:15px;padding-top:10px;margin-left:0;float:left}.order-ensure-page .pay-wapper .pay-pro-info a{width:200px}.order-ensure-page .pay-wapper .pre-sell-box .cart-empty{border:none;padding:100px 0 100px 260px;background:url(../assets/img/cart/cart_empty.gif?v155ba59f1d8) 200px 56px no-repeat}.order-ensure-page .pay-wapper .pre-sell-box .cart-empty a{display:inline-block;width:90px;height:35px;background-image:url(../assets/img/sprite.cart.png?v155ba59fd53);background-position:-237px -141px;overflow:hidden;color:#666;line-height:32px}.order-ensure-page .pay-wapper .pre-sell-box .incentive{background:#000100;color:#fff}.order-ensure-page .pay-wapper .tip-message{background:#e8044f;color:#fff;font-size:12px;margin-top:5px}.order-ensure-page .pay-wapper .cart-product-num{font-size:12px;text-align:left;height:33px;line-height:33px;background:#f8f8f8;padding:0 10px;position:relative}.order-ensure-page .pay-wapper .cart-product-num strong{padding-left:20px;font-weight:700}.order-ensure-page .pay-wapper .cart-product-num .icon-minusCart{background-position:-289px -225px}.order-ensure-page .pay-wapper .cart-product-num .icon-addCart,.order-ensure-page .pay-wapper .cart-product-num .icon-minusCart{position:absolute;top:9px;left:15px;float:left;width:15px;height:15px;cursor:pointer;background-image:url(../assets/img/sprite.cart.png?v155ba59fd53)}.order-ensure-page .pay-wapper .cart-product-num .icon-addCart{background-position:-305px -225px}.order-ensure-page .pay-wapper .cart-product-num .icon-zp{position:absolute;top:8px;left:10px;float:left;width:18px;height:19px;background-image:url(../assets/img/sprite.cart.png?v155ba59fd53);background-position:-251px -225px}.order-ensure-page .pay-wapper .cart-product-num .cart-unfold{position:absolute;top:0;right:10px}.order-ensure-page .pay-wapper .cart-product-num .cart-unfold i{width:28px;height:20px;overflow:hidden;display:inline-block;margin-top:5px;cursor:pointer}.order-ensure-page .pay-wapper .cart-product-num .cart-btn-pre{background-image:url(../assets/img/sprite.cart.png?v155ba59fd53);background-position:-191px -225px}.order-ensure-page .pay-wapper .cart-product-num .cart-btn-next{background-image:url(../assets/img/sprite.cart.png?v155ba59fd53);background-position:-221px -225px}.order-ensure-page .pay-wapper .cart-product-num .unfold-color{color:#666;cursor:pointer}.order-ensure-page .pay-wapper .cart-product-num .cart-page p{float:left;padding-right:5px}.order-ensure-page .pay-wapper .cart-product-num .cart-page .f-red{color:red}.order-ensure-page .pay-wapper .cart-product-num input{position:relative;top:2px}.order-ensure-page .pay-wapper input.cart-item-check{float:left;margin-top:25px;margin-left:15px}.order-ensure-page .pay-wapper .adjust-cart-num input{width:30px;margin:0 5px;text-align:center}.order-ensure-page .pay-wapper .adjust-cart-num span{display:inline-block;width:11px;height:11px;cursor:pointer;font-size:10px}.order-ensure-page .pay-wapper .adjust-cart-num .minus{background-image:url(../assets/img/sprite.cart.png?v155ba59fd53);background-position:-357px -119px}.order-ensure-page .pay-wapper .adjust-cart-num .plus{background-image:url(../assets/img/sprite.cart.png?v155ba59fd53);background-position:-357px -106px}.order-ensure-page .pay-wapper .cart-add-btn{width:118px;height:32px;display:inline-block;overflow:hidden;border:0;cursor:pointer;line-height:32px}.order-ensure-page .pay-wapper .zp{background-image:url(../assets/img/sprite.cart.png?v155ba59fd53);background-position:-237px -71px}.order-ensure-page .pay-wapper .order{background-image:url(../assets/img/sprite.cart.png?v155ba59fd53);background-position:-237px -106px}.order-ensure-page .pay-wapper .cart-yetremove-btn{height:20px;line-height:21px;padding:0 10px;display:inline-block;color:#b3b3b3;position:relative;border:1px solid #dcdcdc;background:#ebebeb;border-radius:3px}.order-ensure-page .pay-wapper .cart-del-btn,.order-ensure-page .pay-wapper .cart-remove-btn{height:22px;line-height:21px;padding:0 10px;display:inline-block;cursor:pointer;color:#666;position:relative}.order-ensure-page .pay-wapper .cart-del-btn span,.order-ensure-page .pay-wapper .cart-remove-btn span{position:relative;z-index:9}.order-ensure-page .pay-wapper .cart-del-btn:after,.order-ensure-page .pay-wapper .cart-remove-btn:after{content:'';display:block;width:16px;height:100%;background-image:url(../assets/img/sprite.cart.png?v155ba59fd53);background-position:-102px -248px;position:absolute;right:0;top:0;z-index:7}.order-ensure-page .pay-wapper .cart-del-btn:before,.order-ensure-page .pay-wapper .cart-remove-btn:before{content:'';display:block;width:100%;height:100%;background-image:url(../assets/img/sprite.cart.png?v155ba59fd53);background-position:0 -225px;position:absolute;left:0;top:0}.order-ensure-page .cartnew-sum{background:#efefef;border:1px solid #ccc;padding:10px;margin-bottom:10px;zoom:1;margin-top:20px;height:auto;overflow:hidden;font-size:12px}.order-ensure-page .cartnew-sum .left{float:left}.order-ensure-page .cartnew-sum .left a{color:#333;margin-left:20px}.order-ensure-page .cartnew-sum .left input{position:relative;top:2px}.order-ensure-page .cartnew-sum .right{float:right;text-align:right}.order-ensure-page .cartnew-sum .right strong{color:#e8044f;font-size:18px}.order-ensure-page .cartnew-sum .sum{color:#333;font-weight:700;padding-bottom:5px}.order-ensure-page .cartnew-sum .yoho-coin{width:14px;height:14px;display:inline-block;background-image:url(../assets/img/sprite.cart.png?v155ba59fd53);background-position:-321px -225px;vertical-align:middle;margin-top:-2px;margin-right:4px}.order-ensure-page .cartnew-submit{padding:10px 0 40px;text-align:right;position:relative}.order-ensure-page .cartnew-submit .btn_continue{width:60px;padding:0 0 0 33px;text-align:left;color:#333;background-position:-237px -178px;float:left}.order-ensure-page .cartnew-submit .btn_account,.order-ensure-page .cartnew-submit .btn_continue{height:33px;border:0;line-height:33px;font-size:14px;font-weight:700;background-image:url(../assets/img/sprite.cart.png?v155ba59fd53);display:inline-block;cursor:pointer}.order-ensure-page .cartnew-submit .btn_account{width:133px;padding:0;text-align:center;color:#fff;background-position:-237px 0;float:right}.order-ensure-page .cartnew-submit .go_cash_tips{font-size:12px;width:200px;padding:5px 7px 0 28px;height:45px;position:absolute;right:135px;top:10px;text-align:left;color:#e8044f;background-image:url(../assets/img/sprite.cart.png?v155ba59fd53);background-position:0 0;display:block}.order-ensure-page .cartnew-submit .btn_account_disabled{width:133px;height:33px;padding:0;text-align:center;border:0;line-height:33px;font-size:14px;color:#ccc;font-weight:700;background-image:url(../assets/img/sprite.cart.png?v155ba59fd53);background-position:-237px -36px;display:inline-block;cursor:pointer}.order-ensure-page .cartnew-goodslist{margin-bottom:10px;font-size:12px;border:1px solid #ccc}.order-ensure-page .cartnew-goodslist .title{height:20px;padding:8px 10px;background:#efefef}.order-ensure-page .cartnew-goodslist .title h2{height:20px;line-height:24px;overflow:hidden;font-size:12px;float:left;cursor:pointer}.order-ensure-page .cartnew-goodslist .title h2 i{width:15px;height:15px;float:left;position:relative;top:4px;margin-right:5px}.order-ensure-page .cartnew-goodslist .title h2 .icon-minus{background-image:url(../assets/img/sprite.cart.png?v155ba59fd53);background-position:-289px -225px}.order-ensure-page .cartnew-goodslist .title h2 .icon-add{background-image:url(../assets/img/sprite.cart.png?v155ba59fd53);background-position:-305px -225px}.order-ensure-page .cartnew-goodslist .right{float:right}.order-ensure-page .cartnew-goodslist .right span{width:28px;height:22px;display:inline-block}.order-ensure-page .cartnew-goodslist .right .pageprev{background-image:url(../assets/img/sprite.cart.png?v155ba59fd53);background-position:-191px -225px}.order-ensure-page .cartnew-goodslist .right .pagenext{background-image:url(../assets/img/sprite.cart.png?v155ba59fd53);background-position:-221px -225px}.order-ensure-page .cartnew-goodslist .main{height:230px;border-top:1px solid #e3e3e3;display:block}.order-ensure-page .cartnew-goodslist .main ul{height:auto;width:100%;overflow:hidden}.order-ensure-page .cartnew-goodslist .main li{width:16.6667%;box-sizing:border-box;height:230px;border-right:1px solid #e3e3e3;float:left}.order-ensure-page .cartnew-goodslist .main li.end{border:none}.order-ensure-page .cartnew-goodslist .main .list{width:102px;padding:10px 0 0;margin:0 auto}.order-ensure-page .cartnew-goodslist .main .thumb{height:110px}.order-ensure-page .cartnew-goodslist .main .thumb img{display:block;margin:0 auto}.order-ensure-page .cartnew-goodslist .main .name{height:35px;overflow:hidden;font-size:12px}.order-ensure-page .cartnew-goodslist .main .name h3{height:30px;line-height:15px;font-size:12px;font-weight:400;color:#333;cursor:pointer;overflow:hidden}.order-ensure-page .cartnew-goodslist .main .name a{color:#333;text-decoration:underline}.order-ensure-page .cartnew-goodslist .main .price{color:#333;height:25px;line-height:25px;font-weight:700;white-space:nowrap;overflow:hidden;text-align:center;font-size:12px}.order-ensure-page .cartnew-goodslist .main .price del{color:#999}.order-ensure-page .cartnew-goodslist .main .op{text-align:center;padding:0 0 5px}.order-ensure-page .cartnew-goodslist .main .btn_view_s{width:100px;height:22px;background-image:url(../assets/img/sprite.cart.png?v155ba59fd53);background-position:0 -248px;display:inline-block;border:0}.shop-cart .goods-detail{position:absolute;top:10%;left:0;z-index:10;width:650px;height:auto;overflow:hidden;border:1px solid #ccc;border-radius:5px;background:#fff;display:none}.shop-cart .goods-detail .magnify{position:absolute;width:12px;height:12px;background-image:url(../assets/img/sprite.cart.png?v155ba59fd53);background-position:-357px -85px;bottom:2px;right:2px}.shop-cart .goods-detail .detail-header{display:block;font-size:12px;line-height:16px;text-align:center;color:#fff;margin-top:5px;box-sizing:border-box;padding-right:5px;height:16px;cursor:move}.shop-cart .goods-detail .detail-header .colse{float:right;width:46px;height:16px;background:#ccc;border-radius:2px;cursor:pointer}.shop-cart .goods-detail .detail-header .colse:hover{background:#414141}.shop-cart .goods-detail .detail-body{width:610px;padding:15px;margin:0 auto}.shop-cart .goods-detail .detail-body .none{display:none}.shop-cart .goods-detail .detail-body .detail-bigpic{width:290px;padding-bottom:15px;float:left}.shop-cart .goods-detail .detail-body .detail-bigpic .bigpic{width:210px;height:280px;display:block;margin:0 auto 10px}.shop-cart .goods-detail .detail-body .detail-bigpic .bigpic img{width:100%;height:auto}.shop-cart .goods-detail .detail-body .detail-bigpic .piclist{height:65px;cursor:pointer}.shop-cart .goods-detail .detail-body .detail-bigpic .piclist span{width:10px;height:60px}.shop-cart .goods-detail .detail-body .detail-bigpic .piclist .pre{background-image:url(../assets/img/sprite.cart.png?v155ba59fd53);background-position:0 -304px;float:left}.shop-cart .goods-detail .detail-body .detail-bigpic .piclist .con{width:260px;height:65px;overflow:hidden;float:left;margin-left:5px}.shop-cart .goods-detail .detail-body .detail-bigpic .piclist .con li{float:left;width:58px;height:58px;border:1px solid #ccc;margin:1px;vertical-align:top;overflow:hidden;text-align:center}.shop-cart .goods-detail .detail-body .detail-bigpic .piclist .con li img{width:auto;height:100%;display:inline-block}.shop-cart .goods-detail .detail-body .detail-bigpic .piclist .con .active{width:56px;height:56px;border:2px solid #333}.shop-cart .goods-detail .detail-body .detail-bigpic .piclist .next{background-image:url(../assets/img/sprite.cart.png?v155ba59fd53);background-position:-12px -304px;float:right}.shop-cart .goods-detail .detail-body .detail-info{width:300px;float:right;padding-bottom:15px}.shop-cart .goods-detail .detail-body .detail-info .title{padding:5px 0}.shop-cart .goods-detail .detail-body .detail-info .title h2{width:300px;color:#000;font-size:12px;font-weight:400;white-space:nowrap;overflow:hidden}.shop-cart .goods-detail .detail-body .detail-info .arrivalDate{color:red}.shop-cart .goods-detail .detail-body .detail-info .type{padding-bottom:10px}.shop-cart .goods-detail .detail-body .detail-info .type .type-s{background:#ccc;padding:0 5px;color:#fff;font-size:12px;height:15px;line-height:15px;display:inline-block}.shop-cart .goods-detail .detail-body .detail-info .price{padding:0 0 10px;margin-bottom:10px;border-bottom:1px solid #000}.shop-cart .goods-detail .detail-body .detail-info .price .oldprice{color:#999;font-size:14px;font-weight:700;display:block;padding-bottom:5px}.shop-cart .goods-detail .detail-body .detail-info .price .newprice{color:#000;font-size:14px;font-weight:700;height:30px;line-height:30px;padding:0 0 5px}.shop-cart .goods-detail .detail-body .detail-info .price .newprice b{font-size:22px;font-family:arial}.shop-cart .goods-detail .detail-body .detail-info .order{color:#000;font-size:12px}.shop-cart .goods-detail .detail-body .detail-info .order dd{width:55px;float:left;padding-bottom:8px}.shop-cart .goods-detail .detail-body .detail-info .order dt{width:245px;float:left;padding-bottom:8px}.shop-cart .goods-detail .detail-body .detail-info .order dd.colorBox{line-height:44px}.shop-cart .goods-detail .detail-body .detail-info .order .colorBox{height:75px}.shop-cart .goods-detail .detail-body .detail-info .order .colorBox li{width:44px;height:65px;overflow:hidden;text-align:center;margin-right:4px;display:inline;float:left;cursor:pointer}.shop-cart .goods-detail .detail-body .detail-info .order .colorBox li .atcive{width:40px;height:40px;border:2px solid #e8044f}.shop-cart .goods-detail .detail-body .detail-info .order .colorBox li .atcive span{position:absolute;bottom:0;right:0;width:11px;height:11px;overflow:hidden;background:url(../assets/img/cart/ico_r_act.png?v155ba59f1e9) 0 0 no-repeat}.shop-cart .goods-detail .detail-body .detail-info .order .colorBox li p{width:42px;height:42px;margin:0;display:inline-block;border:1px solid #ccc;position:relative}.shop-cart .goods-detail .detail-body .detail-info .order .colorBox li p img{width:100%;height:auto}.shop-cart .goods-detail .detail-body .detail-info .order .colorBox li span{line-height:20px}.shop-cart .goods-detail .detail-body .detail-info .order .showSizeBox{height:25px;line-height:18px}.shop-cart .goods-detail .detail-body .detail-info .order .showSizeBox span{cursor:pointer;height:18px;padding:0 10px;border:1px solid #ccc;margin:1px 5px 5px 1px;display:inline;float:left;overflow:hidden}.shop-cart .goods-detail .detail-body .detail-info .order .showSizeBox .atcive{height:16px;border:2px solid red;background:url(../assets/img/cart/ico_r_act.png?v155ba59f1e9) 100% 100% no-repeat}.shop-cart .goods-detail .detail-body .detail-info .order .showSizeBox .null-atcivec{height:18px;border:1px solid #ccc;color:#ccc}.shop-cart .goods-detail .detail-body .detail-info .order .showSizeBox .atcivec{height:16px;border:2px solid #ccc;background:url(../assets/img/cart/ico_r_act_h.png?v155ba59f1ea) 100% 100% no-repeat;color:#ccc}.shop-cart .goods-detail .detail-body .detail-info .order .amount_wrapper{width:100px;height:20px;display:inline-block}.shop-cart .goods-detail .detail-body .detail-info .order .amount_wrapper .amount{width:12px;height:12px;display:inline;cursor:pointer;border:0;float:left;font-size:10px;color:#c4c4c4}.shop-cart .goods-detail .detail-body .detail-info .order .amount_wrapper .cut{background-image:url(../assets/img/sprite.cart.png?v155ba59fd53);background-position:-357px -119px;margin:5px 5px 0 0}.shop-cart .goods-detail .detail-body .detail-info .order .amount_wrapper .add{background-image:url(../assets/img/sprite.cart.png?v155ba59fd53);background-position:-357px -106px;margin:5px 0 0 5px}.shop-cart .goods-detail .detail-body .detail-info .order .amount_wrapper .mnum{width:33px;height:18px;line-height:16px;border:1px solid #c4c4c4;text-align:center;overflow:hidden;float:left;font-size:12px}.shop-cart .goods-detail .detail-body .detail-info .submit{padding-top:10px;float:left}.shop-cart .goods-detail .detail-body .detail-info .submit input{width:225px;height:45px;overflow:hidden;border:0;cursor:pointer;float:left}.shop-cart .goods-detail .detail-body .detail-info .submit .addcart{background-image:url(../assets/img/sprite.cart.png?v155ba59fd53);background-position:0 -146px}.shop-cart .goods-detail .detail-body .detail-info .submit .btn_pre_sale{background-image:url(../assets/img/sprite.cart.png?v155ba59fd53);background-position:0 -52px}.shop-cart .goods-detail .detail-body .detail-info .submit .btn_sellout{background-image:url(../assets/img/sprite.cart.png?v155ba59fd53);background-position:0 -99px}.shop-cart .goods-detail .detail-body .detail-info .submit .fav_count{background-image:url(../assets/img/sprite.cart.png?v155ba59fd53);background-position:0 -193px;height:30px}.shop-cart .goods-detail .detail-body .detail-size{float:left;border-top:1px dashed #ccc;width:100%;height:auto;padding-bottom:15px}.shop-cart .goods-detail .detail-body .detail-size h3{height:35px;line-height:35px;font-size:14px}.shop-cart .goods-detail .detail-body .detail-size h3 span{font-size:12px}.shop-cart .goods-detail .detail-body .detail-size table{width:100%;height:auto;border:1px solid #ccc;margin-bottom:5px;font-size:12px}.shop-cart .goods-detail .detail-body .detail-size table td{border:1px solid #fff;padding:3px;font-weight:400;background:#fbfbfb;text-align:center;padding:8px 3px}.shop-cart .goods-detail .detail-body .detail-size table tr:nth-of-type(even) td{background:#f4f4f4}.shop-cart .goods-detail .detail-body .detail-size .size-info{font-size:12px;color:#999}.shopping-pay-page{margin:25px auto}.shopping-pay-page .pay-page{width:100%;position:relative}.shopping-pay-page .not-pay{width:680px;height:400px;margin:0 auto;overflow:hidden;padding-top:100px;padding-left:200px}.shopping-pay-page .not-pay p{padding-left:30px;line-height:32px}.shopping-pay-page .not-pay .success{background:url(../assets/img/pay/success.png?v155ba59f2d3) no-repeat 0}.shopping-pay-page .not-pay a{margin-top:40px;margin-left:140px;float:left;color:#c5c5c5}.shopping-pay-page .pay-title{width:980px;height:52px;overflow:hidden;padding:20px 0 0;margin:0 auto;border-bottom:2px solid #000}.shopping-pay-page .pay-title ul{width:446px;height:12px;float:right;list-style:none;padding:0;margin:0;background:url(../assets/img/pay/pay-list.png?v155ba59f2d1) no-repeat 100% 0}.shopping-pay-page .pay-title li{width:176px;height:12px;text-align:center;color:#999;float:left}.shopping-pay-page .pay-title li span{display:block;height:15px;padding:15px 0 0;line-height:15px;font-size:12px}.shopping-pay-page .pay-title .end{width:93px;height:18px;color:#000}.shopping-pay-page .pay-title .end span{text-align:right}.shopping-pay-page .step4{height:24px;width:99px;overflow:hidden;background-image:url(../assets/img/pay/pay-title.png?v155ba59f2d2);float:left}.shopping-pay-page .step5{height:31px;width:117px;overflow:hidden;background-image:url(../assets/img/pay/bc.png?v155ba59f2c4);float:left}.shopping-pay-page .cart-pay{width:980px;margin:25px auto}.shopping-pay-page .cart-pay h2{width:950px;height:40px;padding:0 0 0 30px;line-height:40px;color:#000;font-size:20px;font-family:Arial,helvetica,sans-serif;background:url(../assets/img/pay/cat-pay.png?v155ba59f2c8) no-repeat 0 11px;font-weight:400}.shopping-pay-page .cart-pay h3{height:40px;line-height:40px;font-weight:400;color:#666;font-size:12px;margin:0}.shopping-pay-page .cart-pay h3 strong{color:#e8044f;font-size:14px;font-weight:700}.shopping-pay-page .cart-pay h4{height:30px;line-height:30px;color:#000;font-size:14px;display:block;margin:0}.shopping-pay-page .wrapper{width:980px;margin:25px auto;overflow:hidden;border-top:2px solid #d9d9d9;padding-top:19px}.shopping-pay-page .pay-way{width:980px;height:32px;margin-bottom:27px;overflow:hidden;margin:30 auto}.shopping-pay-page .word{display:block;float:left;line-height:32px;font-size:16px;margin-right:10px}.shopping-pay-page .pay-type-img{height:30px;float:left;vertical-align:middle}.shopping-pay-page #tab-box{width:980px;margin-top:30px}.shopping-pay-page .tab-conbox,.shopping-pay-page .tabs{border-bottom:1px solid #d9d9d9}.shopping-pay-page .tabs{height:40px;padding-left:20px;background:#fff}.shopping-pay-page .tabs li{height:40px;width:85px;line-height:40px;float:left;margin-bottom:-1px;background:#ededed;overflow:hidden;position:relative;margin-left:20px;font-size:12px}.shopping-pay-page .tabs li a{display:block;outline:none;font-size:12px;text-align:center}.shopping-pay-page .tabs li.thistab{background:#fff;border-bottom:1px solid #fff;border:1px solid #d9d9d9;border-bottom:none}.shopping-pay-page .tab-con{padding-top:30px;font-size:14px;line-height:175%;overflow:hidden}.shopping-pay-page .none{display:none}.shopping-pay-page .count{width:1020px;height:170px}.shopping-pay-page .mode{width:210px;height:50px;border:1px solid #d9d9d9;margin-right:45px;margin-bottom:30px;float:left;box-sizing:border-box;text-align:center;vertical-align:middle;display:block;position:relative;line-height:44px}.shopping-pay-page .mode img{vertical-align:middle;outline:none}.shopping-pay-page .mode:hover{border:1px solid red}.shopping-pay-page .choosed-tag{background-image:url(../assets/img/pay/mode-top.png?v155ba59f2ca);height:22px;width:23px;position:absolute;top:0;right:0}.shopping-pay-page .choose-type,.shopping-pay-page .choose-type:hover{border:2px solid red}.shopping-pay-page .btn-wrapper{width:100%;padding-top:21px;margin-top:10px;margin-bottom:55px}.shopping-pay-page .btnby{outline:none;background:url(../assets/img/pay/pay-btn.png?v155ba59f2ce) no-repeat 100% 0;background-repeat:no-repeat;background-position:191px;float:right;width:230px;height:40px;line-height:40px;background-color:#da0040;color:#fff;font-size:16px;border:none;font-weight:700;font-family:arial,Microsoft YaHei!important}.shopping-pay-page .light-box{display:block;position:fixed;width:100%;height:100%;z-index:17;top:0;left:0;font-family:Microsoft Yahei;display:none}.shopping-pay-page .opacity{width:100%;height:1000px;background:#000;filter:Alpha(Opacity=50);opacity:.5;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";overflow:hidden;position:absolute;top:0;left:0}.shopping-pay-page .content{margin-left:-203px;margin-top:-124px;padding:50px 40px;background-color:#fff;position:absolute;top:50%;left:50%;box-shadow:0 0 8px #e8e8e8}.shopping-pay-page .notice{padding:26px 14px;line-height:20px;font-size:13px;color:#9f9f9f}.shopping-pay-page .btns a{width:134px;height:38px;line-height:38px;color:#fff;font-size:14px;margin:0 14px;display:inline-block;text-align:center;text-decoration:none}.shopping-pay-page .change{background:#bdbdbd}.shopping-pay-page .over{background:#da0040}.shopping-pay-page .close a{text-decoration:none;color:#666;outline:none}.shopping-pay-page .close,.shopping-pay-page .close a{width:30px;height:30px;line-height:30px;position:absolute;top:0;right:0;font-size:16px;font-family:arial;text-align:center}.shopping-cashondelivery-page{width:860px;margin:0 auto;font-family:arial,Microsoft YaHei;font-size:12px;text-align:left;line-height:150%}.shopping-cashondelivery-page .cart-order{width:860px;margin-top:70px}.shopping-cashondelivery-page .cart-order h1{height:70px;line-height:40px;color:#333;text-align:center;font-size:20px;font-family:Arial,helvetica,sans-serif}.shopping-cashondelivery-page .ok-br{width:30px;height:30px;background:url(../assets/img/pay/ok.png?v155ba59f2cd) no-repeat;display:inline-block;vertical-align:middle}.shopping-cashondelivery-page .list-box{border:1px solid #dadada;border-top:10px solid #000;border-bottom:0;margin-bottom:20px;font-size:14px}.shopping-cashondelivery-page .list-t{height:36px;line-height:36px;background:#f3f3f3;text-align:center;color:#333;border-bottom:1px solid #dadada}.shopping-cashondelivery-page .list-t .yoho-coin{width:14px;height:14px;display:inline-block;background-image:url(../assets/img/sprite.cart.png?v155ba59fd53);background-position:-321px -225px;vertical-align:middle;margin-top:-2px;margin-right:4px}.shopping-cashondelivery-page .li-1{width:170px;height:36px;border-right:1px solid #dadada;font-weight:700;float:left}.shopping-cashondelivery-page .li-1 a{text-decoration:none;color:#468fa2;outline:none}.shopping-cashondelivery-page .li-2,.shopping-cashondelivery-page .li-3,.shopping-cashondelivery-page .li-4{width:170px;height:36px;border-right:1px solid #dadada;float:left}.shopping-cashondelivery-page .li-5{width:170px;height:36px;float:left}.shopping-cashondelivery-page .list{height:36px;line-height:36px;background:#fff;text-align:center;border-bottom:1px solid #dadada;font-size:14px}.shopping-cashondelivery-page .f-rz{font-weight:700;font-size:14px;color:#e8044f}.shopping-cashondelivery-page .f-e{color:#468fa2}.shopping-cashondelivery-page .f-a{color:#e8044f}.shopping-cashondelivery-page .list-b{border:1px solid #fdcf74;background:#fcfbdd;color:#976637;padding:20px;line-height:1.8;margin-bottom:20px;font-family:Arial,helvetica,sans-serif}.shopping-cashondelivery-page .list-b a{text-decoration:none;color:#468fa2;outline:none}.shopping-cashondelivery-page .list-b b{color:#c00}.shopping-cashondelivery-page .pay-mode{color:#666}.shopping-cashondelivery-page .btns{text-align:center;padding:20px 0;margin-bottom:150px}.shopping-cashondelivery-page .btns a{display:inline-block;height:33px;line-height:33px;text-align:center;font-size:14px;font-weight:700;cursor:pointer;border-radius:4px}.shopping-cashondelivery-page .btns .check-order{background:#da034a;color:#fff;border:1px solid #9d0134;width:134px;margin-right:15px}.shopping-cashondelivery-page .btns .return-home{background:#eee;color:#000;border:1px solid #b0b0b0;width:97px}.pay-notice-page{width:860px;margin:70px auto;font-size:12px}.pay-notice-page .font-red{color:#e8044f}.pay-notice-page h1{height:70px;line-height:40px;color:#333;text-align:center;font-size:20px;font-family:Arial,helvetica,sans-serif}.pay-notice-page .ok-icon{display:inline-block;width:30px;height:30px;background:url(../assets/img/pay/ok.png?v155ba59f2cd) no-repeat;vertical-align:text-top}.pay-notice-page .order-info{border-right:1px solid #dadada;border-top:10px solid #000;margin-bottom:20px}.pay-notice-page .table-row{height:36px;line-height:36px;text-align:center;color:#333;border-bottom:1px solid #dadada}.pay-notice-page .table-row .order-num,.pay-notice-page .table-row .pay,.pay-notice-page .table-row em{font-weight:700}.pay-notice-page .table-row .pay-mode{color:#666}.pay-notice-page .table-row li{float:left;width:170px;border-left:1px solid #dadada;font-size:14px}.pay-notice-page .order-table-header{background:#f3f3f3}.pay-notice-page .order-table-header .yoho-coin{width:14px;height:14px;display:inline-block;background-image:url(../assets/img/sprite.cart.png?v155ba59fd53);background-position:-321px -225px;vertical-align:middle;margin-top:-2px;margin-right:4px}.pay-notice-page .notice-link{color:#468fa2}.pay-notice-page .notice-tip{border:1px solid #fdcf74;background:#fcfbdd;color:#976637;line-height:1.8;margin-bottom:20px;padding:20px;font-family:Arial,helvetica,sans-serif}.pay-notice-page .btns{text-align:center;padding:20px 0}.pay-notice-page .btns a{display:inline-block;height:33px;line-height:33px;text-align:center;font-size:14px;font-weight:700;cursor:pointer;border-radius:4px}.pay-notice-page .btns .check-order{background:#da034a;color:#fff;border:1px solid #9d0134;width:134px;margin-right:15px}.pay-notice-page .btns .return-home{background:#eee;color:#000;border:1px solid #b0b0b0;width:97px}.pay-notice-page .notice-img{width:100%}.pay-wechatqrcode-page{width:990px;margin:0 auto;font-size:12px;font-family:arial,Microsoft YaHei}.pay-wechatqrcode-page .pay-title{height:52px;overflow:hidden;padding:20px 0 0;margin:0 auto;border-bottom:2px solid #000}.pay-wechatqrcode-page .pay-title ul{width:446px;height:12px;float:right;list-style:none;padding:0;margin:0;background:url(../assets/img/pay/pay-list.png?v155ba59f2d1) no-repeat 100% 0}.pay-wechatqrcode-page .pay-title li{width:176px;height:12px;text-align:center;color:#999;float:left}.pay-wechatqrcode-page .pay-title li span{display:block;height:15px;padding:15px 0 0;line-height:15px}.pay-wechatqrcode-page .pay-title .end{width:93px;height:18px;color:#000}.pay-wechatqrcode-page .pay-title .end span{text-align:right}.pay-wechatqrcode-page .step4{height:24px;width:99px;overflow:hidden;background-image:url(../assets/img/pay/pay-title.png?v155ba59f2d2);float:left}.pay-wechatqrcode-page .w-title{padding:25px 0 12px;overflow:hidden}.pay-wechatqrcode-page .w-left{width:670px;float:left}.pay-wechatqrcode-page .w-left h3{line-height:26px;height:26px;margin-bottom:4px;overflow:hidden;font-size:14px;font-weight:400}.pay-wechatqrcode-page .w-left p{height:22px;line-height:22px;color:#9b9b9b}.pay-wechatqrcode-page .w-left p span{color:red}.pay-wechatqrcode-page .w-right{margin-left:670px;overflow:hidden;text-align:right}.pay-wechatqrcode-page .w-right p{line-height:26px;height:26px;margin-bottom:4px;overflow:hidden;font-size:14px}.pay-wechatqrcode-page .w-right p strong{color:#ff5d5b;font-size:18px;margin:0 3px;font-weight:700}.pay-wechatqrcode-page .w-right a{color:#2ea7e7;padding-right:14px;position:relative;display:inline-block;height:22px;line-height:22px}.pay-wechatqrcode-page .w-right a i{width:0;height:0;font-size:0;position:absolute;top:9px;right:4px;z-index:1;cursor:pointer}.pay-wechatqrcode-page .up{float:right;border-width:4px 3px 0;border-style:solid dashed dashed;border-color:#2ea7e7 transparent transparent}.pay-wechatqrcode-page .down{float:right;border-width:0 3px 4px;border-style:dashed dashed solid;border-color:transparent transparent #2ea7e7}.pay-wechatqrcode-page .w-addrinfo{padding:12px 0;color:#9b9b9b;line-height:22px;border-top:1px solid #e4e5eb;display:none}.pay-wechatqrcode-page .w-addrinfo span{padding:0 20px}.pay-wechatqrcode-page .w-payment{border:1px solid #e5e5e5;border-top:3px solid #4b5b78;background-color:#fff;padding:26px 30px 30px;margin-top:6px;margin-bottom:50px}.pay-wechatqrcode-page .w-payment h2{font-size:18px;font-weight:400;display:block}.pay-wechatqrcode-page .w-p-weixin{width:300px;height:380px;padding:20px 370px 30px 0;margin:0 auto;overflow:hidden;background:url(../assets/img/pay/w-p-phone.png?v155ba59f2d4) no-repeat 100% 0}.pay-wechatqrcode-page .w-p-erm{width:250px;height:250px;padding:24px;margin-bottom:20px;border:1px solid #ddd;overflow:hidden}.pay-wechatqrcode-page .w-p-word{height:44px;padding:8px 0 8px 125px;background:url(../assets/img/pay/w-p-word.png?v155ba59f2d5) no-repeat 50px 8px #090909}.pay-wechatqrcode-page .w-p-word p{margin:0;font-size:14px;line-height:22px;color:#fff;font-weight:700}.pay-wechatqrcode-page .w-pay-change{display:block;height:30px;line-height:30px;margin-top:50px;color:#0aaefa;cursor:14px}.pay-wechatqrcode-page .w-pay-change i{float:left;margin-right:14px;font-family:arial;font-style:normal;font-size:16px}.wechatqrcodereturn{width:990px;margin:0 auto;font-size:12px;font-family:Arial,helvetica,sans-serif}.wechatqrcodereturn .pay-title{height:65px;overflow:hidden;padding:20px 0 0;margin:0 auto;border-bottom:2px solid #000}.wechatqrcodereturn .pay-title ul{width:446px;height:12px;float:right;list-style:none;padding:0;margin:0;background:url(../assets/img/pay/pay-list.png?v155ba59f2d1) no-repeat 100% 0}.wechatqrcodereturn .pay-title li{width:176px;height:12px;text-align:center;color:#999;float:left}.wechatqrcodereturn .pay-title li span{display:block;height:15px;padding:15px 0 0;line-height:15px}.wechatqrcodereturn .pay-title .end{width:93px;height:18px;color:#000}.wechatqrcodereturn .pay-title .end span{text-align:right}.wechatqrcodereturn .step5{height:33px;width:97px;overflow:hidden;background-image:url(../assets/img/pay/finsh.png?v155ba59f2c9);float:left}.wechatqrcodereturn .pay-wechat-return{overflow:hidden;padding-top:10px}.wechatqrcodereturn .payerror{margin:50px 0 0 300px;font-size:14px;font-weight:700;color:#000;padding-left:25px;line-height:21px;background:url(../assets/img/pay/pay-fail.png?v155ba59f2cf) no-repeat}.wechatqrcodereturn .arrival-time{margin:10px 0 0 325px;color:#666}.wechatqrcodereturn .tell-phone{color:#e8044f;font-weight:700;font-size:16px}.wechatqrcodereturn .cart-bigbtns span{margin-right:5px}.wechatqrcodereturn .btn-type{display:inline-block;height:35px;padding:0 0 0 2px;overflow:hidden;font-size:14px;margin:40px 0 0 320px}.wechatqrcodereturn .btn-type a{display:inline-block;height:35px;line-height:32px;padding:0 20px;background:url(../assets/img/pay/btnby.png?v155ba59f2c5) no-repeat;border:none;overflow:visible;cursor:pointer;margin:0;color:#666}.wechatqrcodereturn .we-font{margin:20px 0 0 320px;height:36px;line-height:36px;padding-left:16px;color:#999;display:block;background:url(../assets/img/pay/pay-plaint.png?v155ba59f2d2) no-repeat 1px}.about-page{width:990px;padding:10px 0 20px}.about-page .about-nav{width:210px;padding:10px 20px;background-color:#ebe9ea;border:1px solid #d7d7d7;border-radius:5px}.about-page .about-nav li{line-height:30px;font-size:12px;text-align:center;border-bottom:1px solid #ddd;border-top:1px solid #fff}.about-page .about-nav li a{color:#333;font-weight:700}.about-page .about-nav li a:hover{color:#f60}.about-page .about-nav li:first-child{border-top:0}.about-page .about-nav .act a{color:#ed004c;cursor:pointer}.about-page .about-nav .act a:hover{color:#ed004c}.yohobuy-about-page .main-container{width:720px;border:1px solid #d7d7d7;border-radius:5px;overflow:hidden}.yohobuy-about-page .main-container .text-title{border-bottom:4px solid red;font-family:微软雅黑;height:100px;line-height:100px;font-weight:700;font-size:36px;color:#333;text-align:center}.yohobuy-about-page .main-container .text-info{padding:20px;color:#333;overflow:hidden;font-size:12px;font-weight:400;line-height:24px}.newpower-about-page .main-container{width:720px;border:1px solid #d7d7d7;border-radius:5px;overflow:hidden}.newpower-about-page .main-container .text-info{line-height:30px;font-size:14px;font-weight:700;text-align:center;color:#333;padding:20px;overflow:hidden}.contact-about-page .main-container{width:720px;border:1px solid #d7d7d7;border-radius:5px;overflow:hidden}.contact-about-page .main-container .text-title{border-bottom:4px solid red;font-family:微软雅黑;height:100px;line-height:100px;font-weight:700;font-size:36px;color:#333;text-align:center}.contact-about-page .main-container .text-info{padding:20px;color:#333;overflow:hidden;font-size:12px;font-weight:400;line-height:24px}.contact-about-page .main-container strong{font-weight:700}.link-about-page .main-container{width:720px;border:1px solid #d7d7d7;border-radius:5px;overflow:hidden}.link-about-page .main-container .text-title{border-bottom:4px solid red;font-family:微软雅黑;height:100px;line-height:100px;font-weight:700;font-size:36px;color:#333;text-align:center}.link-about-page .main-container .text-info{padding:20px;color:#333;overflow:hidden;font-size:12px;font-weight:400;line-height:24px}.link-about-page .main-container h2{font-size:14px;line-height:30px;border-bottom:1px dashed #ccc}.link-about-page .main-container ul{padding:10px 0;list-style:none}.link-about-page .main-container strong{font-weight:700}.privacy-about-page .main-container{width:720px;border:1px solid #d7d7d7;border-radius:5px;overflow:hidden}.privacy-about-page .main-container .text-title{border-bottom:4px solid red;font-family:微软雅黑;height:100px;line-height:100px;font-weight:700;font-size:36px;color:#333;text-align:center}.privacy-about-page .main-container .text-info{padding:20px;color:#333;overflow:hidden;font-size:12px;font-weight:400;line-height:24px}.privacy-about-page .main-container strong{font-weight:700}.settled-apply-page .mask,.settled-page .mask{position:fixed;top:0;right:0;bottom:0;left:0;background:#ccc;opacity:.3;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=30)";z-index:20}.settled-page{margin-top:10px;margin-bottom:30px}.settled-page .banner{margin-bottom:45px}.settled-page .flow-container{position:relative;width:1033px;margin:0 auto}.settled-page .fake-link{position:absolute;bottom:-4px;left:221px;width:150px;height:32px;background:#fff;opacity:0;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";cursor:pointer}.settled-page .notice-container{position:fixed;width:960px;left:50%;top:30px;margin-left:-480px;z-index:2;overflow-y:auto;overflow-x:hidden;border-radius:10px;z-index:21}.settled-page .fake-close{position:fixed;width:30px;height:30px;top:44px;margin-left:914px;cursor:pointer;background:url(../assets/img/about/close.png?v155ba59f1be) no-repeat 50%}.min-screen .settled-page .banner{width:990px}.min-screen .settled-page .flow-container,.min-screen .settled-page .flow-path{width:890px}.min-screen .settled-page .fake-link{bottom:-6px;left:190px;width:130px}.settled-apply-page{font-size:14px}.settled-apply-page .error{border-color:red!important}.settled-apply-page .required-mark{color:red}.settled-apply-page .banner{display:block;margin-top:10px;margin-bottom:30px}.settled-apply-page .title{margin-bottom:10px;padding-left:215px}.settled-apply-page .title span{font-size:18px;line-height:20px;color:#000;font-weight:700;vertical-align:top}.settled-apply-page .title .edit-img{width:24px;height:22px}.settled-apply-page .form-container{width:100%;padding:30px 0;border:1px solid #f4f5f5;border-left:none;border-right:none}.settled-apply-page .signup-form{width:790px;margin:0 auto}.settled-apply-page .signup-form .long-input{width:400px}.settled-apply-page .signup-form .short-input{width:150px}.settled-apply-page .signup-form td{border:10px solid transparent;height:41px}.settled-apply-page .signup-form tr.has-sub td{border-bottom:0}.settled-apply-page .signup-form tr.sub td{border-top:2px}.settled-apply-page .signup-form tr td:first-child{text-align:right}.settled-apply-page .signup-form .sub .tip-td{vertical-align:top}.settled-apply-page .signup-form .button,.settled-apply-page .signup-form input,.settled-apply-page .signup-form select{height:36px;line-height:36px;border-radius:3px;border:1px solid #979797}.settled-apply-page .signup-form select{line-height:18px;padding:9px 0}.settled-apply-page .signup-form input[type=radio]{border:none;vertical-align:text-bottom;margin-bottom:-10px}.settled-apply-page .signup-form .button{width:156px;background-color:#fff;border-radius:6px}.settled-apply-page .signup-form input[type=text]{text-indent:5px}.settled-apply-page .signup-form .swfupload{border:1px solid #ccc;border-radius:6px;height:35px;width:160px;background-color:#fff;cursor:pointer}.settled-apply-page .signup-form .placeholder{color:#979797}.settled-apply-page .signup-form ul{list-style:none;padding-left:0}.settled-apply-page .signup-form .for-other{width:120px;padding:0}.settled-apply-page .signup-form .upload-btn{font-size:13px;border-radius:3px;border:1px solid #979797}.settled-apply-page .signup-form .upload-btn input{cursor:pointer}.settled-apply-page .signup-form .uploadifive-queue{display:none}.settled-apply-page .shop-addres{width:300px}.settled-apply-page .shop-sales-volume{width:80px}.settled-apply-page .shop-list li{margin-bottom:5px}.settled-apply-page .shop-list li>span{margin:0 4px}.settled-apply-page .shop-list li:last-child{margin-bottom:0}.settled-apply-page .tip{font-size:12px;color:#c7c7c7;margin:2px 0}.settled-apply-page .submit-btn{background-color:#000;color:#fff;height:37px;width:157px;border-radius:6px;border:none;margin-top:30px;margin-left:377px;cursor:pointer;margin-bottom:30px}.settled-apply-page .add-btn{width:22px;height:22px;vertical-align:middle;margin-left:20px;cursor:pointer}.settled-apply-page .submit-success{position:fixed;width:500px;height:180px;top:50%;left:50%;margin-top:-170px;margin-left:-280px;z-index:8;padding:30px 50px;background-color:#fff;border-radius:10px;text-align:center}.settled-apply-page .submit-success .content{border-bottom:1px solid #ccc;margin-bottom:20px}.settled-apply-page .submit-success .content h1,.settled-apply-page .submit-success .content h2{margin-bottom:30px}.settled-apply-page .submit-success .sure{font-size:24px;color:red;text-align:center;text-decoration:none;font-weight:700}.settled-apply-page .category-list{margin-top:-12px}.settled-apply-page .category-list li{margin-bottom:5px}.settled-apply-page .category-list li:last-child{margin-bottom:0}.settled-apply-page .has-radio td{line-height:41px}.settled-apply-page .tip-sub td{height:14px}.settled-apply-page input[type=radio]{margin-left:10px}.settled-apply-page .brand-tip,.settled-apply-page .goods-tip{color:#000;margin-top:10px}.settled-success{border:none;border-radius:10px;background:#fff}.settled-success .content{border-bottom:1px solid #ccc}.settled-success .main-title{font-size:28px}.settled-success .sub-title{font-size:16px;margin:20px 0}.settled-success .apply-success-ok{border:none;color:red;font-weight:700;font-size:18px;line-height:60px}.app-download-page .top-wrapper{height:550px;background:url(../assets/img/download/main-top.png?random=1466056691&v155ba59f216) no-repeat top}.app-download-page .top-wrapper .top-down{width:444px;margin:0 auto;padding-top:305px}.app-download-page .top-wrapper .down-btns{width:216px;height:65px;display:block;margin-left:200px;float:right}.app-download-page .top-wrapper .down-btns:first-child{margin-bottom:10px}.app-download-page .main-wrapper .intro{width:990px;height:437px;margin:114px auto 0}.app-download-page .main-wrapper .intro-6{height:350px}.app-download-page .main-wrapper .bottom-down{width:350px;margin:0 auto;overflow:hidden;padding-top:34px}.app-download-page .main-wrapper .bottom-down .qr-code{width:130px;height:130px;background-image:url(../assets/img/sprite.download.png?v155ba59fd57);background-position:0 0}.app-download-page .main-wrapper .bottom-down .down-btns{width:200px;height:60px;display:block}.app-download-page .main-wrapper .bottom-down .down-app-btn{margin-bottom:8px;background-image:url(../assets/img/sprite.download.png?v155ba59fd57);background-position:-132px 0}.app-download-page .main-wrapper .bottom-down .down-apk-btn{background-image:url(../assets/img/sprite.download.png?v155ba59fd57);background-position:-132px -62px}.app-download-page .foot-wrapper{height:100px;text-align:center}
\ No newline at end of file
diff --git a/web-static/dist/yohobuy/4.7.1/index.js b/web-static/dist/yohobuy/4.7.1/index.js
new file mode 100644
index 0000000..a850fd6
--- /dev/null
+++ b/web-static/dist/yohobuy/4.7.1/index.js
@@ -0,0 +1,8 @@
+define("index",["jquery","handlebars","source-map","index","lazyload","jquery-pjax","dot","jquery.placeholder"],function(e,t,n){var a;e("js/common"),e("js/header"),e("js/simple-header"),e("js/product/entry"),e("js/index/index"),e("js/brand/index"),e("js/passport/entry"),e("js/cart/cart"),e("js/guang/entry"),e("js/home/entry"),e("js/help/entry"),e("js/order/ensure"),e("js/shopping/pay"),e("js/pay/wechatqrcode"),e("js/about/entry"),e("js/coupon/entry"),n.exports=a}),define("js/common",["jquery"],function(e,t,n){function a(e){var t=new RegExp(e+"=([^;$]*)","i"),n="$1";return t.test(decodeURIComponent(document.cookie))?RegExp[n]:""}function i(e,t,n){var a,i,o,s,r="";"undefined"!=typeof t&&(n=n||{},null===t&&(t="",n.expires=-1),n.expires&&("number"==typeof n.expires||n.expires.toUTCString)&&("number"==typeof n.expires?(s=new Date,s.setTime(s.getTime()+24*n.expires*60*60*1e3)):s=n.expires,r="; expires="+s.toUTCString()),a=n.path?"; path="+n.path:"",i=n.domain?"; domain="+n.domain:"",o=n.secure?"; secure":"",document.cookie=[e,"=",encodeURIComponent(t),r,a,i,o].join(""))}function o(){var e,t=a("_UID");return"undefined"==typeof t?0:(e=t.split("::"),"undefined"==typeof e||e.length<4?0:e)}function s(){var e=o();return 0===e?0:e[1]}function r(){var e=a("_g");return"undefined"==typeof e?"":JSON.parse(e).k}function d(){var e,t,n={},a=window.location.search,i=a?decodeURIComponent(a).slice(1).split("&"):[];for(t=0;t<i.length;t++)e=i[t].split("="),n[e[0]]=e[1];return n}var l=e("jquery"),c=l("body");e("js/footer"),function(e,t,n,a,i){var o=t.createElement(n),s=t.getElementsByTagName(n)[0];e.YohoAcquisitionObject=i,e[i]=function(){e[i].p=arguments},o.async=1,o.src=a,s.parentNode.insertBefore(o,s)}(window,document,"script",("https:"==document.location.protocol?"https":"http")+"://cdn.yoho.cn/yas-jssdk/1.0.17/yas.js","_yas"),function(){var e=s();e=0===e?"":e,window._ozuid=e,window._yas&&window._yas(1*new Date,"1.0.17","yohobuy_web",e,"","")}(),l(window).on("resize",function(){var e=l(this).width();1360>e?l(".return-top").addClass("min"):l(".return-top").removeClass("min"),1180>e?c.addClass("min-screen"):c.removeClass("min-screen")}).trigger("resize"),l.extend({queryString:function(){var e,t,n=[],a=window.location.search.slice(1).split("&");for(t=0;t<a.length;t++)e=a[t].split("="),n.push(e[0]),n[e[0]]=e[1];return n}}),function(){l(window).load(function(){var e,t=document.getElementById("user-thumb");t&&(e=new Image,e.src=t.src,e.onerror=function(){l(t).parent().append('<div class="default-user-thumb"></div>').end().remove()})})}(),window.cookie=a,window.setCookie=i,window.getUser=o,window.getUid=s,window.getShoppingKey=r,window.queryString=d}),define("js/footer",["jquery"],function(e,t,n){function a(){var e=s("#subscriber-box"),t=s("#subscriber-btn"),n=/^[.\-_a-zA-Z0-9]+@[\-_a-zA-Z0-9]+\.[a-zA-Z0-9]/,a={mail:"&#xe61b;",tick:"&#xe61a"};e.focus(function(){s(this).val("").css("color",""),t.removeClass("done").html(a.mail)}),t.click(function(){var i=s.trim(e.val());if(""!==i&&n.test(i))try{s.ajax({url:"//www.yohobuy.com/common/emailSubscriber",dataType:"jsonp",data:{email:i,tmp:Math.random(),uid:window.getUid()},success:function(n){1===n.data.result?(e.val("已订阅到:"+i),t.addClass("done").html(a.tick)):e.css("color","red")}})}catch(o){console.log(o.message)}else e.css("color","red")})}function i(){var e=s(".vote"),t=s("#feed-back-page"),n=e.children("li").length;t.on("click","span",function(){var t=s(this);t.hasClass("cur")||(t.siblings(".cur").removeClass("cur"),t.addClass("cur"),e.children().not(".hide").addClass("hide").end().eq(t.index()).removeClass("hide"))}),e.on("click",".feed-back-btn",function(){var a=s(this),i=a.closest("li"),o=i.index(),r=[],d=i.find(".feedback-answer").val(),l=i.find(".feedback-id").val(),c=i.find(".question-id").val();i.find(":checked").each(function(){r.push(s(this).val())}),s.ajax({url:"//www.yohobuy.com/common/suggestFeedback",dataType:"jsonp",data:{feedback_id:l||0,question_id:c||0,answer:d||"",solution:r.join(",")},success:function(a){var s=o+1;if(1===~~a.data.result){if(o===n-1)return void alert("感谢您的参与!");i.addClass("hide"),e.children(":eq("+(o+1)+")").removeClass("hide"),t.children(".cur").removeClass("cur"),t.children(":eq("+s+")").addClass("cur")}}})})}function o(){s(window).height()>s(document).height()&&r.addClass("hide")}var s=e("jquery"),r=s(".return-top");r.click(function(){s("html,body").animate({scrollTop:0},500)}),s(window).scroll(function(){0===s(window).scrollTop()?r.addClass("hide"):r.removeClass("hide")}),r.hasClass("hide")&&s("img").load(o),a(),i(),window.rePosReturnTop=o}),define("js/header",["jquery","handlebars","source-map","index"],function(e,t,n){function a(e,t,n){try{ee.push({louceng:e,weizhi:t,event:n})}catch(a){}}function i(){var e=H("#nav_keyword").text(),t="vans",n=H("#query_key");""!==e?(n.css({color:"#000"}),n.val(e)):(n.css({color:"#e0e0e0"}),n.val(t),n.on("focus",function(e){n.css({color:"#000"}),n.val("")}))}function o(){var e={cookie:"_g",cartNum:""},t="",n="",a=0,i=0,o=0,s=0,r="";H.fn.miniCart=function(a){if(t=H.extend(e,a),"undefined"==typeof window.cookie(t.cookie))n=null;else if(t.cookie)try{n=Y.parse(window.cookie(t.cookie))}catch(i){}null!==n&&""!==n&&(s=parseInt(n._nac)+parseInt(n._ac),0===s?H("#icart-num").attr("class","icart-num icart-none"):H("#icart-num").attr("class","icart-num"),H(t.cartNum).html(s))},H.fn.search=function(e){function t(t){var n=H.trim(H(t).val());return n=n.replace(new RegExp("'","gm"),""),""===n?(H(".search-list").hide(),!1):(n=encodeURI(n),void H.get(e+"?query="+n,function(e){H(".search-list").html(e.data),a=H(".search-list").children("li").length,i=-1,a>0?H(".search-list").show():H(".search-list").hide(),H(".search-list").find("a").hover(function(){H(this).css("background-color","#eee")},function(){H(this).css("background-color","#fff")})},"jsonp"))}function n(e){H(".search-list li:eq("+o+")").children("a").css("background-color","#fff"),H(".search-list li:eq("+i+")").children("a").css("background-color","#eee"),r=H(".search-list li:eq("+i+")").children("a").attr("title"),H("#query_key").val(r)}return this.each(function(){H(this).keyup(function(e){if(38===e.which){if(0===a)return!1;-1===i&&(i=0),o=i,i=(i-1+a)%a,n(this)}else if(40===e.which){if(0===a)return!1;o=i,i=(i+1)%a,n(this)}else 13===e.which?window.submitSearch():t(this)})})},H.extend({getData:function(e,t,n){var a={page:1,method:"",v:1,return_type:"jsonp",open_key:"12345",tmp:Math.random()},i="";if(void 0===typeof e||""===e)return!1;i=H.extend(a,t),i.page=i.page||1;try{H.getJSON(e+"/?callback=?",i,function(e){return""!==n?("undefined"!=typeof n(e.data)&&Y.parse(n(e.data)),!1):void 0})}catch(o){console.log(o.message)}},getShoppingKey:function(){var e,t=window.cookie("_g"),n=Y.parse(t);return"undefined"==typeof t||null===t?(e=window.cookie("_SPK"),e?e:""):n._k}})}function s(e){var t;200===+e.code&&"object"==typeof e.data&&(t=""!==e.data.url?'<a target="_blank" href="'+e.data.url+'" class="page-top-banner"style="height:36px;border:none;background-image:url('+window.unescape(e.data.src)+');background-position: center;display:block;">&nbsp;</a>':'<div class="yoho-notice"><div class="notice-container center-content"><h1 class="notice-title">关于系统升级的公告</h1><div class="notice-content"><p class="tips">尊敬的顾客:</p><p class="detail">您好!为了向您提供更优质的服务,目前系统正在升级,请耐心等待。</p><p class="detail">系统升级期间,部分地区用户体验会有暂时中断,如遇紧急事宜,欢迎垂询客服热线:400-889-9646 09:00-22:30(周一至周日)。稍后系统将恢复正常使用,欢迎您继续光顾YOHO!BUY有货!带来不便之处深表歉意,请您谅解!</p></div></div></div>',H("body").prepend(t))}function r(e){var t=document.createElement("script");t.src=le+e+"&client_type=web&callback=JsonPCallBack",document.getElementsByTagName("head")[0].appendChild(t)}function d(e,t){var n,a;H(e).hover(function(e){e.preventDefault(),n=H(this),a=H(t)[0],""===a.style.display?(n.addClass("acttags"),a.style.display="block"):(n.removeClass("acttags"),a.style.display="")})}function l(){var e,t,n=[{sourceClass:".myyoho",targetClass:".myyoho-info"},{sourceClass:".phone",targetClass:".qr"}];for(t=0;t<n.length;t++)e=n[t],d(e.sourceClass,e.targetClass)}function c(){var e;H(".yohogroup").mouseenter(function(){e=H(this),e.text(e.attr("cn"))}),H(".yohogroup").mouseleave(function(){e=H(this),e.text(e.attr("en"))})}function u(){var e,t,n=["webkit","moz","ms"];for(t=0;t<n.length;t++)return e=n[t]+"RequestAnimationFrame",!!window[e]}function h(){var e=["webkit","moz","ms"],t=e[0]+"RequestAnimationFrame",n=e[1]+"RequestAnimationFrame",a=e[2]+"RequestAnimationFrame";return window[t]?function(e){requestAnimationFrame(e)}:window[n]?function(e){window[n](e)}:window[a]?function(e){window[a](e)}:function(e){window.setTimeout(e,67)}}function p(){ne+=10,ae.css({transform:"rotateX("+ne+"deg)","-webkit-transform":"rotateX("+ne+"deg)","-moz-transform":"rotateX("+ne+"deg)"}),ne/90%2===1&&(ie?(ae.css("background-image","url(//static.yohobuy.com/newheader/img/logo1.png)"),ie=!1):(ae.css("background-image","url(//static.yohobuy.com/newheader/img/logo_e.png)"),ie=!0)),ne/90%2===0&&ne%360!==0?window.setTimeout(p,3e3):ne%360===0?window.setTimeout(p,6e4):te(function(){p()})}function f(){M&&window.clearTimeout(M),ae.fadeOut(oe,function(){ie=!1,ae.css("background-image","url(//static.yohobuy.com/newheader/img/logo.png)"),ae.fadeIn(oe,function(){W=window.setTimeout(function(){ae.fadeOut(oe,function(){window.clearTimeout(W),ie=!0,ae.css("background-image","url(//static.yohobuy.com/newheader/img/logo_e.png)"),ae.fadeIn(oe,function(){M=window.setTimeout(f,6e4)})})},3e3)})})}function m(){u()?(te=h(),window.setTimeout(p,3e3)):window.setTimeout(f,3e3)}function g(e){var t=H(e);t.find(".thirdnavbar").each(function(){var e=H(this),t=e.find("a"),n=t.attr("href"),a="hot"===t.attr("hot"),i={};i=e.hasClass("category-title")?{type:"title",height:49,content:e.text(),index:window.valueIndex,href:n,hot:!1}:{type:"catlist",height:36,content:t.text(),index:window.valueIndex,href:n,hot:a},window.valueIndex++,window.newArr.push(i)})}function v(){var e=window.newArr.length,t=0,n=[],a=[],i=[],o=[],s="",r="",d="",l=0,c=0,u=0;for(t;e>t;t++){if(n=window.newArr[t],0===window.gindex&&(window.oh1=window.oh1+n.height,window.oh1>=340&&t!==e-1&&(window.targetArr1=window.newArr.slice(0,n.index+1),window.nowIndex=n.index+1,window.gindex++),t===e-1)){window.targetArr1=window.newArr.slice(0,e+1);break}if(1===window.gindex&&(window.oh2=window.oh2+n.height,window.oh2>=340&&t!==e-1&&(window.targetArr2=window.newArr.slice(window.nowIndex,n.index+1),window.nowIndex=n.index+1,window.gindex++),t===e-1)){window.targetArr2=window.newArr.slice(window.nowIndex,e+1);break}if(2===window.gindex){if(window.oh3=window.oh3+n.height,window.oh3>=340&&t!==e-1){window.targetArr3=window.newArr.slice(window.nowIndex,n.index+1),window.nowIndex=n.index+1,window.gindex++;break}if(t===e-1){window.targetArr3=window.newArr.slice(window.nowIndex,e+1);break}}}for(l;l<window.targetArr1.length;l++)a=window.targetArr1[l]||{},"title"===a.type?window.inner1=window.inner1+'<li class="cattitle"><h3><a  href="'+a.href+'">'+a.content+"</a></h3></li>":a.hot===!0?window.inner1=window.inner1+'<li class="catdetail"><a  class="thirdcatelink hot" href="'+a.href+'">'+a.content+"</a></li>":window.inner1=window.inner1+'<li class="catdetail"><a  class="thirdcatelink" href="'+a.href+'">'+a.content+"</a></li>";for(c;c<window.targetArr2.length;c++)i=window.targetArr2[c]||{},"title"===i.type?window.inner2=window.inner2+'<li class="cattitle"><h3><a  href="'+i.href+'">'+i.content+"</a></h3></li>":i.hot===!0?window.inner2=window.inner2+'<li class="catdetail"><a  class="thirdcatelink hot" href="'+i.href+'">'+i.content+"</a></li>":window.inner2=window.inner2+'<li class="catdetail"><a  class="thirdcatelink" href="'+i.href+'">'+i.content+"</a></li>";for(u;u<window.targetArr3.length;u++)o=window.targetArr3[u]||{},"title"===o.type?window.inner3=window.inner3+'<li class="cattitle"><h3><a  href="'+o.href+'">'+o.content+"</a></h3></li>":o.hot===!0?window.inner3=window.inner3+'<li class="catdetail"><a  class="thirdcatelink hot" href="'+o.href+'">'+o.content+"</a></li>":window.inner3=window.inner3+'<li class="catdetail"><a  class="thirdcatelink" href="'+o.href+'">'+o.content+"</a></li>";""!==window.inner1&&(s='<ul class="cate_row1 cate_row">'+window.inner1+"</ul>"),""!==window.inner2&&(r='<ul class="cate_row2 cate_row">'+window.inner2+"</ul>"),""!==window.inner3&&(d='<ul class="cate_row3 cate_row">'+window.inner3+"</ul>"),window.finalresult=s+r+d,H("#"+window.wrapperindex).empty().append(window.finalresult)}function y(){H(".categorywrapper").each(function(e){window.wrapperindex=H(this).attr("id"),window.newArr=[],window.gindex=0,window.targetArr1=[],window.targetArr2=[],window.targetArr3=[],window.oh1=0,window.oh2=0,window.oh3=0,window.valueIndex=0,window.nowIndex=0,window.inner1="",window.inner2="",window.inner3="",g(H(this).find(".category")),v()})}function b(){var e={},t="",n="",a="",i="",o="";H(document).on("mouseenter",".sub-nav-item",function(){t=H(this).find(".showdetail").attr("data-code"),t&&(e[t]||(e[t]=t,n=H(this).find(".showdetail").find("img"),a=H(this).find(".showdetail").find(".title"),i=H(this).find(".showdetail").find("a"),H.get(le+t+"&width=337&height=250&client_type=web",function(e){n.attr("src",e.data.src),i.attr("href",e.data.url),a.text(e.data.title)},"jsonp")))}),o=H(".cure").find(".name-cn").find("a").attr("href"),H(".main-link").attr("href",o)}function w(){var e=H("#cover");e.remove()}function C(){var e,t=window.cookie("_Gender"),n="",i="",o="",s="";"www.yohobuy.com"!==window.location.host||"undefined"!=typeof t&&""!==t&&null!==t||H.get("//www.yohobuy.com/index/guide",function(t){n=document.createElement("div"),n.id="cover",n.innerHTML=t,document.body.appendChild(n),i=H(window).height(),o=H(".guide-box").height(),e=i/2-o/2,s=H(".guide-box .clear").find("li").length,H(".guide-box").css({width:200*s+"px",top:e+"px"}),H("#cover").bind("click",function(e){window.setCookie("_Gender","1,3",{path:"/",domain:".yohobuy.com",expires:90}),window.setCookie("_Channel","boys",{path:"/",domain:".yohobuy.com",expires:7}),w()}),H("#cover .guide-box .close").bind("click",function(e){a("弹窗","CLOSE","homepage_man"),window.setCookie("_Gender","1,3",{path:"/",domain:".yohobuy.com",expires:90}),window.setCookie("_Channel","boys",{path:"/",domain:".yohobuy.com",expires:7}),w()}),H(".boys img , .boys .go").bind("click",function(e){a("弹窗","BOYS","homepage_man"),window.setCookie("_Gender","1,3",{path:"/",domain:".yohobuy.com",expires:90}),window.setCookie("_Channel","boys",{path:"/",domain:".yohobuy.com",expires:7}),w()}),H(".girls img, .girls .go").bind("click",function(e){a("弹窗","GIRLS","homepage_woman"),window.setCookie("_Gender","2,3",{path:"/",domain:".yohobuy.com",expires:90}),window.setCookie("_Channel","girls",{path:"/",domain:".yohobuy.com",expires:7})}),H(".lifestyle img, .lifestyle .go").bind("click",function(e){window.setCookie("_Channel","lifestyle",{path:"/",domain:".yohobuy.com",expires:7}),a("弹窗","LIEFSTYLE","homepage_lifestyle")}),H("#cover .guide-box").bind("click",function(e){e.stopPropagation()})})}function i(){var e=H("#nav_keyword").text(),t=H("#defaultsearch").val(),n=H("#query_key");""!==e?(n.css({color:"#000"}),n.val(e)):(n.css({color:"#e0e0e0"}),n.val(t),n.on("focus",function(e){n.css({color:"#000"}),n.val("")})),H(document).click(function(e){H(e.target).closest(".searchspan, .search-list").length||H(".search-list").hide()})}function _(){var e=window.cookie("_Gender"),t=H(".cure");"undefined"!=typeof e&&""!==e&&window.setCookie("_Gender",1,{path:"/",domain:".yohobuy.com",expires:7}),"男生"===t.find(".name-cn a").text()&&(window.setCookie("_Gender","1,3",{path:"/",domain:".yohobuy.com",expires:7}),window.setCookie("_Channel","boys",{path:"/",domain:".yohobuy.com",expires:7})),"女生"===t.find(".name-cn a").text()&&window.setCookie("_Gender","2,3",{path:"/",domain:".yohobuy.com",expires:7}),"创意生活"===t.find(".name-cn a").text()&&window.setCookie("_Channel","lifestyle",{path:"/",domain:".yohobuy.com",expires:7}),"潮童"===t.find(".name-cn a").text()&&window.setCookie("_Channel","kids",{path:"/",domain:".yohobuy.com",expires:7})}function x(){H(".first-nav-item").click(function(){var e=window.cookie("_Gender");"undefined"!=typeof e&&""!==e&&window.setCookie("_Gender",1,{path:"/",domain:".yohobuy.com",expires:7}),"男生"===H(this).find(".name-cn a").text()&&(window.setCookie("_Gender","1,3",{path:"/",domain:".yohobuy.com",expires:7}),window.setCookie("_Channel","boys",{path:"/",domain:".yohobuy.com",expires:7})),"女生"===H(this).find(".name-cn a").text()&&(window.setCookie("_Gender","2,3",{path:"/",domain:".yohobuy.com",expires:7}),window.setCookie("_Channel","girls",{path:"/",domain:".yohobuy.com",expires:7})),"创意生活"===H(this).find(".name-cn a").text()&&window.setCookie("_Channel","lifestyle",{path:"/",domain:".yohobuy.com",expires:7}),"潮童"===H(this).find(".name-cn a").text()&&window.setCookie("_Channel","kids",{path:"/",domain:".yohobuy.com",expires:7})})}function k(){var e,t,n,a=document.cookie,i=a.split(";");for(e=0;e<i.length;e++)t=i[e].split("="),"undefined"!=typeof t[0]&&(n=t[0].replace(/\s/g,""),de[n]=t[1])}function j(){H("#miniCartBox").miniCart({cartNum:".ic-infomation"})}function S(){var e,t,n;H.getData("//www.yohobuy.com/common/shoppingCart","",function(a){""===V&&(V=G.compile(H("#mini-cart-tpl").html())),H("#miniCartBox").children(".gobuy-wrapper").html(V({carData:a})),0===parseInt(H(".ic-infomation").html())&&H("#miniCartBox .gobuy-wrapper").html('<div class="gobuy-empty"><h3 class="information">您的购物车暂无商品</h3></div>'),H("#miniCartBox .goods-list li").length<1&&(e=window.cookie("_g"),t=Y.parse(e),null!==t&&(n='{"_k":"'+t._k+'","_nac":0,"_ac":0,"_r":0}',window.setCookie("_g",n,{path:"/",domain:".yohobuy.com"})),H(".ic-infomation").html(0),H("#miniCartBox .gobuy-wrapper").html('<div class="gobuy-empty"><h3 class="information">您的购物车暂无商品</h3></div>'))})}function T(e,t,n){H.getData("//www.yohobuy.com/common/delCartGoods",{product_sku:e,promotion_id:t,product_num:n},function(e){var t=window.cookie("_g"),n=Y.parse(t),a='{"_k":"'+n._k+'","_nac":'+e.total_goods_num+',"_ac":0,"_r":0}';window.setCookie("_g",a,{path:"/",domain:".yohobuy.com"}),S(),j()})}function q(){var e,t,n,a;H(document).on("click",".goodscardelete",function(i){e=H(this),t=e.attr("product_sku"),n=e.attr("promotion_id"),a=e.prev("h3").find(".num").html(),T(t,n,a)})}function I(){var e;H(document).on("click",".mycart_i_down",function(t){e=H(this),e.toggleClass("mycart_i_up"),H("#mycartmore").slideToggle(300)})}function E(){var e,t="//www.yohobuy.com/shopping/cart";H("#miniCartBox").on("click",function(n){e=H(n.target),e.hasClass("gobuy")&&(window.location.href=t)})}function A(e){1===e?(H("#miniCartBox").addClass("list-cur"),H(".gobuy-wrapper").show(),0!==parseInt(H(".ic-infomation").html())?(H("#miniCartBox .gobuy-wrapper").html('<div class="gobuy-loading"><h3 class="information">加载中,请稍后</h3></div>'),S()):H("#miniCartBox .gobuy-wrapper").html('<div class="gobuy-empty"><h3 class="information">您的购物车暂无商品</h3></div>')):(H("#miniCartBox").removeClass("list-cur"),H(".gobuy-wrapper").hide())}function F(){var e;H("#miniCartBox").mouseenter(function(t){e=H(t.target),"miniCartBox"!==e.attr("id")&&"ic-infomation"!==e.attr("class")||A(1)}),H("#miniCartBox").mouseleave(function(e){A(0)})}function U(){var e,t="indexkids",n="indexlifestyle",a="indexboys",i="indexgirls",o="uniquebrand",s=window.location.href,d=window.location.host,l="";-1!==s.indexOf("search")&&(l=re["search"+de._Channel]),-1!==s.indexOf("list")&&(l=re["list"+de._Channel]),-1!==s.indexOf("brands")&&(l=re["brands"+de._Channel]),-1!==s.indexOf("new")&&(l=re["new"+de._Channel]),-1!==s.indexOf("sale")&&(l=re["sale"+de._Channel]),-1!==s.indexOf("home")&&(l=re["home"+de._Channel]),-1!==s.indexOf("kids")&&(l=re[t]),-1===s.indexOf("woman")&&-1===s.indexOf("girls")||(l=re[i]),-1!==s.indexOf("lifestyle")&&(l=re[n]),-1!==s.indexOf("www.yohobuy.com")&&"/"===window.location.pathname&&(l=re[a]),e=d.split(".")[0],"list"!==e&&"search"!==e&&"www"!==e&&"new"!==e&&"item"!==e&&"guang"!==e&&(l=re[o+de._Channel]),r(l)}function D(e){H(".hot-brands").find("ul").stop().animate({opacity:0,"z-index":1},200).eq(e).animate({opacity:1,"z-index":2},200)}function P(){var e,t=0;H(".hot-brands").size()>0&&(e=H(".hot-brands").find("ul").size(),H(".hot-brands").find("ul").eq(0).css({opacity:1,"z-index":2}),H(".brands-control").on("click",".next",function(){t===e-1?t=0:t++,D(t)}),H(".brands-control").on("click",".prev",function(){0===t?t=e-1:t--,D(t)}))}function O(){setInterval(j,2e3)}function L(){var e=H("#goodcartempwarpper"),t="";e&&e.html()&&(t=H("#goodcartempwarpper").html().replace(/\\/g,""),H("#goodcartempwarpper").html(t),Q=G.compile(H("#tmpl-my-login-new").html()))}function N(){var e="//search.yohobuy.com/api/suggest";H("#query_key").search(e)}function $(e){var t=(new Date).getTime(),n='<span>Hi~</span>[<a href="//www.yohobuy.com/signin.html" class="list-a login-out ">请登录</a>]&nbsp;[<a href="//www.yohobuy.com/reg.html" class="list-a login-out" onclick="">免费注册</a>]',a='<span>Hi~<a href="//www.yohobuy.com/home?t='+t+'">{{user_name}}</a></span>&nbsp;{{#if islogin}}[<a href="{{logout}}" class="list-a login-out">退出</a>]{{/if}}{{#unless islogin}}[<a href="//www.yohobuy.com/signin.html" class="list-a login-out">请登录</a>]&nbsp;[<a href="//www.yohobuy.com/reg.html" onclick="" class="list-a login-out">免费注册</a>]{{/unless}}',i=H("#loginBox"),o=window.cookie("_UID"),s=e.data.profile_name,r=0,d=0,l="",c=o.split("::"),u=c[0]||" ",h="//www.yohobuy.com/logout.html",p="1",f=0,m={user_name:s,logout:h,random:Math.random()};if(i.html("").show(),X=G.compile(a),"undefined"==typeof o||null===o)return i.html(n),!1;if("undefined"==typeof c||c.length<4)return i.html(n),!1;for(d;d<u.length;d++)l=u.substr(d,1),r+=/.*[\u4e00-\u9fa5]+.*$/.test(l)?2:1;if(10>=r)s=u;else{for(f=0,d;d<u.length;d++)10>f&&(l=u.substr(d,1),"*"!==l&&(f+=/.*[\u4e00-\u9fa5]+.*$/.test(l)?2:1),s+=l);s.length<u.length&&(s+="...")}h=/http:\/\//.test(c[3])?c[3].replace("www.yohobuy.com","www.yohobuy.com"):"//www.yohobuy.com/logout.html",-1===e.result&&(p="-1"),m.islogin=p,i.html(X(m))}function z(e){var t=e.data,n="";if(1===e.result){if(void 0===typeof t||t.length<1)return!1;"3"===t.vip.curVipInfo.curLevel&&(t.vip3=!0),H("#myYohoBox").mouseenter(function(){return H(this).addClass("acttags"),H("#myYohoBox .myyoho-info").show().html(Q(t)),n=H(".myyoho-photo img").attr("data-url"),1===H._checkUrlState?void H(".myyoho-photo").show().find("img").attr("src",n):void(""!==n&&""===H._checkUrl&&H.ajax({url:n,type:"GET",complete:function(e){200!==e.status&&0!==e.status||(H(".myyoho-photo").show().find("img").attr("src",n),H._checkUrlState=1),H._checkUrl=n}}))}),H("#myYohoBox").mouseleave(function(){H(this).removeClass("acttags"),H("#myYohoBox .myyoho-info").hide()})}}function B(){H.getData("//www.yohobuy.com/common/passport","",function(e){e&&-1!==e.result?($(e),z(e)):(window.setCookie("_UID","",{path:"/",domain:".yohobuy.com",expires:-1}),se.show())})}function R(){y(),b(),L(),C(),_(),x(),k(),o(),c(),l(),m(),U(),P(),F(),j(),O(),N(),E(),q(),I(),B(),i()}var M,W,H=e("jquery"),G=e("handlebars"),Y=e("index"),Q=null,X=null,V="",Z=/^[\^\!\+\-\(\)\:\[\]\\\{\}\~\*\?\|\&\;\/]{0,}$/g,J="",K="",ee=[],te=null,ne=0,ae=H(".icon-logo"),ie=!0,oe=500,se=H("#loginBox"),re={listboys:"4f78b0f418fc42314d8b6e791cfb7fa8",listgirls:"00c1f025a51b6b597dc37925951ea27d",listkids:"b02df11184727701ade1b6de9737d08c",listlifestyle:"fd35c52dced0c880976ba858346d1fc5",searchboys:"9fb8986ea700cc27a8057361c3924394",searchgirls:"e3e207a1443ca60c8037fe52a5560c18",searchkids:"620fc77f479da8feaeb06f2324e5d0bb",searchlifestyle:"a3c93301c6ffaf3ed0f36a4a451be36d",uniquebrandboys:"2ebb0810c0d1a67e5229149c9c3aba7d",uniquebrandgirls:"99e23385f4ba4b65f406b7e2968ac821",uniquebrandkids:"a74ebc9b17840c91b9ea46568111fe6b",uniquebrandlifestyle:"0e8c81ead53f56302baa4d0ad967f527",brandsboys:"77b352db07129c76a9d532acad149f9f",brandsgirls:"bf047f16e52ebc38be5ce9c7623831e6",brandskids:"e3ae1ce9b5e13c6d271ef3eccb831652",brandslifestyle:"e4ac8029c30f65d7f1af030980d140fe",newboys:"869d3c5f3b450fb52101d00a61ce87cb",newgirls:"d953b6dfdac02483d1dcce8d96055954",newkids:"0874cb6d75df8e0e78f2d475e53ecc08",newlifestyle:"43e8fc8e178115c262bbce2bd0012db7",saleboys:"c846e3165c994769b4201d8c32f3ae9b",salegirls:"52b1d389edcbc62d65de71b80c4d6ad0",salekids:"ad8b1703c761ba00973868ab5199cc27",salelifestyle:"7acc64905c70ac91846f43fb2cec4bbd",homeboys:"b0856a771ef1b59ab1234c74688fa42d",homegirls:"2bd61fa12e4933211518f70fe5ce3c48",homekids:"895c59e8c64b40399c9533509507320c",homelifestyle:"2e037d4e25d2767352ca3e0a4627f7bd",indexboys:"0c911d3000f52e8ca7cffb74f5864c29",indexgirls:"b645b8980c423ab30485e0a9d08c2ef7",indexkids:"17f6d5d5d454d2c507bc5fcbc90f7756",indexlifestyle:"735cd393e841762af8793c346abbbc36"},de={},le="//new.yohobuy.com/common/getbanner?content_code=";H("#api-domain").remove(),window.submitSearch=function(){var e,t,n=H("#query_key").val(),i=H("#defaultsearch").val(),o="Search",s="Head Search",r="Search";if(e=H.trim(J.toLowerCase()),t=H.trim(n.toLowerCase()),a(o,s,r),""!==K&&""!==J&&e===t)location.href=K.replace("'","");else{if(!Z.test(n)||""===n)return""===n&&H("#query_key").val(i),H("#searchForm").submit(),!1;location.href="//search.yohobuy.com/error?query="+n+"&result=error"}},G.registerHelper("timestamp",function(){return(new Date).getTime()}),G.registerHelper("headerimg",function(e){return""===e?"//img10.static.yhbimg.com/headimg/2013/11/28/09/01cae078abe5fe320c88cdf4c220212688.gif?imageView/2/w/100/h/100":e}),G.registerHelper("equallevelthree",function(e,t){return"3"===e?t.fn(this):t.inverse(this)}),G.registerHelper("notzero",function(e,t){return"0"!==e?t.fn(this):t.inverse(this)}),window.JsonPCallBack=s,window.newArr=[],window.wrapperindex=0,window.gindex=0,window.targetArr1=[],window.targetArr2=[],window.targetArr3=[],window.oh1=0,window.oh2=0,window.oh3=0,window.valueIndex=0,window.nowIndex=0,window.inner1="",window.inner2="",window.inner3="",window.finalresult="",R()}),define("js/simple-header",["jquery"],function(e,t,n){function a(e){var t,n,a,i=0,o=0;for(a=0;a<e.length;a++)n=e.substr(a,1),o+=/.*[\u4e00-\u9fa5]+.*$/.test(n)?2:1;if(10>=o)t=e;else{for(i=0,t="",a=0;a<e.length;a++)10>i&&(n=e.substr(a,1),"*"!==n&&(i+=/.*[\u4e00-\u9fa5]+.*$/.test(n)?2:1),t+=n);t.length<e.length&&(t+="...")}return t}function i(e){var t,n,i=e.data;-1!==e.result?(n=a(i.profile_name),t='<span>Hi~</span><a href="//www.yohobuy.com/home?t='+i.random+'">'+n+'</a>&nbsp;<a href="//www.yohobuy.com/logout.html">[退出]</a>'):t='<span>Hi~</span>&nbsp;<a href="//www.yohobuy.com/signin.html">[请登录]</a>&nbsp;<a href="//www.yohobuy.com/reg.html">[免费注册]</a>',s(".header-tool li").eq(0).html(t)}function o(){var e={return_type:"jsonp"};s.getJSON("//www.yohobuy.com/common/passport/?callback=?",e,function(e){e&&e.data&&i(e.data)})}var s=e("jquery"),r=s("#api-domain");r.val();r.remove(),s(".simple-header").size()>0&&s(".tool-options").on("mouseenter",function(){s(this).find(".tool-select").fadeIn()}).on("mouseleave",function(){s(this).find(".tool-select").fadeOut()}),o()}),define("js/product/entry",["jquery","handlebars","source-map","lazyload","index","jquery-pjax"],function(e,t,n){e("js/product/list"),e("js/product/brand"),e("js/product/hotrank"),e("js/product/item"),e("js/product/shop-index")}),define("js/product/list",["jquery","handlebars","source-map","lazyload"],function(e,t,n){var a=e("jquery");e("js/product/filter"),e("js/product/sort-pager"),e("js/product/latest-walk"),e("js/product/product"),function(){var e,t=a(".banner-img");0!==t.length&&(e=new Image,e.onload=function(){e.height&&t.height(e.height),e=null},e.src=t.css("background-image").replace(/"/g,"").slice(4,-1))}()}),define("js/product/filter",["jquery","handlebars","source-map"],function(e,t,n){function a(e,t){e.each(function(){g(this).closest(".attr").hasClass("checked")||g(this).removeClass("checked").html(y.unchecked)}),t.find(".checkbox").addClass("checked").html(y.checked)}function i(){w.addClass("hide"),_.removeClass("hide")}function o(){_.addClass("hide"),w.removeClass("hide"),S.children("span").removeClass("hover")}function s(e,t){var n,a=window.queryString();a[e]=t,delete a.page,n="?"+decodeURIComponent(g.param(a)),window.location.href=n}function r(e){E.children(".senior-sub:eq("+m+")").addClass("hide"),A.children(".attr:eq("+m+")").removeClass("hover"),m=-1}var d,l,c,u,h,p,f,m,g=e("jquery"),v=e("handlebars"),y={unchecked:"&#xe635;",checked:"&#xe636;"},b={up:"&#xe610;",down:"&#xe600;"},w=g(".brand .default"),C=g("#brand-search-input"),_=g(".brand .brand-panel"),x=_.find(".attr"),k=g("#brand-more"),j=g("#brand-multi"),S=g(".brands-index"),T=g(".ud-price-range"),q=/^\d+$/,I=g(".sort-sub-wrap"),E=g(".senior-sub-wrap"),A=g(".senior-attr-wrap"),F='{{# size}}<a class="attr {{#if checked}}checked{{/if}}" href="{{href}}">{{name}}</a>{{/ size}}',U={},D=g(".filter-box .size");F=v.compile(F),g(".filter-box").on("selectstart",".attr, .brands-index span",function(){return!1}),g(".sort-pre").on("click","li",function(){var e=g(this),t=e.index(),n=e.data("id");return e.hasClass("active")?(e.removeClass("active"),I.children(":eq("+t+")").addClass("hide"),void D.addClass("hide")):(e.siblings(".active").removeClass("active"),e.addClass("active"),I.children(":not(.hide)").addClass("hide"),I.children(":eq("+t+")").removeClass("hide"),void(D.data("load")||(U[n]?(D.find(".attr-content").html(U[n]),D.removeClass("hide")):g.ajax({url:"/product/search/sortSize",data:{msort:n}}).then(function(e){"array"===g.type(e)&&e.length?(U[n]=F({size:e}),D.find(".attr-content").html(U[n]),D.removeClass("hide")):D.addClass("hide")}))))}),k.length>0&&(d=k.children("em"),l=k.children(".iconfont")),j.click(function(){"none"===_.css("display")&&k.trigger("click"),i(),_.removeClass("hide").addClass("multi"),g(this).addClass("hide"),k.addClass("hide")}),k.click(function(){var e=g(this);e.hasClass("more")?(o(),d.text("更多"),l.html(b.down),C.val("").trigger("keyup")):(i(),d.text("收起"),l.html(b.up)),g(this).toggleClass("more")}),S.on("mouseenter","span",function(){var e=g(this),t=e.data("index");e.hasClass("hover")||setTimeout(function(){e.siblings("span.hover").removeClass("hover"),e.addClass("hover"),0===e.index()?x.removeClass("hide"):x.addClass("hide").filter("[data-index="+t+"]").removeClass("hide")},120)}),C.keyup(function(){var e=g(this).val().toLowerCase();""===e?x.removeClass("hide"):x.addClass("hide").filter('[data-key*="'+e+'"]').removeClass("hide")}),g("#brand-multi-ok").click(function(){var e=[];g(this).hasClass("dis")||(_.find("span.checked").each(function(){e.push(g(this).data("id"))}),s("brand",e.join(",")))}),g(".multi-select-cancel").click(function(){var e=g(this).closest(".multi");e.hasClass("brand-panel")&&(j.removeClass("hide"),k.trigger("click"),k.removeClass("hide"),C.val("").trigger("keyup"),o()),e.addClass("hide").removeClass("multi"),a(e.find(".checkbox.checked"),e.find(".attr.checked")),g(this).siblings(".multi-select-ok").addClass("dis")}),g(".check-container").on("click",".attr",function(){var e=g(this),t=e.find(".checkbox"),n=e.closest(".brand-panel, .senior-sub").find(".multi-select-ok");t.toggleClass("checked"),t.hasClass("checked")?t.html(y.checked):t.html(y.unchecked),t.hasClass("checked")||e.siblings(".attr").find(".checked").length>0?n.removeClass("dis"):n.addClass("dis")}),g(".brand, .senior").on("click",".attr > a",function(e){g(this).closest(".multi").length>0&&e.preventDefault()}),g(".filter-box").on("click","li.checked, a.checked",function(e){e.preventDefault()}),T.length>0&&(c=T.find(".limit"),u=c.filter(".min"),h=c.filter(".max"),p=T.find(".price-sure"),c.keyup(function(){var e,t,n,a=g.trim(g(this).val()),i=q.test(a);i||(e=parseInt(a,10),g(this).val(isNaN(e)?"":e)),t=g.trim(u.val()),n=g.trim(h.val()),""!==t||""!==n?p.removeClass("hide"):p.addClass("hide")}),p.click(function(){var e,t=g.trim(u.val()),n=g.trim(h.val());""!==t&&""!==n&&+t>+n&&(e=n,n=t,t=e),s("price",t+","+n)})),A.on("mouseenter",".attr",function(){var e=g(this),t=e.index();e.hasClass("no-sub")||(e.addClass("hover").siblings().removeClass("hover"),
+E.children(".senior-sub:eq("+t+")").removeClass("hide").siblings().addClass("hide"))}).on("mouseleave",".attr",function(){var e=g(this),t=e.index();e.hasClass("no-sub")||(m=t,f=setTimeout(function(){r()},100))}),g(".senior-sub").on("click",".multi-select",function(){g(this).closest(".senior-sub").addClass("multi")}).on("click",".multi-select-ok",function(){var e=g(this),t=e.closest(".senior-sub"),n=[];e.hasClass("dis")||(t.find("span.checked").each(function(){n.push(g(this).data("id"))}),s(t.data("attr"),n.join(",")))}).on("mouseenter",function(){clearTimeout(f)}).on("mouseleave",function(){r()})}),define("js/product/sort-pager",["jquery"],function(e,t,n){var a=e("jquery"),i=a("#count-per-page"),o=i.next("ul"),s=200;a(document).click(function(e){a(e.target).closest(".page-count").length>0||o&&o.slideUp(s)}),i.click(function(){"none"===o.css("display")?o.slideDown(s):o.slideUp(s)})}),define("js/product/latest-walk",["jquery","handlebars","source-map","lazyload"],function(e,t,n){var a=e("jquery"),i=e("handlebars"),o=e("lazyload"),s=a("#latest-walk-count");!function(){var e;0!==s.length&&(e=i.compile(a("#latest-walk-tpl").html()),a.ajax({url:"//www.yohobuy.com/common/recentReview",dataType:"jsonp",data:{limit:s.val()},success:function(t){var n,i,s,r=[];if(200===t.code){if(n=t.data,0===n.length)return void a(".latest-walk").addClass("hide");for(i=0;i<n.length;i++)s=n[i],r.push({href:s.url,img:s.pic_url,name:s.product_name,salePrice:s.price,marketPrice:s.market_price});r.length>0&&(a("#latest-walk-goods").html(e({latestWalk:r})),o(a("#latest-walk-goods .lazy")))}}}))}()}),define("js/product/product",["jquery","lazyload","handlebars","source-map"],function(e,t,n){var a,i=e("jquery"),o=e("lazyload"),s=e("handlebars"),r=e("js/common/product-event"),d=i(".goods-container"),l=d.find(".good-info"),c=d.find(".good-item-wrapper"),u=d.find(".good-info-main"),h=d.find(".good-select-color"),p=i(".product-list-nav");o(i("img.lazy")),t.init=function(e){function t(e,t){var n,a,i,o="",s=e.length,r=4,d=Math.ceil(s/r),l=0;for(n=0;d>n;n++)for(o+="<ul>",a=0;r>a&&(i=n*r+a,i!==s);a++)o+='<li><a target="_blank" href="'+e[n*r+a].url+t+'"><img src="'+e[n*r+a].src+'" data-cover="'+e[n*r+a].coverImg+'" /></a></li>',a===r-1&&(o+="</ul>",l++);return d>l&&(o+="</ul>"),{colorListStr:o,ulNum:d}}function n(){u.html(""),h.html(""),c.css({display:"none"})}var o=i(".shop-entry"),s=i(".shop-entry-area"),p=o.length;p>1?(3===p?o.css({width:"32%"}):p%2&&i(".shop-entry:gt("+(p-4)+")").css({width:"32%"}),i(".shop-entry:nth-child(2n+1)").css({marginLeft:0}),o.last().css({marginLeft:"2%"}),p%2===0?o.find(".name").css({width:"50%"}):p%3===0&&o.find(".name").css({width:"26%"})):o.css({width:"100%"}),s.slideDown(),a=null,l.unbind(),a=r(l,e),a.addHandler("MouseEnter",function(e){var a,o,s,r,l,p,f,m,g=10,v=35,y="",b=e.target.attr("data-from")||"";i.ajax({type:"POST",url:"/product/list/getProductPic",dataType:"jsonp",jsonp:"callback",data:{skn:e.target.attr("data-skn"),skc:e.target.attr("data-skc")}}).then(function(w){var C=w.data,_=t(C.pics,b);n(),y=_.colorListStr,a=_.ulNum,u.append(e.targetDuplicate),h.append(i(y)),p=c.css("paddingLeft"),f=c.css("paddingTop"),m=d.css("paddingTop"),o=10+65*a+e.targetWidth,r=(e.targetX-1)*(e.targetWidth+g)-(parseInt(p)+1),l=(e.targetY-1)*(e.targetHeight+v)+parseInt(m)-(parseInt(f)+1),s=e.offsetR-(65*a+25),0>=s&&(r=r+s-25),c.css({width:o,left:r,top:l,display:"inline-block"}),C.pics[0]&&C.pics[0].src&&u.find(".good-thumb img").attr("src",C.pics[0].src)})}),a.addHandler("MouseLeave",function(){n()}),c.mouseleave(function(){n()})},i(document).on("hover",".good-select-color li",function(){var e=i(this).find("img").attr("data-cover"),t=i(this).closest(".good-item-wrapper").find(".good-detail-img").find("img");t.attr("src",e)}),p.find("h3").click(function(e){var t=i(this).closest(".product-list-nav");t.hasClass("active")?t.find(".sort-child-list").stop(!0,!0).slideUp():t.find(".sort-child-list").stop(!0,!0).slideDown(),t.toggleClass("active")}),function(){var e,t=i("#brand-card"),n=i("#brand-favor");t.length&&i.ajax({type:"POST",url:"/product/index/getNodeContent",data:{node:t.data("node")}}).then(function(e){t.html(e)}),n.length&&(e=i("#pic-link-tpl").html(),i.ajax({type:"POST",url:"/product/index/getAdnav",data:{brandId:n.data("id")}}).then(function(t){t&&i("#brand-ad").html(s.compile(e)({picLink:t}))}))}()}),define("js/common/product-event",["jquery"],function(e,t,n){function a(){this.handlers={}}var i=e("jquery");a.prototype={constructor:a,addHandler:function(e,t){"undefined"==typeof this.handlers[e]&&(this.handlers[e]=[]),this.handlers[e].push(t)},fire:function(e){var t,n;if(e.target||(e.target=this),this.handlers[e.type]instanceof Array)for(t=this.handlers[e.type],n=0;n<t.length;n++)t[n](e)},removeHandler:function(e,t){var n,a;if(this.handlers[e]instanceof Array){for(n=this.handlers[e],a=0;a<n.length&&n[a]!==t;a++);n.splice(a,1)}}},n.exports=function(e,t){function n(e){var n,a=0,u=0,h=t,p=0,f="",m=0,g=0;switch(e.type){case"mouseenter":n=i(this),o=setTimeout(function(){s=!0,f=n.clone(),p=n.index()+1,a=p%h===0?h:p%h,u=Math.ceil(p/h),m=n.offset().left,g=c-(m+d),r.fire({type:"MouseEnter",target:n,targetWidth:d,targetHeight:l,targetX:a,targetY:u,rowWidth:h,activeIndex:p,targetDuplicate:f,offsetL:m,offsetR:g})},150);break;case"mouseleave":s||(o&&clearTimeout(o),r.fire({type:"MouseLeave"})),s=!1}}var o,s,r=new a,d=e.eq(0).width(),l=e.eq(0).height(),c=i(window).width();return e.bind({mouseenter:n,mouseleave:n}),r}}),define("js/product/brand",["jquery"],function(e,t,n){var a=e("jquery"),i=a("#brand-favor"),o=i.data("id");i.on("click",function(){a.ajax({type:"post",url:"/product/index/favoriteBrand",data:{brandId:o}}).then(function(e){200===e.code?i.find("i").toggleClass("coled"):403===e.code&&(location.href="//www.yohobuy.com/signin.html?refer="+encodeURIComponent(location.href))})}),a.ajax({type:"POST",url:"/product/index/isFavoriteBrand",data:{brandId:o}}).then(function(e){200===e.code?i.find("i").addClass("coled"):404===e.code&&i.find("i").removeClass("coled")})}),define("js/product/hotrank",["jquery","handlebars","source-map","lazyload"],function(e,t,n){var a=e("jquery"),i=e("handlebars"),o=e("lazyload");e("js/common/slider"),e("js/common/logo-brand"),o(a("img.lazy")),a(".slide-container").slider(),a(".logo-brand").logoBrand({showNum:10,url:a(".logo-brand").data("url")}),function(e){function t(t,n){var d={};d=n?{sid:t,page:n}:{sid:t},e.ajax({type:"GET",dataType:"json",url:"/product/index/getdata",data:d,success:function(t){var d;200===t.code&&(d={list:t.data},s=i.compile(a),n?(e(".hot-week-list").append(s(d)),r.css({position:"fixed",marginTop:-r.height()/2,top:"50%"})):e(".hot-week-list").html(s(d)),o(e("img.lazy")),c=!1)}})}var n,a,s,r=e(".hot-week").find(".floatlayer"),d=(e(".hot-cate").find("li").eq(0).data("sid"),1),l=0,c=!1;a='{{# list}}<div class="good-info"><div class="item-img"><a class="good-thumb" target="_blank" href="{{url}}"><img class="lazy" data-original="{{thumb}}"></a></div><div class="good-detail-text"><a target="_blank" href="{{url}}">{{name}}</a><p class="price">{{# marketPrice}}<span class="market-price">¥{{.}}</span>{{/ marketPrice}} <span class="sale-price{{#unless marketPrice}}prime-cost{{/unless}}">¥{{salePrice}}</span></p></div></div>{{/ list}}',e(window).on("scroll",function(){var a,i=n+e(".hot-week").outerHeight();n=e(".hot-week").offset().top,e(this).scrollTop()>=n-e(window).height()/2?r.offset().top+r.outerHeight()>=i?r.css({position:"absolute",marginTop:0,top:e(".hot-week").outerHeight()-r.outerHeight()}):r.css({marginTop:-r.height()/2}).stop().animate({opacity:1},200,function(){r.show()}):r.stop().animate({opacity:0},200,function(){r.hide()}),r.offset().top>=e(this).scrollTop()+(e(window).height()-r.outerHeight())/2&&r.css({position:"fixed",marginTop:-r.height()/2,top:"50%"}),e(this).scrollTop()>=n+e(".hot-week").height()-e(window).height()&&(c||(a=e(".hot-cate").find("li.current").data("sid"),d++,c=!0,t(a,d)))}),e(".hot-cate").find("li").each(function(t){var n=e(".hot-cate").width();n>=l&&(l+=e(this).width(),l>=n&&e(".floatlayer").find("li").eq(t).hide().nextAll().hide())}),e(".hot-cate").on("click","li",function(){var a=e(this).index(),i=e(this).data("sid");e(this).hasClass("current")||(e(this).addClass("current").siblings().removeClass("current"),e(".floatlayer").find("li").removeClass("current").eq(a).addClass("current"),e("body,html").stop().animate({scrollTop:n-110},500),t(i),d=1)}),e(".floatlayer").on("click","li",function(){var t=e(this).index();e(this).hasClass("current")||(e(".hot-cate").find("li").eq(t).trigger("click"),e(this).addClass("current").siblings().removeClass("current"),e(".hot-cate").find("li").removeClass("current").eq(t).addClass("current"))}),e(".hot-cate").find("li").eq(0).addClass("current"),e(".floatlayer").find("li").eq(0).addClass("current")}(a)}),define("js/common/slider",["jquery","lazyload"],function(e,t,n){var a=e("jquery"),i=e("lazyload");!function(e){var t=function(t,n){this.$element=e(t),this.options=e.extend({},e.fn.slider.defaults,n),this.bigItem=this.$element.find(".slide-wrapper").find("li"),this.smallItem=null,this.len=this.bigItem.size(),this.index=0,this.timer=null,this.init()};t.prototype={init:function(){if(this.$element){if(this.len<=1)return void i(this.$element.find("img.lazy"));this.options.pagination?this.smallItem=e(this.options.pagination).find("li"):this._createPage(),this.options.orient&&this._createOrient(),this._slideShow(),this._bindEvent(),this._autoplay()}},_createOrient:function(){var e='<div class="slide-switch"><a class="prev" href="javascript:;"><span class="iconfont">&#xe60c;</span></a><a class="next" href="javascript:;"><span class="iconfont">&#xe60b;</span></a></div>';this.$element.find(".slide-switch").length>0||this.$element.append(e)},_createPage:function(){var t='<div class="slide-pagination"><div class="slide-pagination-inner"><div class="slide-shade"></div><div class="slide-pagination-last">',n=0;if(!(this.len<=1)){for(n=0;n<this.len;n++)t+="<span></span>";t+="</div></div></div>",this.$element.append(e(t)),this.smallItem=this.$element.find(".slide-pagination-inner span")}},_bindEvent:function(){var t=this;this.$element.find(".slide-switch").on("click",".next",function(){t._nextSlide(),clearInterval(t.timer),t.timer=setInterval(function(){t._nextSlide()},t.options.time)}).on("click",".prev",function(){t._prevSlide(),clearInterval(t.timer),t.timer=setInterval(function(){t._nextSlide()},t.options.time)}),this.smallItem.on("mouseenter",function(){t.index=e(this).index(),clearInterval(t.timer),t._slideShow()}).on("mouseleave",function(){t._autoplay()}),this.$element.on("mouseenter",function(){e(this).find(".slide-switch").addClass("show")}).on("mouseleave",function(){e(this).find(".slide-switch").removeClass("show")})},_nextSlide:function(){this.index===this.len-1?this.index=0:this.index++,this._slideShow()},_prevSlide:function(){0===this.index?this.index=this.len-1:this.index--,this._slideShow()},_slideShow:function(){var t=this.bigItem.eq(this.index).find("img.lazy");t.attr("src")!==t.data("original")&&(i(t,{event:"sporty"}),t.trigger("sporty")),this.smallItem.eq(this.index).addClass("focus").siblings().removeClass("focus"),this.bigItem.eq(this.index).show().stop().animate({opacity:1},function(){e(this).find(".slide-tips > p").removeClass("hide")}).siblings().stop().animate({opacity:0},function(){e(this).hide().find(".slide-tips > p").addClass("hide")})},_autoplay:function(){var e=this;clearInterval(this.timer),this.timer=setInterval(function(){e._nextSlide()},this.options.time)}},e.fn.slider=function(n){return this.each(function(){var a=e(this),i=a.data("Slider"),o="object"==typeof n&&n;i||a.data("Slider",i=new t(this,o)),"string"==typeof n&&i[n]()})},e.fn.slider.Constructor=t,e.fn.slider.defaults={time:5e3,orient:!0,pagination:null}}(a)}),define("js/common/logo-brand",["jquery","handlebars","source-map","lazyload"],function(e,t,n){var a=e("jquery"),i=e("handlebars"),o=e("lazyload");!function(e){var t=function(t,n){this.$element=e(t),this.options=e.extend({},e.fn.logoBrand.defaults,n),this.init()};t.prototype={init:function(){this.$element.addClass("logos-"+this.options.showNum),this._sendRequest()},_createHelper:function(){var e=this.options.showNum;i.registerHelper("brandList",function(t,n){var a="<ul>",i=0,o=null,s=0;if(t.length%e!==0)for(s=e-t.length%e,i=0;s>i;i++)t.push({href:"javascript:;",img:""});for(i=0;i<t.length;i++)o=n.fn(t[i]),a=i%e===5||5===i?a+'<li class="logo-brand-switch" data-page="'+Math.floor(i/e)+'"><a class="prev iconfont" href="javascript:;">&#xe60f;</a><a class="next iconfont" href="javascript:;">&#xe60e;</a></li><li data-page="'+Math.floor(i/e)+'">'+o+"</li>":0!==i&&i%e===0?a+'<li class="brand-more" data-page="'+Math.floor(i/(e+1))+'"><a href="javascript:;" target="_blank">MORE ></a></li><li data-page="'+Math.floor(i/e)+'">'+o+"</li>":a+'<li data-page="'+Math.floor(i/e)+'">'+o+"</li>";return a+'<li class="brand-more" data-page="'+Math.floor(i/(e+1))+'"><a href="javascript:;" target="_blank">MORE ></a></li></ul>'})},_sendRequest:function(){var t=this;e.ajax({type:"GET",url:t.options.url,dataType:"json",success:function(e){var n,a;e&&0!==e.length&&(t._createHelper(),a='{{#brandList logoBrand}}<a href="{{href}}" target="_blank"><img class="lazy" data-original="{{img}}" alt=""></a>{{/brandList}}',n=i.compile(a),t.$element.html(n(e)),t.$element.find(".brand-more a").attr("href",e.moreBrand),o(t.$element.find("img.lazy")),t._bindEvent())}})},_brandShow:function(t,n){var a=this;o(e("li[data-page="+n+"]").find("img.lazy").trigger("appear")),a.$element.find("li[data-page="+t+"]").find("img").fadeOut("normal",function(){a.$element.find("li").hide(),a.$element.find("li[data-page="+n+"]").show().find("img").fadeIn()})},_bindEvent:function(){var t=this;t.$element.on("click",".next",function(){var n=e(this).parent().data("page"),a=0,i=Math.ceil(t.$element.find("li").size()/(t.options.showNum+2))-1;a=n===i?0:n+1,t._brandShow(n,a)}),t.$element.on("click",".prev",function(){var n=e(this).parent().data("page"),a=0,i=Math.ceil(t.$element.find("li").size()/(t.options.showNum+2))-1;a=0===n?i:n-1,t._brandShow(n,a)})}},e.fn.logoBrand=function(n){return this.each(function(){var a=e(this),i=a.data("LogoBrand"),o="object"==typeof n&&n;i||a.data("LogoBrand",i=new t(this,o)),"string"==typeof n&&i[n]()})},e.fn.logoBrand.Constructor=t,e.fn.logoBrand.defaults={showNum:16,url:"/boys/getBrand"}}(a)}),define("js/product/item",["jquery","lazyload","handlebars","source-map","index"],function(e,t,n){function a(e){h.attr("src",e)}function i(){return+y.text()}function o(){y.text("1"),1===I||0===I?(b.addClass("dis"),w.addClass("dis")):(b.removeClass("dis"),w.addClass("dis"))}function s(e){0!==k.length&&(0===I||e&&0===~~e.data("total")?(k.addClass("hide"),_.removeClass("hide")):(k.removeClass("hide"),_.addClass("hide")))}function r(){m.not(".hide").children(".size-warn").removeClass("hide")}var d=e("jquery"),l=e("lazyload"),c=e("handlebars"),u=e("index"),h=d("#img-show"),p=d("#thumbs > .thumb-wrap"),f=d("#sizes"),m=f.children(".size"),g=f.find(".size-warn"),v=f.children(".color-size-tip"),y=d("#num"),b=d("#plus-num"),w=d("#minus-num"),C=d("#add-to-cart"),_=d("#sold-out"),x=d(".lc-container"),k=d(".item-buy"),j=d("#desc-color"),S={},T=d(".main"),q=T.data("id"),I=-1,E=200,A={def:"收藏商品",coled:"已收藏",hover:"取消收藏"},F=e("js/common/dialog").Alert;e("js/product/latest-walk"),e("js/common/share"),function(){var e,t=d("#size-title-json"),n=t.html();""!==n&&(e=u.parse(n),t.remove(),m.children("li").each(function(){var t=d(this),n=t.data("name");t.data("title",e[n])}))}(),S[d(".colors .focus").index()]=!0,d("#brand-favour").click(function(){var e=d(this);d.ajax({type:"POST",url:"/product/index/favoriteBrand",data:{brandId:e.data("id")}}).then(function(t){200===t.code?e.toggleClass("coled"):403===t.code&&(location.href=t.data.url)})}),d(".colors").on("click","li",function(){var e,t=d(this),n=t.index();v.addClass("hide"),g.addClass("hide"),I=-1,t.hasClass("focus")?m.eq(n).children("li").removeClass("focus"):(t.siblings(".focus").removeClass("focus"),t.addClass("focus"),p.not(".hide").addClass("hide"),e=p.eq(n).removeClass("hide").find("img"),"undefined"==typeof S[n]&&(l(e,{event:"sporty"}),e.trigger("sporty"),S[n]=!0),a(e.first().data("shower")),j.text(t.data("color")),m.not(".hide").addClass("hide").children("li").removeClass("focus"),m.eq(n).removeClass("hide")),o(),s(t)}),d("#thumbs").on("mouseenter",".thumb",function(){a(d(this).data("shower"))}),f.on("click","li",function(){var e=d(this);e.hasClass("focus")||(I=+e.data("num"),e.siblings(".focus").removeClass("focus"),e.addClass("focus"),v.html(e.data("title")).removeClass("hide"),g.addClass("hide"),s(),o())}).on("click",".size-ruler",function(){d("body,html").animate({scrollTop:d(".size-info").offset().top},300)}),b.click(function(){var e=i();if(!d(this).hasClass("dis"))return-1===I?void r():void(0!==I&&(e===I-1&&d(this).addClass("dis"),1===e&&w.removeClass("dis"),y.text(e+1>I?I:e+1)))}).on("selectstart",function(){return!1}),w.click(function(){var e=i();d(this).hasClass("dis")||(2===e&&d(this).addClass("dis"),e===I&&b.removeClass("dis"),y.text(0>e-1?0:e-1))}).on("selectstart",function(){return!1}),d(".get-lc:not(.dis)").hover(function(){x.removeClass("hide")},function(){x.addClass("hide")}),C.click(function(){return-1===I?void r():void d.ajax({type:"POST",url:"/cart/index/add",data:{productSku:d(".size:not(.hide) li.focus").data("sku"),buyNumber:i()}}).then(function(e){var t=e.code;200===t&&(d("#type-chose").slideUp(E),d("#balance").slideDown(E),d("#cart-num").text(e.data.goods_count))})}),d("#collect-product").click(function(){var e,t=d(this);t.hasClass("coled")&&(e=!0),d.ajax({type:"POST",url:"/product/item/togglecollect",data:{productId:q,type:e?"cancel":"add"}}).then(function(n){var a=n.code;200===a?(t.toggleClass("coled"),e?t.find("em").text(A.def):t.find("em").text(A.coled)):403===a&&(location.href=n.data.url)})}).hover(function(){var e=d(this);e.hasClass("coled")&&e.find("em").text(A.hover)},function(){var e=d(this);e.hasClass("coled")&&e.find("em").text(A.coled)}),d("#keep-shopping").click(function(){d("#type-chose").slideDown(E),d("#balance").slideUp(E)}),d("#buy-now").click(function(){var e,t,n;if(-1===I)return void r();if(!d(this).hasClass("dis")){if(t=d(this).data("base"),!t)return n=new F("打开APP可抢购该商品哦~~"),void n.show();e=m.find(".focus").data("sku"),e&&t&&(location.href=t+"?product_sku="+e)}}),d(".buy-btn").mouseover(function(){d(this).hasClass("dis")||d(this).addClass("hover")}).mouseleave(function(){d(this).removeClass("hover")}),d(".description-material").on("click",".title",function(){var e=d(this),t=e.index(),n=d(".description-content"),a=d(".material-content");e.hasClass("cur")||(e.addClass("cur"),e.siblings(".cur").removeClass("cur"),0===t?(n.slideDown(E),a.slideUp(E)):(n.slideUp(E),a.slideDown(E)))}),d(".after-service-switch").click(function(){var e=d(this),t=e.next(".after-service-content"),n={def:"&#xe604;",spread:"&#xe603;"};"none"===t.css("display")?(t.slideDown(E),e.find(".triangle").html(n.spread)):(t.slideUp(E),e.find(".triangle").html(n.def))}),d.ajax({type:"GET",url:"/product/item/hotarea",data:{productId:q}}).then(function(e){d("#details-html").prepend(e),d(".hot-point-wrap > img").load(function(){d(this).parent(".hot-point-wrap").width(d(this).width())}),d(".hot-point").hover(function(){d(this).addClass("hover")},function(){d(this).removeClass("hover")})}),l(d("#details-html img")),function(){var e,t=!0;for(e=0;e<m.length;e++)if(1!==m.eq(e).find("li").length){t=!1;break}t&&m.eq(d(".colors .focus").index()).find("li").click()}(),function(){function e(){n||(n=!0,d.ajax({type:"GET",url:"/product/item/comments",data:{productId:q,page:i}}).then(function(e){var t;if(200===e.code){if(t=e.data,0===t.length)return void l.next(".more-wrap").addClass("hide");h.text(t[0].total),l.append(s({comments:t})),i++}}).always(function(){n=!1}))}function t(){a||(a=!0,d.ajax({type:"GET",url:"/product/item/consults",data:{productId:q,page:o}}).then(function(e){var t;if(200===e.code){if(t=e.data,0===t.length)return void u.next(".more-wrap").addClass("hide");p.text(t[0].total),u.append(r({consults:t})),o++}}).always(function(){a=!1}))}var n,a,i=1,o=1,s=c.compile(d("#comments-tpl").html()),r=c.compile(d("#consults-tpl").html()),l=d("#comments-ul"),u=d("#consults-ul"),h=d(".comment-num"),p=d(".consult-num");d(".consult-comment").on("click",".title",function(){var e=d(this),t=e.index(),n=d(".comments"),a=d(".consults");e.hasClass("cur")||(e.addClass("cur"),e.siblings(".cur").removeClass("cur"),0===t?(a.slideDown(E),n.slideUp(E)):(a.slideUp(E),n.slideDown(E)))}).on("click",".load-more",function(){var n=d(this);n.hasClass("load-more-comments")?e():t()}),d("#consults-btn").click(function(){d(".new-consult").removeClass("hide"),d(".consult-success").addClass("hide")}),d("#submit-consult").click(function(){var e=d(this),t=e.closest(".new-consult"),n=t.find(".my-consult"),a=d.trim(n.val()),i=t.find(".consult-warn"),o=!0;""===a?(n.addClass("error"),i.removeClass("hide"),o=!1):(n.removeClass("error"),i.addClass("hide")),o!==!1&&d.ajax({type:"POST",url:"/product/item/addconsult",data:{productId:q,content:a}}).then(function(e){var a=e.code;200===a?(t.addClass("hide"),t.siblings(".consult-success").removeClass("hide"),n.val("")):403===a&&(location.href=e.data.url)})}),e(),t()}()}),define("js/common/dialog",["jquery","handlebars","source-map"],function(e,t,n){function a(){return 0===l(".body-mask").length&&l("body").append('<div class="body-mask hide"></div>'),l(".body-mask").css({height:l(document).height(),width:l(document).width()})}function i(e){return l("body").append(p(e)),l(".yoho-dialog")}function o(e){var t=l(".yoho-dialog"),n='<p class="sub-content">'+e+"</p>";t&&t.length>0&&t.find(".content").after(n)}function s(e){function t(e){r.$el.find("#dialog-"+s.btns[e].id).on("click",function(){s.btns[e].cb&&s.btns[e].cb()})}var n,s=l.extend({},u,e),r=this;if(s.inherit)return this;if(s.mask&&(r.$mask=a()),r.$el=i(s),s.subContent&&o(s.subContent),s.subContents)for(n=s.subContents.length-1;n>=0;n--)o(s.subContents[n]);if(r.$el.find(".close").click(function(){r.close(),e.refreshOnClose&&window.location.reload()}),r.$el.find(".btn-close").click(function(){r.close()}),s.btns)for(n=0;n<s.btns.length;n++)t(n)}function r(e){var t=this,n={content:e,className:"alert-dialog",btns:[{id:"alert-sure",btnClass:["alert-sure"],name:"确定",cb:function(){t.close()}}]};s.call(this,n)}function d(e){var t=this,n={content:e.content,className:"confirm-dialog",btns:[{id:"confirm-sure",btnClass:["confirm-sure"],name:"确定",cb:e.cb},{id:"confirm-cancel",btnClass:["confirm-cancel"],name:"取消",cb:function(){t.close()}}]};s.call(this,n)}var l=e("jquery"),c=e("handlebars"),u={mask:!0,closeIcon:!0,refreshOnClose:!1},h='<div class="yoho-dialog {{className}} hide">{{#if closeIcon}}<span class="close"><i class="iconfont">&#xe602;</i></span>{{/if}}<div class="content">{{{content}}}</div><div class="btns">{{# btns}}<span {{#if id}}id="dialog-{{id}}"{{/if}} class="btn{{#each btnClass}} {{.}}{{/each}}">{{name}}</span>{{/ btns}}</div></div>',p=c.compile(h);s.prototype.close=function(){this.$mask&&this.$mask.addClass("hide"),this.$el.remove()},s.prototype.show=function(){this.$mask&&this.$mask.removeClass("hide"),this.$el.removeClass("hide").css({"margin-top":-this.$el.height()/2,"margin-left":-this.$el.width()/2})},t.Dialog=s,r.prototype=new s({inherit:!0}),r.prototype.constructor=r,t.Alert=r,d.prototype=new s({inherit:!0}),d.prototype.constructor=d,t.Confirm=d}),define("js/common/share",["jquery"],function(e,t,n){function a(e){var t,n="",a={title:"",url:window.location.href,weixinUrl:"",image:"",desc:"",channel:""},i=["weibo","tweibo","qzone","renren","qq","douban","weixin"],s="<em><i></i></em>";if(a=o.extend(a,e),-1===o.inArray(a.channel,i))return alert("不存在的分享平台!"),!1;switch(a.channel){case"weibo":n="http://service.weibo.com/share/share.php?url="+a.url+"&title="+a.title+"&appkey=3739328910&searchPic=true&pic="+a.image;break;case"tweibo":n="http://share.v.t.qq.com/index.php?c=share&a=index&url="+a.url+"&title="+a.title+"&appkey=c0af9c29e0900813028c2ccb42021792&pic="+a.image;break;case"qzone":n="http://sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_onekey?url="+a.url+"&title="+a.title+"&desc=&summary="+a.desc+"&site=YOHO!BUY 有货&pics="+a.image;break;case"renren":n="http://widget.renren.com/dialog/share?resourceUrl="+a.url+"&srcUrl="+a.url+"&desc="+a.desc+"&title="+a.title+"&description="+a.desc+"&pic="+a.image;break;case"qq":n="http://connect.qq.com/widget/shareqq/index.html?url="+a.url+"&desc="+a.desc+"&title="+a.title.replace("%","")+"&desc=&summary="+a.desc+"&site=YOHO!BUY 有货&pics="+a.image;break;case"weixin":n="http://s.jiathis.com/qrcode.php?url="+a.weixinUrl+"&desc="+a.desc+"&title="+a.title+"&description="+a.desc+"&pic="+a.image;break;case"douban":n="//www.douban.com/share/service?href="+a.url+"&text="+a.desc+"&image="+a.image+"&title="+a.title+"&comment="}if("weixin"===a.channel){if(!a.self)return;t=a.self.closest(".share-to").find(".weixin-share-box"),t.length>0&&(s+='<div class="con"><h2>分享到微信朋友圈</h2><p class="pic"><img src="'+n+'" /></p><p class="w">打开微信,点击底部得“发现”,使用<br/>“扫一扫“即可将网页分享到我的朋友圈。</p><a href="javascript:void(0)" class="close">x</a></div>',t.find("div").length>0?t.show():t.html(s).show(),t.find(".close").click(function(){o(this).closest(".weixin-share-box").hide()}))}else window.open(encodeURI(n))}function i(e,t){var n=document.title.replace(/(^\s*)|(\s*$)/g,""),i=o("#share-desc").val(),s=o("#share-img").val(),r=o("#weixin-url").val();a("weibo"===e||"tqq"===e?{channel:e,title:n,image:s}:{channel:e,title:n,desc:i,image:s,self:t,weixinUrl:r})}var o=e("jquery");o(".share-wrapper").on("click","i",function(){var e=o(this),t=e.data("type"),n=o(".weixin-share-box");"weixin"===t?i(t,e):(n.hide(),i(t))})}),define("js/product/shop-index",["jquery","lazyload","handlebars","source-map","jquery-pjax"],function(e,t,n){function a(){var e=d.find(".shop-collect-ico"),t=d.find(".shop-collect-text"),n=e.hasClass("on"),a=window.cookie("needColloect");i.ajax({type:"post",url:"/shoplist/setFavorite",data:{isFavorite:n?0:1,needColloect:a,shopId:d.data("id")},success:function(i){200===i.code?(n?(e.removeClass("on"),t.html("收藏")):(e.addClass("on"),t.html("已收藏")),a&&(e.addClass("on"),t.html("已收藏"))):401===i.code&&(window.setCookie("needColloect","1",{path:"/",domain:".yohobuy.com",expires:90}),location.href=i.url)}})}var i=e("jquery"),o=e("lazyload"),s=e("js/product/product"),r=i(".shop-intro"),d=i(".shop-collect"),l=i(".slider-left"),c=i(".all-goods"),u=c.find(".fixed-area"),h=u.offset()?u.offset().top:0;e("jquery-pjax"),e("js/common/slider"),e("js/product/list"),s.init(4),o(i("img.lazy")),l.length&&l.slider(),r.on("click",function(){i(".pop-shop-intro").show(),i(".mask").show()}),i(".close-btn, .mask").on("click",function(){i(".pop-shop-intro").hide(),i(".mask").hide()}),d.on("click",function(){a()}),1*window.cookie("needColloect")===1&&window.getUid()&&(a(),window.setCookie("needColloect","",{path:"/",domain:".yohobuy.com",expires:1})),c.pjax("a.pjax",".goods-wrap",{timeout:5e3,scrollTo:!1}).on("pjax:end",function(){s.init(4),o(i("img.lazy")),u=c.find(".fixed-area"),i("html, body").animate({scrollTop:c.offset().top-30})}).on("click",".menu-list li",function(){var e=i(this);e.siblings().removeClass("on"),e.addClass("on")}),i(window).on("scroll",function(){var e=i(this).scrollTop();e>h?u.css({position:"fixed",top:0}):u.css({position:"static",top:0})})}),define("js/index/index",["jquery","lazyload","handlebars","source-map"],function(e,t,n){var a=e("jquery"),i=e("lazyload"),o=a(".home-page").data("page"),s=a(".logo-brand").data("url");e("js/common/slider"),e("js/common/slider2"),e("js/common/logo-brand"),e("js/common/accordion"),a(document).on("mouseenter",".imgopacity a img",function(){a(this).css("opacity",.8)}),a(document).on("mouseout",".imgopacity a img",function(){a(this).css("opacity",1)}),a.inArray(o,["boys","girls","kids","lifestyle"])>-1&&(e("js/common/new-arrivls")({type:o,url:"/common/getNewArrival",count:"boys"===o||"lifestyle"===o?5:4,rows:[5,3]}),window.setCookie("_Channel",o,{domain:".yohobuy.com",path:"/",expires:365})),i(a("img.lazy")),"boys"===o?a(".slide-container").slider({pagination:".thumb-pagination"}):(a(".center-col").slider(),a(".slide-container").slider()),"boys"===o?(a(".logo-brand").logoBrand({url:s}),a(".img-brand").slider2()):(a(".logo-brand").logoBrand({showNum:10,url:s}),a(".img-slider-wrapper").slider2())}),define("js/common/slider2",["jquery"],function(e,t,n){var a=e("jquery");!function(e){e.fn.slider2=function(t){function n(t,n,i){i===!0?(e(".next").trigger("click"),t===n-3?a(--t,n,!1):a(++t,n,!0)):(e(".prev").trigger("click"),0===t?a(++t,n,!0):a(--t,n,!1))}function a(t,a,i){window.setTimeout(n,e.fn.slider2.defaults.delaytime,t,a,i)}function i(t,n,a){var i=-(t*n);e(".img-list").animate({"margin-left":i+"px"},"slow",a)}return e.fn.slider2.defaults={index:0,shownum:3,autoplay:!1,delaytime:3e3},this.each(function(){var n=e.extend({},e.fn.slider2.defaults,t),o=parseInt(e(".img-item").css("margin-right")),s=e(".img-item"),r=[],d=s.outerWidth()+o,l=s.length,c=0;if(3>=l)return void e(this).find(".img-brand-switch").hide();for(c=0;c<s.length;c++)r.push(s[c]);l=r.length,e(this).find(".img-list").css({width:d*l}),e(this).find(".next").on("click",function(t){var n=0,a=null;t.preventDefault(),i(3,d,function(){for(n=0;3>n;n++)a=r.shift(),e(".img-item").parent().append(a.outerHTML),r.push(a);e(".img-item").first().remove(),e(".img-item").first().remove(),e(".img-item").first().remove(),e(".img-list").css({"margin-left":"0"})})}),e(this).find(".prev").on("click",function(t){var n=0,a=null,o="";for(t.preventDefault(),n=0;3>n;n++)a=r.pop(),e(".img-item").parent().prepend(a.outerHTML),r.unshift(a);o=3*d,e(".img-item").last().remove(),e(".img-item").last().remove(),e(".img-item").last().remove(),e(".img-list").css({"margin-left":-o+"px"}),i(0,d)}),n.autoplay===!0&&a(n.index,l,!0)})}}(a)}),define("js/common/accordion",["jquery"],function(e,t,n){function a(e){d.each(function(t){s(this).css("zIndex",t),e>=t?s(this).stop().animate({left:t*c},400):s(this).stop().animate({left:e*c+l+c*(t-e-1)},400)})}var i,o=e("js/common/yohoui/YH.slide"),s=e("jquery"),r=s(".slide-accordion"),d=r.find("li"),l=d.width(),c=1150===parseInt(s(".home-page").width())?125:107;a(0),i=new o({length:5,loop:!1,auto:!1,timeout:2,index:0}),i.on("change",function(e){a(e.to)}),d.mouseover(function(){i.go(s(this).index())}),i.init()}),define("js/common/yohoui/YH.slide",[],function(e,t,n){var a=e("js/common/yohoui/YH.base"),i=function(e){this.__lastTime=null,this.__isStop=!1,e=a.extend(this.defaults,e),i.superclass.constructor.call(this,e)};a.inherit(i,a.assembly),i.prototype.oninit=function(){var e=this,t=e.options;return t.auto&&e.play(),e.go(t.index),this},i.prototype.go=function(e,t){var n,a,i,o,s,r,d,l,c=this,u=c.options;c.__lastTime&&(clearTimeout(c.__lastTime),c.__lastTime=null),t="undefined"==typeof t?u.index:t,n=e===t?0:e>t?1:-1,a=u.loop,o=u.length-1,s=e,e=a?e>o?e-o-1:0>e?e+o+1:e:e>o?o:0>e?0:e,i=u.index=e,r={from:t,to:e,originalto:s,direction:n};for(d in c.registerEvent)if(c.registerEvent[d].length>0)for(l in c.registerEvent[d])c.registerEvent[d].hasOwnProperty(l)&&c.registerEvent[d][l](r);i!==o||e?!c.__isStop&&u.auto&&c.play():c.__lastTime&&clearTimeout(c.__lastTime)},i.prototype.play=function(){var e=this,t=e.options;return e.__lastTime=setTimeout(function(){e.next()},1e3*t.timeout),this},i.prototype.next=function(){var e=this,t=e.options,n=t.index,a=n+t.step;e.go(a,n)},i.prototype.prev=function(){var e=this,t=e.options,n=t.index,a=n-t.step;e.go(a,n)},i.prototype.pause=function(){var e=this;e.__lastTime&&clearTimeout(e.__lastTime),e.__isStop=!0},i.prototype.resume=function(){var e=this;e.__isStop=!1,e.play()},i.prototype.defaults={index:0,timeout:5,step:1,per:1,auto:!1,loop:!1},n.exports=i}),define("js/common/yohoui/YH.base",[],function(e,t,n){var a,i={
+"[object Array]":"array","[object Boolean]":"boolean","[object Date]":"date","[object Function]":"function","[object Number]":"number","[object Object]":"object","[object RegExp]":"regexp","[object String]":"string"},o={__Index:0,list:[],get:function(e){return void 0===e?this.list:this.list[e]},fn:function(){},inherit:function(e,t){var n=o.fn;n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e,e.superclass=t.prototype,e.prototype.constructor===Object.prototype.constructor&&(e.prototype.constructor=t)},extend:function(e,t){var n;for(n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);return e},copy:function(e,t,n){var a,i,s;if("object"!=typeof t)return t;if(a=t.valueOf(),t!==a)return new t.constructor(a);if(t instanceof t.constructor&&t.constructor!==Object){i=e?new e:o.clone(t.constructor.prototype);for(s in t)(e||t.hasOwnProperty(s))&&(i[s]=t[s])}else{i={};for(s in t)i.hasOwnProperty(s)&&(i[s]=t[s])}if(n)for(s in n)i.hasOwnProperty(s)&&(i[s]=n[s]);return i},clone:function(e){return o.__cloneFunc.prototype=e,new o.__cloneFunc},__cloneFunc:function(){},delegate:function(e,t){var n;return t=t||window,arguments.length>2?(n=Array.prototype.slice.call(arguments,2),function(){return e.apply(t,n)}):function(){return e.call(t)}},dom:function(e,t){var n,a,i=e,o={wrap:i},s=i[0].getElementsByTagName("*"),r=s.length;for(a=0;r>a;a++)n=s[a].className,n.indexOf(t)>-1&&(n=n.split(t)[1]),n&&(o[n]=i.find(s[a]));return o},template:function(){var e,t,n,a,i=arguments;if(i.length>0&&o.isString(i[0]))if(e=i[0],2===i.length&&o.isObject(i[1]))for(t in i[1])void 0!==i[1][t]&&(n=new RegExp("({"+t+"})","g"),e=e.replace(n,i[1][t]));else for(a=1;a<i.length;a++)void 0!==i[a]&&(n=new RegExp("({["+(a-1)+"]})","g"),e=e.replace(n,i[a]));return e},__type:function(e){return null==e?String(e):i[Object.prototype.toString.call(e)]||"object"},isObject:function(e){return this.isFunction(e)||!(!e||"object"!=typeof e)},isFunction:function(e){return"function"===this.__type(e)},isArray:Array.isArray||function(e){return"array"===this.__type(e)},isNum:function(e){return!isNaN(parseFloat(e))&&isFinite(e)},isString:function(e){return"string"===this.__type(e)},each:function(e,t,n){var a,i;if(o.isArray(e))for(a=0,i=e.length;i>a&&t.call(e[a],a,e[a],n)!==!1;a++);else for(a in e)if(t.call(e[a],a,e[a],n)===!1)break},funManager:{__loadList:{},__loadFun:function(e,t,n){e.methord&&o.isFunction(e.methord())&&(n=n||window,e.methord()(e,function(){t()},n))},load:function(e,t,n,a){a=a||0,e[a]&&o.funManager.__loadFun(e[a],function(){o.funManager.load(e,t,n,a+1)},n),t(a,n)},get:function(e){return this.__loadList[e]}},log:function(e){var t=window.console||{log:function(){}};t.log(e)},Event:{mousewheel:function(e){var t=e.originalEvent,n=t.detail?-1*t.detail:t.wheelDelta/40,a=0>n?-1:1;return{direction:a,unit:n}},__:function(e,t,n,a){var i;for(i in e)if(window[e[i].validator]){t[e[i].validator](e[i].prefix+n,a,!1);break}},add:function(e,t,n){var a=[{validator:"addEventListener",prefix:""},{validator:"attachEvent",prefix:"on"}];this.__(a,e,t,n)},remove:function(e,t,n){var a=[{validator:"removeEventListener",prefix:""},{validator:"detachEvent",prefix:"on"}];this.__(a,e,t,n)}},getUid:function(e){return o.template("me-{0}{1}-{2}",e,(new Date).getTime(),o.__Index++)},Browser:{isTouch:function(){var e=window.navigator&&window.navigator.msPointerEnabled&&window.MSGesture;return!!("ontouchstart"in window||e||window.DocumentTouch)},Prefix:function(){var e,t=["perspectiveProperty","WebkitPerspective","MozPerspective","OPerspective","msPerspective"],n=document.createElement("div");for(e in t)if(void 0!==n.style[t[e]])return o.template("-{0}-",t[e].replace("Perspective","").toLowerCase())},parseURL:function(e){var t,n,a,i,o,s=document.createElement("a");return s.href=e,{source:e,protocol:s.protocol.replace(":",""),host:s.hostname,port:s.port,query:s.search,params:function(){for(t={},n=s.search.replace(/^\?/,"").split("&"),a=n.length,i=0,o;a>i;i++)n[i]&&(o=n[i].split("="),t[o[0]]=o[1]);return t}(),file:(s.pathname.match(/\/([^\/?#]+)$/i)||[null,""])[1],hash:s.hash.replace("#",""),path:s.pathname.replace(/^([^\/])/,"/$1"),relative:(s.href.match(/tps?:\/\/[^\/]+(.+)/)||[null,""])[1],segments:s.pathname.replace(/^\//,"").split("/")}}},Array:{indexOf:function(e,t){var n;for(n=0;n<e.length;n++)if(this[n]===t)return n;return-1},remove:function(e,t){var n=this.indexOf(e,t);return n>-1&&e.splice(n,1),e}}};a=function(e){this.initialized=!1,this.registerEvent={before:[],change:[],after:[]},this.options=e,this.init(e)},a.output=function(){o.log(o.list)},a.prototype.oninit=o.fn,a.prototype.init=function(e){this.initialized=!0,this.__Uid=o.getUid("me"),this.oninit(e),o.list[this.__Uid]=this},a.prototype.destory=function(){this.initialized=!1,delete o.list[this.__Uid]},a.prototype.getUid=function(){return this.__Uid},a.prototype.getOptions=function(){return this.options},a.prototype.config=function(){if(!(arguments.length>0))return this.options;if("string"==typeof arguments[0]){if(!(arguments.length>1))return this.options[name];this.options[arguments[0]]=arguments[1]}},a.prototype.on=function(e,t){var n=this,a=n.registerEvent[e];return a&&a.push(t),a},a.prototype.off=function(e,t){var n=this,a=n.registerEvent[e],i=[];o.each(a,function(e,n){n===t&&i.push(e)}),o.each(i.reverse(),function(e,t){a.splice(t,1)})},o.assembly=a,n.exports=o}),define("js/common/new-arrivls",["jquery","lazyload","handlebars","source-map"],function(e,t,n){function a(e){var t={index:0,isload:!0,isrun:!0,offset:{height:null,width:null}};return this.registerEvent={before:[],change:[],after:[]},this.options=i.extend(!0,{},t,e),this}var i=e("jquery"),o=e("lazyload"),s=e("handlebars");a.prototype.on=function(e,t){var n=this,a=n.registerEvent[e];return a&&a.push(t),a},a.prototype.exect=function(e,t){var n,a=this;if(a.registerEvent[e]&&a.registerEvent[e].length>0)for(n in a.registerEvent[e])a.registerEvent[e].hasOwnProperty(n)&&a.registerEvent[e][n](t)},a.prototype.init=function(){function e(){n.isrun&&n.isload&&t.__directionCalculation()&&(n.isload=!1,n.index++,t.exect("after",n)),t.exect("change",n)}var t=this,n=this.options;t.exect("before",n),i(window).scroll(e)},a.prototype.emit=function(){var e=this.options;e.isload=!0},a.prototype.stop=function(){var e=this.options;e.isrun=!1,e.isload=!1},a.prototype.__directionCalculation=function(){var e=this.options;return!!(e.offset.height&&e.offset.height()>0&&i(window).scrollTop()+i(window).height()>=e.offset.height())},n.exports=function(e){var t,n=i("#newarrivals .goods-container"),r=i(".loading a"),d=new a({index:1,isload:!1,offset:{height:function(){return parseFloat(n.offset().top)+parseFloat(n.height())-200}}}),l=e.url,c=e.count,u=e.rows;e.pageIndex=0,delete e.url,delete e.count,delete e.rows,t=function(e,t,a){var l={type:"POST",url:e,success:function(e){var i,l,c,u=e.code;200===u?(l=e.goods.length%a,c=e.goods.length-l-1,e.goods.splice(c,l),i=s.compile(d.tpl),n.append(i(e.goods)),t.pageIndex=t.pageIndex+e.goods.length,o(n.find("img.lazy")),d.emit()):(d.stop(),r.html("查看更多"))},error:function(){d.stop(),r.html("网络断开连接了~")}};l.data=t,i.ajax(l)},d.on("after",function(n){e.pageCount=c*u[1],t(l,e)}),d.on("before",function(n){d.tpl="{{#each this}}",d.tpl+='<div class="good-info imgopacity" data-skn="{{skn}}">',d.tpl+='    <div class="tag-container clearfix">',d.tpl+="        {{# tags}}",d.tpl+="            {{# isNew}}",d.tpl+='                <span class="good-tag new-tag">NEW</span>',d.tpl+="            {{/ isNew}}",d.tpl+="            {{# isReNew}}",d.tpl+='                <span class="good-tag renew-tag">再到着</span>',d.tpl+="            {{/ isReNew}}",d.tpl+="            {{# isSale}}",d.tpl+='                <span class="good-tag sale-tag">SALE</span>',d.tpl+="            {{/ isSale}}",d.tpl+="            {{# isNewFestival}}",d.tpl+='                <span class="good-tag new-festival-tag">新品节</span>',d.tpl+="            {{/ isNewFestival}}",d.tpl+="            {{# isLimit}}",d.tpl+='                <span class="good-tag limit-tag">限量商品</span>',d.tpl+="            {{/ isLimit}}",d.tpl+="            {{# isYearEndPromotion}}",d.tpl+='                <span class="good-tag yep-tag">年终大促</span>',d.tpl+="            {{/ isYearEndPromotion}}",d.tpl+="            {{# isYearMidPromotion}}",d.tpl+='                <span class="good-tag ymp-tag">年中热促</span>',d.tpl+="            {{/ isYearMidPromotion}}",d.tpl+="        {{/ tags}}",d.tpl+="    </div>",d.tpl+='    <div class="good-detail-img">',d.tpl+='        <a class="good-thumb" href="{{url}}" target= "_blank">',d.tpl+='            <img class="lazy" data-original="{{thumb}}">',d.tpl+="        </a>",d.tpl+="        {{# isFew}}",d.tpl+='            <p class="few-tag">即将售罄</p>',d.tpl+="        {{/ isFew}}",d.tpl+="        {{#if showColBtn}}",d.tpl+='            <span class="col-btn iconfont{{#if coled}} coled{{/if}}">&#xe616;</span>',d.tpl+="        {{/if}}",d.tpl+="    </div>",d.tpl+='    <div class="good-detail-text">',d.tpl+='        <a href="{{url}}" target= "_blank">{{name}}</a>',d.tpl+='        <p class="price">',d.tpl+='            <span class="sale-price{{#unless marketPrice}}prime-cost{{/unless}}">',d.tpl+="                ¥{{salePrice}}",d.tpl+="            </span>",d.tpl+="            {{# marketPrice}}",d.tpl+='                <span class="market-price">¥{{.}}</span>',d.tpl+="            {{/ marketPrice}}",d.tpl+="        </p>",d.tpl+="    </div>",d.tpl+="</div>",d.tpl+="{{/each}}",e.pageCount=c*u[0],t(l,e,e.count)}),d.init()}}),define("js/brand/index",["jquery","lazyload","handlebars","source-map","dot"],function(e,t,n){var a=e("jquery"),i=e("lazyload");e("js/common/slider"),e("js/brand/brands"),i(a("img.lazy")),a(".slide-container").slider({orient:!0})}),define("js/brand/brands",["jquery","handlebars","source-map","dot"],function(e,t,n){function a(e){var t=new RegExp("(^|&)"+e+"=([^&]*)(&|$)"),n=window.location.search.substr(1).match(t);return null!=n?window.unescape(n[2]):null}function i(e,t,n){var a,i=e,o={width:i.width(),left:i.offset().left,right:parseFloat(l(window).width())-parseFloat(i.offset().left)-parseFloat(i.width())},s=i.parent("li");p.find(".brands-dialog").remove(),a=c.compile(n),s.append(a(t)),u(s.find(".right")),o.right-350<0&&s.find(".brands-layer").addClass("brands-layer-right").css("left",-330-o.width)}function o(){v.unbind("mouseenter").unbind("mouseleave").hover(function(){var e=l(this),t=e.attr("data-key"),n={url:"/brands/brandinfo",type:"get",data:{brandId:t},success:function(t){200===t.code&&t.brand&&(j.hasOwnProperty(t.brand.key)||(j[t.brand.key]=t.brand),i(e,j[t.brand.key],S))}};clearTimeout(r),r=setTimeout(function(){j.hasOwnProperty(t)?i(e,j[t],S):l.ajax(n)},200)},function(){clearTimeout(r),p.find(".brands-dialog").remove()})}var s,r,d,l=e("jquery"),c=e("handlebars"),u=e("dot"),h=l(".brands-tabs"),p=l(".brands-list"),f=l(".brands-category"),m=l(".news-txt ul"),g=p.find("dl.clearfix"),v=p.find("li>a"),y=f.find("a"),b=h.find("li>a"),w=h.find(".hoverarr"),C=y.height(),_=y.offset()?y.offset().top:0,x=m.height(),k=m.offset()?m.offset().top:0,j={},S='<div class="brands-dialog">';S+='    <div class="brands-layer">',S+='        <div class="layer-content">',S+='            <div class="title">{{title}}</div>',S+='            <div class="clearfix desc">',S+='                <img src="{{icon}}">',S+='                <p class="right">{{content}}</p>',S+="            </div> ",S+='            <div class="featured">',S+="                <p>{{subtitle}}</p> ",S+='                <div class="clearfix"> ',S+="                    {{#each imgs}}",S+='                    <img src="{{src}}">',S+="                    {{/each}}",S+="                </div>",S+="            </div>",S+="        </div>",S+="    </div>",S+="</div>",u(l(".brand-desc")),l.easing.easeOutQuint=function(e,t,n,a,i){return a*((t=t/i-1)*t*t*t*t+1)+n},m.length&&m.find("li").each(function(){var e=l(this),t=e.offset().top-k+e.height();t>x&&e.hide()}),b.eq(0).parent("li").find(".brands-content").css("z-index","1"),d=a("id")?a("id"):0,s=b.eq(d),s.find(".g-mask").addClass("g-mask-on"),d&&s.length&&w.css({left:parseFloat(s.offset().left)-parseFloat(h.offset().left)}),b.hover(function(){var e=l(this);clearTimeout(r),r=setTimeout(function(){var t=parseFloat(e.offset().left)-parseFloat(h.offset().left);w.animate({left:t},200,"easeOutQuint")},50),h.find(".brands-content").removeAttr("style"),e.parent("li").find(".brands-content").css("z-index","1")},function(){clearTimeout(r)}),l(window).scroll(function(){l(this).scrollTop()>=_?f.addClass("category-fix"):f.removeClass("category-fix")}),y.click(function(){var e=l(this).attr("href").split("#")[1],t=p.find("[name="+e+"]").offset().top-C;return f.hasClass("category-fix")||(t-=C),l("html,body").animate({scrollTop:t},200),!1}),g.length<26&&l.ajax({url:"/brands/brandList",type:"POST",data:{start:g.length?g.length+1:1},success:function(e){e&&(p.append(e),v=p.find("li>a"),o())}}),o()}),define("js/passport/entry",["jquery","jquery.placeholder"],function(e,t,n){e("js/passport/reg"),e("js/passport/back"),e("js/passport/login"),e("js/passport/reset"),e("js/passport/vertification"),e("js/passport/thirdlogin"),e("js/passport/third-pwd"),e("js/passport/relate")}),define("js/passport/reg",["jquery","jquery.placeholder"],function(e,t,n){function a(){var e=new Date,t=m(".captcha-img"),n=t.attr("src").split("?")[0];t.attr("src",n+"?t="+e.getTime())}function i(e,t){var n,i;"reg"===e?(n="/passport/register/checkmobile",i={mobile:I.val(),area:L.text().split("+")[1]}):"third"===e&&(n="/passport/autouserinfo/bindCheck",i={mobile:I.val(),area:L.text().split("+")[1],openId:m("#open-id").val(),sourceType:m("#source-type").val()}),q[0].message="err",q[0].status=!1,m.ajax({url:n,type:"POST",data:i}).then(function(e){if(e){switch(e.code){case 200:I.val()!==B&&""!==B&&(a(),S.addClass("disable").attr("disabled","disabled"),q[1].message="图形验证码错误",q[1].status=!1),B=I.val(),q[0].message="",q[0].status=!0;break;case 400:a(),q[0].message=e.message,q[0].status=!1}t()}})}function o(e,t){var n;"reg"===e?n="/passport/register/piccaptcha":"third"===e&&(n="/passport/autouserinfo/checkPicCode"),m.ajax({type:"POST",url:n,data:{verifyCode:U.val()}}).then(function(e){if(e){switch(e.code){case 200:q[1].message="",q[1].status=!0;break;case 400:a(),q[1].message="图形验证码错误",q[1].status=!1}t()}})}function s(e,t){var n;"reg"===e?n="/passport/register/msgcaptcha":"third"===e&&(n="/passport/autouserinfo/checkBindMsg"),m.ajax({type:"POST",url:n,data:{code:E.val(),mobile:I.val(),area:L.text().split("+")[1]}}).then(function(e){if(e){switch(e.code){case 200:q[2].message="",q[2].status=!0;break;case 400:q[2].message="短信验证码错误",q[2].status=!1}t()}})}function r(e,t,n){var a,r=m.trim(t.val());t.hasClass("phone-num")?(a=L.text(),""===r?(q[0].message="请输入手机号码",q[0].status=!1,n()):!/^[0-9]+$/.test(r)||"+86"===a&&!g.phoneRegx[a].test(r)?(q[0].message="手机号码格式不正确,请重新输入",q[0].status=!1,n()):i(e,n)):t.hasClass("captcha")?""===r?(q[1].message="请输入图形验证码",q[1].status=!1,n()):r.length<=3?(q[1].message="图形验证码为4位",q[1].status=!1,n()):q[0].status?o(e,n):(q[1].message="图形验证码错误",q[1].status=!1,n()):t.hasClass("msg-captcha")?""===r?(q[2].message="请输入短信验证码",q[2].status=!1,n()):r.length<=3?(q[2].message="短信验证码错误",q[2].status=!1,n()):q[1].status?s(e,n):(q[2].message="短信验证码错误",q[2].status=!1,n()):t.hasClass("pwd")?(""===r?(q[3].message="请输入密码",q[3].status=!1):r.length<6||r.length>20?(q[3].message="密码只支持6-20位字符",q[3].status=!1):z.test(t.val())?(q[3].message="",q[3].status=!0):(q[3].message="密码须字母和数字组合",q[3].status=!1),n()):t.hasClass("repwd")&&(""===r?(q[4].message="请输入密码确认",q[4].status=!1):A.val()!==r?(q[4].message="与密码不一致,请重新输入",q[4].status=!1):(q[4].message="",q[4].status=!0),n())}function d(){var e=f.offset();return C.css({top:e.top-40,left:e.left})}function l(){var e,t=!1,n=q.length;for(e=0;n>e;e++)t||(q[e].message&&"err"!==q[e].message?(C.find("span").text(q[e].message),f=m("#"+q[e].id),d().removeClass("hide"),t=!0):C.addClass("hide"))}function c(){var e,t,n=q.length;for(t=0;n>t;t++)q[t].message?(e=m("#"+q[t].id),e.addClass("error")):(e=m("#"+q[t].id),e.removeClass("error"))}function u(e){var t=e.val(),n=v(t),a=0;switch(a=0===n?0:10>=n?1:20>=n?2:3){case 0:O.removeClass("red yellow green"),P.removeClass("color");break;case 1:O.addClass("red").removeClass("yellow green"),P.filter(".low").addClass("color"),P.filter(".mid,.high").removeClass("color");break;case 2:O.addClass("yellow").removeClass("red green"),P.filter(".low,.mid").addClass("color"),P.filter(".high").removeClass("color");break;case 3:O.addClass("green").removeClass("yellow red"),P.addClass("color")}""===t?w.removeClass("red yes no").addClass("default"):t.length<6||t.length>20?w.removeClass("default yes").addClass("no red"):w.removeClass("default no red").addClass("yes")}var h,p,f,m=e("jquery"),g=e("js/passport/mail-phone-regx"),v=e("js/passport/pwd-strength"),y=m(".register-page"),b=m("#pwd-tips"),w=b.find("#pwd-tip1"),C=m("#err-tip"),_=m("#register-btn"),x=m("#count-down"),k=m(".success-btn"),j=5,S=m("#send-captcha"),T=4,q=[],I=m("#phone-num"),E=m("#msg-captcha"),A=m("#pwd"),F=m("#repwd"),U=m("#captcha"),D=0,P=m(".pwd-intensity"),O=P.closest(".pwd-intensity-container"),L=m("#country-code"),N=m("#region"),$=!1,z=g.pwdValidateRegx,B="";e("jquery.placeholder"),setTimeout(function(){I.val(""),E.val(""),A.val(""),F.val(""),U.val("")},0),U.attr("maxlength",T),A.focus(function(e){b.removeClass("hide"),$=!0,p=m(this).val()}).blur(function(){b.addClass("hide"),$=!1}),m("[placeholder]").placeholder(),q=[{id:"phone-num",message:"",status:!1},{id:"captcha",message:"",status:!1},{id:"msg-captcha",message:"",status:!1},{id:"pwd",message:"",status:!1},{id:"repwd",message:"",status:!1}],m(window).resize(function(){C.hasClass("hide")||d()}),t.init=function(e){m("#agree-terms").click(function(){var e,t=m(this),n=0;if(t.attr("notchecked")){for(t.removeAttr("notchecked"),e=0;e<q.length;e++)q[e].status&&n++;4===n&&_.removeClass("disable").removeAttr("disabled")}else _.addClass("disable").attr("disabled","disabled"),t.attr("notchecked","notchecked")}),y.on("keydown",function(e){var t=e.which;13===t&&_.click()}),y.find(".va").keyup(function(){var t,n=0,a=q.length,i=m(this);r(e,m(this),function(){for(l(),c(),t=0;a>t;t++)q[t].status&&n++;4!==n||m("#agree-terms").attr("notchecked")?_.addClass("disable").attr("disabled","disabled"):_.removeClass("disable").removeAttr("disabled"),q[1].status&&0>=D?S.removeClass("disable").removeAttr("disabled"):S.addClass("disable").attr("disabled","disabled")}),i.hasClass("pwd")&&u(i)}).blur(function(){}),N.change(function(){L.text(m("#region").val()),r(e,I,l)}),S.click(function(){var t,n;m(this).hasClass("disable")||(D=60,m("#msg-tip").removeClass("hide"),S.addClass("disable").attr("disabled","disabled"),S.val("60秒可重新发送"),t=setInterval(function(){return 0>=D?(S.removeClass("disable").removeAttr("disabled").val("获取短信验证码"),void clearInterval(t)):void S.val(D--+"秒可重新发送")},1e3),"reg"===e?n="/passport/register/sendBindMsg":"third"===e&&(n="/passport/autouserinfo/sendBindMsg"),m.ajax({type:"POST",url:n,data:{area:L.text().split("+")[1],mobile:I.val(),verifyCode:U.val()}}))}),m(".success-box").length<=0&&(A[0].onpaste=function(){return!1}),_.click(function(){var t;"reg"===e?t="/passport/register/mobileregister":"third"===e&&(t="/passport/autouserinfo/bindMobile"),m(this).hasClass("disable")||m.ajax({type:"POST",url:t,data:{area:L.text().split("+")[1],mobile:I.val(),verifyCode:U.val(),code:E.val(),password:A.val()}}).then(function(e){var t,n,a=0;200===e.code?(n=e.data.href,t=setTimeout(function(){a++},1e3),m.ajax({type:"GET",url:e.data.session}).then(function(e){200===e.code&&3>t&&(clearInterval(t),location.href=n)}),t>=3&&(clearInterval(t),location.href=n)):console.log("网络超时~")})}),m(".change-captcha").click(function(){a()}),m(".success-box").length>0&&(h=setInterval(function(){0===j&&(window.location.href=k.attr("data-url"),clearInterval(h)),x.text(j--)},1e3))}}),define("js/passport/mail-phone-regx",[],function(e,t,n){var a={"+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]{1}[0-9]{8}$/,"+81":/^0[9|8|7][0-9]{9}$/,"+61":/^[0-9]{11}$/},i=/^[.\-_a-zA-Z0-9]+@[\-_a-zA-Z0-9]+\.[a-zA-Z0-9]/,o=/^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{6,20}$/;t.phoneRegx=a,t.emailRegx=i,t.pwdValidateRegx=o}),define("js/passport/pwd-strength",[],function(e,t,n){function a(e,t){return e.charCodeAt(t)>=48&&e.charCodeAt(t)<=57?1:e.charCodeAt(t)>=97&&e.charCodeAt(t)<=122?2:e.charCodeAt(t)>=65&&e.charCodeAt(t)<=90?3:4}function i(e,t,n){var a=e.charCodeAt(0),i=t.charCodeAt(0);return a-i===0?!0:4!==n&&(a-i===1||a-i===-1)}function o(e,t){return 0===t||e===t?0:4===e||4===t?2:1}function s(e){var t,n,s=0,r=e.length,d="",l=0,c=0;for(c=0;r>c;c++)t=e.charAt(c),n=a(e,c),l===n&&i(t,d,n)||(s+=n+o(n,l)),d=t,l=n;return s}n.exports=s}),define("js/passport/back",["jquery","jquery.placeholder"],function(e,t,n){function a(){var e=new Date,t=d("#captcha-img"),n=t.attr("src").split("?")[0];d("#captcha-img").attr("src",n+"?t="+e.getTime())}function i(){_&&x?y.removeClass("disable").prop("disabled",!1):y.addClass("disable").prop("disabled",!0)}function o(){return _&&x?void d.ajax({type:"POST",url:"/passport/back/authcode",data:{verifyCode:d.trim(m.val()),phoneNum:f.val(),area:p.val()}}).then(function(e){200===e.code?x=!0:402===e.code?(_=!1,x=!0,b.removeClass("hide").find("em").text("该账号不存在"),f.addClass("error")):400===e.code&&(x=!1,a()),i()}):void i()}function s(e){var t=!0,n="";return e=d.trim(e),""!==e?/^[0-9]+$/.test(e)?u[p.val()].test(e)?t=!0:(n="手机号码格式不正确, 请重新输入",t=!1):c.test(e)?t=!0:(n="邮箱格式不正确, 请重新输入",t=!1):(n="账户名不能为空",t=!1),_=t,o(),{pass:t,errTxt:n}}function r(){var e=d.trim(m.val());return""===e||e.length<C?(x=!1,void i()):(x=!0,void o())}var d=e("jquery"),l=e("js/passport/mail-phone-regx"),c=l.emailRegx,u=l.phoneRegx,h=e("js/passport/ac-email"),p=d("#country-code-hide"),f=d("#phone-num"),m=d("#captcha"),g=d("#country-code-list"),v=d("#country-code"),y=d("#find-btn"),b=d("#account-err"),w=d("#captcha-err"),C=4,_=!1,x=!1;e("jquery.placeholder"),h(f,function(){var e=s(f.val());e.pass?(b.addClass("hide"),f.removeClass("error")):(b.removeClass("hide").find("em").text(e.errTxt),f.addClass("error"))}),m.attr("maxlength",C),d("input").placeholder(),d("#change-captcha, #captcha-img").on("click",function(){a()}),v.on("click",function(e){e.stopPropagation(),"block"===g.css("style")?g.slideUp("fast"):g.slideDown("fast")}),g.delegate("li","click",function(e){var t,n=d(this),a=n.data("cc");e.stopPropagation(),p.val(a),v.find("em").html(n.text()),""!==d.trim(f.val())&&(t=s(f.val()),i(),_?(b.addClass("hide"),f.removeClass("error")):(b.removeClass("hide").text(t.errTxt),f.addClass("error"))),g.slideUp("fast")}),d(document).click(function(){"block"===g.css("display")&&g.slideUp()}),f.keyup(function(){s(d.trim(d(this).val()))}).focus(function(){d(this).removeClass("error"),b.addClass("hide")}),m.blur(function(){var e=""===d.trim(m.val())?"验证码不能为空":"验证码不正确";x?(w.addClass("hide"),m.removeClass("error")):(w.removeClass("hide").find("em").text(e),m.addClass("error"),m.val()<C&&a())}).focus(function(){d(this).removeClass("error"),w.addClass("hide")}).keyup(function(){r()}),d("#find-btn").click(function(e){return/^[0-9]+$/.test(d.trim(f.val()))&&d("#find-form").attr("action","/passport/back/mobile"),d(this).hasClass("disable")?void 0:x&&_?void 0:(e.preventDefault(),!0)})}),define("js/passport/ac-email",["jquery"],function(e,t,n){var a,i=e("jquery"),o={num:["qq.com","163.com","126.com","sina.com","gmail.com","sohu.com","hotmail.com","139.com","189.com"],other:["gmail.com","qq.com","163.com","126.com","sina.com","sohu.com","hotmail.com","139.com","189.com"]};n.exports=function(e,t){var n,s='<ul id="email-autocomplete" class="email-autocomplete hide"></ul>';e.parent().append(s),n=i("#email-autocomplete"),e.on("keyup",function(){var e,t,a,s,r=i.trim(i(this).val()),d="";if(r.indexOf("@")>0){for(e=r.match(/^[0-9]+@(.*)/),e?(a=o.num,t=e[1]):(a=o.other,t=r.match(/@(.*)/)[1]),s=0;s<a.length;s++)a[s].indexOf(t)>-1&&(d+="<li>"+r.slice(0,r.indexOf("@"))+"@"+a[s]+"</li>");""!==d&&/.com$/.test(r)===!1?n.html(d).removeClass("hide"):n.html("").addClass("hide")}}).on("blur",function(){a=setTimeout(function(){n.addClass("hide"),t&&t()},200)}),n.on("click","li",function(){clearTimeout(a),e.val(i(this).text()).focus(),n.addClass("hide"),t&&t()})}}),define("js/passport/login",["jquery","jquery.placeholder"],function(e,t,n){function a(){var e,t=!1,n=c.trim(u.val()),a=y.val();return""!==n?/^[0-9]+$/.test(n)?"+86"!==a||_.phoneRegx[a].test(n)?t=!0:(t=!1,e="手机号码不正确,请重新输入"):_.emailRegx.test(n)?t=!0:(t=!1,e="邮箱格式不正确,请重新输入"):e="请输入账户名",t?(f.addClass("hide"),u.removeClass("error")):(f.removeClass("hide").children("em").text(e),u.addClass("error")),t}function i(){var e,t=!1,n=c.trim(h.val());return""!==n?n.length<6?e="请输入长度为6-20字符的密码":t=!0:e="请输入密码",t?(m.addClass("hide"),h.removeClass("error")):(m.removeClass("hide").children("em").text(e),h.addClass("error")),t}function o(){var e,t=!1,n=c.trim(p.val());return S.is(":hidden")?!0:(""!==n?4!==n.length?e="请输入长度为4字符的验证码":t=!0:e="请输入验证码",t?(g.addClass("hide"),p.removeClass("error")):(g.removeClass("hide").children("em").text(e),p.addClass("error")),t)}function s(){var e=!0,t=c.trim(u.val()),n=c.trim(h.val());return""!==t?e=a()&&i()&&o():(e=!1,u.addClass("error"),""===n?(f.addClass("both-error").removeClass("hide").children("em").text("请输入账户名和密码"),m.addClass("hide"),h.addClass("error")):f.removeClass("hide").children("em").text("请输入账户名")),e}function r(){T.attr("src",j+c.now()),p.val(""),S.removeClass("hide")}function d(){var e=s();e&&I===!1&&(I=!0,c.ajax({url:"/passport/login/auth",type:"POST",data:{areaCode:y.val().replace("+",""),account:c.trim(u.val()),password:c.trim(h.val()),captcha:c.trim(p.val()),isRemember:!!k.hasClass("checked")},success:function(e){200===e.code?e.data&&(location.href=e.data.session):("captcha"===e.data.errorType?(g.removeClass("hide").children("em").html(e.message),p.addClass("error").val("")):(m.removeClass("hide").children("em").html(e.message),h.addClass("error").val("")),e.data&&e.data.needCaptcha&&r())},complete:function(){I=!1}}))}var l,c=e("jquery"),u=c("#account"),h=c("#password"),p=c("#captcha"),f=u.siblings(".err-tip"),m=h.siblings(".err-tip"),g=p.siblings(".err-tip"),v=c("#caps-lock"),y=c("#country-code-hide"),b=c("#country-code > em"),w=c("#country-list"),C=c("#email-autocomplete"),_=e("js/passport/mail-phone-regx"),x=e("js/passport/ac-email"),k=c(".remember-me"),j="/passport/images?t=",S=c(".captcha-wrap"),p=S.find("#captcha"),T=S.find("#captcha-img"),g=S.find(".err-tip"),q={checked:"&#xe612;",unchecked:"&#xe613;"},I=!1;e("jquery.placeholder"),x(u,function(){a()&&c.ajax({url:"/passport/login/account",type:"GET",data:{account:c.trim(u.val())}}).then(function(e){e.data&&e.data.needCaptcha&&r()})}),c("[placeholder]").placeholder(),c("#country-code").on("click",function(){"none"===w.css("display")&&w.slideDown()}),w.on("click","li",function(){var e=c(this),t=e.data("cc");b.html(e.html()),y.val(t),w.slideUp()}),c(document).on("click",function(e){c(e.target).closest("#country-code").length>0||"block"===w.css("display")&&w.slideUp()}),h.on("blur",function(){i(),v.hasClass("hide")||v.addClass("hide")}).on("keypress",function(e){var t=e.which;return t>=65&&90>=t?void v.removeClass("hide"):void v.addClass("hide")}),p.on("blur",function(){o()}),C.on("click","li",function(){clearTimeout(l),u.val(c(this).text()).focus(),C.addClass("hide")}),k.on("click",function(){var e=c(this);e.toggleClass("checked"),e.hasClass("checked")?e.children("i").html(q.checked):e.children("i").html(q.unchecked)}),c(".va").on("focus",function(){var e=c(this);e.removeClass("error"),e.siblings(".err-tip").addClass("hide")}),S.on("click",".change-captcha, .captcha-img",function(){T.attr("src",j+c.now())}),c("#login-btn").on("click",d),c("input.va").on("keypress",function(e){13===e.which&&d()}),""===u.val()&&u.val()!==u.attr("placeholder")||""!==h.val()||h.focus()}),define("js/passport/reset",["jquery","jquery.placeholder"],function(e,t,n){function a(e,t){return e.charCodeAt(t)>=48&&e.charCodeAt(t)<=57?1:e.charCodeAt(t)>=97&&e.charCodeAt(t)<=122?2:e.charCodeAt(t)>=65&&e.charCodeAt(t)<=90?3:4}function i(e,t,n){var a=e.charCodeAt(0),i=t.charCodeAt(0);return a-i===0?!0:4!==n&&(a-i===1||a-i===-1)}function o(e,t){return 0===t||e===t?0:4===e||4===t?2:1}function s(e){var t,n,s=0,r=e.length,d="",l=0,c=0;for(c=0;r>c;c++)t=e.charAt(c),n=a(e,c),l===n&&i(t,d,n)||(s+=n+o(n,l)),d=t,l=n;return s}function r(){var e=l.val(),t=s(e),n=0;switch(n=0===t?0:10>=t?1:20>=t?2:3){case 0:v.removeClass("red yellow green"),g.removeClass("color");break;case 1:v.addClass("red").removeClass("yellow green"),g.filter(".low").addClass("color"),g.filter(".mid,.high").removeClass("color");break;case 2:v.addClass("yellow").removeClass("red green"),g.filter(".low,.mid").addClass("color"),g.filter(".high").removeClass("color");break;case 3:v.addClass("green").removeClass("yellow red"),g.addClass("color")}""===e?y.removeClass("red yes no").addClass("default"):e.length<6||e.length>20?y.removeClass("default yes").addClass("no red"):y.removeClass("default no red").addClass("yes"),m=!!b.test(e)}var d=e("jquery"),l=d("#pwd"),c=d("#re-input"),u=d("#reset-pwd-btn"),h=d("#pwd-err"),p=d("#repwd-err"),f=d("#pwd-tips"),m=!1,g=d(".pwd-intensity"),v=g.closest(".pwd-intensity-container"),y=d("#pwd-tip1"),b=e("js/passport/mail-phone-regx").pwdValidateRegx;e("jquery.placeholder"),d("input").placeholder(),d(".va").keyup(function(){var e=!0;d(this).hasClass("pwd")?r():""===d(this).val()&&(e=!1),e=!(!e||!m||l.val()!==c.val()),e?u.removeClass("disable").prop("disabled",!1):u.addClass("disable").prop("disabled",!0)}).blur(function(){var e=d(this),t=e.val();e.hasClass("pwd")?""===t?(e.addClass("error"),h.removeClass("hide").find("em").text("请输入密码")):t.length<6||t.length>20?(e.addClass("error"),h.removeClass("hide").find("em").text("密码只支持6-20位")):b.test(t)?(h.addClass("hide"),""!==c.val()&&(t!==c.val()?(c.addClass("error"),p.removeClass("hide").find("em").text("两次密码输入不一致,请重新输入")):(c.removeClass("error"),p.addClass("hide")))):(e.addClass("error"),h.removeClass("hide").find("em").text("密码须字母和数字组合")):""===t?(e.addClass("error"),p.removeClass("hide").find("em").text("请输入密码确认")):""!==l.val()&&t!==l.val()?(e.addClass("error"),p.removeClass("hide").find("em").text("两次密码输入不一致,请重新输入")):(e.removeClass("error"),p.addClass("hide"))}).focus(function(){d(this).removeClass("error"),d(this).hasClass("pwd")?h.addClass("hide"):p.addClass("hide")}),l.focus(function(){h.addClass("hide"),f.removeClass("hide")}).blur(function(){f.addClass("hide")}),d("#pwd, #repwd").keydown(function(e){var t=e.keyCode||e.which;return 32===t?void e.preventDefault():void 0})}),define("js/passport/vertification",["jquery"],function(e,t,n){var a,i,o=e("jquery"),s=o("#send-captcha"),r=o("#captcha-tip"),d=o("#err-tip"),l=o("#next-step");s.click(function(){o.post("/passport/back/sendbackmobile",{mobile:o("#mobile").val(),area:o("#area").val(),verifyCode:o("#captchaPic").val()},function(e){if(200===e.code){if(d.hide(),o(this).hasClass("disable"))return;a=60,s.addClass("disable").attr("disabled",!0),r.removeClass("hide"),s.val(a--+"秒后可重新操作"),i=setInterval(function(){0===a?(clearInterval(i),s.val("发送验证码").removeClass("disable").removeAttr("disabled")):s.val(a--+"秒后可重新操作")},1e3)}else o(this).addClass("error"),d.removeClass("hide").text("发送失败")})}),a=60,s.addClass("disable").attr("disabled",!0),r.removeClass("hide"),s.val(a--+"秒后可重新操作"),i=setInterval(function(){0===a?(clearInterval(i),s.val("发送验证码").removeClass("disable").removeAttr("disabled")):s.val(a--+"秒后可重新操作")},1e3),o("#captcha").keyup(function(){var e=o.trim(o(this).val()),t=this;4===e.length?o.ajax({type:"POST",url:"/passport/back/backmobile",dataType:"json",data:{code:o("#captcha").val(),verifyCode:o("#captchaPic").val(),area:o("#area").val(),mobile:o("#mobile").val()
+},success:function(e){200===e.code?(l.removeClass("disable").attr("href",e.data),d.addClass("hide"),o(t).removeClass("error")):(l.addClass("disable"),d.removeClass("hide").find("em").text("验证码输入错误"),o(t).addClass("error"))}}):l.addClass("disable").attr("href","javascript:;")}).blur(function(){var e=o.trim(o(this).val());""===e&&(o(this).addClass("error"),d.removeClass("hide").text("请输入验证码"))}).focus(function(){o(this).removeClass("error")})}),define("js/passport/thirdlogin",["jquery"],function(e,t,n){function a(){b(".choosetag").on("change",function(){var e="#f02200";"checked"===b(this).attr("checked")?b(".choosewrapper").css({"background-image":'url("'+S+'")'}):(b(".choosewrapper").css({"background-image":"none"}),e="#CCCCCC"),I.css({"background-color":e})})}function i(){return"checked"===b(".choosetag").attr("checked")}function o(){b(".optionshow").on("click",function(){b(".optionslist").toggleClass("hide")})}function s(){var e="";b(document).on("keyup","#validatenum",function(){e=b(this).val(),4===e.length&&(k||(k=!0,b.ajax({type:"POST",url:"/passport/autouserinfo/checkBindMsg",data:{code:e,mobile:b("#mobile").val(),area:b("#areacode").val()}}).then(function(e){k=!1,200===e.code?j=!0:alert(e.message)})))}),b("#validatenum").focus(function(){b(this).removeAttr("placeholder")}).blur(function(){b(this).attr("placeholder","验证码")})}function r(){b(".optionitem").on("click",function(){var e=b(this),t=e.attr("areanum"),n=e.text();b("#areaname").text(n),b("#areanum").text(t),b("#areacode").val(t),b(".optionslist").addClass("hide")})}function d(){b(document).on("click","body",function(e){var t=b(e.target);t.hasClass("yohoselectarea")||t.hasClass("areaname")||t.hasClass("righttag")||t.hasClass("optionslist")||t.hasClass("optionitem")||b(".optionslist").addClass("hide")})}function l(){var e="",t="";b(".optionitem").each(function(){e=b(this),t=e.attr("areanum").replace(/\+/g,""),e.attr("areanum",t)})}function c(){var e;b(document).on("click","#alreayregist",function(t){e=b(t.target),(e.hasClass("mask")||e.hasClass("backdrop"))&&(b("#alreayregist").hide(),b(".backdrop").hide())}),b(document).on("click","#bindconfirm",function(t){e=b(t.target),(e.hasClass("mask")||e.hasClass("backdrop"))&&(b("#bindconfirm").hide(),b(".backdrop").hide())})}function u(){b(document).on("click","#yohobindbtn",function(e){b(".phonenum").val(""),b("#bindconfirm").hide(),b(".backdrop").hide()}),b(document).on("click","#yohobindbtn2",function(e){b(".phonenum").val(""),b("#alreayregist").hide(),b(".backdrop").hide()})}function h(){return x-=1,0>x?(x=60,void b(".validatewrapper").html(_)):(b(".second").text(x),void window.setTimeout(h,1e3))}function p(e){b(".validatewrapper").html(C),window.setTimeout(h,1e3)}function f(){b(document).on("click","#sendmessage",function(){"disabled"!==b("#sendmessage").attr("disabled")&&(p(b("#mobile").val()),b.ajax({type:"POST",url:"/passport/autouserinfo/sendBindMsg",data:{mobile:b("#mobile").val(),area:b("#areacode").val()}}).then(function(e){200!==e.code&&alert(e.message)}))})}function m(){var e="",t="";t=b("#areacode").val(),e=b("#mobile").val(),b.ajax({type:"POST",url:"/passport/autouserinfo/bindMobile",data:{area:t,openId:b("#openId").val(),sourceType:b("#sourceType").val(),mobile:e,code:b("#validatenum").val()}}).then(function(e){200===e.code?e.data&&e.data.refer?window.location.href=e.data.refer:window.location.href="/passport/thirdlogin/bindsuccess":alert(e.message)})}function g(){b(document).on("click","#gotobindphone",function(){j===!0?(b("#inarea").val(b("#areacode").val()),b("#inmobile").val(b("#mobile").val()),m()):alert("请输入正确验证码")})}function v(){var e="",t="",n="",a="",o="",s="";b("#bindfirststep").on("click",function(r){var d;if(r.preventDefault(),n=b(".phonenum").val(),a=b("#areanum").text(),d=w["+"+a],i()){if(""===n||!d||!d.test(n))return q.find("em").text("手机格式错误"),void q.removeClass("hide");e=b("#openId").val()||"29803EC6D4AAC3AAB8ABDB6AE829D579",t=b("#sourceType").val()||"qq",b.ajax({type:"post",url:"/passport/autouserinfo/bindCheck",data:{mobile:n,area:a,openId:e,sourceType:t},dataType:"json",success:function(e){var t=b(window).height();200===e.code?(b("#bindmobileform").attr("action",e.data.next),b("#bindmobileform").submit()):201===e.code?(o=e.data.user.username,s=e.data.user.headImg,b("#registphone").text(n),b("#username").text(o),""===s?b("#userphoto").attr("src","//img10.static.yhbimg.com/headimg/2013/11/28/09/01cae078abe5fe320c88cdf4c220212688.gif?imageView/2/w/100/h/100"):b("#userphoto").attr("src",s),b("#logindirectly2").attr("href",e.data.user.bindLogin),b(".backdrop").show(),b("#sendmessage").click(),b("#alreayregist .mask").css({"padding-top":t>440?t/2:217}),b("#alreayregist").show()):203===e.code?(b("#bindmobileform").attr("action",e.data.next),b("#bindmobileform").submit()):205===e.code?(o=e.data.user.username,s=e.data.user.headImg,b("#registphonetwo").text(n),b("#username1").text(o),""===s?b("#userphoto1").attr("src","//img10.static.yhbimg.com/headimg/2013/11/28/09/01cae078abe5fe320c88cdf4c220212688.gif?imageView/2/w/100/h/100"):b("#userphoto1").attr("src",s),b("#logindirectly").attr("href",e.data.user.bindLogin),b(".backdrop").show(),b("#bindconfirm .mask").css({"padding-top":t>440?t/2:217}),b("#bindconfirm").show()):402===e.code?(q.find("em").text("手机格式错误"),q.removeClass("hide")):e&&e.message&&alert(e.message)}})}})}function y(){l(),f(),a(),r(),o(),d(),v(),c(),u(),g(),s()}var b=e("jquery"),w=e("js/passport/mail-phone-regx").phoneRegx,C=b("#nopermissionmessage").html(),_=b(".validatewrapper").html(),x=+b(".second").text(),k=!1,j=!1,S="//cdn.yoho.cn/yohobuy/assets/img/passport/choosed.png",T=b(".bindwrapper"),q=T.find(".phone-err-tip"),I=T.find(".yohobindbtn");T.on("keydown",".phonenum",function(e){return 13===e.keyCode?(I.trigger("click"),!1):void 0}),y()}),define("js/passport/third-pwd",["jquery"],function(e,t,n){function a(e,t){return e.charCodeAt(t)>=48&&e.charCodeAt(t)<=57?1:e.charCodeAt(t)>=97&&e.charCodeAt(t)<=122?2:e.charCodeAt(t)>=65&&e.charCodeAt(t)<=90?3:4}function i(e,t,n){var a=e.charCodeAt(0),i=t.charCodeAt(0);return a-i===0?!0:4!==n&&(a-i===1||a-i===-1)}function o(e,t){return 0===t||e===t?0:4===e||4===t?2:1}function s(e){var t=0,n=e.length,s="",r=0,d=0,l="",c="";for(d;n>d;d++)l=e.charAt(d),c=a(e,d),r===c&&i(l,s,c)||(t+=c+o(c,r)),s=l,r=c;return t}function r(e,t){e.find("em").text(t),e.removeClass("hide")}function d(){return j-=1,0>j?(j=60,void C(".validatewrapper").html(T)):(C(".second").text(j),void window.setTimeout(d,1e3))}function l(){C(".validatewrapper").html(S),window.setTimeout(d,1e3)}function c(){C(document).on("click","#sendmessage",function(){l(),C.ajax({type:"POST",url:"/passport/autouserinfo/sendBindMsg",data:{mobile:P,area:O}}).then(function(e){200!==e.code&&alert(e.message)})})}function u(){var e="";C(document).on("keyup","#validatenum",function(){C("#err-info").hide(),e=C(this).val(),4===e.length&&(_||(_=!0,C.ajax({type:"POST",url:"/passport/autouserinfo/checkBindMsg",data:{code:e,mobile:P,area:O}}).then(function(e){_=!1,200!==e.code?C("#err-info").show():x=!0})))})}function h(){var e=v.val(),t=s(e),n=0;switch(n=0===t?0:10>=t?1:20>=t?2:3){case 0:y.removeClass("red yellow green"),w.removeClass("color");break;case 1:y.addClass("red").removeClass("yellow green"),w.filter(".low").addClass("color"),w.filter(".mid,.high").removeClass("color");break;case 2:y.addClass("yellow").removeClass("red green"),w.filter(".low,.mid").addClass("color"),w.filter(".high").removeClass("color");break;case 3:y.addClass("green").removeClass("yellow red"),w.addClass("color")}""===e?(k=!1,b.removeClass("red yes no").addClass("default")):(e.length<6||e.length>20?(k=!1,b.removeClass("default yes").addClass("no red")):(k=!0,b.removeClass("default no red").addClass("yes")),/^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]*$/.test(e)?F.removeClass("default no red").addClass("yes"):F.removeClass("default yes").addClass("no red"))}function p(){C(document).on("keyup",".pwdcontent",function(){h(C(this))}),C(document).on("focus",".pwdcontent",function(){C("#pwd-tips").removeClass("hide")}),C(document).on("blur",".pwdcontent",function(){C("#pwd-tips").addClass("hide")})}function f(){var e="",t="";q||(q=!0,setTimeout(function(){q=!1},5e4),e=C("#pwd").val(),t=C("#validatenum").val(),C.ajax({type:"POST",url:"/passport/autouserinfo/bindMobile",data:{area:O,openId:C("#openId").val(),sourceType:C("#sourceType").val(),mobile:P,password:e,code:t}}).then(function(e){q=!1,200===e.code?e.data&&e.data.refer?window.location.href=e.data.refer:window.location.href="/passport/thirdlogin/bindsuccess":alert(e.message)}))}function m(){var e="",t="";C("#confirmsubmit").on("click",function(){var n=!0;e=C("#validatenum").val(),t=C("#pwd").val(),""===e?(r(E,"短信验证码不能为空"),n=!1):x===!1&&(r(E,"请输入正确的验证码"),n=!1),""===t?(r(A,"密码不能为空"),n=!1):t.length<6||t.length>20?(r(A,"密码只支持6-20位字符"),n=!1):D.test(t)?k===!1&&(r(A,"请输入符合强度的密码"),n=!1):(r(A,"密码须由字母和数字组合"),n=!1),n&&f()})}function g(){v=C("#pwd"),y=C(".safelevel"),w=C(".pwd-intensity"),b=C("#pwd-tip1"),c(),u(),p(),m(),P&&O&&U.click()}var v,y,b,w,C=e("jquery"),_=!1,x=!1,k=!1,j="",S="",T="",q=!1,I=C(".bindwrapper"),E=I.find(".code-err-tip"),A=I.find(".pwd-err-tip"),F=C("#pwd-tip2"),U=C("#sendmessage"),D=e("js/passport/mail-phone-regx").pwdValidateRegx,P=C("#mobile").val(),O=C("#area").val();S=C("#nopermissionmessage").html(),T=C(".validatewrapper").html(),j=+C(".second").text(),g()}),define("js/passport/relate",["jquery"],function(e,t,n){function a(){f.init(),o.ajax({type:"POST",url:"/passport/autouserinfo/sendBindMsg",data:{mobile:p.mobile,area:p.area}}).then(function(e){e&&200!==e.code&&(f.clearTime(),alert(e.message))})}function i(){var e=l.val();e&&o.ajax({type:"POST",url:"/passport/autouserinfo/relateMobile",data:{mobile:p.mobile,area:p.area,openId:p.openid,sourceType:p.source,code:e}}).then(function(e){200===e.code?window.location.href=e.data.refer:402===e.code?u.removeClass("hide"):(u.addClass("hide"),alert(e.message))})}var o=e("jquery"),s=o("#relate-main"),r=o("#code-validate"),d=r.find(".validate-wrapper"),l=r.find(".msg-code"),c=r.find(".count-down span"),u=r.find(".code-error"),h=o("#hide-info"),p={},f={};p=h.data(),h.remove(),f={init:function(){this.timer&&window.clearTimeout(this.timer),this.second=60,d.addClass("waiting"),this.changeTime()},changeTime:function(){var e=this;this.second&&this.second>0?(c.text(this.second),this.second--,this.timer=window.setTimeout(function(){e.changeTime()},1e3)):this.clearTime()},clearTime:function(){this.timer&&window.clearTimeout(this.timer),d.removeClass("waiting")}},o("#next-step-btn").click(function(){a(),s.addClass("hide"),u.addClass("hide"),r.removeClass("hide")}),r.on("keydown",".msg-code",function(e){return 13===e.keyCode?(i(),!1):void 0}),r.on("click",".get-code",function(){a()}),r.on("click",".perv-step",function(){f.clearTime(),s.removeClass("hide"),r.addClass("hide"),l.val("")}),o("#relate-btn").click(function(){i()})}),define("js/cart/cart",["jquery","handlebars","source-map"],function(e,t,n){function a(e){z.ajax({type:"POST",dataType:"json",url:"/cart/index/select",data:e,beforeSend:function(){z(".loading").css({top:z(document).scrollTop()+200}),z(".loading").show()}}).then(function(e){200===e.code&&window.history.go(0)})}function i(e,t){te=[],k={},w=e.attr("checked")?"Y":"N",z("."+t).each(function(){oe=!!z(this).data("promotionid"),z(this).data("id")&&te.push({product_sku:z(this).data("id"),selected:w,buy_number:z(this).data("productnum"),goods_type:z(this).data("goodstype"),promotion_id:z(this).data("promotionid")?z(this).data("promotionid"):0})}),k={skuList:JSON.stringify(te),hasPromotion:oe},a(k)}function o(e,t,n){z.ajax({type:"GET",dataType:"json",url:t,data:n}).then(function(t){200===t.code&&t.data.item&&t.data.item.length>0&&(e.html(" "),m=f(t.data),e.append(z(m)),z("#orderProduct li:last").addClass("end"),z(".gift").removeClass("none"))})}function s(e){z.ajax({type:"GET",dataType:"html",url:"/cart/index/getProductInfo",data:e}).then(function(e){K=0,Q.html(" "),Q.append(e),Q.show(),z(".detail-bigpic:not(.none) .con li:first").addClass("active"),z(".showSizeBox:not(.none) span").length<2&&z(".showSizeBox:not(.none) span:first").addClass("atcive"),1!==Number(z("#addToCart").val())&&z(".showSizeBox span").data("num",0),z.each(z(".showSizeBox span"),function(){z(this).data("num")<=0&&(z(this).addClass("null-atcivec"),console.log(z(".showSizeBox:not(.none) span:first")),z(".showSizeBox:not(.none) span:first").removeClass("atcive"))}),"undefined"!=typeof q&&(N=z(".detail-info .oldprice del").html()?z(".detail-info .oldprice del").html():$,O='<span class="oldprice">现价:<del>'+N+'</del></span><span class="newprice">活动价:<b class="promotion-price">'+q+"</b></span>",z(".detail-info .price").html(O)),z(".detail-bigpic:not(.none) .bigpic:gt(0)").hide(),z(".showSizeBox:not(.none)").find("span").each(function(){return z(this).hasClass("null-atcivec")?(z(".addcart").addClass("none"),void z(".btn_sellout").removeClass("none")):(z(".addcart").removeClass("none"),z(".btn_sellout").addClass("none"),!1)})})}function r(){Q.html(" "),Q.css({top:z(document).scrollTop()+30,left:z(document).width()/2-Q.width()/2})}function d(e){e.addClass("none").siblings("i").removeClass("none"),e.parents(".cart-product-num").siblings("div").toggleClass("fold"),e.siblings(".unfold-color").toggleClass("none"),e.siblings(".cart-page").toggleClass("none")}function l(e,t,n){z.ajax({type:"POST",dataType:"json",url:t,data:k,beforeSend:function(){z(".loading").css({top:z(document).scrollTop()+200}),z(".loading").show()}}).then(function(e){200===e.code?(n&&window.setCookie("cart-del-list",JSON.stringify(n),{domain:".yohobuy.com",path:"/"}),window.history.go(0)):300===e.code?(z(".loading").hide(),new W(e.message).show()):403===e.code&&e.data.url&&(window.location=e.data.url)})}function c(e){se=!0,z.ajax({type:"POST",dataType:"json",url:"/cart/index/modify",data:e}).then(function(e){200===e.code&&window.history.go(0),se=!1})}function u(e,t){z.ajax({type:"POST",url:"/cart/index/add",data:e}).then(function(e){200===e.code?(window.history.go(0),t&&window.setCookie("cart-del-list",JSON.stringify(t),{domain:".yohobuy.com",path:"/"})):500===e.code&&new W(e.message).show()})}function h(){z(".gift-wrapper .fold").show(),z(".pre-sell-box input:checked").length===z('.pre-sell-box input[type="checkbox"]').length&&z('.per-list input[type="checkbox"]').attr("checked",!0),z(".common-sell-box input:checked").length===z('.common-sell-box input[type="checkbox"]').length&&z('.common-list input[type="checkbox"]').attr("checked",!0),z('.common-list input[type="checkbox"]').attr("checked")&&(ie=!0),z('.per-list input[type="checkbox"]').attr("checked")&&(ae=!0),0!==z(".per-list").length&&0!==z(".common-list").length?ie&&ae&&z('.batch_div input[type="checkbox"]').attr("checked",!0):(ie||ae)&&z('.batch_div input[type="checkbox"]').attr("checked",!0),z(".cart-page").each(function(){1===z(this).data("pageall")?(z(".cart-btn-pre",this).hide(),z(".cart-btn-next",this).hide()):z(".cart-btn-pre",this).hide()}),z(".pre-sell-box input:checked").length>0&&z(".common-sell-box input:checked").length>0?(z(".go_cash_tips").show(),z(".btn_account_disabled").show(),z(".btn_account").hide()):(z(".go_cash_tips").hide(),z(".btn_account").show(),z(".btn_account_disabled").hide()),z(".pay-wapper tr").each(function(){z(this).data("pid")&&te.push(z(this).data("pid")+"")}),z.ajax({type:"POST",url:"/cart/index/checkFav",data:{pidList:JSON.stringify(te)}}).then(function(e){I='<span class="cart-yetremove-btn">已收藏</span>',E='<a href="javascript:void(0);" class="cart-remove-btn"><span>移入收藏</span></a>',z.each(e.data,function(e,t,n){z(".pay-wapper tr").each(function(){Number(z(this).data("pid"))===Number(e)&&(t?z(this).find(".cart-operation").append(I):z(this).find(".cart-operation").append(E))})})})}var p,f,m,g,v,y,b,w,C,_,x,k,j,S,T,q,I,E,A,F,U,D,P,O,L,N,$,z=e("jquery"),B=e("handlebars"),R=e("js/common/dialog"),M=R.Confirm,W=R.Alert,H=z(".cartnew-sum"),G=z(".cartnew-tips"),Y=z(".pay-wapper"),Q=z(".goods-detail"),X=z(".histroy"),V=z(".together"),Z=z(".shop-cart"),J=1,K=0,ee=1,te=[],ne=[],ae=!1,ie=!1,oe=!1,se=!1;G.find(".btn_close").click(function(){G.fadeOut()}),Y.one("click",'.common-sell-box input[type="checkbox"], .pre-sell-box input[type="checkbox"]',function(){w=z(this).attr("checked")?"Y":"N",te=[],te.push({product_sku:z(this).parents("tr").data("id"),selected:w,buy_number:z(this).parents("tr").data("productnum"),goods_type:z(this).parents("tr").data("goodstype"),promotion_id:z(this).parents("tr").data("promotionid")?z(this).parents("tr").data("promotionid"):0}),oe=!!z(this).parents("tr").promotion_id,k={skuList:JSON.stringify(te),hasPromotion:oe},a(k)}),H.one("click",'input[type="checkbox"]',function(){te=[],L={},k={},w=z(this).attr("checked")?"Y":"N",z(".pay-wapper:first tr").each(function(){z(this).data("promotionid")&&(oe=!0),z(this).data("id")&&te.push({product_sku:z(this).data("id"),selected:w,buy_number:z(this).data("productnum"),goods_type:z(this).data("goodstype"),promotion_id:z(this).data("promotionid")?z(this).data("promotionid"):0})}),k={skuList:JSON.stringify(te),hasPromotion:oe},a(k)}),z(".per-list").on("click",'input[type="checkbox"]',function(){i(z(this),"pre-sell-box")}),z(".common-list").on("click",'input[type="checkbox"]',function(){i(z(this),"common-sell-box")}),p=z("#togetherProduct").html(),f=B.compile(p),o(X,"/cart/index/getHistroyProduct"),o(V,"/cart/index/getTogetherProduct"),V.on("click",".pagenext, .pageprev",function(){o(V,"/cart/index/getTogetherProduct",{page:Math.ceil(100*Math.random())+1})}),Z.on("click",".icon-minus, .icon-add",function(){z(this).hasClass("icon-minus")?(z(this).parents(".title").next(".main").hide(),z(this).parents("h2").next(".right").hide()):(z(this).parents(".title").next(".main").show(),z(this).parents("h2").next(".right").show()),z(this).siblings("i").toggleClass("none"),z(this).toggleClass("none")}),X.on("click",".pagenext, .pageprev",function(){z(this).hasClass("pagenext")?J++:--J>0||(J=1),o(X,"/cart/index/getHistroyProduct",{page:J})}),Y.on("click",".cart-add-btn",function(){F=z(this).data("id"),T=z(this).parents("table").data("promotion"),q=z(this).parents("table").find(".subjoin-price").html(),$=z(this).parents("table").find(".wapper-price").html(),r(),s({productId:F})}),z(".clearfix").on("click",".btn_view_s",function(){F=z(this).data("id"),T=z(this).parents("table").data("promotion"),q=z(this).parents("table").find(".subjoin-price").html(),r(),s({productId:F})}),Q.on("click",".colse",function(){Q.hide(),Q.html(" "),ee=1}),Y.on("click",".icon-minusCart, .icon-addCart",function(){d(z(this))}),Y.on("click",".unfold-color",function(){d(z(this)),z(this).siblings(".icon-minusCart").removeClass("none"),z(this).siblings(".icon-addCart").addClass("none")}),Y.on("click",".cart-btn-next",function(){g=z(this).siblings("p").find(".f-red"),y=Number(z(this).siblings("p").find(".subjoinPageNum").html()),v=Number(g.html()),g.html(v+1),v>=y-1?z(this).hide():z(this).siblings("i").show(),b=z(this).parents(".cart-product-num").siblings("div").find("table"),b.addClass("none").eq(v).removeClass("none")}),Y.on("click",".cart-btn-pre",function(){g=z(this).siblings("p").find(".f-red"),y=Number(z(this).siblings("p").find(".subjoinPageNum").html()),v=Number(g.html()),g.html(v-1),2>=v?z(this).hide():z(this).siblings("i").show(),b=z(this).parents(".cart-product-num").siblings("div").find("table"),b.addClass("none").eq(v-2).removeClass("none")}),Q.on("click",".fav_count",function(){z.ajax({type:"POST",dataType:"json",url:"/product/item/togglecollect",data:{productId:F,type:"add"}}).then(function(e){200===e.code?new W(e.message).show():403===e.code?e.data.url&&(window.location=e.data.url):new W(e.message).show()})}),Y.on("click",".cart-del-btn",function(){k={},te=[],T=z(this).parents("tr").data("promotionid")?z(this).parents("tr").data("promotionid"):0,te.push({product_sku:z(this).parents("tr").data("id"),buy_number:z(this).parents("tr").data("productnum"),promotion_id:T}),oe=!!T,k={skuList:JSON.stringify(te),hasPromotion:oe},A="<div><span></span>删除商品</div><p>确定从购物车中删除此商品?</p>",z(this).data("gift")||(x={productPrice:z(this).parents("tr").find(".productPrice").text(),productTitle:z(this).parents("tr").find(".pay-pro-info a").text(),link:z(this).parents("tr").find(".pay-pro-info a").attr("href"),productNum:z(this).parents("tr").data("productnum"),productSku:z(this).parents("tr").data("id"),promotionId:z(this).parents("tr").data("promotionid")}),C="/cart/index/remove",new M({content:A,cb:function(){l(k,C,x)}}).show()}),Y.on("click",".cart-remove-btn",function(){k={},te=[],T=z(this).parents("tr").data("promotionid")?z(this).parents("tr").data("promotionid"):0,te.push({product_sku:z(this).parents("tr").data("id"),buy_number:z(this).parents("tr").data("productnum"),promotion_id:T}),oe=!!T,k={skuList:JSON.stringify(te),hasPromotion:oe},l(k,"/cart/index/fav")}),H.on("click",".delAll",function(){k={},x={},te=[],ne=[],z(".pay-wapper:first tr").each(function(){z(this).find('input[type="checkbox"]').attr("checked")&&(T=z(this).data("promotionid")?z(this).data("promotionid"):0,T&&(oe=!0),z(this).data("id")&&(z(this).find('input[type="checkbox"]').attr("checked")&&te.push({product_sku:z(this).data("id"),buy_number:z(this).data("productnum"),promotion_id:T}),x={productPrice:z(this).find(".productPrice").text(),productTitle:z(this).find(".pay-pro-info a").text(),link:z(this).find(".pay-pro-info a").attr("href"),productNum:z(this).data("productnum"),productSku:z(this).data("id"),promotionId:z(this).data("promotionid")},ne.push(x)))}),C="/cart/index/remove",A="<div><span></span>删除商品</div><p>确定从购物车中删除所有选中商品?</p>",k={skuList:JSON.stringify(te),hasPromotion:oe},z.isEmptyObject(te)?new W("请至少选择一件商品").show():new M({content:A,cb:function(){l(k,C,ne)}}).show()}),H.on("click",".removeAll",function(){k={},x={},te=[],z(".pay-wapper:first tr").each(function(){z(this).find('input[type="checkbox"]').attr("checked")&&(T=z(this).data("promotionid")?z(this).data("promotionid"):0,T&&(oe=!0),z(this).data("id")&&z(this).find('input[type="checkbox"]').attr("checked")&&te.push({product_sku:z(this).data("id"),buy_number:z(this).data("productnum"),promotion_id:T}))}),k={skuList:JSON.stringify(te),hasPromotion:oe},z.isEmptyObject(te)?new W("请至少选择一件商品").show():l(k,"/cart/index/fav")}),Y.on("click",".minus, .plus",function(){return x={},_=z(this).hasClass("minus")?"decreaseNum":"increaseNum",x[""+_]=1,se||"1"===z(this).siblings("input").val()&&z(this).hasClass("minus")?!1:void c(z.extend(x,{sku:z(this).parents("tr").data("id")}))}),z(".gift").on("click",".up, .down",function(){z(this).siblings("i").toggleClass("none"),z(this).toggleClass("none")}),Q.on("click",".addcart",function(){return 0===z(".showSizeBox:not(.none) .atcive").length?(new W("请选择尺码").show(),!1):(j=z(".showSizeBox:not(.none) .atcive").data("num"),S=z(".showSizeBox:not(.none) .atcive").data("sku"),k={productSku:S,buyNumber:z("#mnum").val(),promotionId:T},void(z("#mnum").val()>j?new W("库存不足,目前还有"+j+"个库存").show():1===Number(z("#addToCart").val())?u(k):new W("该商品无法加入购物车").show()))}),Q.on("click",".cut, .add",function(){if(_=z(this).hasClass("minus")?"decreaseNum":"increaseNum",T)z(this).hasClass("cut")?new W("-_-,已经是最后一件,不能在减了!").show():new W("最多只能购买1,您好像购买的太多了!").show();else{if(z(this).hasClass("add")?ee++:ee--,1>ee)return new W("-_-,已经是最后一件,不能在减了!").show(),ee=1,!1;z("#mnum").val(ee)}}),Q.on("click",".color",function(){K=0,z(".color").find("p").removeClass("atcive"),z(this).find("p").addClass("atcive"),z(".showSizeBox").addClass("none").eq(z(this).index()).removeClass("none"),z(".showSizeBox:not(.none) span").length<2&&z(".showSizeBox:not(.none) span:first").addClass("atcive"),z(".detail-bigpic").addClass("none").eq(z(this).index()).removeClass("none"),z(".detail-bigpic").eq(z(this).index()).find(".bigpic").hide(),z(".detail-bigpic").eq(z(this).index()).find(".bigpic:first").show(),z(".detail-bigpic").eq(z(this).index()).find(".con li").removeClass("active"),z(".detail-bigpic").eq(z(this).index()).find(".con li:first").addClass("active"),z(".showSizeBox").eq(z(this).index()).find("span").each(function(){return z(this).hasClass("null-atcivec")?(z(".addcart").addClass("none"),void z(".btn_sellout").removeClass("none")):(z(".addcart").removeClass("none"),z(".btn_sellout").addClass("none"),!1)})}),Q.on("click",".showSizeBox span",function(){j=z(this).data("num"),z(this).data("num")>0?(z(".showSizeBox:not(.none) span").removeClass("atcivec atcive").eq(z(this).index()).addClass("atcive"),z(".addcart").removeClass("none"),z(".btn_sellout").addClass("none")):(z(".showSizeBox:not(.none) span").removeClass("atcivec atcive").eq(z(this).index()).addClass("atcivec"),z(".addcart").addClass("none"),z(".btn_sellout").removeClass("none"))}),z(".goBack").on("click",function(){k={},D=z(".dev-revocation .goBack").index(this),te=[],z(".dev-revocation tr").each(function(e){D!==e&&(x={productPrice:z(this).find(".productPrice").text(),productTitle:z(this).find(".title").text(),link:z(this).find(".title").attr("href"),productNum:z(this).data("productnum"),productSku:z(this).data("productsku"),promotionId:z(this).data("promotionid")},te.push(x))}),k={productSku:z(this).parents("tr").data("productsku"),promotionId:z(this).parents("tr").data("promotionid"),buyNumber:z(this).parents("tr").data("productnum")},u(k,te)}),Q.on("click",".piclist li",function(){K=z(this).index(),z(".detail-bigpic:not(.none) .piclist li").removeClass("active"),z(this).addClass("active"),z(".detail-bigpic:not(.none) .bigpic").hide().eq(z(this).index()).show()}),h(),Q.on("click",".pre, .next",function(){if(z(this).hasClass("next")){if(K>=z(this).siblings(".con").find("li").length-1)return!1;K++}else{if(1>K)return!1;K--}z(this).siblings(".con").find("li").removeClass("active").eq(K).addClass("active"),z(".detail-bigpic:not(.none) .bigpic").hide().eq(K).show()}),z(".btn_account").on("click",function(){P="",z(".pay-wapper input:checked").parents("tr").find(".tipNoStore").length>0?(U=z(".pay-wapper input:checked").parents("tr").find(".tipNoStore"),z.each(U.parents("tr").find(".pay-pro-info a"),function(){P+=z(this).html()}),new W(P+"库存不足").show()):z(".zp").length>0&&!z(this).attr("title")?(z(this).attr("title","1"),new W("您有赠品没有选择,请选择完再结算!").show()):z("input:checked").length>0?z(".pre-sell-box input:checked").length>0?window.location.href="/cart/index/orderEnsure?type=2":window.location.href="/cart/index/orderEnsure?type=1":new W("请至少选择一件商品").show()}),Y.on("selectstart",function(){return!1}),Q.on("selectstart",function(){return!1})}),define("js/guang/entry",["jquery","lazyload","dot","jquery-pjax"],function(e,t,n){e("js/guang/list"),e("js/guang/detail"),e("js/guang/index")}),define("js/guang/list",["jquery","lazyload","dot"],function(e,t,n){e("js/guang/msg"),e("js/guang/img-blink"),e("js/guang/right-side")}),define("js/guang/msg",["jquery","lazyload","dot"],function(e,t,n){function a(){o(".msg-title, .msg-content .content").dotdotdot({wrap:"letter"}),s(o("#msg-list img.lazy"))}var i,o=e("jquery"),s=e("lazyload");e("dot"),o(".guang-page").on("click",".like-icon",function(){var e,t=o(this),n=t.closest(".msg-content").data("id");i!==n&&(i=n,t.toggleClass("liked"),e=t.hasClass("liked")?"/guang/info/praise":"/guang/info/cancelPraise",o.ajax({type:"GET",url:e,data:{id:n,time:(new Date).getTime()}}).then(function(e){200===e.code&&(1*e.data===0?t.next("b").addClass("num-0").children(".num").html("0"):t.next("b").removeClass("num-0").children(".num").html(e.data)),i=!1}))}).on("mouseenter mouseleave",".like-icon",function(){o(this).closest(".like").toggleClass("hover")}),a(),t.dotLazy=a}),define("js/guang/img-blink",["jquery"],function(e,t,n){var a=e("jquery");a(".guang-page").on("mouseover","a img, a .bg-img",function(e){var t=a(e.target);t.closest(".slider").length>0||(t.addClass("blink"),setTimeout(function(){t.removeClass("blink")},100))})}),define("js/guang/right-side",["jquery","lazyload","dot"],function(e,t,n){var a=e("jquery"),i=e("lazyload");e("dot"),a(".ex-reco-context").dotdotdot({wrap:"letter"}),i(a(".ads img.lazy"))}),define("js/guang/detail",["jquery","lazyload","dot","jquery-pjax"],function(e,t,n){function a(){var e=o(".comments-list").find("li").length;0===e?(o(".commnets-resultwrapper").hide(),o(".comments-empty").show()):(o(".commnets-resultwrapper").show(),o(".comments-empty").hide())}function i(e){var t=o("#comment-info").val();return""===t?(alert("评论不能为空"),!1):(u=!0,void o.ajax({url:"/guang/info/comment",data:{id:e,comment:t},type:"post",success:function(e){switch(e.code){case 401:h=!0,location.href="//www.yohobuy.com/signin.html?refer="+window.escape(location.href+"#comment-info");break;case 400:alert(e.message);break;case 200:e.data&&(l.html(e.data.content),c.html(e.data.count),a(),o("#comment-info").val("").keyup())}u=!1}}))}var o=e("jquery"),s=e("lazyload"),r=o("#comment-area"),d=o(".detail-body").data("id"),l=r.find(".comments-wrap"),c=o("#article-comment > .comment-num"),u=!1,h=!1,p=o("#comment-btn"),f=100,m=o("#word-count-tip");e("js/guang/right-side"),e("js/guang/img-blink"),e("js/common/share"),e("jquery-pjax"),s({failure_limit:50}),o("#prise-btn").click(function(){var e,t=!1,n=o(this);t||(n.toggleClass("liked"),e=n.hasClass("liked")?"/guang/info/praise":"/guang/info/cancelPraise",t=!0,o.ajax({type:"GET",url:e,data:{id:d}}).then(function(e){200===e.code&&n.find(".like-num").html(e.data),t=!1}))}).bind("mouseenter mouseleave",function(){o(this).toggleClass("hover")}),o("#collect-btn").click(function(){var e,t,n=!1,a=o(this);n||(a.hasClass("collected")?(e="/guang/info/cancelcollect",t=0):(e="/guang/info/collect",t=1),n=!0,o.ajax({type:"GET",url:e,data:{id:d}}).then(function(e){var i;switch(e.code){case 401:i=/\?col=(1|0)/.test(location.href)?location.href.replace(/\?col=(1|0)/,"?col="+t):location.href+"?col="+t,location.href="//www.yohobuy.com/signin.html?refer="+encodeURI(i);break;case 400:break;case 200:/\?col=(1|0)/.test(location.href)?location.href=location.href.replace(/\?col=(1|0)/,""):a.toggleClass("collected")}n=!1}))}).bind("mouseenter mouseleave",function(){o(this).toggleClass("hover")}),a(),p.click(function(e){return h||u?!1:void(o("#comment-info").val().length-f>0||(e.preventDefault(),i(d)))}),o(document).pjax(".comment-pager a","#pjax-container",{timeout:5e3}),o(document).on("pjax:end",function(){a(),o("html,body").scrollTop(o("#comment-info").offset().top)}),o("#comment-info").keyup(function(){var e,t=o(this).val().length;0===t?(m.html(""),p.addClass("disable")):0>=t-f?(e="还可以输入"+(f-t)+"字",p.removeClass("disable")):(e='已超过<span class="exceed-count">'+(t-f)+"</span>字",p.addClass("disable")),m.html(e)}),o("#comment-info").trigger("keyup")}),define("js/guang/index",["jquery","lazyload","dot","jquery-pjax"],function(e,t,n){var a=e("jquery"),i=e("js/guang/msg");e("jquery-pjax"),e("js/common/slider"),e("js/guang/img-blink"),e("js/guang/right-side"),a("#slider").slider(),a(document).pjax(".pjax-link, .msg-pager a","#pjax-container",{timeout:2e3}),a(document).on("pjax:end",function(){i.dotLazy()})}),define("js/home/entry",["jquery","handlebars","source-map","dot"],function(e,t,n){e("js/home/index"),e("js/home/orders"),e("js/home/favorite"),e("js/home/currency"),e("js/home/returns"),e("js/home/comment"),e("js/home/complaints"),e("js/home/message"),e("js/home/edit"),e("js/home/gift"),e("js/home/validate"),e("js/home/address"),e("js/home/common-address")}),define("js/home/index",["jquery","handlebars","source-map"],function(e,t,n){var a=e("jquery");e("js/home/order-block"),a("#close-message").click(function(){a(".message-tip").slideUp(200)}),function(){var e=a(".na-pager"),t=a(".new-arrival ul"),n=Math.ceil(t.children("li").length/5),i=t.children("li:last-child").outerWidth(),o=1;t.width(t.width()*n),e.click(function(){var e,s=a(this);s.hasClass("next")?(++o,2===o&&s.siblings().removeClass("no-visible"),o===n&&s.addClass("no-visible")):(--o,o===n-1&&s.siblings().removeClass("no-visible"),1===o&&s.addClass("no-visible")),e=-5*(o-1)*i,t.animate({marginLeft:e},400)})}()}),
+define("js/home/order-block",["jquery","handlebars","source-map"],function(e,t,n){function a(e){var t={mask:!1,btns:[{id:"cancel-sure",name:"确定并取消订单",btnClass:["cancel-sure"],cb:function(){var t=s(".cancel-dialog :checked"),n=s(".cancel-dialog .cancel-tip");return 0===t.length?void n.html("请选择要取消订单的原因"):void s.ajax({type:"POST",url:"/home/orders/cancelorder",data:{orderCode:e,reason:t.val()}}).then(function(e){200===e.code?(o.close(),history.go(0)):n.html(e.message)})}},{id:"cancel-no",name:"取消",btnClass:["cancel-no"],cb:function(){o.close()}}],content:p,className:"cancel-dialog"};return new l(t)}function i(e,t){var n=!0,a=s(t).parents(".order"),i=n?"您确定要永久删除订单吗?":"您确定要删除订单吗?",c=n?"永久删除后,订单将无法恢复,您将无法对该订单的商品申请售后服务,请谨慎操作。":"删除后,您可以在订单回收站找回该订单,也可以做永久删除。",u=r.compile(h),p=u({deleteMessage:i,deleteTip:c}),f={mask:!1,btns:[{id:"delete-sure",name:"确定",btnClass:["delete-sure"],cb:function(){s.ajax({type:"POST",url:"/home/orders/delOrder",data:{orderCode:e,isFullyDelete:n}}).then(function(e){200===e.code?(o.close(),a.remove(),location.reload()):(o.close(),new d.Alert(e.message).show())})}},{id:"delete-no",name:"取消",btnClass:["delete-no"],cb:function(){o.close()}}],content:p,className:"delete-dialog"};return new l(f)}var o,s=e("jquery"),r=e("handlebars"),d=e("js/common/dialog"),l=d.Dialog,c=d.Confirm,u=s("#cancel-dialog-tpl"),h='<div class="order-delete-confirm"><div class="header"><p>删除订单</p><a href="javascript:;" title="关闭"></a></div><div class="body"><p class="confirm-tip"><i class="icon-doubt"></i>{{deleteMessage}}</p><p class="delete-tip">{{deleteTip}}</p></div></div>',p=u.html();u.remove(),s(".check-logistics").click(function(){s(this).siblings(".logistics").removeClass("hide")}),s(".close-logistics").click(function(){s(this).closest(".logistics").addClass("hide")}),s(".me-orders, .order-detail").on("click",".cancel-order",function(e){o=a(s(this).closest(".order, .order-detail").data("id")),o.show()}).on("click",".confirm-received",function(e){var t=s(this).closest(".order, .order-detail").data("id");o=new c({cb:function(){s.ajax({type:"POST",url:"/home/orders/confirmorder",data:{orderCode:t}}).then(function(e){200===e.code&&(o.close(),history.go(0))})},content:"您确定要确认收货吗?"}),o.show()}).on("click",".order-delete",function(){var e=s(this).closest(".order, .order-detail").data("id");o=i(e,this),o.show()})}),define("js/home/orders",["jquery","handlebars","source-map"],function(e,t,n){function a(e,t,n,a){var i=1,o=1,s=0,r=!1;e.click(function(){r||("0px"===n.css("left")?s=0:(s+=o*a,r=!0),n.stop().animate({left:s},300,function(){r=!1}))}),t.click(function(){var e=n.parent().width()-n.width()+"px";r||(n.css("left")===e?n.css("left",e):(s+=-i*a,r=!0),n.stop().animate({left:s},300,function(){r=!1}))})}var i=e("jquery");e("js/home/order-block"),i(".why").click(function(){return i("#differentBag").show(),!1}),i("#differentBag").click(function(){return!1}),i(document).click(function(){i("#differentBag").hide()}),i(".bag").find("ul").each(function(){var e=i(this).parent().parent().find(".pre"),t=i(this).parent().parent().find(".next"),n=i(this).find("li").eq(0).width(),o=i(this).find("li").size(),s=n*o;i(this).css("width",s),o>5?(e.show(),t.show(),a(e,t,i(this),n)):(e.hide(),t.hide())})}),define("js/home/favorite",["jquery","handlebars","source-map","dot"],function(e,t,n){var a,i,o,s=e("jquery"),r=e("handlebars"),d=e("js/passport/mail-phone-regx").phoneRegx["+86"],l={on:"[ 降价通知 ]",off:"[ 取消通知 ]"},c=location.href.match(/type=(.*)[&]*/);e("dot"),function(){function e(e){y=1*e,u.text(e),f.find(".notice-num").text(5-e)}function t(){c.addClass("hide"),h.addClass("hide"),g.text("订阅成功")}function n(){var t=s(document).scrollTop()+s(window).height()/2;"undefined"==typeof c&&(s("body").append('<div class="body-mask hide"></div>'),c=s(".body-mask")),c.css({height:s(document).height(),width:s(document).width()}).removeClass("hide"),h.removeClass("error"),o.hasClass("noticed")?s.ajax({type:"GET",url:"/home/favorite/cancelnotice",data:{id:i}}).then(function(n){200===n.code?(e(n.data.num),p.addClass("hide"),f.removeClass("hide"),g.text("取消成功"),h.removeClass("hide").css({top:t}),o.closest(".reduction-products").length>0?o.closest(".fav-good").remove():o.removeClass("noticed").text(l.on)):n.message&&(m.text(n.message),h.removeClass("hide").addClass("error").css({top:t}))}):y>=5?(m.text("您的订阅数已经到达上限"),h.removeClass("hide").addClass("error").css({top:t})):(p.removeClass("hide"),f.addClass("hide"),h.removeClass("hide").css({top:t}))}var a,r,c,u,h,p,f,m,g,v,y,b={};0!==s(".fav-products").length&&(a=s(".default-sorts"),r=s(".all-sorts"),u=s(".reduction-notice span"),h=s(".price-notice"),p=s("#price-notice .content"),f=s("#price-notice .success"),m=s("#price-notice .error-message"),g=f.find(".subscribe-or-cancel"),v=s("#notice-phone-num"),b.phone=v.val(),b.change=!1,y=1*u.text(),s("#spread-sort").click(function(){a.slideUp(function(){r.slideDown()})}),s("#retract-sort").click(function(){r.slideUp(function(){a.slideDown()})}),s(".price-down-clock").click(function(){o=s(this),i=o.closest(".fav-good").data("id"),n()}),s('.reduction-filter input[type="checkbox"]').change(function(){location.href=s(this).parent().attr("href")}),s("#price-notice").on("click",".close",function(){t()}).on("click",".price-notice-sure",function(){var n,a;if(h.hasClass("error")||p.hasClass("hide"))t();else{if(n=s.trim(v.val()),""===n||!d.test(n))return a=""===n?"请输入手机号码":"手机号码格式不正确",v.addClass("error"),void s("#price-notice .err-text").removeClass("hide").find("em").html(a);if(v.removeClass("error"),s("#price-notice .err-text").addClass("hide"),""!==b.phone&&b.phone!==n&&!b.change)return s("#price-notice .phone-diff").removeClass("hide"),void(b.change=!0);s.ajax({type:"GET",url:"/home/favorite/notice",data:{mobile:n,id:i}}).then(function(t){200===t.code?(e(t.data.num),f.removeClass("hide"),p.addClass("hide"),b.phone=n,b.change=!1,s("#price-notice .phone-diff").addClass("hide"),o.toggleClass("noticed").text(l.off)):t.message&&(m.text(t.message),h.removeClass("hide").addClass("error"))})}}),s(".has-activity").click(function(){var e=s(this),t=e.next(".activites"),n=e.closest("li");t.hasClass("hide")?(t.removeClass("hide"),n.css("padding-bottom",t.outerHeight())):(t.addClass("hide"),n.css("padding-bottom",""))}))}(),function(){function e(e,t){var n=e.data("id"),i=e.find(".na-goods-ul"),o=a[n],s=o.cur?o.cur:1,r=Math.ceil(o.total/5),d=e.find(".na-pre"),l=e.find(".na-next");s+=t,d.removeClass("hidden"),l.removeClass("hidden"),1===s&&d.addClass("hidden"),s===r&&l.addClass("hidden"),i.animate({marginLeft:-(s-1)*i.parent(".na-goods").width()},200),o.cur=s}function t(e,t){e.css("padding-bottom",t.outerHeight()+10)}var n,a={};0!==s(".fav-brands").length&&(n=r.compile(s("#na-tpl").html()),s(".na-trigger").click(function(){var e,i=s(this),o=i.next(".na-list"),r=i.closest("li");return o.hasClass("hide")?(e=r.data("id"),a[e]&&a[e].cache?(o.removeClass("hide"),void t(r,o)):void s.ajax({type:"GET",url:"/home/favorite/newproduct",data:{id:e}}).then(function(i){var s,d,l;200===i.code&&(d=i.data,l=0===d.length?{}:{naGoods:d},s=n(l),o.removeClass("hide").find(".na-content").html(s),t(r,o),d.length>5&&r.find(".na-next").removeClass("hidden"),a[e]||(a[e]={}),a[e].cache=!0,a[e].total=d.length)})):(o.addClass("hide"),void r.css("padding-bottom",""))}),s(".na-content").on("click",".na-pre, .na-next",function(){var t=s(this),n=t.hasClass("na-pre")?-1:1;e(t.closest(".fav-brand"),n)}))}(),function(){s(".fav-articles").length<0||s(".fav-articles .desc").dotdotdot()}(),c&&c.length&&(a=c[1]),s("#me-checkall").click(function(){s('.checkbox input[type="checkbox"]').prop("checked",s(this).prop("checked"))}),s(".del-favorite").click(function(e){var t=s(this).closest(".fav-row").data("id"),n=s(this).closest(".fav-row").data("shopid"),i=s(this).closest(".fav-row").data("brandorshoptype");e.preventDefault(),s.ajax({type:"GET",url:"/home/favorite/cancel",data:{id:t,shopid:n,brandorshoptype:i,type:a}}).then(function(e){200===e.code&&history.go(0)})}),s("#me-del-checked").click(function(){var e=[],t="商品";if("brand"===a?t="品牌":"article"===a&&(t="文章"),confirm("您确定要删除您收藏的"+t+"吗?")){if(s('.checkbox input[type="checkbox"]:checked').each(function(){e.push(s(this).closest(".fav-row").data("id"))}),0===e.length)return void alert("请选中您要移除的"+t);s.ajax({type:"GET",url:"/home/favorite/cancel",data:{id:e.join(","),type:a}}).then(function(e){history.go(0)})}}),location.href.match(/is_reduction=(.*)[&]*/)&&s(".reductionChecked").attr("checked",!0),location.href.match(/is_promotion=(.*)[&]*/)&&s(".activityChecked").attr("checked",!0)}),define("js/home/currency",["jquery"],function(e,t,n){var a=e("jquery");a(".filter-select").change(function(){location.href=a(this).val()})}),define("js/home/returns",["jquery","handlebars","source-map"],function(e,t,n){e("js/home/returns-detail"),e("js/home/returns-apply")}),define("js/home/returns-detail",["jquery","handlebars","source-map"],function(e,t,n){function a(){w=C[y]?C[y]:"",g.html(w+" 快递单号:"+b),f.val(y),m.val(b)}function i(){var e={};if(e.number=m.val(),e.id=1*f.val(),e.id){if(e.number)return e;alert("请填入快递单号")}else alert("请选择快递公司");return!1}function o(){var e=i();e&&d.ajax({type:"POST",url:"/home/returns/setExpressNumber",data:{id:v,isChange:_,expressId:e.id,expressNumber:e.number,expressCompany:C[e.id]}}).then(function(t){200===t.code?(y=e.id,b=e.number,u.eq(2).addClass("act")):alert(t.message),a(),p.removeClass("in-edit")})}function s(e,t){var n=l.compile(k),a=n({messageIcon:"icon-warn",messageTitle:"取消申请",messageSummary:"您确定要请取消申请吗?"}),i={mask:!0,btns:[{id:"cancel-sure",name:"确定",btnClass:["cancel-sure"],cb:function(){d.ajax({type:"POST",url:t,data:{id:e}}).then(function(e){r.close(),200===e.code?location.reload():new c.Alert(e.message).show()})}},{id:"cancel-no",name:"取消",btnClass:["cancel-no"],cb:function(){r.close()}}],content:a,className:"cancel-dialog"};return new x(i)}var r,d=e("jquery"),l=e("handlebars"),c=e("js/common/dialog"),u=d(".visual-return-state li"),h=d(".detail-container"),p=d(".courier-code"),f=d("#express-company"),m=d("#express-number"),g=d(".express-view-box > span"),v=d("#return-id").val(),y=d("#express-old-id").val(),b=m.val(),w="",C={},_=!1,x=c.Dialog,k='<p class="message-title"><i class="{{messageIcon}}"></i>{{messageTitle}}</p><p class="message-summary">{{messageSummary}}</p>';h.parent().hasClass("exchange-detail")&&(_=!0),f.val(y),h.find(".company-list").each(function(){var e=d(this).data();C[e.id]=e.name}),d("#modify").click(function(){p.addClass("in-edit")}),d("#submit-btn").click(function(){o()}),d(".cancel-return").on("click",".cancel-trigger",function(){r=s(d(this).data("id"),d(this).data("url")),r.show()})}),define("js/home/returns-apply",["jquery","handlebars","source-map"],function(e,t,n){function a(e){c.ajax({type:"POST",url:"/home/returns/getDelivery",data:{areaCode:e}}).then(function(e){var t="";200===e.code&&(c.each(e.data,function(e,n){var a="";"Y"===n.is_default&&(a='checked="checked"'),t+='<input type="radio" name="delivery-tpye" value="'+n.id+'" '+a+'"">'+n.name}),S.html(t))})}function i(e){C.hide(),2===e?(_.show(),x.hide(),C.hide()):3===e?(x.show(),_.hide(),C.hide()):4===e&&(C.show(),_.hide(),x.hide())}function o(){var e=[],t="换货";return I&&(t="退货"),p.length||(D="没有可以"+t+"的商品"),p.each(function(){var n,a=c(this).parent().parent(),i=a.next();D.length||c(this).prop("checked")&&(n={product_skn:a.find('input[name="skn"]').val(),product_skc:a.find('input[name="skc"]').val(),product_sku:a.find('input[name="sku"]').val(),goods_type:a.find('input[name="typeid"]').val(),last_price:a.find('input[name="price"]').val(),reason:1*a.find(".return-reason").val()},I?n.returned_reason=n.reason:(n.exchange_reason=n.reason,n.new_goods_id=1*a.find(".exchange-color").val(),n.new_product_sku=1*a.find(".exchange-size").val(),D||n.new_goods_id||(D="请选择要换的颜色"),D||n.new_product_sku||(D="请选择要换的尺码")),D||n.reason||(D="请选择"+t+"原因"),4!==n.reason&&6!==n.reason&&8!==n.reason||(n.remark=c.trim(i.find("textarea").val()),n.evidence_images=[],i.find('input[name="imgs"]').each(function(){n.evidence_images.push(c(this).val())}),D||n.remark||(D="请填写"+t+"描述"),D||n.evidence_images.length||(D="请上传图片")),delete n.reason,e.push(n))}),D||e.length||(D="请选择要"+t+"的商品"),e}function s(){var e={};return e.goods=o(),e.payment={},g.each(function(){c(this).prop("checked")&&(e.payment.return_amount_mode=1*c(this).val())}),D||e.payment.return_amount_mode||(D="请选择退款方式"),2===e.payment.return_amount_mode?(e.payment.province=v.val(),e.payment.city=y.val(),e.payment.area_code=b.val(),!D&&1*!e.payment.area_code&&(D="请选择银行所在地"),e.payment.bank_name=c.trim(w.find('input[name="bank-name"]').val()),D||e.payment.bank_name||(D="请填写银行名称"),e.payment.payee_name=c.trim(w.find('input[name="payee-name"]').val()),D||e.payment.payee_name||(D="请填写收款人姓名"),e.payment.bank_card=c.trim(w.find('input[name="bank-card"]').val()),D||e.payment.bank_card||(D="请填写收款账户")):3===e.payment.return_amount_mode&&(e.payment.alipay_name=c.trim(w.find('input[name="alipay-name"]').val()),D||e.payment.alipay_name||(D="请填写收款人姓名"),e.payment.alipay_account=c.trim(w.find('input[name="alipay-account"]').val()),D||e.payment.alipay_account||(D="请填写收款账户")),e}function r(){var e={};return e.goods=o(),e.consigneeName=c.trim(k.find('input[name="name"]').val()),D||e.consigneeName||(D="请填写收货人姓名"),e.areaCode=b.val(),!D&&1*!e.areaCode&&(D="请选择地区"),e.address=c.trim(k.find('input[name="address"]').val()),D||e.address||(D="请填写详细地址"),e.mobile=c.trim(k.find('input[name="phone"]').val()),e.mobile===U?e.mobile=F:D||e.mobile||(D="请填写手机号"),e.zipCode=c.trim(k.find('input[name="postcode"]').val()),e.deliveryType=k.find('input[name="delivery-tpye"]:checked').val(),D||e.deliveryType||(D="请选择商品返回方式"),e}function d(e){var t="○";e?(T.addClass("applying"),l=setInterval(function(){q.text(t),t.length>3&&(t=""),t+="○"},600)):(T.removeClass("applying"),clearInterval(l))}var l,c=e("jquery"),u=e("js/home/common-address"),h=c("#goods-table"),p=h.find('input[type="checkbox"]'),f=h.find(".return-reason"),m=h.find("input[type=file]"),g=c('input[name="refund-type"]'),v=c("#province"),y=c("#city"),b=c("#area"),w=c("#refund-pay-info"),C=w.find(".type-yoho"),_=w.find(".type-bank"),x=w.find(".type-alipay"),k=c(".exchange-detail"),j=k.find('input[name="hide-phone"]'),S=k.find(".refund-mode"),T=c(".submit-box"),q=T.find(".wait-gif span"),I=0,E=c("#order-code").val(),A=k.find('input[name="hide-area"]').val(),F=j.val(),U="",D="",P={};e("plugin/jquery.qupload"),F&&(j.remove(),U=F.replace(/(\d{3})\d{4}(\d{4})/,"$1****$2"),k.find('input[name="phone"]').val(U)),h.on("mouseenter mouseleave",".doubt",function(e){var t=c(this),n=t.parents(".special-tip"),a=n.find(".special-content"),i=n.find("> span").width();"mouseenter"===e.type?a.css({left:i+10,zIndex:1}).show():"mouseleave"===e.type&&a.css({zIndxex:0}).hide()}),w.length?(I=1,g.each(function(){c(this).prop("checked")&&i(1*c(this).val())})):A&&a(A),A=A?A:"",u.loadAllData(A,{areaDomId:"area"}),h.find(".sizeinfo").each(function(){var e=[];c(this).children().each(function(){e.push(c(this).data())}),P[c(this).data().id]=e}),f.change(function(){var e=c(this).parent().parent(),t=1*c(this).val();4===t||6===t||8===t?e.next().show():e.next().hide()}),p.change(function(){var e=c(this).parent().parent();c(this).prop("checked")?e.find("select").prop("disabled",!1):(e.find("select").val(0).prop("disabled",!0),e.next().hide())}),h.on("change",".exchange-color",function(){var e=c(this).closest(".exchange-choose-wrap"),t='<option value="0">请选择尺码</option>',n=c(this).val();P[n]&&c.each(P[n],function(e,n){t+='<option value="'+n.id+'">'+n.name+"</option>"}),e.find(".exchange-size").html(t).val(0)}),h.on("click",".btn-del",function(){c(this).parent().empty()}),m.each(function(e){var t=c("#upload-img-"+e),n=t.closest(".problem-description");t.qupload({button_image_url:"",upload_url:"//www.yohobuy.com/home/returns/imgUpload",file_post_name:"fileData",button_text:'<span class="btn_upload_text">上传图片</span>',button_text_style:".btn_upload_text{color: #ffffff;}",button_width:116,button_height:33,button_text_left_padding:32,button_text_top_padding:8,button_action:window.SWFUpload.BUTTON_ACTION.SELECT_FILE,file_size_limit:"10240",file_types:"*.jpg;*.jpeg;*.png;*.bmp",uploadSuccessed:function(e){var t,a,i=n.find("li"),o=!1;t=JSON.parse(e).imgList[0],a='<span class="btn-del" title="删除"></span><img src="'+t[0]+'" width="126" height="126"><input type="hidden" name="imgs" value="'+t.imgRelUrl+'">',i.each(function(){o||c(this).find("img").length||(o=!0,c(this).html(a))})}})}),k.on("change","#area",function(){var e=1*c(this).val();e&&a(e)}),g.change(function(){var e=1*c(this).val();i(e)}),c(".save-btn").click(function(){var e,t;return D="",I?(e="/home/returns/saveRefund",t=s()):(e="/home/returns/saveExchange",t=r()),t.orderCode=E,D?void alert(D):(d(!0),void c.ajax({type:"POST",url:e,data:t}).then(function(e){200===e.code?e.data&&e.data.refer&&(window.location.href=e.data.refer):(alert(e.message),d(!1))}))})}),define("js/home/common-address",["jquery","handlebars","source-map"],function(e,t,n){var a=e("jquery"),i=e("js/common/dialog"),o=i.Alert,s={provinceDomId:"province",cityDomId:"city",areaDomId:"areaCode",initDomIds:function(e){var t=this;void 0!==e.provinceDomId&&(t.provinceDomId=e.provinceDomId),void 0!==e.cityDomId&&(t.cityDomId=e.cityDomId),void 0!==e.areaDomId&&(t.areaDomId=e.areaDomId)},loadAreaData:function(e,t,n,i){var s,r,d,l,c=this,u=a("#"+t),h=0,p="";u.empty(),91>e&&(a("#"+c.areaDomId).empty(),a("#county").attr("disabled","disabled")),a.ajax({type:"GET",url:"/home/address/area",data:"id="+e,success:function(e){if(e.code=200,200!==e.code)return s=new o("暂无数据"),s.show(),!1;u.append('<option value="0">'+n+"</option>");for(h in e.options)e.options[h]&&(r=e.options[h],p=t===c.areaDomId&&"Y"===r.is_support?"*":"",d=r.value,l="","undefined"!=typeof i&&0!==i&&d===i.substr(0,d.length)&&(l="selected"),u.append('<option value="'+d+'" '+l+">"+p+r.text+"</option>"))}})},bindAreaChange:function(e){var t=this;void 0===a("#"+t.provinceDomId).data("events")&&(a("#"+t.provinceDomId).change(function(){var n=a("#"+t.provinceDomId).val();"0"!==n&&(t.loadAreaData(n,t.cityDomId,"请选择城市",n),a("#"+t.areaDomId).hide(),t.showAreaSel(e.dispDomId))}),a("#"+this.cityDomId).change(function(){var n=a("#"+t.cityDomId).val();"0"!==n&&(t.loadAreaData(n,t.areaDomId,"请选择区县",n),a("#"+t.areaDomId).show(),t.showAreaSel(e.dispDomId))}),a("#"+t.areaDomId).change(function(){t.showAreaSel(e.dispDomId)}),t.showAreaSel(e.dispDomId))},showAreaSel:function(e){var t=this,n="",i=a("#"+t.provinceDomId).find("option:selected").text(),o=a("#"+t.cityDomId).find("option:selected").text(),s=a("#"+t.areaDomId).find("option:selected").text();void 0!==e&&""!==e&&(i.indexOf("选择")<0&&(n=i),""!==o&&o.indexOf("选择")<0&&(n+=","+o),""!==s&&s.indexOf("选择")<0&&(n+=","+s),a("#"+e).html(n))},loadAllData:function(e,t){var n=this;n.initDomIds(t),e+="",91>e?(n.loadAreaData(0,n.provinceDomId,"请选择省份",""),a("#"+n.areaDomId).hide(),a("#"+n.cityDomId).html('<option value="0">请选择市</option>')):4===e.length?(n.loadAreaData(0,n.provinceDomId,"请选择省份",e),n.loadAreaData(e.substr(0,2),n.cityDomId,"请选择城市",e),n.loadAreaData(e,n.areaDomId,"请选择区县",e),a("#"+n.areaDomId).show()):6===e.length&&(n.loadAreaData(0,n.provinceDomId,"请选择省份",e),n.loadAreaData(e.substr(0,2),n.cityDomId,"请选择城市",e),n.loadAreaData(e.substr(0,4),n.areaDomId,"请选择区县",e),a("#"+this.areaDomId).show()),n.bindAreaChange(t)}};n.exports=s}),define("plugin/jquery.qupload",["jquery"],function(e,t,n){function a(){0==l&&(s("body").append('<div id="progressDialog" style="display: none;width:370px;height:80px !important;"><div style="padding:10px 20px;"><span id="curUploadStatus">图片上传中……请稍等</span><div id="progress"></div></div></div>'),l=1)}function i(e,t){s("#uploadNum").html(e),s("#totalUploadNum").html(t)}function o(e,t){function n(e,n){this.options[e]=void 0==t[e]?n:t[e]}function a(e){try{}catch(t){this.debug(t)}}function o(e,t,n){var a;try{if(t===r.QUEUE_ERROR.QUEUE_LIMIT_EXCEEDED)return void alert("您尝试上传太多文件.\n"+(0===n?"您已达到上传限制.":"您最多还可以 "+(n>1?"上传 "+n+"文件.":"一个文件.")));switch(t){case r.QUEUE_ERROR.FILE_EXCEEDS_SIZE_LIMIT:a="文件超过"+C.file_size_limit/1024+"M",alert(a),this.debug("Error Code: File too big, File name: "+e.name+", File size: "+e.size+", Message: "+n);break;case r.QUEUE_ERROR.ZERO_BYTE_FILE:alert("请上传有内容的文件!"),this.debug("Error Code: Zero byte file, File name: "+e.name+", File size: "+e.size+", Message: "+n);break;case r.QUEUE_ERROR.INVALID_FILETYPE:alert("请上传指定类型的文件!"),this.debug("Error Code: Invalid File Type, File name: "+e.name+", File size: "+e.size+", Message: "+n);break;default:alert("上传文件失败,请稍后在试!"),this.debug("Error Code: "+t+", File name: "+e.name+", File size: "+e.size+", Message: "+n)}}catch(i){this.debug(i)}}function s(){null!=y&&y()}function l(e,t){try{e>0&&(b=e,w=1,i(w,b),this.startUpload())}catch(n){this.debug(n)}}function c(e){this.addPostParam("_key",v)}function u(e,t,n){Math.ceil(t/n*100)}function h(e,t){w++,i(w,b),null!=g&&g(t)}function p(e,t,n){try{if(t===r.QUEUE_ERROR.QUEUE_LIMIT_EXCEEDED)return void alert("您尝试上传太多文件.\n"+(0===n?"您已达到上传限制.":"您最多还可以 "+(n>1?"上传 "+n+"文件.":"一个文件.")));switch(t){case r.QUEUE_ERROR.FILE_EXCEEDS_SIZE_LIMIT:alert("Error Code: 文件太大。 文件名为: "+e.name+", 大小为: "+e.size+", Message: "+n);break;case r.QUEUE_ERROR.ZERO_BYTE_FILE:alert("Error Code: 文件为0, 文件名为: "+e.name+", 大小为: "+e.size+", Message: "+n);break;case r.QUEUE_ERROR.INVALID_FILETYPE:alert("Error Code: 文件类型不合要求, 文件名为: "+e.name+", 大小为: "+e.size+", Message: "+n);break;default:alert("上传出错Error Code: "+t+", File name: "+e.name+", File size: "+e.size+", Message: "+n)}}catch(a){this.debug(a)}}function f(e){}function m(e){}var g=null;void 0!=t.uploadSuccessed&&(g=t.uploadSuccessed);var v="";void 0!=t.uploadKey&&(v=t.uploadKey);var y=null;void 0!=t.preupload&&(y=t.preupload);var b=0,w=0;this.options=t;this.options.errmsg_box;n("flash_url","http://static.yohobuy.com/admin/js/swfupload/swfupload.swf"),n("upload_url","http://upload.yohobuy.com"),n("file_post_name","Filedata"),n("file_size_limit","2 MB"),n("file_types","*.*"),n("file_types_description","All Files"),n("file_upload_limit",d),n("file_queue_limit",0),n("button_image_url","http://static.yohobuy.com/admin/images/btn_swfupload.png"),n("button_width","104"),n("button_height","20"),n("button_text",'<span class="btn_upload_xzzp">选择本地照片</span>'),n("button_text_style",".btn_upload_xzzp{color:#ffffff}"),n("button_text_left_padding",24),n("button_text_top_padding",0),n("button_window_mode","TRANSPARENT"),n("button_cursor","-2");var C={flash_url:this.options.flash_url,upload_url:this.options.upload_url,file_post_name:this.options.file_post_name,file_size_limit:this.options.file_size_limit,file_types:this.options.file_types,file_types_description:this.options.file_types_description,file_upload_limit:this.options.file_upload_limit,file_queue_limit:this.options.file_queue_limit,prevent_swf_caching:!1,preserve_relative_urls:!1,custom_settings:{},debug:!1,button_image_url:this.options.button_image_url,button_width:this.options.button_width,button_height:this.options.button_height,button_placeholder_id:e,button_text:this.options.button_text,button_text_style:this.options.button_text_style,button_text_left_padding:this.options.button_text_left_padding,button_text_top_padding:this.options.button_text_top_padding,button_window_mode:this.options.button_window_mode,button_cursor:this.options.button_cursor,file_dialog_start_handler:s,file_queued_handler:a,file_queue_error_handler:o,file_dialog_complete_handler:l,upload_start_handler:c,upload_progress_handler:u,upload_error_handler:p,upload_success_handler:h,upload_complete_handler:f,queue_complete_handler:m,button_action:this.options.button_action};new r(C)}var s=e("jquery"),r=e("plugin/swfupload.queue").SWFUpload,d=6;s.fn.extend({qupload:function(e){a(),o(s(this).attr("id"),e)}});var l=0;window.SWFUpload=r}),define("plugin/swfupload.queue",[],function(e,t,n){var a=e("plugin/swfupload").SWFUpload;"function"==typeof a&&(a.queue={},a.prototype.initSettings=function(e){return function(){"function"==typeof e&&e.call(this),this.queueSettings={},this.queueSettings.queue_cancelled_flag=!1,this.queueSettings.queue_upload_count=0,this.queueSettings.user_upload_complete_handler=this.settings.upload_complete_handler,this.queueSettings.user_upload_start_handler=this.settings.upload_start_handler,this.settings.upload_complete_handler=a.queue.uploadCompleteHandler,this.settings.upload_start_handler=a.queue.uploadStartHandler,this.settings.queue_complete_handler=this.settings.queue_complete_handler||null}}(a.prototype.initSettings),a.prototype.startUpload=function(e){this.queueSettings.queue_cancelled_flag=!1,this.callFlash("StartUpload",[e])},a.prototype.cancelQueue=function(){this.queueSettings.queue_cancelled_flag=!0,this.stopUpload();for(var e=this.getStats();e.files_queued>0;)this.cancelUpload(),e=this.getStats()},a.queue.uploadStartHandler=function(e){var t;return"function"==typeof this.queueSettings.user_upload_start_handler&&(t=this.queueSettings.user_upload_start_handler.call(this,e)),t=t!==!1,this.queueSettings.queue_cancelled_flag=!t,t},a.queue.uploadCompleteHandler=function(e){var t,n=this.queueSettings.user_upload_complete_handler;if(e.filestatus===a.FILE_STATUS.COMPLETE&&this.queueSettings.queue_upload_count++,t="function"==typeof n?n.call(this,e)!==!1:e.filestatus!==a.FILE_STATUS.QUEUED){var i=this.getStats();i.files_queued>0&&this.queueSettings.queue_cancelled_flag===!1?this.startUpload():this.queueSettings.queue_cancelled_flag===!1?(this.queueEvent("queue_complete_handler",[this.queueSettings.queue_upload_count]),this.queueSettings.queue_upload_count=0):(this.queueSettings.queue_cancelled_flag=!1,this.queueSettings.queue_upload_count=0)}}),t.SWFUpload=a}),define("plugin/swfupload",[],function(require,exports,module){var SWFUpload;void 0==SWFUpload&&(SWFUpload=function(e){this.initSWFUpload(e)}),SWFUpload.prototype.initSWFUpload=function(e){try{this.customSettings={},this.settings=e,this.eventQueue=[],this.movieName="SWFUpload_"+SWFUpload.movieCount++,this.movieElement=null,SWFUpload.instances[this.movieName]=this,this.initSettings(),this.loadFlash(),this.displayDebugInfo()}catch(t){throw delete SWFUpload.instances[this.movieName],t}},SWFUpload.instances={},SWFUpload.movieCount=0,SWFUpload.version="2.2.0 2009-03-25",SWFUpload.QUEUE_ERROR={QUEUE_LIMIT_EXCEEDED:-100,FILE_EXCEEDS_SIZE_LIMIT:-110,ZERO_BYTE_FILE:-120,INVALID_FILETYPE:-130},SWFUpload.UPLOAD_ERROR={HTTP_ERROR:-200,MISSING_UPLOAD_URL:-210,IO_ERROR:-220,SECURITY_ERROR:-230,UPLOAD_LIMIT_EXCEEDED:-240,UPLOAD_FAILED:-250,SPECIFIED_FILE_ID_NOT_FOUND:-260,FILE_VALIDATION_FAILED:-270,FILE_CANCELLED:-280,UPLOAD_STOPPED:-290},SWFUpload.FILE_STATUS={QUEUED:-1,IN_PROGRESS:-2,ERROR:-3,COMPLETE:-4,CANCELLED:-5},SWFUpload.BUTTON_ACTION={SELECT_FILE:-100,SELECT_FILES:-110,START_UPLOAD:-120},SWFUpload.CURSOR={ARROW:-1,HAND:-2},SWFUpload.WINDOW_MODE={WINDOW:"window",TRANSPARENT:"transparent",OPAQUE:"opaque"},SWFUpload.completeURL=function(e){if("string"!=typeof e||e.match(/^https?:\/\//i)||e.match(/^\//))return e;var t=(window.location.protocol+"//"+window.location.hostname+(window.location.port?":"+window.location.port:""),window.location.pathname.lastIndexOf("/"));return 0>=t?path="/":path=window.location.pathname.substr(0,t)+"/",path+e},SWFUpload.prototype.initSettings=function(){this.ensureDefault=function(e,t){this.settings[e]=void 0==this.settings[e]?t:this.settings[e]},this.ensureDefault("upload_url",""),this.ensureDefault("preserve_relative_urls",!1),this.ensureDefault("file_post_name","Filedata"),this.ensureDefault("post_params",{}),this.ensureDefault("use_query_string",!1),this.ensureDefault("requeue_on_error",!1),this.ensureDefault("http_success",[]),this.ensureDefault("assume_success_timeout",0),this.ensureDefault("file_types","*.*"),this.ensureDefault("file_types_description","All Files"),this.ensureDefault("file_size_limit",0),this.ensureDefault("file_upload_limit",0),this.ensureDefault("file_queue_limit",0),this.ensureDefault("flash_url","swfupload.swf"),this.ensureDefault("prevent_swf_caching",!0),this.ensureDefault("button_image_url",""),this.ensureDefault("button_width",1),this.ensureDefault("button_height",1),this.ensureDefault("button_text",""),this.ensureDefault("button_text_style","color: #000000; font-size: 16pt;"),this.ensureDefault("button_text_top_padding",0),this.ensureDefault("button_text_left_padding",0),this.ensureDefault("button_action",SWFUpload.BUTTON_ACTION.SELECT_FILES),this.ensureDefault("button_disabled",!1),this.ensureDefault("button_placeholder_id",""),this.ensureDefault("button_placeholder",null),this.ensureDefault("button_cursor",SWFUpload.CURSOR.ARROW),this.ensureDefault("button_window_mode",SWFUpload.WINDOW_MODE.WINDOW),this.ensureDefault("debug",!1),this.settings.debug_enabled=this.settings.debug,this.settings.return_upload_start_handler=this.returnUploadStart,this.ensureDefault("swfupload_loaded_handler",null),this.ensureDefault("file_dialog_start_handler",null),this.ensureDefault("file_queued_handler",null),this.ensureDefault("file_queue_error_handler",null),this.ensureDefault("file_dialog_complete_handler",null),this.ensureDefault("upload_start_handler",null),this.ensureDefault("upload_progress_handler",null),this.ensureDefault("upload_error_handler",null),this.ensureDefault("upload_success_handler",null),this.ensureDefault("upload_complete_handler",null),this.ensureDefault("debug_handler",this.debugMessage),this.ensureDefault("custom_settings",{}),this.customSettings=this.settings.custom_settings,this.settings.prevent_swf_caching&&(this.settings.flash_url=this.settings.flash_url+(this.settings.flash_url.indexOf("?")<0?"?":"&")+"preventswfcaching="+(new Date).getTime()),this.settings.preserve_relative_urls||(this.settings.upload_url=SWFUpload.completeURL(this.settings.upload_url),this.settings.button_image_url&&(this.settings.button_image_url=SWFUpload.completeURL(this.settings.button_image_url))),delete this.ensureDefault},SWFUpload.prototype.loadFlash=function(){var e,t;if(null!==document.getElementById(this.movieName))throw"ID "+this.movieName+" is already in use. The Flash Object could not be added";if(e=document.getElementById(this.settings.button_placeholder_id)||this.settings.button_placeholder,void 0==e)throw"Could not find the placeholder element: "+this.settings.button_placeholder_id;t=document.createElement("div"),t.innerHTML=this.getFlashHTML(),e.parentNode.replaceChild(t.firstChild,e),void 0==window[this.movieName]&&(window[this.movieName]=this.getMovieElement())},SWFUpload.prototype.getFlashHTML=function(){return['<object id="',this.movieName,'" type="application/x-shockwave-flash" data="',this.settings.flash_url,'" width="',this.settings.button_width,'" height="',this.settings.button_height,'" class="swfupload">','<param name="wmode" value="',this.settings.button_window_mode,'" />','<param name="movie" value="',this.settings.flash_url,'" />','<param name="quality" value="high" />','<param name="menu" value="false" />','<param name="allowScriptAccess" value="always" />','<param name="flashvars" value="'+this.getFlashVars()+'" />',"</object>"].join("")},SWFUpload.prototype.getFlashVars=function(){var e=this.buildParamString(),t=this.settings.http_success.join(",");return["movieName=",encodeURIComponent(this.movieName),"&amp;uploadURL=",encodeURIComponent(this.settings.upload_url),"&amp;useQueryString=",encodeURIComponent(this.settings.use_query_string),"&amp;requeueOnError=",encodeURIComponent(this.settings.requeue_on_error),"&amp;httpSuccess=",encodeURIComponent(t),"&amp;assumeSuccessTimeout=",encodeURIComponent(this.settings.assume_success_timeout),"&amp;params=",encodeURIComponent(e),"&amp;filePostName=",encodeURIComponent(this.settings.file_post_name),"&amp;fileTypes=",encodeURIComponent(this.settings.file_types),"&amp;fileTypesDescription=",encodeURIComponent(this.settings.file_types_description),"&amp;fileSizeLimit=",encodeURIComponent(this.settings.file_size_limit),"&amp;fileUploadLimit=",encodeURIComponent(this.settings.file_upload_limit),"&amp;fileQueueLimit=",encodeURIComponent(this.settings.file_queue_limit),"&amp;debugEnabled=",encodeURIComponent(this.settings.debug_enabled),"&amp;buttonImageURL=",encodeURIComponent(this.settings.button_image_url),"&amp;buttonWidth=",encodeURIComponent(this.settings.button_width),"&amp;buttonHeight=",encodeURIComponent(this.settings.button_height),"&amp;buttonText=",encodeURIComponent(this.settings.button_text),"&amp;buttonTextTopPadding=",encodeURIComponent(this.settings.button_text_top_padding),"&amp;buttonTextLeftPadding=",encodeURIComponent(this.settings.button_text_left_padding),"&amp;buttonTextStyle=",encodeURIComponent(this.settings.button_text_style),"&amp;buttonAction=",encodeURIComponent(this.settings.button_action),"&amp;buttonDisabled=",encodeURIComponent(this.settings.button_disabled),"&amp;buttonCursor=",encodeURIComponent(this.settings.button_cursor)].join("");
+},SWFUpload.prototype.getMovieElement=function(){if(void 0==this.movieElement&&(this.movieElement=document.getElementById(this.movieName)),null===this.movieElement)throw"Could not find Flash element";return this.movieElement},SWFUpload.prototype.buildParamString=function(){var e=this.settings.post_params,t=[];if("object"==typeof e)for(var n in e)e.hasOwnProperty(n)&&t.push(encodeURIComponent(n.toString())+"="+encodeURIComponent(e[n].toString()));return t.join("&amp;")},SWFUpload.prototype.destroy=function(){try{this.cancelUpload(null,!1);var e=null;if(e=this.getMovieElement(),e&&"unknown"==typeof e.CallFunction){for(var t in e)try{"function"==typeof e[t]&&(e[t]=null)}catch(n){}try{e.parentNode.removeChild(e)}catch(a){}}return window[this.movieName]=null,SWFUpload.instances[this.movieName]=null,delete SWFUpload.instances[this.movieName],this.movieElement=null,this.settings=null,this.customSettings=null,this.eventQueue=null,this.movieName=null,!0}catch(i){return!1}},SWFUpload.prototype.displayDebugInfo=function(){this.debug(["---SWFUpload Instance Info---\n","Version: ",SWFUpload.version,"\n","Movie Name: ",this.movieName,"\n","Settings:\n","	","upload_url:               ",this.settings.upload_url,"\n","	","flash_url:                ",this.settings.flash_url,"\n","	","use_query_string:         ",this.settings.use_query_string.toString(),"\n","	","requeue_on_error:         ",this.settings.requeue_on_error.toString(),"\n","	","http_success:             ",this.settings.http_success.join(", "),"\n","	","assume_success_timeout:   ",this.settings.assume_success_timeout,"\n","	","file_post_name:           ",this.settings.file_post_name,"\n","	","post_params:              ",this.settings.post_params.toString(),"\n","	","file_types:               ",this.settings.file_types,"\n","	","file_types_description:   ",this.settings.file_types_description,"\n","	","file_size_limit:          ",this.settings.file_size_limit,"\n","	","file_upload_limit:        ",this.settings.file_upload_limit,"\n","	","file_queue_limit:         ",this.settings.file_queue_limit,"\n","	","debug:                    ",this.settings.debug.toString(),"\n","	","prevent_swf_caching:      ",this.settings.prevent_swf_caching.toString(),"\n","	","button_placeholder_id:    ",this.settings.button_placeholder_id.toString(),"\n","	","button_placeholder:       ",this.settings.button_placeholder?"Set":"Not Set","\n","	","button_image_url:         ",this.settings.button_image_url.toString(),"\n","	","button_width:             ",this.settings.button_width.toString(),"\n","	","button_height:            ",this.settings.button_height.toString(),"\n","	","button_text:              ",this.settings.button_text.toString(),"\n","	","button_text_style:        ",this.settings.button_text_style.toString(),"\n","	","button_text_top_padding:  ",this.settings.button_text_top_padding.toString(),"\n","	","button_text_left_padding: ",this.settings.button_text_left_padding.toString(),"\n","	","button_action:            ",this.settings.button_action.toString(),"\n","	","button_disabled:          ",this.settings.button_disabled.toString(),"\n","	","custom_settings:          ",this.settings.custom_settings.toString(),"\n","Event Handlers:\n","	","swfupload_loaded_handler assigned:  ",("function"==typeof this.settings.swfupload_loaded_handler).toString(),"\n","	","file_dialog_start_handler assigned: ",("function"==typeof this.settings.file_dialog_start_handler).toString(),"\n","	","file_queued_handler assigned:       ",("function"==typeof this.settings.file_queued_handler).toString(),"\n","	","file_queue_error_handler assigned:  ",("function"==typeof this.settings.file_queue_error_handler).toString(),"\n","	","upload_start_handler assigned:      ",("function"==typeof this.settings.upload_start_handler).toString(),"\n","	","upload_progress_handler assigned:   ",("function"==typeof this.settings.upload_progress_handler).toString(),"\n","	","upload_error_handler assigned:      ",("function"==typeof this.settings.upload_error_handler).toString(),"\n","	","upload_success_handler assigned:    ",("function"==typeof this.settings.upload_success_handler).toString(),"\n","	","upload_complete_handler assigned:   ",("function"==typeof this.settings.upload_complete_handler).toString(),"\n","	","debug_handler assigned:             ",("function"==typeof this.settings.debug_handler).toString(),"\n"].join(""))},SWFUpload.prototype.addSetting=function(e,t,n){return void 0==t?this.settings[e]=n:this.settings[e]=t},SWFUpload.prototype.getSetting=function(e){return void 0!=this.settings[e]?this.settings[e]:""},SWFUpload.prototype.callFlash=function(functionName,argumentArray){argumentArray=argumentArray||[];var movieElement=this.getMovieElement(),returnValue,returnString;try{returnString=movieElement.CallFunction('<invoke name="'+functionName+'" returntype="javascript">'+__flash__argumentsToXML(argumentArray,0)+"</invoke>"),returnValue=eval(returnString)}catch(ex){throw"Call to "+functionName+" failed"}return void 0!=returnValue&&"object"==typeof returnValue.post&&(returnValue=this.unescapeFilePostParams(returnValue)),returnValue},SWFUpload.prototype.selectFile=function(){this.callFlash("SelectFile")},SWFUpload.prototype.selectFiles=function(){this.callFlash("SelectFiles")},SWFUpload.prototype.startUpload=function(e){this.callFlash("StartUpload",[e])},SWFUpload.prototype.cancelUpload=function(e,t){t!==!1&&(t=!0),this.callFlash("CancelUpload",[e,t])},SWFUpload.prototype.stopUpload=function(){this.callFlash("StopUpload")},SWFUpload.prototype.getStats=function(){return this.callFlash("GetStats")},SWFUpload.prototype.setStats=function(e){this.callFlash("SetStats",[e])},SWFUpload.prototype.getFile=function(e){return"number"==typeof e?this.callFlash("GetFileByIndex",[e]):this.callFlash("GetFile",[e])},SWFUpload.prototype.addFileParam=function(e,t,n){return this.callFlash("AddFileParam",[e,t,n])},SWFUpload.prototype.removeFileParam=function(e,t){this.callFlash("RemoveFileParam",[e,t])},SWFUpload.prototype.setUploadURL=function(e){this.settings.upload_url=e.toString(),this.callFlash("SetUploadURL",[e])},SWFUpload.prototype.setPostParams=function(e){this.settings.post_params=e,this.callFlash("SetPostParams",[e])},SWFUpload.prototype.addPostParam=function(e,t){this.settings.post_params[e]=t,this.callFlash("SetPostParams",[this.settings.post_params])},SWFUpload.prototype.removePostParam=function(e){delete this.settings.post_params[e],this.callFlash("SetPostParams",[this.settings.post_params])},SWFUpload.prototype.setFileTypes=function(e,t){this.settings.file_types=e,this.settings.file_types_description=t,this.callFlash("SetFileTypes",[e,t])},SWFUpload.prototype.setFileSizeLimit=function(e){this.settings.file_size_limit=e,this.callFlash("SetFileSizeLimit",[e])},SWFUpload.prototype.setFileUploadLimit=function(e){this.settings.file_upload_limit=e,this.callFlash("SetFileUploadLimit",[e])},SWFUpload.prototype.setFileQueueLimit=function(e){this.settings.file_queue_limit=e,this.callFlash("SetFileQueueLimit",[e])},SWFUpload.prototype.setFilePostName=function(e){this.settings.file_post_name=e,this.callFlash("SetFilePostName",[e])},SWFUpload.prototype.setUseQueryString=function(e){this.settings.use_query_string=e,this.callFlash("SetUseQueryString",[e])},SWFUpload.prototype.setRequeueOnError=function(e){this.settings.requeue_on_error=e,this.callFlash("SetRequeueOnError",[e])},SWFUpload.prototype.setHTTPSuccess=function(e){"string"==typeof e&&(e=e.replace(" ","").split(",")),this.settings.http_success=e,this.callFlash("SetHTTPSuccess",[e])},SWFUpload.prototype.setAssumeSuccessTimeout=function(e){this.settings.assume_success_timeout=e,this.callFlash("SetAssumeSuccessTimeout",[e])},SWFUpload.prototype.setDebugEnabled=function(e){this.settings.debug_enabled=e,this.callFlash("SetDebugEnabled",[e])},SWFUpload.prototype.setButtonImageURL=function(e){void 0==e&&(e=""),this.settings.button_image_url=e,this.callFlash("SetButtonImageURL",[e])},SWFUpload.prototype.setButtonDimensions=function(e,t){this.settings.button_width=e,this.settings.button_height=t;var n=this.getMovieElement();void 0!=n&&(n.style.width=e+"px",n.style.height=t+"px"),this.callFlash("SetButtonDimensions",[e,t])},SWFUpload.prototype.setButtonText=function(e){this.settings.button_text=e,this.callFlash("SetButtonText",[e])},SWFUpload.prototype.setButtonTextPadding=function(e,t){this.settings.button_text_top_padding=t,this.settings.button_text_left_padding=e,this.callFlash("SetButtonTextPadding",[e,t])},SWFUpload.prototype.setButtonTextStyle=function(e){this.settings.button_text_style=e,this.callFlash("SetButtonTextStyle",[e])},SWFUpload.prototype.setButtonDisabled=function(e){this.settings.button_disabled=e,this.callFlash("SetButtonDisabled",[e])},SWFUpload.prototype.setButtonAction=function(e){this.settings.button_action=e,this.callFlash("SetButtonAction",[e])},SWFUpload.prototype.setButtonCursor=function(e){this.settings.button_cursor=e,this.callFlash("SetButtonCursor",[e])},SWFUpload.prototype.queueEvent=function(e,t){void 0==t?t=[]:t instanceof Array||(t=[t]);var n=this;if("function"==typeof this.settings[e])this.eventQueue.push(function(){this.settings[e].apply(this,t)}),setTimeout(function(){n.executeNextEvent()},0);else if(null!==this.settings[e])throw"Event handler "+e+" is unknown or is not a function"},SWFUpload.prototype.executeNextEvent=function(){var e=this.eventQueue?this.eventQueue.shift():null;"function"==typeof e&&e.apply(this)},SWFUpload.prototype.unescapeFilePostParams=function(e){var t,n=/[$]([0-9a-f]{4})/i,a={};if(void 0!=e){for(var i in e.post)if(e.post.hasOwnProperty(i)){t=i;for(var o;null!==(o=n.exec(t));)t=t.replace(o[0],String.fromCharCode(parseInt("0x"+o[1],16)));a[t]=e.post[i]}e.post=a}return e},SWFUpload.prototype.testExternalInterface=function(){try{return this.callFlash("TestExternalInterface")}catch(e){return!1}},SWFUpload.prototype.flashReady=function(){var e=this.getMovieElement();return e?(this.cleanUp(e),void this.queueEvent("swfupload_loaded_handler")):void this.debug("Flash called back ready but the flash movie can't be found.")},SWFUpload.prototype.cleanUp=function(e){try{if(this.movieElement&&"unknown"==typeof e.CallFunction){this.debug("Removing Flash functions hooks (this should only run in IE and should prevent memory leaks)");for(var t in e)try{"function"==typeof e[t]&&(e[t]=null)}catch(n){}}}catch(a){}window.__flash__removeCallback=function(e,t){try{e&&(e[t]=null)}catch(n){}}},SWFUpload.prototype.fileDialogStart=function(){this.queueEvent("file_dialog_start_handler")},SWFUpload.prototype.fileQueued=function(e){e=this.unescapeFilePostParams(e),this.queueEvent("file_queued_handler",e)},SWFUpload.prototype.fileQueueError=function(e,t,n){e=this.unescapeFilePostParams(e),this.queueEvent("file_queue_error_handler",[e,t,n])},SWFUpload.prototype.fileDialogComplete=function(e,t,n){this.queueEvent("file_dialog_complete_handler",[e,t,n])},SWFUpload.prototype.uploadStart=function(e){e=this.unescapeFilePostParams(e),this.queueEvent("return_upload_start_handler",e)},SWFUpload.prototype.returnUploadStart=function(e){var t;if("function"==typeof this.settings.upload_start_handler)e=this.unescapeFilePostParams(e),t=this.settings.upload_start_handler.call(this,e);else if(void 0!=this.settings.upload_start_handler)throw"upload_start_handler must be a function";void 0===t&&(t=!0),t=!!t,this.callFlash("ReturnUploadStart",[t])},SWFUpload.prototype.uploadProgress=function(e,t,n){e=this.unescapeFilePostParams(e),this.queueEvent("upload_progress_handler",[e,t,n])},SWFUpload.prototype.uploadError=function(e,t,n){e=this.unescapeFilePostParams(e),this.queueEvent("upload_error_handler",[e,t,n])},SWFUpload.prototype.uploadSuccess=function(e,t,n){e=this.unescapeFilePostParams(e),this.queueEvent("upload_success_handler",[e,t,n])},SWFUpload.prototype.uploadComplete=function(e){e=this.unescapeFilePostParams(e),this.queueEvent("upload_complete_handler",e)},SWFUpload.prototype.debug=function(e){this.queueEvent("debug_handler",e)},SWFUpload.prototype.debugMessage=function(e){if(this.settings.debug){var t,n=[];if("object"==typeof e&&"string"==typeof e.name&&"string"==typeof e.message){for(var a in e)e.hasOwnProperty(a)&&n.push(a+": "+e[a]);t=n.join("\n")||"",n=t.split("\n"),t="EXCEPTION: "+n.join("\nEXCEPTION: "),SWFUpload.Console.writeLine(t)}else SWFUpload.Console.writeLine(e)}},SWFUpload.Console={},SWFUpload.Console.writeLine=function(e){var t,n;try{t=document.getElementById("SWFUpload_Console"),t||(n=document.createElement("form"),document.getElementsByTagName("body")[0].appendChild(n),t=document.createElement("textarea"),t.id="SWFUpload_Console",t.style.fontFamily="monospace",t.setAttribute("wrap","off"),t.wrap="off",t.style.overflow="auto",t.style.width="700px",t.style.height="350px",t.style.margin="5px",n.appendChild(t)),t.value+=e+"\n",t.scrollTop=t.scrollHeight-t.clientHeight}catch(a){alert("Exception: "+a.name+" Message: "+a.message)}},exports.SWFUpload=SWFUpload}),define("js/home/comment",["jquery"],function(e,t,n){var a,i=e("jquery"),o=i(".comment-table"),s=o.find(".remark-btn"),r=i("#comment-dialog-widget"),d=r.find(".dialog-titlebar"),l=r.find("textarea"),c=i(document).width(),u=i(document).height(),h=i(window).height(),p={canmove:!1,offset:{},maxtop:0,maxleft:0},f={};s.each(function(){var e=i(this).next(),t=e.data(),n=t.orderid;f[n]={},f[n].productSkn=t.productskn,f[n].productId=t.productid,f[n].goodsId=t.goodsid,f[n].orderId=t.orderid,f[n].erpSkuId=t.erpskuid,e.remove(),i(this).data("code",n)}),s.click(function(){var e=i(document).scrollTop();a=i(this),l.val(""),r.removeClass("hide").css({top:e+(h-r.outerHeight())/2,left:(c-r.outerWidth())/2})}),d.bind("mousedown",function(e){i(e.target).hasClass("dialog-close-btn")||(p.canmove=!0,p.offset={x:e.offsetX,y:e.offsetY},p.maxtop=u-r.outerHeight(),p.maxleft=c-r.outerWidth())}),i(document).mousemove(function(e){var t,n;p.canmove&&(t=e.pageY-p.offset.y,n=e.pageX-p.offset.x,t=t<p.maxtop?t:p.maxtop,n=n<p.maxleft?n:p.maxleft,r.css({top:t>0?t:0,left:n>0?n:0}))}).mouseup(function(e){p.canmove=!1}),r.on("click",".dialog-save-btn",function(){var e,t=i.trim(l.val());return""===t?void alert("请添加评论内容"):void(a.length&&(e=f[a.data().code],e.content=t,i.ajax({type:"POST",url:"/home/comment/saveComment",data:e}).then(function(e){var n=a.parent();200===e.code?(n.prev().text(t),n.html('<span class="remarked">已评论!</span>'),a.length=0,r.addClass("hide")):alert(e.message)})))}),r.on("click",".dialog-close-btn",function(){a.length=0,r.addClass("hide")})}),define("js/home/complaints",["jquery"],function(e,t,n){function a(){return m?!0:(m=!0,setTimeout(function(){m=!1},1e3),!1)}function i(e){var t=e.dom.siblings(".option-tip"),n=d.trim(e.dom.val()),a=n.length;return e.min&&a<e.min?(t.text(e.onmin),!1):e.max&&a>e.max?(t.text(e.onmax),!1):e.regexp&&!e.regexp.test(n)?(t.text(e.onerror),!1):(t.text("输入正确"),!0)}function o(){var e,t={};return d.each(g,function(n,a){i(a)?t[n]=d.trim(a.dom.val()):e||(e=n,a.dom.focus())}),t.complaintsType=h.val(),e?!1:t}function s(){var e=o();!a()&&e&&d.ajax({type:"POST",url:"/home/complaints/addcomplaints",data:e}).then(function(e){m=!1,200===e.code?window.location.reload():alert(e.message)})}function r(e,t){var n=t;a()||d.ajax({type:"POST",url:"/home/complaints/cancelcomplaints",data:{id:e}}).then(function(e){m=!1,200===e.code?(n.prev().remove(),n.text("问题已撤销")):alert(e.message)})}var d=e("jquery"),l=d(".cancel-btn"),c=d("#title"),u=d("#customer"),h=d("#complaintsType"),p=d("#orderCode"),f=d("#content"),m=!1,g={title:{dom:c,min:1,max:10,onshow:"请输入您的投诉主题",onfocus:"请输入主题",onmin:"投诉主题不能为空",onmax:"输入投诉主题不能超过10个字"},customer:{dom:u,min:1,max:10,onshow:"请填写您要投诉的对象,比如:客服00*号、发货员...",onfocus:"请填写您要投诉的对象",onmin:"投诉对象不能为空",onmax:"输入投诉对象不能超过10个字"},orderCode:{dom:p,regexp:/^([0-9,]{9,})$/,onshow:"如果多个是多个订单号,请用英文逗号隔开,没有则不填",onfocus:"请输入订单号",onerror:"您输入的订单格式不对,如果多个是多个订单号,请用英文逗号隔开"},content:{dom:f,min:1,max:130,onshow:"输入您投诉的内容",onfocus:"请输入您投诉的内容",onmin:"投诉内容不能为空",onmax:"输入的投诉内容不能超过130个字"}};d.each(g,function(e,t){t.dom.focus(function(){t.dom.siblings(".option-tip").text(t.onfocus)}).blur(function(){i(t)})}),d("#complaint-submit").click(function(){s()}),l.click(function(){var e=d(this).data();e&&e.id&&r(e.id,d(this).parent())})}),define("js/home/message",["jquery"],function(e,t,n){function a(){var e=!1;o=r.find(".msg-check:checked"),c=[],o.each(function(){var t=s(this).parent().parent();c.push(s(this).val()),t.hasClass("new-msg")&&(e=!0)}),e?l.addClass("has-new"):l.removeClass("has-new")}function i(e,t){var n;switch(e){case"del":n="/home/message/delMessage";break;case"read":n="/home/message/readMessage"}s.ajax({type:"GET",url:n,data:t}).then(function(t){t.code?200===t.code?"read"===e&&(o.removeAttr("checked"),o.parent().parent().removeClass("new-msg"),a()):alert(t.message):"del"===e&&(r.html(t),d=r.find(".msg-check"),l=r.find(".read-choose-btn"))})}var o,s=e("jquery"),r=s("#message-main-container"),d=r.find(".msg-check"),l=r.find(".read-choose-btn"),c=[];e("js/home/message-content"),r.on("change",'input[type="checkbox"]',function(){var e=s(this).attr("checked");s(this).hasClass("choose-all")&&("checked"===e?d.attr("checked",!0):d.removeAttr("checked")),a()}),r.on("click",".del-btn",function(){confirm("您确定要删除这条短消息?")&&i("del",s(this).data())}),r.on("click",".del-choose-btn",function(){return c.length?void(confirm("确定要删除您选中的消息")&&i("del",{id:c.join(",")})):void alert("请选中您要删除的消息")}),r.on("click",".read-choose-btn",function(){s(this).hasClass("has-new")&&i("read",{id:c.join(",")})})}),define("js/home/message-content",["jquery"],function(e,t,n){var a=e("jquery"),i=a(".pick-coupon-btn"),o=!1;i.click(function(){var e=a(this).data();o||(o=!0,a.ajax({type:"GET",url:"/home/message/pickCoupon",data:e}).then(function(e){var t=e.message;200===e.code&&(t="领取成功",a(this).removeClass("pick-coupon-btn")),o=!1,alert(t)}))})}),define("js/home/edit",["jquery","handlebars","source-map"],function(e,t,n){function a(){var e=u("#nickname").val().length,t=u("#username").val().length,n=u('input[name="gender"]'),a=u("#year"),i=u("#month"),o=u("#day");return 0===e?(alert("请输入昵称"),!1):0===t?(alert("请输入用户名"),!1):e>=20?(alert("昵称最长为20个字符"),!1):n.is(":checked")?"0"===a.val()||"0"===i.val()||"0"===o.val()?(alert("请选择出生年月日"),!1):!0:(alert("请选择性别"),!1)}function i(){return"0"===u("#province").val()||"0"===u("#city").val()||"0"===u("#areaCode").val()?(alert("请选择所在区域"),!1):null===u("#province").val()||null===u("#city").val()||null===u("#areaCode").val()?(alert("请选择所在区域"),!1):0===u("#phone").val().length&&0===u("#mobile").val().length?(alert("电话和手机号码不能同时为空,请填写!"),!1):0===u("#fullAddress").val().length?(alert("请填写地址"),!1):0===u("#zipCode").val().length||u("#zipCode").val().length<2?(alert("请填写邮编"),!1):!0}function o(){return u(".user-habbit-info input").is(":checked")?!0:(alert("请填写购物&着装习惯"),!1)}function s(){return""===u("#likebrand").val()?(alert("请选择品牌"),!1):!0}function r(e){var t=u("#likebrand").val();return 0===parseInt(e)?!1:(u("#likebrand").val(t.replace(","+e+",",",")),u("#pp-"+e).attr("checked",!1),void u("#brand-"+e).remove())}function d(e,t,n){var a='<li id="brand-'+t+'">'+n+'<a href="javascript:void(0);" class="btn-del"></a></li>',i=u("#brand-"+t).html(),o=u("#likebrand").val(),s=u("#brand-box");return 0===parseInt(t)?!1:"undefined"!=typeof e&&""!==e&&e.checked===!1?(r(t),!1):i?(alert("您已经选择了该品牌."),!1):(s.append(a),s.find("li>a").off("click").on("click",function(){r(u(this).closest("li").attr("id").substr(6))}),o+=t+",",void u("#likebrand").val(o))}function l(){var e={brandName:u("#keywords").val()};u.post("/home/user/isbrandname",e,function(e){return 200===e.code?e.data.id&&e.data.brand_name?(d("",e.data.id,e.data.brand_name),u("#keywords").val(""),!0):(alert("网络异常,请重试"),!1):(alert(e.message),!1)},"json")}function c(e,t){var n=u("#"+t).closest("form");u.post(e,n.serialize(),function(e){return 200===e.code?(alert(e.message),setTimeout(function(){n.closest("div").next().find("h2").click()},100),!0):(alert(e.message),!1)},"json")}var u=e("jquery"),h=u(".userinfo-edit form"),p=e("js/home/common-address"),f={init:function(e,t,n){var a=u("#year"),i=u("#month"),o=u("#day"),s=this;this.createDay(a.val(),i.val(),o.val()),a.on("change",function(){s.update()}),i.on("change",function(){s.update()})},update:function(){this.createDay(u("#year").val(),u("#month").val(),u("#day").val())},createDay:function(e,t,n){var a,i,o='<select name="day" id="day">',s=new Array(4,6,9,11),r=31;if(e=parseInt(e),t=parseInt(t),0===e&&(e=0),0===t&&(t=0),u("#year").val(e.toString()),u("#month").val(t.toString()),o+='<option value="0">日</option>',e>0&&t>0)for(-1!==u.inArray(t,s)?r=30:2===t&&(r=28,0!==e%4||e%100===0&&e%400!==0||(r=29)),i=1;r>=i;i++)a="",parseInt(n)===i&&(a="selected"),o+='<option value="'+i+'" '+a+">"+i+"</option>";o+="</select>",u("#day").replaceWith(o)}};u(".userinfo-edit h2").on("click",function(){var e=u(this).next();h.slideUp("fast"),"none"===e.css("display")?e.slideDown("slow"):null}),u("#base-info").on("click",function(){a()&&c("/home/user/edituserinfo/","base-info")}),u("#contact-info").on("click",function(){i()&&c("/home/user/editusercontactinfo/","contact-info")}),u("#shopping-info").on("click",function(){o()&&c("/home/user/edituserhabitsinfo/","shopping-info")}),u("#favorite-brand").on("click",function(){s()&&u.ajax({url:"/home/user/edituserlikebrand/",type:"post",datatype:"json",data:{brand:u("#likebrand").val()},success:function(e){return 200===e.code?(alert(e.message),!0):(alert(e.message),!1)},error:function(e){alert("网络异常")}})}),u("#add-brand-btn").on("click",function(){l()}),u('.user-favorite-info input[type="checkbox"]').on("click",function(){var e=u(this);d(this,e.attr("id").substr(3),e.parent().text())}),function(){var e=u("#brand-box li");e.length>0&&e.find("a").on("click",function(){r(u(this).closest("li").attr("id").substr(6))})}(),f.init(),function(){u("#province").val()?p.bindAreaChange({provinceDomId:"province",cityDomId:"city",areaDomId:"areaCode"}):p.loadAllData(0,{provinceDomId:"province",cityDomId:"city",areaDomId:"areaCode"})}()}),define("js/home/gift",["jquery","handlebars","source-map"],function(e,t,n){function a(){var e=new Date;return o("#imgcode").attr("src","/passport/images?t="+e.getTime()),!1}var i,o=e("jquery"),s=e("js/common/dialog"),r=s.Alert,d=o(".giftCardCode").find(".gift-error"),l=o(".captchaCode").find(".gift-error"),c="",u="",h=1,p={suc:[!1,!1,!1,!1],checkCard:function(e){if(c=/^[0-9a-zA-Z]{4,4}$/,c.test(o("#giftCardCode"+e).val())){for(h=1;3>=h;h++)c.test(o("#giftCardCode"+h).val())?(d.html(""),p.suc[h]=!0):(d.html("您输入的兑换码有误,兑换码必须为数字或字母,每个文本框里只能输入四个兑换码!"),p.suc[h]=!1);3!==e&&o("#giftCardCode"+(e+1)).focus()}else d.html("您输入的兑换码有误,兑换码必须为数字或字母,每个文本框里只能输入四个兑换码!"),p.suc[e-1]=!1},bindGiftCardForm:function(){o("#giftCardCode1").bind("blur keyup",function(){p.checkCard(1)}),o("#giftCardCode2").bind("blur keyup",function(){p.checkCard(2)}),o("#giftCardCode3").bind("blur keyup",function(){p.checkCard(3)}),o("#captchaCode").bind("blur keyup",function(){u=o("#captchaCode").val(),u.length<=0?(l.html("请输入验证码!"),p.suc[3]=!1):(l.html(""),p.suc[3]=!0)})},checkForm:function(){return c.test(o("#giftCardCode1").val())&&c.test(o("#giftCardCode2").val())&&c.test(o("#giftCardCode3").val())?""===o.trim(o("#captchaCode").val())?(l.html("请输入验证码!"),!1):!0:(d.html("您输入的兑换码有误,兑换码必须为数字或字母,每个文本框里只能输入四个兑换码!"),!1)}};o("#sub-gift").on("click",function(){return p.checkForm()?void o.post("/home/gift/exchange",o("#giftCardForm").serialize(),function(e){200===e.code?window.location.href="/home/gift?type=1":400===e.code?(i=new r(e.message),i.show(),a()):window.location.href="/home/gift?type=2"},"json"):!1}),o(document).on("click","#imgcode,.check-img",function(){a()}),o(function(){a(),p.bindGiftCardForm()})}),define("js/home/validate",["jquery","handlebars","source-map"],function(e,t,n){function a(e,t){return e.$checkInfo.html('<div class="form-error">'+t+"</div>"),"code"!==e.dom.attr("name")&&"verifyCode"!==e.dom.attr("name")&&e.dom.addClass("input-error"),!1}function i(e){return e.$checkInfo.html('<div class="form-success">&nbsp;</div>'),"code"!==e.dom.attr("name")&&"verifyCode"!==e.dom.attr("name")&&e.dom.removeClass("input-error"),!0}function o(e){var t;return v.post(e.url,e.data,function(n){"undefined"!=typeof n.code&&200===n.code?t=i(e.opt):(e.txt=""!==e.txt&&null!==e.txt?e.txt:n.message,t=a(e.opt,e.txt))}),t}function s(e){var t=e.val(),n=t.length,s=e.parent(),r=s.find(".check-info"),d=e.attr("name"),l="",c="",u="",h={$checkInfo:r,dom:e},p={opt:h};return r.html(""),"password"===d?0===n?a(h,"密码不能为空!"):(v.extend(p,{url:"/home/account/checkpassword",data:{password:t},txt:"密码错误!"}),o(p)):"verifyCode"===d?(v.extend(p,{url:"/home/account/checkverifycode",data:{verifyCode:t},txt:"验证码错误!"}),o(p)):"email"===d?(l=b.emailRegx,null===t.match(l)?a(h,"邮箱错误!"):(v.extend(p,{url:"/home/account/checkemail",data:{email:t},txt:""}),o(p))):"mobile"===d?(l=b.phoneRegx,c=t.split("-"),l=1===c.length?t.match("^1[35847]{1}[0-9]{9}"):l["+"+c[0]].test(c[1]),0===n?a(h,"手机号不能为空!"):null!==l&&l?(v.extend(p,{url:"/home/account/checkmobile",data:{mobile:t},txt:"手机号已经存在!"}),o(p)):a(h,"手机号错误!")):"newPwd"===d?(l=b.pwdValidateRegx,l.test(t)?i(h):a(h,"建议6~20个数字+字母组合!")):"confirm_password"===d?v("#newPwd").val()!==t?a(h,"两次密码不一致!"):i(h):"code"!==d?!0:(u=v("#realAccount").length>0?v("#realAccount").val():v("#mobilevalue").val(),""!==t?(v.extend(p,{url:"/home/account/checkmobilemsg",data:{mobile:u,code:v("#inputcode").val()},txt:"验证码错误!"}),o(p)):void 0)}function r(){var e=[];return k=!1,v.each(_,function(t,n){e[t]=s(v(n))}),e.indexOf(!1)>=0?(k=!0,!1):!0}function d(){var e=(new Date).getTime();v("#the-code-img").attr("src","/passport/images?len=6&time="+e)}function l(){var e="";j>0?(e="重新发送"+j+"秒",v("#sendButton").text(e),j-=1):(j=60,v("#sendButton").text("发送验证码"),clearInterval(m),x=!0)}function c(e){var t=v("#inputcode"),n=t.parent().find("check-info");v.post("/home/account/sendmobilemsg",{mobile:e},function(e){"undefined"!=typeof e.code&&200===e.code?(x=!1,m=setInterval(function(){l()},1e3),n.html("")):n.html('<div class="form-error">验证码发送失败</div>')})}function u(){var e,t,n,a=v("#mobilevalue");if(a.length>0?(e=a.next(),t=a.val(),n=t.split("-"),n=1===n.length?t.match("^1[35847]{1}[0-9]{9}"):b.phoneRegx["+"+n[0]].test(n[1])):t=v("#realAccount").val(),!x)return!1;if(a.length>0){if(null===n||!n)return e.html('<div class="form-error">手机号错误!</div>'),a.addClass("input-error"),!1;e.find(".form-success").length>0&&c(t)}v("#realAccount").length>0&&c(t)}function h(){window.location.href="/home/account"}function p(e,t){v.post(e.url,e.data,function(n){return 200!==n.code?(k=!0,g=new w(n.message),g.show(),!1):(t&&(e.hrefUrl+="&checkCode="+n.data),void(window.location.href=e.hrefUrl))},"json")}function f(){var e=v(".progress-bar .cur").index(),t=v("#verifyType").val(),n="",a={};v(".email").length>0&&(n="email"),v(".mobile").length>0&&(n="mobile"),v(".userpwd").length>0&&(n="userpwd"),0===e?"1"===t?(a={url:"/home/account/verifypassword",data:v("#pwdform").serialize(),hrefUrl:"/home/account/"+n+"?step=2"},p(a,"step1")):"2"===t?(a={url:"/home/account/sendemail",data:{checkType:n,email:v("#realAccount").val()},hrefUrl:"/home/account/sendemailsuccess?email="+v("#realAccount").val()+"&type=1&checkType="+n},p(a)):(a={url:"/home/account/checkmobilemsg",data:{mobile:v("#realAccount").val(),code:v("#inputcode").val()},hrefUrl:"/home/account/"+n+"?step=2"},p(a,"step1")):1===e&&("userpwd"===n?(a={url:"/home/account/modifypwd",data:v("#pwdform").serialize(),hrefUrl:"/home/account/userpwd?step=3&success=true"},p(a)):"email"===n?(a={url:"/home/account/modifyemail",data:{email:v("#email").val()},hrefUrl:"/home/account/sendemailsuccess?email="+v("#email").val()+"&type=2&checkType=email"},p(a)):(a={url:"/home/account/modifymobile",data:{mobile:v("#mobilevalue").val(),code:v("#inputcode").val()},hrefUrl:"/home/account/mobile?step=3&success=true"},p(a)))}var m,g,v=e("jquery"),y=e("js/common/dialog"),b=e("js/passport/mail-phone-regx"),w=y.Alert,C=v(".check-user"),_=C.find("input").not("input[type=button],input[type=hidden],input[type=reset]"),x=!0,k=!0,j=60;v.ajaxSetup({async:!1}),Array.prototype.indexOf||(Array.prototype.indexOf=function(e,t){var n,a;for(n=t||0,a=this.length;a>n;n++)if(this[n]===e)return n;return-1}),v(function(){var e=null;v(".res-info").length>0&&(e=setTimeout(function(){h()},5e3)),d(),v("#pwdform").submit(function(){return!1}),_.blur(function(){s(v(this))}),v(".sub-btn").on("click",function(){return k===!1?!1:r()?void f():!1}),v("input[name=verifyCode]").keydown(function(e){if(13===e.keyCode){if(k===!1)return!1;if(!r())return!1;f()}}),v(".the-code").on("click",function(){d()}),v("#send-mobile-code").on("click",function(){u()}),v("#newPwd").length>0&&v("#newPwd").on("input",function(e){var t=v("input[name=confirm_password]"),n=t.val(),i=v("#newPwd").val(),o={dom:t,$checkInfo:t.next()};n.length>0&&i!==n&&a(o,"两次密码不一致!")})})}),define("js/home/address",["jquery","handlebars","source-map"],function(e,t,n){function a(e){var t=e.parents(".address-content"),n=t.attr("addressId");return n}function i(e){var t="";"addressName"===e.inputName&&(t="真实姓名在2到5个汉字之间"),"address"===e.inputName&&(t="请填写详细地址"),"zipCode"===e.inputName&&(t="请输入收货人所在地邮编号"),"phone"===e.inputName&&(t="格式例如:0577-88888888"),"mobile"===e.inputName&&(t="请输入手机号,如1360000000"),"email"===e.inputName&&(t="用来接收订单提醒邮件,便于您及时了解订单状态"),e.$checkInfo.removeClass("form-prompt").addClass("form-focus").html(t)}function o(e){var t="",n=!0,a="输入正确",i="form-info form-success",o=e.val;return"addressName"===e.inputName&&(t=/^[\u4e00-\u9fa5]{2,5}$/,e.len<1||e.len>12?(a="真实姓名在2到5个汉字之间,请确认",n=!1,i="form-info form-error"):t.test(e.val)===!1&&(a="真实姓名至少2个中文,最多5个中文",n=!1,i="form-info form-error")),"address"===e.inputName&&e.len<2&&(a="请填写详细地址",n=!1,i="form-info form-error"),"zipCode"===e.inputName&&(t=/^[0-9]{6}$/,0===e.len?(a="请输入收货人所在地邮编号",n=!1,i="form-info form-error"):t.test(e.val)===!1&&(a="你输入的邮编式不正确",n=!1,i="form-info form-error")),"phone"===e.inputName&&(t=/^(0[0-9]{2,3}\-)?([2-9][0-9]{6,7})+(\-[0-9]{1,4})?$/,0===e.len?(a="你真的不想留联系电话了吗?",n=!0,i="form-info form-success"):t.test(e.val)===!1&&(a="你输入的联系电话格式不正确",n=!1,i="form-info form-error")),"mobile"===e.inputName&&(t=/^1[3|4|5|8|7][0-9]{9}$/,11!==e.len?(a="手机号码必须是11位的,请确认",n=!1,i="form-info form-error"):t.test(e.val)===!1&&(a="您输入的手机号格式不正确",n=!1,i="form-info form-error")),"email"===e.inputName&&(t="^[a-z0-9_-]+(.[_a-z0-9-]+)*@([_a-z0-9-]+.)+([a-z]{2}|aero|arpa|biz|com|coop|edu|gov|info|int|jobs|mil|museum|name|nato|net|org|pro|travel)$",null!==o.match(t)&&0!==e.len||(a="你输入的邮件地址格式不正确",n=!1,i="form-info form-error")),e.$checkInfo.removeClass().addClass(i).html(a),n}function s(e,t){var n=e.val(),a=e.parent(),s={val:n,len:n.length,$domParent:e.parent(),$checkInfo:a.find("span"),inputName:e.attr("name")};return"focus"===t&&i(s),"blur"===t?o(s):void 0}function r(){var e=c("#phone").next(),t=c("#mobile").next();return t.hasClass("form-success")&&!e.hasClass("form-error")&&0===c("#phone").val().length?(e.removeClass().addClass("form-prompt form-info").html("请输入你的联系电话,可以为空哦"),!0):"输入正确"!==e.html()||t.hasClass("form-error")||0!==c("#mobile").val().length?t.hasClass("form-success")||"输入正确"===e.html()?void 0:(e.removeClass().addClass("form-success form-info").html("你真的不想留联系电话了吗?"),t.removeClass().addClass("form-prompt form-info").html("填写手机号便于接收发货和收货通知"),c("#mobile").focus(),!1):(t.removeClass().addClass("form-prompt form-info").html("填写手机号便于接收发货和收货通知"),!0)}function d(){var e=[];return c.each(g,function(t,n){e.push(s(c(n),"blur"))}),e.push(r()),c.each(c(".form-info"),function(e,t){return c(t).hasClass("form-error")?(c(t).prev().focus(),!1):void 0}),-1===e.indexOf(!1)}var l,c=e("jquery"),u=e("js/home/common-address"),h=e("js/common/dialog"),p=h.Alert,f=c(".address-del"),m=c(".address-modify"),g=c(".input-1"),v={evil:function(e){var t=Function;return new t("return "+e)()},clearAddrForm:function(){c("#addressName").val(""),c("#address").val(""),c("#zipCode").val(""),c("#phone").val(""),c("#mobile").val(""),
+c("#email").val(""),c("#addrId").val(0),c("#province").val(0),c("#city").val(0),c("#areaCode").val(0).hide(),c("#btn-reset").hide(),c("#form-status").html("添加新地址")},editAddr:function(e){c.getJSON("/home/address/editAddress?id="+e,function(e){200===e.code&&(c("#form-status").html("修改地址"),c("#addressName").val(e.data.consignee),u.loadAllData(e.data.area_code,{}),c("#address").val(e.data.address),c("#email").val(e.data.email),c("#phone").val(e.data.phone),c("#mobile").val(e.data.mobile),c("#zipCode").val(e.data.zip_code),c("#addrId").val(e.data.address_id),c("#btn-reset").show())})},saveAddr:function(e){c.post("/home/address/saveAddress",c("#address-form").serialize(),function(e){200===e.code?location.reload():(l=new p(e.message),l.show())},"json")},delAddr:function(e){c.getJSON("/home/address/delAddress?id="+e,function(t){200===t.code?(c(".address-list").find("li[addressId="+e+"]").remove(),e===c("#addrId").val()&&v.clearAddrForm()):(l=new p("删除失败"),l.show())})},setDefaultAddr:function(e){var t=c(".address-list").find(".default-btn"),n=c(".address-list").find(".default-btn").parents("li"),a=c(".address-list").find("li[addressId="+e+"]"),i=a.find(".set-default-btn");c.getJSON("/home/address/defaultAddress?id="+e,function(e){200===e.code?(t.attr("class","btn-c3 set-default-btn"),n.removeClass("preferred"),t.html("<span>设为常用地址</span>"),i.attr("class","btn-c2 default-btn"),t.html("<span>设为常用地址</span>"),a.addClass("preferred")):(l=new p("设置失败"),l.show())})}};Array.prototype.indexOf||(Array.prototype.indexOf=function(e,t){var n,a;for(n=t||0,a=this.length;a>n;n++)if(this[n]===e)return n;return-1}),c(document).on("click",".set-default-btn",function(){var e=a(c(this));v.setDefaultAddr(e)}),f.on("click",function(){var e=a(c(this));v.delAddr(e)}),m.on("click",function(){var e=a(c(this));v.editAddr(e),c("#btn-reset").show()}),g.on("focus",function(){s(c(this),"focus")}),g.on("blur",function(){s(c(this),"blur")}),c("#address-info").on("click",function(){d()&&v.saveAddr()}),c(document).ready(function(){u.loadAllData(0,{provinceDomId:"province",cityDomId:"city",areaDomId:"areaCode"}),v.clearAddrForm(),c("#btn-reset").click(function(){v.clearAddrForm()})})}),define("js/help/entry",["jquery","handlebars","source-map"],function(e,t,n){e("js/help/search")}),define("js/help/search",["jquery","handlebars","source-map"],function(e,t,n){var a=e("jquery"),i=e("handlebars"),o=a(".search-content"),s=a("#help-dialog-widget"),r=a("#help-dialog-bg"),d=a(document).width(),l=a(window).height(),c='<div class="dialog-titlebar"><span class="dialog-close-btn"></span></div><div class="dialog-content"><p class="ask">问:<br>{{ask}}</p><p class="answer">答:<br>{{answer}}</p></div>',u=i.compile(c);o.on("click",".faqs",function(){var e=a(this).data(),t=a(document).scrollTop();s.html(u(e)).removeClass("hide"),r.removeClass("hide"),s.html(u(e)).css({top:t+(l-s.outerHeight())/2,left:(d-s.outerWidth())/2})}),s.on("click",".dialog-close-btn",function(){s.addClass("hide"),r.addClass("hide")})}),define("js/order/ensure",["jquery","handlebars","source-map"],function(e,t,n){function a(e,t,n,a){var i=1,o=1,s=0,r=!1;e.click(function(){r||("0px"===n.css("left")?s=0:(s+=o*a,r=!0),n.stop().animate({left:s},300,function(){r=!1}))}),t.click(function(){var e=n.parent().width()-n.width()+"px";r||(n.css("left")===e?n.css("left",e):(s+=-i*a,r=!0),n.stop().animate({left:s},300,function(){r=!1}))})}var i=e("jquery"),o=e("js/order/address"),s=e("js/common/dialog"),r=function(e,t){var n=0,a=e.toString(),i=t.toString();try{n+=a.split(".")[1].length}catch(o){}try{n+=i.split(".")[1].length}catch(o){}return Number(a.replace(".",""))*Number(i.replace(".",""))/Math.pow(10,n)},d={Data:{product:0,activity:0,carriage:0,juan:0,yohocoin:0},UI:{e:{$pan:i(".pan"),$jc:i("#juancode"),$bp:i("#biprice"),$statistics:i("li",".play-total"),$tobi:i("p em",".play-bi-pan .play-pan"),$cancel:i(".cancel",".btn-group"),$total:i("em",".to-play"),$tbody:i("table tbody",".pay-wapper"),$orderSelectionSave:i(".address-list h2 span"),$addAddress:i(".add-address"),$addressManage:i(".address-manage"),$spanPayTypeLegend:i("span.pay-type-legend"),$supportType:i(".support-type"),$existAddressListWrap:i(".exist-address-list"),$existAddressList:i(".exist-address-list").find("li"),$existAddress:i(".exist-address-list").find('input[name="exist-address"]'),$payTimeModify:i(".pay-time-modify"),$switchPayModify:i(".switch-pay-modify"),$modityPayInfo:i(".modity-pay-info"),$payTotal:i(".play-total"),$toPay:i(".to-play em"),$redEnvelopes:i(".red-envelopes"),$useEnvelopes:i(".use-envelopes"),$hasEnvelopes:i(".has-envelopes span"),$useEnvelopesInput:i(".use-envelopes").find("input"),$expressFee:i(".express-fee")},init:function(){var e=this.e,t=d.Data,n=d.Common;e.$tbody.find("tr").each(function(a){var o=i(this).find("td"),s=e.$tbody.find("tr").length,r=parseFloat(o.eq(1).html())*parseInt(o.eq(3).html());o.eq(1).html("¥"+o.eq(1).html()),o.hasClass("xforone")?(o.eq(4).find("del").html("¥"+n.strFixed(r)),r=0):o.eq(4).html("¥"+n.strFixed(r)),t.product+=r,a?o.last().remove():o.last().attr("rowspan",s),a===s-1&&e.$tbody.find("tr").eq(0).find("td").last().html("<strong>¥"+n.strFixed(t.product)+"</strong>")}),e.$pan.find("dt").click(function(){var e=i(this).parent("dl.pan");e.find("dd").is(":hidden")?(n.winShow(e),i(this).addClass("active")):(n.winHide(e),i(this).removeClass("active"))}),e.$orderSelectionSave.click(function(){var t=0,n=i(".exist-address-list li"),a=n.length,o=0;if(i(this).attr("expand")){for(t=0;a>t;t++)n.eq(t).hasClass("address_select")&&o++,n.eq(t).hasClass("address_select")||n.eq(t).addClass("hide");0===o&&(i('.exist-address-list li:not(".use-new-address")').removeClass("hide"),i(".use-new-address input").removeAttr("checked")),i(".address-list-inner li.address_select input").attr("checked","checked"),i(".address-list-inner li").removeClass("active"),i(".address-list-inner li.address_select").addClass("active"),i(this).removeAttr("expand").text("[修改]"),i(".save-btn").addClass("hide"),e.$existAddressListWrap.removeClass("address-expand"),e.$addressManage.addClass("hide")}else i(this).attr("expand","expand").text("[不保存并关闭]"),i(".exist-address-list li").removeClass("hide"),i(".save-btn").removeClass("hide"),e.$existAddressListWrap.addClass("address-expand"),1===a&&e.$addressManage.removeClass("hide")}),e.$switchPayModify.click(function(){e.$payTimeModify.hasClass("hide")?(e.$payTimeModify.removeClass("hide"),e.$modityPayInfo.addClass("hide"),i(this).text("[不保存并关闭]")):(e.$payTimeModify.addClass("hide"),e.$modityPayInfo.removeClass("hide"),i(this).text("[修改]"),e.$payTimeModify.find('input[name="pay-type"]').filter(".checked").attr("checked","checked"),e.$payTimeModify.find('input[name="pay-time-radio"]').filter(".checked").attr("checked","checked"),e.$payTimeModify.find('input[name="call-me"]').filter(".checked").attr("checked","checked"))}),e.$spanPayTypeLegend.click(function(){i(this).toggleClass("active"),e.$supportType.toggleClass("hide")}),i(document).on("click",".exist-address-list li",function(){i(".exist-address-list li").removeClass("active"),i(this).addClass("active"),i(this).find("input").attr("checked","checked"),i(this).hasClass("use-new-address")&&(e.$addressManage.removeClass("hide"),i(".address-manage input").val(""),i(".save-btn").removeAttr("data-id"),o.newAddress(0,"000000"))})},render:function(e,t){var n,a,o,s=this.e,d=e.promotion_formula_list,l=e.package_list,c="",u="";for(a=t?t:"",n=0;n<d.length;n++)"优惠券:"===d[n].promotion&&(d[n].promotion=(a?a:"优惠券")+'<span class="juan-modify">[修改]</span>:'),"YOHO币:"===d[n].promotion&&(d[n].promotion='YOHO币<span class="bi-modify">[修改]</span>:'),u=d[n].isExpress?"total-express-w":"",c+='<li class="'+u+'"><label>'+d[n].promotion+"</label><em>"+d[n].promotion_amount+"</em></li>";s.$payTotal.html(c),s.$toPay.html(e.last_order_amount.toFixed(2)),i("#biprice").val(r(100,e.use_yoho_coin)),0===~~e.use_yoho_coin?i(".errbitip").text(""):i(".errbitip").text("抵扣"+e.use_yoho_coin.toFixed(2)+"元"),o=s.$useEnvelopesInput.data("all")-e.use_red_envelopes,~~e.use_red_envelopes>0?(s.$useEnvelopes.find("span").html("-¥"+e.use_red_envelopes.toFixed(2)),s.$useEnvelopes.find("input").attr("data-use",e.use_red_envelopes)):(s.$useEnvelopes.find("span").html("-¥0.00"),s.$hasEnvelopes.html("¥"+(1*s.$useEnvelopesInput.attr("data-all")).toFixed(2)),s.$redEnvelopes.removeClass("active"),s.$useEnvelopesInput.prop("checked",!1)),s.$hasEnvelopes.html("¥"+o.toFixed(2)),l&&s.$expressFee.each(function(e,t){var n=l[e].shopping_orig_cost,a=l[e].shopping_cut_cost,o=l[e].shopping_cost,s=0===parseInt(n)?"运费:¥0.00元":"运费:¥"+o+"元(原价"+n+"元,优惠"+a+")元";i(t).text(s)})}},Common:{enterNUM:function(e,t){return e=e.replace(/[^\d]/g,""),e&&t&&(e=parseInt(e),t=parseInt(t),e>t&&(e=t)),e},calucate:function(){var e=d.Data;return i.each(d.Data,function(t,n){e[t]=parseFloat(d.Data[t])}),e.product-e.activity+e.carriage-e.juan-e.yohocoin},winShow:function(e){e.find("dt").show(),e.find("dd").show(),e.attr("class").match(/(-bi-)|(-juan-)/g)&&e.find("dt").hide()},winHide:function(e){e.find("dt").show(),e.find("dd").hide()},strFixed:function(e){return parseFloat(e).toFixed(2)}},Bll:{e:{$juanok:i("#juansubmit"),$juantip:i(".errtip",".play-juan-pan"),$biok:i("#bisubmit"),$carriageGroup:i('input[name="carriagegroup"]'),$selectExpress:i(".express-list input"),$bp:i("#biprice"),$errorTip:i(".errbitip"),$useEnvelopes:i(".use-envelopes"),$hasEnvelopes:i(".has-envelopes span"),$useEnvelopesInput:i(".use-envelopes").find("input"),$redEnvelopes:i(".red-envelopes"),$loading:i(".loading")},init:function(){function e(e){var t,n=i('.play-juan.is-select input[name="juangroup"]:checked'),a=i('.express-list input[name="carriagegroup"]:checked').val(),o=i("#biprice.is-select").val(),s=n.val(),r=i(".address-manage").attr("cart-type"),d=i(".use-envelopes input:checked").attr("data-use");s=s?s:n.closest("li").find("#juancode").val(),t={cartType:r,deliveryWay:a,couponCode:s,yohoCoin:o},d&&(t.redEnvelopes=d),e(t)}function t(e,t){var n=e;n.keyup(function(){n.val().length>t&&n.val(n.val().substr(0,t))})}var n,a,o=this.e,r=d.UI,l=d.Common;o.$selectExpress.click(function(){var t=i(this).val();o.$loading.show(),e(function(e){e.deliveryWay=t,n={type:"POST",url:"/cart/index/orderCompute",data:e,success:function(e){o.$loading.hide(),200===e.code?(r.render(e.data),"1"===t?i(".express-list.sf").addClass("hide"):"2"===t&&i(".express-list.sf").removeClass("hide")):new s.Alert(e.message).show()}},i.ajax(n)})}),o.$juanok.click(function(){var t=i(this).parents("dl.pan"),a="";i(".play-juan").addClass("is-select"),e(function(e){var s=e.couponCode;s?(o.$loading.show(),n={type:"POST",url:"/cart/index/orderCompute",data:e,success:function(e){o.$loading.hide(),200===e.code?(a=i('.play-juan input[value="'+s+'"]').next().text(),r.render(e.data,a),l.winHide(t),o.$juantip.html("")):(o.$juantip.html(e.message),i(".play-juan").removeClass("is-select"))}},i.ajax(n)):(o.$juantip.html("请选择或填写一个优惠券"),i(".play-juan").removeClass("is-select"))})}),i(document).on("click",".juan-modify",function(){var e=i(".play-juan-pan");l.winShow(e)}),o.$biok.click(function(){var t,a=i(this).parents("dl.pan");i("#biprice").addClass("is-select"),e(function(e){e.couponCode&&(t=i('.play-juan input[value="'+e.couponCode+'"]').next().text()),/^\d+$/.test(e.yohoCoin+"")&&1*e.yohoCoin!==0?1*e.yohoCoin>1*i(".play-pan em").text()?(i(".errbitip").html("您的YOHO币不足"),i("#biprice").removeClass("is-select")):(o.$loading.show(),n={type:"POST",url:"/cart/index/orderCompute",data:e,success:function(e){o.$loading.hide(),200===e.code?(r.render(e.data,t),l.winHide(a)):(i(".errbitip").html(e.message),i("#biprice").removeClass("is-select"))}},i.ajax(n)):(i(".errbitip").html("请输入一个正整数"),i("#biprice").removeClass("is-select"))})}),i(document).on("click",".bi-modify",function(){var e=i(".play-bi-pan");l.winShow(e)}),o.$bp.keyup(function(){var e=i(this).val();/^\d+$/.test(e+"")?1*e>1*i(this).data("bi")?o.$errorTip.html("您的YOHO币不足"):o.$errorTip.html("抵扣"+(e/100).toFixed(2)+"元"):o.$errorTip.html("请输入一个正整数")}),i(".cancel-bi").click(function(){var t,a=i(".play-bi-pan");i(".errbitip").html(""),i("#biprice").hasClass("is-select")?(o.$loading.show(),e(function(e){e.yohoCoin=0,e.couponCode&&(t=i('.play-juan input[value="'+e.couponCode+'"]').next().text()),n={type:"POST",url:"/cart/index/orderCompute",data:e,success:function(e){o.$loading.hide(),200===e.code?(r.render(e.data,t),l.winHide(a),i("#biprice").val("0"),i("#biprice").removeClass("is-select"),i(".errbitip").html("")):i(".errbitip").html(e.message)}},i.ajax(n)})):(l.winHide(a),i("#biprice").val("0"))}),i(".cancel-code").click(function(){var t=i(".play-juan-pan");i(".play-juan").hasClass("is-select")?(o.$loading.show(),e(function(e){e.couponCode="",n={type:"POST",url:"/cart/index/orderCompute",data:e,success:function(e){o.$loading.hide(),200===e.code?(r.render(e.data),l.winHide(t),i(".play-juan").removeClass("is-select"),i("#juancode").val("").siblings('input[name="juangroup"]').attr("checked","checked")):o.$juantip.html(e.message)}},i.ajax(n)})):l.winHide(t)}),a=o.$useEnvelopesInput.data("all")-o.$useEnvelopesInput.data("use"),o.$hasEnvelopes.text("¥"+a.toFixed(2)),o.$useEnvelopes.find("input").click(function(){var t,a=i(this);o.$loading.show(),a.attr("disabled","disabled"),e(function(e){a.attr("checked")?e.redEnvelopes=a.data("use"):e.redEnvelopes=0,t=i('.play-juan input[value="'+e.couponCode+'"]').next().text(),n={type:"POST",url:"/cart/index/orderCompute",data:e,success:function(e){o.$loading.hide(),200===e.code?(r.render(e.data,t),a.removeAttr("disabled"),a.attr("checked")?o.$redEnvelopes.addClass("active"):(o.$useEnvelopes.find("span").html("-¥0.00"),o.$hasEnvelopes.html("¥"+(1*a.attr("data-all")).toFixed(2)),o.$redEnvelopes.removeClass("active"))):new s.Alert(e.message).show()}},i.ajax(n)})}),t(i("#piaodesc"),30),t(i("#notedesc"),100)}}};d.Data.activity=0,d.Data.carriage=0,d.UI.init(),d.Bll.init(),o.getUserAddressList(),o.newAddress(0,"000000"),o.modifyAddress(),o.saveAddress(),i(".why").click(function(){return i("#differentBag").show(),!1}),i("#differentBag").click(function(){return!1}),i(document).click(function(){i("#differentBag").hide()}),i(".bag").find("ul").each(function(){var e=i(this).parent().parent().find(".pre"),t=i(this).parent().parent().find(".next"),n=i(this).find("li").eq(0).width(),o=i(this).find("li").size(),s=n*o;i(this).css("width",s),o>5?(e.show(),t.show(),a(e,t,i(this),n)):(e.hide(),t.hide())})}),define("js/order/address",["jquery","handlebars","source-map"],function(e,t,n){function a(e,t,n){var a,i,o="",s="";for(a=0;a<t.length;a++)s="Y"===t[a].is_support_express?"*":"",o+=t[a].id===n?'<option selected value="'+t[a].id+'">'+s+t[a].caption+"</option>":'<option value="'+t[a].id+'">'+s+t[a].caption+"</option>";"province"===e.attr("name")?i='<option value="0">请选择省份</option>':"city"===e.attr("name")?i='<option value="0">请选择城市</option>':"county"===e.attr("name")&&(i='<option value="0">请选择区县</option>'),e.html(i+o)}function i(e,t){var n,i=e.selectId;"getProvince"===e.type?n=f:"getCity"===e.type?n=m:"getCounty"===e.type&&(n=g),c.ajax({type:"GET",url:"/cart/index/getAreaList",dataType:"json",data:{id:1*e.id}}).then(function(e){a(n,e.data,i),"function"==typeof t&&t()})}function o(e){return e.replace(/^(\d{3}).*(\d{4})$/,"$1****$2")}function s(e){b.val(e.attr("data-name")),b.attr("data-id",e.attr("data-id")),_.val(e.attr("data-addressDesc")),w.val(e.attr("data-mobile")),C.val(e.attr("data-email")),x.val(e.attr("data-zipcode")),j.val(e.attr("data-phoneCode")),S.val(e.attr("data-phoneNum"))}function r(){T.removeClass("active"),q.find('li:not(".active")').addClass("hide"),q.find("li.active").addClass("address_select"),p.addClass("hide"),k.addClass("hide").removeAttr("data-id"),q.removeClass("address-expand"),c(".address-list h2 span").text("[修改]")}function d(){var e,t,n,a=c(".play-juan ul"),i="";c.ajax({type:"GET",dataType:"json",url:"/cart/index/getCouponList"}).then(function(o){if(200===o.code){for(t=o.data,e=t.length,n=0;e>n;n++)i+='<li><input name="juangroup" type="radio" value="'+t[n].code+'" '+(t[n].valid?"":'disabled="disabled"')+"><label>"+t[n].desc+"</label></li>";a.prepend(c(i))}})}function l(e){return"N"!==e}var c=e("jquery"),u=e("js/common/dialog"),h=!1,p=c(".address-manage"),f=p.find('.text-input[name="province"]'),m=p.find('.text-input[name="city"]'),g=p.find('.text-input[name="county"]'),v=p.find('.text-input[name="province"], .text-input[name="city"]'),y=c(".address-list"),b=p.find('.text-input[name="name"]'),w=p.find('.text-input[name="phone"]'),C=p.find('.text-input[name="mail"]'),_=p.find('.text-input[name="address"]'),x=p.find('.text-input[name="code"]'),k=c(".save-btn"),j=p.find('.text-input[name="tel-code"]'),S=p.find('.text-input[name="tel"]'),T=c(".use-new-address"),q=c(".exist-address-list"),I=c(".loading"),E=c("#order-edit-main"),A=p.attr("cart-type");I.show(),t.getUserAddressList=function(){var e,t,n="",a="",i="",o="",s=0;c.ajax({type:"GET",url:"/cart/index/getAddress",dataType:"json"}).then(function(r){if(I.hide(),200===r.code){if(e=r.data.list,!e)return E.attr("data-new")&&(k.addClass("new-user-btn").html("下一步:选择支付及送货时间"),c(".pay-btn").addClass("new-user-pay").html("下一步:发票和备注"),c(".switch-pay-modify").html("")),y.find(">h2").find("span").click(),c(".exist-address-list li").click(),void c(".use-new-address").removeClass("active");for(t=0;t<e.length;t++)e[t].checked?(a="checked",i="active address_select",s++,o="默认地址"):(a="",i="hide",o="设为默认地址"),n+='<li data-id="'+e[t].id+'" class="'+i+'" data-express="'+e[t].isSupport+'"><input data-name="'+e[t].user+'" data-areaCode="'+e[t].areaCode+'" data-addressDesc="'+e[t].addressDesc+'" data-mobile="'+e[t].mobile+'" data-phoneNum="'+e[t].phoneNum+'" data-phoneCode="'+e[t].phoneCode+'" data-zipCode="'+e[t].zipCode+'" data-email="'+e[t].email+'" class="radio" type="radio" name="address" '+a+' /><label for=""><strong>'+e[t].user+"</strong>"+e[t].address+'<a href="javascript:void(0);" class="default-address">'+o+'</a><div class="order-modify-btn"><span class="address-modify">[修改]</span><span class="address-del">[删除]</span></div></label></li>';c(".use-new-address").before(c(n)),0===s&&c(".address-list h2 span").click(),"N"===c(".active.address_select").attr("data-express")?(c('.express-list input[name="carriagegroup"][value="2"]').attr("disabled","disabled"),c('.express-list input[name="carriagegroup"][value="1"]').attr("checked","checked"),c(".express-list.sf").addClass("hide"),c(".is-sup").removeClass("hide")):(c('.express-list input[name="carriagegroup"][value="2"]').removeAttr("disabled"),c(".express-list.sf").removeClass("hide"),c(".is-sup").addClass("hide"))}})},t.newAddress=function(e,t){var n=e||0,a=/[0-9]{2}/gi,o=!!t&&t.match(a);i({id:n,type:"getProvince",selectId:o[0]},function(){var e=f.val();"0"!==e?i({id:e,type:"getCity",selectId:""+o[0]+o[1]},function(){var e=m.val();"0"!==e&&i({id:e,type:"getCounty",selectId:t})}):(p.find('select[name="city"]').html('<option value="0">请选择城市</option>'),p.find('select[name="county"]').html('<option value="0">请选择区县</option>'))}),v.change(function(){var e=c(this);"province"===e.attr("name")&&("0"===e.val()?(p.find('select[name="city"]').html('<option value="0">请选择城市</option>'),p.find('select[name="county"]').html('<option value="0">请选择区县</option>')):(i({id:e.val(),type:"getCity"},function(){h=!0}),p.find('select[name="county"]').html('<option value="0">请选择区县</option>'))),"city"===e.attr("name")&&h&&("0"===e.val()?p.find('select[name="county"]').html('<option value="0">请选择区县</option>'):i({id:e.val(),type:"getCounty"}))})},t.modifyAddress=function(){y.click(function(e){var n=c(e.target),a=n.closest("li").attr("data-id"),i=n.closest("li").find(".radio").attr("data-areaCode");n.hasClass("address-modify")?(p.removeClass("hide"),t.newAddress(0,i),s(n.closest("li").find(".radio")),c(".address-list-inner .save-btn").removeClass("hide"),k.attr("data-id",a),h=!0):n.hasClass("address-del")?(I.show(),c.ajax({type:"POST",url:"/cart/index/delAddress",data:{id:a}}).then(function(e){I.hide(),200===e.code?n.closest("li").remove():new u.Alert(e.message).show()}).fail(function(){})):n.hasClass("default-address")&&!n.parents("li").hasClass("address_select")&&(I.show(),c.ajax({type:"post",url:"/cart/index/setDefaultAddress",data:{id:a}}).then(function(e){I.hide(),200===e.code?(c(".exist-address-list li").removeClass("address_select").find(".default-address").text("设为默认地址"),n.parents("li").addClass("address_select"),n.text("默认地址")):new u.Alert(e.message).show()}))})},t.saveAddress=function(){k.click(function(){function e(e){return e===y?e?e+"-":" ":e?e+" ":" "}var t,n,a,i=c(this),s=b.val(),d=f.val(),l=m.val(),h=g.val(),p=_.val(),v=w.val(),y=j.val(),T=S.val(),q=C.val(),I=x.val(),E=f.find('option[value="'+d+'"]').text().replace(/\*/,""),A=m.find('option[value="'+l+'"]').text().replace(/\*/,""),F=g.find('option[value="'+h+'"]').text().replace(/\*/,""),U={consignee:s,areaCode:h,address:p,email:q,mobile:v,zipCode:I,phoneCode:y,phoneNum:T},D=/^[\u4e00-\u9fa5]{2,5}$/,P=/^[\s\S]{2,100}$/,O=/^(13[0-9]|15[012356789]|17[678]|18[0-9]|14[57])[0-9]{8}$/,L=/^[0-9]{6}$/,N=/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/,$=/^[0-9]{3,5}$/,z=/^[0-9]{5,10}$/;if(a=c('.exist-address-list li:not(".use-new-address")').find('input[name="address"]:checked').length>0,c(".add-address").attr("checked")||!a||c(".save-btn").attr("data-id")||(c(".exist-address-list li").removeClass("address_select"),c(".exist-address-list li.active").addClass("address_select").find('input[name="address"]').attr("checked","checked"),c(".address-list span").removeAttr("expand"),r()),!c(".address-manage").hasClass("hide")){if(!D.test(s))return void new u.Alert("真实姓名至少2个中文,最多5个中文").show();if(!P.test(p))return void new u.Alert("你输入的地址格式不正确").show();if(!O.test(v))return void new u.Alert("你输入的联系电话格式不正确").show();if(y&&!$.test(y)||T&&!z.test(T)||$.test(y)&&!z.test(T)||!$.test(y)&&z.test(T))return void new u.Alert("你输入的电话格式不正确").show();if(q&&!N.test(q))return void new u.Alert("你输入的邮箱格式不正确").show();if(I&&!L.test(I))return void new u.Alert("你输入的邮编格式不正确").show();k.attr("data-id")&&(U.id=k.attr("data-id")),c.ajax({type:"post",url:"/cart/index/saveAddress",data:U}).then(function(a){var d;200===a.code?(d=a.data,"Y"===d.is_support?(c('.express-list input[name="carriagegroup"][value="2"]').removeAttr("disabled"),c(".express-list.sf").removeClass("hide"),c(".is-sup").addClass("hide")):(c('.express-list input[name="carriagegroup"][value="2"]').attr("disabled","disabled"),c('.express-list input[name="carriagegroup"][value="1"]').attr("checked","checked"),c(".express-list.sf").addClass("hide"),c(".is-sup").removeClass("hide")),t=U.id?'<li class="active" data-id="'+U.id+'" data-express="'+d.is_support+'"><input data-name="'+U.consignee+'" data-areaCode="'+U.areaCode+'" data-addressDesc="'+U.address+'" data-mobile="'+U.mobile+'" data-phoneNum="'+U.phoneNum+'" data-phoneCode="'+U.phoneCode+'" data-zipCode="'+U.zipCode+'" data-email="'+U.email+'" checked="checked" class="radio" type="radio" name="address" /><label><strong>'+s+"</strong><span>"+E+" "+A+" "+F+" "+p+" "+e(I)+o(v)+e(y)+e(T)+'</span><a href="javascript:void(0);" class="default-address">设为默认地址</a><div class="order-modify-btn"><span class="address-modify">[修改]</span><span class="address-del">[删除]</span></div></label></li>':'<li class="active" data-id="'+d.id+'" data-express="'+d.is_support+'"><input data-name="'+d.consignee+'" data-areaCode="'+d.area_code+'" data-addressDesc="'+d.address+'" data-mobile="'+d.mobile+'" data-phoneNum="'+U.phoneNum+'" data-phoneCode="'+U.phoneCode+'" data-zipCode="'+d.zip_code+'" data-email="'+d.email+'" checked="checked" class="radio" type="radio" name="address" /><label><strong>'+s+"</strong><span>"+E+" "+A+" "+F+" "+p+" "+e(I)+o(v)+e(y)+e(T)+'</span><a href="javascript:void(0);" class="default-address">设为默认地址</a><div class="order-modify-btn"><span class="address-modify">[修改]</span><span class="address-del">[删除]</span></div></label></li>',i.attr("data-id")?(n=c('.exist-address-list li[data-id="'+i.attr("data-id")+'"]'),n.after(c(t)).remove()):c(".use-new-address").before(c(t)),c(".address-list span").removeAttr("expand"),r()):new u.Alert(a.message).show()})}return 0===c(".exist-address-list li").find('input[name="address"]:checked').length?void new u.Alert("请选择一个地址").show():("N"===c(".exist-address-list li").find('input[name="address"]:checked').closest("li").attr("data-express")?(c('.express-list input[name="carriagegroup"][value="2"]').attr("disabled","disabled"),c('.express-list input[name="carriagegroup"][value="1"]').attr("checked","checked"),c(".express-list.sf").addClass("hide"),c(".is-sup").removeClass("hide")):(c('.express-list input[name="carriagegroup"][value="2"]').removeAttr("disabled"),c(".express-list.sf").removeClass("hide"),c(".is-sup").addClass("hide")),void(i.hasClass("new-user-btn")&&c(".switch-pay-modify").click()))})},c(".pay-time-modify .pay-btn").click(function(){var e=c(this),t=c(".modity-pay-info"),n=c(".pay-time-modify"),a=n.find('input[name="pay-type"]:checked').val(),i=n.find('input[name="pay-type"]:checked').next("label").text(),o=n.find('input[name="pay-time-radio"]:checked').next("label").text(),s=n.find('input[name="pay-time-radio"]:checked').val(),r=n.find('input[name="call-me"]:checked').next("label").text(),d=n.find('input[name="call-me"]:checked').val();I.show(),c.ajax({type:"POST",url:"/cart/index/orderCompute",dataType:"json",data:{cartType:A,paymentType:a}}).then(function(n){I.hide(),200===n.code?(t.find("li").eq(0).find("span").text(i),t.find("li").eq(1).find("span").text(o),t.find("li").eq(2).find("span").text(r),c(".pay-time-modify").addClass("hide").find('input[name="pay-type"][value='+a+"]").addClass("checked").end().find('input[name="pay-time-radio"][value='+s+"]").addClass("checked").end().find('input[name="call-me"][value='+d+"]").addClass("checked"),c(".modity-pay-info").removeClass("hide"),c(".switch-pay-modify").text("[修改]"),e.hasClass("new-user-pay")&&(c(".play-piao-pan dd").css({display:"block"}),c(".play-piao-pan dt").addClass("active"))):new u.Alert(n.message).show()})}),d(),c(".to-play input.submit").click(function(){var e=c(this),t=c('.exist-address-list input[name="address"]:checked').closest("li").attr("data-id"),n=c('.pay-time-modify input[name="pay-time-radio"]:checked').val(),a=c('.select-express input[name="carriagegroup"]:checked').val(),i=c("#piaodesc").val(),o=c("#piaotype").val(),s=c('.pay-time-modify input[name="pay-type"]:checked').val(),r=c('.pay-time-modify input[name="pay-type"]:checked').data("pay"),d=c("#notedesc").val(),h=c("#biprice").val(),p=c('.pay-time-modify input[name="call-me"]:checked').val(),f=c('.play-pan input[name="isPP"]:checked').val(),m=c(".use-envelopes input:checked").attr("data-use"),g=c('.play-juan.is-select input[name="juangroup"]:checked'),v=g.val(),y=v?v:g.closest("li").find("#juancode").val();I.show(),e.attr("disabled")||(e.attr("disabled","disabled"),c.ajax({type:"POST",dataType:"json",url:"/cart/index/orderSub",data:{addressId:t,cartType:A,deliveryTimeId:n,deliveryWayId:a,invoiceTitle:i,invoiceId:o,paymentId:r,paymentType:s,remark:d,couponCode:y,yohoCoin:h,isPreContact:l(p),isPrintPrice:l(f),redEnvelopes:m}}).then(function(e){I.hide(),200===e.code?window.location.href=e.data.payUrl:new u.Alert(e.message).show()}).always(function(){e.removeAttr("disabled")}))})}),define("js/shopping/pay",["jquery"],function(e,t,n){function a(){v?u('.mode div[id="'+v+'"]').addClass("choosed-tag").parent().addClass("choose-type"):(p.eq(0).addClass("choose-type").show(),p.eq(0).find("div").addClass("choosed-tag")),m.attr("value","前往"+u("#"+y).attr("alt")),f.attr("src",u("#"+y).attr("src"))}function i(e,t){u.ajax({type:"get",url:"/common/addpaymentinterval",dataType:"json",data:{orderCode:t,payment:e}})}var o,s,r,d,l,c,u=e("jquery"),h=u(".mode div"),p=u(".mode"),f=u("#show-pay-img"),m=u("#btnby"),g=u(".light-box"),v=u("#choosePay").val(),y=u('.mode div[id="'+v+'"]').parent().data("value"),b=v?y:u(".mode").eq(0).data("value"),w=u("#payUrl").val();u.jqtab=function(e,t){u(e+" li").click(function(){return s=u(this).find("a").attr("tab"),u(e+" li").removeClass("thistab"),u(this).addClass("thistab"),u(t).hide(),u("#"+s).fadeIn(),!1})},u.jqtab("#tabs",".tab-con"),a(),p.click(function(){return o=u(this).data(),b=o.value,r=u("#"+b).attr("alt"),d=u("#"+b).attr("src"),p.removeClass("choose-type"),u(this).addClass("choose-type"),h.removeClass("choosed-tag"),u(this).find(".borer-tag").addClass("choosed-tag"),m.attr("value","前往"+r),f.attr("src",d),!1}),u(".close").click(function(){g.hide()}),u(".change").click(function(){g.hide()}),u("#btnby").click(function(){c=u(".choose-type").attr("data-id"),l=u(".order-num").text(),i(c,l),window.open(w+"?order_code="+l+"&payment_type="+b),g.show()}),u(".pay-over").unbind("click").bind("click",function(){var e=this;u.post("/shopping/pay/sendPay",{orderCode:l,paymentId:c},function(){window.location.href=u(e).data("url")})})}),define("js/pay/wechatqrcode",["jquery"],function(e,t,n){function a(){i.ajax({url:s,dataType:"jsonp",success:function(e){"success"===e.message&&(window.location.href=r)}})}var i=e("jquery"),o=i(".w-odetail"),s=i("#payHost").val(),r=i("#paySuccessUrl").val(),d=i(".w-p-erm");e("plugin/jquery.qrcode"),o.click(function(){i(".w-addrinfo").slideToggle("slow"),o.find("i").hasClass("up")?o.html('收起详情<i class="down"></i>'):o.html('订单详情<i class="up"></i>')}),d.qrcode({render:"table",text:d.data("url")}),setInterval(a,3e3)}),define("plugin/jquery.qrcode",["jquery"],function(e,t,n){var a=e("jquery");!function(e){e.fn.qrcode=function(t){function n(e){this.mode=d,this.data=e}function i(e,t){this.typeNumber=e,this.errorCorrectLevel=t,this.modules=null,this.moduleCount=0,this.dataCache=null,this.dataList=[]}function o(e,t){if(void 0==e.length)throw Error(e.length+"/"+t);for(var n=0;n<e.length&&0==e[n];)n++;this.num=Array(e.length-n+t);for(var a=0;a<e.length-n;a++)this.num[a]=e[a+n]}function s(e,t){this.totalCount=e,this.dataCount=t}function r(){this.buffer=[],this.length=0}var d;n.prototype={getLength:function(){return this.data.length},write:function(e){for(var t=0;t<this.data.length;t++)e.put(this.data.charCodeAt(t),8)}},i.prototype={addData:function(e){this.dataList.push(new n(e)),this.dataCache=null},isDark:function(e,t){if(0>e||this.moduleCount<=e||0>t||this.moduleCount<=t)throw Error(e+","+t);return this.modules[e][t]},getModuleCount:function(){return this.moduleCount},make:function(){if(1>this.typeNumber){for(var e=1,e=1;40>e;e++){for(var t=s.getRSBlocks(e,this.errorCorrectLevel),n=new r,a=0,i=0;i<t.length;i++)a+=t[i].dataCount;for(i=0;i<this.dataList.length;i++)t=this.dataList[i],n.put(t.mode,4),n.put(t.getLength(),l.getLengthInBits(t.mode,e)),t.write(n);if(n.getLengthInBits()<=8*a)break}this.typeNumber=e}this.makeImpl(!1,this.getBestMaskPattern())},makeImpl:function(e,t){this.moduleCount=4*this.typeNumber+17,this.modules=Array(this.moduleCount);for(var n=0;n<this.moduleCount;n++){this.modules[n]=Array(this.moduleCount);for(var a=0;a<this.moduleCount;a++)this.modules[n][a]=null}this.setupPositionProbePattern(0,0),this.setupPositionProbePattern(this.moduleCount-7,0),this.setupPositionProbePattern(0,this.moduleCount-7),this.setupPositionAdjustPattern(),this.setupTimingPattern(),this.setupTypeInfo(e,t),7<=this.typeNumber&&this.setupTypeNumber(e),null==this.dataCache&&(this.dataCache=i.createData(this.typeNumber,this.errorCorrectLevel,this.dataList)),this.mapData(this.dataCache,t)},setupPositionProbePattern:function(e,t){for(var n=-1;7>=n;n++)if(!(-1>=e+n||this.moduleCount<=e+n))for(var a=-1;7>=a;a++)-1>=t+a||this.moduleCount<=t+a||(this.modules[e+n][t+a]=n>=0&&6>=n&&(0==a||6==a)||a>=0&&6>=a&&(0==n||6==n)||n>=2&&4>=n&&a>=2&&4>=a)},getBestMaskPattern:function(){for(var e=0,t=0,n=0;8>n;n++){this.makeImpl(!0,n);var a=l.getLostPoint(this);(0==n||e>a)&&(e=a,t=n)}return t},createMovieClip:function(e,t,n){for(e=e.createEmptyMovieClip(t,n),this.make(),t=0;t<this.modules.length;t++)for(var n=1*t,a=0;a<this.modules[t].length;a++){
+var i=1*a;this.modules[t][a]&&(e.beginFill(0,100),e.moveTo(i,n),e.lineTo(i+1,n),e.lineTo(i+1,n+1),e.lineTo(i,n+1),e.endFill())}return e},setupTimingPattern:function(){for(var e=8;e<this.moduleCount-8;e++)null==this.modules[e][6]&&(this.modules[e][6]=0==e%2);for(e=8;e<this.moduleCount-8;e++)null==this.modules[6][e]&&(this.modules[6][e]=0==e%2)},setupPositionAdjustPattern:function(){for(var e=l.getPatternPosition(this.typeNumber),t=0;t<e.length;t++)for(var n=0;n<e.length;n++){var a=e[t],i=e[n];if(null==this.modules[a][i])for(var o=-2;2>=o;o++)for(var s=-2;2>=s;s++)this.modules[a+o][i+s]=-2==o||2==o||-2==s||2==s||0==o&&0==s}},setupTypeNumber:function(e){for(var t=l.getBCHTypeNumber(this.typeNumber),n=0;18>n;n++){var a=!e&&1==(t>>n&1);this.modules[Math.floor(n/3)][n%3+this.moduleCount-8-3]=a}for(n=0;18>n;n++)a=!e&&1==(t>>n&1),this.modules[n%3+this.moduleCount-8-3][Math.floor(n/3)]=a},setupTypeInfo:function(e,t){for(var n=l.getBCHTypeInfo(this.errorCorrectLevel<<3|t),a=0;15>a;a++){var i=!e&&1==(n>>a&1);6>a?this.modules[a][8]=i:8>a?this.modules[a+1][8]=i:this.modules[this.moduleCount-15+a][8]=i}for(a=0;15>a;a++)i=!e&&1==(n>>a&1),8>a?this.modules[8][this.moduleCount-a-1]=i:9>a?this.modules[8][15-a-1+1]=i:this.modules[8][15-a-1]=i;this.modules[this.moduleCount-8][8]=!e},mapData:function(e,t){for(var n=-1,a=this.moduleCount-1,i=7,o=0,s=this.moduleCount-1;s>0;s-=2)for(6==s&&s--;;){for(var r=0;2>r;r++)if(null==this.modules[a][s-r]){var d=!1;o<e.length&&(d=1==(e[o]>>>i&1)),l.getMask(t,a,s-r)&&(d=!d),this.modules[a][s-r]=d,i--,-1==i&&(o++,i=7)}if(a+=n,0>a||this.moduleCount<=a){a-=n,n=-n;break}}}},i.PAD0=236,i.PAD1=17,i.createData=function(e,t,n){for(var t=s.getRSBlocks(e,t),a=new r,o=0;o<n.length;o++){var d=n[o];a.put(d.mode,4),a.put(d.getLength(),l.getLengthInBits(d.mode,e)),d.write(a)}for(o=e=0;o<t.length;o++)e+=t[o].dataCount;if(a.getLengthInBits()>8*e)throw Error("code length overflow. ("+a.getLengthInBits()+">"+8*e+")");for(a.getLengthInBits()+4<=8*e&&a.put(0,4);0!=a.getLengthInBits()%8;)a.putBit(!1);for(;!(a.getLengthInBits()>=8*e)&&(a.put(i.PAD0,8),!(a.getLengthInBits()>=8*e));)a.put(i.PAD1,8);return i.createBytes(a,t)},i.createBytes=function(e,t){for(var n=0,a=0,i=0,s=Array(t.length),r=Array(t.length),d=0;d<t.length;d++){var c=t[d].dataCount,u=t[d].totalCount-c,a=Math.max(a,c),i=Math.max(i,u);s[d]=Array(c);for(var h=0;h<s[d].length;h++)s[d][h]=255&e.buffer[h+n];for(n+=c,h=l.getErrorCorrectPolynomial(u),c=new o(s[d],h.getLength()-1).mod(h),r[d]=Array(h.getLength()-1),h=0;h<r[d].length;h++)u=h+c.getLength()-r[d].length,r[d][h]=u>=0?c.get(u):0}for(h=d=0;h<t.length;h++)d+=t[h].totalCount;for(n=Array(d),h=c=0;a>h;h++)for(d=0;d<t.length;d++)h<s[d].length&&(n[c++]=s[d][h]);for(h=0;i>h;h++)for(d=0;d<t.length;d++)h<r[d].length&&(n[c++]=r[d][h]);return n},d=4;for(var l={PATTERN_POSITION_TABLE:[[],[6,18],[6,22],[6,26],[6,30],[6,34],[6,22,38],[6,24,42],[6,26,46],[6,28,50],[6,30,54],[6,32,58],[6,34,62],[6,26,46,66],[6,26,48,70],[6,26,50,74],[6,30,54,78],[6,30,56,82],[6,30,58,86],[6,34,62,90],[6,28,50,72,94],[6,26,50,74,98],[6,30,54,78,102],[6,28,54,80,106],[6,32,58,84,110],[6,30,58,86,114],[6,34,62,90,118],[6,26,50,74,98,122],[6,30,54,78,102,126],[6,26,52,78,104,130],[6,30,56,82,108,134],[6,34,60,86,112,138],[6,30,58,86,114,142],[6,34,62,90,118,146],[6,30,54,78,102,126,150],[6,24,50,76,102,128,154],[6,28,54,80,106,132,158],[6,32,58,84,110,136,162],[6,26,54,82,110,138,166],[6,30,58,86,114,142,170]],G15:1335,G18:7973,G15_MASK:21522,getBCHTypeInfo:function(e){for(var t=e<<10;0<=l.getBCHDigit(t)-l.getBCHDigit(l.G15);)t^=l.G15<<l.getBCHDigit(t)-l.getBCHDigit(l.G15);return(e<<10|t)^l.G15_MASK},getBCHTypeNumber:function(e){for(var t=e<<12;0<=l.getBCHDigit(t)-l.getBCHDigit(l.G18);)t^=l.G18<<l.getBCHDigit(t)-l.getBCHDigit(l.G18);return e<<12|t},getBCHDigit:function(e){for(var t=0;0!=e;)t++,e>>>=1;return t},getPatternPosition:function(e){return l.PATTERN_POSITION_TABLE[e-1]},getMask:function(e,t,n){switch(e){case 0:return 0==(t+n)%2;case 1:return 0==t%2;case 2:return 0==n%3;case 3:return 0==(t+n)%3;case 4:return 0==(Math.floor(t/2)+Math.floor(n/3))%2;case 5:return 0==t*n%2+t*n%3;case 6:return 0==(t*n%2+t*n%3)%2;case 7:return 0==(t*n%3+(t+n)%2)%2;default:throw Error("bad maskPattern:"+e)}},getErrorCorrectPolynomial:function(e){for(var t=new o([1],0),n=0;e>n;n++)t=t.multiply(new o([1,c.gexp(n)],0));return t},getLengthInBits:function(e,t){if(t>=1&&10>t)switch(e){case 1:return 10;case 2:return 9;case d:return 8;case 8:return 8;default:throw Error("mode:"+e)}else if(27>t)switch(e){case 1:return 12;case 2:return 11;case d:return 16;case 8:return 10;default:throw Error("mode:"+e)}else{if(!(41>t))throw Error("type:"+t);switch(e){case 1:return 14;case 2:return 13;case d:return 16;case 8:return 12;default:throw Error("mode:"+e)}}},getLostPoint:function(e){for(var t=e.getModuleCount(),n=0,a=0;t>a;a++)for(var i=0;t>i;i++){for(var o=0,s=e.isDark(a,i),r=-1;1>=r;r++)if(!(0>a+r||a+r>=t))for(var d=-1;1>=d;d++)0>i+d||i+d>=t||0==r&&0==d||s==e.isDark(a+r,i+d)&&o++;o>5&&(n+=3+o-5)}for(a=0;t-1>a;a++)for(i=0;t-1>i;i++)o=0,e.isDark(a,i)&&o++,e.isDark(a+1,i)&&o++,e.isDark(a,i+1)&&o++,e.isDark(a+1,i+1)&&o++,(0==o||4==o)&&(n+=3);for(a=0;t>a;a++)for(i=0;t-6>i;i++)e.isDark(a,i)&&!e.isDark(a,i+1)&&e.isDark(a,i+2)&&e.isDark(a,i+3)&&e.isDark(a,i+4)&&!e.isDark(a,i+5)&&e.isDark(a,i+6)&&(n+=40);for(i=0;t>i;i++)for(a=0;t-6>a;a++)e.isDark(a,i)&&!e.isDark(a+1,i)&&e.isDark(a+2,i)&&e.isDark(a+3,i)&&e.isDark(a+4,i)&&!e.isDark(a+5,i)&&e.isDark(a+6,i)&&(n+=40);for(i=o=0;t>i;i++)for(a=0;t>a;a++)e.isDark(a,i)&&o++;return e=Math.abs(100*o/t/t-50)/5,n+10*e}},c={glog:function(e){if(1>e)throw Error("glog("+e+")");return c.LOG_TABLE[e]},gexp:function(e){for(;0>e;)e+=255;for(;e>=256;)e-=255;return c.EXP_TABLE[e]},EXP_TABLE:Array(256),LOG_TABLE:Array(256)},u=0;8>u;u++)c.EXP_TABLE[u]=1<<u;for(u=8;256>u;u++)c.EXP_TABLE[u]=c.EXP_TABLE[u-4]^c.EXP_TABLE[u-5]^c.EXP_TABLE[u-6]^c.EXP_TABLE[u-8];for(u=0;255>u;u++)c.LOG_TABLE[c.EXP_TABLE[u]]=u;return o.prototype={get:function(e){return this.num[e]},getLength:function(){return this.num.length},multiply:function(e){for(var t=Array(this.getLength()+e.getLength()-1),n=0;n<this.getLength();n++)for(var a=0;a<e.getLength();a++)t[n+a]^=c.gexp(c.glog(this.get(n))+c.glog(e.get(a)));return new o(t,0)},mod:function(e){if(0>this.getLength()-e.getLength())return this;for(var t=c.glog(this.get(0))-c.glog(e.get(0)),n=Array(this.getLength()),a=0;a<this.getLength();a++)n[a]=this.get(a);for(a=0;a<e.getLength();a++)n[a]^=c.gexp(c.glog(e.get(a))+t);return new o(n,0).mod(e)}},s.RS_BLOCK_TABLE=[[1,26,19],[1,26,16],[1,26,13],[1,26,9],[1,44,34],[1,44,28],[1,44,22],[1,44,16],[1,70,55],[1,70,44],[2,35,17],[2,35,13],[1,100,80],[2,50,32],[2,50,24],[4,25,9],[1,134,108],[2,67,43],[2,33,15,2,34,16],[2,33,11,2,34,12],[2,86,68],[4,43,27],[4,43,19],[4,43,15],[2,98,78],[4,49,31],[2,32,14,4,33,15],[4,39,13,1,40,14],[2,121,97],[2,60,38,2,61,39],[4,40,18,2,41,19],[4,40,14,2,41,15],[2,146,116],[3,58,36,2,59,37],[4,36,16,4,37,17],[4,36,12,4,37,13],[2,86,68,2,87,69],[4,69,43,1,70,44],[6,43,19,2,44,20],[6,43,15,2,44,16],[4,101,81],[1,80,50,4,81,51],[4,50,22,4,51,23],[3,36,12,8,37,13],[2,116,92,2,117,93],[6,58,36,2,59,37],[4,46,20,6,47,21],[7,42,14,4,43,15],[4,133,107],[8,59,37,1,60,38],[8,44,20,4,45,21],[12,33,11,4,34,12],[3,145,115,1,146,116],[4,64,40,5,65,41],[11,36,16,5,37,17],[11,36,12,5,37,13],[5,109,87,1,110,88],[5,65,41,5,66,42],[5,54,24,7,55,25],[11,36,12],[5,122,98,1,123,99],[7,73,45,3,74,46],[15,43,19,2,44,20],[3,45,15,13,46,16],[1,135,107,5,136,108],[10,74,46,1,75,47],[1,50,22,15,51,23],[2,42,14,17,43,15],[5,150,120,1,151,121],[9,69,43,4,70,44],[17,50,22,1,51,23],[2,42,14,19,43,15],[3,141,113,4,142,114],[3,70,44,11,71,45],[17,47,21,4,48,22],[9,39,13,16,40,14],[3,135,107,5,136,108],[3,67,41,13,68,42],[15,54,24,5,55,25],[15,43,15,10,44,16],[4,144,116,4,145,117],[17,68,42],[17,50,22,6,51,23],[19,46,16,6,47,17],[2,139,111,7,140,112],[17,74,46],[7,54,24,16,55,25],[34,37,13],[4,151,121,5,152,122],[4,75,47,14,76,48],[11,54,24,14,55,25],[16,45,15,14,46,16],[6,147,117,4,148,118],[6,73,45,14,74,46],[11,54,24,16,55,25],[30,46,16,2,47,17],[8,132,106,4,133,107],[8,75,47,13,76,48],[7,54,24,22,55,25],[22,45,15,13,46,16],[10,142,114,2,143,115],[19,74,46,4,75,47],[28,50,22,6,51,23],[33,46,16,4,47,17],[8,152,122,4,153,123],[22,73,45,3,74,46],[8,53,23,26,54,24],[12,45,15,28,46,16],[3,147,117,10,148,118],[3,73,45,23,74,46],[4,54,24,31,55,25],[11,45,15,31,46,16],[7,146,116,7,147,117],[21,73,45,7,74,46],[1,53,23,37,54,24],[19,45,15,26,46,16],[5,145,115,10,146,116],[19,75,47,10,76,48],[15,54,24,25,55,25],[23,45,15,25,46,16],[13,145,115,3,146,116],[2,74,46,29,75,47],[42,54,24,1,55,25],[23,45,15,28,46,16],[17,145,115],[10,74,46,23,75,47],[10,54,24,35,55,25],[19,45,15,35,46,16],[17,145,115,1,146,116],[14,74,46,21,75,47],[29,54,24,19,55,25],[11,45,15,46,46,16],[13,145,115,6,146,116],[14,74,46,23,75,47],[44,54,24,7,55,25],[59,46,16,1,47,17],[12,151,121,7,152,122],[12,75,47,26,76,48],[39,54,24,14,55,25],[22,45,15,41,46,16],[6,151,121,14,152,122],[6,75,47,34,76,48],[46,54,24,10,55,25],[2,45,15,64,46,16],[17,152,122,4,153,123],[29,74,46,14,75,47],[49,54,24,10,55,25],[24,45,15,46,46,16],[4,152,122,18,153,123],[13,74,46,32,75,47],[48,54,24,14,55,25],[42,45,15,32,46,16],[20,147,117,4,148,118],[40,75,47,7,76,48],[43,54,24,22,55,25],[10,45,15,67,46,16],[19,148,118,6,149,119],[18,75,47,31,76,48],[34,54,24,34,55,25],[20,45,15,61,46,16]],s.getRSBlocks=function(e,t){var n=s.getRsBlockTable(e,t);if(void 0==n)throw Error("bad rs block @ typeNumber:"+e+"/errorCorrectLevel:"+t);for(var a=n.length/3,i=[],o=0;a>o;o++)for(var r=n[3*o+0],d=n[3*o+1],l=n[3*o+2],c=0;r>c;c++)i.push(new s(d,l));return i},s.getRsBlockTable=function(e,t){switch(t){case 1:return s.RS_BLOCK_TABLE[4*(e-1)+0];case 0:return s.RS_BLOCK_TABLE[4*(e-1)+1];case 3:return s.RS_BLOCK_TABLE[4*(e-1)+2];case 2:return s.RS_BLOCK_TABLE[4*(e-1)+3]}},r.prototype={get:function(e){return 1==(this.buffer[Math.floor(e/8)]>>>7-e%8&1)},put:function(e,t){for(var n=0;t>n;n++)this.putBit(1==(e>>>t-n-1&1))},getLengthInBits:function(){return this.length},putBit:function(e){var t=Math.floor(this.length/8);this.buffer.length<=t&&this.buffer.push(0),e&&(this.buffer[t]|=128>>>this.length%8),this.length++}},"string"==typeof t&&(t={text:t}),t=e.extend({},{render:"canvas",width:256,height:256,typeNumber:-1,correctLevel:2,background:"#ffffff",foreground:"#000000"},t),this.each(function(){var n;if("canvas"==t.render){n=new i(t.typeNumber,t.correctLevel),n.addData(t.text),n.make();var o=document.createElement("canvas");o.width=t.width,o.height=t.height;for(var s=o.getContext("2d"),r=t.width/n.getModuleCount(),d=t.height/n.getModuleCount(),l=0;l<n.getModuleCount();l++)for(var c=0;c<n.getModuleCount();c++){s.fillStyle=n.isDark(l,c)?t.foreground:t.background;var u=Math.ceil((c+1)*r)-Math.floor(c*r),h=Math.ceil((l+1)*r)-Math.floor(l*r);s.fillRect(Math.round(c*r),Math.round(l*d),u,h)}}else for(n=new i(t.typeNumber,t.correctLevel),n.addData(t.text),n.make(),o=e("<table></table>").css("width",t.width+"px").css("height",t.height+"px").css("border","0px").css("border-collapse","collapse").css("background-color",t.background),s=t.width/n.getModuleCount(),r=t.height/n.getModuleCount(),d=0;d<n.getModuleCount();d++)for(l=e("<tr></tr>").css("height",r+"px").appendTo(o),c=0;c<n.getModuleCount();c++)e("<td></td>").css("width",s+"px").css("background-color",n.isDark(d,c)?t.foreground:t.background).appendTo(l);n=o,a(n).appendTo(this)})}}(a)}),define("js/about/entry",["jquery","jquery.placeholder","handlebars","source-map"],function(e,t,n){e("js/about/settled")}),define("js/about/settled",["jquery","jquery.placeholder","handlebars","source-map"],function(e,t,n){var a=e("jquery"),i=e("js/passport/mail-phone-regx");e("jquery.placeholder"),e("plugin/jquery.qupload"),function(){function e(){var e=a(window).height();n.removeClass("hide"),i.css({"max-height":e-60}).removeClass("hide")}function t(){n.addClass("hide"),i.addClass("hide")}var n,i;0!==a(".settled-page").length&&(n=a("#mask"),i=a("#notice-container"),a("#fake-link").click(e),a("#fake-close").click(t),a("#mask").click(t))}(),function(){function t(e){a.each(e,function(e,t){a("#"+t.dom).qupload({uploadKey:w,button_image_url:"",button_text:'<span class="btn_upload_text">上传</span>',button_text_style:".btn_upload_text{color:#000;margin-left:30px;line-height: 2em;font-size:14px;}",button_text_left_padding:32,button_text_top_padding:8,button_width:160,button_height:35,button_action:x.BUTTON_ACTION.SELECT_FILE,file_size_limit:"10240",file_types:t.type,uploadSuccessed:function(e){var n=JSON.parse(e);return 12!==n.code?(alert(n.message),!1):void t.callback(n.data.hit.Filedata.return_file_path)}})})}function n(){var e=!0,t=/[0-9]\d{5}(?!\d)/,n=i.emailRegx,o=i.phoneRegx["+86"],s=/^(0|[1-9][0-9]*)$/;return a(".va, .category-item select, .for-other, .category-item").removeClass("error"),a(".va-null").each(function(){""===a(this).val()&&(a(this).addClass("error"),e=!1)}),""!==f.val()&&t.test(f.val())||(f.addClass("error"),e=!1),""!==m.val()&&n.test(m.val())||(m.addClass("error"),e=!1),""!==g.val()&&o.test(g.val())||(g.addClass("error"),e=!1),""!==y.val()&&s.test(y.val())||(y.addClass("error"),e=!1),a(".category-item").each(function(){0===a(this).get(0).selectedIndex&&(a(this).addClass("error"),e=!1)}),3===a('input[name="seller-role"]:checked').index()&&""===r.val()&&(e=!1,r.addClass("error")),5===a('input[name="new_cycle"]:checked').index()&&""===d.val()&&(e=!1,d.addClass("error")),5===a('input[name="supply_cycle"]:checked').index()&&""===l.val()&&(e=!1,l.addClass("error")),e}function o(){c.closest("tr").removeClass("hide"),c.append("<li>"+C+"</li>")}function s(){var e=a(this).val(),t=a(this).parent().find(".category-two"),n="<option>选择二级分类</option>";return""===e?void t.html(n):void a.ajax({url:"/shop/settled/getTwoCategory",type:"GET",data:{id:e}}).then(function(e){var a,i=[];if(200===e.code)for(i=e.data,a=0;a<i.length;a++)n+='<option value="'+i[a].id+'" >'+i[a].name+"</option>";t.html(n)})}var r,d,l,c,u,h,p,f,m,g,v,y,b,w,C=a("#category-tpl").html(),_=e("js/common/dialog").Dialog,x=window.SWFUpload;if(!(a(".settled-apply-page").length<0)){if(a("[placeholder]").placeholder(),r=a("#other-brand-relation"),d=a("#other-new-period"),l=a("#other-replenishment-period"),c=a("#category-list"),u=a("#shop-list"),h=a("#shops"),p=a("#mask, #submit-success"),f=a("#postcode"),m=a("#email"),g=a("#phone-number"),v=a("#upload-key"),y=a("#style-count"),w=v.val(),v.remove(),t([{dom:"upload-brand-material",type:"*.ppt;*.pdf;*.zip;*.rar",callback:function(e){a("#brand-material").val(e),a(".brand-tip").html("上传成功"),alert("上传成功!")}},{dom:"upload-goods-material",type:"*.xls;*.xlsx;*.zip;*.rar",callback:function(e){a("#goods-material").val(e),a(".goods-tip").html("上传成功"),alert("上传成功!")}}]),location.search.indexOf("state=1")>-1)return b=new _({className:"settled-success",closeIcon:!1,content:'<h1 class="main-title">恭喜您已提交成功</h1><h2 class="sub-title">我们将尽快与您联系</h2>',btns:[{id:"apply-success-ok",btnClass:["apply-success-ok"],name:"确认",cb:function(){location.href="/shop/settled/index"}}]}),void b.show();a('input[name="seller_role"]').change(function(){3===a(this).index()?r.removeClass("hide"):r.addClass("hide")}),a('input[name="new-cycle"]').change(function(){5===a(this).index()?d.removeClass("hide"):d.addClass("hide")}),a('input[name="supply-cycle"]').change(function(){5===a(this).index()?l.removeClass("hide"):l.addClass("hide")}),a('input[name="have-store"]').change(function(){1===a(this).index()?u.addClass("hide"):u.removeClass("hide")}),a(".form-container").on("change",".category-one",s),a("#category-add").click(o),h.delegate(".shop-add","click",function(){h.append('<li><input class="shop-addres" name="store-address[]" type="text" placeholder="输入店铺地址"><span>月均销售:</span><input class="shop-sales-volume" type="text" name="store-sales-volume[]" placeholder="输入价格"><span>元</span></li>')}),a("#apply-post").click(function(){var e;n()?(p.removeClass("hide"),a("form").submit()):(a(".error").first().focus(),e=a(".error").first().offset().top,a(window).scrollTop(e-10))}),navigator.userAgent.indexOf("MSIE")>=0&&a("[placeholder]").focus(function(){var e=a(this);e.removeClass("placeholder")}).blur(function(){var e=a(this);""===e.val()&&e.addClass("placeholder")})}}()}),define("js/coupon/entry",["jquery","lazyload","handlebars","source-map"],function(e,t,n){e("js/coupon/coupon")}),define("js/coupon/coupon",["jquery","lazyload","handlebars","source-map"],function(e,t,n){function a(e){var t=new l(e);t.show()}function i(t){r.ajax({type:"GET",url:"/coupon/sendcoupon",data:{id:t},success:function(e){var t=e.code;e.url&&e.url.length>0&&c[t]&&c[t](e.url+"?"+location.href.split("?")[1]),s[t]?s[t]():s[400]()},error:function(t){var n=e("js/common/dialog").Alert;new n("网络异常").show()}})}var o,s,r=e("jquery"),d=e("lazyload"),l=e("js/common/dialog").Dialog,c={gunangSrc:null,checkCouponSrc:null,goToGuang:function(){window.location.href=this.gunangSrc},goToCheck:function(){window.location.href=this.checkCouponSrc},403:function(e){window.location.href=e},200:function(e){this.checkCouponSrc=e}};d(r("img.lazy")),e("js/common/slider"),r(".slide-container").slider(),o={success:{content:"恭喜您,成功领取优惠券",subContents:["特殊情况下到账有延时","请耐心等待"],className:"subcontent-dialog",refreshOnClose:!0,btns:[{id:1,name:"去购物啦",btnClass:["black","btn-close"],cb:function(){c.goToGuang()}},{id:2,name:"查看优惠券",btnClass:["btn-close"],cb:function(){c.goToCheck()}}]},alreadyGot:{content:"您已领取过优惠券",subContent:"快去选购心仪的潮品吧",className:"subcontent-dialog",btns:[{id:1,name:"去使用",btnClass:["btn-close"],cb:function(){c.goToGuang()}}]},expired:{content:"优惠券已过期",subContent:"去领最新的优惠券吧",className:"subcontent-dialog",btns:[{id:1,name:"关闭",btnClass:["btn-close"]}]},failed:{content:"领取失败",subContents:["请刷新重试,","多次无效请联系客服"],className:"subcontent-dialog",btns:[{id:1,name:"刷新",btnClass:["btn-close"],cb:function(){window.location.reload()}}]}},s={200:function(){a(o.success)},401:function(){a(o.alreadyGot)},315:function(){a(o.expired)},400:function(){a(o.failed)},403:function(){}},r(".enable .info").on("click",function(e){e.preventDefault(),i(r(this).closest("a").data("id")),c.gunangSrc=r(this).closest("a").get(0).href})});
\ No newline at end of file
diff --git a/web-static/dist/yohobuy/4.7.1/lib.js b/web-static/dist/yohobuy/4.7.1/lib.js
new file mode 100644
index 0000000..e0d54a3
--- /dev/null
+++ b/web-static/dist/yohobuy/4.7.1/lib.js
@@ -0,0 +1,7 @@
+!function(e,t){function n(e){return function(t){return{}.toString.call(t)=="[object "+e+"]"}}function r(){return E++}function i(e){return e.match(T)[0]}function o(e){for(e=e.replace(P,"/");e.match(L);)e=e.replace(L,"/");return e=e.replace(j,"$1/")}function a(e){var t=e.length-1,n=e.charAt(t);return"#"===n?e.substring(0,t):".js"===e.substring(t-2)||e.indexOf("?")>0||".css"===e.substring(t-3)||"/"===n?e:e+".js"}function s(e){var t=w.alias;return t&&k(t[e])?t[e]:e}function l(e){var t,n=w.paths;return n&&(t=e.match(O))&&k(n[t[1]])&&(e=n[t[1]]+t[2]),e}function u(e){var t=w.vars;return t&&e.indexOf("{")>-1&&(e=e.replace(M,function(e,n){return k(t[n])?t[n]:e})),e}function c(e){var t=w.map,n=e;if(t)for(var r=0,i=t.length;i>r;r++){var o=t[r];if(n=_(o)?o(e)||e:e.replace(o[0],o[1]),n!==e)break}return n}function p(e,t){var n,r=e.charAt(0);if(D.test(e))n=e;else if("."===r)n=o((t?i(t):w.cwd)+e);else if("/"===r){var a=w.cwd.match(H);n=a?a[0]+e.substring(1):e}else n=w.base+e;return 0===n.indexOf("//")&&(n=location.protocol+n),n}function h(e,t){if(!e)return"";e=s(e),e=l(e),e=u(e),e=a(e);var n=p(e,t);return n=c(n)}function f(e){return e.hasAttribute?e.src:e.getAttribute("src",4)}function d(e,t,n){var r=V.test(e),i=I.createElement(r?"link":"script");if(n){var o=_(n)?n(e):n;o&&(i.charset=o)}g(i,t,r,e),r?(i.rel="stylesheet",i.href=e):(i.async=!0,i.src=e),q=i,z?U.insertBefore(i,z):U.appendChild(i),q=null}function g(e,n,r,i){function o(){e.onload=e.onerror=e.onreadystatechange=null,r||w.debug||U.removeChild(e),e=null,n()}var a="onload"in e;return!r||!G&&a?(a?(e.onload=o,e.onerror=function(){N("error",{uri:i,node:e}),o()}):e.onreadystatechange=function(){/loaded|complete/.test(e.readyState)&&o()},t):(setTimeout(function(){m(e,n)},1),t)}function m(e,t){var n,r=e.sheet;if(G)r&&(n=!0);else if(r)try{r.cssRules&&(n=!0)}catch(i){"NS_ERROR_DOM_SECURITY_ERR"===i.name&&(n=!0)}setTimeout(function(){n?t():m(e,t)},20)}function v(){if(q)return q;if(W&&"interactive"===W.readyState)return W;for(var e=U.getElementsByTagName("script"),t=e.length-1;t>=0;t--){var n=e[t];if("interactive"===n.readyState)return W=n}}function y(e){var t=[];return e.replace(K,"").replace(J,function(e,n,r){r&&t.push(r)}),t}function b(e,t){this.uri=e,this.dependencies=t||[],this.exports=null,this.status=0,this._waitings={},this._remain=0}if(!e.seajs){var x=e.seajs={version:"2.2.0"},w=x.data={},S=n("Object"),k=n("String"),C=Array.isArray||n("Array"),_=n("Function"),E=0,A=w.events={};x.on=function(e,t){var n=A[e]||(A[e]=[]);return n.push(t),x},x.off=function(e,t){if(!e&&!t)return A=w.events={},x;var n=A[e];if(n)if(t)for(var r=n.length-1;r>=0;r--)n[r]===t&&n.splice(r,1);else delete A[e];return x};var N=x.emit=function(e,t){var n,r=A[e];if(r)for(r=r.slice();n=r.shift();)n(t);return x},T=/[^?#]*\//,P=/\/\.\//g,L=/\/[^\/]+\/\.\.\//,j=/([^:\/])\/\//g,O=/^([^\/:]+)(\/.+)$/,M=/{([^{]+)}/g,D=/^\/\/.|:\//,H=/^.*?\/\/.*?\//,I=document,R=i(I.URL),B=I.scripts,$=I.getElementById("seajsnode")||B[B.length-1],F=i(f($)||R);x.resolve=h;var q,W,U=I.head||I.getElementsByTagName("head")[0]||I.documentElement,z=U.getElementsByTagName("base")[0],V=/\.css(?:\?|$)/i,G=+navigator.userAgent.replace(/.*AppleWebKit\/(\d+)\..*/,"$1")<536;x.request=d;var X,J=/"(?:\\"|[^"])*"|'(?:\\'|[^'])*'|\/\*[\S\s]*?\*\/|\/(?:\\\/|[^\/\r\n])+\/(?=[^\/])|\/\/.*|\.\s*require|(?:^|[^$])\brequire\s*\(\s*(["'])(.+?)\1\s*\)/g,K=/\\\\/g,Y=x.cache={},Q={},Z={},ee={},te=b.STATUS={FETCHING:1,SAVED:2,LOADING:3,LOADED:4,EXECUTING:5,EXECUTED:6};b.prototype.resolve=function(){for(var e=this,t=e.dependencies,n=[],r=0,i=t.length;i>r;r++)n[r]=b.resolve(t[r],e.uri);return n},b.prototype.load=function(){var e=this;if(!(e.status>=te.LOADING)){e.status=te.LOADING;var n=e.resolve();N("load",n);for(var r,i=e._remain=n.length,o=0;i>o;o++)r=b.get(n[o]),r.status<te.LOADED?r._waitings[e.uri]=(r._waitings[e.uri]||0)+1:e._remain--;if(0===e._remain)return e.onload(),t;var a={};for(o=0;i>o;o++)r=Y[n[o]],r.status<te.FETCHING?r.fetch(a):r.status===te.SAVED&&r.load();for(var s in a)a.hasOwnProperty(s)&&a[s]()}},b.prototype.onload=function(){var e=this;e.status=te.LOADED,e.callback&&e.callback();var t,n,r=e._waitings;for(t in r)r.hasOwnProperty(t)&&(n=Y[t],n._remain-=r[t],0===n._remain&&n.onload());delete e._waitings,delete e._remain},b.prototype.fetch=function(e){function n(){x.request(a.requestUri,a.onRequest,a.charset)}function r(){delete Q[s],Z[s]=!0,X&&(b.save(o,X),X=null);var e,t=ee[s];for(delete ee[s];e=t.shift();)e.load()}var i=this,o=i.uri;i.status=te.FETCHING;var a={uri:o};N("fetch",a);var s=a.requestUri||o;return!s||Z[s]?(i.load(),t):Q[s]?(ee[s].push(i),t):(Q[s]=!0,ee[s]=[i],N("request",a={uri:o,requestUri:s,onRequest:r,charset:w.charset}),a.requested||(e?e[a.requestUri]=n:n()),t)},b.prototype.exec=function(){function e(t){return b.get(e.resolve(t)).exec()}var n=this;if(n.status>=te.EXECUTING)return n.exports;n.status=te.EXECUTING;var i=n.uri;e.resolve=function(e){return b.resolve(e,i)},e.async=function(t,n){return b.use(t,n,i+"_async_"+r()),e};var o=n.factory,a=_(o)?o(e,n.exports={},n):o;return a===t&&(a=n.exports),delete n.factory,n.exports=a,n.status=te.EXECUTED,N("exec",n),a},b.resolve=function(e,t){var n={id:e,refUri:t};return N("resolve",n),n.uri||x.resolve(n.id,t)},b.define=function(e,n,r){var i=arguments.length;1===i?(r=e,e=t):2===i&&(r=n,C(e)?(n=e,e=t):n=t),!C(n)&&_(r)&&(n=y(""+r));var o={id:e,uri:b.resolve(e),deps:n,factory:r};if(!o.uri&&I.attachEvent){var a=v();a&&(o.uri=a.src)}N("define",o),o.uri?b.save(o.uri,o):X=o},b.save=function(e,t){var n=b.get(e);n.status<te.SAVED&&(n.id=t.id||e,n.dependencies=t.deps||[],n.factory=t.factory,n.status=te.SAVED)},b.get=function(e,t){return Y[e]||(Y[e]=new b(e,t))},b.use=function(t,n,r){var i=b.get(r,C(t)?t:[t]);i.callback=function(){for(var t=[],r=i.resolve(),o=0,a=r.length;a>o;o++)t[o]=Y[r[o]].exec();n&&n.apply(e,t),delete i.callback},i.load()},b.preload=function(e){var t=w.preload,n=t.length;n?b.use(t,function(){t.splice(0,n),b.preload(e)},w.cwd+"_preload_"+r()):e()},x.use=function(e,t){return b.preload(function(){b.use(e,t,w.cwd+"_use_"+r())}),x},b.define.cmd={},e.define=b.define,x.Module=b,w.fetchedList=Z,w.cid=r,x.require=function(e){var t=b.get(b.resolve(e));return t.status<te.EXECUTING&&(t.onload(),t.exec()),t.exports};var ne=/^(.+?\/)(\?\?)?(seajs\/)+/;w.base=(F.match(ne)||["",F])[1],w.dir=F,w.cwd=R,w.charset="utf-8",w.preload=function(){var e=[],t=location.search.replace(/(seajs-\w+)(&|$)/g,"$1=1$2");return t+=" "+I.cookie,t.replace(/(seajs-\w+)=1/g,function(t,n){e.push(n)}),e}(),x.config=function(e){for(var t in e){var n=e[t],r=w[t];if(r&&S(r))for(var i in n)r[i]=n[i];else C(r)?n=r.concat(n):"base"===t&&("/"!==n.slice(-1)&&(n+="/"),n=p(n)),w[t]=n}return N("config",e),x}}}(this),define("lazyload",[],function(e,t,n){var r=e("jquery");e("lib/jquery.lazyload"),n.exports=function(e,t){var n,i={effect:"fadeIn",effect_speed:10,placeholder:"data:image/gif;base64,R0lGODlhAQABAJEAAAAAAP///93d3f///yH5BAEAAAMALAAAAAABAAEAAAICVAEAOw==",skip_invisible:!1},o=arguments.length;!function(){switch(o){case 0:n=r("img.lazy");break;case 1:e instanceof r?n=e:(n=r("img.lazy"),r.extend(i,e));break;case 2:n=e,i=r.extend(i,t)}}(),n.lazyload(i)}}),define("jquery",[],function(e,t,n){!function(e,t){function r(e){var t=ge[e]={};return Z.each(e.split(ne),function(e,n){t[n]=!0}),t}function i(e,n,r){if(r===t&&1===e.nodeType){var i="data-"+n.replace(ve,"-$1").toLowerCase();if(r=e.getAttribute(i),"string"==typeof r){try{r="true"===r?!0:"false"===r?!1:"null"===r?null:+r+""===r?+r:me.test(r)?Z.parseJSON(r):r}catch(o){}Z.data(e,n,r)}else r=t}return r}function o(e){var t;for(t in e)if(("data"!==t||!Z.isEmptyObject(e[t]))&&"toJSON"!==t)return!1;return!0}function a(){return!1}function s(){return!0}function l(e){return!e||!e.parentNode||11===e.parentNode.nodeType}function u(e,t){do e=e[t];while(e&&1!==e.nodeType);return e}function c(e,t,n){if(t=t||0,Z.isFunction(t))return Z.grep(e,function(e,r){var i=!!t.call(e,r,e);return i===n});if(t.nodeType)return Z.grep(e,function(e,r){return e===t===n});if("string"==typeof t){var r=Z.grep(e,function(e){return 1===e.nodeType});if(Ie.test(t))return Z.filter(t,r,!n);t=Z.filter(t,r)}return Z.grep(e,function(e,r){return Z.inArray(e,t)>=0===n})}function p(e){var t=$e.split("|"),n=e.createDocumentFragment();if(n.createElement)for(;t.length;)n.createElement(t.pop());return n}function h(e,t){return e.getElementsByTagName(t)[0]||e.appendChild(e.ownerDocument.createElement(t))}function f(e,t){if(1===t.nodeType&&Z.hasData(e)){var n,r,i,o=Z._data(e),a=Z._data(t,o),s=o.events;if(s){delete a.handle,a.events={};for(n in s)for(r=0,i=s[n].length;i>r;r++)Z.event.add(t,n,s[n][r])}a.data&&(a.data=Z.extend({},a.data))}}function d(e,t){var n;1===t.nodeType&&(t.clearAttributes&&t.clearAttributes(),t.mergeAttributes&&t.mergeAttributes(e),n=t.nodeName.toLowerCase(),"object"===n?(t.parentNode&&(t.outerHTML=e.outerHTML),Z.support.html5Clone&&e.innerHTML&&!Z.trim(t.innerHTML)&&(t.innerHTML=e.innerHTML)):"input"===n&&Ke.test(e.type)?(t.defaultChecked=t.checked=e.checked,t.value!==e.value&&(t.value=e.value)):"option"===n?t.selected=e.defaultSelected:"input"===n||"textarea"===n?t.defaultValue=e.defaultValue:"script"===n&&t.text!==e.text&&(t.text=e.text),t.removeAttribute(Z.expando))}function g(e){return"undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName("*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll("*"):[]}function m(e){Ke.test(e.type)&&(e.defaultChecked=e.checked)}function v(e,t){if(t in e)return t;for(var n=t.charAt(0).toUpperCase()+t.slice(1),r=t,i=yt.length;i--;)if(t=yt[i]+n,t in e)return t;return r}function y(e,t){return e=t||e,"none"===Z.css(e,"display")||!Z.contains(e.ownerDocument,e)}function b(e,t){for(var n,r,i=[],o=0,a=e.length;a>o;o++)n=e[o],n.style&&(i[o]=Z._data(n,"olddisplay"),t?(i[o]||"none"!==n.style.display||(n.style.display=""),""===n.style.display&&y(n)&&(i[o]=Z._data(n,"olddisplay",k(n.nodeName)))):(r=rt(n,"display"),i[o]||"none"===r||Z._data(n,"olddisplay",r)));for(o=0;a>o;o++)n=e[o],n.style&&(t&&"none"!==n.style.display&&""!==n.style.display||(n.style.display=t?i[o]||"":"none"));return e}function x(e,t,n){var r=pt.exec(t);return r?Math.max(0,r[1]-(n||0))+(r[2]||"px"):t}function w(e,t,n,r){for(var i=n===(r?"border":"content")?4:"width"===t?1:0,o=0;4>i;i+=2)"margin"===n&&(o+=Z.css(e,n+vt[i],!0)),r?("content"===n&&(o-=parseFloat(rt(e,"padding"+vt[i]))||0),"margin"!==n&&(o-=parseFloat(rt(e,"border"+vt[i]+"Width"))||0)):(o+=parseFloat(rt(e,"padding"+vt[i]))||0,"padding"!==n&&(o+=parseFloat(rt(e,"border"+vt[i]+"Width"))||0));return o}function S(e,t,n){var r="width"===t?e.offsetWidth:e.offsetHeight,i=!0,o=Z.support.boxSizing&&"border-box"===Z.css(e,"boxSizing");if(0>=r||null==r){if(r=rt(e,t),(0>r||null==r)&&(r=e.style[t]),ht.test(r))return r;i=o&&(Z.support.boxSizingReliable||r===e.style[t]),r=parseFloat(r)||0}return r+w(e,t,n||(o?"border":"content"),i)+"px"}function k(e){if(dt[e])return dt[e];var t=Z("<"+e+">").appendTo(q.body),n=t.css("display");return t.remove(),"none"!==n&&""!==n||(it=q.body.appendChild(it||Z.extend(q.createElement("iframe"),{frameBorder:0,width:0,height:0})),ot&&it.createElement||(ot=(it.contentWindow||it.contentDocument).document,ot.write("<!doctype html><html><body>"),ot.close()),t=ot.body.appendChild(ot.createElement(e)),n=rt(t,"display"),q.body.removeChild(it)),dt[e]=n,n}function C(e,t,n,r){var i;if(Z.isArray(t))Z.each(t,function(t,i){n||wt.test(e)?r(e,i):C(e+"["+("object"==typeof i?t:"")+"]",i,n,r)});else if(n||"object"!==Z.type(t))r(e,t);else for(i in t)C(e+"["+i+"]",t[i],n,r)}function _(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var r,i,o,a=t.toLowerCase().split(ne),s=0,l=a.length;if(Z.isFunction(n))for(;l>s;s++)r=a[s],o=/^\+/.test(r),o&&(r=r.substr(1)||"*"),i=e[r]=e[r]||[],i[o?"unshift":"push"](n)}}function E(e,n,r,i,o,a){o=o||n.dataTypes[0],a=a||{},a[o]=!0;for(var s,l=e[o],u=0,c=l?l.length:0,p=e===It;c>u&&(p||!s);u++)s=l[u](n,r,i),"string"==typeof s&&(!p||a[s]?s=t:(n.dataTypes.unshift(s),s=E(e,n,r,i,s,a)));return!p&&s||a["*"]||(s=E(e,n,r,i,"*",a)),s}function A(e,n){var r,i,o=Z.ajaxSettings.flatOptions||{};for(r in n)n[r]!==t&&((o[r]?e:i||(i={}))[r]=n[r]);i&&Z.extend(!0,e,i)}function N(e,n,r){var i,o,a,s,l=e.contents,u=e.dataTypes,c=e.responseFields;for(o in c)o in r&&(n[c[o]]=r[o]);for(;"*"===u[0];)u.shift(),i===t&&(i=e.mimeType||n.getResponseHeader("content-type"));if(i)for(o in l)if(l[o]&&l[o].test(i)){u.unshift(o);break}if(u[0]in r)a=u[0];else{for(o in r){if(!u[0]||e.converters[o+" "+u[0]]){a=o;break}s||(s=o)}a=a||s}return a?(a!==u[0]&&u.unshift(a),r[a]):void 0}function T(e,t){var n,r,i,o,a=e.dataTypes.slice(),s=a[0],l={},u=0;if(e.dataFilter&&(t=e.dataFilter(t,e.dataType)),a[1])for(n in e.converters)l[n.toLowerCase()]=e.converters[n];for(;i=a[++u];)if("*"!==i){if("*"!==s&&s!==i){if(n=l[s+" "+i]||l["* "+i],!n)for(r in l)if(o=r.split(" "),o[1]===i&&(n=l[s+" "+o[0]]||l["* "+o[0]])){n===!0?n=l[r]:l[r]!==!0&&(i=o[0],a.splice(u--,0,i));break}if(n!==!0)if(n&&e["throws"])t=n(t);else try{t=n(t)}catch(c){return{state:"parsererror",error:n?c:"No conversion from "+s+" to "+i}}}s=i}return{state:"success",data:t}}function P(){try{return new e.XMLHttpRequest}catch(t){}}function L(){try{return new e.ActiveXObject("Microsoft.XMLHTTP")}catch(t){}}function j(){return setTimeout(function(){Xt=t},0),Xt=Z.now()}function O(e,t){Z.each(t,function(t,n){for(var r=(en[t]||[]).concat(en["*"]),i=0,o=r.length;o>i;i++)if(r[i].call(e,t,n))return})}function M(e,t,n){var r,i=0,o=Zt.length,a=Z.Deferred().always(function(){delete s.elem}),s=function(){for(var t=Xt||j(),n=Math.max(0,l.startTime+l.duration-t),r=n/l.duration||0,i=1-r,o=0,s=l.tweens.length;s>o;o++)l.tweens[o].run(i);return a.notifyWith(e,[l,i,n]),1>i&&s?n:(a.resolveWith(e,[l]),!1)},l=a.promise({elem:e,props:Z.extend({},t),opts:Z.extend(!0,{specialEasing:{}},n),originalProperties:t,originalOptions:n,startTime:Xt||j(),duration:n.duration,tweens:[],createTween:function(t,n,r){var i=Z.Tween(e,l.opts,t,n,l.opts.specialEasing[t]||l.opts.easing);return l.tweens.push(i),i},stop:function(t){for(var n=0,r=t?l.tweens.length:0;r>n;n++)l.tweens[n].run(1);return t?a.resolveWith(e,[l,t]):a.rejectWith(e,[l,t]),this}}),u=l.props;for(D(u,l.opts.specialEasing);o>i;i++)if(r=Zt[i].call(l,e,u,l.opts))return r;return O(l,u),Z.isFunction(l.opts.start)&&l.opts.start.call(e,l),Z.fx.timer(Z.extend(s,{anim:l,queue:l.opts.queue,elem:e})),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always)}function D(e,t){var n,r,i,o,a;for(n in e)if(r=Z.camelCase(n),i=t[r],o=e[n],Z.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),a=Z.cssHooks[r],a&&"expand"in a){o=a.expand(o),delete e[r];for(n in o)n in e||(e[n]=o[n],t[n]=i)}else t[r]=i}function H(e,t,n){var r,i,o,a,s,l,u,c,p,h=this,f=e.style,d={},g=[],m=e.nodeType&&y(e);n.queue||(c=Z._queueHooks(e,"fx"),null==c.unqueued&&(c.unqueued=0,p=c.empty.fire,c.empty.fire=function(){c.unqueued||p()}),c.unqueued++,h.always(function(){h.always(function(){c.unqueued--,Z.queue(e,"fx").length||c.empty.fire()})})),1===e.nodeType&&("height"in t||"width"in t)&&(n.overflow=[f.overflow,f.overflowX,f.overflowY],"inline"===Z.css(e,"display")&&"none"===Z.css(e,"float")&&(Z.support.inlineBlockNeedsLayout&&"inline"!==k(e.nodeName)?f.zoom=1:f.display="inline-block")),n.overflow&&(f.overflow="hidden",Z.support.shrinkWrapBlocks||h.done(function(){f.overflow=n.overflow[0],f.overflowX=n.overflow[1],f.overflowY=n.overflow[2]}));for(r in t)if(o=t[r],Kt.exec(o)){if(delete t[r],l=l||"toggle"===o,o===(m?"hide":"show"))continue;g.push(r)}if(a=g.length){s=Z._data(e,"fxshow")||Z._data(e,"fxshow",{}),"hidden"in s&&(m=s.hidden),l&&(s.hidden=!m),m?Z(e).show():h.done(function(){Z(e).hide()}),h.done(function(){var t;Z.removeData(e,"fxshow",!0);for(t in d)Z.style(e,t,d[t])});for(r=0;a>r;r++)i=g[r],u=h.createTween(i,m?s[i]:0),d[i]=s[i]||Z.style(e,i),i in s||(s[i]=u.start,m&&(u.end=u.start,u.start="width"===i||"height"===i?1:0))}}function I(e,t,n,r,i){return new I.prototype.init(e,t,n,r,i)}function R(e,t){var n,r={height:e},i=0;for(t=t?1:0;4>i;i+=2-t)n=vt[i],r["margin"+n]=r["padding"+n]=e;return t&&(r.opacity=r.width=e),r}function B(e){return Z.isWindow(e)?e:9===e.nodeType?e.defaultView||e.parentWindow:!1}var $,F,q=e.document,W=e.location,U=e.navigator,z=e.jQuery,V=e.$,G=Array.prototype.push,X=Array.prototype.slice,J=Array.prototype.indexOf,K=Object.prototype.toString,Y=Object.prototype.hasOwnProperty,Q=String.prototype.trim,Z=function(e,t){return new Z.fn.init(e,t,$)},ee=/[\-+]?(?:\d*\.|)\d+(?:[eE][\-+]?\d+|)/.source,te=/\S/,ne=/\s+/,re=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,ie=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,oe=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,ae=/^[\],:{}\s]*$/,se=/(?:^|:|,)(?:\s*\[)+/g,le=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,ue=/"[^"\\\r\n]*"|true|false|null|-?(?:\d\d*\.|)\d+(?:[eE][\-+]?\d+|)/g,ce=/^-ms-/,pe=/-([\da-z])/gi,he=function(e,t){return(t+"").toUpperCase()},fe=function(){q.addEventListener?(q.removeEventListener("DOMContentLoaded",fe,!1),Z.ready()):"complete"===q.readyState&&(q.detachEvent("onreadystatechange",fe),Z.ready())},de={};Z.fn=Z.prototype={constructor:Z,init:function(e,n,r){var i,o,a;if(!e)return this;if(e.nodeType)return this.context=this[0]=e,this.length=1,this;if("string"==typeof e){if(i="<"===e.charAt(0)&&">"===e.charAt(e.length-1)&&e.length>=3?[null,e,null]:ie.exec(e),!i||!i[1]&&n)return!n||n.jquery?(n||r).find(e):this.constructor(n).find(e);if(i[1])return n=n instanceof Z?n[0]:n,a=n&&n.nodeType?n.ownerDocument||n:q,e=Z.parseHTML(i[1],a,!0),oe.test(i[1])&&Z.isPlainObject(n)&&this.attr.call(e,n,!0),Z.merge(this,e);if(o=q.getElementById(i[2]),o&&o.parentNode){if(o.id!==i[2])return r.find(e);this.length=1,this[0]=o}return this.context=q,this.selector=e,this}return Z.isFunction(e)?r.ready(e):(e.selector!==t&&(this.selector=e.selector,this.context=e.context),Z.makeArray(e,this))},selector:"",jquery:"1.8.3",length:0,size:function(){return this.length},toArray:function(){return X.call(this)},get:function(e){return null==e?this.toArray():0>e?this[this.length+e]:this[e]},pushStack:function(e,t,n){var r=Z.merge(this.constructor(),e);return r.prevObject=this,r.context=this.context,"find"===t?r.selector=this.selector+(this.selector?" ":"")+n:t&&(r.selector=this.selector+"."+t+"("+n+")"),r},each:function(e,t){return Z.each(this,e,t)},ready:function(e){return Z.ready.promise().done(e),this},eq:function(e){return e=+e,-1===e?this.slice(e):this.slice(e,e+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(X.apply(this,arguments),"slice",X.call(arguments).join(","))},map:function(e){return this.pushStack(Z.map(this,function(t,n){return e.call(t,n,t)}))},end:function(){return this.prevObject||this.constructor(null)},push:G,sort:[].sort,splice:[].splice},Z.fn.init.prototype=Z.fn,Z.extend=Z.fn.extend=function(){var e,n,r,i,o,a,s=arguments[0]||{},l=1,u=arguments.length,c=!1;for("boolean"==typeof s&&(c=s,s=arguments[1]||{},l=2),"object"==typeof s||Z.isFunction(s)||(s={}),u===l&&(s=this,--l);u>l;l++)if(null!=(e=arguments[l]))for(n in e)r=s[n],i=e[n],s!==i&&(c&&i&&(Z.isPlainObject(i)||(o=Z.isArray(i)))?(o?(o=!1,a=r&&Z.isArray(r)?r:[]):a=r&&Z.isPlainObject(r)?r:{},s[n]=Z.extend(c,a,i)):i!==t&&(s[n]=i));return s},Z.extend({noConflict:function(t){return e.$===Z&&(e.$=V),t&&e.jQuery===Z&&(e.jQuery=z),Z},isReady:!1,readyWait:1,holdReady:function(e){e?Z.readyWait++:Z.ready(!0)},ready:function(e){if(e===!0?!--Z.readyWait:!Z.isReady){if(!q.body)return setTimeout(Z.ready,1);Z.isReady=!0,e!==!0&&--Z.readyWait>0||(F.resolveWith(q,[Z]),Z.fn.trigger&&Z(q).trigger("ready").off("ready"))}},isFunction:function(e){return"function"===Z.type(e)},isArray:Array.isArray||function(e){return"array"===Z.type(e)},isWindow:function(e){return null!=e&&e==e.window},isNumeric:function(e){return!isNaN(parseFloat(e))&&isFinite(e)},type:function(e){return null==e?String(e):de[K.call(e)]||"object"},isPlainObject:function(e){if(!e||"object"!==Z.type(e)||e.nodeType||Z.isWindow(e))return!1;try{if(e.constructor&&!Y.call(e,"constructor")&&!Y.call(e.constructor.prototype,"isPrototypeOf"))return!1}catch(n){return!1}var r;for(r in e);return r===t||Y.call(e,r)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},error:function(e){throw new Error(e)},parseHTML:function(e,t,n){var r;return e&&"string"==typeof e?("boolean"==typeof t&&(n=t,t=0),t=t||q,(r=oe.exec(e))?[t.createElement(r[1])]:(r=Z.buildFragment([e],t,n?null:[]),Z.merge([],(r.cacheable?Z.clone(r.fragment):r.fragment).childNodes))):null},parseJSON:function(t){return t&&"string"==typeof t?(t=Z.trim(t),e.JSON&&e.JSON.parse?e.JSON.parse(t):ae.test(t.replace(le,"@").replace(ue,"]").replace(se,""))?new Function("return "+t)():void Z.error("Invalid JSON: "+t)):null},parseXML:function(n){var r,i;if(!n||"string"!=typeof n)return null;try{e.DOMParser?(i=new DOMParser,r=i.parseFromString(n,"text/xml")):(r=new ActiveXObject("Microsoft.XMLDOM"),r.async="false",r.loadXML(n))}catch(o){r=t}return r&&r.documentElement&&!r.getElementsByTagName("parsererror").length||Z.error("Invalid XML: "+n),r},noop:function(){},globalEval:function(t){t&&te.test(t)&&(e.execScript||function(t){e.eval.call(e,t)})(t)},camelCase:function(e){return e.replace(ce,"ms-").replace(pe,he)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,n,r){var i,o=0,a=e.length,s=a===t||Z.isFunction(e);if(r)if(s){for(i in e)if(n.apply(e[i],r)===!1)break}else for(;a>o&&n.apply(e[o++],r)!==!1;);else if(s){for(i in e)if(n.call(e[i],i,e[i])===!1)break}else for(;a>o&&n.call(e[o],o,e[o++])!==!1;);return e},trim:Q&&!Q.call("\ufeff ")?function(e){return null==e?"":Q.call(e)}:function(e){return null==e?"":(e+"").replace(re,"")},makeArray:function(e,t){var n,r=t||[];return null!=e&&(n=Z.type(e),null==e.length||"string"===n||"function"===n||"regexp"===n||Z.isWindow(e)?G.call(r,e):Z.merge(r,e)),r},inArray:function(e,t,n){var r;if(t){if(J)return J.call(t,e,n);for(r=t.length,n=n?0>n?Math.max(0,r+n):n:0;r>n;n++)if(n in t&&t[n]===e)return n}return-1},merge:function(e,n){var r=n.length,i=e.length,o=0;if("number"==typeof r)for(;r>o;o++)e[i++]=n[o];else for(;n[o]!==t;)e[i++]=n[o++];return e.length=i,e},grep:function(e,t,n){var r,i=[],o=0,a=e.length;for(n=!!n;a>o;o++)r=!!t(e[o],o),n!==r&&i.push(e[o]);return i},map:function(e,n,r){var i,o,a=[],s=0,l=e.length,u=e instanceof Z||l!==t&&"number"==typeof l&&(l>0&&e[0]&&e[l-1]||0===l||Z.isArray(e));if(u)for(;l>s;s++)i=n(e[s],s,r),null!=i&&(a[a.length]=i);else for(o in e)i=n(e[o],o,r),null!=i&&(a[a.length]=i);return a.concat.apply([],a)},guid:1,proxy:function(e,n){var r,i,o;return"string"==typeof n&&(r=e[n],n=e,e=r),Z.isFunction(e)?(i=X.call(arguments,2),o=function(){return e.apply(n,i.concat(X.call(arguments)))},o.guid=e.guid=e.guid||Z.guid++,o):t},access:function(e,n,r,i,o,a,s){var l,u=null==r,c=0,p=e.length;if(r&&"object"==typeof r){for(c in r)Z.access(e,n,c,r[c],1,a,i);o=1}else if(i!==t){if(l=s===t&&Z.isFunction(i),u&&(l?(l=n,n=function(e,t,n){return l.call(Z(e),n)}):(n.call(e,i),n=null)),n)for(;p>c;c++)n(e[c],r,l?i.call(e[c],c,n(e[c],r)):i,s);o=1}return o?e:u?n.call(e):p?n(e[0],r):a},now:function(){return(new Date).getTime()}}),Z.ready.promise=function(t){if(!F)if(F=Z.Deferred(),"complete"===q.readyState)setTimeout(Z.ready,1);else if(q.addEventListener)q.addEventListener("DOMContentLoaded",fe,!1),e.addEventListener("load",Z.ready,!1);else{q.attachEvent("onreadystatechange",fe),e.attachEvent("onload",Z.ready);var n=!1;try{n=null==e.frameElement&&q.documentElement}catch(r){}n&&n.doScroll&&!function i(){if(!Z.isReady){try{n.doScroll("left")}catch(e){return setTimeout(i,50)}Z.ready()}}()}return F.promise(t)},Z.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(e,t){de["[object "+t+"]"]=t.toLowerCase()}),$=Z(q);var ge={};Z.Callbacks=function(e){e="string"==typeof e?ge[e]||r(e):Z.extend({},e);var n,i,o,a,s,l,u=[],c=!e.once&&[],p=function(t){for(n=e.memory&&t,i=!0,l=a||0,a=0,s=u.length,o=!0;u&&s>l;l++)if(u[l].apply(t[0],t[1])===!1&&e.stopOnFalse){n=!1;break}o=!1,u&&(c?c.length&&p(c.shift()):n?u=[]:h.disable())},h={add:function(){if(u){var t=u.length;!function r(t){Z.each(t,function(t,n){var i=Z.type(n);"function"===i?e.unique&&h.has(n)||u.push(n):n&&n.length&&"string"!==i&&r(n)})}(arguments),o?s=u.length:n&&(a=t,p(n))}return this},remove:function(){return u&&Z.each(arguments,function(e,t){for(var n;(n=Z.inArray(t,u,n))>-1;)u.splice(n,1),o&&(s>=n&&s--,l>=n&&l--)}),this},has:function(e){return Z.inArray(e,u)>-1},empty:function(){return u=[],this},disable:function(){return u=c=n=t,this},disabled:function(){return!u},lock:function(){return c=t,n||h.disable(),this},locked:function(){return!c},fireWith:function(e,t){return t=t||[],t=[e,t.slice?t.slice():t],!u||i&&!c||(o?c.push(t):p(t)),this},fire:function(){return h.fireWith(this,arguments),this},fired:function(){return!!i}};return h},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")]],n="pending",r={state:function(){return n},always:function(){return i.done(arguments).fail(arguments),this},then:function(){var e=arguments;return Z.Deferred(function(n){Z.each(t,function(t,r){var o=r[0],a=e[t];i[r[1]](Z.isFunction(a)?function(){var e=a.apply(this,arguments);e&&Z.isFunction(e.promise)?e.promise().done(n.resolve).fail(n.reject).progress(n.notify):n[o+"With"](this===i?n:this,[e])}:n[o])}),e=null}).promise()},promise:function(e){return null!=e?Z.extend(e,r):r}},i={};return r.pipe=r.then,Z.each(t,function(e,o){var a=o[2],s=o[3];r[o[1]]=a.add,s&&a.add(function(){n=s},t[1^e][2].disable,t[2][2].lock),i[o[0]]=a.fire,i[o[0]+"With"]=a.fireWith}),r.promise(i),e&&e.call(i,i),i},when:function(e){var t,n,r,i=0,o=X.call(arguments),a=o.length,s=1!==a||e&&Z.isFunction(e.promise)?a:0,l=1===s?e:Z.Deferred(),u=function(e,n,r){return function(i){n[e]=this,r[e]=arguments.length>1?X.call(arguments):i,r===t?l.notifyWith(n,r):--s||l.resolveWith(n,r)}};if(a>1)for(t=new Array(a),n=new Array(a),r=new Array(a);a>i;i++)o[i]&&Z.isFunction(o[i].promise)?o[i].promise().done(u(i,r,o)).fail(l.reject).progress(u(i,n,t)):--s;return s||l.resolveWith(r,o),l.promise()}}),Z.support=function(){var t,n,r,i,o,a,s,l,u,c,p,h=q.createElement("div");if(h.setAttribute("className","t"),h.innerHTML="  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",n=h.getElementsByTagName("*"),r=h.getElementsByTagName("a")[0],!n||!r||!n.length)return{};i=q.createElement("select"),o=i.appendChild(q.createElement("option")),a=h.getElementsByTagName("input")[0],r.style.cssText="top:1px;float:left;opacity:.5",t={leadingWhitespace:3===h.firstChild.nodeType,tbody:!h.getElementsByTagName("tbody").length,htmlSerialize:!!h.getElementsByTagName("link").length,style:/top/.test(r.getAttribute("style")),hrefNormalized:"/a"===r.getAttribute("href"),opacity:/^0.5/.test(r.style.opacity),cssFloat:!!r.style.cssFloat,checkOn:"on"===a.value,optSelected:o.selected,getSetAttribute:"t"!==h.className,enctype:!!q.createElement("form").enctype,html5Clone:"<:nav></:nav>"!==q.createElement("nav").cloneNode(!0).outerHTML,boxModel:"CSS1Compat"===q.compatMode,submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0,boxSizingReliable:!0,pixelPosition:!1},a.checked=!0,t.noCloneChecked=a.cloneNode(!0).checked,i.disabled=!0,t.optDisabled=!o.disabled;try{delete h.test}catch(f){t.deleteExpando=!1}if(!h.addEventListener&&h.attachEvent&&h.fireEvent&&(h.attachEvent("onclick",p=function(){t.noCloneEvent=!1}),h.cloneNode(!0).fireEvent("onclick"),h.detachEvent("onclick",p)),a=q.createElement("input"),a.value="t",a.setAttribute("type","radio"),t.radioValue="t"===a.value,a.setAttribute("checked","checked"),a.setAttribute("name","t"),h.appendChild(a),s=q.createDocumentFragment(),s.appendChild(h.lastChild),t.checkClone=s.cloneNode(!0).cloneNode(!0).lastChild.checked,t.appendChecked=a.checked,s.removeChild(a),s.appendChild(h),h.attachEvent)for(u in{submit:!0,change:!0,focusin:!0})l="on"+u,c=l in h,c||(h.setAttribute(l,"return;"),c="function"==typeof h[l]),t[u+"Bubbles"]=c;return Z(function(){var n,r,i,o,a="padding:0;margin:0;border:0;display:block;overflow:hidden;",s=q.getElementsByTagName("body")[0];s&&(n=q.createElement("div"),n.style.cssText="visibility:hidden;border:0;width:0;height:0;position:static;top:0;margin-top:1px",s.insertBefore(n,s.firstChild),r=q.createElement("div"),n.appendChild(r),r.innerHTML="<table><tr><td></td><td>t</td></tr></table>",i=r.getElementsByTagName("td"),i[0].style.cssText="padding:0;margin:0;border:0;display:none",c=0===i[0].offsetHeight,i[0].style.display="",i[1].style.display="none",t.reliableHiddenOffsets=c&&0===i[0].offsetHeight,r.innerHTML="",r.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;",t.boxSizing=4===r.offsetWidth,t.doesNotIncludeMarginInBodyOffset=1!==s.offsetTop,e.getComputedStyle&&(t.pixelPosition="1%"!==(e.getComputedStyle(r,null)||{}).top,t.boxSizingReliable="4px"===(e.getComputedStyle(r,null)||{width:"4px"}).width,o=q.createElement("div"),o.style.cssText=r.style.cssText=a,o.style.marginRight=o.style.width="0",r.style.width="1px",r.appendChild(o),t.reliableMarginRight=!parseFloat((e.getComputedStyle(o,null)||{}).marginRight)),"undefined"!=typeof r.style.zoom&&(r.innerHTML="",r.style.cssText=a+"width:1px;padding:1px;display:inline;zoom:1",t.inlineBlockNeedsLayout=3===r.offsetWidth,r.style.display="block",r.style.overflow="visible",r.innerHTML="<div></div>",r.firstChild.style.width="5px",t.shrinkWrapBlocks=3!==r.offsetWidth,n.style.zoom=1),s.removeChild(n),n=r=i=o=null)}),s.removeChild(h),n=r=i=o=a=s=h=null,t}();var me=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,ve=/([A-Z])/g;Z.extend({cache:{},deletedIds:[],uuid:0,expando:"jQuery"+(Z.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(e){return e=e.nodeType?Z.cache[e[Z.expando]]:e[Z.expando],!!e&&!o(e)},data:function(e,n,r,i){if(Z.acceptData(e)){var o,a,s=Z.expando,l="string"==typeof n,u=e.nodeType,c=u?Z.cache:e,p=u?e[s]:e[s]&&s;if(p&&c[p]&&(i||c[p].data)||!l||r!==t)return p||(u?e[s]=p=Z.deletedIds.pop()||Z.guid++:p=s),c[p]||(c[p]={},u||(c[p].toJSON=Z.noop)),"object"!=typeof n&&"function"!=typeof n||(i?c[p]=Z.extend(c[p],n):c[p].data=Z.extend(c[p].data,n)),o=c[p],i||(o.data||(o.data={}),o=o.data),r!==t&&(o[Z.camelCase(n)]=r),l?(a=o[n],null==a&&(a=o[Z.camelCase(n)])):a=o,a}},removeData:function(e,t,n){if(Z.acceptData(e)){var r,i,a,s=e.nodeType,l=s?Z.cache:e,u=s?e[Z.expando]:Z.expando;if(l[u]){if(t&&(r=n?l[u]:l[u].data)){Z.isArray(t)||(t in r?t=[t]:(t=Z.camelCase(t),t=t in r?[t]:t.split(" ")));for(i=0,a=t.length;a>i;i++)delete r[t[i]];if(!(n?o:Z.isEmptyObject)(r))return}(n||(delete l[u].data,o(l[u])))&&(s?Z.cleanData([e],!0):Z.support.deleteExpando||l!=l.window?delete l[u]:l[u]=null)}}},_data:function(e,t,n){return Z.data(e,t,n,!0)},acceptData:function(e){var t=e.nodeName&&Z.noData[e.nodeName.toLowerCase()];return!t||t!==!0&&e.getAttribute("classid")===t}}),Z.fn.extend({data:function(e,n){var r,o,a,s,l,u=this[0],c=0,p=null;if(e===t){if(this.length&&(p=Z.data(u),1===u.nodeType&&!Z._data(u,"parsedAttrs"))){for(a=u.attributes,l=a.length;l>c;c++)s=a[c].name,s.indexOf("data-")||(s=Z.camelCase(s.substring(5)),i(u,s,p[s]));Z._data(u,"parsedAttrs",!0)}return p}return"object"==typeof e?this.each(function(){Z.data(this,e)}):(r=e.split(".",2),r[1]=r[1]?"."+r[1]:"",o=r[1]+"!",Z.access(this,function(n){return n===t?(p=this.triggerHandler("getData"+o,[r[0]]),p===t&&u&&(p=Z.data(u,e),p=i(u,e,p)),p===t&&r[1]?this.data(r[0]):p):(r[1]=n,void this.each(function(){var t=Z(this);t.triggerHandler("setData"+o,r),Z.data(this,e,n),t.triggerHandler("changeData"+o,r);
+}))},null,n,arguments.length>1,null,!1))},removeData:function(e){return this.each(function(){Z.removeData(this,e)})}}),Z.extend({queue:function(e,t,n){var r;return e?(t=(t||"fx")+"queue",r=Z._data(e,t),n&&(!r||Z.isArray(n)?r=Z._data(e,t,Z.makeArray(n)):r.push(n)),r||[]):void 0},dequeue:function(e,t){t=t||"fx";var n=Z.queue(e,t),r=n.length,i=n.shift(),o=Z._queueHooks(e,t),a=function(){Z.dequeue(e,t)};"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,a,o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return Z._data(e,n)||Z._data(e,n,{empty:Z.Callbacks("once memory").add(function(){Z.removeData(e,t+"queue",!0),Z.removeData(e,n,!0)})})}}),Z.fn.extend({queue:function(e,n){var r=2;return"string"!=typeof e&&(n=e,e="fx",r--),arguments.length<r?Z.queue(this[0],e):n===t?this:this.each(function(){var t=Z.queue(this,e,n);Z._queueHooks(this,e),"fx"===e&&"inprogress"!==t[0]&&Z.dequeue(this,e)})},dequeue:function(e){return this.each(function(){Z.dequeue(this,e)})},delay:function(e,t){return e=Z.fx?Z.fx.speeds[e]||e:e,t=t||"fx",this.queue(t,function(t,n){var r=setTimeout(t,e);n.stop=function(){clearTimeout(r)}})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,n){var r,i=1,o=Z.Deferred(),a=this,s=this.length,l=function(){--i||o.resolveWith(a,[a])};for("string"!=typeof e&&(n=e,e=t),e=e||"fx";s--;)r=Z._data(a[s],e+"queueHooks"),r&&r.empty&&(i++,r.empty.add(l));return l(),o.promise(n)}});var ye,be,xe,we=/[\t\r\n]/g,Se=/\r/g,ke=/^(?:button|input)$/i,Ce=/^(?:button|input|object|select|textarea)$/i,_e=/^a(?:rea|)$/i,Ee=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,Ae=Z.support.getSetAttribute;Z.fn.extend({attr:function(e,t){return Z.access(this,Z.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){Z.removeAttr(this,e)})},prop:function(e,t){return Z.access(this,Z.prop,e,t,arguments.length>1)},removeProp:function(e){return e=Z.propFix[e]||e,this.each(function(){try{this[e]=t,delete this[e]}catch(n){}})},addClass:function(e){var t,n,r,i,o,a,s;if(Z.isFunction(e))return this.each(function(t){Z(this).addClass(e.call(this,t,this.className))});if(e&&"string"==typeof e)for(t=e.split(ne),n=0,r=this.length;r>n;n++)if(i=this[n],1===i.nodeType)if(i.className||1!==t.length){for(o=" "+i.className+" ",a=0,s=t.length;s>a;a++)o.indexOf(" "+t[a]+" ")<0&&(o+=t[a]+" ");i.className=Z.trim(o)}else i.className=e;return this},removeClass:function(e){var n,r,i,o,a,s,l;if(Z.isFunction(e))return this.each(function(t){Z(this).removeClass(e.call(this,t,this.className))});if(e&&"string"==typeof e||e===t)for(n=(e||"").split(ne),s=0,l=this.length;l>s;s++)if(i=this[s],1===i.nodeType&&i.className){for(r=(" "+i.className+" ").replace(we," "),o=0,a=n.length;a>o;o++)for(;r.indexOf(" "+n[o]+" ")>=0;)r=r.replace(" "+n[o]+" "," ");i.className=e?Z.trim(r):""}return this},toggleClass:function(e,t){var n=typeof e,r="boolean"==typeof t;return Z.isFunction(e)?this.each(function(n){Z(this).toggleClass(e.call(this,n,this.className,t),t)}):this.each(function(){if("string"===n)for(var i,o=0,a=Z(this),s=t,l=e.split(ne);i=l[o++];)s=r?s:!a.hasClass(i),a[s?"addClass":"removeClass"](i);else"undefined"!==n&&"boolean"!==n||(this.className&&Z._data(this,"__className__",this.className),this.className=this.className||e===!1?"":Z._data(this,"__className__")||"")})},hasClass:function(e){for(var t=" "+e+" ",n=0,r=this.length;r>n;n++)if(1===this[n].nodeType&&(" "+this[n].className+" ").replace(we," ").indexOf(t)>=0)return!0;return!1},val:function(e){var n,r,i,o=this[0];{if(arguments.length)return i=Z.isFunction(e),this.each(function(r){var o,a=Z(this);1===this.nodeType&&(o=i?e.call(this,r,a.val()):e,null==o?o="":"number"==typeof o?o+="":Z.isArray(o)&&(o=Z.map(o,function(e){return null==e?"":e+""})),n=Z.valHooks[this.type]||Z.valHooks[this.nodeName.toLowerCase()],n&&"set"in n&&n.set(this,o,"value")!==t||(this.value=o))});if(o)return n=Z.valHooks[o.type]||Z.valHooks[o.nodeName.toLowerCase()],n&&"get"in n&&(r=n.get(o,"value"))!==t?r:(r=o.value,"string"==typeof r?r.replace(Se,""):null==r?"":r)}}}),Z.extend({valHooks:{option:{get:function(e){var t=e.attributes.value;return!t||t.specified?e.value:e.text}},select:{get:function(e){for(var t,n,r=e.options,i=e.selectedIndex,o="select-one"===e.type||0>i,a=o?null:[],s=o?i+1:r.length,l=0>i?s:o?i:0;s>l;l++)if(n=r[l],(n.selected||l===i)&&(Z.support.optDisabled?!n.disabled:null===n.getAttribute("disabled"))&&(!n.parentNode.disabled||!Z.nodeName(n.parentNode,"optgroup"))){if(t=Z(n).val(),o)return t;a.push(t)}return a},set:function(e,t){var n=Z.makeArray(t);return Z(e).find("option").each(function(){this.selected=Z.inArray(Z(this).val(),n)>=0}),n.length||(e.selectedIndex=-1),n}}},attrFn:{},attr:function(e,n,r,i){var o,a,s,l=e.nodeType;if(e&&3!==l&&8!==l&&2!==l)return i&&Z.isFunction(Z.fn[n])?Z(e)[n](r):"undefined"==typeof e.getAttribute?Z.prop(e,n,r):(s=1!==l||!Z.isXMLDoc(e),s&&(n=n.toLowerCase(),a=Z.attrHooks[n]||(Ee.test(n)?be:ye)),r!==t?null===r?void Z.removeAttr(e,n):a&&"set"in a&&s&&(o=a.set(e,r,n))!==t?o:(e.setAttribute(n,r+""),r):a&&"get"in a&&s&&null!==(o=a.get(e,n))?o:(o=e.getAttribute(n),null===o?t:o))},removeAttr:function(e,t){var n,r,i,o,a=0;if(t&&1===e.nodeType)for(r=t.split(ne);a<r.length;a++)i=r[a],i&&(n=Z.propFix[i]||i,o=Ee.test(i),o||Z.attr(e,i,""),e.removeAttribute(Ae?i:n),o&&n in e&&(e[n]=!1))},attrHooks:{type:{set:function(e,t){if(ke.test(e.nodeName)&&e.parentNode)Z.error("type property can't be changed");else if(!Z.support.radioValue&&"radio"===t&&Z.nodeName(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}},value:{get:function(e,t){return ye&&Z.nodeName(e,"button")?ye.get(e,t):t in e?e.value:null},set:function(e,t,n){return ye&&Z.nodeName(e,"button")?ye.set(e,t,n):void(e.value=t)}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(e,n,r){var i,o,a,s=e.nodeType;if(e&&3!==s&&8!==s&&2!==s)return a=1!==s||!Z.isXMLDoc(e),a&&(n=Z.propFix[n]||n,o=Z.propHooks[n]),r!==t?o&&"set"in o&&(i=o.set(e,r,n))!==t?i:e[n]=r:o&&"get"in o&&null!==(i=o.get(e,n))?i:e[n]},propHooks:{tabIndex:{get:function(e){var n=e.getAttributeNode("tabindex");return n&&n.specified?parseInt(n.value,10):Ce.test(e.nodeName)||_e.test(e.nodeName)&&e.href?0:t}}}}),be={get:function(e,n){var r,i=Z.prop(e,n);return i===!0||"boolean"!=typeof i&&(r=e.getAttributeNode(n))&&r.nodeValue!==!1?n.toLowerCase():t},set:function(e,t,n){var r;return t===!1?Z.removeAttr(e,n):(r=Z.propFix[n]||n,r in e&&(e[r]=!0),e.setAttribute(n,n.toLowerCase())),n}},Ae||(xe={name:!0,id:!0,coords:!0},ye=Z.valHooks.button={get:function(e,n){var r;return r=e.getAttributeNode(n),r&&(xe[n]?""!==r.value:r.specified)?r.value:t},set:function(e,t,n){var r=e.getAttributeNode(n);return r||(r=q.createAttribute(n),e.setAttributeNode(r)),r.value=t+""}},Z.each(["width","height"],function(e,t){Z.attrHooks[t]=Z.extend(Z.attrHooks[t],{set:function(e,n){return""===n?(e.setAttribute(t,"auto"),n):void 0}})}),Z.attrHooks.contenteditable={get:ye.get,set:function(e,t,n){""===t&&(t="false"),ye.set(e,t,n)}}),Z.support.hrefNormalized||Z.each(["href","src","width","height"],function(e,n){Z.attrHooks[n]=Z.extend(Z.attrHooks[n],{get:function(e){var r=e.getAttribute(n,2);return null===r?t:r}})}),Z.support.style||(Z.attrHooks.style={get:function(e){return e.style.cssText.toLowerCase()||t},set:function(e,t){return e.style.cssText=t+""}}),Z.support.optSelected||(Z.propHooks.selected=Z.extend(Z.propHooks.selected,{get:function(e){var t=e.parentNode;return t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex),null}})),Z.support.enctype||(Z.propFix.enctype="encoding"),Z.support.checkOn||Z.each(["radio","checkbox"],function(){Z.valHooks[this]={get:function(e){return null===e.getAttribute("value")?"on":e.value}}}),Z.each(["radio","checkbox"],function(){Z.valHooks[this]=Z.extend(Z.valHooks[this],{set:function(e,t){return Z.isArray(t)?e.checked=Z.inArray(Z(e).val(),t)>=0:void 0}})});var Ne=/^(?:textarea|input|select)$/i,Te=/^([^\.]*|)(?:\.(.+)|)$/,Pe=/(?:^|\s)hover(\.\S+|)\b/,Le=/^key/,je=/^(?:mouse|contextmenu)|click/,Oe=/^(?:focusinfocus|focusoutblur)$/,Me=function(e){return Z.event.special.hover?e:e.replace(Pe,"mouseenter$1 mouseleave$1")};Z.event={add:function(e,n,r,i,o){var a,s,l,u,c,p,h,f,d,g,m;if(3!==e.nodeType&&8!==e.nodeType&&n&&r&&(a=Z._data(e))){for(r.handler&&(d=r,r=d.handler,o=d.selector),r.guid||(r.guid=Z.guid++),l=a.events,l||(a.events=l={}),s=a.handle,s||(a.handle=s=function(e){return"undefined"==typeof Z||e&&Z.event.triggered===e.type?t:Z.event.dispatch.apply(s.elem,arguments)},s.elem=e),n=Z.trim(Me(n)).split(" "),u=0;u<n.length;u++)c=Te.exec(n[u])||[],p=c[1],h=(c[2]||"").split(".").sort(),m=Z.event.special[p]||{},p=(o?m.delegateType:m.bindType)||p,m=Z.event.special[p]||{},f=Z.extend({type:p,origType:c[1],data:i,handler:r,guid:r.guid,selector:o,needsContext:o&&Z.expr.match.needsContext.test(o),namespace:h.join(".")},d),g=l[p],g||(g=l[p]=[],g.delegateCount=0,m.setup&&m.setup.call(e,i,h,s)!==!1||(e.addEventListener?e.addEventListener(p,s,!1):e.attachEvent&&e.attachEvent("on"+p,s))),m.add&&(m.add.call(e,f),f.handler.guid||(f.handler.guid=r.guid)),o?g.splice(g.delegateCount++,0,f):g.push(f),Z.event.global[p]=!0;e=null}},global:{},remove:function(e,t,n,r,i){var o,a,s,l,u,c,p,h,f,d,g,m=Z.hasData(e)&&Z._data(e);if(m&&(h=m.events)){for(t=Z.trim(Me(t||"")).split(" "),o=0;o<t.length;o++)if(a=Te.exec(t[o])||[],s=l=a[1],u=a[2],s){for(f=Z.event.special[s]||{},s=(r?f.delegateType:f.bindType)||s,d=h[s]||[],c=d.length,u=u?new RegExp("(^|\\.)"+u.split(".").sort().join("\\.(?:.*\\.|)")+"(\\.|$)"):null,p=0;p<d.length;p++)g=d[p],!i&&l!==g.origType||n&&n.guid!==g.guid||u&&!u.test(g.namespace)||r&&r!==g.selector&&("**"!==r||!g.selector)||(d.splice(p--,1),g.selector&&d.delegateCount--,f.remove&&f.remove.call(e,g));0===d.length&&c!==d.length&&(f.teardown&&f.teardown.call(e,u,m.handle)!==!1||Z.removeEvent(e,s,m.handle),delete h[s])}else for(s in h)Z.event.remove(e,s+t[o],n,r,!0);Z.isEmptyObject(h)&&(delete m.handle,Z.removeData(e,"events",!0))}},customEvent:{getData:!0,setData:!0,changeData:!0},trigger:function(n,r,i,o){if(!i||3!==i.nodeType&&8!==i.nodeType){var a,s,l,u,c,p,h,f,d,g,m=n.type||n,v=[];if(!Oe.test(m+Z.event.triggered)&&(m.indexOf("!")>=0&&(m=m.slice(0,-1),s=!0),m.indexOf(".")>=0&&(v=m.split("."),m=v.shift(),v.sort()),i&&!Z.event.customEvent[m]||Z.event.global[m]))if(n="object"==typeof n?n[Z.expando]?n:new Z.Event(m,n):new Z.Event(m),n.type=m,n.isTrigger=!0,n.exclusive=s,n.namespace=v.join("."),n.namespace_re=n.namespace?new RegExp("(^|\\.)"+v.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,p=m.indexOf(":")<0?"on"+m:"",i){if(n.result=t,n.target||(n.target=i),r=null!=r?Z.makeArray(r):[],r.unshift(n),h=Z.event.special[m]||{},!h.trigger||h.trigger.apply(i,r)!==!1){if(d=[[i,h.bindType||m]],!o&&!h.noBubble&&!Z.isWindow(i)){for(g=h.delegateType||m,u=Oe.test(g+m)?i:i.parentNode,c=i;u;u=u.parentNode)d.push([u,g]),c=u;c===(i.ownerDocument||q)&&d.push([c.defaultView||c.parentWindow||e,g])}for(l=0;l<d.length&&!n.isPropagationStopped();l++)u=d[l][0],n.type=d[l][1],f=(Z._data(u,"events")||{})[n.type]&&Z._data(u,"handle"),f&&f.apply(u,r),f=p&&u[p],f&&Z.acceptData(u)&&f.apply&&f.apply(u,r)===!1&&n.preventDefault();return n.type=m,o||n.isDefaultPrevented()||h._default&&h._default.apply(i.ownerDocument,r)!==!1||"click"===m&&Z.nodeName(i,"a")||!Z.acceptData(i)||p&&i[m]&&("focus"!==m&&"blur"!==m||0!==n.target.offsetWidth)&&!Z.isWindow(i)&&(c=i[p],c&&(i[p]=null),Z.event.triggered=m,i[m](),Z.event.triggered=t,c&&(i[p]=c)),n.result}}else{a=Z.cache;for(l in a)a[l].events&&a[l].events[m]&&Z.event.trigger(n,r,a[l].handle.elem,!0)}}},dispatch:function(n){n=Z.event.fix(n||e.event);var r,i,o,a,s,l,u,c,p,h=(Z._data(this,"events")||{})[n.type]||[],f=h.delegateCount,d=X.call(arguments),g=!n.exclusive&&!n.namespace,m=Z.event.special[n.type]||{},v=[];if(d[0]=n,n.delegateTarget=this,!m.preDispatch||m.preDispatch.call(this,n)!==!1){if(f&&(!n.button||"click"!==n.type))for(o=n.target;o!=this;o=o.parentNode||this)if(o.disabled!==!0||"click"!==n.type){for(s={},u=[],r=0;f>r;r++)c=h[r],p=c.selector,s[p]===t&&(s[p]=c.needsContext?Z(p,this).index(o)>=0:Z.find(p,this,null,[o]).length),s[p]&&u.push(c);u.length&&v.push({elem:o,matches:u})}for(h.length>f&&v.push({elem:this,matches:h.slice(f)}),r=0;r<v.length&&!n.isPropagationStopped();r++)for(l=v[r],n.currentTarget=l.elem,i=0;i<l.matches.length&&!n.isImmediatePropagationStopped();i++)c=l.matches[i],(g||!n.namespace&&!c.namespace||n.namespace_re&&n.namespace_re.test(c.namespace))&&(n.data=c.data,n.handleObj=c,a=((Z.event.special[c.origType]||{}).handle||c.handler).apply(l.elem,d),a!==t&&(n.result=a,a===!1&&(n.preventDefault(),n.stopPropagation())));return m.postDispatch&&m.postDispatch.call(this,n),n.result}},props:"attrChange attrName relatedNode srcElement 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 fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(e,n){var r,i,o,a=n.button,s=n.fromElement;return null==e.pageX&&null!=n.clientX&&(r=e.target.ownerDocument||q,i=r.documentElement,o=r.body,e.pageX=n.clientX+(i&&i.scrollLeft||o&&o.scrollLeft||0)-(i&&i.clientLeft||o&&o.clientLeft||0),e.pageY=n.clientY+(i&&i.scrollTop||o&&o.scrollTop||0)-(i&&i.clientTop||o&&o.clientTop||0)),!e.relatedTarget&&s&&(e.relatedTarget=s===e.target?n.toElement:s),e.which||a===t||(e.which=1&a?1:2&a?3:4&a?2:0),e}},fix:function(e){if(e[Z.expando])return e;var t,n,r=e,i=Z.event.fixHooks[e.type]||{},o=i.props?this.props.concat(i.props):this.props;for(e=Z.Event(r),t=o.length;t;)n=o[--t],e[n]=r[n];return e.target||(e.target=r.srcElement||q),3===e.target.nodeType&&(e.target=e.target.parentNode),e.metaKey=!!e.metaKey,i.filter?i.filter(e,r):e},special:{load:{noBubble:!0},focus:{delegateType:"focusin"},blur:{delegateType:"focusout"},beforeunload:{setup:function(e,t,n){Z.isWindow(this)&&(this.onbeforeunload=n)},teardown:function(e,t){this.onbeforeunload===t&&(this.onbeforeunload=null)}}},simulate:function(e,t,n,r){var i=Z.extend(new Z.Event,n,{type:e,isSimulated:!0,originalEvent:{}});r?Z.event.trigger(i,null,t):Z.event.dispatch.call(t,i),i.isDefaultPrevented()&&n.preventDefault()}},Z.event.handle=Z.event.dispatch,Z.removeEvent=q.removeEventListener?function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n,!1)}:function(e,t,n){var r="on"+t;e.detachEvent&&("undefined"==typeof e[r]&&(e[r]=null),e.detachEvent(r,n))},Z.Event=function(e,t){return this instanceof Z.Event?(e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||e.returnValue===!1||e.getPreventDefault&&e.getPreventDefault()?s:a):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={preventDefault:function(){this.isDefaultPrevented=s;var e=this.originalEvent;e&&(e.preventDefault?e.preventDefault():e.returnValue=!1)},stopPropagation:function(){this.isPropagationStopped=s;var e=this.originalEvent;e&&(e.stopPropagation&&e.stopPropagation(),e.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=s,this.stopPropagation()},isDefaultPrevented:a,isPropagationStopped:a,isImmediatePropagationStopped:a},Z.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(e,t){Z.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,i=e.relatedTarget,o=e.handleObj;o.selector;return i&&(i===r||Z.contains(r,i))||(e.type=o.origType,n=o.handler.apply(this,arguments),e.type=t),n}}}),Z.support.submitBubbles||(Z.event.special.submit={setup:function(){return Z.nodeName(this,"form")?!1:void Z.event.add(this,"click._submit keypress._submit",function(e){var n=e.target,r=Z.nodeName(n,"input")||Z.nodeName(n,"button")?n.form:t;r&&!Z._data(r,"_submit_attached")&&(Z.event.add(r,"submit._submit",function(e){e._submit_bubble=!0}),Z._data(r,"_submit_attached",!0))})},postDispatch:function(e){e._submit_bubble&&(delete e._submit_bubble,this.parentNode&&!e.isTrigger&&Z.event.simulate("submit",this.parentNode,e,!0))},teardown:function(){return Z.nodeName(this,"form")?!1:void Z.event.remove(this,"._submit")}}),Z.support.changeBubbles||(Z.event.special.change={setup:function(){return Ne.test(this.nodeName)?("checkbox"!==this.type&&"radio"!==this.type||(Z.event.add(this,"propertychange._change",function(e){"checked"===e.originalEvent.propertyName&&(this._just_changed=!0)}),Z.event.add(this,"click._change",function(e){this._just_changed&&!e.isTrigger&&(this._just_changed=!1),Z.event.simulate("change",this,e,!0)})),!1):void Z.event.add(this,"beforeactivate._change",function(e){var t=e.target;Ne.test(t.nodeName)&&!Z._data(t,"_change_attached")&&(Z.event.add(t,"change._change",function(e){!this.parentNode||e.isSimulated||e.isTrigger||Z.event.simulate("change",this.parentNode,e,!0)}),Z._data(t,"_change_attached",!0))})},handle:function(e){var t=e.target;return this!==t||e.isSimulated||e.isTrigger||"radio"!==t.type&&"checkbox"!==t.type?e.handleObj.handler.apply(this,arguments):void 0},teardown:function(){return Z.event.remove(this,"._change"),!Ne.test(this.nodeName)}}),Z.support.focusinBubbles||Z.each({focus:"focusin",blur:"focusout"},function(e,t){var n=0,r=function(e){Z.event.simulate(t,e.target,Z.event.fix(e),!0)};Z.event.special[t]={setup:function(){0===n++&&q.addEventListener(e,r,!0)},teardown:function(){0===--n&&q.removeEventListener(e,r,!0)}}}),Z.fn.extend({on:function(e,n,r,i,o){var s,l;if("object"==typeof e){"string"!=typeof n&&(r=r||n,n=t);for(l in e)this.on(l,n,r,e[l],o);return this}if(null==r&&null==i?(i=n,r=n=t):null==i&&("string"==typeof n?(i=r,r=t):(i=r,r=n,n=t)),i===!1)i=a;else if(!i)return this;return 1===o&&(s=i,i=function(e){return Z().off(e),s.apply(this,arguments)},i.guid=s.guid||(s.guid=Z.guid++)),this.each(function(){Z.event.add(this,e,i,r,n)})},one:function(e,t,n,r){return this.on(e,t,n,r,1)},off:function(e,n,r){var i,o;if(e&&e.preventDefault&&e.handleObj)return i=e.handleObj,Z(e.delegateTarget).off(i.namespace?i.origType+"."+i.namespace:i.origType,i.selector,i.handler),this;if("object"==typeof e){for(o in e)this.off(o,n,e[o]);return this}return n!==!1&&"function"!=typeof n||(r=n,n=t),r===!1&&(r=a),this.each(function(){Z.event.remove(this,e,r,n)})},bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},live:function(e,t,n){return Z(this.context).on(e,this.selector,t,n),this},die:function(e,t){return Z(this.context).off(e,this.selector||"**",t),this},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},trigger:function(e,t){return this.each(function(){Z.event.trigger(e,t,this)})},triggerHandler:function(e,t){return this[0]?Z.event.trigger(e,t,this[0],!0):void 0},toggle:function(e){var t=arguments,n=e.guid||Z.guid++,r=0,i=function(n){var i=(Z._data(this,"lastToggle"+e.guid)||0)%r;return Z._data(this,"lastToggle"+e.guid,i+1),n.preventDefault(),t[i].apply(this,arguments)||!1};for(i.guid=n;r<t.length;)t[r++].guid=n;return this.click(i)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),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,n){return null==n&&(n=e,e=null),arguments.length>0?this.on(t,null,e,n):this.trigger(t)},Le.test(t)&&(Z.event.fixHooks[t]=Z.event.keyHooks),je.test(t)&&(Z.event.fixHooks[t]=Z.event.mouseHooks)}),function(e,t){function n(e,t,n,r){n=n||[],t=t||L;var i,o,a,s,l=t.nodeType;if(!e||"string"!=typeof e)return n;if(1!==l&&9!==l)return[];if(a=w(t),!a&&!r&&(i=ne.exec(e)))if(s=i[1]){if(9===l){if(o=t.getElementById(s),!o||!o.parentNode)return n;if(o.id===s)return n.push(o),n}else if(t.ownerDocument&&(o=t.ownerDocument.getElementById(s))&&S(t,o)&&o.id===s)return n.push(o),n}else{if(i[2])return H.apply(n,I.call(t.getElementsByTagName(e),0)),n;if((s=i[3])&&he&&t.getElementsByClassName)return H.apply(n,I.call(t.getElementsByClassName(s),0)),n}return g(e.replace(Y,"$1"),t,n,r,a)}function r(e){return function(t){var n=t.nodeName.toLowerCase();return"input"===n&&t.type===e}}function i(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function o(e){return B(function(t){return t=+t,B(function(n,r){for(var i,o=e([],n.length,t),a=o.length;a--;)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))})})}function a(e,t,n){if(e===t)return n;for(var r=e.nextSibling;r;){if(r===t)return-1;r=r.nextSibling}return 1}function s(e,t){var r,i,o,a,s,l,u,c=q[T][e+" "];if(c)return t?0:c.slice(0);for(s=e,l=[],u=b.preFilter;s;){r&&!(i=Q.exec(s))||(i&&(s=s.slice(i[0].length)||s),l.push(o=[])),r=!1,(i=ee.exec(s))&&(o.push(r=new P(i.shift())),s=s.slice(r.length),r.type=i[0].replace(Y," "));for(a in b.filter)!(i=se[a].exec(s))||u[a]&&!(i=u[a](i))||(o.push(r=new P(i.shift())),s=s.slice(r.length),r.type=a,r.matches=i);if(!r)break}return t?s.length:s?n.error(e):q(e,l).slice(0)}function l(e,t,n){var r=t.dir,i=n&&"parentNode"===t.dir,o=M++;return t.first?function(t,n,o){for(;t=t[r];)if(i||1===t.nodeType)return e(t,n,o)}:function(t,n,a){if(a){for(;t=t[r];)if((i||1===t.nodeType)&&e(t,n,a))return t}else for(var s,l=O+" "+o+" ",u=l+v;t=t[r];)if(i||1===t.nodeType){if((s=t[T])===u)return t.sizset;if("string"==typeof s&&0===s.indexOf(l)){if(t.sizset)return t}else{if(t[T]=u,e(t,n,a))return t.sizset=!0,t;t.sizset=!1}}}}function u(e){return e.length>1?function(t,n,r){for(var i=e.length;i--;)if(!e[i](t,n,r))return!1;return!0}:e[0]}function c(e,t,n,r,i){for(var o,a=[],s=0,l=e.length,u=null!=t;l>s;s++)(o=e[s])&&(n&&!n(o,r,i)||(a.push(o),u&&t.push(s)));return a}function p(e,t,n,r,i,o){return r&&!r[T]&&(r=p(r)),i&&!i[T]&&(i=p(i,o)),B(function(o,a,s,l){var u,p,h,f=[],g=[],m=a.length,v=o||d(t||"*",s.nodeType?[s]:s,[]),y=!e||!o&&t?v:c(v,f,e,s,l),b=n?i||(o?e:m||r)?[]:a:y;if(n&&n(y,b,s,l),r)for(u=c(b,g),r(u,[],s,l),p=u.length;p--;)(h=u[p])&&(b[g[p]]=!(y[g[p]]=h));if(o){if(i||e){if(i){for(u=[],p=b.length;p--;)(h=b[p])&&u.push(y[p]=h);i(null,b=[],u,l)}for(p=b.length;p--;)(h=b[p])&&(u=i?R.call(o,h):f[p])>-1&&(o[u]=!(a[u]=h))}}else b=c(b===a?b.splice(m,b.length):b),i?i(null,a,b,l):H.apply(a,b)})}function h(e){for(var t,n,r,i=e.length,o=b.relative[e[0].type],a=o||b.relative[" "],s=o?1:0,c=l(function(e){return e===t},a,!0),f=l(function(e){return R.call(t,e)>-1},a,!0),d=[function(e,n,r){return!o&&(r||n!==E)||((t=n).nodeType?c(e,n,r):f(e,n,r))}];i>s;s++)if(n=b.relative[e[s].type])d=[l(u(d),n)];else{if(n=b.filter[e[s].type].apply(null,e[s].matches),n[T]){for(r=++s;i>r&&!b.relative[e[r].type];r++);return p(s>1&&u(d),s>1&&e.slice(0,s-1).join("").replace(Y,"$1"),n,r>s&&h(e.slice(s,r)),i>r&&h(e=e.slice(r)),i>r&&e.join(""))}d.push(n)}return u(d)}function f(e,t){var r=t.length>0,i=e.length>0,o=function(a,s,l,u,p){var h,f,d,g=[],m=0,y="0",x=a&&[],w=null!=p,S=E,k=a||i&&b.find.TAG("*",p&&s.parentNode||s),C=O+=null==S?1:Math.E;for(w&&(E=s!==L&&s,v=o.el);null!=(h=k[y]);y++){if(i&&h){for(f=0;d=e[f];f++)if(d(h,s,l)){u.push(h);break}w&&(O=C,v=++o.el)}r&&((h=!d&&h)&&m--,a&&x.push(h))}if(m+=y,r&&y!==m){for(f=0;d=t[f];f++)d(x,g,s,l);if(a){if(m>0)for(;y--;)x[y]||g[y]||(g[y]=D.call(u));g=c(g)}H.apply(u,g),w&&!a&&g.length>0&&m+t.length>1&&n.uniqueSort(u)}return w&&(O=C,E=S),x};return o.el=0,r?B(o):o}function d(e,t,r){for(var i=0,o=t.length;o>i;i++)n(e,t[i],r);return r}function g(e,t,n,r,i){var o,a,l,u,c,p=s(e);p.length;if(!r&&1===p.length){if(a=p[0]=p[0].slice(0),a.length>2&&"ID"===(l=a[0]).type&&9===t.nodeType&&!i&&b.relative[a[1].type]){if(t=b.find.ID(l.matches[0].replace(ae,""),t,i)[0],!t)return n;e=e.slice(a.shift().length)}for(o=se.POS.test(e)?-1:a.length-1;o>=0&&(l=a[o],!b.relative[u=l.type]);o--)if((c=b.find[u])&&(r=c(l.matches[0].replace(ae,""),re.test(a[0].type)&&t.parentNode||t,i))){if(a.splice(o,1),e=r.length&&a.join(""),!e)return H.apply(n,I.call(r,0)),n;break}}return k(e,p)(r,t,i,n,re.test(e)),n}function m(){}var v,y,b,x,w,S,k,C,_,E,A=!0,N="undefined",T=("sizcache"+Math.random()).replace(".",""),P=String,L=e.document,j=L.documentElement,O=0,M=0,D=[].pop,H=[].push,I=[].slice,R=[].indexOf||function(e){for(var t=0,n=this.length;n>t;t++)if(this[t]===e)return t;return-1},B=function(e,t){return e[T]=null==t||t,e},$=function(){var e={},t=[];return B(function(n,r){return t.push(n)>b.cacheLength&&delete e[t.shift()],e[n+" "]=r},e)},F=$(),q=$(),W=$(),U="[\\x20\\t\\r\\n\\f]",z="(?:\\\\.|[-\\w]|[^\\x00-\\xa0])+",V=z.replace("w","w#"),G="([*^$|!~]?=)",X="\\["+U+"*("+z+")"+U+"*(?:"+G+U+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+V+")|)|)"+U+"*\\]",J=":("+z+")(?:\\((?:(['\"])((?:\\\\.|[^\\\\])*?)\\2|([^()[\\]]*|(?:(?:"+X+")|[^:]|\\\\.)*|.*))\\)|)",K=":(even|odd|eq|gt|lt|nth|first|last)(?:\\("+U+"*((?:-\\d)?\\d*)"+U+"*\\)|)(?=[^-]|$)",Y=new RegExp("^"+U+"+|((?:^|[^\\\\])(?:\\\\.)*)"+U+"+$","g"),Q=new RegExp("^"+U+"*,"+U+"*"),ee=new RegExp("^"+U+"*([\\x20\\t\\r\\n\\f>+~])"+U+"*"),te=new RegExp(J),ne=/^(?:#([\w\-]+)|(\w+)|\.([\w\-]+))$/,re=/[\x20\t\r\n\f]*[+~]/,ie=/h\d/i,oe=/input|select|textarea|button/i,ae=/\\(?!\\)/g,se={ID:new RegExp("^#("+z+")"),CLASS:new RegExp("^\\.("+z+")"),NAME:new RegExp("^\\[name=['\"]?("+z+")['\"]?\\]"),TAG:new RegExp("^("+z.replace("w","w*")+")"),ATTR:new RegExp("^"+X),PSEUDO:new RegExp("^"+J),POS:new RegExp(K,"i"),CHILD:new RegExp("^:(only|nth|first|last)-child(?:\\("+U+"*(even|odd|(([+-]|)(\\d*)n|)"+U+"*(?:([+-]|)"+U+"*(\\d+)|))"+U+"*\\)|)","i"),needsContext:new RegExp("^"+U+"*[>+~]|"+K,"i")},le=function(e){var t=L.createElement("div");try{return e(t)}catch(n){return!1}finally{t=null}},ue=le(function(e){return e.appendChild(L.createComment("")),!e.getElementsByTagName("*").length}),ce=le(function(e){return e.innerHTML="<a href='#'></a>",e.firstChild&&typeof e.firstChild.getAttribute!==N&&"#"===e.firstChild.getAttribute("href")}),pe=le(function(e){e.innerHTML="<select></select>";var t=typeof e.lastChild.getAttribute("multiple");return"boolean"!==t&&"string"!==t}),he=le(function(e){return e.innerHTML="<div class='hidden e'></div><div class='hidden'></div>",e.getElementsByClassName&&e.getElementsByClassName("e").length?(e.lastChild.className="e",2===e.getElementsByClassName("e").length):!1}),fe=le(function(e){e.id=T+0,e.innerHTML="<a name='"+T+"'></a><div name='"+T+"'></div>",j.insertBefore(e,j.firstChild);var t=L.getElementsByName&&L.getElementsByName(T).length===2+L.getElementsByName(T+0).length;return y=!L.getElementById(T),j.removeChild(e),t});try{I.call(j.childNodes,0)[0].nodeType}catch(de){I=function(e){for(var t,n=[];t=this[e];e++)n.push(t);return n}}n.matches=function(e,t){return n(e,null,null,t)},n.matchesSelector=function(e,t){return n(t,null,null,[e]).length>0},x=n.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=x(e)}else if(3===i||4===i)return e.nodeValue}else for(;t=e[r];r++)n+=x(t);return n},w=n.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return t?"HTML"!==t.nodeName:!1},S=n.contains=j.contains?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!!(r&&1===r.nodeType&&n.contains&&n.contains(r))}:j.compareDocumentPosition?function(e,t){return t&&!!(16&e.compareDocumentPosition(t))}:function(e,t){for(;t=t.parentNode;)if(t===e)return!0;return!1},n.attr=function(e,t){var n,r=w(e);return r||(t=t.toLowerCase()),(n=b.attrHandle[t])?n(e):r||pe?e.getAttribute(t):(n=e.getAttributeNode(t),n?"boolean"==typeof e[t]?e[t]?t:null:n.specified?n.value:null:null)},b=n.selectors={cacheLength:50,createPseudo:B,match:se,attrHandle:ce?{}:{href:function(e){return e.getAttribute("href",2)},type:function(e){return e.getAttribute("type")}},find:{ID:y?function(e,t,n){if(typeof t.getElementById!==N&&!n){var r=t.getElementById(e);return r&&r.parentNode?[r]:[]}}:function(e,n,r){if(typeof n.getElementById!==N&&!r){var i=n.getElementById(e);return i?i.id===e||typeof i.getAttributeNode!==N&&i.getAttributeNode("id").value===e?[i]:t:[]}},TAG:ue?function(e,t){return typeof t.getElementsByTagName!==N?t.getElementsByTagName(e):void 0}:function(e,t){var n=t.getElementsByTagName(e);if("*"===e){for(var r,i=[],o=0;r=n[o];o++)1===r.nodeType&&i.push(r);return i}return n},NAME:fe&&function(e,t){return typeof t.getElementsByName!==N?t.getElementsByName(name):void 0},CLASS:he&&function(e,t,n){return typeof t.getElementsByClassName===N||n?void 0:t.getElementsByClassName(e)}},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(ae,""),e[3]=(e[4]||e[5]||"").replace(ae,""),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1]?(e[2]||n.error(e[0]),e[3]=+(e[3]?e[4]+(e[5]||1):2*("even"===e[2]||"odd"===e[2])),e[4]=+(e[6]+e[7]||"odd"===e[2])):e[2]&&n.error(e[0]),e},PSEUDO:function(e){var t,n;return se.CHILD.test(e[0])?null:(e[3]?e[2]=e[3]:(t=e[4])&&(te.test(t)&&(n=s(t,!0))&&(n=t.indexOf(")",t.length-n)-t.length)&&(t=t.slice(0,n),e[0]=e[0].slice(0,n)),e[2]=t),e.slice(0,3))}},filter:{ID:y?function(e){return e=e.replace(ae,""),function(t){return t.getAttribute("id")===e}}:function(e){return e=e.replace(ae,""),function(t){var n=typeof t.getAttributeNode!==N&&t.getAttributeNode("id");return n&&n.value===e}},TAG:function(e){return"*"===e?function(){return!0}:(e=e.replace(ae,"").toLowerCase(),function(t){return t.nodeName&&t.nodeName.toLowerCase()===e})},CLASS:function(e){var t=F[T][e+" "];return t||(t=new RegExp("(^|"+U+")"+e+"("+U+"|$)"))&&F(e,function(e){return t.test(e.className||typeof e.getAttribute!==N&&e.getAttribute("class")||"")})},ATTR:function(e,t,r){return function(i,o){var a=n.attr(i,e);return null==a?"!="===t:t?(a+="","="===t?a===r:"!="===t?a!==r:"^="===t?r&&0===a.indexOf(r):"*="===t?r&&a.indexOf(r)>-1:"$="===t?r&&a.substr(a.length-r.length)===r:"~="===t?(" "+a+" ").indexOf(r)>-1:"|="===t?a===r||a.substr(0,r.length+1)===r+"-":!1):!0}},CHILD:function(e,t,n,r){return"nth"===e?function(e){var t,i,o=e.parentNode;if(1===n&&0===r)return!0;if(o)for(i=0,t=o.firstChild;t&&(1!==t.nodeType||(i++,e!==t));t=t.nextSibling);return i-=r,i===n||i%n===0&&i/n>=0}:function(t){var n=t;switch(e){case"only":case"first":for(;n=n.previousSibling;)if(1===n.nodeType)return!1;if("first"===e)return!0;n=t;case"last":for(;n=n.nextSibling;)if(1===n.nodeType)return!1;return!0}}},PSEUDO:function(e,t){var r,i=b.pseudos[e]||b.setFilters[e.toLowerCase()]||n.error("unsupported pseudo: "+e);return i[T]?i(t):i.length>1?(r=[e,e,"",t],b.setFilters.hasOwnProperty(e.toLowerCase())?B(function(e,n){for(var r,o=i(e,t),a=o.length;a--;)r=R.call(e,o[a]),e[r]=!(n[r]=o[a])}):function(e){return i(e,0,r)}):i}},pseudos:{not:B(function(e){var t=[],n=[],r=k(e.replace(Y,"$1"));return r[T]?B(function(e,t,n,i){for(var o,a=r(e,null,i,[]),s=e.length;s--;)(o=a[s])&&(e[s]=!(t[s]=o))}):function(e,i,o){return t[0]=e,r(t,null,o,n),!n.pop()}}),has:B(function(e){return function(t){return n(e,t).length>0}}),contains:B(function(e){return function(t){return(t.textContent||t.innerText||x(t)).indexOf(e)>-1}}),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},parent:function(e){return!b.pseudos.empty(e)},empty:function(e){var t;for(e=e.firstChild;e;){if(e.nodeName>"@"||3===(t=e.nodeType)||4===t)return!1;e=e.nextSibling}return!0},header:function(e){return ie.test(e.nodeName)},text:function(e){var t,n;return"input"===e.nodeName.toLowerCase()&&"text"===(t=e.type)&&(null==(n=e.getAttribute("type"))||n.toLowerCase()===t)},radio:r("radio"),checkbox:r("checkbox"),file:r("file"),password:r("password"),image:r("image"),submit:i("submit"),reset:i("reset"),button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},input:function(e){return oe.test(e.nodeName)},focus:function(e){var t=e.ownerDocument;return e===t.activeElement&&(!t.hasFocus||t.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},active:function(e){return e===e.ownerDocument.activeElement},first:o(function(){return[0]}),last:o(function(e,t){return[t-1]}),eq:o(function(e,t,n){return[0>n?n+t:n]}),even:o(function(e,t){for(var n=0;t>n;n+=2)e.push(n);return e}),odd:o(function(e,t){for(var n=1;t>n;n+=2)e.push(n);return e}),lt:o(function(e,t,n){for(var r=0>n?n+t:n;--r>=0;)e.push(r);return e}),gt:o(function(e,t,n){for(var r=0>n?n+t:n;++r<t;)e.push(r);return e})}},C=j.compareDocumentPosition?function(e,t){return e===t?(_=!0,0):(e.compareDocumentPosition&&t.compareDocumentPosition?4&e.compareDocumentPosition(t):e.compareDocumentPosition)?-1:1}:function(e,t){if(e===t)return _=!0,0;if(e.sourceIndex&&t.sourceIndex)return e.sourceIndex-t.sourceIndex;var n,r,i=[],o=[],s=e.parentNode,l=t.parentNode,u=s;if(s===l)return a(e,t);if(!s)return-1;if(!l)return 1;for(;u;)i.unshift(u),u=u.parentNode;for(u=l;u;)o.unshift(u),u=u.parentNode;n=i.length,r=o.length;for(var c=0;n>c&&r>c;c++)if(i[c]!==o[c])return a(i[c],o[c]);return c===n?a(e,o[c],-1):a(i[c],t,1)},[0,0].sort(C),A=!_,n.uniqueSort=function(e){var t,n=[],r=1,i=0;if(_=A,e.sort(C),_){for(;t=e[r];r++)t===e[r-1]&&(i=n.push(r));for(;i--;)e.splice(n[i],1)}return e},n.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},k=n.compile=function(e,t){var n,r=[],i=[],o=W[T][e+" "];if(!o){for(t||(t=s(e)),n=t.length;n--;)o=h(t[n]),o[T]?r.push(o):i.push(o);o=W(e,f(i,r))}return o},L.querySelectorAll&&!function(){var e,t=g,r=/'|\\/g,i=/\=[\x20\t\r\n\f]*([^'"\]]*)[\x20\t\r\n\f]*\]/g,o=[":focus"],a=[":active"],l=j.matchesSelector||j.mozMatchesSelector||j.webkitMatchesSelector||j.oMatchesSelector||j.msMatchesSelector;le(function(e){e.innerHTML="<select><option selected=''></option></select>",e.querySelectorAll("[selected]").length||o.push("\\["+U+"*(?:checked|disabled|ismap|multiple|readonly|selected|value)"),e.querySelectorAll(":checked").length||o.push(":checked")}),le(function(e){e.innerHTML="<p test=''></p>",e.querySelectorAll("[test^='']").length&&o.push("[*^$]="+U+"*(?:\"\"|'')"),e.innerHTML="<input type='hidden'/>",e.querySelectorAll(":enabled").length||o.push(":enabled",":disabled")}),o=new RegExp(o.join("|")),g=function(e,n,i,a,l){if(!a&&!l&&!o.test(e)){var u,c,p=!0,h=T,f=n,d=9===n.nodeType&&e;if(1===n.nodeType&&"object"!==n.nodeName.toLowerCase()){for(u=s(e),(p=n.getAttribute("id"))?h=p.replace(r,"\\$&"):n.setAttribute("id",h),h="[id='"+h+"'] ",c=u.length;c--;)u[c]=h+u[c].join("");f=re.test(e)&&n.parentNode||n,d=u.join(",")}if(d)try{return H.apply(i,I.call(f.querySelectorAll(d),0)),i}catch(g){}finally{p||n.removeAttribute("id")}}return t(e,n,i,a,l)},l&&(le(function(t){e=l.call(t,"div");try{l.call(t,"[test!='']:sizzle"),a.push("!=",J)}catch(n){}}),a=new RegExp(a.join("|")),n.matchesSelector=function(t,r){if(r=r.replace(i,"='$1']"),!w(t)&&!a.test(r)&&!o.test(r))try{var s=l.call(t,r);if(s||e||t.document&&11!==t.document.nodeType)return s}catch(u){}return n(r,null,null,[t]).length>0})}(),b.pseudos.nth=b.pseudos.eq,b.filters=m.prototype=b.pseudos,b.setFilters=new m,n.attr=Z.attr,Z.find=n,Z.expr=n.selectors,Z.expr[":"]=Z.expr.pseudos,Z.unique=n.uniqueSort,Z.text=n.getText,Z.isXMLDoc=n.isXML,Z.contains=n.contains}(e);var De=/Until$/,He=/^(?:parents|prev(?:Until|All))/,Ie=/^.[^:#\[\.,]*$/,Re=Z.expr.match.needsContext,Be={children:!0,contents:!0,next:!0,prev:!0};Z.fn.extend({find:function(e){var t,n,r,i,o,a,s=this;if("string"!=typeof e)return Z(e).filter(function(){for(t=0,n=s.length;n>t;t++)if(Z.contains(s[t],this))return!0});for(a=this.pushStack("","find",e),t=0,n=this.length;n>t;t++)if(r=a.length,Z.find(e,this[t],a),t>0)for(i=r;i<a.length;i++)for(o=0;r>o;o++)if(a[o]===a[i]){a.splice(i--,1);break}return a},has:function(e){var t,n=Z(e,this),r=n.length;return this.filter(function(){for(t=0;r>t;t++)if(Z.contains(this,n[t]))return!0})},not:function(e){return this.pushStack(c(this,e,!1),"not",e)},filter:function(e){return this.pushStack(c(this,e,!0),"filter",e)},is:function(e){return!!e&&("string"==typeof e?Re.test(e)?Z(e,this.context).index(this[0])>=0:Z.filter(e,this).length>0:this.filter(e).length>0)},closest:function(e,t){for(var n,r=0,i=this.length,o=[],a=Re.test(e)||"string"!=typeof e?Z(e,t||this.context):0;i>r;r++)for(n=this[r];n&&n.ownerDocument&&n!==t&&11!==n.nodeType;){if(a?a.index(n)>-1:Z.find.matchesSelector(n,e)){o.push(n);break}n=n.parentNode}return o=o.length>1?Z.unique(o):o,this.pushStack(o,"closest",e)},index:function(e){return e?"string"==typeof e?Z.inArray(this[0],Z(e)):Z.inArray(e.jquery?e[0]:e,this):this[0]&&this[0].parentNode?this.prevAll().length:-1},add:function(e,t){var n="string"==typeof e?Z(e,t):Z.makeArray(e&&e.nodeType?[e]:e),r=Z.merge(this.get(),n);return this.pushStack(l(n[0])||l(r[0])?r:Z.unique(r))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),Z.fn.andSelf=Z.fn.addBack,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,n){return Z.dir(e,"parentNode",n)},next:function(e){return u(e,"nextSibling")},prev:function(e){return u(e,"previousSibling")},nextAll:function(e){return Z.dir(e,"nextSibling")},prevAll:function(e){return Z.dir(e,"previousSibling")},nextUntil:function(e,t,n){return Z.dir(e,"nextSibling",n)},prevUntil:function(e,t,n){return Z.dir(e,"previousSibling",n)},siblings:function(e){return Z.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return Z.sibling(e.firstChild)},contents:function(e){return Z.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:Z.merge([],e.childNodes)}},function(e,t){Z.fn[e]=function(n,r){var i=Z.map(this,t,n);return De.test(e)||(r=n),r&&"string"==typeof r&&(i=Z.filter(r,i)),i=this.length>1&&!Be[e]?Z.unique(i):i,this.length>1&&He.test(e)&&(i=i.reverse()),this.pushStack(i,e,X.call(arguments).join(","))}}),Z.extend({filter:function(e,t,n){return n&&(e=":not("+e+")"),1===t.length?Z.find.matchesSelector(t[0],e)?[t[0]]:[]:Z.find.matches(e,t)},dir:function(e,n,r){for(var i=[],o=e[n];o&&9!==o.nodeType&&(r===t||1!==o.nodeType||!Z(o).is(r));)1===o.nodeType&&i.push(o),o=o[n];return i},sibling:function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n}});var $e="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",Fe=/ jQuery\d+="(?:null|\d+)"/g,qe=/^\s+/,We=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,Ue=/<([\w:]+)/,ze=/<tbody/i,Ve=/<|&#?\w+;/,Ge=/<(?:script|style|link)/i,Xe=/<(?:script|object|embed|option|style)/i,Je=new RegExp("<(?:"+$e+")[\\s/>]","i"),Ke=/^(?:checkbox|radio)$/,Ye=/checked\s*(?:[^=]|=\s*.checked.)/i,Qe=/\/(java|ecma)script/i,Ze=/^\s*<!(?:\[CDATA\[|\-\-)|[\]\-]{2}>\s*$/g,et={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]},tt=p(q),nt=tt.appendChild(q.createElement("div"));et.optgroup=et.option,et.tbody=et.tfoot=et.colgroup=et.caption=et.thead,et.th=et.td,Z.support.htmlSerialize||(et._default=[1,"X<div>","</div>"]),Z.fn.extend({text:function(e){return Z.access(this,function(e){return e===t?Z.text(this):this.empty().append((this[0]&&this[0].ownerDocument||q).createTextNode(e))},null,e,arguments.length)},wrapAll:function(e){if(Z.isFunction(e))return this.each(function(t){Z(this).wrapAll(e.call(this,t))});if(this[0]){var 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.firstChild&&1===e.firstChild.nodeType;)e=e.firstChild;return e}).append(this)}return 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),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=Z.isFunction(e);return this.each(function(n){Z(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){Z.nodeName(this,"body")||Z(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(e){1!==this.nodeType&&11!==this.nodeType||this.appendChild(e)})},prepend:function(){return this.domManip(arguments,!0,function(e){1!==this.nodeType&&11!==this.nodeType||this.insertBefore(e,this.firstChild)})},before:function(){if(!l(this[0]))return this.domManip(arguments,!1,function(e){this.parentNode.insertBefore(e,this)});if(arguments.length){var e=Z.clean(arguments);return this.pushStack(Z.merge(e,this),"before",this.selector)}},after:function(){if(!l(this[0]))return this.domManip(arguments,!1,function(e){this.parentNode.insertBefore(e,this.nextSibling)});if(arguments.length){var e=Z.clean(arguments);return this.pushStack(Z.merge(this,e),"after",this.selector)}},remove:function(e,t){for(var n,r=0;null!=(n=this[r]);r++)e&&!Z.filter(e,[n]).length||(t||1!==n.nodeType||(Z.cleanData(n.getElementsByTagName("*")),Z.cleanData([n])),n.parentNode&&n.parentNode.removeChild(n));return this},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)for(1===e.nodeType&&Z.cleanData(e.getElementsByTagName("*"));e.firstChild;)e.removeChild(e.firstChild);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 Z.access(this,function(e){var n=this[0]||{},r=0,i=this.length;if(e===t)return 1===n.nodeType?n.innerHTML.replace(Fe,""):t;if("string"==typeof e&&!Ge.test(e)&&(Z.support.htmlSerialize||!Je.test(e))&&(Z.support.leadingWhitespace||!qe.test(e))&&!et[(Ue.exec(e)||["",""])[1].toLowerCase()]){e=e.replace(We,"<$1></$2>");try{for(;i>r;r++)n=this[r]||{},1===n.nodeType&&(Z.cleanData(n.getElementsByTagName("*")),n.innerHTML=e);n=0}catch(o){}}n&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(e){return l(this[0])?this.length?this.pushStack(Z(Z.isFunction(e)?e():e),"replaceWith",e):this:Z.isFunction(e)?this.each(function(t){var n=Z(this),r=n.html();n.replaceWith(e.call(this,t,r))}):("string"!=typeof e&&(e=Z(e).detach()),this.each(function(){var t=this.nextSibling,n=this.parentNode;Z(this).remove(),t?Z(t).before(e):Z(n).append(e)}))},detach:function(e){return this.remove(e,!0)},domManip:function(e,n,r){e=[].concat.apply([],e);var i,o,a,s,l=0,u=e[0],c=[],p=this.length;if(!Z.support.checkClone&&p>1&&"string"==typeof u&&Ye.test(u))return this.each(function(){Z(this).domManip(e,n,r)});if(Z.isFunction(u))return this.each(function(i){var o=Z(this);e[0]=u.call(this,i,n?o.html():t),o.domManip(e,n,r)});if(this[0]){if(i=Z.buildFragment(e,this,c),a=i.fragment,o=a.firstChild,1===a.childNodes.length&&(a=o),o)for(n=n&&Z.nodeName(o,"tr"),s=i.cacheable||p-1;p>l;l++)r.call(n&&Z.nodeName(this[l],"table")?h(this[l],"tbody"):this[l],l===s?a:Z.clone(a,!0,!0));a=o=null,c.length&&Z.each(c,function(e,t){t.src?Z.ajax?Z.ajax({url:t.src,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0}):Z.error("no ajax"):Z.globalEval((t.text||t.textContent||t.innerHTML||"").replace(Ze,"")),t.parentNode&&t.parentNode.removeChild(t)})}return this}}),Z.buildFragment=function(e,n,r){var i,o,a,s=e[0];return n=n||q,n=!n.nodeType&&n[0]||n,n=n.ownerDocument||n,!(1===e.length&&"string"==typeof s&&s.length<512&&n===q&&"<"===s.charAt(0))||Xe.test(s)||!Z.support.checkClone&&Ye.test(s)||!Z.support.html5Clone&&Je.test(s)||(o=!0,i=Z.fragments[s],a=i!==t),i||(i=n.createDocumentFragment(),Z.clean(e,n,i,r),o&&(Z.fragments[s]=a&&i)),{fragment:i,cacheable:o}},Z.fragments={},Z.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){Z.fn[e]=function(n){var r,i=0,o=[],a=Z(n),s=a.length,l=1===this.length&&this[0].parentNode;if((null==l||l&&11===l.nodeType&&1===l.childNodes.length)&&1===s)return a[t](this[0]),this;for(;s>i;i++)r=(i>0?this.clone(!0):this).get(),Z(a[i])[t](r),o=o.concat(r);return this.pushStack(o,e,a.selector)}}),Z.extend({clone:function(e,t,n){var r,i,o,a;if(Z.support.html5Clone||Z.isXMLDoc(e)||!Je.test("<"+e.nodeName+">")?a=e.cloneNode(!0):(nt.innerHTML=e.outerHTML,nt.removeChild(a=nt.firstChild)),!(Z.support.noCloneEvent&&Z.support.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||Z.isXMLDoc(e)))for(d(e,a),r=g(e),i=g(a),o=0;r[o];++o)i[o]&&d(r[o],i[o]);if(t&&(f(e,a),n))for(r=g(e),i=g(a),o=0;r[o];++o)f(r[o],i[o]);return r=i=null,a},clean:function(e,t,n,r){var i,o,a,s,l,u,c,h,f,d,g,v=t===q&&tt,y=[];for(t&&"undefined"!=typeof t.createDocumentFragment||(t=q),i=0;null!=(a=e[i]);i++)if("number"==typeof a&&(a+=""),a){if("string"==typeof a)if(Ve.test(a)){for(v=v||p(t),c=t.createElement("div"),v.appendChild(c),a=a.replace(We,"<$1></$2>"),s=(Ue.exec(a)||["",""])[1].toLowerCase(),l=et[s]||et._default,u=l[0],c.innerHTML=l[1]+a+l[2];u--;)c=c.lastChild;if(!Z.support.tbody)for(h=ze.test(a),f="table"!==s||h?"<table>"!==l[1]||h?[]:c.childNodes:c.firstChild&&c.firstChild.childNodes,o=f.length-1;o>=0;--o)Z.nodeName(f[o],"tbody")&&!f[o].childNodes.length&&f[o].parentNode.removeChild(f[o]);!Z.support.leadingWhitespace&&qe.test(a)&&c.insertBefore(t.createTextNode(qe.exec(a)[0]),c.firstChild),a=c.childNodes,c.parentNode.removeChild(c)}else a=t.createTextNode(a);a.nodeType?y.push(a):Z.merge(y,a)}if(c&&(a=c=v=null),!Z.support.appendChecked)for(i=0;null!=(a=y[i]);i++)Z.nodeName(a,"input")?m(a):"undefined"!=typeof a.getElementsByTagName&&Z.grep(a.getElementsByTagName("input"),m);if(n)for(d=function(e){return!e.type||Qe.test(e.type)?r?r.push(e.parentNode?e.parentNode.removeChild(e):e):n.appendChild(e):void 0},i=0;null!=(a=y[i]);i++)Z.nodeName(a,"script")&&d(a)||(n.appendChild(a),"undefined"!=typeof a.getElementsByTagName&&(g=Z.grep(Z.merge([],a.getElementsByTagName("script")),d),y.splice.apply(y,[i+1,0].concat(g)),i+=g.length));return y},cleanData:function(e,t){for(var n,r,i,o,a=0,s=Z.expando,l=Z.cache,u=Z.support.deleteExpando,c=Z.event.special;null!=(i=e[a]);a++)if((t||Z.acceptData(i))&&(r=i[s],n=r&&l[r])){if(n.events)for(o in n.events)c[o]?Z.event.remove(i,o):Z.removeEvent(i,o,n.handle);l[r]&&(delete l[r],u?delete i[s]:i.removeAttribute?i.removeAttribute(s):i[s]=null,Z.deletedIds.push(r))}}}),function(){var e,t;Z.uaMatch=function(e){e=e.toLowerCase();var t=/(chrome)[ \/]([\w.]+)/.exec(e)||/(webkit)[ \/]([\w.]+)/.exec(e)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(e)||/(msie) ([\w.]+)/.exec(e)||e.indexOf("compatible")<0&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(e)||[];return{browser:t[1]||"",version:t[2]||"0"}},e=Z.uaMatch(U.userAgent),t={},e.browser&&(t[e.browser]=!0,t.version=e.version),t.chrome?t.webkit=!0:t.webkit&&(t.safari=!0),Z.browser=t,Z.sub=function(){function e(t,n){return new e.fn.init(t,n)}Z.extend(!0,e,this),e.superclass=this,e.fn=e.prototype=this(),e.fn.constructor=e,e.sub=this.sub,e.fn.init=function(n,r){return r&&r instanceof Z&&!(r instanceof e)&&(r=e(r)),Z.fn.init.call(this,n,r,t)},e.fn.init.prototype=e.fn;var t=e(q);return e}}();var rt,it,ot,at=/alpha\([^)]*\)/i,st=/opacity=([^)]*)/,lt=/^(top|right|bottom|left)$/,ut=/^(none|table(?!-c[ea]).+)/,ct=/^margin/,pt=new RegExp("^("+ee+")(.*)$","i"),ht=new RegExp("^("+ee+")(?!px)[a-z%]+$","i"),ft=new RegExp("^([-+])=("+ee+")","i"),dt={BODY:"block"},gt={position:"absolute",visibility:"hidden",display:"block"},mt={letterSpacing:0,fontWeight:400},vt=["Top","Right","Bottom","Left"],yt=["Webkit","O","Moz","ms"],bt=Z.fn.toggle;Z.fn.extend({css:function(e,n){return Z.access(this,function(e,n,r){return r!==t?Z.style(e,n,r):Z.css(e,n)},e,n,arguments.length>1)},show:function(){return b(this,!0)},hide:function(){return b(this)},toggle:function(e,t){var n="boolean"==typeof e;return Z.isFunction(e)&&Z.isFunction(t)?bt.apply(this,arguments):this.each(function(){(n?e:y(this))?Z(this).show():Z(this).hide()})}}),Z.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=rt(e,"opacity");return""===n?"1":n}}}},cssNumber:{fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":Z.support.cssFloat?"cssFloat":"styleFloat"},style:function(e,n,r,i){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var o,a,s,l=Z.camelCase(n),u=e.style;if(n=Z.cssProps[l]||(Z.cssProps[l]=v(u,l)),s=Z.cssHooks[n]||Z.cssHooks[l],r===t)return s&&"get"in s&&(o=s.get(e,!1,i))!==t?o:u[n];if(a=typeof r,"string"===a&&(o=ft.exec(r))&&(r=(o[1]+1)*o[2]+parseFloat(Z.css(e,n)),a="number"),!(null==r||"number"===a&&isNaN(r)||("number"!==a||Z.cssNumber[l]||(r+="px"),s&&"set"in s&&(r=s.set(e,r,i))===t)))try{u[n]=r}catch(c){}}},css:function(e,n,r,i){var o,a,s,l=Z.camelCase(n);return n=Z.cssProps[l]||(Z.cssProps[l]=v(e.style,l)),s=Z.cssHooks[n]||Z.cssHooks[l],s&&"get"in s&&(o=s.get(e,!0,i)),o===t&&(o=rt(e,n)),"normal"===o&&n in mt&&(o=mt[n]),r||i!==t?(a=parseFloat(o),r||Z.isNumeric(a)?a||0:o):o},swap:function(e,t,n){var r,i,o={};for(i in t)o[i]=e.style[i],e.style[i]=t[i];r=n.call(e);for(i in t)e.style[i]=o[i];return r}}),e.getComputedStyle?rt=function(t,n){var r,i,o,a,s=e.getComputedStyle(t,null),l=t.style;return s&&(r=s.getPropertyValue(n)||s[n],""!==r||Z.contains(t.ownerDocument,t)||(r=Z.style(t,n)),ht.test(r)&&ct.test(n)&&(i=l.width,o=l.minWidth,a=l.maxWidth,l.minWidth=l.maxWidth=l.width=r,r=s.width,l.width=i,l.minWidth=o,l.maxWidth=a)),r}:q.documentElement.currentStyle&&(rt=function(e,t){var n,r,i=e.currentStyle&&e.currentStyle[t],o=e.style;return null==i&&o&&o[t]&&(i=o[t]),ht.test(i)&&!lt.test(t)&&(n=o.left,r=e.runtimeStyle&&e.runtimeStyle.left,r&&(e.runtimeStyle.left=e.currentStyle.left),o.left="fontSize"===t?"1em":i,i=o.pixelLeft+"px",o.left=n,r&&(e.runtimeStyle.left=r)),""===i?"auto":i}),Z.each(["height","width"],function(e,t){Z.cssHooks[t]={get:function(e,n,r){return n?0===e.offsetWidth&&ut.test(rt(e,"display"))?Z.swap(e,gt,function(){return S(e,t,r)}):S(e,t,r):void 0},set:function(e,n,r){return x(e,n,r?w(e,t,r,Z.support.boxSizing&&"border-box"===Z.css(e,"boxSizing")):0)}}}),Z.support.opacity||(Z.cssHooks.opacity={get:function(e,t){return st.test((t&&e.currentStyle?e.currentStyle.filter:e.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":t?"1":""},set:function(e,t){var n=e.style,r=e.currentStyle,i=Z.isNumeric(t)?"alpha(opacity="+100*t+")":"",o=r&&r.filter||n.filter||"";n.zoom=1,t>=1&&""===Z.trim(o.replace(at,""))&&n.removeAttribute&&(n.removeAttribute("filter"),r&&!r.filter)||(n.filter=at.test(o)?o.replace(at,i):o+" "+i)}}),Z(function(){Z.support.reliableMarginRight||(Z.cssHooks.marginRight={get:function(e,t){return Z.swap(e,{display:"inline-block"},function(){return t?rt(e,"marginRight"):void 0})}}),!Z.support.pixelPosition&&Z.fn.position&&Z.each(["top","left"],function(e,t){Z.cssHooks[t]={get:function(e,n){if(n){var r=rt(e,t);return ht.test(r)?Z(e).position()[t]+"px":r}}}})}),Z.expr&&Z.expr.filters&&(Z.expr.filters.hidden=function(e){return 0===e.offsetWidth&&0===e.offsetHeight||!Z.support.reliableHiddenOffsets&&"none"===(e.style&&e.style.display||rt(e,"display"))},Z.expr.filters.visible=function(e){return!Z.expr.filters.hidden(e)}),Z.each({margin:"",padding:"",border:"Width"},function(e,t){Z.cssHooks[e+t]={expand:function(n){var r,i="string"==typeof n?n.split(" "):[n],o={};for(r=0;4>r;r++)o[e+vt[r]+t]=i[r]||i[r-2]||i[0];return o}},ct.test(e)||(Z.cssHooks[e+t].set=x)});var xt=/%20/g,wt=/\[\]$/,St=/\r?\n/g,kt=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,Ct=/^(?:select|textarea)/i;Z.fn.extend({serialize:function(){return Z.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?Z.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||Ct.test(this.nodeName)||kt.test(this.type))}).map(function(e,t){var n=Z(this).val();return null==n?null:Z.isArray(n)?Z.map(n,function(e,n){return{name:t.name,value:e.replace(St,"\r\n")}}):{name:t.name,value:n.replace(St,"\r\n")}}).get()}}),Z.param=function(e,n){var r,i=[],o=function(e,t){t=Z.isFunction(t)?t():null==t?"":t,i[i.length]=encodeURIComponent(e)+"="+encodeURIComponent(t)};if(n===t&&(n=Z.ajaxSettings&&Z.ajaxSettings.traditional),Z.isArray(e)||e.jquery&&!Z.isPlainObject(e))Z.each(e,function(){o(this.name,this.value)});else for(r in e)C(r,e[r],n,o);return i.join("&").replace(xt,"+")};var _t,Et,At=/#.*$/,Nt=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,Tt=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,Pt=/^(?:GET|HEAD)$/,Lt=/^\/\//,jt=/\?/,Ot=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,Mt=/([?&])_=[^&]*/,Dt=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,Ht=Z.fn.load,It={},Rt={},Bt=["*/"]+["*"];try{Et=W.href}catch($t){Et=q.createElement("a"),Et.href="",Et=Et.href}_t=Dt.exec(Et.toLowerCase())||[],Z.fn.load=function(e,n,r){if("string"!=typeof e&&Ht)return Ht.apply(this,arguments);if(!this.length)return this;var i,o,a,s=this,l=e.indexOf(" ");return l>=0&&(i=e.slice(l,e.length),e=e.slice(0,l)),Z.isFunction(n)?(r=n,n=t):n&&"object"==typeof n&&(o="POST"),Z.ajax({url:e,type:o,dataType:"html",data:n,complete:function(e,t){r&&s.each(r,a||[e.responseText,t,e])}}).done(function(e){a=arguments,s.html(i?Z("<div>").append(e.replace(Ot,"")).find(i):e)}),this},Z.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(e,t){Z.fn[t]=function(e){return this.on(t,e)}}),Z.each(["get","post"],function(e,n){Z[n]=function(e,r,i,o){return Z.isFunction(r)&&(o=o||i,i=r,r=t),Z.ajax({type:n,url:e,data:r,success:i,dataType:o})}}),Z.extend({getScript:function(e,n){return Z.get(e,t,n,"script")},getJSON:function(e,t,n){return Z.get(e,t,n,"json")},ajaxSetup:function(e,t){return t?A(e,Z.ajaxSettings):(t=e,e=Z.ajaxSettings),A(e,t),e},ajaxSettings:{url:Et,isLocal:Tt.test(_t[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded; charset=UTF-8",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":Bt},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":e.String,"text html":!0,"text json":Z.parseJSON,"text xml":Z.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:_(It),ajaxTransport:_(Rt),ajax:function(e,n){function r(e,n,r,a){var u,p,y,b,w,k=n;2!==x&&(x=2,l&&clearTimeout(l),s=t,o=a||"",S.readyState=e>0?4:0,r&&(b=N(h,S,r)),e>=200&&300>e||304===e?(h.ifModified&&(w=S.getResponseHeader("Last-Modified"),w&&(Z.lastModified[i]=w),w=S.getResponseHeader("Etag"),w&&(Z.etag[i]=w)),304===e?(k="notmodified",u=!0):(u=T(h,b),k=u.state,p=u.data,y=u.error,u=!y)):(y=k,k&&!e||(k="error",0>e&&(e=0))),S.status=e,S.statusText=(n||k)+"",u?g.resolveWith(f,[p,k,S]):g.rejectWith(f,[S,k,y]),S.statusCode(v),v=t,c&&d.trigger("ajax"+(u?"Success":"Error"),[S,h,u?p:y]),m.fireWith(f,[S,k]),c&&(d.trigger("ajaxComplete",[S,h]),--Z.active||Z.event.trigger("ajaxStop")))}"object"==typeof e&&(n=e,e=t),n=n||{};var i,o,a,s,l,u,c,p,h=Z.ajaxSetup({},n),f=h.context||h,d=f!==h&&(f.nodeType||f instanceof Z)?Z(f):Z.event,g=Z.Deferred(),m=Z.Callbacks("once memory"),v=h.statusCode||{},y={},b={},x=0,w="canceled",S={readyState:0,setRequestHeader:function(e,t){if(!x){var n=e.toLowerCase();e=b[n]=b[n]||e,y[e]=t}return this},getAllResponseHeaders:function(){return 2===x?o:null},getResponseHeader:function(e){var n;if(2===x){if(!a)for(a={};n=Nt.exec(o);)a[n[1].toLowerCase()]=n[2];n=a[e.toLowerCase()]}return n===t?null:n},overrideMimeType:function(e){return x||(h.mimeType=e),this},abort:function(e){return e=e||w,s&&s.abort(e),r(0,e),this}};if(g.promise(S),S.success=S.done,S.error=S.fail,S.complete=m.add,S.statusCode=function(e){if(e){var t;if(2>x)for(t in e)v[t]=[v[t],e[t]];else t=e[S.status],S.always(t)}return this},h.url=((e||h.url)+"").replace(At,"").replace(Lt,_t[1]+"//"),h.dataTypes=Z.trim(h.dataType||"*").toLowerCase().split(ne),null==h.crossDomain&&(u=Dt.exec(h.url.toLowerCase()),h.crossDomain=!(!u||u[1]===_t[1]&&u[2]===_t[2]&&(u[3]||("http:"===u[1]?80:443))==(_t[3]||("http:"===_t[1]?80:443)))),h.data&&h.processData&&"string"!=typeof h.data&&(h.data=Z.param(h.data,h.traditional)),E(It,h,n,S),2===x)return S;if(c=h.global,h.type=h.type.toUpperCase(),h.hasContent=!Pt.test(h.type),c&&0===Z.active++&&Z.event.trigger("ajaxStart"),!h.hasContent&&(h.data&&(h.url+=(jt.test(h.url)?"&":"?")+h.data,delete h.data),i=h.url,h.cache===!1)){var k=Z.now(),C=h.url.replace(Mt,"$1_="+k);h.url=C+(C===h.url?(jt.test(h.url)?"&":"?")+"_="+k:"")}(h.data&&h.hasContent&&h.contentType!==!1||n.contentType)&&S.setRequestHeader("Content-Type",h.contentType),h.ifModified&&(i=i||h.url,Z.lastModified[i]&&S.setRequestHeader("If-Modified-Since",Z.lastModified[i]),Z.etag[i]&&S.setRequestHeader("If-None-Match",Z.etag[i])),S.setRequestHeader("Accept",h.dataTypes[0]&&h.accepts[h.dataTypes[0]]?h.accepts[h.dataTypes[0]]+("*"!==h.dataTypes[0]?", "+Bt+"; q=0.01":""):h.accepts["*"]);for(p in h.headers)S.setRequestHeader(p,h.headers[p]);if(h.beforeSend&&(h.beforeSend.call(f,S,h)===!1||2===x))return S.abort();w="abort";for(p in{success:1,error:1,complete:1})S[p](h[p]);if(s=E(Rt,h,n,S)){S.readyState=1,c&&d.trigger("ajaxSend",[S,h]),h.async&&h.timeout>0&&(l=setTimeout(function(){S.abort("timeout")},h.timeout));try{x=1,s.send(y,r)}catch(_){if(!(2>x))throw _;r(-1,_)}}else r(-1,"No Transport");return S},active:0,lastModified:{},etag:{}});var Ft=[],qt=/\?/,Wt=/(=)\?(?=&|$)|\?\?/,Ut=Z.now();Z.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Ft.pop()||Z.expando+"_"+Ut++;return this[e]=!0,e}}),Z.ajaxPrefilter("json jsonp",function(n,r,i){var o,a,s,l=n.data,u=n.url,c=n.jsonp!==!1,p=c&&Wt.test(u),h=c&&!p&&"string"==typeof l&&!(n.contentType||"").indexOf("application/x-www-form-urlencoded")&&Wt.test(l);return"jsonp"===n.dataTypes[0]||p||h?(o=n.jsonpCallback=Z.isFunction(n.jsonpCallback)?n.jsonpCallback():n.jsonpCallback,a=e[o],p?n.url=u.replace(Wt,"$1"+o):h?n.data=l.replace(Wt,"$1"+o):c&&(n.url+=(qt.test(u)?"&":"?")+n.jsonp+"="+o),n.converters["script json"]=function(){return s||Z.error(o+" was not called"),s[0]},n.dataTypes[0]="json",e[o]=function(){s=arguments},i.always(function(){e[o]=a,n[o]&&(n.jsonpCallback=r.jsonpCallback,Ft.push(o)),s&&Z.isFunction(a)&&a(s[0]),s=a=t}),"script"):void 0}),Z.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(e){return Z.globalEval(e),e}}}),Z.ajaxPrefilter("script",function(e){e.cache===t&&(e.cache=!1),e.crossDomain&&(e.type="GET",e.global=!1)}),Z.ajaxTransport("script",function(e){if(e.crossDomain){var n,r=q.head||q.getElementsByTagName("head")[0]||q.documentElement;return{send:function(i,o){n=q.createElement("script"),n.async="async",e.scriptCharset&&(n.charset=e.scriptCharset),n.src=e.url,n.onload=n.onreadystatechange=function(e,i){(i||!n.readyState||/loaded|complete/.test(n.readyState))&&(n.onload=n.onreadystatechange=null,r&&n.parentNode&&r.removeChild(n),n=t,i||o(200,"success"))},r.insertBefore(n,r.firstChild)},abort:function(){n&&n.onload(0,1)}}}});var zt,Vt=e.ActiveXObject?function(){for(var e in zt)zt[e](0,1)}:!1,Gt=0;Z.ajaxSettings.xhr=e.ActiveXObject?function(){return!this.isLocal&&P()||L()}:P,function(e){Z.extend(Z.support,{ajax:!!e,cors:!!e&&"withCredentials"in e})}(Z.ajaxSettings.xhr()),Z.support.ajax&&Z.ajaxTransport(function(n){if(!n.crossDomain||Z.support.cors){var r;return{send:function(i,o){var a,s,l=n.xhr();if(n.username?l.open(n.type,n.url,n.async,n.username,n.password):l.open(n.type,n.url,n.async),n.xhrFields)for(s in n.xhrFields)l[s]=n.xhrFields[s];n.mimeType&&l.overrideMimeType&&l.overrideMimeType(n.mimeType),n.crossDomain||i["X-Requested-With"]||(i["X-Requested-With"]="XMLHttpRequest");try{for(s in i)l.setRequestHeader(s,i[s])}catch(u){}l.send(n.hasContent&&n.data||null),r=function(e,i){var s,u,c,p,h;try{if(r&&(i||4===l.readyState))if(r=t,a&&(l.onreadystatechange=Z.noop,Vt&&delete zt[a]),i)4!==l.readyState&&l.abort();else{s=l.status,c=l.getAllResponseHeaders(),p={},h=l.responseXML,h&&h.documentElement&&(p.xml=h);try{p.text=l.responseText}catch(f){}try{u=l.statusText}catch(f){u=""}s||!n.isLocal||n.crossDomain?1223===s&&(s=204):s=p.text?200:404}}catch(d){i||o(-1,d)}p&&o(s,u,p,c)},n.async?4===l.readyState?setTimeout(r,0):(a=++Gt,Vt&&(zt||(zt={},Z(e).unload(Vt)),zt[a]=r),l.onreadystatechange=r):r()},abort:function(){r&&r(0,1)}}}});var Xt,Jt,Kt=/^(?:toggle|show|hide)$/,Yt=new RegExp("^(?:([-+])=|)("+ee+")([a-z%]*)$","i"),Qt=/queueHooks$/,Zt=[H],en={"*":[function(e,t){var n,r,i=this.createTween(e,t),o=Yt.exec(t),a=i.cur(),s=+a||0,l=1,u=20;if(o){if(n=+o[2],r=o[3]||(Z.cssNumber[e]?"":"px"),"px"!==r&&s){s=Z.css(i.elem,e,!0)||n||1;do l=l||".5",s/=l,Z.style(i.elem,e,s+r);while(l!==(l=i.cur()/a)&&1!==l&&--u)}i.unit=r,i.start=s,i.end=o[1]?s+(o[1]+1)*n:n}return i}]};Z.Animation=Z.extend(M,{tweener:function(e,t){Z.isFunction(e)?(t=e,e=["*"]):e=e.split(" ");for(var n,r=0,i=e.length;i>r;r++)n=e[r],en[n]=en[n]||[],en[n].unshift(t)},prefilter:function(e,t){t?Zt.unshift(e):Zt.push(e)}}),Z.Tween=I,I.prototype={constructor:I,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||"swing",this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(Z.cssNumber[n]?"":"px")},cur:function(){var e=I.propHooks[this.prop];return e&&e.get?e.get(this):I.propHooks._default.get(this)},run:function(e){var t,n=I.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),n&&n.set?n.set(this):I.propHooks._default.set(this),this}},I.prototype.init.prototype=I.prototype,I.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,!1,""),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}}},I.propHooks.scrollTop=I.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},Z.each(["toggle","show","hide"],function(e,t){var n=Z.fn[t];Z.fn[t]=function(r,i,o){return null==r||"boolean"==typeof r||!e&&Z.isFunction(r)&&Z.isFunction(i)?n.apply(this,arguments):this.animate(R(t,!0),r,i,o)}}),Z.fn.extend({fadeTo:function(e,t,n,r){return this.filter(y).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(e,t,n,r){var i=Z.isEmptyObject(e),o=Z.speed(t,n,r),a=function(){var t=M(this,Z.extend({},e),o);i&&t.stop(!0)};return i||o.queue===!1?this.each(a):this.queue(o.queue,a)},stop:function(e,n,r){var i=function(e){var t=e.stop;delete e.stop,t(r)};return"string"!=typeof e&&(r=n,n=e,e=t),n&&e!==!1&&this.queue(e||"fx",[]),this.each(function(){var t=!0,n=null!=e&&e+"queueHooks",o=Z.timers,a=Z._data(this);if(n)a[n]&&a[n].stop&&i(a[n]);else for(n in a)a[n]&&a[n].stop&&Qt.test(n)&&i(a[n]);
+for(n=o.length;n--;)o[n].elem!==this||null!=e&&o[n].queue!==e||(o[n].anim.stop(r),t=!1,o.splice(n,1));!t&&r||Z.dequeue(this,e)})}}),Z.each({slideDown:R("show"),slideUp:R("hide"),slideToggle:R("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,t){Z.fn[e]=function(e,n,r){return this.animate(t,e,n,r)}}),Z.speed=function(e,t,n){var r=e&&"object"==typeof e?Z.extend({},e):{complete:n||!n&&t||Z.isFunction(e)&&e,duration:e,easing:n&&t||t&&!Z.isFunction(t)&&t};return r.duration=Z.fx.off?0:"number"==typeof r.duration?r.duration:r.duration in Z.fx.speeds?Z.fx.speeds[r.duration]:Z.fx.speeds._default,null!=r.queue&&r.queue!==!0||(r.queue="fx"),r.old=r.complete,r.complete=function(){Z.isFunction(r.old)&&r.old.call(this),r.queue&&Z.dequeue(this,r.queue)},r},Z.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2}},Z.timers=[],Z.fx=I.prototype.init,Z.fx.tick=function(){var e,n=Z.timers,r=0;for(Xt=Z.now();r<n.length;r++)e=n[r],e()||n[r]!==e||n.splice(r--,1);n.length||Z.fx.stop(),Xt=t},Z.fx.timer=function(e){e()&&Z.timers.push(e)&&!Jt&&(Jt=setInterval(Z.fx.tick,Z.fx.interval))},Z.fx.interval=13,Z.fx.stop=function(){clearInterval(Jt),Jt=null},Z.fx.speeds={slow:600,fast:200,_default:400},Z.fx.step={},Z.expr&&Z.expr.filters&&(Z.expr.filters.animated=function(e){return Z.grep(Z.timers,function(t){return e===t.elem}).length});var tn=/^(?:body|html)$/i;Z.fn.offset=function(e){if(arguments.length)return e===t?this:this.each(function(t){Z.offset.setOffset(this,e,t)});var n,r,i,o,a,s,l,u={top:0,left:0},c=this[0],p=c&&c.ownerDocument;if(p)return(r=p.body)===c?Z.offset.bodyOffset(c):(n=p.documentElement,Z.contains(n,c)?("undefined"!=typeof c.getBoundingClientRect&&(u=c.getBoundingClientRect()),i=B(p),o=n.clientTop||r.clientTop||0,a=n.clientLeft||r.clientLeft||0,s=i.pageYOffset||n.scrollTop,l=i.pageXOffset||n.scrollLeft,{top:u.top+s-o,left:u.left+l-a}):u)},Z.offset={bodyOffset:function(e){var t=e.offsetTop,n=e.offsetLeft;return Z.support.doesNotIncludeMarginInBodyOffset&&(t+=parseFloat(Z.css(e,"marginTop"))||0,n+=parseFloat(Z.css(e,"marginLeft"))||0),{top:t,left:n}},setOffset:function(e,t,n){var r=Z.css(e,"position");"static"===r&&(e.style.position="relative");var i,o,a=Z(e),s=a.offset(),l=Z.css(e,"top"),u=Z.css(e,"left"),c=("absolute"===r||"fixed"===r)&&Z.inArray("auto",[l,u])>-1,p={},h={};c?(h=a.position(),i=h.top,o=h.left):(i=parseFloat(l)||0,o=parseFloat(u)||0),Z.isFunction(t)&&(t=t.call(e,n,s)),null!=t.top&&(p.top=t.top-s.top+i),null!=t.left&&(p.left=t.left-s.left+o),"using"in t?t.using.call(e,p):a.css(p)}},Z.fn.extend({position:function(){if(this[0]){var e=this[0],t=this.offsetParent(),n=this.offset(),r=tn.test(t[0].nodeName)?{top:0,left:0}:t.offset();return n.top-=parseFloat(Z.css(e,"marginTop"))||0,n.left-=parseFloat(Z.css(e,"marginLeft"))||0,r.top+=parseFloat(Z.css(t[0],"borderTopWidth"))||0,r.left+=parseFloat(Z.css(t[0],"borderLeftWidth"))||0,{top:n.top-r.top,left:n.left-r.left}}},offsetParent:function(){return this.map(function(){for(var e=this.offsetParent||q.body;e&&!tn.test(e.nodeName)&&"static"===Z.css(e,"position");)e=e.offsetParent;return e||q.body})}}),Z.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,n){var r=/Y/.test(n);Z.fn[e]=function(i){return Z.access(this,function(e,i,o){var a=B(e);return o===t?a?n in a?a[n]:a.document.documentElement[i]:e[i]:void(a?a.scrollTo(r?Z(a).scrollLeft():o,r?o:Z(a).scrollTop()):e[i]=o)},e,i,arguments.length,null)}}),Z.each({Height:"height",Width:"width"},function(e,n){Z.each({padding:"inner"+e,content:n,"":"outer"+e},function(r,i){Z.fn[i]=function(i,o){var a=arguments.length&&(r||"boolean"!=typeof i),s=r||(i===!0||o===!0?"margin":"border");return Z.access(this,function(n,r,i){var o;return Z.isWindow(n)?n.document.documentElement["client"+e]:9===n.nodeType?(o=n.documentElement,Math.max(n.body["scroll"+e],o["scroll"+e],n.body["offset"+e],o["offset"+e],o["client"+e])):i===t?Z.css(n,r,i,s):Z.style(n,r,i,s)},n,a?i:t,a,null)}})}),"object"==typeof n&&n&&"object"==typeof n.exports?n.exports=Z:(e.jQuery=e.$=Z,"function"==typeof define&&define.amd&&define("jquery",[],function(){return Z}))}(window)}),define("lib/jquery.lazyload",[],function(e,t,n){var r=e("jquery");!function(e,t,n,r){var i=e(t);e.fn.lazyload=function(o){function a(){var t=0;l.each(function(){var n=e(this);if(!u.skip_invisible||n.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 n.trigger("appear"),t=0})}var s,l=this,u={threshold:0,failure_limit:0,event:"scroll",effect:"show",container:t,data_attribute:"original",skip_invisible:!0,appear:null,load:null,placeholder:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB/AAffA0nNPuCLAAAAAElFTkSuQmCC"};return o&&(r!==o.failurelimit&&(o.failure_limit=o.failurelimit,delete o.failurelimit),r!==o.effectspeed&&(o.effect_speed=o.effectspeed,delete o.effectspeed),e.extend(u,o)),s=u.container===r||u.container===t?i:e(u.container),0===u.event.indexOf("scroll")&&s.bind(u.event,function(){return a()}),this.each(function(){var t=this,n=e(t);t.loaded=!1,n.attr("src")!==r&&n.attr("src")!==!1||n.is("img")&&n.attr("src",u.placeholder),n.one("appear",function(){if(!this.loaded){if(u.appear){var r=l.length;u.appear.call(t,r,u)}e("<img />").bind("load",function(){var r=n.attr("data-"+u.data_attribute);n.hide(),n.is("img")?n.attr("src",r):n.css("background-image","url('"+r+"')"),n[u.effect](u.effect_speed),t.loaded=!0;var i=e.grep(l,function(e){return!e.loaded});if(l=e(i),u.load){var o=l.length;u.load.call(t,o,u)}}).attr("src",n.attr("data-"+u.data_attribute))}}),0!==u.event.indexOf("scroll")&&n.bind(u.event,function(){t.loaded||n.trigger("appear")})}),i.bind("resize",function(){a()}),/(?:iphone|ipod|ipad).*os 5/gi.test(navigator.appVersion)&&i.bind("pageshow",function(t){t.originalEvent&&t.originalEvent.persisted&&l.each(function(){e(this).trigger("appear")})}),e(n).ready(function(){a()}),this},e.belowthefold=function(n,o){var a;return a=o.container===r||o.container===t?(t.innerHeight?t.innerHeight:i.height())+i.scrollTop():e(o.container).offset().top+e(o.container).height(),a<=e(n).offset().top-o.threshold},e.rightoffold=function(n,o){var a;return a=o.container===r||o.container===t?i.width()+i.scrollLeft():e(o.container).offset().left+e(o.container).width(),a<=e(n).offset().left-o.threshold},e.abovethetop=function(n,o){var a;return a=o.container===r||o.container===t?i.scrollTop():e(o.container).offset().top,a>=e(n).offset().top+o.threshold+e(n).height()},e.leftofbegin=function(n,o){var a;return a=o.container===r||o.container===t?i.scrollLeft():e(o.container).offset().left,a>=e(n).offset().left+o.threshold+e(n).width()},e.inviewport=function(t,n){return!(e.rightoffold(t,n)||e.leftofbegin(t,n)||e.belowthefold(t,n)||e.abovethetop(t,n))},e.extend(e.expr[":"],{"below-the-fold":function(t){return e.belowthefold(t,{threshold:0})},"above-the-top":function(t){return!e.belowthefold(t,{threshold:0})},"right-of-screen":function(t){return e.rightoffold(t,{threshold:0})},"left-of-screen":function(t){return!e.rightoffold(t,{threshold:0})},"in-viewport":function(t){return e.inviewport(t,{threshold:0})},"above-the-fold":function(t){return!e.belowthefold(t,{threshold:0})},"right-of-fold":function(t){return e.rightoffold(t,{threshold:0})},"left-of-fold":function(t){return!e.rightoffold(t,{threshold:0})}})}(r,window,document)}),define("handlebars",[],function(e,t,n){!function(e,r){"object"==typeof t&&"object"==typeof n?n.exports=r():"function"==typeof define&&define.amd?define(r):"object"==typeof t?t.Handlebars=r():e.Handlebars=r()}(this,function(){return function(e){function t(r){if(n[r])return n[r].exports;var i=n[r]={exports:{},id:r,loaded:!1};return e[r].call(i.exports,i,i.exports,t),i.loaded=!0,i.exports}var n={};return t.m=e,t.c=n,t.p="",t(0)}([function(e,t,n){"use strict";function r(){var e=v();return e.compile=function(t,n){return c.compile(t,n,e)},e.precompile=function(t,n){return c.precompile(t,n,e)},e.AST=l["default"],e.Compiler=c.Compiler,e.JavaScriptCompiler=h["default"],e.Parser=u.parser,e.parse=u.parse,e}var i=n(8)["default"];t.__esModule=!0;var o=n(1),a=i(o),s=n(2),l=i(s),u=n(3),c=n(4),p=n(5),h=i(p),f=n(6),d=i(f),g=n(7),m=i(g),v=a["default"].create,y=r();y.create=r,m["default"](y),y.Visitor=d["default"],y["default"]=y,t["default"]=y,e.exports=t["default"]},function(e,t,n){"use strict";function r(){var e=new s.HandlebarsEnvironment;return f.extend(e,s),e.SafeString=u["default"],e.Exception=p["default"],e.Utils=f,e.escapeExpression=f.escapeExpression,e.VM=g,e.template=function(t){return g.template(t,e)},e}var i=n(9)["default"],o=n(8)["default"];t.__esModule=!0;var a=n(10),s=i(a),l=n(11),u=o(l),c=n(12),p=o(c),h=n(13),f=i(h),d=n(14),g=i(d),m=n(7),v=o(m),y=r();y.create=r,v["default"](y),y["default"]=y,t["default"]=y,e.exports=t["default"]},function(e,t,n){"use strict";t.__esModule=!0;var r={Program:function(e,t,n,r){this.loc=r,this.type="Program",this.body=e,this.blockParams=t,this.strip=n},MustacheStatement:function(e,t,n,r,i,o){this.loc=o,this.type="MustacheStatement",this.path=e,this.params=t||[],this.hash=n,this.escaped=r,this.strip=i},BlockStatement:function(e,t,n,r,i,o,a,s,l){this.loc=l,this.type="BlockStatement",this.path=e,this.params=t||[],this.hash=n,this.program=r,this.inverse=i,this.openStrip=o,this.inverseStrip=a,this.closeStrip=s},PartialStatement:function(e,t,n,r,i){this.loc=i,this.type="PartialStatement",this.name=e,this.params=t||[],this.hash=n,this.indent="",this.strip=r},ContentStatement:function(e,t){this.loc=t,this.type="ContentStatement",this.original=this.value=e},CommentStatement:function(e,t,n){this.loc=n,this.type="CommentStatement",this.value=e,this.strip=t},SubExpression:function(e,t,n,r){this.loc=r,this.type="SubExpression",this.path=e,this.params=t||[],this.hash=n},PathExpression:function(e,t,n,r,i){this.loc=i,this.type="PathExpression",this.data=e,this.original=r,this.parts=n,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,n){this.loc=n,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&&!r.helpers.scopedId(e)&&!e.depth}}};t["default"]=r,e.exports=t["default"]},function(e,t,n){"use strict";function r(e,t){if("Program"===e.type)return e;s["default"].yy=g,g.locInfo=function(e){return new g.SourceLocation(t&&t.srcName,e)};var n=new p["default"];return n.accept(s["default"].parse(e))}var i=n(8)["default"],o=n(9)["default"];t.__esModule=!0,t.parse=r;var a=n(15),s=i(a),l=n(2),u=i(l),c=n(16),p=i(c),h=n(17),f=o(h),d=n(13);t.parser=s["default"];var g={};d.extend(g,f,u["default"])},function(e,t,n){"use strict";function r(){}function i(e,t,n){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 r=n.parse(e,t),i=(new n.Compiler).compile(r,t);return(new n.JavaScriptCompiler).compile(i,t)}function o(e,t,n){function r(){var t=n.parse(e,o),r=(new n.Compiler).compile(t,o),i=(new n.JavaScriptCompiler).compile(r,o,void 0,!0);return n.template(i)}function i(e,t){return a||(a=r()),a.call(this,e,t)}var o=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 o||(o.data=!0),o.compat&&(o.useDepths=!0);var a=void 0;return i._setup=function(e){return a||(a=r()),a._setup(e)},i._child=function(e,t,n,i){return a||(a=r()),a._child(e,t,n,i)},i}function a(e,t){if(e===t)return!0;if(p.isArray(e)&&p.isArray(t)&&e.length===t.length){for(var n=0;n<e.length;n++)if(!a(e[n],t[n]))return!1;return!0}}function s(e){if(!e.path.parts){var t=e.path;e.path=new f["default"].PathExpression(!1,0,[t.original+""],t.original+"",t.loc)}}var l=n(8)["default"];t.__esModule=!0,t.Compiler=r,t.precompile=i,t.compile=o;var u=n(12),c=l(u),p=n(13),h=n(2),f=l(h),d=[].slice;r.prototype={compiler:r,equals:function(e){var t=this.opcodes.length;if(e.opcodes.length!==t)return!1;for(var n=0;t>n;n++){var r=this.opcodes[n],i=e.opcodes[n];if(r.opcode!==i.opcode||!a(r.args,i.args))return!1}t=this.children.length;for(var n=0;t>n;n++)if(!this.children[n].equals(e.children[n]))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 n=t.knownHelpers;if(t.knownHelpers={helperMissing:!0,blockHelperMissing:!0,each:!0,"if":!0,unless:!0,"with":!0,log:!0,lookup:!0},n)for(var r in n)r in n&&(t.knownHelpers[r]=n[r]);return this.accept(e)},compileProgram:function(e){var t=new this.compiler,n=t.compile(e,this.options),r=this.guid++;return this.usePartial=this.usePartial||n.usePartial,this.children[r]=n,this.useDepths=this.useDepths||n.useDepths,r},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,n=t.length,r=0;n>r;r++)this.accept(t[r]);return this.options.blockParams.shift(),this.isSimple=1===n,this.blockParams=e.blockParams?e.blockParams.length:0,this},BlockStatement:function(e){s(e);var t=e.program,n=e.inverse;t=t&&this.compileProgram(t),n=n&&this.compileProgram(n);var r=this.classifySexpr(e);"helper"===r?this.helperSexpr(e,t,n):"simple"===r?(this.simpleSexpr(e),this.opcode("pushProgram",t),this.opcode("pushProgram",n),this.opcode("emptyHash"),this.opcode("blockValue",e.path.original)):(this.ambiguousSexpr(e,t,n),this.opcode("pushProgram",t),this.opcode("pushProgram",n),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 n=e.name.original,r="SubExpression"===e.name.type;r&&this.accept(e.name),this.setupFullMustacheParams(e,void 0,void 0,!0);var i=e.indent||"";this.options.preventIndent&&i&&(this.opcode("appendContent",i),i=""),this.opcode("invokePartial",r,n,i),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){s(e);var t=this.classifySexpr(e);"simple"===t?this.simpleSexpr(e):"helper"===t?this.helperSexpr(e):this.ambiguousSexpr(e)},ambiguousSexpr:function(e,t,n){var r=e.path,i=r.parts[0],o=null!=t||null!=n;this.opcode("getContext",r.depth),this.opcode("pushProgram",t),this.opcode("pushProgram",n),this.accept(r),this.opcode("invokeAmbiguous",i,o)},simpleSexpr:function(e){this.accept(e.path),this.opcode("resolvePossibleLambda")},helperSexpr:function(e,t,n){var r=this.setupFullMustacheParams(e,t,n),i=e.path,o=i.parts[0];if(this.options.knownHelpers[o])this.opcode("invokeKnownHelper",r.length,o);else{if(this.options.knownHelpersOnly)throw new c["default"]("You specified knownHelpersOnly, but used the unknown helper "+o,e);i.falsy=!0,this.accept(i),this.opcode("invokeHelper",r.length,i.original,f["default"].helpers.simpleId(i))}},PathExpression:function(e){this.addDepth(e.depth),this.opcode("getContext",e.depth);var t=e.parts[0],n=f["default"].helpers.scopedId(e),r=!e.depth&&!n&&this.blockParamIndex(t);r?this.opcode("lookupBlockParam",r,e.parts):t?e.data?(this.options.data=!0,this.opcode("lookupData",e.depth,e.parts)):this.opcode("lookupOnContext",e.parts,e.falsy,n):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,n=0,r=t.length;for(this.opcode("pushHash");r>n;n++)this.pushParam(t[n].value);for(;n--;)this.opcode("assignToHash",t[n].key);this.opcode("popHash")},opcode:function(e){this.opcodes.push({opcode:e,args:d.call(arguments,1),loc:this.sourceNode[0].loc})},addDepth:function(e){e&&(this.useDepths=!0)},classifySexpr:function(e){var t=f["default"].helpers.simpleId(e.path),n=t&&!!this.blockParamIndex(e.path.parts[0]),r=!n&&f["default"].helpers.helperExpression(e),i=!n&&(r||t);if(i&&!r){var o=e.path.parts[0],a=this.options;a.knownHelpers[o]?r=!0:a.knownHelpersOnly&&(i=!1)}return r?"helper":i?"ambiguous":"simple"},pushParams:function(e){for(var t=0,n=e.length;n>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 n=void 0;if(!e.parts||f["default"].helpers.scopedId(e)||e.depth||(n=this.blockParamIndex(e.parts[0])),n){var r=e.parts.slice(1).join(".");this.opcode("pushId","BlockParam",n,r)}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,n,r){var i=e.params;return this.pushParams(i),this.opcode("pushProgram",t),this.opcode("pushProgram",n),e.hash?this.accept(e.hash):this.opcode("emptyHash",r),i},blockParamIndex:function(e){for(var t=0,n=this.options.blockParams.length;n>t;t++){var r=this.options.blockParams[t],i=r&&p.indexOf(r,e);if(r&&i>=0)return[t,i]}}}},function(e,t,n){"use strict";function r(e){this.value=e}function i(){}function o(e,t,n,r){var i=t.popStack(),o=0,a=n.length;for(e&&a--;a>o;o++)i=t.nameLookup(i,n[o],r);return e?[t.aliasable("this.strict"),"(",i,", ",t.quotedString(n[o]),")"]:i}var a=n(8)["default"];t.__esModule=!0;var s=n(10),l=n(12),u=a(l),c=n(13),p=n(18),h=a(p);i.prototype={nameLookup:function(e,t){return i.isValidJavaScriptVariableName(t)?[e,".",t]:[e,"['",t,"']"]},depthedLookup:function(e){return[this.aliasable("this.lookup"),'(depths, "',e,'")']},compilerInfo:function(){var e=s.COMPILER_REVISION,t=s.REVISION_CHANGES[e];return[e,t]},appendToBuffer:function(e,t,n){return c.isArray(e)||(e=[e]),e=this.source.wrap(e,t),this.environment.isSimple?["return ",e,";"]:n?["buffer += ",e,";"]:(e.appendToBuffer=!0,e)},initializeBuffer:function(){return this.quotedString("")},compile:function(e,t,n,r){this.environment=e,this.options=t,this.stringParams=this.options.stringParams,this.trackIds=this.options.trackIds,this.precompile=!r,this.name=this.environment.name,this.isChild=!!n,this.context=n||{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 i=e.opcodes,o=void 0,a=void 0,s=void 0,l=void 0;for(s=0,l=i.length;l>s;s++)o=i[s],this.source.currentLocation=o.loc,a=a||o.loc,this[o.opcode].apply(this,o.args);if(this.source.currentLocation=a,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(r);if(this.isChild)return c;var p={compiler:this.compilerInfo(),main:c},h=this.context.programs;for(s=0,l=h.length;l>s;s++)h[s]&&(p[s]=h[s]);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),r?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="",n=this.stackVars.concat(this.registers.list);n.length>0&&(t+=", "+n.join(", "));var r=0;for(var i in this.aliases){var o=this.aliases[i];this.aliases.hasOwnProperty(i)&&o.children&&o.referenceCount>1&&(t+=", alias"+ ++r+"="+i,o.children[0]="alias"+r)}var a=["depth0","helpers","partials","data"];(this.useBlockParams||this.useDepths)&&a.push("blockParams"),this.useDepths&&a.push("depths");var s=this.mergeSource(t);return e?(a.push(s),Function.apply(this,a)):this.source.wrap(["function(",a.join(","),") {\n  ",s,"}"])},mergeSource:function(e){var t=this.environment.isSimple,n=!this.forceBuffer,r=void 0,i=void 0,o=void 0,a=void 0;return this.source.each(function(e){e.appendToBuffer?(o?e.prepend("  + "):o=e,a=e):(o&&(i?o.prepend("buffer += "):r=!0,a.add(";"),o=a=void 0),i=!0,t||(n=!1))}),n?o?(o.prepend("return "),a.add(";")):i||this.source.push('return "";'):(e+=", buffer = "+(r?"":this.initializeBuffer()),o?(o.prepend("return buffer + "),a.add(";")):this.source.push("return buffer;")),e&&this.source.prepend("var "+e.substring(2)+(r?"":";\n")),this.source.merge()},blockValue:function(e){var t=this.aliasable("helpers.blockHelperMissing"),n=[this.contextName(0)];this.setupHelperArgs(e,0,n);var r=this.popStack();n.splice(1,0,r),this.push(this.source.functionCall(t,"call",n))},ambiguousBlockValue:function(){var e=this.aliasable("helpers.blockHelperMissing"),t=[this.contextName(0)];this.setupHelperArgs("",0,t,!0),this.flushInline();var n=this.topStack();t.splice(1,0,n),this.pushSource(["if (!",this.lastHelper,") { ",n," = ",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,n){var r=0;n||!this.options.compat||this.lastContext?this.pushContext():this.push(this.depthedLookup(e[r++])),this.resolvePath("context",e,r,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,n,r){var i=this;if(this.options.strict||this.options.assumeObjects)return void this.push(o(this.options.strict,this,t,e));for(var a=t.length;a>n;n++)this.replaceStack(function(o){var a=i.nameLookup(o,t[n],e);return r?[" && ",a]:[" != null ? ",a," : ",o]})},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,n){var r=this.popStack(),i=this.setupHelper(e,t),o=n?[i.name," || "]:"",a=["("].concat(o,r);this.options.strict||a.push(" || ",this.aliasable("helpers.helperMissing")),a.push(")"),this.push(this.source.functionCall(a,"call",i.callParams))},invokeKnownHelper:function(e,t){var n=this.setupHelper(e,t);this.push(this.source.functionCall(n.name,"call",n.callParams))},invokeAmbiguous:function(e,t){this.useRegister("helper");var n=this.popStack();this.emptyHash();var r=this.setupHelper(0,e,t),i=this.lastHelper=this.nameLookup("helpers",e,"helper"),o=["(","(helper = ",i," || ",n,")"];this.options.strict||(o[0]="(helper = ",o.push(" != null ? helper : ",this.aliasable("helpers.helperMissing"))),this.push(["(",o,r.paramsInit?["),(",r.paramsInit]:[],"),","(typeof helper === ",this.aliasable('"function"')," ? ",this.source.functionCall("helper","call",r.callParams)," : helper))"])},invokePartial:function(e,t,n){var r=[],i=this.setupParams(t,1,r,!1);e&&(t=this.popStack(),delete i.name),n&&(i.indent=JSON.stringify(n)),i.helpers="helpers",i.partials="partials",e?r.unshift(t):r.unshift(this.nameLookup("partials",t,"partial")),this.options.compat&&(i.depths="depths"),i=this.objectLiteral(i),r.push(i),this.push(this.source.functionCall("this.invokePartial","",r))},assignToHash:function(e){var t=this.popStack(),n=void 0,r=void 0,i=void 0;this.trackIds&&(i=this.popStack()),this.stringParams&&(r=this.popStack(),n=this.popStack());var o=this.hash;n&&(o.contexts[e]=n),r&&(o.types[e]=r),i&&(o.ids[e]=i),o.values[e]=t},pushId:function(e,t,n){"BlockParam"===e?this.pushStackLiteral("blockParams["+t[0]+"].path["+t[1]+"]"+(n?" + "+JSON.stringify("."+n):"")):"PathExpression"===e?this.pushString(t):"SubExpression"===e?this.pushStackLiteral("true"):this.pushStackLiteral("null")},compiler:i,compileChildren:function(e,t){for(var n=e.children,r=void 0,i=void 0,o=0,a=n.length;a>o;o++){r=n[o],i=new this.compiler;var s=this.matchExistingProgram(r);null==s?(this.context.programs.push(""),s=this.context.programs.length,r.index=s,r.name="program"+s,this.context.programs[s]=i.compile(r,t,this.context,!this.precompile),this.context.environments[s]=r,this.useDepths=this.useDepths||i.useDepths,this.useBlockParams=this.useBlockParams||i.useBlockParams):(r.index=s,r.name="program"+s,this.useDepths=this.useDepths||r.useDepths,this.useBlockParams=this.useBlockParams||r.useBlockParams)}},matchExistingProgram:function(e){for(var t=0,n=this.context.environments.length;n>t;t++){var r=this.context.environments[t];if(r&&r.equals(e))return t}},programExpression:function(e){var t=this.environment.children[e],n=[t.index,"data",t.blockParams];return(this.useBlockParams||this.useDepths)&&n.push("blockParams"),this.useDepths&&n.push("depths"),"this.program("+n.join(", ")+")"},useRegister:function(e){this.registers[e]||(this.registers[e]=!0,this.registers.list.push(e))},push:function(e){return e instanceof r||(e=this.source.wrap(e)),this.inlineStack.push(e),e},pushStackLiteral:function(e){this.push(new r(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=["("],n=void 0,i=void 0,o=void 0;if(!this.isInline())throw new u["default"]("replaceStack on non-inline");var a=this.popStack(!0);if(a instanceof r)n=[a.value],t=["(",n],o=!0;else{i=!0;var s=this.incrStack();t=["((",this.push(s)," = ",a,")"],n=this.topStack()}var l=e.call(this,n);o||this.popStack(),i&&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,n=e.length;n>t;t++){var i=e[t];if(i instanceof r)this.compileStack.push(i);else{var o=this.incrStack();this.pushSource([o," = ",i,";"]),this.compileStack.push(o)}}},isInline:function(){return this.inlineStack.length},popStack:function(e){var t=this.isInline(),n=(t?this.inlineStack:this.compileStack).pop();if(!e&&n instanceof r)return n.value;if(!t){if(!this.stackSlot)throw new u["default"]("Invalid stack pop");this.stackSlot--}return n},topStack:function(){var e=this.isInline()?this.inlineStack:this.compileStack,t=e[e.length-1];return t instanceof r?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,n){var r=[],i=this.setupHelperArgs(t,e,r,n),o=this.nameLookup("helpers",t,"helper");return{params:r,paramsInit:i,name:o,callParams:[this.contextName(0)].concat(r)}},setupParams:function(e,t,n){var r={},i=[],o=[],a=[],s=void 0;r.name=this.quotedString(e),r.hash=this.popStack(),this.trackIds&&(r.hashIds=this.popStack()),this.stringParams&&(r.hashTypes=this.popStack(),r.hashContexts=this.popStack());var l=this.popStack(),u=this.popStack();(u||l)&&(r.fn=u||"this.noop",r.inverse=l||"this.noop");for(var c=t;c--;)s=this.popStack(),n[c]=s,this.trackIds&&(a[c]=this.popStack()),this.stringParams&&(o[c]=this.popStack(),i[c]=this.popStack());return this.trackIds&&(r.ids=this.source.generateArray(a)),this.stringParams&&(r.types=this.source.generateArray(o),r.contexts=this.source.generateArray(i)),this.options.data&&(r.data="data"),this.useBlockParams&&(r.blockParams="blockParams"),r},setupHelperArgs:function(e,t,n,r){var i=this.setupParams(e,t,n,!0);return i=this.objectLiteral(i),r?(this.useRegister("options"),n.push("options"),["options=",i]):(n.push(i),"")}},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=i.RESERVED_WORDS={},n=0,r=e.length;r>n;n++)t[e[n]]=!0}(),i.isValidJavaScriptVariableName=function(e){return!i.RESERVED_WORDS[e]&&/^[a-zA-Z_$][0-9a-zA-Z_$]*$/.test(e)},t["default"]=i,e.exports=t["default"]},function(e,t,n){"use strict";function r(){this.parents=[]}var i=n(8)["default"];t.__esModule=!0;var o=n(12),a=i(o),s=n(2),l=i(s);r.prototype={constructor:r,mutating:!1,acceptKey:function(e,t){var n=this.accept(e[t]);if(this.mutating){if(n&&(!n.type||!l["default"][n.type]))throw new a["default"]('Unexpected node type "'+n.type+'" found when accepting '+t+" on "+e.type);
+e[t]=n}},acceptRequired:function(e,t){if(this.acceptKey(e,t),!e[t])throw new a["default"](e.type+" requires "+t)},acceptArray:function(e){for(var t=0,n=e.length;n>t;t++)this.acceptKey(e,t),e[t]||(e.splice(t,1),t--,n--)},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"]=r,e.exports=t["default"]},function(e,t,n){(function(n){"use strict";t.__esModule=!0,t["default"]=function(e){var t="undefined"!=typeof n?n:window,r=t.Handlebars;e.noConflict=function(){t.Handlebars===e&&(t.Handlebars=r)}},e.exports=t["default"]}).call(t,function(){return this}())},function(e,t,n){"use strict";t["default"]=function(e){return e&&e.__esModule?e:{"default":e}},t.__esModule=!0},function(e,t,n){"use strict";t["default"]=function(e){if(e&&e.__esModule)return e;var t={};if("object"==typeof e&&null!==e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t["default"]=e,t},t.__esModule=!0},function(e,t,n){"use strict";function r(e,t){this.helpers=e||{},this.partials=t||{},i(this)}function i(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,n){var r=n.inverse,i=n.fn;if(t===!0)return i(this);if(t===!1||null==t)return r(this);if(g(t))return t.length>0?(n.ids&&(n.ids=[n.name]),e.helpers.each(t,n)):r(this);if(n.data&&n.ids){var a=o(n.data);a.contextPath=u.appendContextPath(n.data.contextPath,n.name),n={data:a}}return i(t,n)}),e.registerHelper("each",function(e,t){function n(t,n,i){l&&(l.key=t,l.index=n,l.first=0===n,l.last=!!i,c&&(l.contextPath=c+t)),s+=r(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 r=t.fn,i=t.inverse,a=0,s="",l=void 0,c=void 0;if(t.data&&t.ids&&(c=u.appendContextPath(t.data.contextPath,t.ids[0])+"."),m(e)&&(e=e.call(this)),t.data&&(l=o(t.data)),e&&"object"==typeof e)if(g(e))for(var h=e.length;h>a;a++)n(a,a,a===e.length-1);else{var f=void 0;for(var d in e)e.hasOwnProperty(d)&&(f&&n(f,a-1),f=d,a++);f&&n(f,a-1,!0)}return 0===a&&(s=i(this)),s}),e.registerHelper("if",function(e,t){return m(e)&&(e=e.call(this)),!t.hash.includeZero&&!e||u.isEmpty(e)?t.inverse(this):t.fn(this)}),e.registerHelper("unless",function(t,n){return e.helpers["if"].call(this,t,{fn:n.inverse,inverse:n.fn,hash:n.hash})}),e.registerHelper("with",function(e,t){m(e)&&(e=e.call(this));var n=t.fn;if(u.isEmpty(e))return t.inverse(this);if(t.data&&t.ids){var r=o(t.data);r.contextPath=u.appendContextPath(t.data.contextPath,t.ids[0]),t={data:r}}return n(e,t)}),e.registerHelper("log",function(t,n){var r=n.data&&null!=n.data.level?parseInt(n.data.level,10):1;e.log(r,t)}),e.registerHelper("lookup",function(e,t){return e&&e[t]})}function o(e){var t=u.extend({},e);return t._parent=e,t}var a=n(9)["default"],s=n(8)["default"];t.__esModule=!0,t.HandlebarsEnvironment=r,t.createFrame=o;var l=n(13),u=a(l),c=n(12),p=s(c),h="3.0.1";t.VERSION=h;var f=6;t.COMPILER_REVISION=f;var d={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=d;var g=u.isArray,m=u.isFunction,v=u.toString,y="[object Object]";r.prototype={constructor:r,logger:b,log:x,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 b={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&&b.level<=e){var n=b.methodMap[e];(console[n]||console.log).call(console,t)}}};t.logger=b;var x=b.log;t.log=x},function(e,t,n){"use strict";function r(e){this.string=e}t.__esModule=!0,r.prototype.toString=r.prototype.toHTML=function(){return""+this.string},t["default"]=r,e.exports=t["default"]},function(e,t,n){"use strict";function r(e,t){var n=t&&t.loc,o=void 0,a=void 0;n&&(o=n.start.line,a=n.start.column,e+=" - "+o+":"+a);for(var s=Error.prototype.constructor.call(this,e),l=0;l<i.length;l++)this[i[l]]=s[i[l]];Error.captureStackTrace&&Error.captureStackTrace(this,r),n&&(this.lineNumber=o,this.column=a)}t.__esModule=!0;var i=["description","fileName","lineNumber","message","name","number","stack"];r.prototype=new Error,t["default"]=r,e.exports=t["default"]},function(e,t,n){"use strict";function r(e){return c[e]}function i(e){for(var t=1;t<arguments.length;t++)for(var n in arguments[t])Object.prototype.hasOwnProperty.call(arguments[t],n)&&(e[n]=arguments[t][n]);return e}function o(e,t){for(var n=0,r=e.length;r>n;n++)if(e[n]===t)return n;return-1}function a(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,r):e}function s(e){return e||0===e?!(!g(e)||0!==e.length):!0}function l(e,t){return e.path=t,e}function u(e,t){return(e?e+".":"")+t}t.__esModule=!0,t.extend=i,t.indexOf=o,t.escapeExpression=a,t.isEmpty=s,t.blockParams=l,t.appendContextPath=u;var c={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;","`":"&#x60;"},p=/[&<>"'`]/g,h=/[&<>"'`]/,f=Object.prototype.toString;t.toString=f;var d=function(e){return"function"==typeof e};d(/x/)&&(t.isFunction=d=function(e){return"function"==typeof e&&"[object Function]"===f.call(e)});var d;t.isFunction=d;var g=Array.isArray||function(e){return e&&"object"==typeof e?"[object Array]"===f.call(e):!1};t.isArray=g},function(e,t,n){"use strict";function r(e){var t=e&&e[0]||1,n=m.COMPILER_REVISION;if(t!==n){if(n>t){var r=m.REVISION_CHANGES[n],i=m.REVISION_CHANGES[t];throw new g["default"]("Template was precompiled with an older version of Handlebars than the current runtime. Please update your precompiler to a newer version ("+r+") or downgrade your runtime to an older version ("+i+").")}throw new g["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 i(e,t){function n(n,r,i){i.hash&&(r=f.extend({},r,i.hash)),n=t.VM.resolvePartial.call(this,n,r,i);var o=t.VM.invokePartial.call(this,n,r,i);if(null==o&&t.compile&&(i.partials[i.name]=t.compile(n,e.compilerOptions,t),o=i.partials[i.name](r,i)),null!=o){if(i.indent){for(var a=o.split("\n"),s=0,l=a.length;l>s&&(a[s]||s+1!==l);s++)a[s]=i.indent+a[s];o=a.join("\n")}return o}throw new g["default"]("The partial "+i.name+" could not be compiled when running in runtime-only mode")}function r(t){var n=void 0===arguments[1]?{}:arguments[1],o=n.data;r._setup(n),!n.partial&&e.useData&&(o=u(t,o));var a=void 0,s=e.useBlockParams?[]:void 0;return e.useDepths&&(a=n.depths?[t].concat(n.depths):[t]),e.main.call(i,t,i.helpers,i.partials,o,s,a)}if(!t)throw new g["default"]("No environment passed to template");if(!e||!e.main)throw new g["default"]("Unknown template object: "+typeof e);t.VM.checkRevision(e.compiler);var i={strict:function(e,t){if(!(t in e))throw new g["default"]('"'+t+'" not defined in '+e);return e[t]},lookup:function(e,t){for(var n=e.length,r=0;n>r;r++)if(e[r]&&null!=e[r][t])return e[r][t]},lambda:function(e,t){return"function"==typeof e?e.call(t):e},escapeExpression:f.escapeExpression,invokePartial:n,fn:function(t){return e[t]},programs:[],program:function(e,t,n,r,i){var a=this.programs[e],s=this.fn(e);return t||i||r||n?a=o(this,e,s,t,n,r,i):a||(a=this.programs[e]=o(this,e,s)),a},data:function(e,t){for(;e&&t--;)e=e._parent;return e},merge:function(e,t){var n=e||t;return e&&t&&e!==t&&(n=f.extend({},t,e)),n},noop:t.VM.noop,compilerInfo:e.compiler};return r.isTop=!0,r._setup=function(n){n.partial?(i.helpers=n.helpers,i.partials=n.partials):(i.helpers=i.merge(n.helpers,t.helpers),e.usePartial&&(i.partials=i.merge(n.partials,t.partials)))},r._child=function(t,n,r,a){if(e.useBlockParams&&!r)throw new g["default"]("must pass block params");if(e.useDepths&&!a)throw new g["default"]("must pass parent depths");return o(i,t,e[t],n,0,r,a)},r}function o(e,t,n,r,i,o,a){function s(t){var i=void 0===arguments[1]?{}:arguments[1];return n.call(e,t,e.helpers,e.partials,i.data||r,o&&[i.blockParams].concat(o),a&&[t].concat(a))}return s.program=t,s.depth=a?a.length:0,s.blockParams=i||0,s}function a(e,t,n){return e?e.call||n.name||(n.name=e,e=n.partials[e]):e=n.partials[n.name],e}function s(e,t,n){if(n.partial=!0,void 0===e)throw new g["default"]("The partial "+n.name+" could not be found");return e instanceof Function?e(t,n):void 0}function l(){return""}function u(e,t){return t&&"root"in t||(t=t?m.createFrame(t):{},t.root=e),t}var c=n(9)["default"],p=n(8)["default"];t.__esModule=!0,t.checkRevision=r,t.template=i,t.wrapProgram=o,t.resolvePartial=a,t.invokePartial=s,t.noop=l;var h=n(13),f=c(h),d=n(12),g=p(d),m=n(10)},function(e,t,n){"use strict";t.__esModule=!0;var r=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,n,r,i,o,a){var s=o.length-1;switch(i){case 1:return o[s-1];case 2:this.$=new r.Program(o[s],null,{},r.locInfo(this._$));break;case 3:this.$=o[s];break;case 4:this.$=o[s];break;case 5:this.$=o[s];break;case 6:this.$=o[s];break;case 7:this.$=o[s];break;case 8:this.$=new r.CommentStatement(r.stripComment(o[s]),r.stripFlags(o[s],o[s]),r.locInfo(this._$));break;case 9:this.$=new r.ContentStatement(o[s],r.locInfo(this._$));break;case 10:this.$=r.prepareRawBlock(o[s-2],o[s-1],o[s],this._$);break;case 11:this.$={path:o[s-3],params:o[s-2],hash:o[s-1]};break;case 12:this.$=r.prepareBlock(o[s-3],o[s-2],o[s-1],o[s],!1,this._$);break;case 13:this.$=r.prepareBlock(o[s-3],o[s-2],o[s-1],o[s],!0,this._$);break;case 14:this.$={path:o[s-4],params:o[s-3],hash:o[s-2],blockParams:o[s-1],strip:r.stripFlags(o[s-5],o[s])};break;case 15:this.$={path:o[s-4],params:o[s-3],hash:o[s-2],blockParams:o[s-1],strip:r.stripFlags(o[s-5],o[s])};break;case 16:this.$={path:o[s-4],params:o[s-3],hash:o[s-2],blockParams:o[s-1],strip:r.stripFlags(o[s-5],o[s])};break;case 17:this.$={strip:r.stripFlags(o[s-1],o[s-1]),program:o[s]};break;case 18:var l=r.prepareBlock(o[s-2],o[s-1],o[s],o[s],!1,this._$),u=new r.Program([l],null,{},r.locInfo(this._$));u.chained=!0,this.$={strip:o[s-2].strip,program:u,chain:!0};break;case 19:this.$=o[s];break;case 20:this.$={path:o[s-1],strip:r.stripFlags(o[s-2],o[s])};break;case 21:this.$=r.prepareMustache(o[s-3],o[s-2],o[s-1],o[s-4],r.stripFlags(o[s-4],o[s]),this._$);break;case 22:this.$=r.prepareMustache(o[s-3],o[s-2],o[s-1],o[s-4],r.stripFlags(o[s-4],o[s]),this._$);break;case 23:this.$=new r.PartialStatement(o[s-3],o[s-2],o[s-1],r.stripFlags(o[s-4],o[s]),r.locInfo(this._$));break;case 24:this.$=o[s];break;case 25:this.$=o[s];break;case 26:this.$=new r.SubExpression(o[s-3],o[s-2],o[s-1],r.locInfo(this._$));break;case 27:this.$=new r.Hash(o[s],r.locInfo(this._$));break;case 28:this.$=new r.HashPair(r.id(o[s-2]),o[s],r.locInfo(this._$));break;case 29:this.$=r.id(o[s-1]);break;case 30:this.$=o[s];break;case 31:this.$=o[s];break;case 32:this.$=new r.StringLiteral(o[s],r.locInfo(this._$));break;case 33:this.$=new r.NumberLiteral(o[s],r.locInfo(this._$));break;case 34:this.$=new r.BooleanLiteral(o[s],r.locInfo(this._$));break;case 35:this.$=new r.UndefinedLiteral(r.locInfo(this._$));break;case 36:this.$=new r.NullLiteral(r.locInfo(this._$));break;case 37:this.$=o[s];break;case 38:this.$=o[s];break;case 39:this.$=r.preparePath(!0,o[s],this._$);break;case 40:this.$=r.preparePath(!1,o[s],this._$);break;case 41:o[s-2].push({part:r.id(o[s]),original:o[s],separator:o[s-1]}),this.$=o[s-2];break;case 42:this.$=[{part:r.id(o[s]),original:o[s]}];break;case 43:this.$=[];break;case 44:o[s-1].push(o[s]);break;case 45:this.$=[];break;case 46:o[s-1].push(o[s]);break;case 53:this.$=[];break;case 54:o[s-1].push(o[s]);break;case 59:this.$=[];break;case 60:o[s-1].push(o[s]);break;case 65:this.$=[];break;case 66:o[s-1].push(o[s]);break;case 73:this.$=[];break;case 74:o[s-1].push(o[s]);break;case 77:this.$=[];break;case 78:o[s-1].push(o[s]);break;case 81:this.$=[];break;case 82:o[s-1].push(o[s]);break;case 85:this.$=[];break;case 86:o[s-1].push(o[s]);break;case 89:this.$=[o[s]];break;case 90:o[s-1].push(o[s]);break;case 91:this.$=[o[s]];break;case 92:o[s-1].push(o[s])}},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=n.lexer.lex()||1,"number"!=typeof e&&(e=n.symbols_[e]||e),e}var n=this,r=[0],i=[null],o=[],a=this.table,s="",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;o.push(p);var h=this.lexer.options&&this.lexer.options.ranges;"function"==typeof this.yy.parseError&&(this.parseError=this.yy.parseError);for(var f,d,g,m,v,y,b,x,w,S={};;){if(g=r[r.length-1],this.defaultActions[g]?m=this.defaultActions[g]:(null!==f&&"undefined"!=typeof f||(f=t()),m=a[g]&&a[g][f]),"undefined"==typeof m||!m.length||!m[0]){var k="";if(!c){w=[];for(y in a[g])this.terminals_[y]&&y>2&&w.push("'"+this.terminals_[y]+"'");k=this.lexer.showPosition?"Parse error on line "+(l+1)+":\n"+this.lexer.showPosition()+"\nExpecting "+w.join(", ")+", got '"+(this.terminals_[f]||f)+"'":"Parse error on line "+(l+1)+": Unexpected "+(1==f?"end of input":"'"+(this.terminals_[f]||f)+"'"),this.parseError(k,{text:this.lexer.match,token:this.terminals_[f]||f,line:this.lexer.yylineno,loc:p,expected:w})}}if(m[0]instanceof Array&&m.length>1)throw new Error("Parse Error: multiple actions possible at state: "+g+", token: "+f);switch(m[0]){case 1:r.push(f),i.push(this.lexer.yytext),o.push(this.lexer.yylloc),r.push(m[1]),f=null,d?(f=d,d=null):(u=this.lexer.yyleng,s=this.lexer.yytext,l=this.lexer.yylineno,p=this.lexer.yylloc,c>0&&c--);break;case 2:if(b=this.productions_[m[1]][1],S.$=i[i.length-b],S._$={first_line:o[o.length-(b||1)].first_line,last_line:o[o.length-1].last_line,first_column:o[o.length-(b||1)].first_column,last_column:o[o.length-1].last_column},h&&(S._$.range=[o[o.length-(b||1)].range[0],o[o.length-1].range[1]]),v=this.performAction.call(S,s,u,l,this.yy,m[1],i,o),"undefined"!=typeof v)return v;b&&(r=r.slice(0,-1*b*2),i=i.slice(0,-1*b),o=o.slice(0,-1*b)),r.push(this.productions_[m[1]][0]),i.push(S.$),o.push(S._$),x=a[r[r.length-2]][r[r.length-1]],r.push(x);break;case 3:return!0}}return!0}},n=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,n=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 r=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),n.length-1&&(this.yylineno-=n.length-1);var i=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:n?(n.length===r.length?this.yylloc.first_column:0)+r[r.length-n.length].length-n[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[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,n,r,i;this._more||(this.yytext="",this.match="");for(var o=this._currentRules(),a=0;a<o.length&&(n=this._input.match(this.rules[o[a]]),!n||t&&!(n[0].length>t[0].length)||(t=n,r=a,this.options.flex));a++);return t?(i=t[0].match(/(?:\r\n?|\n).*/g),i&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.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,o[r],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,n,r){function i(e,n){return t.yytext=t.yytext.substr(e,t.yyleng-n)}switch(n){case 0:if("\\\\"===t.yytext.slice(-2)?(i(0,1),this.begin("mu")):"\\"===t.yytext.slice(-1)?(i(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=i(1,2).replace(/\\"/g,'"'),74;case 30:return t.yytext=i(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=n,e.prototype=t,t.Parser=e,new e}();t["default"]=r,e.exports=t["default"]},function(e,t,n){"use strict";function r(){}function i(e,t,n){void 0===t&&(t=e.length);var r=e[t-1],i=e[t-2];return r?"ContentStatement"===r.type?(i||!n?/\r?\n\s*?$/:/(^|\r?\n)\s*?$/).test(r.original):void 0:n}function o(e,t,n){void 0===t&&(t=-1);var r=e[t+1],i=e[t+2];return r?"ContentStatement"===r.type?(i||!n?/^\s*?\r?\n/:/^\s*?(\r?\n|$)/).test(r.original):void 0:n}function a(e,t,n){var r=e[null==t?0:t+1];if(r&&"ContentStatement"===r.type&&(n||!r.rightStripped)){var i=r.value;r.value=r.value.replace(n?/^\s+/:/^[ \t]*\r?\n?/,""),r.rightStripped=r.value!==i}}function s(e,t,n){var r=e[null==t?e.length-1:t-1];if(r&&"ContentStatement"===r.type&&(n||!r.leftStripped)){var i=r.value;return r.value=r.value.replace(n?/\s+$/:/[ \t]+$/,""),r.leftStripped=r.value!==i,r.leftStripped}}var l=n(8)["default"];t.__esModule=!0;var u=n(6),c=l(u);r.prototype=new c["default"],r.prototype.Program=function(e){var t=!this.isRootSeen;this.isRootSeen=!0;for(var n=e.body,r=0,l=n.length;l>r;r++){var u=n[r],c=this.accept(u);if(c){var p=i(n,r,t),h=o(n,r,t),f=c.openStandalone&&p,d=c.closeStandalone&&h,g=c.inlineStandalone&&p&&h;c.close&&a(n,r,!0),c.open&&s(n,r,!0),g&&(a(n,r),s(n,r)&&"PartialStatement"===u.type&&(u.indent=/([ \t]+$)/.exec(n[r-1].original)[1])),f&&(a((u.program||u.inverse).body),s(n,r)),d&&(a(n,r),s((u.inverse||u.program).body))}}return e},r.prototype.BlockStatement=function(e){this.accept(e.program),this.accept(e.inverse);var t=e.program||e.inverse,n=e.program&&e.inverse,r=n,l=n;if(n&&n.chained)for(r=n.body[0].program;l.chained;)l=l.body[l.body.length-1].program;var u={open:e.openStrip.open,close:e.closeStrip.close,openStandalone:o(t.body),closeStandalone:i((r||t).body)};if(e.openStrip.close&&a(t.body,null,!0),n){var c=e.inverseStrip;c.open&&s(t.body,null,!0),c.close&&a(r.body,null,!0),e.closeStrip.open&&s(l.body,null,!0),i(t.body)&&o(r.body)&&(s(t.body),a(r.body))}else e.closeStrip.open&&s(t.body,null,!0);return u},r.prototype.MustacheStatement=function(e){return e.strip},r.prototype.PartialStatement=r.prototype.CommentStatement=function(e){var t=e.strip||{};return{inlineStandalone:!0,open:t.open,close:t.close}},t["default"]=r,e.exports=t["default"]},function(e,t,n){"use strict";function r(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 i(e){return/^\[.*\]$/.test(e)?e.substr(1,e.length-2):e}function o(e,t){return{open:"~"===e.charAt(2),close:"~"===t.charAt(t.length-3)}}function a(e){return e.replace(/^\{\{~?\!-?-?/,"").replace(/-?-?~?\}\}$/,"")}function s(e,t,n){n=this.locInfo(n);for(var r=e?"@":"",i=[],o=0,a="",s=0,l=t.length;l>s;s++){var u=t[s].part,c=t[s].original!==u;if(r+=(t[s].separator||"")+u,c||".."!==u&&"."!==u&&"this"!==u)i.push(u);else{if(i.length>0)throw new f["default"]("Invalid path: "+r,{loc:n});".."===u&&(o++,a+="../")}}return new this.PathExpression(e,o,i,r,n)}function l(e,t,n,r,i,o){var a=r.charAt(3)||r.charAt(2),s="{"!==a&&"&"!==a;return new this.MustacheStatement(e,t,n,s,i,this.locInfo(o))}function u(e,t,n,r){if(e.path.original!==n){var i={loc:e.path.loc};throw new f["default"](e.path.original+" doesn't match "+n,i)}r=this.locInfo(r);var o=new this.Program([t],null,{},r);return new this.BlockStatement(e.path,e.params,e.hash,o,void 0,{},{},{},r)}function c(e,t,n,r,i,o){if(r&&r.path&&e.path.original!==r.path.original){var a={loc:e.path.loc};throw new f["default"](e.path.original+" doesn't match "+r.path.original,a)}t.blockParams=e.blockParams;var s=void 0,l=void 0;return n&&(n.chain&&(n.program.body[0].closeStrip=r.strip),l=n.strip,s=n.program),i&&(i=s,s=t,t=i),new this.BlockStatement(e.path,e.params,e.hash,t,s,e.strip,l,r&&r.strip,this.locInfo(o))}var p=n(8)["default"];t.__esModule=!0,t.SourceLocation=r,t.id=i,t.stripFlags=o,t.stripComment=a,t.preparePath=s,t.prepareMustache=l,t.prepareRawBlock=u,t.prepareBlock=c;var h=n(12),f=p(h)},function(e,t,n){"use strict";function r(e,t,n){if(o.isArray(e)){for(var r=[],i=0,a=e.length;a>i;i++)r.push(t.wrap(e[i],n));return r}return"boolean"==typeof e||"number"==typeof e?e+"":e}function i(e){this.srcFile=e,this.source=[]}t.__esModule=!0;var o=n(13),a=void 0;try{}catch(s){}a||(a=function(e,t,n,r){this.src="",r&&this.add(r)},a.prototype={add:function(e){o.isArray(e)&&(e=e.join("")),this.src+=e},prepend:function(e){o.isArray(e)&&(e=e.join("")),this.src=e+this.src},toStringWithSourceMap:function(){return{code:this.toString()}},toString:function(){return this.src}}),i.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,n=this.source.length;n>t;t++)e(this.source[t])},empty:function(){var e=void 0===arguments[0]?this.currentLocation||{start:{}}:arguments[0];return new a(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 a?e:(e=r(e,this,t),new a(t.start.line,t.start.column,this.srcFile,e))},functionCall:function(e,t,n){return n=this.generateList(n),this.wrap([e,t?"."+t+"(":"(",n,")"])},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 n in e)if(e.hasOwnProperty(n)){var i=r(e[n],this);"undefined"!==i&&t.push([this.quotedString(n),":",i])}var o=this.generateList(t);return o.prepend("{"),o.add("}"),o},generateList:function(e,t){for(var n=this.empty(t),i=0,o=e.length;o>i;i++)i&&n.add(","),n.add(r(e[i],this,t));return n},generateArray:function(e,t){var n=this.generateList(e,t);return n.prepend("["),n.add("]"),n}},t["default"]=i,e.exports=t["default"]}])})}),define("source-map",[],function(e,t,n){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,n){define(function(e,t,n){function r(e){e||(e={}),this._file=o.getArg(e,"file",null),this._sourceRoot=o.getArg(e,"sourceRoot",null),this._sources=new a,this._names=new a,this._mappings=[],this._sourcesContents=null}var i=e("source-map/base64-vlq"),o=e("source-map/util"),a=e("source-map/array-set").ArraySet;r.prototype._version=3,r.fromSourceMap=function(e){var t=e.sourceRoot,n=new r({file:e.file,sourceRoot:t});return e.eachMapping(function(e){var r={generated:{line:e.generatedLine,column:e.generatedColumn}};null!=e.source&&(r.source=e.source,null!=t&&(r.source=o.relative(t,r.source)),r.original={line:e.originalLine,column:e.originalColumn},null!=e.name&&(r.name=e.name)),n.addMapping(r)}),e.sources.forEach(function(t){var r=e.sourceContentFor(t);null!=r&&n.setSourceContent(t,r)}),n},r.prototype.addMapping=function(e){var t=o.getArg(e,"generated"),n=o.getArg(e,"original",null),r=o.getArg(e,"source",null),i=o.getArg(e,"name",null);this._validateMapping(t,n,r,i),null==r||this._sources.has(r)||this._sources.add(r),null==i||this._names.has(i)||this._names.add(i),this._mappings.push({generatedLine:t.line,generatedColumn:t.column,originalLine:null!=n&&n.line,originalColumn:null!=n&&n.column,source:r,name:i})},r.prototype.setSourceContent=function(e,t){var n=e;null!=this._sourceRoot&&(n=o.relative(this._sourceRoot,n)),null!=t?(this._sourcesContents||(this._sourcesContents={}),this._sourcesContents[o.toSetString(n)]=t):this._sourcesContents&&(delete this._sourcesContents[o.toSetString(n)],0===Object.keys(this._sourcesContents).length&&(this._sourcesContents=null))},r.prototype.applySourceMap=function(e,t,n){var r=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.');r=e.file}var i=this._sourceRoot;null!=i&&(r=o.relative(i,r));var s=new a,l=new a;this._mappings.forEach(function(t){if(t.source===r&&null!=t.originalLine){var a=e.originalPositionFor({line:t.originalLine,column:t.originalColumn});null!=a.source&&(t.source=a.source,null!=n&&(t.source=o.join(n,t.source)),null!=i&&(t.source=o.relative(i,t.source)),t.originalLine=a.line,t.originalColumn=a.column,null!=a.name&&(t.name=a.name))}var u=t.source;null==u||s.has(u)||s.add(u);var c=t.name;null==c||l.has(c)||l.add(c)},this),this._sources=s,this._names=l,e.sources.forEach(function(t){var r=e.sourceContentFor(t);null!=r&&(null!=n&&(t=o.join(n,t)),null!=i&&(t=o.relative(i,t)),this.setSourceContent(t,r))},this)},r.prototype._validateMapping=function(e,t,n,r){if((!(e&&"line"in e&&"column"in e&&e.line>0&&e.column>=0)||t||n||r)&&!(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&&n))throw new Error("Invalid mapping: "+JSON.stringify({generated:e,source:n,original:t,name:r}))},r.prototype._serializeMappings=function(){var e,t=0,n=1,r=0,a=0,s=0,l=0,u="";this._mappings.sort(o.compareByGeneratedPositions);for(var c=0,p=this._mappings.length;p>c;c++){if(e=this._mappings[c],e.generatedLine!==n)for(t=0;e.generatedLine!==n;)u+=";",n++;else if(c>0){if(!o.compareByGeneratedPositions(e,this._mappings[c-1]))continue;u+=","}u+=i.encode(e.generatedColumn-t),t=e.generatedColumn,null!=e.source&&(u+=i.encode(this._sources.indexOf(e.source)-l),l=this._sources.indexOf(e.source),u+=i.encode(e.originalLine-1-a),a=e.originalLine-1,u+=i.encode(e.originalColumn-r),r=e.originalColumn,null!=e.name&&(u+=i.encode(this._names.indexOf(e.name)-s),s=this._names.indexOf(e.name)))}return u},r.prototype._generateSourcesContent=function(e,t){return e.map(function(e){if(!this._sourcesContents)return null;null!=t&&(e=o.relative(t,e));var n=o.toSetString(e);return Object.prototype.hasOwnProperty.call(this._sourcesContents,n)?this._sourcesContents[n]:null},this)},r.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},r.prototype.toString=function(){return JSON.stringify(this)},t.SourceMapGenerator=r})}),define("source-map/base64-vlq",[],function(e,t,n){define(function(e,t,n){function r(e){return 0>e?(-e<<1)+1:(e<<1)+0}function i(e){var t=1===(1&e),n=e>>1;return t?-n:n}var o=e("source-map/base64"),a=5,s=1<<a,l=s-1,u=s;t.encode=function(e){var t,n="",i=r(e);do t=i&l,i>>>=a,i>0&&(t|=u),n+=o.encode(t);while(i>0);return n},t.decode=function(e,t){var n,r,s=0,c=e.length,p=0,h=0;do{if(s>=c)throw new Error("Expected more digits in base 64 VLQ value.");r=o.decode(e.charAt(s++)),n=!!(r&u),r&=l,p+=r<<h,h+=a}while(n);t.value=i(p),t.rest=e.slice(s)}})}),define("source-map/base64",[],function(e,t,n){define(function(e,t,n){var r={},i={};"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split("").forEach(function(e,t){r[e]=t,i[t]=e}),t.encode=function(e){if(e in i)return i[e];throw new TypeError("Must be between 0 and 63: "+e)},t.decode=function(e){if(e in r)return r[e];throw new TypeError("Not a valid base 64 digit: "+e)}})}),define("source-map/util",[],function(e,t,n){define(function(e,t,n){function r(e,t,n){if(t in e)return e[t];if(3===arguments.length)return n;throw new Error('"'+t+'" is a required argument.')}function i(e){var t=e.match(d);return t?{scheme:t[1],auth:t[2],host:t[3],port:t[4],path:t[5]}:null}function o(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 a(e){var t=e,n=i(e);if(n){if(!n.path)return e;t=n.path}for(var r,a="/"===t.charAt(0),s=t.split(/\/+/),l=0,u=s.length-1;u>=0;u--)r=s[u],"."===r?s.splice(u,1):".."===r?l++:l>0&&(""===r?(s.splice(u+1,l),l=0):(s.splice(u,2),l--));return t=s.join("/"),""===t&&(t=a?"/":"."),n?(n.path=t,o(n)):t}function s(e,t){""===e&&(e="."),""===t&&(t=".");var n=i(t),r=i(e);if(r&&(e=r.path||"/"),n&&!n.scheme)return r&&(n.scheme=r.scheme),o(n);if(n||t.match(g))return t;if(r&&!r.host&&!r.path)return r.host=t,o(r);var s="/"===t.charAt(0)?t:a(e.replace(/\/+$/,"")+"/"+t);return r?(r.path=s,o(r)):s}function l(e,t){""===e&&(e="."),e=e.replace(/\/$/,"");var n=i(e);return"/"==t.charAt(0)&&n&&"/"==n.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 n=e||"",r=t||"";return(n>r)-(r>n)}function h(e,t,n){var r;return(r=p(e.source,t.source))?r:(r=e.originalLine-t.originalLine)?r:(r=e.originalColumn-t.originalColumn,r||n?r:(r=p(e.name,t.name))?r:(r=e.generatedLine-t.generatedLine,r?r:e.generatedColumn-t.generatedColumn))}function f(e,t,n){var r;return(r=e.generatedLine-t.generatedLine)?r:(r=e.generatedColumn-t.generatedColumn,r||n?r:(r=p(e.source,t.source))?r:(r=e.originalLine-t.originalLine)?r:(r=e.originalColumn-t.originalColumn,r?r:p(e.name,t.name)))}t.getArg=r;var d=/^(?:([\w+\-.]+):)?\/\/(?:(\w+:\w+)@)?([\w.]*)(?::(\d+))?(\S*)$/,g=/^data:.+\,.+$/;t.urlParse=i,t.urlGenerate=o,t.normalize=a,t.join=s,t.relative=l,t.toSetString=u,t.fromSetString=c,t.compareByOriginalPositions=h,t.compareByGeneratedPositions=f})}),define("source-map/array-set",[],function(e,t,n){define(function(e,t,n){function r(){this._array=[],this._set={}}var i=e("source-map/util");r.fromArray=function(e,t){for(var n=new r,i=0,o=e.length;o>i;i++)n.add(e[i],t);return n},r.prototype.add=function(e,t){var n=this.has(e),r=this._array.length;n&&!t||this._array.push(e),n||(this._set[i.toSetString(e)]=r)},r.prototype.has=function(e){return Object.prototype.hasOwnProperty.call(this._set,i.toSetString(e))},r.prototype.indexOf=function(e){if(this.has(e))return this._set[i.toSetString(e)];throw new Error('"'+e+'" is not in the set.')},r.prototype.at=function(e){if(e>=0&&e<this._array.length)return this._array[e];throw new Error("No element indexed by "+e)},r.prototype.toArray=function(){return this._array.slice()},t.ArraySet=r})}),define("source-map/source-map-consumer",[],function(e,t,n){define(function(e,t,n){function r(e){var t=e;"string"==typeof e&&(t=JSON.parse(e.replace(/^\)\]\}'/,"")));var n=i.getArg(t,"version"),r=i.getArg(t,"sources"),o=i.getArg(t,"names",[]),s=i.getArg(t,"sourceRoot",null),l=i.getArg(t,"sourcesContent",null),u=i.getArg(t,"mappings"),c=i.getArg(t,"file",null);if(n!=this._version)throw new Error("Unsupported version: "+n);r=r.map(i.normalize),this._names=a.fromArray(o,!0),this._sources=a.fromArray(r,!0),this.sourceRoot=s,this.sourcesContent=l,this._mappings=u,this.file=c}var i=e("source-map/util"),o=e("source-map/binary-search"),a=e("source-map/array-set").ArraySet,s=e("source-map/base64-vlq");r.fromSourceMap=function(e){var t=Object.create(r.prototype);return t._names=a.fromArray(e._names.toArray(),!0),t._sources=a.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(i.compareByGeneratedPositions),t.__originalMappings=e._mappings.slice().sort(i.compareByOriginalPositions),t},r.prototype._version=3,Object.defineProperty(r.prototype,"sources",{get:function(){return this._sources.toArray().map(function(e){return null!=this.sourceRoot?i.join(this.sourceRoot,e):e},this)}}),r.prototype.__generatedMappings=null,Object.defineProperty(r.prototype,"_generatedMappings",{get:function(){return this.__generatedMappings||(this.__generatedMappings=[],this.__originalMappings=[],this._parseMappings(this._mappings,this.sourceRoot)),this.__generatedMappings}}),r.prototype.__originalMappings=null,Object.defineProperty(r.prototype,"_originalMappings",{get:function(){return this.__originalMappings||(this.__generatedMappings=[],this.__originalMappings=[],this._parseMappings(this._mappings,this.sourceRoot)),this.__originalMappings}}),r.prototype._nextCharIsMappingSeparator=function(e){var t=e.charAt(0);return";"===t||","===t},r.prototype._parseMappings=function(e,t){for(var n,r=1,o=0,a=0,l=0,u=0,c=0,p=e,h={};p.length>0;)if(";"===p.charAt(0))r++,p=p.slice(1),o=0;else if(","===p.charAt(0))p=p.slice(1);else{if(n={},n.generatedLine=r,s.decode(p,h),n.generatedColumn=o+h.value,o=n.generatedColumn,p=h.rest,p.length>0&&!this._nextCharIsMappingSeparator(p)){if(s.decode(p,h),n.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(s.decode(p,h),n.originalLine=a+h.value,a=n.originalLine,n.originalLine+=1,p=h.rest,0===p.length||this._nextCharIsMappingSeparator(p))throw new Error("Found a source and line, but no column");s.decode(p,h),n.originalColumn=l+h.value,l=n.originalColumn,p=h.rest,p.length>0&&!this._nextCharIsMappingSeparator(p)&&(s.decode(p,h),n.name=this._names.at(c+h.value),c+=h.value,p=h.rest)}this.__generatedMappings.push(n),"number"==typeof n.originalLine&&this.__originalMappings.push(n)}this.__generatedMappings.sort(i.compareByGeneratedPositions),this.__originalMappings.sort(i.compareByOriginalPositions)},r.prototype._findMapping=function(e,t,n,r,i){if(e[n]<=0)throw new TypeError("Line must be greater than or equal to 1, got "+e[n]);if(e[r]<0)throw new TypeError("Column must be greater than or equal to 0, got "+e[r]);return o.search(e,t,i)},r.prototype.computeColumnSpans=function(){for(var e=0;e<this._generatedMappings.length;++e){var t=this._generatedMappings[e];if(e+1<this._generatedMappings.length){var n=this._generatedMappings[e+1];if(t.generatedLine===n.generatedLine){t.lastGeneratedColumn=n.generatedColumn-1;continue}}t.lastGeneratedColumn=1/0}},r.prototype.originalPositionFor=function(e){var t={generatedLine:i.getArg(e,"line"),generatedColumn:i.getArg(e,"column")},n=this._findMapping(t,this._generatedMappings,"generatedLine","generatedColumn",i.compareByGeneratedPositions);if(n>=0){var r=this._generatedMappings[n];if(r.generatedLine===t.generatedLine){var o=i.getArg(r,"source",null);return null!=o&&null!=this.sourceRoot&&(o=i.join(this.sourceRoot,o)),{source:o,line:i.getArg(r,"originalLine",null),column:i.getArg(r,"originalColumn",null),name:i.getArg(r,"name",null)}}}return{source:null,line:null,column:null,name:null}},r.prototype.sourceContentFor=function(e){if(!this.sourcesContent)return null;if(null!=this.sourceRoot&&(e=i.relative(this.sourceRoot,e)),this._sources.has(e))return this.sourcesContent[this._sources.indexOf(e)];var t;if(null!=this.sourceRoot&&(t=i.urlParse(this.sourceRoot))){var n=e.replace(/^file:\/\//,"");if("file"==t.scheme&&this._sources.has(n))return this.sourcesContent[this._sources.indexOf(n)];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.')},r.prototype.generatedPositionFor=function(e){var t={source:i.getArg(e,"source"),originalLine:i.getArg(e,"line"),originalColumn:i.getArg(e,"column")};null!=this.sourceRoot&&(t.source=i.relative(this.sourceRoot,t.source));var n=this._findMapping(t,this._originalMappings,"originalLine","originalColumn",i.compareByOriginalPositions);if(n>=0){var r=this._originalMappings[n];return{line:i.getArg(r,"generatedLine",null),column:i.getArg(r,"generatedColumn",null),lastColumn:i.getArg(r,"lastGeneratedColumn",null)}}return{line:null,column:null,lastColumn:null}},r.prototype.allGeneratedPositionsFor=function(e){var t={source:i.getArg(e,"source"),originalLine:i.getArg(e,"line"),originalColumn:1/0};null!=this.sourceRoot&&(t.source=i.relative(this.sourceRoot,t.source));var n=[],r=this._findMapping(t,this._originalMappings,"originalLine","originalColumn",i.compareByOriginalPositions);if(r>=0)for(var o=this._originalMappings[r];o&&o.originalLine===t.originalLine;)n.push({line:i.getArg(o,"generatedLine",null),column:i.getArg(o,"generatedColumn",null),lastColumn:i.getArg(o,"lastGeneratedColumn",null)}),o=this._originalMappings[--r];return n.reverse()},r.GENERATED_ORDER=1,r.ORIGINAL_ORDER=2,r.prototype.eachMapping=function(e,t,n){var o,a=t||null,s=n||r.GENERATED_ORDER;switch(s){case r.GENERATED_ORDER:o=this._generatedMappings;break;case r.ORIGINAL_ORDER:o=this._originalMappings;break;default:throw new Error("Unknown order of iteration.")}var l=this.sourceRoot;o.map(function(e){var t=e.source;return null!=t&&null!=l&&(t=i.join(l,t)),{source:t,generatedLine:e.generatedLine,generatedColumn:e.generatedColumn,originalLine:e.originalLine,originalColumn:e.originalColumn,name:e.name}}).forEach(e,a)},t.SourceMapConsumer=r})}),define("source-map/binary-search",[],function(e,t,n){define(function(e,t,n){function r(e,t,n,i,o){var a=Math.floor((t-e)/2)+e,s=o(n,i[a],!0);return 0===s?a:s>0?t-a>1?r(a,t,n,i,o):a:a-e>1?r(e,a,n,i,o):0>e?-1:e}t.search=function(e,t,n){return 0===t.length?-1:r(-1,t.length,e,t,n)}})}),define("source-map/source-node",[],function(e,t,n){define(function(e,t,n){function r(e,t,n,r,i){this.children=[],this.sourceContents={},this.line=null==e?null:e,this.column=null==t?null:t,this.source=null==n?null:n,this.name=null==i?null:i,this[l]=!0,null!=r&&this.add(r)}var i=e("source-map/source-map-generator").SourceMapGenerator,o=e("source-map/util"),a=/(\r?\n)/,s=/\r\n|[\s\S]/g,l="$$$isSourceNode$$$";r.fromStringWithSourceMap=function(e,t,n){function i(e,t){if(null===e||void 0===e.source)s.add(t);else{var i=n?o.join(n,e.source):e.source;s.add(new r(e.originalLine,e.originalColumn,i,t,e.name))}}var s=new r,l=e.split(a),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],n=t.substr(0,e.generatedColumn-p);return l[0]=t.substr(e.generatedColumn-p),p=e.generatedColumn,i(h,n),void(h=e)}var n="";i(h,u()),c++,p=0}for(;c<e.generatedLine;)s.add(u()),c++;if(p<e.generatedColumn){var t=l[0];s.add(t.substr(0,e.generatedColumn)),l[0]=t.substr(e.generatedColumn),p=e.generatedColumn}h=e},this),l.length>0&&(h&&i(h,u()),s.add(l.join(""))),t.sources.forEach(function(e){var r=t.sourceContentFor(e);null!=r&&(null!=n&&(e=o.join(n,e)),s.setSourceContent(e,r))}),s},r.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},r.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},r.prototype.walk=function(e){for(var t,n=0,r=this.children.length;r>n;n++)t=this.children[n],t[l]?t.walk(e):""!==t&&e(t,{source:this.source,line:this.line,column:this.column,name:this.name})},r.prototype.join=function(e){var t,n,r=this.children.length;if(r>0){for(t=[],n=0;r-1>n;n++)t.push(this.children[n]),t.push(e);t.push(this.children[n]),this.children=t}return this},r.prototype.replaceRight=function(e,t){var n=this.children[this.children.length-1];return n[l]?n.replaceRight(e,t):"string"==typeof n?this.children[this.children.length-1]=n.replace(e,t):this.children.push("".replace(e,t)),this},r.prototype.setSourceContent=function(e,t){this.sourceContents[o.toSetString(e)]=t},r.prototype.walkSourceContents=function(e){for(var t=0,n=this.children.length;n>t;t++)this.children[t][l]&&this.children[t].walkSourceContents(e);for(var r=Object.keys(this.sourceContents),t=0,n=r.length;n>t;t++)e(o.fromSetString(r[t]),this.sourceContents[r[t]])},r.prototype.toString=function(){var e="";return this.walk(function(t){e+=t}),e},r.prototype.toStringWithSourceMap=function(e){var t={code:"",line:1,column:0},n=new i(e),r=!1,o=null,l=null,u=null,c=null;return this.walk(function(e,i){t.code+=e,null!==i.source&&null!==i.line&&null!==i.column?(o===i.source&&l===i.line&&u===i.column&&c===i.name||n.addMapping({source:i.source,original:{line:i.line,column:i.column},generated:{line:t.line,column:t.column},name:i.name}),o=i.source,l=i.line,u=i.column,c=i.name,r=!0):r&&(n.addMapping({generated:{line:t.line,column:t.column}}),o=null,r=!1),e.match(s).forEach(function(e,s,l){a.test(e)?(t.line++,t.column=0,s+1===l.length?(o=null,r=!1):r&&n.addMapping({source:i.source,original:{line:i.line,column:i.column},generated:{line:t.line,column:t.column},name:i.name})):t.column+=e.length})}),this.walkSourceContents(function(e,t){n.setSourceContent(e,t)}),{code:t.code,map:n}},t.SourceNode=r})}),define("index",[],function(require,exports,module){"object"!=typeof JSON&&(JSON={}),function(){"use strict";function f(e){return 10>e?"0"+e:e}function quote(e){return escapable.lastIndex=0,escapable.test(e)?'"'+e.replace(escapable,function(e){var t=meta[e];return"string"==typeof t?t:"\\u"+("0000"+e.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+e+'"'}function str(e,t){var n,r,i,o,a,s=gap,l=t[e];switch(l&&"object"==typeof l&&"function"==typeof l.toJSON&&(l=l.toJSON(e)),"function"==typeof rep&&(l=rep.call(t,e,l)),typeof l){case"string":return quote(l);case"number":return isFinite(l)?String(l):"null";case"boolean":case"null":return String(l);case"object":if(!l)return"null";if(gap+=indent,a=[],"[object Array]"===Object.prototype.toString.apply(l)){for(o=l.length,n=0;o>n;n+=1)a[n]=str(n,l)||"null";return i=0===a.length?"[]":gap?"[\n"+gap+a.join(",\n"+gap)+"\n"+s+"]":"["+a.join(",")+"]",gap=s,i}if(rep&&"object"==typeof rep)for(o=rep.length,n=0;o>n;n+=1)"string"==typeof rep[n]&&(r=rep[n],i=str(r,l),i&&a.push(quote(r)+(gap?": ":":")+i));else for(r in l)Object.prototype.hasOwnProperty.call(l,r)&&(i=str(r,l),i&&a.push(quote(r)+(gap?": ":":")+i));return i=0===a.length?"{}":gap?"{\n"+gap+a.join(",\n"+gap)+"\n"+s+"}":"{"+a.join(",")+"}",gap=s,i}}"function"!=typeof Date.prototype.toJSON&&(Date.prototype.toJSON=function(){return isFinite(this.valueOf())?this.getUTCFullYear()+"-"+f(this.getUTCMonth()+1)+"-"+f(this.getUTCDate())+"T"+f(this.getUTCHours())+":"+f(this.getUTCMinutes())+":"+f(this.getUTCSeconds())+"Z":null},String.prototype.toJSON=Number.prototype.toJSON=Boolean.prototype.toJSON=function(){return this.valueOf()});var cx,escapable,gap,indent,meta,rep;"function"!=typeof JSON.stringify&&(escapable=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,meta={"\b":"\\b","	":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},JSON.stringify=function(e,t,n){var r;if(gap="",indent="","number"==typeof n)for(r=0;n>r;r+=1)indent+=" ";else"string"==typeof n&&(indent=n);if(rep=t,t&&"function"!=typeof t&&("object"!=typeof t||"number"!=typeof t.length))throw new Error("JSON.stringify");return str("",{"":e})}),"function"!=typeof JSON.parse&&(cx=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,JSON.parse=function(text,reviver){function walk(e,t){var n,r,i=e[t];if(i&&"object"==typeof i)for(n in i)Object.prototype.hasOwnProperty.call(i,n)&&(r=walk(i,n),void 0!==r?i[n]=r:delete i[n]);return reviver.call(e,t,i)}var j;if(text=String(text),cx.lastIndex=0,cx.test(text)&&(text=text.replace(cx,function(e){return"\\u"+("0000"+e.charCodeAt(0).toString(16)).slice(-4)})),/^[\],:{}\s]*$/.test(text.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:\s*\[)+/g,"")))return j=eval("("+text+")"),"function"==typeof reviver?walk({"":j},""):j;throw new SyntaxError("JSON.parse")})}(),module.exports=JSON}),define("jquery-pjax",[],function(e,t,n){var r=e("jquery");!function(e){function t(t,r,i){var o=this;return this.on("click.pjax",t,function(t){var a=e.extend({},v(r,i));a.container||(a.container=e(this).attr("data-pjax")||o),n(t,a)})}function n(t,n,r){r=v(n,r);var i=t.currentTarget;if("A"!==i.tagName.toUpperCase())throw"$.fn.pjax or $.pjax.click requires an anchor element";if(!(t.which>1||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||location.protocol!==i.protocol||location.hostname!==i.hostname||i.href.indexOf("#")>-1&&m(i)==m(location)||t.isDefaultPrevented())){var a={url:i.href,container:e(i).attr("data-pjax"),target:i},s=e.extend({},a,r),l=e.Event("pjax:click");e(i).trigger(l,[s]),l.isDefaultPrevented()||(o(s),t.preventDefault(),e(i).trigger("pjax:clicked",[s]))}}function i(t,n,r){r=v(n,r);var i=t.currentTarget;if("FORM"!==i.tagName.toUpperCase())throw"$.pjax.submit requires a form element";var a={type:i.method.toUpperCase(),url:i.action,container:e(i).attr("data-pjax"),target:i};if("GET"!==a.type&&void 0!==window.FormData)a.data=new FormData(i),a.processData=!1,a.contentType=!1;else{if(e(i).find(":file").length)return;a.data=e(i).serializeArray()}o(e.extend({},a,r)),t.preventDefault()}function o(t){function n(t,n,i){i||(i={}),i.relatedTarget=r;var o=e.Event(t,i);return a.trigger(o,n),!o.isDefaultPrevented()}t=e.extend(!0,{},e.ajaxSettings,o.defaults,t),e.isFunction(t.url)&&(t.url=t.url());var r=t.target,i=g(t.url).hash,a=t.context=y(t.container);t.data||(t.data={}),e.isArray(t.data)?t.data.push({name:"_pjax",value:a.selector}):t.data._pjax=a.selector;var l;t.beforeSend=function(e,r){if("GET"!==r.type&&(r.timeout=0),e.setRequestHeader("X-PJAX","true"),e.setRequestHeader("X-PJAX-Container",a.selector),!n("pjax:beforeSend",[e,r]))return!1;r.timeout>0&&(l=setTimeout(function(){n("pjax:timeout",[e,t])&&e.abort("timeout")},r.timeout),r.timeout=0);var o=g(r.url);o.hash=i,t.requestUrl=d(o.href);
+},t.complete=function(e,r){l&&clearTimeout(l),n("pjax:complete",[e,r,t]),n("pjax:end",[e,t])},t.error=function(e,r,i){var o=w("",e,t),a=n("pjax:error",[e,r,i,t]);"GET"==t.type&&"abort"!==r&&a&&s(o.url)},t.success=function(r,l,u){var c=o.state,h="function"==typeof e.pjax.defaults.version?e.pjax.defaults.version():e.pjax.defaults.version,f=u.getResponseHeader("X-PJAX-Version"),d=w(r,u,t),m=g(d.url);if(i&&(m.hash=i,d.url=m.href),h&&f&&h!==f)return void s(d.url);if(!d.contents)return void s(d.url);o.state={id:t.id||p(),url:d.url,title:d.title,container:a.selector,fragment:t.fragment,timeout:t.timeout},(t.push||t.replace)&&window.history.replaceState(o.state,d.title,d.url);try{document.activeElement.blur()}catch(v){}d.title&&(document.title=d.title),n("pjax:beforeReplace",[d.contents,t],{state:o.state,previousState:c}),a.html(d.contents);var y=a.find("input[autofocus], textarea[autofocus]").last()[0];y&&document.activeElement!==y&&y.focus(),S(d.scripts);var b=t.scrollTo;if(i){var x=decodeURIComponent(i.slice(1)),k=document.getElementById(x)||document.getElementsByName(x)[0];k&&(b=e(k).offset().top)}"number"==typeof b&&e(window).scrollTop(b),n("pjax:success",[r,l,u,t])},o.state||(o.state={id:p(),url:window.location.href,title:document.title,container:a.selector,fragment:t.fragment,timeout:t.timeout},window.history.replaceState(o.state,document.title)),c(o.xhr),o.options=t;var u=o.xhr=e.ajax(t);return u.readyState>0&&(t.push&&!t.replace&&(k(o.state.id,h(a)),window.history.pushState(null,"",t.requestUrl)),n("pjax:start",[u,t]),n("pjax:send",[u,t])),o.xhr}function a(t,n){var r={url:window.location.href,push:!1,replace:!0,scrollTo:!1};return o(e.extend(r,v(t,n)))}function s(e){window.history.replaceState(null,"",o.state.url),window.location.replace(e)}function l(t){T||c(o.xhr);var n=o.state,r=t.state;if(r&&r.container){if(T&&P==r.url)return;var i,a=r.container;if(n){if(n.id===r.id)return;i=n.id<r.id?"forward":"back","back"==i&&(a=n.container)}var l=e(a);if(l.length){var u=j[r.id];n&&C(i,n.id,h(l));var p=e.Event("pjax:popstate",{state:r,direction:i});l.trigger(p);var f={id:r.id,url:r.url,container:l,push:!1,fragment:r.fragment,timeout:r.timeout,scrollTo:!1};if(u){l.trigger("pjax:start",[null,f]),o.state=r,r.title&&(document.title=r.title);var d=e.Event("pjax:beforeReplace",{state:r,previousState:n});l.trigger(d,[u,f]),l.html(u),l.trigger("pjax:end",[null,f])}else o(f);l[0].offsetHeight}else s(location.href)}T=!1}function u(t){var n=e.isFunction(t.url)?t.url():t.url,r=t.type?t.type.toUpperCase():"GET",i=e("<form>",{method:"GET"===r?"GET":"POST",action:n,style:"display:none"});"GET"!==r&&"POST"!==r&&i.append(e("<input>",{type:"hidden",name:"_method",value:r.toLowerCase()}));var o=t.data;if("string"==typeof o)e.each(o.split("&"),function(t,n){var r=n.split("=");i.append(e("<input>",{type:"hidden",name:r[0],value:r[1]}))});else if(e.isArray(o))e.each(o,function(t,n){i.append(e("<input>",{type:"hidden",name:n.name,value:n.value}))});else if("object"==typeof o){var a;for(a in o)i.append(e("<input>",{type:"hidden",name:a,value:o[a]}))}e(document.body).append(i),i.submit()}function c(t){t&&t.readyState<4&&(t.onreadystatechange=e.noop,t.abort())}function p(){return(new Date).getTime()}function h(e){var t=e.clone();return t.find("script").each(function(){this.src||r._data(this,"globalEval",!1)}),t.contents()}function f(e,t){return e.replace(new RegExp("[?&]"+t+"=[^&#]*"),"").replace(/[?&]($|#)/,"").replace(/[?&]/,"?")}function d(e){return e=f(e,"_pjax"),e=f(e,"_")}function g(e){var t=document.createElement("a");return t.href=e,t}function m(e){return e.href.replace(/#.*/,"")}function v(t,n){return t&&n?n.container=t:n=e.isPlainObject(t)?t:{container:t},n.container&&(n.container=y(n.container)),n}function y(t){if(t=e(t),t.length){if(""!==t.selector&&t.context===document)return t;if(t.attr("id"))return e("#"+t.attr("id"));throw"cant get selector for pjax container!"}throw"no pjax container for "+t.selector}function b(e,t){return e.filter(t).add(e.find(t))}function x(t){return e.parseHTML(t,document,!0)}function w(t,n,r){var i={},o=/<html/i.test(t),a=n.getResponseHeader("X-PJAX-URL");if(i.url=a?d(a):r.requestUrl,o)var s=e(x(t.match(/<head[^>]*>([\s\S.]*)<\/head>/i)[0])),l=e(x(t.match(/<body[^>]*>([\s\S.]*)<\/body>/i)[0]));else var s=l=e(x(t));if(0===l.length)return i;if(i.title=b(s,"title").last().text(),r.fragment){if("body"===r.fragment)var u=l;else var u=b(l,r.fragment).first();u.length&&(i.contents="body"===r.fragment?u:u.contents(),i.title||(i.title=u.attr("title")||u.data("title")))}else o||(i.contents=l);return i.contents&&(i.contents=i.contents.not(function(){return e(this).is("title")}),i.contents.find("title").remove(),i.scripts=b(i.contents,"script[src]").remove(),i.contents=i.contents.not(i.scripts)),i.title&&(i.title=e.trim(i.title)),i}function S(t){if(t){var n=e("script[src]");t.each(function(){var t=this.src,r=n.filter(function(){return this.src===t});if(!r.length){var i=document.createElement("script"),o=e(this).attr("type");o&&(i.type=o),i.src=e(this).attr("src"),document.head.appendChild(i)}})}}function k(e,t){j[e]=t,M.push(e),_(O,0),_(M,o.defaults.maxCacheLength)}function C(e,t,n){var r,i;j[t]=n,"forward"===e?(r=M,i=O):(r=O,i=M),r.push(t),(t=i.pop())&&delete j[t],_(r,o.defaults.maxCacheLength)}function _(e,t){for(;e.length>t;)delete j[e.shift()]}function E(){return e("meta").filter(function(){var t=e(this).attr("http-equiv");return t&&"X-PJAX-VERSION"===t.toUpperCase()}).attr("content")}function A(){e.fn.pjax=t,e.pjax=o,e.pjax.enable=e.noop,e.pjax.disable=N,e.pjax.click=n,e.pjax.submit=i,e.pjax.reload=a,e.pjax.defaults={timeout:650,push:!0,replace:!1,type:"GET",dataType:"html",scrollTo:0,maxCacheLength:20,version:E},e(window).on("popstate.pjax",l)}function N(){e.fn.pjax=function(){return this},e.pjax=u,e.pjax.enable=A,e.pjax.disable=e.noop,e.pjax.click=e.noop,e.pjax.submit=e.noop,e.pjax.reload=function(){window.location.reload()},e(window).off("popstate.pjax",l)}var T=!0,P=window.location.href,L=window.history.state;L&&L.container&&(o.state=L),"state"in window.history&&(T=!1);var j={},O=[],M=[];e.inArray("state",e.event.props)<0&&e.event.props.push("state"),e.support.pjax=window.history&&window.history.pushState&&window.history.replaceState&&!navigator.userAgent.match(/((iPod|iPhone|iPad).+\bOS\s+[1-4]\D|WebApps\/.+CFNetwork)/),e.support.pjax?A():N()}(r)}),define("dot",[],function(e,t,n){e("lib/jquery.dotdotdot"),n.exports=function(e){e.dotdotdot({wrap:"letter"})}}),define("lib/jquery.dotdotdot",[],function(e,t,n){var r=e("jquery");!function(e,t){function n(e,t,n){var r=e.children(),i=!1;e.empty();for(var a=0,s=r.length;s>a;a++){var l=r.eq(a);if(e.append(l),n&&e.append(n),o(e,t)){l.remove(),i=!0;break}n&&n.detach()}return i}function r(t,n,a,s,l){var u=!1,c="a, table, thead, tbody, tfoot, tr, col, colgroup, object, embed, param, ol, ul, dl, blockquote, select, optgroup, option, textarea, script, style",p="script, .dotdotdot-keep";return t.contents().detach().each(function(){var h=this,f=e(h);if("undefined"==typeof h)return!0;if(f.is(p))t.append(f);else{if(u)return!0;t.append(f),!l||f.is(s.after)||f.find(s.after).length||t[t.is(c)?"after":"append"](l),o(a,s)&&(u=3==h.nodeType?i(f,n,a,s,l):r(f,n,a,s,l),u||(f.detach(),u=!0)),u||l&&l.detach()}}),n.addClass("is-truncated"),u}function i(t,n,r,i,s){var c=t[0];if(!c)return!1;var h=u(c),f=-1!==h.indexOf(" ")?" ":" ",d="letter"==i.wrap?"":f,g=h.split(d),m=-1,v=-1,y=0,b=g.length-1;for(i.fallbackToLetter&&0==y&&0==b&&(d="",g=h.split(d),b=g.length-1);b>=y&&(0!=y||0!=b);){var x=Math.floor((y+b)/2);if(x==v)break;v=x,l(c,g.slice(0,v+1).join(d)+i.ellipsis),o(r,i)?(b=v,i.fallbackToLetter&&0==y&&0==b&&(d="",g=g[0].split(d),m=-1,v=-1,y=0,b=g.length-1)):(m=v,y=v)}if(-1==m||1==g.length&&0==g[0].length){var w=t.parent();t.detach();var S=s&&s.closest(w).length?s.length:0;w.contents().length>S?c=p(w.contents().eq(-1-S),n):(c=p(w,n,!0),S||w.detach()),c&&(h=a(u(c),i),l(c,h),S&&s&&e(c).parent().append(s))}else h=a(g.slice(0,m+1).join(d),i),l(c,h);return!0}function o(e,t){return e.innerHeight()>t.maxHeight}function a(t,n){for(;e.inArray(t.slice(-1),n.lastCharacter.remove)>-1;)t=t.slice(0,-1);return e.inArray(t.slice(-1),n.lastCharacter.noEllipsis)<0&&(t+=n.ellipsis),t}function s(e){return{width:e.innerWidth(),height:e.innerHeight()}}function l(e,t){e.innerText?e.innerText=t:e.nodeValue?e.nodeValue=t:e.textContent&&(e.textContent=t)}function u(e){return e.innerText?e.innerText:e.nodeValue?e.nodeValue:e.textContent?e.textContent:""}function c(e){do e=e.previousSibling;while(e&&1!==e.nodeType&&3!==e.nodeType);return e}function p(t,n,r){var i,o=t&&t[0];if(o){if(!r){if(3===o.nodeType)return o;if(e.trim(t.text()))return p(t.contents().last(),n)}for(i=c(o);!i;){if(t=t.parent(),t.is(n)||!t.length)return!1;i=c(t[0])}if(i)return p(e(i),n)}return!1}function h(t,n){return t?"string"==typeof t?(t=e(t,n),t.length?t:!1):t.jquery?t:!1:!1}function f(e){for(var t=e.innerHeight(),n=["paddingTop","paddingBottom"],r=0,i=n.length;i>r;r++){var o=parseInt(e.css(n[r]),10);isNaN(o)&&(o=0),t-=o}return t}if(!e.fn.dotdotdot){e.fn.dotdotdot=function(t){if(0==this.length)return e.fn.dotdotdot.debug('No element found for "'+this.selector+'".'),this;if(this.length>1)return this.each(function(){e(this).dotdotdot(t)});var i=this;i.data("dotdotdot")&&i.trigger("destroy.dot"),i.data("dotdotdot-style",i.attr("style")||""),i.css("word-wrap","break-word"),"nowrap"===i.css("white-space")&&i.css("white-space","normal"),i.bind_events=function(){return i.bind("update.dot",function(t,s){i.removeClass("is-truncated"),t.preventDefault(),t.stopPropagation(),l.maxHeight="number"==typeof l.height?l.height:f(i),l.maxHeight+=l.tolerance,"undefined"!=typeof s&&(("string"==typeof s||"nodeType"in s&&1===s.nodeType)&&(s=e("<div />").append(s).contents()),s instanceof e&&(a=s)),g=i.wrapInner('<div class="dotdotdot" />').children(),g.contents().detach().end().append(a.clone(!0)).find("br").replaceWith("  <br />  ").end().css({height:"auto",width:"auto",border:"none",padding:0,margin:0});var c=!1,p=!1;return u.afterElement&&(c=u.afterElement.clone(!0),c.show(),u.afterElement.detach()),o(g,l)&&(p="children"==l.wrap?n(g,l,c):r(g,i,g,l,c)),g.replaceWith(g.contents()),g=null,e.isFunction(l.callback)&&l.callback.call(i[0],p,a),u.isTruncated=p,p}).bind("isTruncated.dot",function(e,t){return e.preventDefault(),e.stopPropagation(),"function"==typeof t&&t.call(i[0],u.isTruncated),u.isTruncated}).bind("originalContent.dot",function(e,t){return e.preventDefault(),e.stopPropagation(),"function"==typeof t&&t.call(i[0],a),a}).bind("destroy.dot",function(e){e.preventDefault(),e.stopPropagation(),i.unwatch().unbind_events().contents().detach().end().append(a).attr("style",i.data("dotdotdot-style")||"").data("dotdotdot",!1)}),i},i.unbind_events=function(){return i.unbind(".dot"),i},i.watch=function(){if(i.unwatch(),"window"==l.watch){var t=e(window),n=t.width(),r=t.height();t.bind("resize.dot"+u.dotId,function(){n==t.width()&&r==t.height()&&l.windowResizeFix||(n=t.width(),r=t.height(),p&&clearInterval(p),p=setTimeout(function(){i.trigger("update.dot")},100))})}else c=s(i),p=setInterval(function(){if(i.is(":visible")){var e=s(i);c.width==e.width&&c.height==e.height||(i.trigger("update.dot"),c=e)}},500);return i},i.unwatch=function(){return e(window).unbind("resize.dot"+u.dotId),p&&clearInterval(p),i};var a=i.contents(),l=e.extend(!0,{},e.fn.dotdotdot.defaults,t),u={},c={},p=null,g=null;return l.lastCharacter.remove instanceof Array||(l.lastCharacter.remove=e.fn.dotdotdot.defaultArrays.lastCharacter.remove),l.lastCharacter.noEllipsis instanceof Array||(l.lastCharacter.noEllipsis=e.fn.dotdotdot.defaultArrays.lastCharacter.noEllipsis),u.afterElement=h(l.after,i),u.isTruncated=!1,u.dotId=d++,i.data("dotdotdot",!0).bind_events().trigger("update.dot"),l.watch&&i.watch(),i},e.fn.dotdotdot.defaults={ellipsis:"... ",wrap:"word",fallbackToLetter:!0,lastCharacter:{},tolerance:0,callback:null,after:null,height:null,watch:!1,windowResizeFix:!0},e.fn.dotdotdot.defaultArrays={lastCharacter:{remove:[" "," ",",",";",".","!","?"],noEllipsis:[]}},e.fn.dotdotdot.debug=function(e){};var d=1,g=e.fn.html;e.fn.html=function(n){return n!=t&&!e.isFunction(n)&&this.data("dotdotdot")?this.trigger("update",[n]):g.apply(this,arguments)};var m=e.fn.text;e.fn.text=function(n){return n!=t&&!e.isFunction(n)&&this.data("dotdotdot")?(n=e("<div />").text(n).html(),this.trigger("update",[n])):m.apply(this,arguments)}}}(r)}),define("jquery.placeholder",[],function(e,t,n){var r=e("jquery");!function(e){function t(t){var n={},r=/^jQuery\d+$/;return e.each(t.attributes,function(e,t){t.specified&&!r.test(t.name)&&(n[t.name]=t.value)}),n}function n(t,n){var r=this,o=e(this);if(r.value===o.attr(s?"placeholder-x":"placeholder")&&o.hasClass(f.customClass))if(r.value="",o.removeClass(f.customClass),o.data("placeholder-password")){if(o=o.hide().nextAll('input[type="password"]:first').show().attr("id",o.removeAttr("id").data("placeholder-id")),t===!0)return o[0].value=n,n;o.focus()}else r==i()&&r.select()}function r(r){var i,o=this,a=e(this),l=o.id;if(!r||"blur"!==r.type||!a.hasClass(f.customClass))if(""===o.value){if("password"===o.type){if(!a.data("placeholder-textinput")){try{i=a.clone().prop({type:"text"})}catch(u){i=e("<input>").attr(e.extend(t(this),{type:"text"}))}i.removeAttr("name").data({"placeholder-enabled":!0,"placeholder-password":a,"placeholder-id":l}).bind("focus.placeholder",n),a.data({"placeholder-textinput":i,"placeholder-id":l}).before(i)}o.value="",a=a.removeAttr("id").hide().prevAll('input[type="text"]:first').attr("id",a.data("placeholder-id")).show()}else{var c=a.data("placeholder-password");c&&(c[0].value="",a.attr("id",a.data("placeholder-id")).show().nextAll('input[type="password"]:last').hide().removeAttr("id"))}a.addClass(f.customClass),a[0].value=a.attr(s?"placeholder-x":"placeholder")}else a.removeClass(f.customClass)}function i(){try{return document.activeElement}catch(e){}}var o,a,s=!1,l="[object OperaMini]"===Object.prototype.toString.call(window.operamini),u="placeholder"in document.createElement("input")&&!l&&!s,c="placeholder"in document.createElement("textarea")&&!l&&!s,p=e.valHooks,h=e.propHooks,f={};u&&c?(a=e.fn.placeholder=function(){return this},a.input=!0,a.textarea=!0):(a=e.fn.placeholder=function(t){var i={customClass:"placeholder"};return f=e.extend({},i,t),this.filter((u?"textarea":":input")+"["+(s?"placeholder-x":"placeholder")+"]").not("."+f.customClass).not(":radio, :checkbox, :hidden").bind({"focus.placeholder":n,"blur.placeholder":r}).data("placeholder-enabled",!0).trigger("blur.placeholder")},a.input=u,a.textarea=c,o={get:function(t){var n=e(t),r=n.data("placeholder-password");return r?r[0].value:n.data("placeholder-enabled")&&n.hasClass(f.customClass)?"":t.value},set:function(t,o){var a,s,l=e(t);return""!==o&&(a=l.data("placeholder-textinput"),s=l.data("placeholder-password"),a?(n.call(a[0],!0,o)||(t.value=o),a[0].value=o):s&&(n.call(t,!0,o)||(s[0].value=o),t.value=o)),l.data("placeholder-enabled")?(""===o?(t.value=o,t!=i()&&r.call(t)):(l.hasClass(f.customClass)&&n.call(t),t.value=o),l):(t.value=o,l)}},u||(p.input=o,h.value=o),c||(p.textarea=o,h.value=o),e(function(){e(document).delegate("form","submit.placeholder",function(){var t=e("."+f.customClass,this).each(function(){n.call(this,!0,"")});setTimeout(function(){t.each(r)},10)})}),e(window).bind("beforeunload.placeholder",function(){var t=!0;try{"javascript:void(0)"===document.activeElement.toString()&&(t=!1)}catch(n){}t&&e("."+f.customClass).each(function(){this.value=""})}))}(r)});
\ No newline at end of file
diff --git a/web-static/dist/yohobuy/4.7.2/index-debug.js b/web-static/dist/yohobuy/4.7.2/index-debug.js
new file mode 100644
index 0000000..934a8e7
--- /dev/null
+++ b/web-static/dist/yohobuy/4.7.2/index-debug.js
@@ -0,0 +1,18327 @@
+define("index", ["jquery","handlebars","source-map","index","lazyload","jquery-pjax","dot","jquery.placeholder"], function(require, exports, module){
+var webYohobuy;
+
+//通用
+require("js/common");
+
+//头部
+require("js/header");
+
+//简化头部
+require("js/simple-header");
+
+//商品(列表、搜索、商品详情)
+require("js/product/entry");
+
+//频道页
+require("js/index/index");
+
+//品牌一览
+require("js/brand/index");
+
+//登录注册找回密码
+require("js/passport/entry");
+
+//购物车
+require("js/cart/cart");
+
+//逛
+require("js/guang/entry");
+
+//个人中心
+require("js/home/entry");
+
+//帮助中心
+require("js/help/entry");
+
+//订单确认
+require("js/order/ensure");
+
+//商品支付
+require("js/shopping/pay");
+
+//微信扫码支付
+require("js/pay/wechatqrcode");
+
+//关于我们
+require("js/about/entry");
+
+//领券频道
+require("js/coupon/entry");
+
+module.exports = webYohobuy;
+
+});
+define("js/common", ["jquery"], function(require, exports, module){
+/**
+ * 页面公共逻辑和接口
+ * @author: xuqi<qi.xu@yoho.cn>
+ * @date: 2015/11/23
+ */
+var $ = require("jquery");
+
+
+var $body = $('body');
+
+require("js/footer");
+
+function cookie(name) {
+    var re = new RegExp(name + '=([^;$]*)', 'i'),
+        matchPattern = '$1';
+
+    return re.test(decodeURIComponent(document.cookie)) ? RegExp[matchPattern] : '';
+}
+
+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 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;
+}
+
+//YAS统计代码
+(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.17/yas.js', '_yas');
+
+(function() {
+    var uid = getUid();
+
+    uid = uid === 0 ? '' : uid;
+
+    window._ozuid = uid; //暴露ozuid
+
+    if (window._yas) {
+        window._yas(1 * new Date(), '1.0.17', 'yohobuy_web', uid, '', '');
+    }
+}());
+
+//window.resize在width<1180时适配成990
+$(window).on('resize', function() {
+    var w = $(this).width();
+
+    //return top
+    if (w < 1360) {
+        $('.return-top').addClass('min');
+    } else {
+        $('.return-top').removeClass('min');
+    }
+
+    //body
+    if (w < 1180) {
+        $body.addClass('min-screen');
+    } else {
+        $body.removeClass('min-screen');
+    }
+}).trigger('resize');
+
+function queryString() {
+    var vars = {},
+        hash,
+        i,
+        search = window.location.search,
+        hashes = search ? decodeURIComponent(search).slice(1).split('&') : [];
+
+    for (i = 0; i < hashes.length; i++) {
+        hash = hashes[i].split('=');
+        vars[hash[0]] = hash[1];
+    }
+    return vars;
+}
+
+// 给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;
+    }
+});
+
+//个人中心左侧栏头像加载失败后,显示默认头像
+(function() {
+    $(window).load(function() {
+        var thumb = document.getElementById('user-thumb');
+        var img;
+
+        if (!thumb) {
+            return;
+        }
+
+        img = new Image();
+
+        img.src = thumb.src;
+
+        img.onerror = function() {
+            $(thumb).parent().append('<div class="default-user-thumb"></div>').end().remove();
+        };
+    });
+}());
+
+window.cookie = cookie;
+
+window.setCookie = setCookie;
+
+window.getUser = getUser;
+
+window.getUid = getUid;
+
+window.getShoppingKey = getShoppingKey;
+
+window.queryString = queryString;
+
+});
+define("js/footer", ["jquery"], function(require, exports, module){
+/**
+ * 尾部
+ * @author: wangqing<robin.wang@yoho.cn>
+ * @date: 2015/12/01
+ */
+
+var $ = require("jquery");
+
+var $returnTop = $('.return-top');
+
+/**
+ * 订阅
+ * @return {[type]} [description]
+ */
+function actionSubscription() {
+    var $subscriberBox = $('#subscriber-box'),
+        $subscriberBtn = $('#subscriber-btn'),
+        emailReg = /^[.\-_a-zA-Z0-9]+@[\-_a-zA-Z0-9]+\.[a-zA-Z0-9]/;
+
+    var iconCode = {
+        mail: '&#xe61b;',
+        tick: '&#xe61a'
+    };
+
+    $subscriberBox.focus(function() {
+        $(this).val('').css('color', '');
+        $subscriberBtn.removeClass('done').html(iconCode.mail);
+    });
+
+    $subscriberBtn.click(function() {
+        var email = $.trim($subscriberBox.val());
+
+        if (email !== '' && emailReg.test(email)) {
+            try {
+                $.ajax({
+                    url: '//www.yohobuy.com/common/emailSubscriber',
+                    dataType: 'jsonp',
+                    data: {
+                        email: email,
+                        tmp: Math.random(),
+                        uid: window.getUid()
+                    },
+                    success: function(data) {
+                        if (data.data.result === 1) {
+                            $subscriberBox.val('已订阅到:' + email);
+                            $subscriberBtn.addClass('done').html(iconCode.tick);
+                        } else {
+                            $subscriberBox.css('color', 'red');
+                        }
+                    }
+                });
+            } catch (e) {
+                console.log(e.message);
+            }
+        } else {
+            $subscriberBox.css('color', 'red');
+        }
+    });
+}
+
+function actionhomeFootChange() {
+    var $vote = $('.vote'),
+        $feedBackPage = $('#feed-back-page'),
+        count = $vote.children('li').length;
+
+    //意见反馈
+    $feedBackPage.on('click', 'span', function() {
+        var $this = $(this);
+
+        if ($this.hasClass('cur')) {
+            return;
+        }
+
+        $this.siblings('.cur').removeClass('cur');
+        $this.addClass('cur');
+
+        $vote.children().not('.hide').addClass('hide')
+            .end()
+            .eq($this.index()).removeClass('hide');
+    });
+
+    $vote.on('click', '.feed-back-btn', function() {
+        var $this = $(this),
+            $li = $this.closest('li'),
+            index = $li.index(),
+            _solution = [];
+
+        var _answer = $li.find('.feedback-answer').val(),
+            _feedback = $li.find('.feedback-id').val(),
+            _question = $li.find('.question-id').val();
+
+        $li.find(':checked').each(function() {
+            _solution.push($(this).val());
+        });
+
+        $.ajax({
+            url: '//www.yohobuy.com/common/suggestFeedback',
+            dataType: 'jsonp',
+            data: {
+                feedback_id: _feedback || 0,
+                question_id: _question || 0,
+                answer: _answer || '',
+                solution: _solution.join(',')
+            },
+            success: function(data) {
+                var next = index + 1;
+
+                if (~~data.data.result === 1) {
+                    if (index === count - 1) {
+                        alert('感谢您的参与!');
+                        return;
+                    }
+
+                    $li.addClass('hide');
+
+                    $vote.children(':eq(' + (index + 1) + ')').removeClass('hide');
+                    $feedBackPage.children('.cur').removeClass('cur');
+                    $feedBackPage.children(':eq(' + next + ')').addClass('cur');
+                }
+            }
+        });
+    });
+}
+
+function rePosReturn() {
+    if ($(window).height() > $(document).height()) {
+        $returnTop.addClass('hide');
+    }
+
+    // 只在窗口高度大于文档高度的时候,隐藏返回顶部
+    // else {
+    //     $returnTop.removeClass('hide');
+    // }
+}
+
+//返回顶部
+$returnTop.click(function() {
+    $('html,body').animate({
+        scrollTop: 0
+    }, 500);
+});
+
+$(window).scroll(function() {
+    if ($(window).scrollTop() === 0) {
+        $returnTop.addClass('hide');
+    } else {
+        $returnTop.removeClass('hide');
+    }
+});
+
+//如果初始是隐藏的,监听图片加载,重新确定return-top的高度
+if ($returnTop.hasClass('hide')) {
+    $('img').load(rePosReturn);
+}
+
+//初始化
+actionSubscription();
+actionhomeFootChange();
+
+//暴露给有可能通AJAX改变内容的页面去用
+window.rePosReturnTop = rePosReturn;
+
+});
+define("js/header", ["jquery","handlebars","source-map","index"], function(require, exports, module){
+/**
+ * 头部
+ * @author: wangqing<robin.wang@yoho.cn>
+ * @date: 2015/12/01
+ */
+var $ = require("jquery");
+var handlebars = require("handlebars");
+var json2 = require("index");
+var vipInfoCombine = null; //用户信息编译模板
+var loginInfoCombine = null; //登录信息编译模板
+// var apiDomain = $('#api-domain').val(); //获取数据的地址
+var cartTpl = ''; //购物车模板
+/**
+ * 搜寻的时候过滤非法字符(+-/:等非法字符单独出现)
+ * @type {RegExp}
+ */
+var reg = /^[\^\!\+\-\(\)\:\[\]\\\{\}\~\*\?\|\&\;\/]{0,}$/g;
+var keyword = '';
+var link = '';
+var dataLayer = [];
+var requestFrame = null;
+var logoanimationstart = 0;
+var $logotrans = $('.icon-logo');
+var isen = true;
+var loopdurationtime = 500;
+var globaltimeout;
+var onetimeoout;
+var $loginBox = $('#loginBox');
+/**
+ * banner和地址的映射
+ * @type {Object}
+ */
+var bannerMap = {
+    listboys: '4f78b0f418fc42314d8b6e791cfb7fa8',
+    listgirls: '00c1f025a51b6b597dc37925951ea27d',
+    listkids: 'b02df11184727701ade1b6de9737d08c',
+    listlifestyle: 'fd35c52dced0c880976ba858346d1fc5',
+    searchboys: '9fb8986ea700cc27a8057361c3924394',
+    searchgirls: 'e3e207a1443ca60c8037fe52a5560c18',
+    searchkids: '620fc77f479da8feaeb06f2324e5d0bb',
+    searchlifestyle: 'a3c93301c6ffaf3ed0f36a4a451be36d',
+    uniquebrandboys: '2ebb0810c0d1a67e5229149c9c3aba7d',
+    uniquebrandgirls: '99e23385f4ba4b65f406b7e2968ac821',
+    uniquebrandkids: 'a74ebc9b17840c91b9ea46568111fe6b',
+    uniquebrandlifestyle: '0e8c81ead53f56302baa4d0ad967f527',
+    brandsboys: '77b352db07129c76a9d532acad149f9f',
+    brandsgirls: 'bf047f16e52ebc38be5ce9c7623831e6',
+    brandskids: 'e3ae1ce9b5e13c6d271ef3eccb831652',
+    brandslifestyle: 'e4ac8029c30f65d7f1af030980d140fe',
+    newboys: '869d3c5f3b450fb52101d00a61ce87cb',
+    newgirls: 'd953b6dfdac02483d1dcce8d96055954',
+    newkids: '0874cb6d75df8e0e78f2d475e53ecc08',
+    newlifestyle: '43e8fc8e178115c262bbce2bd0012db7',
+    saleboys: 'c846e3165c994769b4201d8c32f3ae9b',
+    salegirls: '52b1d389edcbc62d65de71b80c4d6ad0',
+    salekids: 'ad8b1703c761ba00973868ab5199cc27',
+    salelifestyle: '7acc64905c70ac91846f43fb2cec4bbd',
+    homeboys: 'b0856a771ef1b59ab1234c74688fa42d',
+    homegirls: '2bd61fa12e4933211518f70fe5ce3c48',
+    homekids: '895c59e8c64b40399c9533509507320c',
+    homelifestyle: '2e037d4e25d2767352ca3e0a4627f7bd',
+    indexboys: '0c911d3000f52e8ca7cffb74f5864c29',
+    indexgirls: 'b645b8980c423ab30485e0a9d08c2ef7',
+    indexkids: '17f6d5d5d454d2c507bc5fcbc90f7756',
+    indexlifestyle: '735cd393e841762af8793c346abbbc36'
+};
+var cookieMap = {};
+
+var bannerApi = '//new.yohobuy.com/common/getbanner?content_code=';
+
+$('#api-domain').remove(); //删除信息表单
+
+function getSource(column, postition, event) {
+    try {
+        dataLayer.push({
+            louceng: column,
+            weizhi: postition,
+            event: event
+        });
+    } catch (e) {}
+}
+
+
+window.submitSearch = function() {
+    var $keywordinput = $('#query_key').val();
+    var $defaultsearch = $('#defaultsearch').val();
+    var column = 'Search';
+    var postition = 'Head Search';
+    var event = 'Search';
+    var $formatkeyword,
+        $formatkeywordinput;
+
+    $formatkeyword = $.trim(keyword.toLowerCase());
+    $formatkeywordinput = $.trim($keywordinput.toLowerCase());
+    getSource(column, postition, event);
+    if (link !== '' && keyword !== '' && $formatkeyword === $formatkeywordinput) {
+        location.href = link.replace('\'', '');
+    } else {
+        if (reg.test($keywordinput) && $keywordinput !== '') {
+            location.href = '//search.yohobuy.com/error?query=' + $keywordinput + '&result=error';
+        } else {
+            if ($keywordinput === '') {
+                $('#query_key').val($defaultsearch);
+            }
+            $('#searchForm').submit();
+            return false;
+        }
+    }
+};
+/**
+ * 增加关键字
+ * @return {[type]} [description]
+ */
+function actionAddKeyWords() {
+    var $keywords = $('#nav_keyword').text();
+    var defaultsearch = 'vans';
+    var $querykey = $('#query_key');
+
+    if ($keywords !== '') {
+        $querykey.css({
+            color: '#000'
+        });
+        $querykey.val($keywords);
+    } else {
+        $querykey.css({
+            color: '#e0e0e0'
+        });
+        $querykey.val(defaultsearch);
+        $querykey.on('focus', function(e) {
+            $querykey.css({
+                color: '#000'
+            });
+            $querykey.val('');
+        });
+    }
+}
+/**
+ * 定义购物车扩展
+ */
+
+function actionGoodsCart() {
+    var defaults = {
+        cookie: '_g',
+        cartNum: ''
+    };
+    var params = '';
+    var cartInfo = '';
+    var queryNum = 0;
+    var listIndex = 0;
+    var tmpList = 0;
+    var totalNum = 0;
+    var text = '';
+
+    $.fn.miniCart = function(options) {
+        params = $.extend(defaults, options);
+        if (typeof window.cookie(params.cookie) === 'undefined') {
+            cartInfo = null;
+        } else {
+            if (params.cookie) {
+                try {
+                    cartInfo = json2.parse(window.cookie(params.cookie));
+                } catch (e) {
+
+                }
+
+            }
+
+        }
+        if (cartInfo !== null && cartInfo !== '') {
+            totalNum = parseInt(cartInfo._nac) + parseInt(cartInfo._ac);
+            if (totalNum === 0) {
+                $('#icart-num').attr('class', 'icart-num icart-none');
+            } else {
+                $('#icart-num').attr('class', 'icart-num');
+            }
+            $(params.cartNum).html(totalNum);
+        }
+    };
+    $.fn.search = function(searchDomain) {
+
+        function getKeywords(obj) {
+            var key = $.trim($(obj).val());
+
+            key = key.replace(new RegExp('\'', 'gm'), ''); //去掉特殊字符
+            if (key === '') {
+                $('.search-list').hide();
+                return false;
+            }
+            key = encodeURI(key);
+            $.get(searchDomain + '?query=' + key, function(htmlData) {
+                $('.search-list').html(htmlData.data);
+                queryNum = $('.search-list').children('li').length;
+                listIndex = -1;
+                if (queryNum > 0) {
+                    $('.search-list').show();
+                } else {
+                    $('.search-list').hide();
+                }
+                $('.search-list').find('a').hover(function() {
+                    $(this).css('background-color', '#eee');
+                }, function() {
+                    $(this).css('background-color', '#fff');
+                });
+            }, 'jsonp');
+        }
+
+        function getText(obj) {
+            $('.search-list li:eq(' + tmpList + ')').children('a').css('background-color', '#fff');
+            $('.search-list li:eq(' + listIndex + ')').children('a').css('background-color', '#eee');
+            text = $('.search-list li:eq(' + listIndex + ')').children('a').attr('title');
+            $('#query_key').val(text);
+        }
+        return this.each(function() {
+            $(this).keyup(function(event) {
+                if (event.which === 38) {
+                    if (queryNum === 0) {
+                        return false;
+                    }
+                    if (listIndex === -1) {
+                        listIndex = 0;
+                    }
+                    tmpList = listIndex;
+                    listIndex = (listIndex - 1 + queryNum) % queryNum;
+                    getText(this);
+                } else if (event.which === 40) {
+                    if (queryNum === 0) {
+                        return false;
+                    }
+                    tmpList = listIndex;
+                    listIndex = (listIndex + 1) % queryNum;
+                    getText(this);
+                } else if (event.which === 13) {
+                    window.submitSearch();
+                } else {
+                    getKeywords(this);
+                }
+            });
+        });
+    };
+    $.extend({
+        getData: function(domain, options, onSuccess) {
+            var defaults = {
+                page: 1,
+                method: '',
+                v: 1,
+                return_type: 'jsonp',
+                open_key: '12345',
+                tmp: Math.random()
+            };
+            var params = '';
+
+            if (typeof (domain) === undefined || domain === '') {
+                return false;
+            }
+            params = $.extend(defaults, options);
+            params.page = params.page || 1;
+
+            // if (params.method === '') {
+            //     return false;
+            // }
+
+            try {
+                $.getJSON(domain + '/?callback=?', params, function(_data) {
+                    if (onSuccess !== '') {
+                        if (typeof onSuccess(_data.data) !== 'undefined') {
+                            json2.parse(onSuccess(_data.data));
+                        }
+                        return false;
+                    }
+                });
+            } catch (e) {
+                console.log(e.message);
+            }
+        },
+        getShoppingKey: function() {
+            var shoppingInfo = window.cookie('_g');
+            var shoppingData = json2.parse(shoppingInfo);
+            var spk;
+
+            if (typeof shoppingInfo === 'undefined' || shoppingInfo === null) {
+                spk = window.cookie('_SPK');
+                return spk ? spk : '';
+            }
+            return shoppingData._k;
+        }
+    });
+}
+
+/**
+ * 时间戳
+ * @param  {[type]} v1       [description]
+ * @param  {[type]} options) {               if (v1 [description]
+ * @return {[type]}          [description]
+ */
+handlebars.registerHelper('timestamp', function() {
+    return new Date().getTime();
+});
+/**
+ * 头像
+ * @param  {[type]} v1       [description]
+ * @param  {[type]} options) {               if (v1 [description]
+ * @return {[type]}          [description]
+ */
+handlebars.registerHelper('headerimg', function(headerimg) {
+
+    if (headerimg === '') {
+        return '//img10.static.yhbimg.com/headimg/2013/11/28/09/01cae078abe5fe320c88cdf4c220212688.gif' +
+            '?imageView/2/w/100/h/100';
+    } else {
+        return headerimg;
+    }
+
+});
+/**
+ * 判断等级为3的helper
+ * @param  {[type]} v1       [description]
+ * @param  {[type]} options) {               if (v1 [description]
+ * @return {[type]}          [description]
+ */
+
+handlebars.registerHelper('equallevelthree', function(v1, options) {
+
+    if (v1 === '3') {
+        return options.fn(this);
+    } else {
+        return options.inverse(this);
+    }
+});
+
+/**
+ * 判断不为'0'的helper
+ * @param  {[type]} v1       [description]
+ * @param  {[type]} options) {               if (v1 [description]
+ * @return {[type]}          [description]
+ */
+
+handlebars.registerHelper('notzero', function(v1, options) {
+    if (v1 !== '0') {
+        return options.fn(this);
+    } else {
+        return options.inverse(this);
+    }
+});
+
+/**
+ * 获取头部banner的回调函数
+ * @param {[type]} data [description]
+ */
+function JsonPCallBack(data) {
+    var topbanner;
+
+    if (+data.code === 200) {
+        if (typeof data.data === 'object') {
+            if (data.data.url !== '') {
+                topbanner = '<a target="_blank" href="' + data.data.url + '" class="page-top-banner"' +
+                    'style="height:36px;border:none;background-image:url(' + window.unescape(data.data.src) + ');' +
+                    'background-position: center;display:block;">&nbsp;</a>';
+            } else {
+                topbanner = '<div class="yoho-notice">' +
+                    '<div class="notice-container center-content">' +
+                        '<h1 class="notice-title">关于系统升级的公告</h1>' +
+                        '<div class="notice-content">' +
+                            '<p class="tips">尊敬的顾客:</p>' +
+                            '<p class="detail">您好!为了向您提供更优质的服务,目前系统正在升级,请耐心等待。</p>' +
+                            '<p class="detail">系统升级期间,部分地区用户体验会有暂时中断,如遇紧急事宜,欢迎垂询客服热线:' +
+                            '400-889-9646 09:00-22:30(周一至周日)。稍后系统将恢复正常' +
+                            '使用,欢迎您继续光顾YOHO!BUY有货!带来不便之处深表歉意,请您谅解!</p>' +
+                        '</div>' +
+                    '</div>' +
+                '</div>';
+            }
+            $('body').prepend(topbanner);
+        }
+    }
+}
+
+window.JsonPCallBack = JsonPCallBack;
+
+
+/**
+ * 获得banner数据
+ * @param  {[string]} code [banner对应的编码]
+ * @return {[type]}      [description]
+ */
+function getBannerData(code) {
+    var script = document.createElement('script');
+
+    script.src = bannerApi + code + '&client_type=web&callback=JsonPCallBack';
+    document.getElementsByTagName('head')[0].appendChild(script);
+}
+
+/**
+ * 显示和隐藏
+ * @param  {[type]} sourceClass [description]
+ * @param  {[type]} targetClass [description]
+ * @return {[type]}             [description]
+ */
+function toggleDisplay(sourceClass, targetClass) {
+    var $that,
+        targetobj;
+
+    $(sourceClass).hover(function(e) {
+        e.preventDefault();
+        $that = $(this);
+        targetobj = $(targetClass)[0];
+        if (targetobj.style.display === '') {
+            $that.addClass('acttags');
+            targetobj.style.display = 'block';
+        } else {
+            $that.removeClass('acttags');
+            targetobj.style.display = '';
+        }
+    });
+}
+
+/**
+ * 执行顶部显示和隐藏
+ * @return {[type]} [description]
+ */
+function actionTopTagToggle() {
+    var tags = [{
+            sourceClass: '.myyoho',
+            targetClass: '.myyoho-info'
+        }, {
+            sourceClass: '.phone',
+            targetClass: '.qr'
+        }],
+        obj,
+        i;
+
+    for (i = 0; i < tags.length; i++) {
+        obj = tags[i];
+        toggleDisplay(obj.sourceClass, obj.targetClass);
+    }
+}
+/**
+ * 执行顶部群组鼠标交互
+ * @return {[type]} [description]
+ */
+function actionYoHoGroup() {
+    var $this;
+
+    $('.yohogroup').mouseenter(function() {
+        $this = $(this);
+        $this.text($this.attr('cn'));
+    });
+    $('.yohogroup').mouseleave(function() {
+        $this = $(this);
+        $this.text($this.attr('en'));
+    });
+}
+
+/**
+ * 检测是否支持css3的动画
+ * @return {Boolean} [description]
+ */
+function isSupportCss3Animation() {
+    var thisFunc,
+        prefixList = ['webkit', 'moz', 'ms'],
+        i;
+
+    for (i = 0; i < prefixList.length; i++) {
+        thisFunc = prefixList[i] + 'RequestAnimationFrame';
+        if (window[thisFunc]) {
+            return true;
+        } else {
+            return false;
+        }
+    }
+
+}
+/**
+ * css3动画
+ * @param  {Array}  ) {               var thisFunc, prefixList [description]
+ * @return {[type]}   [description]
+ */
+function requestFrameAct() {
+    var prefixList = ['webkit', 'moz', 'ms'];
+    var func1 = prefixList[0] + 'RequestAnimationFrame';
+    var func2 = prefixList[1] + 'RequestAnimationFrame';
+    var func3 = prefixList[2] + 'RequestAnimationFrame';
+
+    if (window[func1]) {
+        return function(callback) {
+            requestAnimationFrame(callback);
+        };
+    }
+    if (window[func2]) {
+        return function(callback) {
+            window[func2](callback);
+        };
+    }
+    if (window[func3]) {
+        return function(callback) {
+            window[func3](callback);
+        };
+    }
+    return function(callback) {
+        window.setTimeout(callback, 67);
+    };
+}
+
+
+/**
+ * css3动画
+ * @return {[type]} [description]
+ */
+
+function tsAnimate() {
+    logoanimationstart += 10;
+    $logotrans.css({
+        transform: 'rotateX(' + logoanimationstart + 'deg)',
+        '-webkit-transform': 'rotateX(' + logoanimationstart + 'deg)',
+        '-moz-transform': 'rotateX(' + logoanimationstart + 'deg)'
+    });
+    if (logoanimationstart / 90 % 2 === 1) {
+        if (isen) {
+            $logotrans.css('background-image', 'url(//static.yohobuy.com/newheader/img/logo1.png)');
+            isen = false;
+        } else {
+            $logotrans.css('background-image', 'url(//static.yohobuy.com/newheader/img/logo_e.png)');
+            isen = true;
+        }
+    }
+    if (logoanimationstart / 90 % 2 === 0 && logoanimationstart % 360 !== 0) {
+        window.setTimeout(tsAnimate, 3000);
+    } else {
+        if (logoanimationstart % 360 === 0) {
+            window.setTimeout(tsAnimate, 1 * 60 * 1000);
+        } else {
+            requestFrame(function() {
+                tsAnimate();
+            });
+        }
+    }
+}
+
+/**
+ * 淡出
+ * @return {[type]} [description]
+ */
+function fadeAnimate() {
+    if (globaltimeout) {
+        window.clearTimeout(globaltimeout);
+    }
+    $logotrans.fadeOut(loopdurationtime, function() {
+        isen = false;
+
+        $logotrans.css('background-image', 'url(//static.yohobuy.com/newheader/img/logo.png)');
+        $logotrans.fadeIn(loopdurationtime, function() {
+            onetimeoout = window.setTimeout(function() {
+                $logotrans.fadeOut(loopdurationtime, function() {
+                    window.clearTimeout(onetimeoout);
+                    isen = true;
+                    $logotrans.css('background-image',
+                        'url(//static.yohobuy.com/newheader/img/logo_e.png)');
+                    $logotrans.fadeIn(loopdurationtime, function() {
+                        globaltimeout = window.setTimeout(fadeAnimate, 1 * 60 * 1000);
+                    });
+                });
+            }, 3000);
+        });
+    });
+}
+/**
+ * 执行头部logo动画
+ * @return {[type]} [description]
+ */
+function actionTopLogoAnimate() {
+    if (isSupportCss3Animation()) {
+        requestFrame = requestFrameAct();
+        window.setTimeout(tsAnimate, 3000);
+    } else {
+        window.setTimeout(fadeAnimate, 3000);
+    }
+}
+window.newArr = [];
+window.wrapperindex = 0;
+window.gindex = 0;
+window.targetArr1 = [];
+window.targetArr2 = [];
+window.targetArr3 = [];
+window.oh1 = 0;
+window.oh2 = 0;
+window.oh3 = 0;
+window.valueIndex = 0;
+window.nowIndex = 0;
+window.inner1 = '';
+window.inner2 = '';
+window.inner3 = '';
+window.finalresult = '';
+
+function createNewArray(obj) {
+    var $thirdnavpanel = $(obj);
+
+    $thirdnavpanel.find('.thirdnavbar').each(function() {
+        var $that = $(this);
+        var $alink = $that.find('a');
+        var _href = $alink.attr('href');
+        var hottag = $alink.attr('hot') === 'hot' ? true : false;
+        var objt = {};
+
+        if ($that.hasClass('category-title')) {
+            objt = {
+                type: 'title',
+                height: 49,
+                content: $that.text(),
+                index: window.valueIndex,
+                href: _href,
+                hot: false
+            };
+        } else {
+            objt = {
+                type: 'catlist',
+                height: 36,
+                content: $alink.text(),
+                index: window.valueIndex,
+                href: _href,
+                hot: hottag
+            };
+        }
+        window.valueIndex++;
+        window.newArr.push(objt);
+    });
+}
+
+function createWrapper() {
+    var arrlength = window.newArr.length;
+    var i = 0;
+    var objnew = [];
+    var aobj = [];
+    var bobj = [];
+    var cobj = [];
+    var final1 = '',
+        final2 = '',
+        final3 = '';
+    var a = 0;
+    var b = 0;
+    var c = 0;
+
+    for (i; i < arrlength; i++) {
+        objnew = window.newArr[i];
+        if (window.gindex === 0) {
+            window.oh1 = (window.oh1 + objnew.height);
+            if (window.oh1 >= 340 && i !== (arrlength - 1)) {
+                window.targetArr1 = window.newArr.slice(0, objnew.index + 1);
+                window.nowIndex = objnew.index + 1;
+                window.gindex++;
+            }
+            if (i === (arrlength - 1)) {
+                window.targetArr1 = window.newArr.slice(0, arrlength + 1);
+                break;
+            }
+        }
+        if (window.gindex === 1) {
+            window.oh2 = (window.oh2 + objnew.height);
+            if (window.oh2 >= 340 && i !== (arrlength - 1)) {
+                window.targetArr2 = window.newArr.slice(window.nowIndex, objnew.index + 1);
+                window.nowIndex = objnew.index + 1;
+                window.gindex++;
+            }
+            if (i === (arrlength - 1)) {
+                window.targetArr2 = window.newArr.slice(window.nowIndex, arrlength + 1);
+                break;
+            }
+        }
+        if (window.gindex === 2) {
+            window.oh3 = (window.oh3 + objnew.height);
+            if (window.oh3 >= 340 && i !== (arrlength - 1)) {
+                window.targetArr3 = window.newArr.slice(window.nowIndex, objnew.index + 1);
+                window.nowIndex = objnew.index + 1;
+                window.gindex++;
+                break;
+            }
+            if (i === (arrlength - 1)) {
+                window.targetArr3 = window.newArr.slice(window.nowIndex, arrlength + 1);
+                break;
+            }
+        }
+    }
+    for (a; a < window.targetArr1.length; a++) {
+        aobj = window.targetArr1[a] || {};
+        if (aobj.type === 'title') {
+            window.inner1 = window.inner1 +
+                '<li class="cattitle"><h3><a  href="' +
+                aobj.href +
+                '">' +
+                aobj.content +
+                '</a></h3></li>';
+        } else {
+            if (aobj.hot === true) {
+                window.inner1 = window.inner1 +
+                    '<li class="catdetail"><a  class="thirdcatelink hot" href="' +
+                    aobj.href +
+                    '">' +
+                    aobj.content +
+                    '</a></li>';
+            } else {
+                window.inner1 = window.inner1 +
+                    '<li class="catdetail"><a  class="thirdcatelink" href="' +
+                    aobj.href + '">' +
+                    aobj.content +
+                    '</a></li>';
+            }
+
+        }
+    }
+    for (b; b < window.targetArr2.length; b++) {
+        bobj = window.targetArr2[b] || {};
+        if (bobj.type === 'title') {
+            window.inner2 = (window.inner2 +
+                '<li class="cattitle"><h3><a  href="' +
+                bobj.href + '">' +
+                bobj.content +
+                '</a></h3></li>');
+        } else {
+            if (bobj.hot === true) {
+                window.inner2 = (window.inner2 +
+                    '<li class="catdetail"><a  class="thirdcatelink hot" href="' +
+                    bobj.href + '">' + bobj.content + '</a></li>');
+            } else {
+                window.inner2 = (window.inner2 +
+                    '<li class="catdetail"><a  class="thirdcatelink" href="' +
+                    bobj.href + '">' + bobj.content + '</a></li>');
+            }
+
+        }
+    }
+    for (c; c < window.targetArr3.length; c++) {
+        cobj = window.targetArr3[c] || {};
+        if (cobj.type === 'title') {
+            window.inner3 = (window.inner3 +
+                '<li class="cattitle"><h3><a  href="' +
+                cobj.href +
+                '">' +
+                cobj.content +
+                '</a></h3></li>');
+        } else {
+            if (cobj.hot === true) {
+                window.inner3 = (window.inner3 +
+                    '<li class="catdetail"><a  class="thirdcatelink hot" href="' +
+                    cobj.href + '">' +
+                    cobj.content +
+                    '</a></li>');
+            } else {
+                window.inner3 = (window.inner3 +
+                    '<li class="catdetail"><a  class="thirdcatelink" href="' +
+                    cobj.href + '">' +
+                    cobj.content +
+                    '</a></li>');
+            }
+
+        }
+    }
+    if (window.inner1 !== '') {
+        final1 = '<ul class="cate_row1 cate_row">' +
+            window.inner1 +
+            '</ul>';
+    }
+    if (window.inner2 !== '') {
+        final2 = '<ul class="cate_row2 cate_row">' +
+            window.inner2 +
+            '</ul>';
+    }
+    if (window.inner3 !== '') {
+        final3 = '<ul class="cate_row3 cate_row">' +
+            window.inner3 +
+            '</ul>';
+    }
+    window.finalresult = final1 + final2 + final3;
+    $('#' + window.wrapperindex).empty().append(window.finalresult);
+}
+
+function actionNav() {
+    $('.categorywrapper').each(function(index) {
+        window.wrapperindex = $(this).attr('id');
+        window.newArr = [];
+        window.gindex = 0;
+        window.targetArr1 = [];
+        window.targetArr2 = [];
+        window.targetArr3 = [];
+        window.oh1 = 0;
+        window.oh2 = 0;
+        window.oh3 = 0;
+        window.valueIndex = 0;
+        window.nowIndex = 0;
+        window.inner1 = '';
+        window.inner2 = '';
+        window.inner3 = '';
+        createNewArray($(this).find('.category'));
+        createWrapper();
+    });
+}
+
+/**
+ * 获取三级导航的tip图标
+ * @return {[type]} [description]
+ */
+function actionTipPic() {
+    var tipscode = {};
+    var $contentcode = '';
+    var $img = '';
+    var $title = '';
+    var $link = '';
+    var logolink = '';
+
+    $(document).on('mouseenter', '.sub-nav-item', function() {
+        $contentcode = $(this).find('.showdetail').attr('data-code');
+        if ($contentcode) {
+            if (!tipscode[$contentcode]) {
+                tipscode[$contentcode] = $contentcode;
+                $img = $(this).find('.showdetail').find('img');
+                $title = $(this).find('.showdetail').find('.title');
+                $link = $(this).find('.showdetail').find('a');
+                $.get(bannerApi + $contentcode + '&width=337&height=250&client_type=web', function(rsdata) {
+                    $img.attr('src', rsdata.data.src);
+                    $link.attr('href', rsdata.data.url);
+                    $title.text(rsdata.data.title);
+                }, 'jsonp');
+            }
+        }
+    });
+    logolink = $('.cure').find('.name-cn').find('a').attr('href');
+    $('.main-link').attr('href', logolink);
+}
+
+
+
+function closeCover() {
+    var $cover = $('#cover');
+
+    $cover.remove();
+}
+/**
+ * 首次进入有弹窗
+ * @return {[type]} [description]
+ */
+function actionCover() {
+    var gender = window.cookie('_Gender');
+    var newMask = '';
+    var windowheight = '';
+    var selfheight = '';
+    var containertop;
+    var length = '';
+
+    if (window.location.host === 'www.yohobuy.com' &&
+        (typeof gender === 'undefined' || gender === '' || gender === null)) {
+        $.get('//www.yohobuy.com/index/guide', function(data) {
+            newMask = document.createElement('div');
+            newMask.id = 'cover';
+            newMask.innerHTML = data;
+            document.body.appendChild(newMask);
+            windowheight = $(window).height();
+            selfheight = $('.guide-box').height();
+            containertop = windowheight / 2 - selfheight / 2;
+            length = $('.guide-box .clear').find('li').length;
+            $('.guide-box').css({
+                width: (200 * length) + 'px',
+                top: containertop + 'px'
+            });
+            $('#cover').bind('click', function(event) {
+                window.setCookie('_Gender', '1,3', {
+                    path: '/',
+                    domain: '.yohobuy.com',
+                    expires: 90
+                });
+                window.setCookie('_Channel', 'boys', {
+                    path: '/',
+                    domain: '.yohobuy.com',
+                    expires: 7
+                });
+                closeCover();
+            });
+            $('#cover .guide-box .close').bind('click', function(event) {
+                getSource('弹窗', 'CLOSE', 'homepage_man');
+                window.setCookie('_Gender', '1,3', {
+                    path: '/',
+                    domain: '.yohobuy.com',
+                    expires: 90
+                });
+                window.setCookie('_Channel', 'boys', {
+                    path: '/',
+                    domain: '.yohobuy.com',
+                    expires: 7
+                });
+                closeCover();
+            });
+            $('.boys img , .boys .go').bind('click', function(event) {
+                getSource('弹窗', 'BOYS', 'homepage_man');
+                window.setCookie('_Gender', '1,3', {
+                    path: '/',
+                    domain: '.yohobuy.com',
+                    expires: 90
+                });
+                window.setCookie('_Channel', 'boys', {
+                    path: '/',
+                    domain: '.yohobuy.com',
+                    expires: 7
+                });
+                closeCover();
+            });
+            $('.girls img, .girls .go').bind('click', function(event) {
+                getSource('弹窗', 'GIRLS', 'homepage_woman');
+                window.setCookie('_Gender', '2,3', {
+                    path: '/',
+                    domain: '.yohobuy.com',
+                    expires: 90
+                });
+                window.setCookie('_Channel', 'girls', {
+                    path: '/',
+                    domain: '.yohobuy.com',
+                    expires: 7
+                });
+            });
+            $('.lifestyle img, .lifestyle .go').bind('click', function(event) {
+                window.setCookie('_Channel', 'lifestyle', {
+                    path: '/',
+                    domain: '.yohobuy.com',
+                    expires: 7
+                });
+                getSource('弹窗', 'LIEFSTYLE', 'homepage_lifestyle');
+            });
+            $('#cover .guide-box').bind('click', function(event) {
+                event.stopPropagation();
+            });
+        });
+    }
+}
+/**
+ * 查询跳转后保留关键字
+ * @return {[type]} [description]
+ */
+function actionAddKeyWords() {
+    var $keywords = $('#nav_keyword').text();
+    var defaultsearch = $('#defaultsearch').val();
+    var $querykey = $('#query_key');
+
+    if ($keywords !== '') {
+        $querykey.css({
+            color: '#000'
+        });
+        $querykey.val($keywords);
+    } else {
+        $querykey.css({
+            color: '#e0e0e0'
+        });
+        $querykey.val(defaultsearch);
+        $querykey.on('focus', function(e) {
+            $querykey.css({
+                color: '#000'
+            });
+            $querykey.val('');
+        });
+    }
+    $(document).click(function(e) {
+        if (!$(e.target).closest('.searchspan, .search-list').length) {
+            $('.search-list').hide();
+        }
+    });
+}
+
+
+/**
+ * cookie 初始化
+ * @return {[type]} [description]
+ */
+function actionInitCookie() {
+    var $cookieGender = window.cookie('_Gender');
+    var $target = $('.cure');
+
+    if (typeof $cookieGender !== 'undefined' && $cookieGender !== '') {
+        window.setCookie('_Gender', 1, {
+            path: '/',
+            domain: '.yohobuy.com',
+            expires: 7
+        });
+    }
+    if ($target.find('.name-cn a').text() === '男生') {
+        window.setCookie('_Gender', '1,3', {
+            path: '/',
+            domain: '.yohobuy.com',
+            expires: 7
+        });
+        window.setCookie('_Channel', 'boys', {
+            path: '/',
+            domain: '.yohobuy.com',
+            expires: 7
+        });
+    }
+    if ($target.find('.name-cn a').text() === '女生') {
+        window.setCookie('_Gender', '2,3', {
+            path: '/',
+            domain: '.yohobuy.com',
+            expires: 7
+        });
+
+        // window.setCookie('_Channel', 'girls', {
+        //     path: '/',
+        //     domain: '.yohobuy.com',
+        //     expires: 7
+        // });
+    }
+    if ($target.find('.name-cn a').text() === '创意生活') {
+        window.setCookie('_Channel', 'lifestyle', {
+            path: '/',
+            domain: '.yohobuy.com',
+            expires: 7
+        });
+    }
+    if ($target.find('.name-cn a').text() === '潮童') {
+        window.setCookie('_Channel', 'kids', {
+            path: '/',
+            domain: '.yohobuy.com',
+            expires: 7
+        });
+    }
+}
+/**
+ * 提前设置好频道的cookie
+ */
+function setChannelCookie() {
+    $('.first-nav-item').click(function() {
+        var _cookieGender = window.cookie('_Gender');
+
+        if (typeof _cookieGender !== 'undefined' && _cookieGender !== '') {
+            window.setCookie('_Gender', 1, {
+                path: '/',
+                domain: '.yohobuy.com',
+                expires: 7
+            });
+        }
+        if ($(this).find('.name-cn a').text() === '男生') {
+            window.setCookie('_Gender', '1,3', {
+                path: '/',
+                domain: '.yohobuy.com',
+                expires: 7
+            });
+            window.setCookie('_Channel', 'boys', {
+                path: '/',
+                domain: '.yohobuy.com',
+                expires: 7
+            });
+        }
+        if ($(this).find('.name-cn a').text() === '女生') {
+            window.setCookie('_Gender', '2,3', {
+                path: '/',
+                domain: '.yohobuy.com',
+                expires: 7
+            });
+            window.setCookie('_Channel', 'girls', {
+                path: '/',
+                domain: '.yohobuy.com',
+                expires: 7
+            });
+        }
+        if ($(this).find('.name-cn a').text() === '创意生活') {
+            window.setCookie('_Channel', 'lifestyle', {
+                path: '/',
+                domain: '.yohobuy.com',
+                expires: 7
+            });
+        }
+        if ($(this).find('.name-cn a').text() === '潮童') {
+            window.setCookie('_Channel', 'kids', {
+                path: '/',
+                domain: '.yohobuy.com',
+                expires: 7
+            });
+        }
+    });
+
+}
+/**
+ * cookie集合
+ * @type {Object}
+ */
+function actionExeCookieMap() {
+    var cookies = document.cookie;
+    var cookiearr = cookies.split(';');
+    var i;
+    var temparr;
+    var key;
+
+    for (i = 0; i < cookiearr.length; i++) {
+        temparr = cookiearr[i].split('=');
+        if (typeof temparr[0] !== 'undefined') {
+            key = temparr[0].replace(/\s/g, '');
+            cookieMap[key] = temparr[1];
+        }
+    }
+}
+
+
+/**
+ * 购物车商品数量
+ * @return {[type]} [description]
+ */
+function actionUpdateCartNum() {
+    $('#miniCartBox').miniCart({
+        cartNum: '.ic-infomation'
+    });
+}
+/**
+ * 加载购物车数据
+ * @return {[type]} [description]
+ */
+function loadCartData() {
+    var shoppingInfo,
+        shoppingData,
+        strK;
+
+    $.getData('//www.yohobuy.com/common/shoppingCart', '', function(jsonData) {
+        if (cartTpl === '') {
+            cartTpl = handlebars.compile($('#mini-cart-tpl').html());
+        }
+        $('#miniCartBox').children('.gobuy-wrapper').html(cartTpl({
+            carData: jsonData
+        }));
+        if (parseInt($('.ic-infomation').html()) === 0) {
+            $('#miniCartBox .gobuy-wrapper').html('<div class="gobuy-empty">' +
+                '<h3 class="information">您的购物车暂无商品</h3></div>');
+        }
+        if ($('#miniCartBox .goods-list li').length < 1) {
+            shoppingInfo = window.cookie('_g');
+            shoppingData = json2.parse(shoppingInfo);
+            if (shoppingData !== null) {
+                strK = '{"_k":"' + shoppingData._k + '","_nac":0' + ',"_ac":0,"_r":0}';
+                window.setCookie('_g', strK, {
+                    path: '/',
+                    domain: '.yohobuy.com'
+                });
+            }
+            $('.ic-infomation').html(0);
+            $('#miniCartBox .gobuy-wrapper').html('<div class="gobuy-empty">' +
+                '<h3 class="information">您的购物车暂无商品</h3></div>');
+        }
+    });
+}
+/**
+ * 删除购物车数据
+ * @param  {[type]}  id        [description]
+ * @param  {Boolean} isreduce [description]
+ * @return {[type]}            [description]
+ */
+function delCartGoods(productSku, promotionId, productNum) {
+
+    $.getData('//www.yohobuy.com/common/delCartGoods', {
+
+        // shopping_key: $.getShoppingKey(),
+        product_sku: productSku,
+        promotion_id: promotionId,
+        product_num: productNum
+    }, function(jsonData) {
+        var shoppingInfo = window.cookie('_g');
+        var shoppingData = json2.parse(shoppingInfo);
+        var strK = '{"_k":"' + shoppingData._k + '","_nac":' + jsonData.total_goods_num + ',"_ac":0,"_r":0}';
+
+        window.setCookie('_g', strK, {
+            path: '/',
+            domain: '.yohobuy.com'
+        });
+        loadCartData();
+        actionUpdateCartNum();
+    });
+}
+
+
+/**
+ * 监听购物车删除
+ * @return {[type]} [description]
+ */
+function actionListenDelCarGoods() {
+    var $delcargoods, productSku, promotionId, productNum;
+
+    $(document).on('click', '.goodscardelete', function(e) {
+        $delcargoods = $(this);
+        productSku = $delcargoods.attr('product_sku');
+        promotionId = $delcargoods.attr('promotion_id');
+        productNum = $delcargoods.prev('h3').find('.num').html();
+        delCartGoods(productSku, promotionId, productNum);
+    });
+}
+/**
+ * 监听点击更多打折商品
+ * @return {[type]} [description]
+ */
+function actionListenCartMore() {
+    var $morecart;
+
+    $(document).on('click', '.mycart_i_down', function(e) {
+        $morecart = $(this);
+        $morecart.toggleClass('mycart_i_up');
+        $('#mycartmore').slideToggle(300);
+    });
+}
+/**
+ * 点击购物车
+ * @return {[type]} [description]
+ */
+function actionClickMiniCartBox() {
+    var $target;
+    var shopcarurl = '//www.yohobuy.com/shopping/cart';
+
+    $('#miniCartBox').on('click', function(e) {
+        $target = $(e.target);
+        if ($target.hasClass('gobuy')) {
+            window.location.href = shopcarurl;
+        }
+    });
+}
+
+/**
+ * 显示购物车效果
+ * @param  {Boolean} isShow [description]
+ * @return {[type]}         [description]
+ */
+function showMiniCart(isShow) {
+    if (isShow === 1) {
+        $('#miniCartBox').addClass('list-cur');
+        $('.gobuy-wrapper').show();
+        if (parseInt($('.ic-infomation').html()) !== 0) {
+            $('#miniCartBox .gobuy-wrapper').html('<div class="gobuy-loading">' +
+                '<h3 class="information">加载中,请稍后</h3></div>');
+            loadCartData();
+        } else {
+            $('#miniCartBox .gobuy-wrapper').html('<div class="gobuy-empty">' +
+                '<h3 class="information">您的购物车暂无商品</h3></div>');
+        }
+    } else {
+        $('#miniCartBox').removeClass('list-cur');
+        $('.gobuy-wrapper').hide();
+    }
+}
+
+
+/**
+ * 鼠标购物车的滑入滑出效果
+ * @return {[type]} [description]
+ */
+function actionGoodsCarMouseEffect() {
+    var $target;
+
+    $('#miniCartBox').mouseenter(function(e) {
+        $target = $(e.target);
+        if ($target.attr('id') === 'miniCartBox' || $target.attr('class') === 'ic-infomation') {
+            showMiniCart(1);
+        }
+    });
+    $('#miniCartBox').mouseleave(function(e) {
+        showMiniCart(0);
+    });
+}
+/**
+ * 获得banner & 异常通知
+ * @return {[type]} [description]
+ */
+function actionGetBannerAndNotice() {
+    var INDEXKIDS = 'indexkids',
+        INDEXLIFESTYLE = 'indexlifestyle',
+        INDEXBOYS = 'indexboys',
+        INDEXWOMAN = 'indexgirls',
+        UNIQUEBRAND = 'uniquebrand';
+    var url = window.location.href;
+    var host = window.location.host;
+    var code = '';
+    var firstarea;
+
+    if (url.indexOf('search') !== -1) {
+        code = bannerMap['search' + cookieMap._Channel];
+    }
+    if (url.indexOf('list') !== -1) {
+        code = bannerMap['list' + cookieMap._Channel];
+    }
+    if (url.indexOf('brands') !== -1) {
+        code = bannerMap['brands' + cookieMap._Channel];
+    }
+    if (url.indexOf('new') !== -1) {
+        code = bannerMap['new' + cookieMap._Channel];
+    }
+    if (url.indexOf('sale') !== -1) {
+        code = bannerMap['sale' + cookieMap._Channel];
+    }
+    if (url.indexOf('home') !== -1) {
+        code = bannerMap['home' + cookieMap._Channel];
+    }
+    if (url.indexOf('kids') !== -1) {
+        code = bannerMap[INDEXKIDS];
+    }
+    if (url.indexOf('woman') !== -1 || url.indexOf('girls') !== -1) {
+        code = bannerMap[INDEXWOMAN];
+    }
+    if (url.indexOf('lifestyle') !== -1) {
+        code = bannerMap[INDEXLIFESTYLE];
+    }
+    if (url.indexOf('www.yohobuy.com') !== -1 && window.location.pathname === '/') {
+        code = bannerMap[INDEXBOYS];
+    }
+    firstarea = host.split('.')[0];
+    if (firstarea !== 'list' && firstarea !== 'search' && firstarea !== 'www' &&
+        firstarea !== 'new' && firstarea !== 'item' && firstarea !== 'guang') {
+        code = bannerMap[UNIQUEBRAND + cookieMap._Channel];
+    }
+
+    getBannerData(code); //获得banner信息
+
+}
+
+function brandSwitch(index) {
+    $('.hot-brands').find('ul').stop().animate({
+        opacity: 0,
+        'z-index': 1
+    }, 200).eq(index).animate({
+        opacity: 1,
+        'z-index': 2
+    }, 200);
+}
+/**
+ * 品牌左右切换
+ * @return {[type]} [description]
+ */
+function actionBrandChange() {
+    var activeIndex = 0,
+        swiperLen;
+
+    if ($('.hot-brands').size() > 0) {
+        swiperLen = $('.hot-brands').find('ul').size();
+        $('.hot-brands').find('ul').eq(0).css({
+            opacity: 1,
+            'z-index': 2
+        });
+        $('.brands-control').on('click', '.next', function() {
+            if (activeIndex === swiperLen - 1) {
+                activeIndex = 0;
+            } else {
+                activeIndex++;
+            }
+            brandSwitch(activeIndex);
+        });
+        $('.brands-control').on('click', '.prev', function() {
+            if (activeIndex === 0) {
+                activeIndex = swiperLen - 1;
+            } else {
+                activeIndex--;
+            }
+            brandSwitch(activeIndex);
+        });
+
+
+    }
+}
+/**
+ * 循环检测购物车数量
+ * @return {[type]} [description]
+ */
+function actionLoopUpdCartNum() {
+    setInterval(actionUpdateCartNum, 2000);
+}
+/**
+ * 处理模板
+ * @return {[type]} [description]
+ */
+function actionExeTemplate() {
+    var $goodcartempwarpper = $('#goodcartempwarpper');
+    var resulthtml = '';
+
+    if ($goodcartempwarpper) {
+        if ($goodcartempwarpper.html()) {
+            resulthtml = $('#goodcartempwarpper').html().replace(/\\/g, '');
+            $('#goodcartempwarpper').html(resulthtml);
+            vipInfoCombine = handlebars.compile($('#tmpl-my-login-new').html());
+        }
+    }
+}
+/**
+ * 执行搜索
+ * @return {[type]} [description]
+ */
+function actionSearch() {
+    var searchDomain = '//search.yohobuy.com/api/suggest';
+
+    $('#query_key').search(searchDomain);
+}
+/**
+ * 获取登录状态
+ * @return {[type]} [description]
+ */
+function actionLoginState(_data) {
+    var timestamp = new Date().getTime();
+    var noLoginHtml = '<span>Hi~</span>[<a href="//www.yohobuy.com/signin.html" class="list-a login-out ">' +
+        '请登录</a>]&nbsp;' +
+        '[<a href="//www.yohobuy.com/reg.html" class="list-a login-out" onclick="">免费注册</a>]';
+    var loginHtml = '<span>Hi~<a href="//www.yohobuy.com/home?t=' + timestamp +
+        '">{{user_name}}</a></span>&nbsp;' +
+        '{{#if islogin}}' +
+        '[<a href="{{logout}}" class="list-a login-out">退出</a>]' +
+        '{{/if}}{{#unless islogin}}' +
+        '[<a href="//www.yohobuy.com/signin.html" class="list-a login-out">请登录</a>]&nbsp;' +
+        '[<a href="//www.yohobuy.com/reg.html" onclick="" class="list-a login-out">免费注册</a>]' +
+        '{{/unless}}';
+    var $boxObj = $('#loginBox');
+    var info = window.cookie('_UID');
+    var name = _data.data.profile_name;
+    var _length = 0;
+    var t = 0;
+    var char = '';
+    var user = info.split('::');
+    var userName = user[0] || ' ';
+    var _logout = '//www.yohobuy.com/logout.html';
+    var islogin = '1';
+    var _num = 0;
+    var data = {
+        user_name: name,
+        logout: _logout,
+        random: Math.random()
+    };
+
+    $boxObj.html('').show();
+
+
+    loginInfoCombine = handlebars.compile(loginHtml);
+    if (typeof info === 'undefined' || info === null) {
+        $boxObj.html(noLoginHtml);
+        return false;
+    }
+    if (typeof user === 'undefined' || user.length < 4) {
+        $boxObj.html(noLoginHtml);
+        return false;
+    }
+
+    for (t; t < userName.length; t++) {
+        char = userName.substr(t, 1);
+        if (/.*[\u4e00-\u9fa5]+.*$/.test(char)) {
+            _length += 2;
+        } else {
+            _length += 1;
+        }
+    }
+    if (_length <= 10) {
+        name = userName;
+    } else {
+        _num = 0;
+        for (t; t < userName.length; t++) {
+            if (_num < 10) {
+                char = userName.substr(t, 1);
+                if (char !== '*') {
+                    if (/.*[\u4e00-\u9fa5]+.*$/.test(char)) {
+                        _num += 2;
+                    } else {
+                        _num += 1;
+                    }
+                }
+                name += char;
+            }
+        }
+        if (name.length < userName.length) {
+            name += '...';
+        }
+    }
+
+
+    if (/http:\/\//.test(user[3])) {
+        _logout = user[3].replace('www.yohobuy.com', 'www.yohobuy.com');
+    } else {
+        _logout = '//www.yohobuy.com/logout.html';
+    }
+    if (_data.result === -1) {
+        islogin = '-1';
+    }
+    data.islogin = islogin;
+    $boxObj.html(loginInfoCombine(data));
+}
+/**
+ * 获得vip用户信息
+ * @return {[type]} [description]
+ */
+function actionVipInfo(_data) {
+    var vipInfo = _data.data;
+    var headUrl = '';
+
+    if (_data.result === 1) {
+        if (typeof vipInfo === undefined || vipInfo.length < 1) {
+            return false;
+        }
+        if (vipInfo.vip.curVipInfo.curLevel === '3') {
+            vipInfo.vip3 = true;
+        }
+
+        $('#myYohoBox').mouseenter(function() {
+            $(this).addClass('acttags');
+            $('#myYohoBox .myyoho-info').show().html(vipInfoCombine(vipInfo));
+            headUrl = $('.myyoho-photo img').attr('data-url');
+            if ($._checkUrlState === 1) {
+                $('.myyoho-photo').show().find('img').attr('src', headUrl);
+                return;
+            }
+            if (headUrl === '' || $._checkUrl !== '') {
+                return;
+            }
+            $.ajax({
+                url: headUrl,
+                type: 'GET',
+                complete: function(response) {
+                    if (response.status === 200 || response.status === 0) {
+                        $('.myyoho-photo').show().find('img').attr('src', headUrl);
+                        $._checkUrlState = 1;
+                    }
+                    $._checkUrl = headUrl;
+                }
+            });
+        });
+        $('#myYohoBox').mouseleave(function() {
+            $(this).removeClass('acttags');
+            $('#myYohoBox .myyoho-info').hide();
+        });
+    }
+}
+/**
+ * 获取登录信息
+ * @return {[type]} [description]
+ */
+function actionLoginInfo() {
+    $.getData('//www.yohobuy.com/common/passport', '', function(_data) {
+        if (_data && _data.result !== -1) {
+            actionLoginState(_data); // 更改登录状态
+            actionVipInfo(_data); //获得vip;
+        } else {
+            window.setCookie('_UID', '', {
+                path: '/',
+                domain: '.yohobuy.com',
+                expires: -1
+            });
+            $loginBox.show();
+        }
+    });
+}
+/**
+ * 初始化函数
+ * @return {[type]} [description]
+ */
+function init() {
+    actionNav(); //处理导航
+    actionTipPic(); //鼠标移入后查询
+    actionExeTemplate(); //处理模板
+    actionCover(); //初次登录弹框
+    actionInitCookie(); //初始化cookie
+    setChannelCookie(); //设置频道缓存
+    actionExeCookieMap(); //格式化cookie
+    actionGoodsCart(); //初始化购物车插件
+    actionYoHoGroup(); // yoho集团鼠标效果
+    actionTopTagToggle(); // yoho上部分开关
+    actionTopLogoAnimate(); //yoho logo动画
+    actionGetBannerAndNotice(); // 获取banner和服务器维护提示
+    actionBrandChange(); //切换品牌
+    actionGoodsCarMouseEffect(); //鼠标滑入滑出效果
+    actionUpdateCartNum(); //更新购物车数量
+    actionLoopUpdCartNum(); //循环检测购物车数量
+    actionSearch(); //搜索执行
+    actionClickMiniCartBox(); //点击购物车跳转
+    actionListenDelCarGoods(); //监听购物车删除
+    actionListenCartMore(); //
+    actionLoginInfo(); //获取登录信息
+    actionAddKeyWords(); //增加关键字
+}
+init();
+});
+define("js/simple-header", ["jquery"], function(require, exports, module){
+var $ = require("jquery");
+
+var $apiDom = $('#api-domain');
+
+var apiDomain = $apiDom.val(); //获取数据的地址
+
+$apiDom.remove(); //删除API信息
+
+if ($('.simple-header').size() > 0) {
+    $('.tool-options').on('mouseenter', function() {
+        $(this).find('.tool-select').fadeIn();
+    }).on('mouseleave', function() {
+        $(this).find('.tool-select').fadeOut();
+    });
+}
+
+/**
+ * 格式化用户名
+ * @return {[type]} [description]
+ */
+function formatUsernName(userName) {
+    var name,
+        char,
+        _num = 0,
+        _length = 0,
+        t;
+
+    for (t = 0; t < userName.length; t++) {
+        char = userName.substr(t, 1);
+        if (/.*[\u4e00-\u9fa5]+.*$/.test(char)) {
+            _length += 2;
+        } else {
+            _length += 1;
+        }
+    }
+    if (_length <= 10) {
+        name = userName;
+    } else {
+        _num = 0;
+        name = '';
+        for (t = 0; t < userName.length; t++) {
+            if (_num < 10) {
+                char = userName.substr(t, 1);
+                if (char !== '*') {
+                    if (/.*[\u4e00-\u9fa5]+.*$/.test(char)) {
+                        _num += 2;
+                    } else {
+                        _num += 1;
+                    }
+                }
+                name += char;
+            }
+        }
+        if (name.length < userName.length) {
+            name += '...';
+        }
+    }
+    return name;
+}
+
+/**
+ * 设置简单头部登陆状态
+ * @return {[type]} [description]
+ */
+function setLoginStatus(data) {
+    var info = data.data,
+        loginHtml,
+        name;
+
+    if (data.result !== -1) {
+        name = formatUsernName(info.profile_name);
+        loginHtml = '<span>Hi~</span>' +
+                    '<a href="//www.yohobuy.com/home?t=' + info.random + '">' + name + '</a>&nbsp;' +
+                    '<a href="//www.yohobuy.com/logout.html">[退出]</a>';
+    } else {
+        loginHtml = '<span>Hi~</span>&nbsp;' +
+                    '<a href="//www.yohobuy.com/signin.html">[请登录]</a>&nbsp;' +
+                    '<a href="//www.yohobuy.com/reg.html">[免费注册]</a>';
+    }
+    $('.header-tool li').eq(0).html(loginHtml);
+}
+
+/**
+ * 获取登录信息
+ * @return {[type]} [description]
+ */
+function actionLoginInfo() {
+    var param = {
+            return_type: 'jsonp'
+        };
+
+    $.getJSON('//www.yohobuy.com/common/passport' + '/?callback=?', param, function(_data) {
+        if (_data && _data.data) {
+            setLoginStatus(_data.data);
+        }
+    });
+}
+
+actionLoginInfo(); //获取登录信息
+
+
+});
+define("js/product/entry", ["jquery","handlebars","source-map","lazyload","index","jquery-pjax"], function(require, exports, module){
+/**
+ * 商品页面打包入口文件
+ * @auhtor: xuqi<qi.xu@yoho.cn>
+ * @date: 2015/12/28
+ */
+
+require("js/product/list");
+
+require("js/product/brand");
+
+require("js/product/hotrank");
+
+require("js/product/item");
+
+require("js/product/shop-index");
+
+});
+define("js/product/list", ["jquery","handlebars","source-map","lazyload"], function(require, exports, module){
+/**
+ * 商品列表页
+ * @author: xuqi<qi.xu@yoho.cn>
+ * @date: 2015/11/23
+ */
+var $ = require("jquery");
+
+require("js/product/filter");
+
+require("js/product/sort-pager");
+
+require("js/product/latest-walk");
+
+require("js/product/product");
+
+(function() {
+    var $banner = $('.banner-img'),
+        img;
+
+    if ($banner.length === 0) {
+        return;
+    }
+
+    img = new Image();
+
+    //重置Banner高度
+    img.onload = function() {
+        if (img.height) {
+            $banner.height(img.height);
+        }
+
+        img = null;
+    };
+
+    //replace('"', '')为处理浏览器兼容性代码,部分浏览器中取得的字符串中包含""
+    img.src = $banner.css('background-image').replace(/"/g, '').slice(4, -1);
+}());
+
+});
+define("js/product/filter", ["jquery","handlebars","source-map"], function(require, exports, module){
+/**
+ * 商品筛选逻辑
+ * @author: xuqi<qi.xu@yoho.cn>
+ * @date: 2015/12/4
+ */
+
+var $ = require("jquery"),
+    Handlebars = require("handlebars");
+
+var checkUnicode = {
+    unchecked: '&#xe635;',
+    checked: '&#xe636;'
+},
+moreUnicode = {
+    up: '&#xe610;',
+    down: '&#xe600;'
+};
+
+//品牌相关变量
+var $brandDefault = $('.brand .default'),
+    $brandInput = $('#brand-search-input'),
+    $brandPanel = $('.brand .brand-panel'),
+    $brandAttrs = $brandPanel.find('.attr'),
+    $brandMore = $('#brand-more'),
+    $brandMulti = $('#brand-multi'),
+    $brandsIndex = $('.brands-index');
+
+var $brandMoreTxt, $brandMoreIcon;
+
+//价格相关变量
+var $udPrice = $('.ud-price-range'),
+    interReg = /^\d+$/,
+    $limit, $min, $max, $btn;
+
+//分类相关变量
+var $sortSub = $('.sort-sub-wrap');
+
+//高级选项相关变量
+var $seniorSubWrap = $('.senior-sub-wrap'),
+    $seniorAttrWrap = $('.senior-attr-wrap');
+
+var seniorHoverTime, hoveredIndex;
+
+// 尺寸 handlebars 模板
+var sizeTmpl = '{{# size}}<a class="attr {{#if checked}}checked{{/if}}" href="{{href}}">{{name}}</a>{{/ size}}',
+    sizeCache = {}, // 缓存一下尺寸信息
+    $sizeWrap = $('.filter-box .size');
+
+sizeTmpl = Handlebars.compile(sizeTmpl);
+
+//清除checkbox选中状态[页面默认checked不清空]
+function clearChecked($checkbox, $checked) {
+    $checkbox.each(function() {
+        if ($(this).closest('.attr').hasClass('checked')) {
+            return;
+        }
+        $(this).removeClass('checked').html(checkUnicode.unchecked);
+    });
+    $checked.find('.checkbox').addClass('checked').html(checkUnicode.checked);
+}
+
+//显示更多品牌面板
+function brandShowMore() {
+    $brandDefault.addClass('hide');
+    $brandPanel.removeClass('hide');
+}
+
+//隐藏更多品牌面板
+function brandHideMore() {
+    $brandPanel.addClass('hide');
+    $brandDefault.removeClass('hide');
+
+    //清除索引状态
+    $brandsIndex.children('span').removeClass('hover');
+}
+
+//url构造&跳转
+function uriLoc(attr, val) {
+    var qs = window.queryString(),
+        newHref;
+
+    qs[attr] = val;
+    delete qs.page;
+    newHref = '?' + decodeURIComponent($.param(qs));
+    window.location.href = newHref;
+}
+
+//隐藏高级选项面板
+function hideSeniorPanel(index) {
+    $seniorSubWrap.children('.senior-sub:eq(' + hoveredIndex + ')').addClass('hide');
+    $seniorAttrWrap.children('.attr:eq(' + hoveredIndex + ')').removeClass('hover');
+    hoveredIndex = -1;
+}
+
+//屏蔽筛选项双击文字选中
+$('.filter-box').on('selectstart', '.attr, .brands-index span', function() {
+    return false;
+});
+
+//【分类】
+$('.sort-pre').on('click', 'li', function() {
+    var $this = $(this),
+        index = $this.index(),
+        id = $this.data('id');
+
+    if ($this.hasClass('active')) {
+
+        // 选中时,再次点击取消选中
+        $this.removeClass('active');
+        $sortSub.children(':eq(' + index + ')').addClass('hide');
+        $sizeWrap.addClass('hide');
+        return;
+    }
+
+    $this.siblings('.active').removeClass('active');
+    $this.addClass('active');
+
+    $sortSub.children(':not(.hide)').addClass('hide');
+    $sortSub.children(':eq(' + index + ')').removeClass('hide');
+
+    if (!$sizeWrap.data('load')) {
+        if (sizeCache[id]) {
+            $sizeWrap.find('.attr-content').html(sizeCache[id]);
+            $sizeWrap.removeClass('hide');
+        } else {
+            $.ajax({
+                url: '/product/search/sortSize',
+                data: {
+                    msort: id
+                }
+            }).then(function(res) {
+                if ($.type(res) === 'array' && res.length) {
+                    sizeCache[id] = sizeTmpl({
+                        size: res
+                    });
+                    $sizeWrap.find('.attr-content').html(sizeCache[id]);
+                    $sizeWrap.removeClass('hide');
+                } else {
+                    $sizeWrap.addClass('hide');
+                }
+            });
+        }
+    }
+});
+
+//【品牌】
+if ($brandMore.length > 0) {
+    $brandMoreTxt = $brandMore.children('em');
+    $brandMoreIcon = $brandMore.children('.iconfont');
+}
+
+//【品牌】多选
+$brandMulti.click(function() {
+    if ($brandPanel.css('display') === 'none') {
+
+        //显示品牌面板
+        $brandMore.trigger('click');
+    }
+
+    brandShowMore();
+    $brandPanel.removeClass('hide').addClass('multi'); //显示出checkbox
+    $(this).addClass('hide');
+
+    //隐藏更多按钮
+    $brandMore.addClass('hide');
+});
+
+//【品牌】更多
+$brandMore.click(function() {
+    var $this = $(this);
+
+    if ($this.hasClass('more')) {
+        brandHideMore();
+
+        $brandMoreTxt.text('更多');
+        $brandMoreIcon.html(moreUnicode.down);
+
+        //清空搜索框和搜索结果
+        $brandInput.val('').trigger('keyup');
+    } else {
+        brandShowMore();
+
+        $brandMoreTxt.text('收起');
+        $brandMoreIcon.html(moreUnicode.up);
+    }
+
+    $(this).toggleClass('more');
+});
+
+//【品牌】索引
+$brandsIndex.on('mouseenter', 'span', function() {
+    var $this = $(this),
+        index = $this.data('index');
+
+    if ($this.hasClass('hover')) {
+        return;
+    }
+    setTimeout(function() {
+        $this.siblings('span.hover').removeClass('hover');
+        $this.addClass('hover');
+
+        if ($this.index() === 0) {
+
+            //全部
+            $brandAttrs.removeClass('hide');
+        } else {
+            $brandAttrs.addClass('hide').filter('[data-index=' + index + ']').removeClass('hide');
+        }
+    }, 120);
+});
+
+//【品牌】搜索
+$brandInput.keyup(function() {
+    var val = $(this).val().toLowerCase();
+
+    if (val === '') {
+        $brandAttrs.removeClass('hide');
+    } else {
+        $brandAttrs.addClass('hide').filter('[data-key*="' + val + '"]').removeClass('hide');
+    }
+});
+
+//【品牌】多选确定
+$('#brand-multi-ok').click(function() {
+    var val = [];
+
+    if ($(this).hasClass('dis')) {
+        return;
+    }
+
+    $brandPanel.find('span.checked').each(function() {
+        val.push($(this).data('id'));
+    });
+
+    uriLoc('brand', val.join(','));
+});
+
+//【品牌/高级选项】多选取消
+$('.multi-select-cancel').click(function() {
+    var $panel = $(this).closest('.multi');
+
+    if ($panel.hasClass('brand-panel')) {
+
+        $brandMulti.removeClass('hide'); //显示多选按钮
+        $brandMore.trigger('click');
+
+        //显示出更多按钮
+        $brandMore.removeClass('hide');
+
+        //清空搜索框和搜索结果
+        $brandInput.val('').trigger('keyup');
+        brandHideMore();
+    }
+
+    $panel.addClass('hide').removeClass('multi');
+    clearChecked($panel.find('.checkbox.checked'), $panel.find('.attr.checked')); //清除选中状态
+
+    //确定按钮状态恢复dis
+    $(this).siblings('.multi-select-ok').addClass('dis');
+});
+
+//【品牌/高级选项】checkbox
+$('.check-container').on('click', '.attr', function() {
+    var $this = $(this),
+        $check = $this.find('.checkbox'),
+        $btnOk = $this.closest('.brand-panel, .senior-sub').find('.multi-select-ok');
+
+    $check.toggleClass('checked');
+
+    if ($check.hasClass('checked')) {
+        $check.html(checkUnicode.checked);
+    } else {
+        $check.html(checkUnicode.unchecked);
+    }
+
+    //更新按钮状态
+    if ($check.hasClass('checked') ||
+        $this.siblings('.attr').find('.checked').length > 0) {
+        $btnOk.removeClass('dis');
+    } else {
+        $btnOk.addClass('dis');
+    }
+});
+
+//【品牌/高级选项】当多选时阻止链接默认跳转
+$('.brand, .senior').on('click', '.attr > a', function(e) {
+    if ($(this).closest('.multi').length > 0) {
+        e.preventDefault();
+    }
+});
+
+// 已选中的条件,点击不刷新
+$('.filter-box').on('click', 'li.checked, a.checked', function(e) {
+    e.preventDefault();
+});
+
+//【价格】用户定义价格处理
+if ($udPrice.length > 0) {
+    $limit = $udPrice.find('.limit');
+    $min = $limit.filter('.min');
+    $max = $limit.filter('.max');
+    $btn = $udPrice.find('.price-sure');
+
+    //【价格】输入
+    $limit.keyup(function() {
+        var thisPrice = $.trim($(this).val()),
+            isPriInt = interReg.test(thisPrice),
+            intPrice,
+            min,
+            max;
+
+        if (!isPriInt) {
+            intPrice = parseInt(thisPrice, 10);
+            $(this).val(isNaN(intPrice) ? '' : intPrice);
+        }
+
+        min = $.trim($min.val());
+        max = $.trim($max.val());
+
+        if (min !== '' || max !== '') {
+            $btn.removeClass('hide');
+        } else {
+            $btn.addClass('hide');
+        }
+    });
+
+    //【价格】多项查询
+    $btn.click(function() {
+        var min = $.trim($min.val()),
+            max = $.trim($max.val()),
+            tmp;
+
+        //对于min大于max的情况,交换位置
+        if (min !== '' && max !== '' && +min > +max) {
+            tmp = max;
+            max = min;
+            min = tmp;
+        }
+
+        uriLoc('price', min + ',' + max);
+    });
+}
+
+//【高级选项】鼠标移入显示子项
+$seniorAttrWrap.on('mouseenter', '.attr', function() {
+    var $this = $(this);
+    var index = $this.index();
+
+    if ($this.hasClass('no-sub')) {
+        return;
+    }
+    $this.addClass('hover').siblings().removeClass('hover');
+
+    $seniorSubWrap.children('.senior-sub:eq(' + index + ')').removeClass('hide').siblings().addClass('hide');
+}).on('mouseleave', '.attr', function() {
+    var $this = $(this),
+        index = $this.index();
+
+    if ($this.hasClass('no-sub')) {
+        return;
+    }
+
+    hoveredIndex = index;
+
+    seniorHoverTime = setTimeout(function() {
+        hideSeniorPanel();
+    }, 100);
+});
+
+//【高级选项】多选
+$('.senior-sub').on('click', '.multi-select', function() {
+    $(this).closest('.senior-sub').addClass('multi');
+}).on('click', '.multi-select-ok', function() {
+    var $btn = $(this),
+        $sub = $btn.closest('.senior-sub'),
+        val = [];
+
+    if ($btn.hasClass('dis')) {
+        return;
+    }
+
+    $sub.find('span.checked').each(function() {
+        val.push($(this).data('id'));
+    });
+
+    uriLoc($sub.data('attr'), val.join(','));
+}).on('mouseenter', function() {
+    clearTimeout(seniorHoverTime);
+}).on('mouseleave', function() {
+    hideSeniorPanel();
+});
+
+});
+define("js/product/sort-pager", ["jquery"], function(require, exports, module){
+/**
+ * 筛选页和列表页操作banner中的每页N个商品选择逻辑
+ * @author: xuqi<qi.xu@yoho.cn>
+ * @date: 2015/12/4
+ */
+
+var $ = require("jquery");
+
+var $countPerPage = $('#count-per-page'),
+    $countChose = $countPerPage.next('ul');
+
+var SLIDETIME = 200;
+
+$(document).click(function(e) {
+    if ($(e.target).closest('.page-count').length > 0) {
+        return;
+    }
+
+    $countChose && $countChose.slideUp(SLIDETIME);
+});
+
+$countPerPage.click(function() {
+    if ($countChose.css('display') === 'none') {
+        $countChose.slideDown(SLIDETIME);
+    } else {
+        $countChose.slideUp(SLIDETIME);
+    }
+});
+});
+define("js/product/latest-walk", ["jquery","handlebars","source-map","lazyload"], function(require, exports, module){
+/**
+ * 最近浏览取接口渲染模板
+ * @author: xuqi<qi.xu@yoho.cn>
+ 8 @date: 2016/1/20
+ */
+
+var $ = require("jquery");
+var Handlebars = require("handlebars");
+var lazyLoad = require("lazyload");
+
+var $latestWalkCount = $('#latest-walk-count');
+
+(function() {
+    var tpl;
+
+    if ($latestWalkCount.length === 0) {
+        return;
+    }
+
+    tpl = Handlebars.compile($('#latest-walk-tpl').html());
+
+    $.ajax({
+        url: '//www.yohobuy.com/common/recentReview',
+        dataType: 'jsonp',
+        data: {
+            limit: $latestWalkCount.val()
+        },
+        success: function(data) {
+            var latestWalk = [],
+                res, i, cur;
+
+            if (data.code === 200) {
+                res = data.data;
+
+                //若无最近浏览,请隐藏容器
+                if (res.length === 0) {
+                    $('.latest-walk').addClass('hide');
+                    return;
+                }
+                for (i = 0; i < res.length; i++) {
+                    cur = res[i];
+
+                    latestWalk.push({
+                        href: cur.url,
+                        img: cur.pic_url,
+                        name: cur.product_name,
+                        salePrice: cur.price,
+                        marketPrice: cur.market_price
+                    });
+                }
+
+                if (latestWalk.length > 0) {
+                    $('#latest-walk-goods').html(tpl({
+                        latestWalk: latestWalk
+                    }));
+
+                    lazyLoad($('#latest-walk-goods .lazy'));
+                }
+            }
+        }
+    });
+}());
+});
+define("js/product/product", ["jquery","lazyload","handlebars","source-map"], function(require, exports, module){
+/**
+ *Description: 商品列表页
+ *Author: chenglong.wang@yoho.cn
+ *Date: 2015/12/2
+ */
+
+var $ = require("jquery"),
+    lazyLoad = require("lazyload"),
+    Handlebars = require("handlebars"),
+    productEvent = require("js/common/product-event");
+
+var $goodsContainer = $('.goods-container'),
+    $goodItem = $goodsContainer.find('.good-info'),
+    $goodItemWrapper = $goodsContainer.find('.good-item-wrapper'),
+    $goodInfoMain = $goodsContainer.find('.good-info-main'),
+    $goodSelectColor = $goodsContainer.find('.good-select-color'),
+    $productListNav = $('.product-list-nav'),
+    productList;
+
+lazyLoad($('img.lazy'));
+
+/**
+ * @description 初始化鼠标移入商品列表弹层效果
+ * @num 每列存放商品的个数
+ */
+exports.init = function(num) {
+    var $shopEntry = $('.shop-entry'),
+        $shopEntryArea = $('.shop-entry-area'),
+        shopEntryLen = $shopEntry.length;
+
+    if (shopEntryLen > 1) {
+
+        if (shopEntryLen === 3) {
+            $shopEntry.css({
+                width: '32%'
+            });
+        } else if (shopEntryLen % 2) {
+
+            // 大于 2 ,并且是基数
+            $('.shop-entry:gt(' + (shopEntryLen - 4) + ')').css({
+                width: '32%'
+            });
+        }
+
+        $('.shop-entry:nth-child(2n+1)').css({
+            marginLeft: 0
+        });
+
+        $shopEntry.last().css({
+            marginLeft: '2%'
+        });
+
+        if (shopEntryLen % 2 === 0) {
+            $shopEntry.find('.name').css({
+                width: '50%'
+            });
+        } else if (shopEntryLen % 3 === 0) {
+            $shopEntry.find('.name').css({
+                width: '26%'
+            });
+        }
+
+    } else {
+        $shopEntry.css({
+            width: '100%'
+        });
+    }
+
+    $shopEntryArea.slideDown();
+
+    productList = null;
+
+    $goodItem.unbind();
+
+    productList = productEvent($goodItem, num);
+
+    /**
+     * @description 构造商品颜色列表的html结构
+     * @param data 商品颜色的数组,[url: '',src: '']
+     * @return json {'colorListStr': '', 'ulNum': ''}
+     * */
+    function createColorList(data, _from) {
+        var colorListStr = '',
+            len = data.length,
+            row = 4, //每列ul放4个li
+            col = Math.ceil(len / row), //需要几**列**ul
+            i,
+            j,
+            index,
+            ulNum = 0;
+
+        for (i = 0; i < col; i++) {
+            colorListStr += '<ul>';
+            for (j = 0; j < row; j++) {
+                index = i * row + j;
+                if (index === len) {
+                    break;
+                }
+                colorListStr +=
+                    '<li>' +
+                    '<a target="_blank" href="' + data[i * row + j].url + _from + '">' +
+                    '<img src="' + data[i * row + j].src + '" data-cover="' + data[i * row + j].coverImg + '" />' +
+                    '</a>' +
+                    '</li>';
+
+                if (j === row - 1) {
+                    colorListStr += '</ul>';
+                    ulNum++;
+                }
+            }
+        }
+        if (ulNum < col) {
+            colorListStr += '</ul>';
+        }
+        return {
+            colorListStr: colorListStr,
+            ulNum: col
+        };
+    }
+
+    function removeHtmlFn() {
+        $goodInfoMain.html('');
+        $goodSelectColor.html('');
+        $goodItemWrapper.css({
+            display: 'none'
+        });
+    }
+
+    productList.addHandler('MouseEnter', function(event) {
+        var itemMr = 10, //list的右边距
+            itemMb = 35, //list的下边距
+            ulStr = '',
+            ulNum,
+            wrapperWidth,
+            diffWidth,
+            wrapperX,
+            wrapperY,
+            wrapperPl, //鼠标移入时弹层的左内边距
+            wrapperPt, //鼠标移入时弹层的上内边距
+            containerPt, //商品列表容器的上内边距
+            _from = event.target.attr('data-from') || '';
+
+        $.ajax({
+            type: 'POST',
+            url: '/product/list/getProductPic',
+            dataType: 'jsonp',
+            jsonp: 'callback',
+            data: {
+                skn: event.target.attr('data-skn'),
+                skc: event.target.attr('data-skc')
+            }
+        }).then(function(res) {
+            var data = res.data,
+                colorList = createColorList(data.pics, _from);
+
+            removeHtmlFn();
+
+            ulStr = colorList.colorListStr; //ajax请求的颜色列表
+            ulNum = colorList.ulNum;//ajax请求的颜色的数量
+
+            $goodInfoMain.append(event.targetDuplicate);
+            $goodSelectColor.append($(ulStr));
+
+            // 点击收藏商品不需要了
+            // if (data.isFavorite) {
+            //     $goodInfoMain.find('.col-btn').addClass('coled');
+            // } else {
+            //     $goodInfoMain.find('.col-btn').removeClass('coled');
+            // }
+
+            wrapperPl = $goodItemWrapper.css('paddingLeft');
+            wrapperPt = $goodItemWrapper.css('paddingTop');
+            containerPt = $goodsContainer.css('paddingTop');
+
+            wrapperWidth = 10 + (15 + 50) * ulNum + event.targetWidth;
+
+            //wrapperWidth = $goodItemWrapper.width();
+
+            wrapperX = (event.targetX - 1) * (event.targetWidth + itemMr) - (parseInt(wrapperPl) + 1);
+            wrapperY = (event.targetY - 1) *
+            (event.targetHeight + itemMb) + parseInt(containerPt) - (parseInt(wrapperPt) + 1);
+
+            //todo
+            //event.offsetR表示当前列表距离浏览器右侧边缘的距离
+            diffWidth = event.offsetR - ((15 + 50) * ulNum + 25);
+
+            if (diffWidth <= 0) {
+                wrapperX = wrapperX + diffWidth - 25;
+            }
+            $goodItemWrapper.css({
+                width: wrapperWidth,
+                left: wrapperX,
+                top: wrapperY,
+                display: 'inline-block'
+            });
+
+            // 鼠标悬浮获取到商品信息后显示第一张图片
+            if (data.pics[0] && data.pics[0].src) {
+                $goodInfoMain.find('.good-thumb img').attr('src', data.pics[0].src);
+            }
+        });
+    });
+
+    productList.addHandler('MouseLeave', function() {
+        removeHtmlFn();
+    });
+
+    $goodItemWrapper.mouseleave(function() {
+
+        removeHtmlFn();
+    });
+
+};
+
+//鼠标放在颜色列表上效果
+$(document).on('hover', '.good-select-color li', function() {
+    var coverImg = $(this).find('img').attr('data-cover'),
+        $coverImg = $(this).closest('.good-item-wrapper').find('.good-detail-img').find('img');
+
+    $coverImg.attr('src', coverImg);
+});
+
+// 左侧导航
+$productListNav.find('h3').click(function(event) {
+    var $this = $(this).closest('.product-list-nav');
+
+    if ($this.hasClass('active')) {
+
+        $this.find('.sort-child-list').stop(true, true).slideUp();
+
+    } else {
+
+        $this.find('.sort-child-list').stop(true, true).slideDown();
+    }
+
+    $this.toggleClass('active');
+});
+
+//左侧需要ajax内容
+(function() {
+    var $brandCard = $('#brand-card');
+    var $brandFavor = $('#brand-favor');
+    var html;
+
+    if ($brandCard.length) {
+        $.ajax({
+            type: 'POST',
+            url: '/product/index/getNodeContent',
+            data: {
+                node: $brandCard.data('node')
+            }
+        }).then(function(data) {
+            $brandCard.html(data);
+        });
+    }
+
+    //品牌页请求
+    if ($brandFavor.length) {
+        html = $('#pic-link-tpl').html();
+
+        $.ajax({
+            type: 'POST',
+            url: '/product/index/getAdnav',
+            data: {
+                brandId: $brandFavor.data('id')
+            }
+        }).then(function(data) {
+            if (data) {
+                $('#brand-ad').html(Handlebars.compile(html)({
+                    picLink: data
+                }));
+            }
+        });
+    }
+}());
+
+});
+define("js/common/product-event", ["jquery"], function(require, exports, module){
+/**
+ *Description: 商品自定义事件
+ *Author: chenglong.wang@yoho.cn
+ *Date: 2015/12/3
+ */
+
+var $ = require("jquery");
+
+function ProductEvent() {
+
+    this.handlers = {};
+
+}
+
+ProductEvent.prototype = {
+
+    constructor: ProductEvent,
+
+    addHandler: function(type, handler) {
+        if (typeof this.handlers[type] === 'undefined') {
+            this.handlers[type] = [];
+        }
+        this.handlers[type].push(handler);
+    },
+
+    fire: function(event) {
+        var handlers,
+            i;
+
+        if (!event.target) {
+
+            event.target = this;
+        }
+        if (this.handlers[event.type] instanceof Array) {
+            handlers = this.handlers[event.type];
+            for (i = 0; i < handlers.length; i++) {
+                handlers[i](event);
+            }
+        }
+    },
+
+    removeHandler: function(type, handler) {
+        var handlers,
+            i;
+
+        if (this.handlers[type] instanceof Array) {
+            handlers = this.handlers[type];
+            for (i = 0; i < handlers.length; i++) {
+                if (handlers[i] === handler) {
+                    break;
+                }
+            }
+            handlers.splice(i, 1);
+        }
+    }
+};
+
+module.exports = function($o, rowWidth) {
+
+    var pMouseHover = new ProductEvent();
+
+    var targetWidth = $o.eq(0).width(),
+        targetHeight = $o.eq(0).height(),
+        winW = $(window).width();
+
+    var delayFunc,
+        loadInfo;
+
+    function handleEvent(event) {
+        var $target,
+            targetX = 0,
+            targetY = 0,
+            rowW = rowWidth,
+            activeIndex = 0,
+            $targetDuplicate = '',
+            offsetL = 0,
+            offsetR = 0;
+
+
+        switch (event.type) {
+            case 'mouseenter':
+                $target = $(this);
+
+                delayFunc = setTimeout(function() {
+                    loadInfo = true;
+                    $targetDuplicate = $target.clone();
+                    activeIndex = $target.index() + 1;
+                    targetX = (activeIndex % rowW) === 0 ? rowW : activeIndex % rowW;
+                    targetY = Math.ceil(activeIndex / rowW);
+                    offsetL = $target.offset().left;
+                    offsetR = winW - (offsetL + targetWidth);
+
+                    pMouseHover.fire({
+                        type: 'MouseEnter',
+                        target: $target,
+                        targetWidth: targetWidth,
+                        targetHeight: targetHeight,
+                        targetX: targetX,
+                        targetY: targetY,
+                        rowWidth: rowW,
+                        activeIndex: activeIndex,
+                        targetDuplicate: $targetDuplicate,
+                        offsetL: offsetL,
+                        offsetR: offsetR
+                    });
+                }, 150);
+                break;
+            case 'mouseleave':
+                if (!loadInfo) {
+                    if (delayFunc) {
+                        clearTimeout(delayFunc);
+                    }
+                    pMouseHover.fire({
+                        type: 'MouseLeave'
+                    });
+                }
+                loadInfo = false;
+                break;
+        }
+    }
+
+    $o.bind({
+        mouseenter: handleEvent,
+        mouseleave: handleEvent
+    });
+
+    return pMouseHover;
+};
+});
+define("js/product/brand", ["jquery"], function(require, exports, module){
+/**
+ * 品牌页面
+ * @auhtor: bikai<kai.bi@yoho.cn>
+ * @date: 2016/1/21
+ */
+
+var $ = require("jquery");
+
+var $brandFavor = $('#brand-favor'),
+    id = $brandFavor.data('id');
+
+$brandFavor.on('click', function() {
+    $.ajax({
+        type: 'post',
+        url: '/product/index/favoriteBrand',
+        data: {
+            brandId: id
+        }
+    }).then(function(res) {
+        if (res.code === 200) {
+            $brandFavor.find('i').toggleClass('coled');
+        } else if (res.code === 403) {
+            location.href = '//www.yohobuy.com/signin.html?refer=' + encodeURIComponent(location.href);
+        }
+    });
+});
+
+//页面进入更新收藏状态
+$.ajax({
+    type: 'POST',
+    url: '/product/index/isFavoriteBrand',
+    data: {
+        brandId: id
+    }
+}).then(function(data) {
+    if (data.code === 200) {
+
+        //已收藏
+        $brandFavor.find('i').addClass('coled');
+    } else if (data.code === 404) {
+
+        //未收藏
+        $brandFavor.find('i').removeClass('coled');
+    }
+});
+
+});
+define("js/product/hotrank", ["jquery","handlebars","source-map","lazyload"], function(require, exports, module){
+/**
+ * 首页
+ * @author: liuyue<yue.liu@yoho.cn>
+ * @date: 2015/12/17
+ */
+
+var $ = require("jquery"),
+    Handlebars = require("handlebars"),
+    lazyLoad = require("lazyload");
+
+require("js/common/slider");
+require("js/common/logo-brand");
+
+lazyLoad($('img.lazy'));
+$('.slide-container').slider();
+$('.logo-brand').logoBrand({
+    showNum: 10,
+    url: $('.logo-brand').data('url')
+});
+
+/*
+ * 一周热卖
+ */
+(function($) {
+    var floatlayer = $('.hot-week').find('.floatlayer'),
+        sid = $('.hot-cate').find('li').eq(0).data('sid'),
+        weekOffsetTop,
+        source,
+        template,
+        page = 1,
+        hotCateW = 0,
+        weekEnd = false;
+
+    source = '\{{# list}}' +
+        '<div class="good-info">' +
+            '<div class="item-img">' +
+                '<a class="good-thumb" target="_blank" href="\{{url}}">' +
+                    '<img class="lazy" data-original="\{{thumb}}">' +
+                '</a>' +
+            '</div>' +
+            '<div class="good-detail-text">' +
+                '<a target="_blank" href="{{url}}">{{name}}</a>' +
+                '<p class="price">' +
+                    '{{# marketPrice}}<span class="market-price">¥{{.}}</span>{{/ marketPrice}} ' +
+                    '<span class="sale-price{{#unless marketPrice}}prime-cost{{/unless}}">' +
+                    '¥{{salePrice}}</span>' +
+                '</p>' +
+            '</div>' +
+        '</div>' +
+        '{{/ list}}';
+
+    //监听滚动事件,控制浮层样式及下拉加载更多
+    $(window).on('scroll', function() {
+        var maxH = weekOffsetTop + $('.hot-week').outerHeight(),
+            sid;
+
+        //热卖右侧浮动导航位置
+        weekOffsetTop = $('.hot-week').offset().top;
+        if ($(this).scrollTop() >= weekOffsetTop - $(window).height() / 2) {
+            if (floatlayer.offset().top + floatlayer.outerHeight() >= maxH) {
+                floatlayer.css({
+                    position: 'absolute',
+                    marginTop: 0,
+                    top: $('.hot-week').outerHeight() - floatlayer.outerHeight()
+                });
+            } else {
+                floatlayer.css({
+                    marginTop: -floatlayer.height() / 2
+                }).stop().animate({
+                    opacity: 1
+                }, 200, function() {
+                    floatlayer.show();
+                });
+            }
+
+        } else {
+            floatlayer.stop().animate({
+                opacity: 0
+            }, 200, function() {
+                floatlayer.hide();
+            });
+        }
+
+        if (floatlayer.offset().top >= $(this).scrollTop() + ($(window).height() - floatlayer.outerHeight()) / 2) {
+            floatlayer.css({
+                position: 'fixed',
+                marginTop: -floatlayer.height() / 2,
+                top: '50%'
+            });
+        }
+
+        //下拉加载
+        if ($(this).scrollTop() >= weekOffsetTop + $('.hot-week').height() - $(window).height()) {
+            if (!weekEnd) {
+                sid = $('.hot-cate').find('li.current').data('sid');
+                page++;
+                weekEnd = true; //防止多次请求
+                weekAjax(sid, page);
+            }
+        }
+
+    });
+
+    //热卖横导航及竖导航的超出显示控制
+    $('.hot-cate').find('li').each(function(i) {
+        var maxW = $('.hot-cate').width();
+
+        if (hotCateW <= maxW) {
+            hotCateW = hotCateW + $(this).width();
+            if (hotCateW >= maxW) {
+                $('.floatlayer').find('li').eq(i).hide().nextAll().hide();
+            }
+        }
+
+    });
+
+    //热卖横导航点击事件处理
+    $('.hot-cate').on('click', 'li', function() {
+        var nowIndex = $(this).index(),
+            sid = $(this).data('sid');
+
+        if ($(this).hasClass('current')) {
+            return;
+        }
+
+        //处理current样式
+        $(this).addClass('current').siblings().removeClass('current');
+        $('.floatlayer').find('li').removeClass('current').eq(nowIndex).addClass('current');
+
+        //返回热卖顶部,110为floor-header所占高度
+        $('body,html').stop().animate({
+            scrollTop: weekOffsetTop - 110
+        }, 500);
+
+        //调用ajax请求函数,重置page,weekEnd
+        weekAjax(sid);
+        page = 1;
+    });
+
+    //热卖右侧悬浮导航点击事件处理
+    $('.floatlayer').on('click', 'li', function() {
+        var nowIndex = $(this).index();
+
+        if ($(this).hasClass('current')) {
+            return;
+        }
+
+        $('.hot-cate').find('li').eq(nowIndex).trigger('click');
+
+        //处理current样式
+        $(this).addClass('current').siblings().removeClass('current');
+        $('.hot-cate').find('li').removeClass('current').eq(nowIndex).addClass('current');
+    });
+
+    /*
+     * 热卖内容ajax请求
+     * param: sid(ajax请求的id), page(ajax请求的页码)
+     */
+    function weekAjax(sid, page) {
+        var param = {};
+
+        if (page) {
+            param = {
+                sid: sid,
+                page: page
+            };
+        } else {
+            param = {
+                sid: sid
+            };
+        }
+        $.ajax({
+            type: 'GET',
+            dataType: 'json',
+            url: '/product/index/getdata',
+            data: param,
+            success: function(res) {
+                var data;
+
+                if (res.code === 200) {
+                    data = {
+                        list: res.data
+                    };
+
+                    //mustache渲染数据,并替换原内容
+                    template = Handlebars.compile(source);
+                    if (page) {
+                        $('.hot-week-list').append(template(data));
+                        floatlayer.css({
+                            position: 'fixed',
+                            marginTop: -floatlayer.height() / 2,
+                            top: '50%'
+                        });
+                    } else {
+                        $('.hot-week-list').html(template(data));
+                    }
+
+                    lazyLoad($('img.lazy'));
+                    weekEnd = false;
+                }
+            }
+        });
+    }
+
+    //热卖中导航current类处理
+    $('.hot-cate').find('li').eq(0).addClass('current');
+    $('.floatlayer').find('li').eq(0).addClass('current');
+})($);
+
+});
+define("js/common/slider", ["jquery","lazyload"], function(require, exports, module){
+/**
+ * 首页banner轮播
+ * @author: liuyue(yue.liu@yoho.cn)
+ * @date: 2015/12/04
+ */
+
+var $ = require("jquery"),
+    lazyLoad = require("lazyload");
+
+(function($) {
+    var Slider = function(element, options) {
+        this.$element = $(element);
+        this.options = $.extend({}, $.fn.slider.defaults, options);
+        this.bigItem = this.$element.find('.slide-wrapper').find('li');
+        this.smallItem = null;
+        this.len = this.bigItem.size();
+        this.index = 0;
+        this.timer = null;
+        this.init();
+    };
+
+    Slider.prototype = {
+        init: function() {
+            if (!this.$element) {
+                return;
+            }
+
+            if (this.len <= 1) {
+                lazyLoad(this.$element.find('img.lazy'));
+                return;
+            }
+            if (!!this.options.pagination) {
+                this.smallItem = $(this.options.pagination).find('li');
+            } else {
+                this._createPage();
+            }
+
+            if (this.options.orient) {
+                this._createOrient();
+            }
+            this._slideShow();
+            this._bindEvent();
+            this._autoplay();
+        },
+        _createOrient: function() {
+
+            var orientHtml = '<div class="slide-switch">' +
+                    '<a class="prev" href="javascript:;"><span class="iconfont">&#xe60c;</span></a>' +
+                    '<a class="next" href="javascript:;"><span class="iconfont">&#xe60b;</span></a>' +
+                '</div>';
+
+            if (this.$element.find('.slide-switch').length > 0) {
+                return;
+            }
+
+            this.$element.append(orientHtml);
+        },
+        _createPage: function() {
+            var pageHtml = '<div class="slide-pagination"><div class="slide-pagination-inner">' +
+                            '<div class="slide-shade"></div><div class="slide-pagination-last">',
+                i = 0;
+
+            if (this.len <= 1) {
+                return;
+            }
+            for (i = 0; i < this.len; i++) {
+                pageHtml += '<span></span>';
+            }
+            pageHtml += '</div></div></div>';
+            this.$element.append($(pageHtml));
+            this.smallItem = this.$element.find('.slide-pagination-inner span');
+        },
+        _bindEvent: function() {
+            var that = this;
+
+            this.$element.find('.slide-switch').on('click', '.next', function() {
+                that._nextSlide();
+                clearInterval(that.timer);
+                that.timer = setInterval(function() {
+                    that._nextSlide();
+                }, that.options.time);
+            }).on('click', '.prev', function() {
+                that._prevSlide();
+                clearInterval(that.timer);
+                that.timer = setInterval(function() {
+                    that._nextSlide();
+                }, that.options.time);
+            });
+
+            this.smallItem.on('mouseenter', function() {
+                that.index = $(this).index();
+                clearInterval(that.timer);
+                that._slideShow();
+            }).on('mouseleave', function() {
+                that._autoplay();
+            });
+
+            this.$element.on('mouseenter', function() {
+                $(this).find('.slide-switch').addClass('show');
+            }).on('mouseleave', function() {
+                $(this).find('.slide-switch').removeClass('show');
+            });
+        },
+        _nextSlide: function() {
+            if (this.index === this.len - 1) {
+                this.index = 0;
+            } else {
+                this.index++;
+            }
+            this._slideShow();
+        },
+        _prevSlide: function() {
+            if (this.index === 0) {
+                this.index = this.len - 1;
+            } else {
+                this.index--;
+            }
+            this._slideShow();
+        },
+        _slideShow: function() {
+            var $img = this.bigItem.eq(this.index).find('img.lazy');
+
+            //未加载图片的及时显示
+            if ($img.attr('src') !== $img.data('original')) {
+                lazyLoad($img, {
+                    event: 'sporty'
+                });
+                $img.trigger('sporty');
+            }
+
+            this.smallItem.eq(this.index).addClass('focus').siblings().removeClass('focus');
+            this.bigItem.eq(this.index).show().stop().animate({
+                opacity: 1
+            }, function() {
+
+                //修正IE下切换时文字会重叠的问题
+                $(this).find('.slide-tips > p').removeClass('hide');
+            }).siblings().stop().animate({
+                opacity: 0
+            }, function() {
+                $(this).hide().find('.slide-tips > p').addClass('hide');
+            });
+        },
+        _autoplay: function() {
+            var that = this;
+
+            clearInterval(this.timer);
+            this.timer = setInterval(function() {
+                that._nextSlide();
+            }, this.options.time);
+        }
+    };
+    $.fn.slider = function(option) {
+        return this.each(function() {
+            var $this = $(this),
+                data = $this.data('Slider'),
+                options = typeof option === 'object' && option;
+
+            if (!data) {
+                $this.data('Slider', (data = new Slider(this, options)));
+            }
+            if (typeof option === 'string') {
+                data[option]();
+            }
+        });
+    };
+    $.fn.slider.Constructor = Slider;
+    $.fn.slider.defaults = {
+        time: 5000,
+        orient: true, //左右切换箭头的显示
+        pagination: null
+    };
+})($);
+});
+define("js/common/logo-brand", ["jquery","handlebars","source-map","lazyload"], function(require, exports, module){
+/**
+ * 首页优选品牌js
+ * @author: liuyue(yue.liu@yoho.cn)
+ * @date: 2015/12/08
+ */
+
+var $ = require("jquery"),
+    Handlebars = require("handlebars"),
+    lazyLoad = require("lazyload");
+
+(function($) {
+    var LogoBrand = function(element, options) {
+        this.$element = $(element);
+        this.options = $.extend({}, $.fn.logoBrand.defaults, options);
+
+        this.init();
+    };
+
+    LogoBrand.prototype = {
+        init: function() {
+            this.$element.addClass('logos-' + this.options.showNum);
+            this._sendRequest();
+        },
+        _createHelper: function() {
+            var showNum = this.options.showNum;
+
+            Handlebars.registerHelper('brandList', function(items, options) {
+                var out = '<ul>',
+                    i = 0,
+                    item = null,
+                    fillNum = 0;
+
+                //不是每页显示个数的倍数,填充数据
+                if (items.length % showNum !== 0) {
+                    fillNum = showNum - (items.length % showNum);
+                    for (i = 0; i < fillNum; i++) {
+                        items.push({
+                            href: 'javascript:;',
+                            img: ''
+                        });
+                    }
+                }
+
+                for (i = 0; i < items.length; i++) {
+                    item = options.fn(items[i]);
+
+                    if (i % showNum === 5 || i === 5) {
+
+                        //插入切换按钮的位置
+                        out = out + '<li class="logo-brand-switch" data-page="' + Math.floor(i / showNum) + '">' +
+                                    '<a class="prev iconfont" href="javascript:;">&#xe60f;</a>' +
+                                    '<a class="next iconfont" href="javascript:;">&#xe60e;</a></li>' +
+                                    '<li data-page="' + Math.floor(i / showNum) + '">' + item + '</li>';
+                    } else if (i !== 0 && i % showNum === 0) {
+
+                        //插入more的位置,more占的是下一页第一个brand的位置,所以page是i/17
+                        out = out + '<li class="brand-more" data-page="' + Math.floor(i / (showNum + 1)) + '">' +
+                                    '<a href="javascript:;" target="_blank">MORE ></a></li>' +
+                                    '<li data-page="' + Math.floor(i / showNum) + '">' + item + '</li>';
+                    } else {
+                        out = out + '<li data-page="' + Math.floor(i / showNum) + '">' + item + '</li>';
+                    }
+                }
+
+                //加上最后一个more, more占的是下一页第一个brand的位置,这里已经循环不到brand,所以加在末尾
+                return out + '<li class="brand-more" data-page="' + Math.floor(i / (showNum + 1)) + '">' +
+                            '<a href="javascript:;" target="_blank">MORE ></a></li></ul>';
+
+            });
+        },
+        _sendRequest: function() {
+            var that = this;
+
+            $.ajax({
+                type: 'GET',
+                url: that.options.url,
+                dataType: 'json',
+                success: function(data) {
+                    var brandTpl,
+                        brandHtml;
+
+                    if (!data || data.length === 0) {
+                        return;
+                    }
+
+                    that._createHelper();
+                    brandHtml = '\{{#brandList logoBrand}}' +
+                        '<a href="\{{href}}" target="_blank"><img class="lazy" data-original="\{{img}}" alt=""></a>' +
+                        '\{{/brandList}}';
+                    brandTpl = Handlebars.compile(brandHtml);
+                    that.$element.html(brandTpl(data));
+                    that.$element.find('.brand-more a').attr('href', data.moreBrand);
+                    lazyLoad(that.$element.find('img.lazy'));
+                    that._bindEvent();
+                }
+            });
+        },
+        _brandShow: function(hidePage, showPage) {
+            var that = this;
+
+            lazyLoad($('li[data-page=' + showPage + ']').find('img.lazy').trigger('appear'));
+            that.$element.find('li[data-page=' + hidePage + ']').find('img').fadeOut('normal', function() {
+                that.$element.find('li').hide();
+                that.$element.find('li[data-page=' + showPage + ']').show().find('img').fadeIn();
+            });
+        },
+        _bindEvent: function() {
+            var that = this;
+
+            that.$element.on('click', '.next', function() {
+                var page = $(this).parent().data('page'),
+                    nextPage = 0,
+                    totalPage = Math.ceil(that.$element.find('li').size() / (that.options.showNum + 2)) - 1;
+
+                if (page === totalPage) {
+                    nextPage = 0;
+                } else {
+                    nextPage = page + 1;
+                }
+                that._brandShow(page, nextPage);
+            });
+
+            that.$element.on('click', '.prev', function() {
+                var page = $(this).parent().data('page'),
+                    prevPage = 0,
+                    totalPage = Math.ceil(that.$element.find('li').size() / (that.options.showNum + 2)) - 1;
+
+                if (page === 0) {
+                    prevPage = totalPage;
+                } else {
+                    prevPage = page - 1;
+                }
+                that._brandShow(page, prevPage);
+            });
+        }
+    };
+    $.fn.logoBrand = function(option) {
+        return this.each(function() {
+            var $this = $(this),
+                data = $this.data('LogoBrand'),
+                options = typeof option === 'object' && option;
+
+            if (!data) {
+                $this.data('LogoBrand', (data = new LogoBrand(this, options)));
+            }
+            if (typeof option === 'string') {
+                data[option]();
+            }
+        });
+    };
+    $.fn.logoBrand.Constructor = LogoBrand;
+    $.fn.logoBrand.defaults = {
+        showNum: 16,
+        url: '/boys/getBrand'
+    };
+})($);
+});
+define("js/product/item", ["jquery","lazyload","handlebars","source-map","index"], function(require, exports, module){
+/**
+ * 商品详情页
+ * @author: xuqi<qi.xu@yoho.cn>
+ * @date: 2015/12/23
+ */
+
+var $ = require("jquery"),
+    lazyLoad = require("lazyload"),
+    Handlebars = require("handlebars"),
+    JSON2 = require("index");
+
+var $imgShow = $('#img-show'),
+    $thumbs = $('#thumbs > .thumb-wrap');
+
+var $size = $('#sizes'),
+    $sizes = $size.children('.size'),
+    $sizeWarn = $size.find('.size-warn'),
+    $colorSizeTip = $size.children('.color-size-tip');
+
+var $num = $('#num'),
+    $plusNum = $('#plus-num'),
+    $minusNum = $('#minus-num');
+
+var $addToCart = $('#add-to-cart'),
+    $soldOut = $('#sold-out');
+
+var $lcContainer = $('.lc-container'),
+    $itemBuy = $('.item-buy');
+
+var $descColor = $('#desc-color');
+
+var thumbsLoaded = {};
+
+var $main = $('.main'),
+    id = $main.data('id');
+
+var maxStock = -1; //记录当前选中的颜色-尺码的库存量,若为-1,代表未选择尺码
+
+var SLIDETIME = 200;
+
+var colTxt = {
+    def: '收藏商品',
+    coled: '已收藏',
+    hover: '取消收藏'
+};
+
+var Alert = require("js/common/dialog").Alert;
+
+require("js/product/latest-walk");
+
+require("js/common/share");
+
+function imgShow(src) {
+    $imgShow.attr('src', src);
+}
+
+/**
+ * 获取当前选择的商品数目
+ * @return [Number]
+ */
+function getNum() {
+    return +$num.text();
+}
+
+//重置Num显示为1
+function resetNum() {
+    $num.text('1');
+
+    //+-按钮状态重置
+    if (maxStock === 1 || maxStock === 0) {
+
+        //数目为1/0时
+        $plusNum.addClass('dis');
+        $minusNum.addClass('dis');
+    } else {
+        $plusNum.removeClass('dis');
+        $minusNum.addClass('dis');
+    }
+}
+
+//加入购物车和已售罄状态控制
+function switchBtnStatus($color) {
+    if ($itemBuy.length === 0) {
+
+        //全部售罄,按钮状态不变
+        return;
+    }
+
+    //选中的商品存量为0或者某个颜色的total为0
+    if (maxStock === 0 || ($color && ~~$color.data('total') === 0)) {
+        $itemBuy.addClass('hide'); //隐藏加入购物车、即将开始、立即购买等相同位置的按钮
+        $soldOut.removeClass('hide');
+    } else {
+
+        //包括默认的-1情况下
+        $itemBuy.removeClass('hide');
+        $soldOut.addClass('hide');
+    }
+}
+
+//size warn
+function showSizeWarn() {
+    $sizes.not('.hide').children('.size-warn').removeClass('hide');
+}
+
+//size title
+(function() {
+    var $sizeTitleJson = $('#size-title-json'),
+        jsonHtml = $sizeTitleJson.html(),
+        sizeTitle;
+
+    if (jsonHtml === '') {
+        return;
+    }
+
+    sizeTitle = JSON2.parse(jsonHtml);
+
+    //数据获取后删除
+    $sizeTitleJson.remove();
+
+    $sizes.children('li').each(function() {
+        var $this = $(this),
+            key = $this.data('name');
+
+        $this.data('title', sizeTitle[key]);
+    });
+}());
+
+//初始化thumbsLoaded
+thumbsLoaded[$('.colors .focus').index()] = true;
+
+//品牌收藏
+$('#brand-favour').click(function() {
+    var $this = $(this);
+
+    $.ajax({
+        type: 'POST',
+        url: '/product/index/favoriteBrand',
+        data: {
+            brandId: $this.data('id')
+        }
+    }).then(function(data) {
+        if (data.code === 200) {
+            $this.toggleClass('coled');
+        } else if (data.code === 403) {
+            location.href = data.data.url;
+        }
+    });
+});
+
+//颜色
+$('.colors').on('click', 'li', function() {
+    var $this = $(this),
+        index = $this.index();
+
+    var $imgs;
+
+    //初始化color-size显示或隐藏
+    $colorSizeTip.addClass('hide');
+
+    //隐藏尺码提示
+    $sizeWarn.addClass('hide');
+
+    maxStock = -1;
+
+    if ($this.hasClass('focus')) {
+
+        //已获取焦点的颜色再次点击,清除尺码的选中
+        $sizes.eq(index).children('li').removeClass('focus');
+    } else {
+
+        //未获取焦点,选择尺码
+        $this.siblings('.focus').removeClass('focus');
+        $this.addClass('focus');
+
+        //切换图片显示
+        $thumbs.not('.hide').addClass('hide');
+        $imgs = $thumbs.eq(index).removeClass('hide').find('img');
+
+        if (typeof thumbsLoaded[index] === 'undefined') {
+
+            //trigger layLoad
+            lazyLoad($imgs, {
+                event: 'sporty'
+            });
+
+            $imgs.trigger('sporty');
+
+            thumbsLoaded[index] = true;
+        }
+
+        imgShow($imgs.first().data('shower'));
+
+        //切换详细信息的颜色显示
+        $descColor.text($this.data('color'));
+
+        //切换尺码显示
+        $sizes.not('.hide').addClass('hide').children('li').removeClass('focus');
+        $sizes.eq(index).removeClass('hide');
+    }
+
+    resetNum();
+    switchBtnStatus($this);
+});
+
+//缩略图鼠标移入显示
+$('#thumbs').on('mouseenter', '.thumb', function() {
+    imgShow($(this).data('shower'));
+});
+
+//尺码
+$size.on('click', 'li', function() {
+    var $this = $(this);
+
+    if ($this.hasClass('focus')) {
+        return;
+    }
+
+    maxStock = +$this.data('num');
+
+    $this.siblings('.focus').removeClass('focus');
+    $this.addClass('focus');
+
+    $colorSizeTip.html($this.data('title')).removeClass('hide');
+
+    $sizeWarn.addClass('hide');
+
+    switchBtnStatus();
+
+    resetNum();
+}).on('click', '.size-ruler', function() {
+
+    //尺码帮助
+
+    $('body,html').animate({
+        scrollTop: $('.size-info').offset().top
+    }, 300);
+});
+
+//数量
+$plusNum.click(function() {
+    var num = getNum();
+
+    if ($(this).hasClass('dis')) {
+        return;
+    }
+
+    if (maxStock === -1) {
+        showSizeWarn();//显示选择尺码提示
+        return;
+    }
+
+    //已售罄
+    if (maxStock === 0) {
+        return;
+    }
+
+    if (num === maxStock - 1) {
+
+        //+按钮不可点
+        $(this).addClass('dis');
+    }
+
+    //数目为1时点+则移除-不可点状态
+    if (num === 1) {
+        $minusNum.removeClass('dis');
+    }
+
+    $num.text(num + 1 > maxStock ? maxStock : num + 1);
+}).on('selectstart', function() {
+    return false;
+});
+
+$minusNum.click(function() {
+    var num = getNum();
+
+    if ($(this).hasClass('dis')) {
+        return;
+    }
+
+    if (num === 2) {
+        $(this).addClass('dis');
+    }
+
+    if (num === maxStock) {
+
+        //恢复+可点
+        $plusNum.removeClass('dis');
+    }
+
+    $num.text(num - 1 < 0 ? 0 : num - 1);
+}).on('selectstart', function() {
+    return false;
+});
+
+//限购码
+$('.get-lc:not(.dis)').hover(function() {
+    $lcContainer.removeClass('hide');
+}, function() {
+    $lcContainer.addClass('hide');
+});
+
+//加入购物车
+$addToCart.click(function() {
+    if (maxStock === -1) {
+        showSizeWarn();
+        return;
+    }
+
+    $.ajax({
+        type: 'POST',
+        url: '/cart/index/add',
+        data: {
+            productSku: $('.size:not(.hide) li.focus').data('sku'),
+            buyNumber: getNum()
+        }
+    }).then(function(data) {
+        var code = data.code;
+
+        if (code === 200) {
+            $('#type-chose').slideUp(SLIDETIME);
+            $('#balance').slideDown(SLIDETIME);
+
+            $('#cart-num').text(data.data.goods_count); //更新数目
+        }
+    });
+});
+
+//收藏
+$('#collect-product').click(function() {
+    var $this = $(this),
+        cancel;
+
+    if ($this.hasClass('coled')) {
+        cancel = true;
+    }
+
+    $.ajax({
+        type: 'POST',
+        url: '/product/item/togglecollect',
+        data: {
+            productId: id,
+            type: cancel ? 'cancel' : 'add'
+        }
+    }).then(function(data) {
+        var code = data.code;
+
+        if (code === 200) {
+
+            $this.toggleClass('coled');
+
+            if (cancel) {
+                $this.find('em').text(colTxt.def);
+            } else {
+                $this.find('em').text(colTxt.coled);
+            }
+        } else if (code === 403) {
+            location.href = data.data.url;
+        }
+    });
+}).hover(function() {
+    var $this = $(this);
+
+    if ($this.hasClass('coled')) {
+        $this.find('em').text(colTxt.hover);
+    }
+}, function() {
+    var $this = $(this);
+
+    if ($this.hasClass('coled')) {
+        $this.find('em').text(colTxt.coled);
+    }
+});
+
+//继续购物
+$('#keep-shopping').click(function() {
+    $('#type-chose').slideDown(SLIDETIME);
+    $('#balance').slideUp(SLIDETIME);
+});
+
+//立即购买
+$('#buy-now').click(function() {
+    var sku,
+        base,
+        myAlert;
+
+    if (maxStock === -1) {
+        showSizeWarn();
+        return;
+    }
+
+    if ($(this).hasClass('dis')) {
+        return;
+    }
+
+    base = $(this).data('base');
+
+    //潮流尖货
+    if (!base) {
+        myAlert = new Alert('打开APP可抢购该商品哦~~');
+        myAlert.show();
+        return;
+    }
+
+    sku = $sizes.find('.focus').data('sku');
+
+    if (sku && base) {
+        location.href = base + '?product_sku=' + sku;
+    }
+});
+
+//按钮鼠标移入效果【dis状态的按钮状态不变】
+$('.buy-btn').mouseover(function() {
+    if ($(this).hasClass('dis')) {
+        return;
+    }
+
+    $(this).addClass('hover');
+}).mouseleave(function() {
+    $(this).removeClass('hover');
+});
+
+//商品详情/材质洗涤切换
+$('.description-material').on('click', '.title', function() {
+    var $this = $(this),
+        index = $this.index();
+
+    var $description = $('.description-content'),
+        $material = $('.material-content');
+
+    if ($this.hasClass('cur')) {
+        return;
+    }
+
+    $this.addClass('cur');
+    $this.siblings('.cur').removeClass('cur');
+
+    if (index === 0) {
+
+        //商品信息
+        $description.slideDown(SLIDETIME);
+        $material.slideUp(SLIDETIME);
+    } else {
+        $description.slideUp(SLIDETIME);
+        $material.slideDown(SLIDETIME);
+    }
+});
+
+//售后服务
+$('.after-service-switch').click(function() {
+    var $this = $(this),
+        $content = $this.next('.after-service-content');
+
+    var html = {
+        def: '&#xe604;',
+        spread: '&#xe603;'
+    };
+
+    if ($content.css('display') === 'none') {
+        $content.slideDown(SLIDETIME);
+
+        $this.find('.triangle').html(html.spread);
+    } else {
+        $content.slideUp(SLIDETIME);
+
+        $this.find('.triangle').html(html.def);
+    }
+});
+
+
+//商品详情区的热点
+$.ajax({
+    type: 'GET',
+    url: '/product/item/hotarea',
+    data: {
+        productId: id
+    }
+}).then(function(html) {
+    $('#details-html').prepend(html);
+
+    //修正热区尺寸使居中
+    $('.hot-point-wrap > img').load(function() {
+        $(this).parent('.hot-point-wrap').width($(this).width());
+    });
+
+    //Bind Hover event
+    $('.hot-point').hover(function() {
+        $(this).addClass('hover');
+    }, function() {
+        $(this).removeClass('hover');
+    });
+});
+
+//商品详情懒加载
+lazyLoad($('#details-html img'));
+
+//只有一个尺码(多个或一个颜色)时默认选中第一个未售罄的颜色的第一个尺码
+(function() {
+    var hasOnlyOneSize = true,
+        i;
+
+    for (i = 0; i < $sizes.length; i++) {
+        if ($sizes.eq(i).find('li').length !== 1) {
+            hasOnlyOneSize = false;
+            break;
+        }
+    }
+
+    if (hasOnlyOneSize) {
+        $sizes.eq($('.colors .focus').index()).find('li').click();
+    }
+}());
+
+//咨询和评价
+(function() {
+    var commentPage = 1,
+        consultPage = 1;
+
+    var commentsTpl = Handlebars.compile($('#comments-tpl').html()),
+        consultsTpl = Handlebars.compile($('#consults-tpl').html());
+
+    var $commentsUl = $('#comments-ul'),
+        $consultsUl = $('#consults-ul');
+
+    var $commentNum = $('.comment-num'),
+        $consultNum = $('.consult-num');
+
+    var loadingComments,
+        loadingConsults;
+
+    //购买评价
+    function loadComments() {
+        if (loadingComments) {
+            return;
+        }
+
+        loadingComments = true;
+        $.ajax({
+            type: 'GET',
+            url: '/product/item/comments',
+            data: {
+                productId: id,
+                page: commentPage
+            }
+        }).then(function(data) {
+            var res;
+
+            if (data.code === 200) {
+                res = data.data;
+
+                if (res.length === 0) {
+                    $commentsUl.next('.more-wrap').addClass('hide');
+                    return;
+                }
+
+                //更新总数显示
+                $commentNum.text(res[0].total);
+
+                $commentsUl.append(commentsTpl({
+                    comments: res
+                }));
+                commentPage++;
+            }
+        }).always(function() {
+            loadingComments = false;
+        });
+    }
+
+    //顾客咨询
+    function loadConsults() {
+        if (loadingConsults) {
+            return;
+        }
+
+        loadingConsults = true;
+
+        $.ajax({
+            type: 'GET',
+            url: '/product/item/consults',
+            data: {
+                productId: id,
+                page: consultPage
+            }
+        }).then(function(data) {
+            var res;
+
+            if (data.code === 200) {
+                res = data.data;
+
+                if (res.length === 0) {
+                    $consultsUl.next('.more-wrap').addClass('hide');
+                    return;
+                }
+
+                //更新总数显示
+                $consultNum.text(res[0].total);
+
+                $consultsUl.append(consultsTpl({
+                    consults: res
+                }));
+                consultPage++;
+            }
+        }).always(function() {
+            loadingConsults = false;
+        });
+    }
+
+    //评价和咨询切换
+    $('.consult-comment').on('click', '.title', function() {
+        var $this = $(this),
+            index = $this.index();
+
+        var $comments = $('.comments'),
+            $consults = $('.consults');
+
+        if ($this.hasClass('cur')) {
+            return;
+        }
+
+        $this.addClass('cur');
+        $this.siblings('.cur').removeClass('cur');
+
+        if (index === 0) {
+
+            //咨询
+            $consults.slideDown(SLIDETIME);
+            $comments.slideUp(SLIDETIME);
+        } else {
+            $consults.slideUp(SLIDETIME);
+            $comments.slideDown(SLIDETIME);
+        }
+    }).on('click', '.load-more', function() {
+        var $this = $(this);
+
+        if ($this.hasClass('load-more-comments')) {
+            loadComments();
+        } else {
+            loadConsults();
+        }
+    });
+
+    //我要咨询
+    $('#consults-btn').click(function() {
+
+        //TODO:点击我要资讯的时候更新验证码显示
+        $('.new-consult').removeClass('hide');
+        $('.consult-success').addClass('hide');
+    });
+
+    //提交咨询
+    $('#submit-consult').click(function() {
+        var $this = $(this),
+            $parent = $this.closest('.new-consult'),
+            $textarea = $parent.find('.my-consult'),
+            content = $.trim($textarea.val());
+
+        var $consultWarn = $parent.find('.consult-warn');
+
+        var pass = true;
+
+        if (content === '') {
+            $textarea.addClass('error');
+            $consultWarn.removeClass('hide');
+
+            pass = false;
+        } else {
+            $textarea.removeClass('error');
+            $consultWarn.addClass('hide');
+        }
+
+        if (pass === false) {
+            return;
+        }
+
+        $.ajax({
+            type: 'POST',
+            url: '/product/item/addconsult',
+            data: {
+                productId: id,
+                content: content
+            }
+        }).then(function(data) {
+            var code = data.code;
+
+            if (code === 200) {
+                $parent.addClass('hide');
+
+                $parent.siblings('.consult-success').removeClass('hide');
+
+                //清空输入
+                $textarea.val('');
+            } else if (code === 403) {
+
+                //跳转登录页
+                location.href = data.data.url;
+            }
+        });
+    });
+
+    loadComments();
+    loadConsults();
+}());
+});
+define("js/common/dialog", ["jquery","handlebars","source-map"], function(require, exports, module){
+/**
+ * 弹框公共组件
+ * @author: xuqi<qi.xu@yoho.cn>
+ * @date: 2016/2/24
+ */
+
+var $ = require("jquery"),
+    Handlebars = require("handlebars");
+
+var defaultOptions = {
+    mask: true,
+    closeIcon: true,
+    refreshOnClose: false
+};
+
+var tpl =
+    '<div class="yoho-dialog {{className}} hide">' +
+        '{{#if closeIcon}}' +
+            '<span class="close">' +
+                '<i class="iconfont">&#xe602;</i>' +
+            '</span>' +
+        '{{/if}}' +
+        '<div class="content">' +
+            '{{{content}}}' +
+        '</div>' +
+        '<div class="btns">' +
+            '{{# btns}}' +
+                '<span {{#if id}}id="dialog-{{id}}"{{/if}} class="btn{{#each btnClass}} {{.}}{{/each}}">' +
+                    '{{name}}' +
+                '</span>' +
+            '{{/ btns}}' +
+        '</div>' +
+    '</div>';
+
+var tplFn = Handlebars.compile(tpl);
+
+//背景蒙版
+function createMask() {
+    if ($('.body-mask').length === 0) {
+        $('body').append('<div class="body-mask hide"></div>');
+    }
+
+    return $('.body-mask').css({
+        height: $(document).height(),
+        width: $(document).width()
+    });
+}
+
+function createDialog(data) {
+    $('body').append(tplFn(data));
+
+    return $('.yoho-dialog');
+}
+
+function cerateSubContent(text) {
+    var $yohoDialog = $('.yoho-dialog'),
+        subContent = '<p class="sub-content">' + text + '</p>';
+
+    if ($yohoDialog && $yohoDialog.length > 0) {
+        $yohoDialog.find('.content').after(subContent);
+    }
+}
+
+function Dialog(options) {
+    var opt = $.extend({}, defaultOptions, options);
+    var that = this,
+        i;
+
+    //实现继承时,只返回实例,不生成html
+    if (opt.inherit) {
+        return this;
+    }
+
+    if (opt.mask) {
+        that.$mask = createMask();
+    }
+
+    that.$el = createDialog(opt);
+
+
+    if (opt.subContent) {
+        cerateSubContent(opt.subContent);
+    }
+
+    if (opt.subContents) {
+        for (i = opt.subContents.length - 1; i >= 0; i--) {
+            cerateSubContent(opt.subContents[i]);
+        }
+    }
+
+    //绑定x关闭事件
+    that.$el.find('.close').click(function() {
+        that.close();
+        if (options.refreshOnClose) {
+            window.location.reload();
+        }
+    });
+
+    //绑定btn关闭事件
+    that.$el.find('.btn-close').click(function() {
+        that.close();
+    });
+
+    function bindBtnEvt(index) {
+        that.$el.find('#dialog-' + opt.btns[index].id).on('click', function() {
+            opt.btns[index].cb && opt.btns[index].cb();
+        });
+    }
+
+    //绑定按钮事件
+    if (!!opt.btns) {
+        for (i = 0; i < opt.btns.length; i++) {
+            bindBtnEvt(i);
+        }
+    }
+}
+
+Dialog.prototype.close = function() {
+    this.$mask && this.$mask.addClass('hide');
+    this.$el.remove();
+};
+
+Dialog.prototype.show = function() {
+    this.$mask && this.$mask.removeClass('hide');
+    this.$el.removeClass('hide').css({
+        'margin-top': -this.$el.height() / 2,
+        'margin-left': -this.$el.width() / 2
+    });
+};
+
+exports.Dialog = Dialog;
+
+//Alert
+function Alert(content) {
+    var that = this;
+    var option = {
+        content: content,
+        className: 'alert-dialog',
+        btns: [
+            {
+                id: 'alert-sure',
+                btnClass: ['alert-sure'],
+                name: '确定',
+                cb: function() {
+                    that.close();
+                }
+            }
+        ]
+    };
+
+    Dialog.call(this, option);
+}
+
+Alert.prototype = new Dialog({
+    inherit: true
+});
+Alert.prototype.constructor = Alert;
+exports.Alert = Alert;
+
+//Confirm
+function Confirm(opt) {
+    var that = this;
+
+    var option = {
+        content: opt.content,
+        className: 'confirm-dialog',
+        btns: [
+            {
+                id: 'confirm-sure',
+                btnClass: ['confirm-sure'],
+                name: '确定',
+                cb: opt.cb
+            },
+            {
+                id: 'confirm-cancel',
+                btnClass: ['confirm-cancel'],
+                name: '取消',
+                cb: function() {
+                    that.close();
+                }
+            }
+        ]
+    };
+
+    Dialog.call(this, option);
+}
+
+Confirm.prototype = new Dialog({
+    inherit: true
+});
+Confirm.prototype.constructor = Confirm;
+exports.Confirm = Confirm;
+
+});
+define("js/common/share", ["jquery"], function(require, exports, module){
+/**
+ * 分享
+ * @author: xuqi<qi.xu@yoho.cn>
+ * @date: 2016/3/1
+ */
+
+var $ = require("jquery");
+
+function shareBase(options) {
+    var openUrl = '';
+    var defOption = {
+        title: '',
+        url: window.location.href,
+        weixinUrl: '',
+        image: '',
+        desc: '',
+        channel: ''
+    };
+    var shareChannels = ['weibo', 'tweibo', 'qzone', 'renren', 'qq', 'douban','weixin'];
+    var sharebox;
+    var shareCon = '<em><i></i></em>';
+
+    defOption = $.extend(defOption, options);
+
+    if (defOption.image && defOption.image.substr(0, 2) === '//') {
+        defOption.image = 'http:' + defOption.image;
+    }
+
+    if (defOption.weixinUrl && defOption.weixinUrl.substr(0, 2) === '//') {
+        defOption.weixinUrl = 'http:' + defOption.weixinUrl;
+    }
+
+    if (defOption.url && defOption.url.substr(0, 2) === '//') {
+        defOption.url = 'http:' + defOption.url;
+    }
+
+    if ($.inArray(defOption.channel, shareChannels) === -1) {
+        alert('不存在的分享平台!');
+        return false;
+    }
+
+    switch (defOption.channel) {
+        case 'weibo':
+            openUrl = 'http://service.weibo.com/share/share.php?url=' + defOption.url + '&title=' +
+                defOption.title + '&appkey=3739328910&searchPic=true&pic=' + defOption.image;
+            break;
+        case 'tweibo':
+            openUrl = 'http://share.v.t.qq.com/index.php?c=share&a=index&url=' + defOption.url + '&title=' +
+                defOption.title + '&appkey=c0af9c29e0900813028c2ccb42021792&pic=' + defOption.image;
+            break;
+        case 'qzone':
+            openUrl = 'http://sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_onekey?url=' + defOption.url + '&title=' +
+                defOption.title + '&desc=&summary=' + defOption.desc + '&site=YOHO!BUY 有货&pics=' + defOption.image;
+            break;
+        case 'renren':
+            openUrl = 'http://widget.renren.com/dialog/share?resourceUrl=' + defOption.url + '&srcUrl=' +
+                defOption.url + '&desc=' + defOption.desc + '&title=' + defOption.title + '&description=' +
+                defOption.desc + '&pic=' + defOption.image;
+            break;
+        case 'qq':
+            openUrl = 'http://connect.qq.com/widget/shareqq/index.html?url=' + defOption.url + '&desc=' +
+                defOption.desc + '&title=' + defOption.title.replace('%', '') + '&desc=&summary=' +
+                defOption.desc + '&site=YOHO!BUY 有货&pics=' + defOption.image;
+            break;
+        case 'weixin':
+            openUrl = 'http://s.jiathis.com/qrcode.php?url=' + defOption.weixinUrl + '&desc=' +
+                defOption.desc + '&title=' + defOption.title + '&description=' +
+                defOption.desc + '&pic=' + defOption.image;
+            break;
+        case 'douban':
+            openUrl = '//www.douban.com/share/service?href=' + defOption.url + '&text=' +
+                defOption.desc + '&image=' + defOption.image + '&title=' + defOption.title + '&comment=';
+            break;
+    }
+
+    if (defOption.channel === 'weixin') {
+        if (!defOption.self) {
+            return;
+        }
+
+        sharebox = defOption.self.closest('.share-to').find('.weixin-share-box');
+
+        if (sharebox.length > 0) {
+            shareCon += '<div class="con"><h2>分享到微信朋友圈</h2><p class="pic">' +
+            '<img src="' + openUrl + '" /></p><p class="w">打开微信,点击底部得“发现”,使用<br/>“扫一扫“即可将网页分享到我的朋友圈。</p>' +
+            '<a href="javascript:void(0)" class="close">x</a></div>';
+            sharebox.find('div').length > 0 ? sharebox.show() : sharebox.html(shareCon).show();
+
+            sharebox.find('.close').click(function() {
+                $(this).closest('.weixin-share-box').hide();
+            });
+        }
+    } else {
+        window.open(encodeURI(openUrl));
+    }
+}
+
+function share(channel, self) {
+    var title = document.title.replace(/(^\s*)|(\s*$)/g, '');
+    var desc = $('#share-desc').val();
+    var image = $('#share-img').val();
+    var weixinUrl = $('#weixin-url').val();
+
+
+    if (channel === 'weibo' || channel === 'tqq') {
+        shareBase({
+            channel: channel,
+            title: title,
+            image: image
+        });
+    } else {
+        shareBase({
+            channel: channel,
+            title: title,
+            desc: desc,
+            image: image,
+            self: self,
+            weixinUrl: weixinUrl
+        });
+    }
+}
+
+$('.share-wrapper').on('click', 'i', function() {
+    var $el = $(this),
+        type = $el.data('type'),
+        $weixinShareBox = $('.weixin-share-box');
+
+    if (type === 'weixin') {
+        share(type, $el);
+    } else {
+        $weixinShareBox.hide();
+        share(type);
+    }
+});
+
+});
+define("js/product/shop-index", ["jquery","lazyload","handlebars","source-map","jquery-pjax"], function(require, exports, module){
+/**
+ * 首页
+ * @author: bikai<kai.bi@yoho.cn>
+ * @date: 2016/4/26
+ */
+
+var $ = require("jquery"),
+    lazyLoad = require("lazyload"),
+    product = require("js/product/product");
+
+var $shopIntro = $('.shop-intro'),
+    $shopCollect = $('.shop-collect'),
+    $sliderLeft = $('.slider-left'),
+    $allGoods = $('.all-goods'),
+    $fixedArea = $allGoods.find('.fixed-area'),
+    fixedAreaTop = $fixedArea.offset() ? $fixedArea.offset().top : 0;
+
+// Pjax
+require("jquery-pjax");
+
+require("js/common/slider");
+require("js/product/list");
+
+product.init(4);
+
+lazyLoad($('img.lazy'));
+
+if ($sliderLeft.length) {
+    $sliderLeft.slider();
+}
+
+$shopIntro.on('click', function() {
+    $('.pop-shop-intro').show();
+    $('.mask').show();
+});
+
+$('.close-btn, .mask').on('click', function() {
+    $('.pop-shop-intro').hide();
+    $('.mask').hide();
+});
+
+
+// 收藏店铺
+function colloectAction() {
+    var $colloectIcon = $shopCollect.find('.shop-collect-ico'),
+        $colloectText = $shopCollect.find('.shop-collect-text'),
+        isFavorite = $colloectIcon.hasClass('on'),
+        needColloect = window.cookie('needColloect');
+
+    $.ajax({
+        type: 'post',
+        url: '/shoplist/setFavorite',
+        data: {
+            isFavorite: isFavorite ? 0 : 1,
+            needColloect: needColloect,
+            shopId: $shopCollect.data('id')
+        },
+        success: function(res) {
+            if (res.code === 200) {
+                if (isFavorite) {
+                    $colloectIcon.removeClass('on');
+                    $colloectText.html('收藏');
+                } else {
+                    $colloectIcon.addClass('on');
+                    $colloectText.html('已收藏');
+                }
+
+                if (needColloect) {
+                    $colloectIcon.addClass('on');
+                    $colloectText.html('已收藏');
+                }
+            } else if (res.code === 401) {
+                window.setCookie('needColloect', '1', {
+                    path: '/',
+                    domain: '.yohobuy.com',
+                    expires: 90
+                });
+                location.href = res.url;
+            }
+        }
+    });
+}
+
+$shopCollect.on('click', function() {
+    colloectAction();
+});
+
+if (window.cookie('needColloect') * 1 === 1 && window.getUid()) {
+    colloectAction();
+    window.setCookie('needColloect', '', {
+        path: '/',
+        domain: '.yohobuy.com',
+        expires: 1
+    });
+}
+
+// 全部商品使用 pjax 翻页
+$allGoods.pjax('a.pjax', '.goods-wrap', {
+    timeout: 5000,
+    scrollTo: false // 默认滚动没有动画,禁止掉
+}).on('pjax:end', function() {
+    product.init(4);
+    lazyLoad($('img.lazy'));
+
+    $fixedArea = $allGoods.find('.fixed-area'); // 翻页后 fixed-area 区域有变化,需要更新选择器
+
+    // 分页后移动到全部商品
+    $('html, body').animate({
+        scrollTop: $allGoods.offset().top - 30
+    });
+}).on('click', '.menu-list li', function() {
+    var $this = $(this);
+
+    $this.siblings().removeClass('on');
+    $this.addClass('on');
+});
+
+$(window).on('scroll', function() {
+    var scrollTop = $(this).scrollTop();
+
+    if (scrollTop > fixedAreaTop) {
+        $fixedArea.css({
+            position: 'fixed',
+            top: 0
+        });
+    } else {
+        $fixedArea.css({
+            position: 'static',
+            top: 0
+        });
+    }
+});
+
+});
+define("js/index/index", ["jquery","lazyload","handlebars","source-map"], function(require, exports, module){
+/**
+ * 首页
+ * @author: xuqi<qi.xu@yoho.cn>
+ * @date: 2015/11/23
+ */
+
+var $ = require("jquery"),
+    lazyLoad = require("lazyload"),
+    homePage = $('.home-page').data('page'),
+    brandUrl = $('.logo-brand').data('url');
+
+
+require("js/common/slider");
+require("js/common/slider2");
+require("js/common/logo-brand");
+
+require("js/common/accordion");
+
+$(document).on('mouseenter', '.imgopacity a img', function() {
+    $(this).css('opacity', 0.8);
+});
+$(document).on('mouseout', '.imgopacity a img', function() {
+    $(this).css('opacity', 1);
+});
+
+
+
+if ($.inArray(homePage, ['boys','girls','kids','lifestyle']) > -1) {
+    require("js/common/new-arrivls")({
+        type: homePage,
+        url: '/common/getNewArrival',
+        count: (homePage === 'boys') || (homePage === 'lifestyle') ? 5 : 4,
+        rows: [5,3]
+    });
+    window.setCookie('_Channel', homePage, {
+        domain: '.yohobuy.com',
+        path: '/',
+        expires: 365
+    });
+}
+
+
+
+lazyLoad($('img.lazy'));
+if (homePage === 'boys') {
+    $('.slide-container').slider({
+        pagination: '.thumb-pagination'
+    });
+} else {
+    $('.center-col').slider();
+    $('.slide-container').slider();
+}
+
+if (homePage === 'boys') {
+    $('.logo-brand').logoBrand({
+        url: brandUrl
+    });
+    $('.img-brand').slider2();
+} else {
+    $('.logo-brand').logoBrand({
+        showNum: 10,
+        url: brandUrl
+    });
+    $('.img-slider-wrapper').slider2();
+}
+
+
+
+});
+define("js/common/slider2", ["jquery"], function(require, exports, module){
+/**
+ * (品牌优选)图片幻灯片插件
+ * @author: wangqing(robin.wang@yoho.cn)
+ * @date: 205/7/2
+ */
+var $ = require("jquery");
+
+(function($) {
+    $.fn.slider2 = function(options) {
+        function autoplay(index, limit, toright) {
+            if (toright === true) {
+                $('.next').trigger('click');
+                if (index === (limit - 3)) {
+                    autoplayrecycle(--index, limit, false);
+                } else {
+                    autoplayrecycle(++index, limit, true);
+                }
+            } else {
+                $('.prev').trigger('click');
+                if (index === 0) {
+                    autoplayrecycle(++index, limit, true);
+                } else {
+                    autoplayrecycle(--index, limit, false);
+                }
+            }
+        }
+
+        function autoplayrecycle(index, limit, toright) {
+            window.setTimeout(autoplay, $.fn.slider2.defaults.delaytime, index, limit, toright);
+        }
+
+        function changePic(index, width, callback) {
+            var offersetleft = -(index * width);
+
+            $('.img-list')
+                .animate({
+                    'margin-left': offersetleft + 'px'
+                }, 'slow', callback);
+
+        }
+        $.fn.slider2.defaults = {
+            index: 0,
+            shownum: 3,
+            autoplay: false,
+            delaytime: 3000
+        };
+        return this.each(function() {
+            var opts = $.extend({}, $.fn.slider2.defaults, options);
+            var mr = parseInt($('.img-item').css('margin-right'));
+            var $banneritems = $('.img-item');
+            var bannerarr = [];
+            var _width = $banneritems.outerWidth() + mr,
+                _size = $banneritems.length,
+                j = 0;
+
+            if (_size <= 3) {
+                $(this).find('.img-brand-switch').hide();
+                return;
+            }
+            for (j = 0; j < $banneritems.length; j++) {
+                bannerarr.push($banneritems[j]);
+            }
+            _size = bannerarr.length;
+            $(this).find('.img-list').css({
+                width: (_width * _size)
+            });
+            $(this).find('.next').on('click', function(e) {
+                var i = 0,
+                    _obj = null;
+
+                e.preventDefault();
+
+                changePic(3, _width, function() {
+                    for (i = 0; i < 3; i++) {
+                        _obj = bannerarr.shift();
+
+                        $('.img-item').parent().append(_obj.outerHTML);
+                        bannerarr.push(_obj);
+                    }
+                    $('.img-item').first().remove();
+                    $('.img-item').first().remove();
+                    $('.img-item').first().remove();
+                    $('.img-list').css({
+                        'margin-left': '0'
+                    });
+                });
+            });
+            $(this).find('.prev').on('click', function(e) {
+                var i = 0,
+                    _obj = null,
+                    offersetleft = '';
+
+                e.preventDefault();
+                for (i = 0; i < 3; i++) {
+                    _obj = bannerarr.pop();
+
+                    $('.img-item').parent().prepend(_obj.outerHTML);
+                    bannerarr.unshift(_obj);
+                }
+                offersetleft = 3 * _width;
+                $('.img-item').last().remove();
+                $('.img-item').last().remove();
+                $('.img-item').last().remove();
+                $('.img-list').css({
+                    'margin-left': -offersetleft + 'px'
+                });
+                changePic(0, _width);
+            });
+            if (opts.autoplay === true) {
+                autoplayrecycle(opts.index, _size, true);
+            }
+        });
+
+    };
+
+}($));
+});
+define("js/common/accordion", ["jquery"], function(require, exports, module){
+var Slide = require("js/common/yohoui/YH.slide");
+var $ = require("jquery");
+
+var $contain = $('.slide-accordion');
+var $item = $contain.find('li');
+
+var $width = $item.width();
+var $spn = parseInt($('.home-page').width()) === 1150 ? (120 + 5) : (102 + 5);
+var slide;
+
+function switchfun(to) {
+    $item.each(function(index) {
+        $(this).css('zIndex', index);
+        if (index <= to) {
+            $(this).stop().animate({
+                left: index * $spn
+            }, 400);
+        } else {
+            $(this).stop().animate({
+                left: (to) * $spn + $width + $spn * (index - to - 1)
+            }, 400);
+        }
+    });
+}
+
+switchfun(0);
+
+slide = new Slide({
+    length: 5,
+    loop: false,
+    auto: false,
+    timeout: 2,
+    index: 0
+});
+
+slide.on('change', function(data) {
+    switchfun(data.to);
+});
+
+$item.mouseover(function() {
+    slide.go($(this).index());
+});
+
+slide.init();
+});
+define("js/common/yohoui/YH.slide", [], function(require, exports, module){
+var me = require("js/common/yohoui/YH.base");
+
+var slide = function(options) {
+    this.__lastTime = null;
+    this.__isStop = false;
+    options = me.extend(this.defaults, options);
+    slide.superclass.constructor.call(this, options);
+};
+
+me.inherit(slide, me.assembly);
+
+slide.prototype.oninit = function() {
+    var __self = this,
+        _o = __self.options;
+
+    if (_o.auto) {
+        __self.play();
+    }
+    __self.go(_o.index);
+    return this;
+};
+
+slide.prototype.go = function(_to, _from) {
+    var __self = this,
+        _o = __self.options;
+    var _direction,_loop,_current,_index,_originalto,o,key,_e;
+
+    if (__self.__lastTime) {
+        clearTimeout(__self.__lastTime);
+        __self.__lastTime = null;
+    }
+    _from = 'undefined' === typeof _from ? _o.index : _from;
+    _direction = _to === _from ? 0 : _to > _from ? 1 : -1;
+    _loop = _o.loop, _index = _o.length - 1, _originalto = _to;
+    if (_loop) {
+        if (_to > _index) {
+            _to = _to - _index - 1;
+        } else {
+            if (0 > _to) {
+                _to = _to + _index + 1;
+            } else {
+                _to = _to;
+            }
+        }
+    } else {
+        if (_to > _index) {
+            _to = _index;
+        } else {
+            if (0 > _to) {
+                _to = 0;
+            } else {
+                _to = _to;
+            }
+        }
+    }
+    _current = _o.index = _to;
+
+    o = {
+        from: _from,
+        to: _to,
+        originalto: _originalto,
+        direction: _direction
+    };
+
+    for (key in __self.registerEvent) {
+        if (__self.registerEvent[key].length > 0) {
+            for (_e in __self.registerEvent[key]) {
+                if (__self.registerEvent[key].hasOwnProperty(_e)) {
+                    __self.registerEvent[key][_e](o);
+                }
+            }
+        }
+    }
+
+    if (_current !== _index || _to) {
+        if (!__self.__isStop && _o.auto) {
+            __self.play();
+        }
+    } else {
+        if (__self.__lastTime) {
+            clearTimeout(__self.__lastTime);
+        }
+    }
+};
+
+slide.prototype.play = function() {
+    var __self = this,
+        _o = __self.options;
+
+    __self.__lastTime = setTimeout(function() {
+        __self.next();
+    }, 1000 * _o.timeout);
+    return this;
+};
+
+slide.prototype.next = function() {
+    var __self = this,
+    _o = __self.options;
+    var _from = _o.index;
+    var _to = _from + _o.step;
+
+    __self.go(_to, _from);
+};
+
+slide.prototype.prev = function() {
+    var __self = this,
+        _o = __self.options;
+    var _from = _o.index;
+    var _to = _from - _o.step;
+
+    __self.go(_to, _from);
+};
+
+slide.prototype.pause = function() {
+    var __self = this;
+
+    if (__self.__lastTime) {
+        clearTimeout(__self.__lastTime);
+    }
+    __self.__isStop = true;
+};
+
+slide.prototype.resume = function() {
+    var __self = this;
+
+    __self.__isStop = false;
+    __self.play();
+};
+
+slide.prototype.defaults = {
+    index: 0,
+    timeout: 5,
+    step: 1,
+    per: 1,
+    auto: false,
+    loop: false
+};
+
+module.exports = slide;
+});
+define("js/common/yohoui/YH.base", [], function(require, exports, module){
+var assembly;
+var classtype = {
+        '[object Array]': 'array',
+        '[object Boolean]': 'boolean',
+        '[object Date]': 'date',
+        '[object Function]': 'function',
+        '[object Number]': 'number',
+        '[object Object]': 'object',
+        '[object RegExp]': 'regexp',
+        '[object String]': 'string'
+    };
+var me = {
+    __Index: 0,
+    list: [],
+    get: function(id) {
+        return id === undefined ? this.list : this.list[id];
+    },
+    fn: function() { },
+    inherit: function(childClass, parentClass) {
+        var Constructor = me.fn;
+
+        Constructor.prototype = parentClass.prototype;
+        childClass.prototype = new Constructor();
+
+        childClass.prototype.constructor = childClass;
+        childClass.superclass = parentClass.prototype;
+
+        if (childClass.prototype.constructor === Object.prototype.constructor) {
+            childClass.prototype.constructor = parentClass;
+        }
+    },
+    extend: function(obj, newProperties) {
+        var key;
+
+        for (key in newProperties) {
+            if (newProperties.hasOwnProperty(key)) {
+                obj[key] = newProperties[key];
+            }
+        }
+        return obj;
+    },
+    copy: function(TargetClass, obj, newProperties) {
+        var value,o,key;
+
+        if (typeof obj !== 'object') {
+            return obj;
+        }
+        value = obj.valueOf();
+        if (obj !== value) {
+            return new obj.constructor(value);
+        }
+        if (obj instanceof obj.constructor && obj.constructor !== Object) {
+            if (TargetClass) {
+                o = new TargetClass();
+            } else {
+                o = me.clone(obj.constructor.prototype);
+            }
+
+            for (key in obj) {
+                if (TargetClass || obj.hasOwnProperty(key)) {
+                    o[key] = obj[key];
+                }
+            }
+        } else {
+            o = {};
+            for (key in obj) {
+                if (o.hasOwnProperty(key)) {
+                    o[key] = obj[key];
+                }
+            }
+        }
+        if (newProperties) {
+            for (key in newProperties) {
+                if (o.hasOwnProperty(key)) {
+                    o[key] = newProperties[key];
+                }
+            }
+        }
+
+        return o;
+    },
+    clone: function(obj) {
+        me.__cloneFunc.prototype = obj;
+        return new me.__cloneFunc();
+    },
+    __cloneFunc: function() {
+    },
+    delegate: function(func, scope) {
+        var args;
+
+        scope = scope || window;
+
+        if (arguments.length > 2) {
+            args = Array.prototype.slice.call(arguments, 2);
+
+            return function() {
+                return func.apply(scope, args);
+            };
+        } else {
+            return function() {
+                return func.call(scope);
+            };
+        }
+    },
+    dom: function($select, classCss) {
+        var wrap = $select;
+        var name, DOM = {
+            wrap: wrap
+        },
+            els = wrap[0].getElementsByTagName('*'),
+            elsLen = els.length;
+        var i;
+
+        for (i = 0; i < elsLen; i++) {
+            name = els[i].className;
+            if (name.indexOf(classCss) > -1) {
+                name = name.split(classCss)[1];
+            }
+            if (name) {
+                DOM[name] = wrap.find(els[i]);
+            }
+        }
+        return DOM;
+    },
+
+    //模板引擎
+    template: function() {
+        var result, key, reg,i;
+        var args = arguments;
+
+        if (args.length > 0) {
+            if (me.isString(args[0])) {
+                result = args[0];
+                if (args.length === 2 && me.isObject(args[1])) {
+                    for (key in args[1]) {
+                        if (args[1][key] !== undefined) {
+                            reg = new RegExp('({' + key + '})', 'g');
+
+                            result = result.replace(reg, args[1][key]);
+                        }
+                    }
+                } else {
+                    for (i = 1; i < args.length; i++) {
+                        if (args[i] !== undefined) {
+                            reg = new RegExp('({[' + (i - 1) + ']})', 'g');
+
+                            result = result.replace(reg, args[i]);
+                        }
+                    }
+                }
+            }
+        }
+        return result;
+    },
+    __type: function(obj) {
+        return obj == null ? String(obj) : classtype[Object.prototype.toString.call(obj)] || 'object';
+    },
+    isObject: function(obj) {
+        return this.isFunction(obj) || !!(obj && 'object' === typeof obj);
+    },
+    isFunction: function(obj) {
+        return this.__type(obj) === 'function';
+    },
+    isArray: Array.isArray || function(obj) {
+        return this.__type(obj) === 'array';
+    },
+    isNum: function(obj) {
+        return !isNaN(parseFloat(obj)) && isFinite(obj);
+    },
+    isString: function(obj) {
+        return this.__type(obj) === 'string';
+    },
+    each: function(data, callback, args) {
+        var i, len;
+
+        if (me.isArray(data)) {
+            for (i = 0, len = data.length; i < len; i++) {
+                if (callback.call(data[i], i, data[i], args) === false) {
+                    break;
+                }
+            }
+        } else {
+
+            for (i in data) {
+                if (callback.call(data[i], i, data[i], args) === false) {
+                    break;
+                }
+            }
+        }
+    },
+    funManager: {
+        __loadList: {},
+        __loadFun: function(item, callback, win) {
+
+            if (item.methord && me.isFunction(item.methord())) {
+                win = win || window;
+                item.methord()(item, function() {
+                    callback();
+                }, win);
+            }
+        },
+        load: function(fns, statechange, win, __index) {
+            __index = __index || 0;
+
+            if (fns[__index]) {
+                me.funManager.__loadFun(fns[__index], function() {
+                    me.funManager.load(fns, statechange, win, __index + 1);
+                }, win);
+            }
+            statechange(__index, win);
+        },
+        get: function(id) {
+            return this.__loadList[id];
+        }
+    },
+    log: function(msg) {
+        var console = window.console || {
+            log: function() { }
+        };
+
+        console.log(msg);
+    },
+    Event: {
+        mousewheel: function(e) {
+            var _eoe = e.originalEvent;
+            var _de = _eoe.detail ? _eoe.detail * -1 : _eoe.wheelDelta / 40;
+            var _direction = _de < 0 ? -1 : 1;
+
+            return {
+                direction: _direction,
+                unit: _de
+            };
+        },
+        __: function(_e, el, event, handle) {
+            var key;
+
+            for (key in _e) {
+                if (window[_e[key].validator]) {
+                    el[_e[key].validator](_e[key].prefix + event, handle, false);
+                    break;
+                }
+            }
+        },
+        add: function(el, event, handle) {
+            var _e = [
+                {
+                    validator: 'addEventListener',
+                    prefix: ''
+                },
+                {
+                    validator: 'attachEvent',
+                    prefix: 'on'
+                }
+                            ];
+
+            this.__(_e, el, event, handle);
+        },
+        remove: function(el, event, handle) {
+            var _e = [
+                {
+                    validator: 'removeEventListener',
+                    prefix: ''
+                },
+                {
+                    validator: 'detachEvent',
+                    prefix: 'on'
+                }
+                            ];
+
+            this.__(_e, el, event, handle);
+        }
+    },
+    getUid: function(_name) {
+        return me.template('me-{0}{1}-{2}', _name, new Date().getTime(), me.__Index++);
+    },
+    Browser: {
+        isTouch: function() {
+            var msGesture = window.navigator && window.navigator.msPointerEnabled && window.MSGesture;
+
+            return (('ontouchstart' in window) || msGesture || window.DocumentTouch) ? true : false;
+        },
+        Prefix: function() {
+            var i;
+
+            var props = ['perspectiveProperty', 'WebkitPerspective', 'MozPerspective', 'OPerspective', 'msPerspective'];
+            var obj = document.createElement('div');
+
+            for (i in props) {
+                if (obj.style[props[i]] !== undefined) {
+                    return me.template('-{0}-', props[i].replace('Perspective', '').toLowerCase());
+                }
+            }
+        },
+        parseURL: function(url) {
+            var a = document.createElement('a');
+            var ret,seg,len,i,s;
+
+            a.href = url;
+            return {
+                source: url,
+                protocol: a.protocol.replace(':', ''),
+                host: a.hostname,
+                port: a.port,
+                query: a.search,
+                params: (function() {
+                    ret = {},
+                    seg = a.search.replace(/^\?/, '').split('&'),
+                    len = seg.length, i = 0, s;
+
+                    for (; i < len; i++) {
+                        if (!seg[i]) {
+                            continue;
+                        }
+                        s = seg[i].split('=');
+                        ret[s[0]] = s[1];
+                    }
+                    return ret;
+                })(),
+                file: (a.pathname.match(/\/([^\/?#]+)$/i) || [null, ''])[1],
+                hash: a.hash.replace('#', ''),
+                path: a.pathname.replace(/^([^\/])/, '/$1'),
+                relative: (a.href.match(/tps?:\/\/[^\/]+(.+)/) || [null, ''])[1],
+                segments: a.pathname.replace(/^\//, '').split('/')
+            };
+        }
+    },
+    Array: {
+        indexOf: function(array, val) {
+            var i;
+
+            for (i = 0; i < array.length; i++) {
+                if (this[i] === val) {
+                    return i;
+                }
+            }
+            return -1;
+        },
+        remove: function(array, val) {
+            var index = this.indexOf(array, val);
+
+            if (index > -1) {
+                array.splice(index, 1);
+            }
+            return array;
+        }
+    }
+};
+
+assembly = function(options) {
+    this.initialized = false;
+    this.registerEvent = {
+        before: [],
+        change: [],
+        after: []
+    };
+    this.options = options;
+
+    this.init(options);
+};
+
+assembly.output = function() {
+    me.log(me.list);
+};
+assembly.prototype.oninit = me.fn;
+
+assembly.prototype.init = function(cfg) {
+    this.initialized = true;
+
+    // function _getClassName(_constructor, _constr) {
+    //     var _constr = _constr || "";
+    //     if (_constructor.superclass) {
+    //         var args = /(\w+)\.superclass/.exec(_constructor.arguments.callee);
+    //         if (args != null) {
+    //             _constr += args[1] + "-";
+    //             // return _getClassName(_constructor.superclass.constructor, _constr);
+    //         }
+    //     }
+    //     return _constr;
+    // }
+    this.__Uid = me.getUid('me');
+    this.oninit(cfg);
+    me.list[this.__Uid] = this;
+};
+assembly.prototype.destory = function() {
+    this.initialized = false;
+    delete me.list[this.__Uid];
+};
+assembly.prototype.getUid = function() {
+    return this.__Uid;
+};
+assembly.prototype.getOptions = function() {
+    return this.options;
+};
+assembly.prototype.config = function() {
+    if (arguments.length > 0) {
+        if (typeof (arguments[0]) === 'string') {
+            if (arguments.length > 1) {
+                this.options[arguments[0]] = arguments[1];
+            } else {
+                return this.options[name];
+            }
+        }
+    } else {
+        return this.options;
+    }
+};
+assembly.prototype.on = function(name, callback) {
+    var __self = this;
+    var _e = __self.registerEvent[name];
+
+    if (_e) {
+        _e.push(callback);
+    }
+    return _e;
+};
+assembly.prototype.off = function(name, callback) {
+    var __self = this;
+    var _e = __self.registerEvent[name];
+    var e = [];
+
+    me.each(_e, function(name, _callback) {
+
+        if (_callback === callback) {
+            e.push(name);
+        }
+    });
+
+    me.each(e.reverse(), function(name, _callback) {
+        _e.splice(_callback, 1);
+    });
+};
+me.assembly = assembly;
+
+module.exports = me;
+});
+define("js/common/new-arrivls", ["jquery","lazyload","handlebars","source-map"], function(require, exports, module){
+var $ = require("jquery"),
+        lazyload = require("lazyload");
+var Handlebars = require("handlebars");
+
+function InfiniteLoad(options) {
+    var defaults = {
+        index: 0,
+        isload: true,//是否正在加载
+        isrun: true,//判断是否执行
+        offset: {
+            height: null,
+            width: null
+        }
+    };
+
+    this.registerEvent = {
+        before: [],
+        change: [],
+        after: []
+    };
+
+    this.options = $.extend(true, {}, defaults, options);
+
+    return this;
+}
+
+InfiniteLoad.prototype.on = function(name, callback) {
+    var g = this;
+    var _e = g.registerEvent[name];
+
+    if (_e) {
+        _e.push(callback);
+    }
+    return _e;
+};
+
+InfiniteLoad.prototype.exect = function(key, params) {
+    var g = this;
+    var e;
+
+    if (g.registerEvent[key] && g.registerEvent[key].length > 0) {
+        for (e in g.registerEvent[key]) {
+            if (g.registerEvent[key].hasOwnProperty(e)) {
+                g.registerEvent[key][e](params);
+            }
+        }
+    }
+};
+
+InfiniteLoad.prototype.init = function() {
+    var g = this;
+    var p = this.options;
+
+    function __loadMore() {
+
+        if (p.isrun && p.isload && g.__directionCalculation()) {
+            p.isload = false;
+            p.index++;
+            g.exect('after', p);
+        }
+
+        g.exect('change', p);
+    }
+
+    g.exect('before', p);
+
+    $(window).scroll(__loadMore);
+};
+
+InfiniteLoad.prototype.emit = function() {
+    var p = this.options;
+
+    p.isload = true;
+};
+
+InfiniteLoad.prototype.stop = function() {
+    var p = this.options;
+
+    p.isrun = false;
+    p.isload = false;
+};
+
+InfiniteLoad.prototype.__directionCalculation = function() {
+    var p = this.options;
+
+    if (p.offset.height && p.offset.height() > 0 && $(window).scrollTop() + $(window).height() >= p.offset.height()) {
+        return true;
+    }
+    return false;
+};
+
+module.exports = function(data) {
+    var $container = $('#newarrivals .goods-container');
+    var $load = $('.loading a');
+    var load = new InfiniteLoad({
+        index: 1,
+        isload: false,
+        offset: {
+            height: function() {
+                return parseFloat($container.offset().top) + parseFloat($container.height()) - 200;
+            }
+        }
+    });
+    var loadAjax;
+    var url = data.url,
+        count = data.count,
+        rows = data.rows;
+
+    data.pageIndex = 0;
+
+    delete data.url;
+    delete data.count;
+    delete data.rows;
+
+    loadAjax = function(url, data, count) {
+
+        var options = {
+            type: 'POST',
+            url: url,
+            success: function(result) {
+                var code = result.code;
+                var myTemplate,len,pos;
+
+                if (code === 200) {
+                    len = result.goods.length % count;
+                    pos = result.goods.length - len - 1;
+
+                    result.goods.splice(pos, len);
+
+                    myTemplate = Handlebars.compile(load.tpl);
+
+                    $container.append(myTemplate(result.goods));
+                    data.pageIndex = data.pageIndex + result.goods.length;
+
+                    //懒加载插件貌似有点问题,图片先直接展示
+                    lazyload($container.find('img.lazy'));
+
+                    load.emit();
+                } else {
+
+                    load.stop();
+                    $load.html('查看更多');
+                }
+            },
+            error: function() {
+
+                load.stop();
+                $load.html('网络断开连接了~');
+            }
+        };
+
+        options.data = data;
+        $.ajax(options);
+    };
+
+
+    load.on('after', function(p) {
+
+        data.pageCount = count * rows[1];
+
+        loadAjax(url, data);
+    });
+
+    load.on('before', function(p) {
+
+
+        load.tpl = '{{#each this}}';
+        load.tpl += '<div class="good-info imgopacity" data-skn="{{skn}}">';
+        load.tpl += '    <div class="tag-container clearfix">';
+        load.tpl += '        {{# tags}}';
+        load.tpl += '            {{# isNew}}';
+        load.tpl += '                <span class="good-tag new-tag">NEW</span>';
+        load.tpl += '            {{/ isNew}}';
+        load.tpl += '            {{# isReNew}}';
+        load.tpl += '                <span class="good-tag renew-tag">再到着</span>';
+        load.tpl += '            {{/ isReNew}}';
+        load.tpl += '            {{# isSale}}';
+        load.tpl += '                <span class="good-tag sale-tag">SALE</span>';
+        load.tpl += '            {{/ isSale}}';
+        load.tpl += '            {{# isNewFestival}}';
+        load.tpl += '                <span class="good-tag new-festival-tag">新品节</span>';
+        load.tpl += '            {{/ isNewFestival}}';
+        load.tpl += '            {{# isLimit}}';
+        load.tpl += '                <span class="good-tag limit-tag">限量商品</span>';
+        load.tpl += '            {{/ isLimit}}';
+        load.tpl += '            {{# isYearEndPromotion}}';
+        load.tpl += '                <span class="good-tag yep-tag">年终大促</span>';
+        load.tpl += '            {{/ isYearEndPromotion}}';
+        load.tpl += '            {{# isYearMidPromotion}}';
+        load.tpl += '                <span class="good-tag ymp-tag">年中热促</span>';
+        load.tpl += '            {{/ isYearMidPromotion}}';
+        load.tpl += '        {{/ tags}}';
+        load.tpl += '    </div>';
+        load.tpl += '    <div class="good-detail-img">';
+        load.tpl += '        <a class="good-thumb" href="{{url}}" target= "_blank">';
+        load.tpl += '            <img class="lazy" data-original="{{thumb}}">';
+        load.tpl += '        </a>';
+        load.tpl += '        {{# isFew}}';
+        load.tpl += '            <p class="few-tag">即将售罄</p>';
+        load.tpl += '        {{/ isFew}}';
+
+        load.tpl += '        {{#if showColBtn}}';
+        load.tpl += '            <span class="col-btn iconfont{{#if coled}} coled{{/if}}">&#xe616;</span>';
+        load.tpl += '        {{/if}}';
+        load.tpl += '    </div>';
+        load.tpl += '    <div class="good-detail-text">';
+        load.tpl += '        <a href="{{url}}" target= "_blank">{{name}}</a>';
+        load.tpl += '        <p class="price">';
+        load.tpl += '            <span class="sale-price{{#unless marketPrice}}prime-cost{{/unless}}">';
+        load.tpl += '                ¥{{salePrice}}';
+        load.tpl += '            </span>';
+        load.tpl += '            {{# marketPrice}}';
+        load.tpl += '                <span class="market-price">¥{{.}}</span>';
+        load.tpl += '            {{/ marketPrice}}';
+        load.tpl += '        </p>';
+        load.tpl += '    </div>';
+        load.tpl += '</div>';
+        load.tpl += '{{/each}}';
+
+
+        data.pageCount = count * rows[0];
+
+        loadAjax(url, data, data.count);
+
+        //load.emit();
+    });
+
+    load.init();
+
+};
+});
+define("js/brand/index", ["jquery","lazyload","handlebars","source-map","dot"], function(require, exports, module){
+/**
+ * 首页
+ * @author: xuqi<qi.xu@yoho.cn>
+ * @date: 2015/11/23
+ */
+
+var $ = require("jquery"),
+    lazyLoad = require("lazyload");
+
+
+require("js/common/slider");
+require("js/brand/brands");
+
+lazyLoad($('img.lazy'));
+$('.slide-container').slider({
+    orient: true
+});
+});
+define("js/brand/brands", ["jquery","handlebars","source-map","dot"], function(require, exports, module){
+var $ = require("jquery"),
+    Handlebars = require("handlebars"),
+    dot = require("dot");
+
+var $tabs = $('.brands-tabs');
+var $list = $('.brands-list');
+var $gory = $('.brands-category');
+var $news = $('.news-txt ul');
+var $clearfix = $list.find('dl.clearfix');
+var $brand = $list.find('li>a');
+var $category = $gory.find('a');
+var $tab = $tabs.find('li>a');
+var $arr = $tabs.find('.hoverarr');
+var $thisTab;
+
+var categoryHeight = $category.height();
+var categoryTop = $category.offset() ? $category.offset().top : 0;
+var newsHeight = $news.height();
+var newsTop = $news.offset() ? $news.offset().top : 0;
+var timeout, _id;
+
+
+//用于临时存储数据
+var tempdata = {};
+
+var templete = '<div class="brands-dialog">';
+
+templete += '    <div class="brands-layer">';
+templete += '        <div class="layer-content">';
+templete += '            <div class="title">{{title}}</div>';
+templete += '            <div class="clearfix desc">';
+templete += '                <img src="{{icon}}">';
+templete += '                <p class="right">{{content}}</p>';
+templete += '            </div> ';
+templete += '            <div class="featured">';
+templete += '                <p>{{subtitle}}</p> ';
+templete += '                <div class="clearfix"> ';
+templete += '                    {{#each imgs}}';
+templete += '                    <img src="{{src}}">';
+templete += '                    {{/each}}';
+templete += '                </div>';
+templete += '            </div>';
+templete += '        </div>';
+templete += '    </div>';
+templete += '</div>';
+
+dot($('.brand-desc'));
+
+$.easing.easeOutQuint = function(x, t, b, c, d) {
+    return c * ((t = t / d - 1) * t * t * t * t + 1) + b;
+};
+
+function getQueryString(name) {
+    var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)');
+    var r = window.location.search.substr(1).match(reg);
+
+    if (r != null) {
+        return window.unescape(r[2]);
+    }
+    return null;
+}
+
+// 格式化资讯NEWS标题数量
+if ($news.length) {
+    $news.find('li').each(function() {
+        var $dom = $(this);
+        var domHeight = $dom.offset().top - newsTop + $dom.height();
+
+        if (domHeight > newsHeight) {
+            $dom.hide();
+        }
+    });
+}
+
+//头部图片TAB切换展示
+$tab.eq(0).parent('li').find('.brands-content').css('z-index', '1');
+
+_id = getQueryString('id') ? getQueryString('id') : 0;
+
+// 设置对应TAB选中
+$thisTab = $tab.eq(_id);
+$thisTab.find('.g-mask').addClass('g-mask-on');
+
+if (_id && $thisTab.length) {
+    $arr.css({
+        left: parseFloat($thisTab.offset().left) - parseFloat($tabs.offset().left)
+    });
+}
+$tab.hover(function() {
+    var $this = $(this);
+
+    clearTimeout(timeout);
+    timeout = setTimeout(function() {
+        var targetLeft = parseFloat($this.offset().left) - parseFloat($tabs.offset().left);
+
+        $arr.animate({
+            left: targetLeft
+        }, 200, 'easeOutQuint');
+    }, 50);
+    $tabs.find('.brands-content').removeAttr('style');
+    $this.parent('li').find('.brands-content').css('z-index', '1');
+
+}, function() {
+    clearTimeout(timeout);
+});
+
+//品牌类别滚动事件
+$(window).scroll(function() {
+    if ($(this).scrollTop() >= categoryTop) {
+        $gory.addClass('category-fix');
+    } else {
+        $gory.removeClass('category-fix');
+    }
+});
+
+//点击字母,页面滚动到相关区域
+$category.click(function() {
+    var name = $(this).attr('href').split('#')[1];
+    var targetTop = $list.find('[name=' + name + ']').offset().top - categoryHeight;
+
+    if (!$gory.hasClass('category-fix')) {
+        targetTop -= categoryHeight;
+    }
+
+    $('html,body').animate({
+        scrollTop: targetTop
+    }, 200);
+    return false;
+});
+
+
+//浮层代码
+function bindTemplete($select, data, templete) {
+    var $this = $select;
+    var offset = {
+        width: $this.width(),
+        left: $this.offset().left,
+        right: parseFloat($(window).width()) - parseFloat($this.offset().left) - parseFloat($this.width())
+    };
+
+    var $parent = $this.parent('li');
+    var myTemplate;
+
+    $list.find('.brands-dialog').remove();
+    myTemplate = Handlebars.compile(templete);
+    $parent.append(myTemplate(data));
+    dot($parent.find('.right'));
+
+    if (offset.right - 350 < 0) {
+        $parent.find('.brands-layer')
+                .addClass('brands-layer-right').css('left', -330 - offset.width);
+    }
+}
+
+//鼠标悬浮品牌,请求数据,并且展示
+function bindHoverEvent() {
+    $brand.unbind('mouseenter').unbind('mouseleave').hover(function() {
+        var $this = $(this);
+        var key = $this.attr('data-key');
+
+        var options = {
+            url: '/brands/brandinfo',
+            type: 'get',
+            data: {
+                brandId: key
+            },
+            success: function(_data) {
+
+                if (_data.code === 200 && _data.brand) {
+                    if (!tempdata.hasOwnProperty(_data.brand.key)) {
+                        tempdata[_data.brand.key] = _data.brand;
+                    }
+                    bindTemplete($this, tempdata[_data.brand.key], templete);
+                }
+            }
+        };
+
+        clearTimeout(timeout);
+        timeout = setTimeout(function() {
+            if (!tempdata.hasOwnProperty(key)) {
+                $.ajax(options);
+            } else {
+                bindTemplete($this, tempdata[key], templete);
+            }
+        }, 200);
+    }, function() {
+        clearTimeout(timeout);
+        $list.find('.brands-dialog').remove();
+    });
+}
+
+if ($clearfix.length < 26) {
+    $.ajax({
+        url: '/brands/brandList',
+        type: 'POST',
+        data: {
+            start: $clearfix.length ? ($clearfix.length + 1) : 1
+        },
+        success: function(_data) {
+            if (_data) {
+                $list.append(_data);
+                $brand = $list.find('li>a');
+                bindHoverEvent();
+            }
+        }
+    });
+}
+
+bindHoverEvent();
+});
+define("js/passport/entry", ["jquery","jquery.placeholder"], function(require, exports, module){
+/*
+ * 密码中心打包入口文件
+ */
+
+require("js/passport/reg");
+require("js/passport/back");
+require("js/passport/login");
+require("js/passport/reset");
+require("js/passport/vertification");
+require("js/passport/thirdlogin");
+require("js/passport/third-pwd");
+require("js/passport/relate");
+});
+define("js/passport/reg", ["jquery","jquery.placeholder"], function(require, exports, module){
+/*
+ * @description 注册页js
+ * @time 2015/12/14
+ */
+
+var $ = require("jquery"),
+    regValidate = require("js/passport/mail-phone-regx"),
+    computeComplex = require("js/passport/pwd-strength");
+
+var $registerPage = $('.register-page'),
+    $pwdTips = $('#pwd-tips'),
+    $pwdTip1 = $pwdTips.find('#pwd-tip1'),
+    $errTip = $('#err-tip'),
+    $registerBtn = $('#register-btn'),
+    $countDown = $('#count-down'),
+    $successBtn = $('.success-btn'),
+    countDown = 5,
+    clearT;
+
+var $sendCaptcha = $('#send-captcha'),
+    caCount = 4,
+    validateResult = [];
+
+var $pn = $('#phone-num'),
+    $mc = $('#msg-captcha'),
+    $pwd = $('#pwd'),
+    $repwd = $('#repwd'),
+    $ca = $('#captcha'),
+    timeResidue = 0;
+
+// 密码强度验证
+var $pwdIntensity = $('.pwd-intensity'),
+    $pwdParent = $pwdIntensity.closest('.pwd-intensity-container');
+
+//signup验证
+var $region = $('#country-code'),
+    $regionSelect = $('#region'),
+    isPwd = false,
+    pwdVal;
+
+var pwdReg = regValidate.pwdValidateRegx;
+
+var $curErrContainer;
+
+var oldPhone = ''; //如果手机号改变时刷新验证码
+
+require("jquery.placeholder");
+
+setTimeout(function() {
+    $pn.val('');
+    $mc.val('');
+    $pwd.val('');
+    $repwd.val('');
+    $ca.val('');
+}, 0);
+
+//验证码位数
+$ca.attr('maxlength', caCount);
+
+//密码规则提示
+$pwd.focus(function(event) {
+    $pwdTips.removeClass('hide');
+    isPwd = true;
+    pwdVal = $(this).val();
+}).blur(function() {
+    $pwdTips.addClass('hide');
+    isPwd = false;
+});
+
+
+//IE8 placeholder
+$('[placeholder]').placeholder();
+
+// 存储校验信息
+validateResult = [
+    {
+        id: 'phone-num',
+        message: '', //错误信息
+        status: false //当前的状态
+    },
+    {
+        id: 'captcha',
+        message: '',
+        status: false
+    },
+    {
+        id: 'msg-captcha',
+        message: '',
+        status: false
+    },
+    {
+        id: 'pwd',
+        message: '',
+        status: false
+    },
+    {
+        id: 'repwd',
+        message: '',
+        status: false
+    }
+];
+
+//刷新图形验证码
+function refreshPic() {
+    var time = new Date(),
+        $captchaImg = $('.captcha-img'),
+        captchaImgSrc = $captchaImg.attr('src').split('?')[0];
+
+    $captchaImg.attr('src', captchaImgSrc + '?t=' + time.getTime());
+}
+
+//手机号ajax校验
+function phoneAjaxFn(page, callback) {
+    var url,
+        data;
+
+    if (page === 'reg') {
+        url = '/passport/register/checkmobile';
+        data = {
+            mobile: $pn.val(),
+            area: $region.text().split('+')[1]
+        };
+    } else if (page === 'third') {
+        url = '/passport/autouserinfo/bindCheck';
+        data = {
+            mobile: $pn.val(),
+            area: $region.text().split('+')[1],
+            openId: $('#open-id').val(),
+            sourceType: $('#source-type').val()
+        };
+    }
+
+    validateResult[0].message = 'err';
+    validateResult[0].status = false;
+
+    $.ajax({
+        url: url,
+        type: 'POST',
+        data: data
+    }).then(function(data) {
+        if (!data) {
+            return;
+        }
+
+        switch (data.code) {
+            case 200:
+
+                if ($pn.val() !== oldPhone && oldPhone !== '') {
+
+                    // 如果手机号发生改变则刷新验证码并且更新状态
+                    refreshPic();
+                    $sendCaptcha.addClass('disable').attr('disabled', 'disabled');
+                    validateResult[1].message = '图形验证码错误';
+                    validateResult[1].status = false;
+                }
+
+                oldPhone = $pn.val();
+
+                validateResult[0].message = '';
+                validateResult[0].status = true;
+                break;
+            case 400:
+                refreshPic();
+                validateResult[0].message = data.message;
+                validateResult[0].status = false;
+                break;
+        }
+
+        callback();
+    });
+}
+
+//图形验证码ajax校验
+function picCaptchaAjaxFn(page, callback) {
+    var url;
+
+    if (page === 'reg') {
+        url = '/passport/register/piccaptcha';
+    } else if (page === 'third') {
+        url = '/passport/autouserinfo/checkPicCode';
+    }
+    $.ajax({
+        type: 'POST',
+        url: url,
+        data: {
+            verifyCode: $ca.val()
+
+            //mobile: $pn.val(),
+            //area: $region.text().split('+')[1]
+        }
+    }).then(function(data) {
+        if (!data) {
+            return;
+        }
+
+        switch (data.code) {
+            case 200:
+                validateResult[1].message = '';
+                validateResult[1].status = true;
+                break;
+            case 400:
+                refreshPic();
+                validateResult[1].message = '图形验证码错误';
+                validateResult[1].status = false;
+                break;
+        }
+        callback();
+    });
+}
+
+//短信验证码ajax校验
+function msgCaptchaAjaxFn(page, callback) {
+    var url;
+
+    if (page === 'reg') {
+        url = '/passport/register/msgcaptcha';
+    } else if (page === 'third') {
+        url = '/passport/autouserinfo/checkBindMsg';
+    }
+    $.ajax({
+        type: 'POST',
+        url: url,
+        data: {
+            code: $mc.val(),
+            mobile: $pn.val(),
+            area: $region.text().split('+')[1]
+        }
+    }).then(function(data) {
+        if (!data) {
+            return;
+        }
+
+        switch (data.code) {
+            case 200:
+                validateResult[2].message = '';
+                validateResult[2].status = true;
+                break;
+            case 400:
+                validateResult[2].message = '短信验证码错误';
+                validateResult[2].status = false;
+                break;
+        }
+
+        callback();
+    });
+}
+
+// 验证
+function validateRule(page, $element, callback) {
+
+    var val = $.trim($element.val()),
+        regionCode;
+
+
+
+    // 根据需求//redmine.yoho.cn/issues/3117改成上边的正则
+    // 对应的错误提示语也改了,感觉要不了多久就会改回来
+    // pwdReg = /^([a-zA-Z0-9\-\+_!@\#$%\^&\*\(\)\:\;\.=\[\]\\\',\?]){6,20}$/gi;
+
+    //手机号校验
+    if ($element.hasClass('phone-num')) {
+
+        regionCode = $region.text();
+
+
+        if (val === '') {
+            validateResult[0].message = '请输入手机号码';
+            validateResult[0].status = false;
+            callback();
+
+        } else {
+            if (!/^[0-9]+$/.test(val) ||
+                (regionCode === '+86' && !regValidate.phoneRegx[regionCode].test(val))) {
+                validateResult[0].message = '手机号码格式不正确,请重新输入';
+                validateResult[0].status = false;
+                callback();
+            } else {
+                phoneAjaxFn(page, callback);
+            }
+        }
+
+    //图形验证码校验
+    } else if ($element.hasClass('captcha')) {
+        if (val === '') {
+            validateResult[1].message = '请输入图形验证码';
+            validateResult[1].status = false;
+            callback();
+
+        } else if (val.length <= 3) {
+            validateResult[1].message = '图形验证码为4位';
+            validateResult[1].status = false;
+            callback();
+
+        } else {
+
+            // 并且手机号正确
+            if (validateResult[0].status) {
+                picCaptchaAjaxFn(page, callback);
+            } else {
+                validateResult[1].message = '图形验证码错误';
+                validateResult[1].status = false;
+                callback();
+            }
+
+        }
+
+    //短信验证码校验
+    } else if ($element.hasClass('msg-captcha')) {
+
+        if (val === '') {
+            validateResult[2].message = '请输入短信验证码';
+            validateResult[2].status = false;
+            callback();
+
+        } else if (val.length <= 3) {
+            validateResult[2].message = '短信验证码错误';
+            validateResult[2].status = false;
+            callback();
+
+        } else {
+
+            // 并且图形验证码正确
+            if (validateResult[1].status) {
+                msgCaptchaAjaxFn(page, callback);
+            } else {
+                validateResult[2].message = '短信验证码错误';
+                validateResult[2].status = false;
+                callback();
+            }
+        }
+
+    //密码校验
+    } else if ($element.hasClass('pwd')) {
+        if (val === '') {
+            validateResult[3].message = '请输入密码';
+            validateResult[3].status = false;
+
+        } else if (val.length < 6 || val.length > 20) {
+            validateResult[3].message = '密码只支持6-20位字符';
+            validateResult[3].status = false;
+
+        } else if (!pwdReg.test($element.val())) {
+            validateResult[3].message = '密码须字母和数字组合';
+            validateResult[3].status = false;
+
+        } else {
+            validateResult[3].message = '';
+            validateResult[3].status = true;
+        }
+        callback();
+
+    //二次密码校验
+    } else if ($element.hasClass('repwd')) {
+        if (val === '') {
+            validateResult[4].message = '请输入密码确认';
+            validateResult[4].status = false;
+
+        } else if ($pwd.val() !== val) {
+            validateResult[4].message = '与密码不一致,请重新输入';
+            validateResult[4].status = false;
+
+        } else {
+            validateResult[4].message = '';
+            validateResult[4].status = true;
+
+        }
+
+        callback();
+    }
+}
+
+function posErrTip() {
+    var tipPos = $curErrContainer.offset();
+
+    return $errTip.css({
+        top: tipPos.top - 40,
+        left: tipPos.left
+    });
+}
+
+//显示提示信息
+function showErrTip() {
+
+    var show = false,
+        i,
+        validateResultLen = validateResult.length;
+
+    for (i = 0; i < validateResultLen; i++) {
+        if (!show) {
+
+            //不可以通过status判断
+            if (!!validateResult[i].message && validateResult[i].message !== 'err') {
+
+                //显示错误提示
+                $errTip.find('span').text(validateResult[i].message);
+                $curErrContainer = $('#' + validateResult[i].id);
+                posErrTip().removeClass('hide');
+
+                show = true; //停止判断
+            } else {
+                $errTip.addClass('hide');
+            }
+        }
+    }
+}
+
+//显示红色边框
+function showBorder() {
+
+    var $errInput,
+        i,
+        validateResultLen = validateResult.length;
+
+    for (i = 0; i < validateResultLen; i++) {
+        if (!!validateResult[i].message) {
+
+            //显示红色边框
+            $errInput = $('#' + validateResult[i].id);
+            $errInput.addClass('error');
+
+        } else {
+
+            //去掉红色边框
+            $errInput = $('#' + validateResult[i].id);
+            $errInput.removeClass('error');
+        }
+    }
+}
+
+// 密码强度验证
+function pwdFn($obj) {
+    var pwd = $obj.val(),
+        pwdStrength = computeComplex(pwd),
+        level = 0;
+
+    if (pwdStrength === 0) {
+        level = 0;
+    } else if (pwdStrength <= 10) {
+        level = 1;
+    } else if (pwdStrength <= 20) {
+        level = 2;
+    } else {
+        level = 3;
+    }
+
+    switch (level) {
+        case 0:
+            $pwdParent.removeClass('red yellow green');
+            $pwdIntensity.removeClass('color');
+            break;
+        case 1:
+            $pwdParent.addClass('red').removeClass('yellow green');
+            $pwdIntensity.filter('.low').addClass('color');
+            $pwdIntensity.filter('.mid,.high').removeClass('color');
+            break;
+        case 2:
+            $pwdParent.addClass('yellow').removeClass('red green');
+            $pwdIntensity.filter('.low,.mid').addClass('color');
+            $pwdIntensity.filter('.high').removeClass('color');
+            break;
+        case 3:
+            $pwdParent.addClass('green').removeClass('yellow red');
+            $pwdIntensity.addClass('color');
+            break;
+    }
+
+    //提示框
+    if (pwd === '') {
+        $pwdTip1.removeClass('red yes no').addClass('default');
+    } else if (pwd.length < 6 || pwd.length > 20) {
+        $pwdTip1.removeClass('default yes').addClass('no red');
+    } else {
+        $pwdTip1.removeClass('default no red').addClass('yes');
+    }
+}
+
+//重新定位错误提示
+$(window).resize(function() {
+    if ($errTip.hasClass('hide')) {
+        return;
+    }
+
+    posErrTip();
+});
+
+// 失去焦点时开始校验
+// Tips: 不可以在获得焦点的时候验证,获得焦点和失去焦点的间隔太小,如果中间存在ajax校验的话会出现问题
+// ( ▼-▼ )注册页和信息完善页面接口不同
+exports.init = function(page) {
+
+    $('#agree-terms').click(function() {
+
+        var $this = $(this),
+            i,
+            passI = 0;
+
+        if (!!$this.attr('notchecked')) {
+
+            $this.removeAttr('notchecked');
+
+            //勾选
+            for (i = 0; i < validateResult.length; i++) {
+                if (validateResult[i].status) {
+                    passI++;
+                }
+            }
+            if (passI === 4) {
+                $registerBtn.removeClass('disable').removeAttr('disabled');
+            }
+        } else {
+
+            //取消勾选
+            $registerBtn.addClass('disable').attr('disabled', 'disabled');
+            $this.attr('notchecked', 'notchecked');
+        }
+    });
+
+    // 按回车键提交
+    $registerPage.on('keydown', function(e) {
+        var key = e.which;
+
+        if (key === 13) {
+            $registerBtn.click();
+        }
+    });
+
+    $registerPage.find('.va').keyup(function() {
+
+        var j,
+            statusLen = 0,
+            vLen = validateResult.length,
+            $that = $(this);
+
+        validateRule(page, $(this), function() {
+            showErrTip(); // 显示错误提示
+            showBorder(); // 显示红色边框
+
+            // 如果validateResult中有4个status为true表示验证通过
+            for (j = 0; j < vLen; j++) {
+
+                if (validateResult[j].status) {
+
+                    statusLen++;
+                }
+
+            }
+
+            if (statusLen === 4 && !$('#agree-terms').attr('notchecked')) {
+                $registerBtn.removeClass('disable').removeAttr('disabled');
+            } else {
+                $registerBtn.addClass('disable').attr('disabled', 'disabled');
+            }
+
+            // 图形验证通过时,发送短信按钮可点击
+            if (validateResult[1].status && timeResidue <= 0) {
+                $sendCaptcha.removeClass('disable').removeAttr('disabled');
+            } else {
+                $sendCaptcha.addClass('disable').attr('disabled', 'disabled');
+            }
+
+            //图形验证通过时,发送短信按钮可点击 end
+
+        });
+
+        // 如果是密码则校验强度
+        if (($that).hasClass('pwd')) {
+            pwdFn($that);
+        }
+
+    }).blur(function() {
+
+        /*validateRule($(this), function() {
+            showErrTip();
+            showBorder(); // 显示红色边框
+        });*/
+    });
+
+    $regionSelect.change(function() {
+
+        $region.text($('#region').val());
+
+        validateRule(page, $pn, showErrTip); //验证
+    });
+
+    // 点击发送验证码
+    $sendCaptcha.click(function() {
+        var t,
+            url;
+
+        if ($(this).hasClass('disable')) {
+            return;
+        }
+
+        timeResidue = 60;
+
+        $('#msg-tip').removeClass('hide');
+
+        $sendCaptcha.addClass('disable').attr('disabled', 'disabled');
+        $sendCaptcha.val('60秒可重新发送');
+
+        t = setInterval(function() {
+            if (timeResidue <= 0) {
+                $sendCaptcha.removeClass('disable').removeAttr('disabled').val('获取短信验证码');
+                clearInterval(t);
+                return;
+            }
+            $sendCaptcha.val(timeResidue-- + '秒可重新发送');
+        }, 1000);
+
+        if (page === 'reg') {
+            url = '/passport/register/sendBindMsg';
+        } else if (page === 'third') {
+            url = '/passport/autouserinfo/sendBindMsg';
+        }
+
+        //todo ajax 发送验证码
+        $.ajax({
+            type: 'POST',
+            url: url,
+            data: {
+                area: $region.text().split('+')[1],
+                mobile: $pn.val(),
+                verifyCode: $ca.val()
+            }
+        });
+    });
+
+    // 防止粘贴密码
+    if ($('.success-box').length <= 0) {
+        $pwd[0].onpaste = function() {
+            return false;
+        };
+    }
+
+    //ajax表单提交
+    $registerBtn.click(function() {
+        var url;
+
+        if (page === 'reg') {
+            url = '/passport/register/mobileregister';
+        } else if (page === 'third') {
+            url = '/passport/autouserinfo/bindMobile';
+        }
+
+        if ($(this).hasClass('disable')) {
+            return;
+        } else {
+
+            //ajax提交
+            $.ajax({
+                type: 'POST',
+                url: url,
+                data: {
+                    area: $region.text().split('+')[1],
+                    mobile: $pn.val(),
+                    verifyCode: $ca.val(),
+                    code: $mc.val(),
+                    password: $pwd.val()
+                }
+            }).then(function(data) {
+
+                var time = 0,
+                    t,
+                    refer;
+
+                if (data.code === 200) {
+
+                    refer = data.data.href;
+
+                    t = setTimeout(function() {
+                        time++;
+                    }, 1000);
+
+                    $.ajax({
+                        type: 'GET',
+                        url: data.data.session
+                    }).then(function(data) {
+
+                        if (data.code === 200 && t < 3) {
+                            clearInterval(t);
+                            location.href = refer;
+                        }
+                    });
+
+                    if (t >= 3) {
+                        clearInterval(t);
+                        location.href = refer;
+                    }
+                } else {
+
+                    //todo
+                    console.log('网络超时~');
+                }
+
+            });
+        }
+    });
+
+    $('.change-captcha').click(function() {
+        refreshPic();
+    });
+
+    //注册成功页面5秒后跳转
+    if ($('.success-box').length > 0) {
+        clearT = setInterval(function() {
+
+            if (countDown === 0) {
+
+                window.location.href = $successBtn.attr('data-url');
+
+                clearInterval(clearT);
+            }
+            $countDown.text(countDown--);
+        }, 1000);
+    }
+};
+});
+define("js/passport/mail-phone-regx", [], function(require, exports, module){
+/**
+ * 国家区号Map手机号码以及邮箱验证正则
+ * @author: xuqi<qi.xu@yoho.cn>
+ * @date: 2015/12/11
+ */
+
+var countryPhoneRegx = {
+    '+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]{1}[0-9]{8}$/,
+    '+81': /^0[9|8|7][0-9]{9}$/,
+    '+61': /^[0-9]{11}$/
+};
+
+var emailRegx = /^[.\-_a-zA-Z0-9]+@[\-_a-zA-Z0-9]+\.[a-zA-Z0-9]/;
+
+var pwdValidateRegx = /^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{6,20}$/;
+
+exports.phoneRegx = countryPhoneRegx;
+
+exports.emailRegx = emailRegx;
+
+exports.pwdValidateRegx = pwdValidateRegx;
+});
+define("js/passport/pwd-strength", [], function(require, exports, module){
+/*
+ * 计算密码复杂度
+ */
+
+function gettype(str, i) {
+    if (str.charCodeAt(i) >= 48 && str.charCodeAt(i) <= 57) {
+        return 1;
+    } else if (str.charCodeAt(i) >= 97 && str.charCodeAt(i) <= 122) {
+        return 2;
+    } else if (str.charCodeAt(i) >= 65 && str.charCodeAt(i) <= 90) {
+        return 3;
+    }
+
+    return 4;
+}
+
+function isregular(cur, pre, type) {
+    var curCode = cur.charCodeAt(0);
+    var preCode = pre.charCodeAt(0);
+
+    if (curCode - preCode === 0) {
+        return true;
+    }
+
+    if (type !== 4 && (curCode - preCode === 1 || curCode - preCode === -1)) {
+        return true;
+    }
+
+    return false;
+}
+
+function getcomplex(curType, preType) {
+    if (preType === 0 || curType === preType) {
+        return 0;
+    } else if (curType === 4 || preType === 4) {
+        return 2;
+    } else {
+        return 1;
+    }
+}
+
+function computeComplex(password) {
+    var complex = 0,
+        length = password.length,
+        pre = '',
+        preType = 0,
+        i = 0,
+        cur,
+        curType;
+
+
+    for (i = 0; i < length; i++) {
+        cur = password.charAt(i);
+        curType = gettype(password, i);
+
+        if (preType !== curType || !isregular(cur, pre, curType)) {
+            complex += curType + getcomplex(curType, preType);
+        }
+
+        pre = cur;
+        preType = curType;
+    }
+
+    return complex;
+}
+
+module.exports = computeComplex;
+});
+define("js/passport/back", ["jquery","jquery.placeholder"], function(require, exports, module){
+/**
+ * 找回密码
+ * @author: xuqi<qi.xu@yoho.cn>
+ * @date: 2015/12/14
+ */
+
+var $ = require("jquery"),
+    regx = require("js/passport/mail-phone-regx"),
+    emailReg = regx.emailRegx,
+    phoneRegx = regx.phoneRegx;
+
+var emailAc = require("js/passport/ac-email"); //邮箱自动完成
+
+var $cr = $('#country-code-hide'),
+    $phoneNum = $('#phone-num'),
+    $ca = $('#captcha'),
+    $ccList = $('#country-code-list'),
+    $cc = $('#country-code'),
+    $btn = $('#find-btn'),
+    $accErr = $('#account-err'),
+    $caErr = $('#captcha-err'),
+    caCount = 4, //验证码位数
+    hasPh = false,
+    hasCa = false;
+
+
+require("jquery.placeholder");
+
+function imgcode() {
+    var time = new Date(),
+        $captchaImg = $('#captcha-img'),
+        captchaImgSrc = $captchaImg.attr('src').split('?')[0];
+
+    $('#captcha-img').attr('src', captchaImgSrc + '?t=' + time.getTime());
+}
+
+function enableBtn() {
+    if (hasPh && hasCa) {
+        $btn.removeClass('disable').prop('disabled', false);
+    } else {
+        $btn.addClass('disable').prop('disabled', true);
+    }
+}
+
+function authcode() {
+    if (!hasPh || !hasCa) {
+        enableBtn();
+        return;
+    }
+
+    $.ajax({
+        type: 'POST',
+        url: '/passport/back/authcode',
+        data: {
+            verifyCode: $.trim($ca.val()),
+            phoneNum: $phoneNum.val(),
+            area: $cr.val()
+        }
+
+    }).then(function(data) {
+        if (data.code === 200) {
+            hasCa = true;
+        } else if (data.code === 402) {
+            hasPh = false;
+            hasCa = true;
+            $accErr.removeClass('hide').find('em').text('该账号不存在');
+            $phoneNum.addClass('error');
+        } else if (data.code === 400) {
+            hasCa = false;
+            imgcode();
+        }
+        enableBtn();
+    });
+}
+
+function vaPn(v) {
+    var pass = true,
+        errTxt = '';
+
+    v = $.trim(v);
+    if (v !== '') {
+        if (/^[0-9]+$/.test(v)) {
+            if (phoneRegx[$cr.val()].test(v)) {
+                pass = true;
+            } else {
+                errTxt = '手机号码格式不正确, 请重新输入';
+                pass = false;
+            }
+        } else {
+            if (emailReg.test(v)) {
+                pass = true;
+            } else {
+                errTxt = '邮箱格式不正确, 请重新输入';
+                pass = false;
+            }
+        }
+    } else {
+        errTxt = '账户名不能为空';
+        pass = false;
+    }
+    hasPh = pass;
+    authcode();
+
+    return {
+        pass: pass,
+        errTxt: errTxt
+    };
+}
+
+function vaCa() {
+    var v = $.trim($ca.val());
+
+    if (v === '' || v.length < caCount) {
+        hasCa = false;
+        enableBtn();
+        return;
+    }
+
+    hasCa = true;
+
+    authcode();
+}
+
+emailAc($phoneNum, function() {
+        var pnVa = vaPn($phoneNum.val());
+
+        if (pnVa.pass) {
+            $accErr.addClass('hide');
+            $phoneNum.removeClass('error');
+        } else {
+            $accErr.removeClass('hide').find('em').text(pnVa.errTxt);
+            $phoneNum.addClass('error');
+        }
+    }
+);
+
+$ca.attr('maxlength', caCount);
+
+//IE8 placeholder
+$('input').placeholder();
+
+$('#change-captcha, #captcha-img').on('click', function() {
+    imgcode();
+});
+
+$cc.on('click', function(e) {
+    e.stopPropagation();
+    if ($ccList.css('style') === 'block') {
+        $ccList.slideUp('fast');
+    } else {
+        $ccList.slideDown('fast');
+    }
+});
+
+$ccList.delegate('li', 'click', function(e) {
+    var $cur = $(this),
+        code = $cur.data('cc'),
+        pnVa;
+
+    e.stopPropagation();
+    $cr.val(code);
+    $cc.find('em').html($cur.text());
+
+    //切换后验证手机号码
+    if ($.trim($phoneNum.val()) !== '') {
+        pnVa = vaPn($phoneNum.val());
+        enableBtn();
+        if (hasPh) {
+            $accErr.addClass('hide');
+            $phoneNum.removeClass('error');
+        } else {
+            $accErr.removeClass('hide').text(pnVa.errTxt);
+            $phoneNum.addClass('error');
+        }
+    }
+    $ccList.slideUp('fast');
+});
+
+$(document).click(function() {
+    if ($ccList.css('display') === 'block') {
+        $ccList.slideUp();
+    }
+});
+
+$phoneNum.keyup(function() {
+    vaPn($.trim($(this).val()));
+}).focus(function() {
+    $(this).removeClass('error');
+
+    //focus隐藏错误提示
+    $accErr.addClass('hide');
+});
+
+//验证码在鼠标移开后验证, keyup时不再验证
+$ca.blur(function() {
+    var errTxt = $.trim($ca.val()) === '' ? '验证码不能为空' : '验证码不正确';
+
+    if (hasCa) {
+        $caErr.addClass('hide');
+        $ca.removeClass('error');
+    } else {
+        $caErr.removeClass('hide').find('em').text(errTxt);
+        $ca.addClass('error');
+
+        //验证码错误则刷新验证码
+        if ($ca.val() < caCount) {
+
+            //防止重复刷新验证码
+            imgcode();
+        }
+    }
+}).focus(function() {
+    $(this).removeClass('error');
+
+    //focus隐藏错误提示
+    $caErr.addClass('hide');
+}).keyup(function() {
+    vaCa();
+});
+
+$('#find-btn').click(function(e) {
+
+    if (/^[0-9]+$/.test($.trim($phoneNum.val()))) {
+        $('#find-form').attr('action', '/passport/back/mobile');
+    }
+    if ($(this).hasClass('disable')) {
+        return;
+    }
+    if (!hasCa || !hasPh) {
+        e.preventDefault();
+        return true;
+    }
+});
+});
+define("js/passport/ac-email", ["jquery"], function(require, exports, module){
+/**
+ * 邮箱自动补全
+ * @author:xuqi<qi.xu@yoho.cn>
+ * @date: 2016/2/22
+ */
+var $ = require("jquery");
+
+var mailPostfix = {
+    num: ['qq.com', '163.com', '126.com', 'sina.com', 'gmail.com', 'sohu.com', 'hotmail.com', '139.com', '189.com'],
+    other: ['gmail.com', 'qq.com', '163.com', '126.com', 'sina.com', 'sohu.com', 'hotmail.com', '139.com', '189.com']
+};
+
+var emailAcTime;
+
+/**
+ * @param $input 需要自动完成的$对象
+ * @param cb 鼠标移开/点击自动完成项后需要执行的操作(验证等)
+ */
+module.exports = function($input, cb) {
+    var ulHtml = '<ul id="email-autocomplete" class="email-autocomplete hide"></ul>';
+
+    var $emailAutoComplete;
+
+    $input.parent().append(ulHtml);
+
+    $emailAutoComplete = $('#email-autocomplete');
+
+    $input.on('keyup', function() {
+        var account = $.trim($(this).val()),
+            html = '',
+            accountMatch,
+            matchStr,
+            postfix,
+            i;
+
+        //输入@时自动补全邮箱后缀
+        //此处>0非错误,用于避免输入的第一个字符为@被识别为邮箱
+        if (account.indexOf('@') > 0) {
+            accountMatch = account.match(/^[0-9]+@(.*)/);
+            if (accountMatch) {
+
+                //数字邮箱补全
+                postfix = mailPostfix.num;
+                matchStr = accountMatch[1];
+            } else {
+                postfix = mailPostfix.other;
+                matchStr = account.match(/@(.*)/)[1];
+            }
+
+            for (i = 0; i < postfix.length; i++) {
+                if (postfix[i].indexOf(matchStr) > -1) {
+                    html += '<li>' + account.slice(0, account.indexOf('@')) + '@' + postfix[i] + '</li>';
+                }
+            }
+
+            if (html !== '' && /.com$/.test(account) === false) {
+                $emailAutoComplete.html(html).removeClass('hide');
+            } else {
+
+                //隐藏autocomplete
+                $emailAutoComplete.html('').addClass('hide');
+            }
+        }
+    }).on('blur', function() {
+        emailAcTime = setTimeout(function() {
+
+            //未点击自动完成项
+            $emailAutoComplete.addClass('hide');
+
+            cb && cb();
+        }, 200);
+    });
+
+    //邮箱自动完成列表项点击
+    $emailAutoComplete.on('click', 'li', function() {
+        clearTimeout(emailAcTime); //清空默认关闭
+
+        //点击自动完成项后进行验证
+        $input.val($(this).text()).focus();
+
+        $emailAutoComplete.addClass('hide');
+
+        cb && cb();
+    });
+};
+});
+define("js/passport/login", ["jquery","jquery.placeholder"], function(require, exports, module){
+/**
+ * 登录
+ * @author: xuqi<qi.xu@yoho.cn>
+ * @date: 2015/12/11
+ */
+var $ = require("jquery");
+
+var $account = $('#account'),
+    $password = $('#password'),
+    $captcha = $('#captcha');
+
+var $accountTip = $account.siblings('.err-tip'),
+    $passwordTip = $password.siblings('.err-tip'),
+    $captchaTip = $captcha.siblings('.err-tip'),
+    $capsLock = $('#caps-lock');
+
+var $countryCodeHide = $('#country-code-hide'),
+    $countryCodeEm = $('#country-code > em'),
+    $countryList = $('#country-list');
+
+var $emailAutoComplete = $('#email-autocomplete');
+
+var mailPhoneRegx = require("js/passport/mail-phone-regx");
+var mailAc = require("js/passport/ac-email"); //邮箱自动完成
+
+var $remember = $('.remember-me');
+
+var captchaUrl = '/passport/images?t='; // /passport/images?t=1454464125
+
+var $captchaWrap = $('.captcha-wrap'),
+    $captcha = $captchaWrap.find('#captcha'),
+    $captchaImg = $captchaWrap.find('#captcha-img'),
+    $captchaTip = $captchaWrap.find('.err-tip');
+
+//checkbox status unicode
+var checkbox = {
+    checked: '&#xe612;',
+    unchecked: '&#xe613;'
+};
+
+var authing = false;
+
+var emailAcTime;
+
+require("jquery.placeholder");
+
+//验证账户名
+function validateAccount() {
+    var pass = false,
+        account = $.trim($account.val()),
+        countryCode = $countryCodeHide.val(),
+        err;
+
+    if (account !== '') {
+        if (/^[0-9]+$/.test(account)) {
+
+            //如果是纯数字,则作为手机号码处理
+            if (countryCode !== '+86' ||
+                mailPhoneRegx.phoneRegx[countryCode].test(account)) {
+                pass = true;
+            } else {
+                pass = false;
+                err = '手机号码不正确,请重新输入';
+            }
+        } else {
+            if (mailPhoneRegx.emailRegx.test(account)) {
+                pass = true;
+            } else {
+                pass = false;
+                err = '邮箱格式不正确,请重新输入';
+            }
+        }
+    } else {
+        err = '请输入账户名';
+    }
+
+    if (pass) {
+        $accountTip.addClass('hide');
+        $account.removeClass('error');
+    } else {
+        $accountTip.removeClass('hide').children('em').text(err);
+        $account.addClass('error');
+    }
+    return pass;
+}
+
+//验证密码
+function validatePassword() {
+    var pass = false,
+        password = $.trim($password.val()),
+        err;
+
+    if (password !== '') {
+        if (password.length < 6) {
+            err = '请输入长度为6-20字符的密码';
+        } else {
+            pass = true;
+        }
+    } else {
+        err = '请输入密码';
+    }
+
+    if (pass) {
+        $passwordTip.addClass('hide');
+        $password.removeClass('error');
+    } else {
+        $passwordTip.removeClass('hide').children('em').text(err);
+        $password.addClass('error');
+    }
+    return pass;
+}
+
+//验证验证码
+function validateCaptcha() {
+    var pass = false,
+        captcha = $.trim($captcha.val()),
+        err;
+
+    // 验证码不可见的时候不验证
+    if ($captchaWrap.is(':hidden')) {
+        return true;
+    }
+
+    if (captcha !== '') {
+        if (captcha.length !== 4) {
+            err = '请输入长度为4字符的验证码';
+        } else {
+            pass = true;
+        }
+    } else {
+        err = '请输入验证码';
+    }
+
+    if (pass) {
+        $captchaTip.addClass('hide');
+        $captcha.removeClass('error');
+    } else {
+        $captchaTip.removeClass('hide').children('em').text(err);
+        $captcha.addClass('error');
+    }
+    return pass;
+}
+
+//验证
+function validate() {
+    var pass = true,
+        account = $.trim($account.val()),
+        password = $.trim($password.val());
+
+    if (account !== '') {
+        pass = validateAccount() && validatePassword() && validateCaptcha();
+    } else {
+        pass = false;
+        $account.addClass('error');
+
+        if (password === '') {
+
+            //账户名和密码都为空的情况下点击登陆,只在账户输入框后显示错误提示
+            $accountTip.addClass('both-error').removeClass('hide').children('em').text('请输入账户名和密码');
+            $passwordTip.addClass('hide');
+            $password.addClass('error');
+        } else {
+            $accountTip.removeClass('hide').children('em').text('请输入账户名');
+        }
+    }
+
+    return pass;
+}
+
+//密码错误次数,超过三次显示验证码
+function vaAccountErrTimes() {
+    $captchaImg.attr('src', captchaUrl + $.now());
+    $captcha.val('');
+    $captchaWrap.removeClass('hide');
+}
+
+//登录
+function login() {
+    var pass = validate();
+
+    if (pass && authing === false) {
+        authing = true;
+
+        $.ajax({
+            url: '/passport/login/auth',
+            type: 'POST',
+            data: {
+                areaCode: $countryCodeHide.val().replace('+', ''),
+                account: $.trim($account.val()),
+                password: $.trim($password.val()),
+                captcha: $.trim($captcha.val()),
+                isRemember: $remember.hasClass('checked') ? true : false
+            },
+            success: function(res) {
+                if (res.code === 200) {
+                    if (res.data) {
+
+                        //防止data.data为undefined时下行语句执行出错而导致脚本不能走到complete去处理authing
+                        location.href = res.data.session;
+                    }
+                } else {
+                    if (res.data.errorType === 'captcha') {
+                        $captchaTip.removeClass('hide').children('em').html(res.message);
+                        $captcha.addClass('error').val('');
+                    } else {
+                        $passwordTip.removeClass('hide').children('em').html(res.message);
+                        $password.addClass('error').val('');
+                    }
+
+                    //验证错误次数
+                    if (res.data && res.data.needCaptcha) {
+                        vaAccountErrTimes();
+                    }
+                }
+            },
+            complete: function() {
+                authing = false;
+            }
+        });
+    }
+}
+
+mailAc($account, function() {
+        if (validateAccount()) {
+            $.ajax({
+                url: '/passport/login/account',
+                type: 'GET',
+                data: {
+                    account: $.trim($account.val())
+                }
+            }).then(function(res) {
+                if (res.data && res.data.needCaptcha) {
+                    vaAccountErrTimes();
+                }
+            });
+        }
+    }
+);
+
+$('[placeholder]').placeholder();
+
+//展开地区列表
+$('#country-code').on('click', function() {
+    if ($countryList.css('display') === 'none') {
+        $countryList.slideDown();
+    }
+});
+
+//选中地区列表项
+$countryList.on('click', 'li', function() {
+    var $this = $(this),
+        cc = $this.data('cc');
+
+    $countryCodeEm.html($this.html());
+
+    $countryCodeHide.val(cc);
+
+    $countryList.slideUp();
+});
+
+//点击其他区域,收起区域列表
+$(document).on('click', function(e) {
+    if ($(e.target).closest('#country-code').length > 0) {
+        return;
+    }
+
+    if ($countryList.css('display') === 'block') {
+        $countryList.slideUp();
+    }
+});
+
+//密码
+$password.on('blur', function() {
+    validatePassword();
+
+    if ($capsLock.hasClass('hide')) {
+        return;
+    }
+
+    $capsLock.addClass('hide');
+}).on('keypress', function(e) {
+    var code = e.which;
+
+    //CapsLock检测
+    if (code >= 65 && code <= 90) {
+        $capsLock.removeClass('hide');
+        return;
+    }
+    $capsLock.addClass('hide');
+});
+
+// 验证码
+$captcha.on('blur', function() {
+    validateCaptcha();
+});
+
+//邮箱自动完成列表项点击
+$emailAutoComplete.on('click', 'li', function() {
+    clearTimeout(emailAcTime); //清空默认关闭
+
+    $account.val($(this).text()).focus();
+
+    $emailAutoComplete.addClass('hide');
+});
+
+//记住登录状态
+$remember.on('click', function() {
+    var $this = $(this);
+
+    $this.toggleClass('checked');
+
+    if ($this.hasClass('checked')) {
+        $this.children('i').html(checkbox.checked);
+    } else {
+        $this.children('i').html(checkbox.unchecked);
+    }
+});
+
+//focus到输入框则隐藏错误提示和样式
+$('.va').on('focus', function() {
+    var $this = $(this);
+
+    $this.removeClass('error');
+
+    $this.siblings('.err-tip').addClass('hide');
+});
+
+// 验证码刷新
+$captchaWrap.on('click', '.change-captcha, .captcha-img', function() {
+    $captchaImg.attr('src', captchaUrl + $.now());
+});
+
+//登录
+$('#login-btn').on('click', login);
+
+//Enter登录
+$('input.va').on('keypress', function(e) {
+    if (e.which === 13) {
+        login();
+    }
+});
+
+// 初始:只带账户名的页面,密码输入获得焦点
+if (($account.val() !== '' || $account.val() === $account.attr('placeholder')) &&
+    $password.val() === '') {
+    $password.focus();
+}
+});
+define("js/passport/reset", ["jquery","jquery.placeholder"], function(require, exports, module){
+/**
+ * 找回密码
+ * @author: xuqi<qi.xu@yoho.cn>
+ * @date: 2015/12/14
+ */
+
+var $ = require("jquery");
+
+var $pwd = $('#pwd'),
+    $repwd = $('#re-input'),
+    $next = $('#reset-pwd-btn'),
+    $pwdErr = $('#pwd-err'),
+    $repwdErr = $('#repwd-err'),
+    $pwdTips = $('#pwd-tips');
+
+var hasNoErrPw = false;
+
+var $pwdIntensity = $('.pwd-intensity'),
+    $pwdParent = $pwdIntensity.closest('.pwd-intensity-container'),
+    $pwdTip1 = $('#pwd-tip1');
+
+var pwdRegx = require("js/passport/mail-phone-regx").pwdValidateRegx;
+
+require("jquery.placeholder");
+
+
+/*
+ * 计算密码复杂度
+ */
+
+function gettype(str, i) {
+    if (str.charCodeAt(i) >= 48 && str.charCodeAt(i) <= 57) {
+        return 1;
+    } else if (str.charCodeAt(i) >= 97 && str.charCodeAt(i) <= 122) {
+        return 2;
+    } else if (str.charCodeAt(i) >= 65 && str.charCodeAt(i) <= 90) {
+        return 3;
+    }
+
+    return 4;
+}
+
+function isregular(cur, pre, type) {
+    var curCode = cur.charCodeAt(0);
+    var preCode = pre.charCodeAt(0);
+
+    if (curCode - preCode === 0) {
+        return true;
+    }
+
+    if (type !== 4 && (curCode - preCode === 1 || curCode - preCode === -1)) {
+        return true;
+    }
+
+    return false;
+}
+
+function getcomplex(curType, preType) {
+    if (preType === 0 || curType === preType) {
+        return 0;
+    } else if (curType === 4 || preType === 4) {
+        return 2;
+    } else {
+        return 1;
+    }
+}
+
+function computeComplex(password) {
+    var complex = 0,
+        length = password.length,
+        pre = '',
+        preType = 0,
+        i = 0,
+        cur,
+        curType;
+
+
+    for (i = 0; i < length; i++) {
+        cur = password.charAt(i);
+        curType = gettype(password, i);
+
+        if (preType !== curType || !isregular(cur, pre, curType)) {
+            complex += curType + getcomplex(curType, preType);
+        }
+
+        pre = cur;
+        preType = curType;
+    }
+
+    return complex;
+}
+
+function pwdKeyupEvt() {
+    var pwd = $pwd.val(),
+        pwdStrength = computeComplex(pwd),
+        level = 0;
+
+    //TODO:自定义密码强度规则,需要修正
+    if (pwdStrength === 0) {
+        level = 0;
+    } else if (pwdStrength <= 10) {
+        level = 1;
+    } else if (pwdStrength <= 20) {
+        level = 2;
+    } else {
+        level = 3;
+    }
+    switch (level) {
+        case 0:
+            $pwdParent.removeClass('red yellow green');
+            $pwdIntensity.removeClass('color');
+            break;
+        case 1:
+            $pwdParent.addClass('red').removeClass('yellow green');
+            $pwdIntensity.filter('.low').addClass('color');
+            $pwdIntensity.filter('.mid,.high').removeClass('color');
+            break;
+        case 2:
+            $pwdParent.addClass('yellow').removeClass('red green');
+            $pwdIntensity.filter('.low,.mid').addClass('color');
+            $pwdIntensity.filter('.high').removeClass('color');
+            break;
+        case 3:
+            $pwdParent.addClass('green').removeClass('yellow red');
+            $pwdIntensity.addClass('color');
+            break;
+    }
+
+    //提示框
+    if (pwd === '') {
+        $pwdTip1.removeClass('red yes no').addClass('default');
+    } else if (pwd.length < 6 || pwd.length > 20) {
+        $pwdTip1.removeClass('default yes').addClass('no red');
+    } else {
+        $pwdTip1.removeClass('default no red').addClass('yes');
+    }
+
+    if (pwdRegx.test(pwd)) {
+        hasNoErrPw = true;
+    } else {
+        hasNoErrPw = false;
+    }
+}
+
+//IE8 placeholder
+$('input').placeholder();
+
+$('.va').keyup(function() {
+    var pass = true;
+
+    if ($(this).hasClass('pwd')) {
+        pwdKeyupEvt();
+    } else {
+        if ($(this).val() === '') {
+            pass = false;
+        }
+    }
+    if (pass && hasNoErrPw && $pwd.val() === $repwd.val()) {
+        pass = true;
+    } else {
+        pass = false;
+    }
+    if (pass) {
+        $next.removeClass('disable').prop('disabled', false);
+    } else {
+        $next.addClass('disable').prop('disabled', true);
+    }
+}).blur(function() {
+    var $this = $(this),
+        v = $this.val();
+
+    if ($this.hasClass('pwd')) {
+        if (v === '') {
+            $this.addClass('error');
+            $pwdErr.removeClass('hide').find('em').text('请输入密码');
+        } else if (v.length < 6 || v.length > 20) {
+            $this.addClass('error');
+            $pwdErr.removeClass('hide').find('em').text('密码只支持6-20位');
+        } else if (!pwdRegx.test(v)) {
+            $this.addClass('error');
+            $pwdErr.removeClass('hide').find('em').text('密码须字母和数字组合');
+        } else {
+            $pwdErr.addClass('hide');
+            if ($repwd.val() !== '') {
+                if (v !== $repwd.val()) {
+                    $repwd.addClass('error');
+                    $repwdErr.removeClass('hide').find('em').text('两次密码输入不一致,请重新输入');
+                } else {
+                    $repwd.removeClass('error');
+                    $repwdErr.addClass('hide');
+                }
+            }
+        }
+    } else {
+        if (v === '') {
+            $this.addClass('error');
+            $repwdErr.removeClass('hide').find('em').text('请输入密码确认');
+        } else {
+            if ($pwd.val() !== '' && v !== $pwd.val()) {
+                $this.addClass('error');
+                $repwdErr.removeClass('hide').find('em').text('两次密码输入不一致,请重新输入');
+            } else {
+                $this.removeClass('error');
+                $repwdErr.addClass('hide');
+            }
+        }
+    }
+}).focus(function() {
+    $(this).removeClass('error');
+
+    //focus后错误提示隐藏
+    if ($(this).hasClass('pwd')) {
+        $pwdErr.addClass('hide');
+    } else {
+        $repwdErr.addClass('hide');
+    }
+});
+
+$pwd.focus(function() {
+    $pwdErr.addClass('hide');
+    $pwdTips.removeClass('hide');
+}).blur(function() {
+    $pwdTips.addClass('hide');
+});
+
+$('#pwd, #repwd').keydown(function(e) {
+    var code = e.keyCode || e.which;
+
+    //空格输入过滤
+    if (code === 32) {
+        e.preventDefault();
+        return;
+    }
+});
+
+});
+define("js/passport/vertification", ["jquery"], function(require, exports, module){
+/**
+ * 验证手机
+ * @author: xuqi<qi.xu@yoho.cn>
+ * @date: 2015/12/14
+ */
+
+var $ = require("jquery");
+
+var $sc = $('#send-captcha'),
+    $msgTip = $('#captcha-tip'),
+    $errTip = $('#err-tip'),
+    $next = $('#next-step'),
+    seconds,
+    itime;
+
+$sc.click(function() {
+    $.post('/passport/back/sendbackmobile', {
+        mobile: $('#mobile').val(),
+        area: $('#area').val(),
+        verifyCode: $('#captchaPic').val()
+    }, function(jsonData) {
+        if (jsonData.code === 200) {
+            $errTip.hide();
+            if ($(this).hasClass('disable')) {
+                return;
+            }
+            seconds = 60;
+
+            //$sc.addClass('disable').prop('disabled', true);
+            $sc.addClass('disable').attr('disabled', true);
+            $msgTip.removeClass('hide');
+
+            $sc.val(seconds-- + '秒后可重新操作');
+            itime = setInterval(function() {
+                if (seconds === 0) {
+                    clearInterval(itime);
+
+                    //$sc.val('发送验证码').removeClass('disable').prop('disabled', false);
+                    $sc.val('发送验证码').removeClass('disable').removeAttr('disabled');
+                } else {
+                    $sc.val(seconds-- + '秒后可重新操作');
+                }
+            }, 1000);
+        } else {
+            $(this).addClass('error');
+            $errTip.removeClass('hide').text('发送失败');
+        }
+    });
+});
+
+seconds = 60;
+
+//$sc.addClass('disable').prop('disabled', true);
+$sc.addClass('disable').attr('disabled', true);
+$msgTip.removeClass('hide');
+
+$sc.val(seconds-- + '秒后可重新操作');
+itime = setInterval(function() {
+    if (seconds === 0) {
+        clearInterval(itime);
+
+        //$sc.val('发送验证码').removeClass('disable').prop('disabled', false);
+        $sc.val('发送验证码').removeClass('disable').removeAttr('disabled');
+    } else {
+        $sc.val(seconds-- + '秒后可重新操作');
+    }
+}, 1000);
+
+
+$('#captcha').keyup(function() {
+    var v = $.trim($(this).val()),
+        that = this;
+
+    if (v.length === 4) {
+        $.ajax({
+            type: 'POST',
+            url: '/passport/back/backmobile',
+            dataType: 'json',
+            data: {
+                code: $('#captcha').val(),
+                verifyCode: $('#captchaPic').val(),
+                area: $('#area').val(),
+                mobile: $('#mobile').val()
+            },
+            success: function(res) {
+                if (res.code === 200) {
+
+                    //添加验证码正确验证
+                    $next.removeClass('disable').attr('href', res.data);
+                    $errTip.addClass('hide');
+                    $(that).removeClass('error');
+                } else {
+                    $next.addClass('disable');
+                    $errTip.removeClass('hide').find('em').text('验证码输入错误');
+                    $(that).addClass('error');
+                }
+            }
+        });
+    } else {
+        $next.addClass('disable').attr('href', 'javascript:;');
+    }
+}).blur(function() {
+    var v = $.trim($(this).val());
+
+    if (v === '') {
+
+        //添加验证码正确验证
+        $(this).addClass('error');
+        $errTip.removeClass('hide').text('请输入验证码');
+    }
+}).focus(function() {
+    $(this).removeClass('error');
+});
+});
+define("js/passport/thirdlogin", ["jquery"], function(require, exports, module){
+/**
+ * 第三方登录首页
+ * @author: wq
+ * @date: 2016/1/21
+ */
+var $ = require("jquery");
+var phoneRegx = require("js/passport/mail-phone-regx").phoneRegx;
+
+var nopermissionoption = $('#nopermissionmessage').html(); //倒计时dom
+var sendmessagehtml = $('.validatewrapper').html(); //发送短信dom
+var second = +$('.second').text(); //倒计时秒数
+var dovalidate = false; //校验验证码标识
+var validatecode = false; //验证码是否通过
+var choosedpic = '//cdn.yoho.cn/yohobuy/assets/img/passport/choosed.png';//已选择图片
+
+var $wrapper = $('.bindwrapper'),
+    $phoneTip = $wrapper.find('.phone-err-tip'),
+    $nextBtn = $wrapper.find('.yohobindbtn');
+
+/**
+ * 选择协议
+ * @return {[type]} [description]
+ */
+function chooseProtocol() {
+    $('.choosetag').on('change', function() {
+        var btnColor = '#f02200';
+
+        if ($(this).attr('checked') === 'checked') {
+            $('.choosewrapper').css({
+                'background-image': 'url("' + choosedpic + '")'
+            });
+        } else {
+            $('.choosewrapper').css({
+                'background-image': 'none'
+            });
+            btnColor = '#CCCCCC';
+        }
+        $nextBtn.css({
+            'background-color': btnColor
+        });
+    });
+}
+/**
+ * 判断是否同意协议
+ * @return {[type]} [description]
+ */
+function isagree() {
+    return $('.choosetag').attr('checked') === 'checked';
+}
+/**
+ * 选择区域的开关
+ * @return {[type]} [description]
+ */
+function chooseAreaToogle() {
+    $('.optionshow').on('click', function() {
+        $('.optionslist').toggleClass('hide');
+    });
+}
+
+/**
+ * 验证码校验
+ * @return {[type]} [description]
+ */
+function codeValidate() {
+    var validatenum = '';
+
+    $(document).on('keyup', '#validatenum', function() {
+        validatenum = $(this).val();
+        if (validatenum.length === 4) {
+            if (!dovalidate) {
+                dovalidate = true;
+                $.ajax({
+                    type: 'POST',
+                    url: '/passport/autouserinfo/checkBindMsg',
+                    data: {
+                        code: validatenum,
+                        mobile: $('#mobile').val(),
+                        area: $('#areacode').val()
+                    }
+                }).then(function(data) {
+                    dovalidate = false;
+                    if (data.code === 200) {
+                        validatecode = true;
+                    } else {
+                        alert(data.message);
+                    }
+                });
+            }
+        }
+    });
+
+    $('#validatenum').focus(function() {
+        $(this).removeAttr('placeholder');
+    }).blur(function() {
+        $(this).attr('placeholder', '验证码');
+    });
+}
+
+/**
+ * 选择区域
+ * @return {[type]} [description]
+ */
+function chooseArea() {
+    $('.optionitem').on('click', function() {
+        var $option = $(this);
+        var areanum = $option.attr('areanum');
+        var areaname = $option.text();
+
+        $('#areaname').text(areaname);
+        $('#areanum').text(areanum);
+        $('#areacode').val(areanum);
+        $('.optionslist').addClass('hide');
+    });
+}
+/**
+ * 取消选择区域
+ * @return {[type]} [description]
+ */
+function cancelChooseArea() {
+    $(document).on('click', 'body', function(e) {
+        var $target = $(e.target);
+
+        if ($target.hasClass('yohoselectarea') ||
+            $target.hasClass('areaname') ||
+            $target.hasClass('righttag') ||
+            $target.hasClass('optionslist') ||
+            $target.hasClass('optionitem')) {
+            return;
+        } else {
+            $('.optionslist').addClass('hide');
+        }
+    });
+}
+/**
+ * 去掉区域号的加号
+ * @return {[type]} [description]
+ */
+function fixAreaNum() {
+    var $opitem = '';
+    var itemarecode = '';
+
+    $('.optionitem').each(function() {
+        $opitem = $(this);
+        itemarecode = $opitem.attr('areanum').replace(/\+/g, '');
+        $opitem.attr('areanum', itemarecode);
+    });
+}
+
+/**
+ * 关闭蒙层
+ * @return {[type]} [description]
+ */
+function closeMask() {
+    var $target;
+
+    $(document).on('click', '#alreayregist', function(e) {
+        $target = $(e.target);
+        if ($target.hasClass('mask') || $target.hasClass('backdrop')) {
+            $('#alreayregist').hide();
+            $('.backdrop').hide();
+        }
+    });
+    $(document).on('click', '#bindconfirm', function(e) {
+        $target = $(e.target);
+        if ($target.hasClass('mask') || $target.hasClass('backdrop')) {
+            $('#bindconfirm').hide();
+            $('.backdrop').hide();
+        }
+    });
+}
+/**
+ * 绑定其他手机号
+ * @return {[type]} [description]
+ */
+function yohoBindBtn() {
+    $(document).on('click', '#yohobindbtn', function(e) {
+        $('.phonenum').val('');
+        $('#bindconfirm').hide();
+        $('.backdrop').hide();
+    });
+    $(document).on('click', '#yohobindbtn2', function(e) {
+        $('.phonenum').val('');
+        $('#alreayregist').hide();
+        $('.backdrop').hide();
+    });
+}
+/**
+ * 发送短信的时间变换动画
+ * @return {[type]} [description]
+ */
+function changeSecond() {
+    second -= 1;
+    if (second < 0) {
+        second = 60;
+        $('.validatewrapper').html(sendmessagehtml);
+        return;
+    } else {
+        $('.second').text(second);
+        window.setTimeout(changeSecond, 1000);
+    }
+
+}
+/**
+ * 时间循环
+ * @param  {[type]} phonenum [description]
+ * @return {[type]}          [description]
+ */
+function circleTime(phonenum) {
+    $('.validatewrapper').html(nopermissionoption);
+    window.setTimeout(changeSecond, 1000);
+}
+/**
+ * 发送短信
+ * @return {[type]} [description]
+ */
+function sendMessageValidate() {
+    $(document).on('click', '#sendmessage', function() {
+        if ($('#sendmessage').attr('disabled') === 'disabled') {
+            return;
+        }
+        circleTime($('#mobile').val());
+        $.ajax({
+            type: 'POST',
+            url: '/passport/autouserinfo/sendBindMsg',
+            data: {
+                mobile: $('#mobile').val(),
+                area: $('#areacode').val()
+            }
+        }).then(function(data) {
+            if (data.code !== 200) {
+                alert(data.message);
+            }
+        });
+
+    });
+}
+
+/**
+ * 最终提交表单
+ */
+function actionSubmit() {
+    var mobile = '';
+    var area = '';
+
+    area = $('#areacode').val();
+    mobile = $('#mobile').val();
+    $.ajax({
+        type: 'POST',
+        url: '/passport/autouserinfo/bindMobile',
+        data: {
+            area: area,
+            openId: $('#openId').val(),
+            sourceType: $('#sourceType').val(),
+            mobile: mobile,
+            code: $('#validatenum').val()
+        }
+    }).then(function(data) {
+        if (data.code === 200) {
+            if (data.data && data.data.refer) {
+                window.location.href = data.data.refer;
+            } else {
+                window.location.href = '/passport/thirdlogin/bindsuccess';
+            }
+        } else {
+            alert(data.message);
+        }
+    });
+}
+
+/**
+ * 确认去绑定
+ * @return {[type]} [description]
+ */
+function goToBindPhone() {
+    $(document).on('click', '#gotobindphone', function() {
+        if (validatecode === true) {
+            $('#inarea').val($('#areacode').val());
+            $('#inmobile').val($('#mobile').val());
+            actionSubmit();
+        } else {
+            alert('请输入正确验证码');
+        }
+    });
+}
+/**
+ * 点击下一步
+ * @return {[type]} [description]
+ */
+function nextStep() {
+    var openId = '';
+    var sourceType = '';
+    var mobile = '';
+    var areaCode = '';
+    var username = '';
+    var headImg = '';
+
+    $('#bindfirststep').on('click', function(e) {
+        var regx;
+
+        e.preventDefault();
+        mobile = $('.phonenum').val();
+        areaCode = $('#areanum').text();
+        regx = phoneRegx['+' + areaCode];
+
+        if (!isagree()) {
+            return;
+        }
+        if (mobile === '' || !regx || !regx.test(mobile)) {
+            $phoneTip.find('em').text('手机格式错误');
+            $phoneTip.removeClass('hide');
+            return;
+        }
+        openId = $('#openId').val() || '29803EC6D4AAC3AAB8ABDB6AE829D579';
+        sourceType = $('#sourceType').val() || 'qq';
+        $.ajax({
+            type: 'post',
+            url: '/passport/autouserinfo/bindCheck',
+            data: {
+                mobile: mobile,
+                area: areaCode,
+                openId: openId,
+                sourceType: sourceType
+            },
+            dataType: 'json',
+            success: function(data) {
+                var winHeight = $(window).height();
+
+                if (data.code === 200) {
+                    $('#bindmobileform').attr('action', data.data.next);
+                    $('#bindmobileform').submit();
+                } else if (data.code === 201) {
+
+                    // 已注册 未绑定
+                    username = data.data.user.username;
+                    headImg = data.data.user.headImg;
+                    $('#registphone').text(mobile);
+                    $('#username').text(username);
+                    if (headImg === '') {
+                        $('#userphoto').attr('src', '//img10.static.yhbimg.com/headimg/2013/11/28/09/' +
+                            '01cae078abe5fe320c88cdf4c220212688.gif?imageView/2/w/100/h/100');
+                    } else {
+                        $('#userphoto').attr('src', headImg);
+                    }
+                    $('#logindirectly2').attr('href', data.data.user.bindLogin);
+                    $('.backdrop').show();
+                    $('#sendmessage').click();
+                    $('#alreayregist .mask').css({
+                        'padding-top': winHeight > 440 ? winHeight / 2 : 217
+                    });
+                    $('#alreayregist').show();
+                } else if (data.code === 203) {
+
+                    // 已注册 可关联
+                    $('#bindmobileform').attr('action', data.data.next);
+                    $('#bindmobileform').submit();
+                } else if (data.code === 205) {
+
+                    // 未注册 不可关联
+                    username = data.data.user.username;
+                    headImg = data.data.user.headImg;
+                    $('#registphonetwo').text(mobile);
+                    $('#username1').text(username);
+                    if (headImg === '') {
+                        $('#userphoto1').attr('src', '//img10.static.yhbimg.com/headimg/2013/11/28/09/' +
+                            '01cae078abe5fe320c88cdf4c220212688.gif?imageView/2/w/100/h/100');
+                    } else {
+                        $('#userphoto1').attr('src', headImg);
+                    }
+                    $('#logindirectly').attr('href', data.data.user.bindLogin);
+                    $('.backdrop').show();
+                    $('#bindconfirm .mask').css({
+                        'padding-top': winHeight > 440 ? winHeight / 2 : 217
+                    });
+                    $('#bindconfirm').show();
+                } else if (data.code === 402) {
+                    $phoneTip.find('em').text('手机格式错误');
+                    $phoneTip.removeClass('hide');
+                } else {
+                    if (data && data.message) {
+                        alert(data.message);
+                    }
+                }
+            }
+        });
+    });
+}
+
+$wrapper.on('keydown', '.phonenum', function(e) {
+    if (e.keyCode === 13) {
+        $nextBtn.trigger('click');
+        return false;
+    }
+});
+
+function init() {
+    fixAreaNum(); //去掉所有区域的+
+    sendMessageValidate(); //有交互的发送短信
+    chooseProtocol(); //选择协议
+    chooseArea(); //选择区域
+    chooseAreaToogle(); //选择区域展示或关闭
+    cancelChooseArea(); //取消选择区域
+    nextStep();  //下一步
+    closeMask(); //关闭蒙层
+    yohoBindBtn(); //绑定其他手机号点击
+    goToBindPhone(); //绑定手机
+    codeValidate(); //验证码校验
+}
+init();
+});
+define("js/passport/third-pwd", ["jquery"], function(require, exports, module){
+/**
+ * 第三方绑定完善个人信息
+ * @author: wq
+ * @date: 2016/1/27
+ */
+var $ = require("jquery");
+var dovalidate = false; //校验验证码的标识
+var isvalidatecode = false; //是否验证成功的标识
+var isvalidatepwd = false; //密码验证是否通过的标识
+var second = ''; //倒计时时间
+var nopermissionoption = ''; //倒计时的dom
+var sendmessagehtml = ''; //发送短信的dom
+var submitStatus = false; //信息提交状态
+
+var $wrapper = $('.bindwrapper'),
+    $codeTip = $wrapper.find('.code-err-tip'),
+    $pwdTip = $wrapper.find('.pwd-err-tip'),
+    $pwdTip2 = $('#pwd-tip2'),
+    $sendMsgBtn = $('#sendmessage');
+var $pwd,
+    $pwdParent,
+    $pwdTip1,
+    $pwdIntensity;
+
+var pwdRegx = require("js/passport/mail-phone-regx").pwdValidateRegx;
+var mobile = $('#mobile').val(),
+    area = $('#area').val();
+
+nopermissionoption = $('#nopermissionmessage').html();
+sendmessagehtml = $('.validatewrapper').html();
+second = +$('.second').text();
+
+
+function gettype(str, i) {
+    if (str.charCodeAt(i) >= 48 && str.charCodeAt(i) <= 57) {
+        return 1;
+    } else if (str.charCodeAt(i) >= 97 && str.charCodeAt(i) <= 122) {
+        return 2;
+    } else if (str.charCodeAt(i) >= 65 && str.charCodeAt(i) <= 90) {
+        return 3;
+    }
+
+    return 4;
+}
+
+function isregular(cur, pre, type) {
+    var curCode = cur.charCodeAt(0);
+    var preCode = pre.charCodeAt(0);
+
+    if (curCode - preCode === 0) {
+        return true;
+    }
+
+    if (type !== 4 && (curCode - preCode === 1 || curCode - preCode === -1)) {
+        return true;
+    }
+
+    return false;
+}
+
+
+function getcomplex(curType, preType) {
+    if (preType === 0 || curType === preType) {
+        return 0;
+    } else if (curType === 4 || preType === 4) {
+        return 2;
+    } else {
+        return 1;
+    }
+}
+
+
+/**
+ * @desc: 计算密码复杂度(from://www.oschina.net/code/snippet_127301_17269)
+ * @author: xuqi(qi.xu@yoho.cn)
+ * @date: 2015/5/6
+ */
+function computeComplex(password) {
+    var complex = 0;
+    var length = password.length;
+    var pre = '';
+    var preType = 0;
+    var i = 0;
+    var cur = '';
+    var curType = '';
+
+    for (i; i < length; i++) {
+        cur = password.charAt(i);
+        curType = gettype(password, i);
+        if (preType !== curType || !isregular(cur, pre, curType)) {
+            complex += curType + getcomplex(curType, preType);
+        }
+        pre = cur;
+        preType = curType;
+    }
+
+    return complex;
+}
+
+function showErrTip($dom, info) {
+    $dom.find('em').text(info);
+    $dom.removeClass('hide');
+}
+
+function changeSecond() {
+    second -= 1;
+    if (second < 0) {
+        second = 60;
+        $('.validatewrapper').html(sendmessagehtml);
+        return;
+    } else {
+        $('.second').text(second);
+        window.setTimeout(changeSecond, 1000);
+    }
+
+}
+/**
+ * 启动倒计时
+ * @return {[type]} [description]
+ */
+function circleTime() {
+    $('.validatewrapper').html(nopermissionoption);
+    window.setTimeout(changeSecond, 1000);
+}
+
+function sendMessageValidate() {
+    $(document).on('click', '#sendmessage', function() {
+        circleTime();
+        $.ajax({
+            type: 'POST',
+            url: '/passport/autouserinfo/sendBindMsg',
+            data: {
+                mobile: mobile,
+                area: area
+            }
+        }).then(function(data) {
+            if (data.code !== 200) {
+                alert(data.message);
+            }
+        });
+
+    });
+}
+
+
+
+function codeValidate() {
+    var validatenum = '';
+
+    $(document).on('keyup', '#validatenum', function() {
+        $('#err-info').hide();
+        validatenum = $(this).val();
+        if (validatenum.length === 4) {
+            if (!dovalidate) {
+                dovalidate = true;
+                $.ajax({
+                    type: 'POST',
+                    url: '/passport/autouserinfo/checkBindMsg',
+                    data: {
+                        code: validatenum,
+                        mobile: mobile,
+                        area: area
+                    }
+                }).then(function(data) {
+                    dovalidate = false;
+                    if (data.code !== 200) {
+                        $('#err-info').show();
+                    } else {
+                        isvalidatecode = true;
+                    }
+                });
+            }
+        }
+    });
+}
+
+function pwdKeyupEvt() {
+    var pwd = $pwd.val(),
+        pwdStrength = computeComplex(pwd),
+        level = 0;
+
+    if (pwdStrength === 0) {
+        level = 0;
+    } else if (pwdStrength <= 10) {
+        level = 1;
+    } else if (pwdStrength <= 20) {
+        level = 2;
+    } else {
+        level = 3;
+    }
+    switch (level) {
+        case 0:
+            $pwdParent.removeClass('red yellow green');
+            $pwdIntensity.removeClass('color');
+            break;
+        case 1:
+            $pwdParent.addClass('red').removeClass('yellow green');
+            $pwdIntensity.filter('.low').addClass('color');
+            $pwdIntensity.filter('.mid,.high').removeClass('color');
+            break;
+        case 2:
+            $pwdParent.addClass('yellow').removeClass('red green');
+            $pwdIntensity.filter('.low,.mid').addClass('color');
+            $pwdIntensity.filter('.high').removeClass('color');
+            break;
+        case 3:
+            $pwdParent.addClass('green').removeClass('yellow red');
+            $pwdIntensity.addClass('color');
+            break;
+    }
+    if (pwd === '') {
+        isvalidatepwd = false;
+        $pwdTip1.removeClass('red yes no').addClass('default');
+    } else {
+        if (pwd.length < 6 || pwd.length > 20) {
+            isvalidatepwd = false;
+            $pwdTip1.removeClass('default yes').addClass('no red');
+        } else {
+            isvalidatepwd = true;
+            $pwdTip1.removeClass('default no red').addClass('yes');
+        }
+        if (/^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]*$/.test(pwd)) {
+            $pwdTip2.removeClass('default no red').addClass('yes');
+        } else {
+            $pwdTip2.removeClass('default yes').addClass('no red');
+        }
+    }
+}
+
+function validatePwd() {
+    $(document).on('keyup', '.pwdcontent', function() {
+        pwdKeyupEvt($(this));
+    });
+    $(document).on('focus', '.pwdcontent', function() {
+        $('#pwd-tips').removeClass('hide');
+    });
+    $(document).on('blur', '.pwdcontent', function() {
+        $('#pwd-tips').addClass('hide');
+    });
+}
+
+/**
+ * 最终提交表单
+ */
+function actionSubmit() {
+    var pwd = '';
+    var code = '';
+
+    // 查看提交状态,避免重复提交
+    if (submitStatus) {
+        return;
+    }
+    submitStatus = true;
+    setTimeout(function() {
+        submitStatus = false;
+    }, 50000);
+
+    pwd = $('#pwd').val();
+    code = $('#validatenum').val();
+    $.ajax({
+        type: 'POST',
+        url: '/passport/autouserinfo/bindMobile',
+        data: {
+            area: area,
+            openId: $('#openId').val(),
+            sourceType: $('#sourceType').val(),
+            mobile: mobile,
+            password: pwd,
+            code: code
+        }
+    }).then(function(data) {
+        submitStatus = false;
+        if (data.code === 200) {
+            if (data.data && data.data.refer) {
+                window.location.href = data.data.refer;
+            } else {
+                window.location.href = '/passport/thirdlogin/bindsuccess';
+            }
+        } else {
+            alert(data.message);
+        }
+    });
+}
+/**
+ * 确定完善信息
+ * @return {[type]} [description]
+ */
+function actionConfirm() {
+    var validatenum = '';
+    var pwd = '';
+
+    $('#confirmsubmit').on('click', function() {
+        var isAssess = true;
+
+        validatenum = $('#validatenum').val();
+        pwd = $('#pwd').val();
+
+        if (validatenum === '') {
+            showErrTip($codeTip, '短信验证码不能为空');
+            isAssess = false;
+        } else if (isvalidatecode === false) {
+            showErrTip($codeTip, '请输入正确的验证码');
+            isAssess = false;
+        }
+
+        if (pwd === '') {
+            showErrTip($pwdTip, '密码不能为空');
+            isAssess = false;
+        } else if (pwd.length < 6 || pwd.length > 20) {
+            showErrTip($pwdTip, '密码只支持6-20位字符');
+            isAssess = false;
+        } else if (!pwdRegx.test(pwd)) {
+            showErrTip($pwdTip, '密码须由字母和数字组合');
+            isAssess = false;
+        } else if (isvalidatepwd === false) {
+            showErrTip($pwdTip, '请输入符合强度的密码');
+            isAssess = false;
+        }
+
+        if (!isAssess) {
+            return;
+        }
+
+        actionSubmit();
+    });
+}
+
+
+
+function init() {
+    $pwd = $('#pwd');
+    $pwdParent = $('.safelevel');
+    $pwdIntensity = $('.pwd-intensity');
+    $pwdTip1 = $('#pwd-tip1');
+    sendMessageValidate();
+    codeValidate();
+    validatePwd();
+    actionConfirm();
+    if (mobile && area) {
+        $sendMsgBtn.click();
+    }
+}
+
+init();
+
+});
+define("js/passport/relate", ["jquery"], function(require, exports, module){
+/**
+ * 第三方关联
+ * @author: yyqing<yanqing.yang@yoho.cn>
+ * @date: 2016/4/11
+ */
+var $ = require("jquery");
+
+var $relateMain = $('#relate-main'),
+    $codeValidate = $('#code-validate'),
+    $vaWrapper = $codeValidate.find('.validate-wrapper'),
+    $msgCode = $codeValidate.find('.msg-code'),
+    $second = $codeValidate.find('.count-down span'),
+    $errTip = $codeValidate.find('.code-error'),
+    $hideDom = $('#hide-info');
+
+var relate = {};
+
+var circleTime = {};
+
+relate = $hideDom.data();
+$hideDom.remove();
+
+// 倒计时
+circleTime = {
+    init: function() {
+        if (this.timer) {
+            window.clearTimeout(this.timer);
+        }
+        this.second = 60;
+        $vaWrapper.addClass('waiting');
+        this.changeTime();
+    },
+    changeTime: function() {
+        var that = this;
+
+        if (this.second && this.second > 0) {
+            $second.text(this.second);
+            this.second--;
+            this.timer = window.setTimeout(function() {
+                that.changeTime();
+            }, 1000);
+        } else {
+            this.clearTime();
+        }
+    },
+    clearTime: function() {
+        if (this.timer) {
+            window.clearTimeout(this.timer);
+        }
+        $vaWrapper.removeClass('waiting');
+    }
+};
+
+function sendVerifyMsg() {
+    circleTime.init();
+
+    $.ajax({
+        type: 'POST',
+        url: '/passport/autouserinfo/sendBindMsg',
+        data: {
+            mobile: relate.mobile,
+            area: relate.area
+        }
+    }).then(function(jsonData) {
+        if (jsonData && jsonData.code !== 200) {
+            circleTime.clearTime();
+            alert(jsonData.message);
+        }
+    });
+}
+
+function relateMobile() {
+    var code = $msgCode.val();
+
+    if (!code) {
+        return;
+    }
+
+    $.ajax({
+        type: 'POST',
+        url: '/passport/autouserinfo/relateMobile',
+        data: {
+            mobile: relate.mobile,
+            area: relate.area,
+            openId: relate.openid,
+            sourceType: relate.source,
+            code: code
+        }
+    }).then(function(jsonData) {
+        if (jsonData.code === 200) {
+            window.location.href = jsonData.data.refer;
+        } else if (jsonData.code === 402) {
+            $errTip.removeClass('hide');
+        } else {
+            $errTip.addClass('hide');
+            alert(jsonData.message);
+        }
+    });
+}
+
+$('#next-step-btn').click(function() {
+    sendVerifyMsg();
+    $relateMain.addClass('hide');
+    $errTip.addClass('hide');
+    $codeValidate.removeClass('hide');
+});
+
+$codeValidate.on('keydown', '.msg-code', function(e) {
+    if (e.keyCode === 13) {
+        relateMobile();
+        return false;
+    }
+});
+
+$codeValidate.on('click', '.get-code', function() {
+    sendVerifyMsg();
+});
+
+$codeValidate.on('click', '.perv-step', function() {
+    circleTime.clearTime();
+    $relateMain.removeClass('hide');
+    $codeValidate.addClass('hide');
+    $msgCode.val('');
+});
+
+$('#relate-btn').click(function() {
+    relateMobile();
+});
+});
+define("js/cart/cart", ["jquery","handlebars","source-map"], function(require, exports, module){
+/**
+ * @description:  购物车
+ * @author: chenglong.wang@yoho.cn
+ * @tips: 购物车的商品计价在服务端处理,客户端只要在每次操作后刷新页面重新渲染就可以了
+ */
+
+var $ = require("jquery");
+var Handlerbars = require("handlebars");
+var dialog = require("js/common/dialog");
+
+var Confirm = dialog.Confirm;
+var Alert = dialog.Alert;
+
+var $cartnewSum = $('.cartnew-sum'),
+    $cartnewTips = $('.cartnew-tips'),
+    $payWapper = $('.pay-wapper'),
+    $goodsDetail = $('.goods-detail'),
+    $histroy = $('.histroy'),
+    $together = $('.together'),
+    $shopCart = $('.shop-cart'),
+    togetherProductSource,
+    togetherProductTemplate,
+    togetherProductStr,
+    subjoinPage,
+    subjoinPageNum,
+    subjoinPageAll,
+    pageDom,
+    selected,
+    pageNum = 1,
+    delUrl,
+    count,
+    countJSON,
+    dataJSON,
+    pacList = 0,
+    shopNum = 1,
+    shopNumAll,
+    productSku,
+    promotionId,
+    promotionPrice,
+    yetCollect,
+    collect,
+    content,
+    productId,
+    shopName,
+    delNum,
+    understock,
+    selectArray = [],
+    PromotionArray = [],
+    perList = false,
+    commonList = false,
+    hasPromotion = false,
+    htmlInfo,
+    shopJson,
+    oldprice,
+    wapperPrice,
+    countBusy = false;
+
+
+// 关闭温馨提示
+$cartnewTips.find('.btn_close').click(function() {
+    $cartnewTips.fadeOut();
+});
+
+// checkbox提交ajax
+function choiceOut(data) {
+    $.ajax({
+        type: 'POST',
+        dataType: 'json',
+        url: '/cart/index/select',
+        data: data,
+        beforeSend: function() {
+            $('.loading').css({
+                top: $(document).scrollTop() + 200
+            });
+            $('.loading').show();
+        }
+    }).then(function(d) {
+        if (d.code === 200) {
+            window.history.go(0);
+        }
+    });
+}
+
+//单选提交
+$payWapper.one('click', '.common-sell-box input[type="checkbox"], .pre-sell-box input[type="checkbox"]', function() {
+    selected = $(this).attr('checked') ? 'Y' : 'N';
+    selectArray = [];
+    selectArray.push({
+        product_sku: $(this).parents('tr').data('id'),
+        selected: selected,
+        buy_number: $(this).parents('tr').data('productnum'),
+        goods_type: $(this).parents('tr').data('goodstype'),
+        promotion_id: $(this).parents('tr').data('promotionid') ? $(this).parents('tr').data('promotionid') : 0
+    });
+    if ($(this).parents('tr').promotion_id) {
+        hasPromotion = true;
+    } else {
+        hasPromotion = false;
+    }
+    dataJSON = {
+        skuList: JSON.stringify(selectArray),
+        hasPromotion: hasPromotion
+    };
+    choiceOut(dataJSON);
+});
+
+//多选提交
+$cartnewSum.one('click', 'input[type="checkbox"]', function() {
+    selectArray = [];
+    shopJson = {};
+    dataJSON = {};
+    selected = $(this).attr('checked') ? 'Y' : 'N';
+    $('.pay-wapper:first tr').each(function() {
+        if ($(this).data('promotionid')) {
+            hasPromotion = true;
+        }
+        if ($(this).data('id')) {
+            selectArray.push({
+                product_sku: $(this).data('id'),
+                selected: selected,
+                buy_number: $(this).data('productnum'),
+                goods_type: $(this).data('goodstype'),
+                promotion_id: $(this).data('promotionid') ? $(this).data('promotionid') : 0
+            });
+        }
+    });
+    dataJSON = {
+        skuList: JSON.stringify(selectArray),
+        hasPromotion: hasPromotion
+    };
+    choiceOut(dataJSON);
+});
+
+function isCheck(obj, className) {
+    selectArray = [];
+    dataJSON = {};
+    selected = obj.attr('checked') ? 'Y' : 'N';
+    $('.' + className).each(function() {
+        if ($(this).data('promotionid')) {
+            hasPromotion = true;
+        } else {
+            hasPromotion = false;
+        }
+        if ($(this).data('id')) {
+            selectArray.push({
+                product_sku: $(this).data('id'),
+                selected: selected,
+                buy_number: $(this).data('productnum'),
+                goods_type: $(this).data('goodstype'),
+                promotion_id: $(this).data('promotionid') ? $(this).data('promotionid') : 0
+            });
+        }
+    });
+    dataJSON = {
+        skuList: JSON.stringify(selectArray),
+        hasPromotion: hasPromotion
+    };
+    choiceOut(dataJSON);
+}
+
+$('.per-list').on('click', 'input[type="checkbox"]', function() {
+    isCheck($(this), 'pre-sell-box');
+});
+
+$('.common-list').on('click', 'input[type="checkbox"]', function() {
+    isCheck($(this), 'common-sell-box');
+});
+
+// 凑单商品,最近浏览异步加载
+togetherProductSource = $('#togetherProduct').html();
+togetherProductTemplate = Handlerbars.compile(togetherProductSource);
+
+function getTogetherProduct($obj, url, page) {
+    $.ajax({
+        type: 'GET',
+        dataType: 'json',
+        url: url,
+        data: page
+    }).then(function(d) {
+        if (d.code === 200) {
+            if (d.data.item) {
+                if (d.data.item.length > 0) {
+                    $obj.html(' ');
+                    togetherProductStr = togetherProductTemplate(d.data);
+                    $obj.append($(togetherProductStr));
+                    $('#orderProduct li:last').addClass('end');
+                    $('.gift').removeClass('none');
+                }
+            }
+        }
+    });
+}
+
+// 最近浏览
+getTogetherProduct($histroy, '/cart/index/getHistroyProduct');
+
+// 凑单商品
+getTogetherProduct($together, '/cart/index/getTogetherProduct');
+
+//凑单商品翻页
+$together.on('click', '.pagenext, .pageprev', function() {
+    getTogetherProduct($together, '/cart/index/getTogetherProduct', {
+        page: Math.ceil(Math.random() * 100) + 1
+    });
+
+});
+
+//凑单商品,历史商品商品折叠
+$shopCart.on('click', '.icon-minus, .icon-add', function() {
+    if ($(this).hasClass('icon-minus')) {
+        $(this).parents('.title').next('.main').hide();
+        $(this).parents('h2').next('.right').hide();
+    } else {
+        $(this).parents('.title').next('.main').show();
+        $(this).parents('h2').next('.right').show();
+    }
+    $(this).siblings('i').toggleClass('none');
+    $(this).toggleClass('none');
+
+});
+
+// 最近浏览翻页
+$histroy.on('click', '.pagenext, .pageprev', function() {
+    if ($(this).hasClass('pagenext')) {
+        pageNum++;
+    } else {
+        --pageNum > 0 || (pageNum = 1);
+    }
+    getTogetherProduct($histroy, '/cart/index/getHistroyProduct', {
+        page: pageNum
+    });
+
+});
+
+
+//根据id获取商品信息
+function productInfo(data) {
+    $.ajax({
+        type: 'GET',
+        dataType: 'html',
+        url: '/cart/index/getProductInfo',
+        data: data
+    }).then(function(d) {
+        pacList = 0;
+        $goodsDetail.html(' ');
+        $goodsDetail.append(d);
+        $goodsDetail.show();
+        $('.detail-bigpic:not(.none) .con li:first').addClass('active');
+
+        if ($('.showSizeBox:not(.none) span').length < 2) {
+            $('.showSizeBox:not(.none) span:first').addClass('atcive');
+        }
+        if (Number($('#addToCart').val()) !== 1) {
+            $('.showSizeBox span').data('num', 0);
+        }
+        $.each($('.showSizeBox span'), function() {
+            if ($(this).data('num') <= 0) {
+                $(this).addClass('null-atcivec');
+                console.log($('.showSizeBox:not(.none) span:first'));
+                $('.showSizeBox:not(.none) span:first').removeClass('atcive');
+            }
+        });
+
+        if (typeof promotionPrice !== 'undefined') {
+            oldprice = $('.detail-info .oldprice del').html() ? $('.detail-info .oldprice del').html() : wapperPrice;
+            htmlInfo = '<span class="oldprice">现价:<del>' + oldprice + '</del></span>' +
+                        '<span class="newprice">活动价:<b class="promotion-price">' + promotionPrice + '</b></span>';
+            $('.detail-info .price').html(htmlInfo);
+        }
+
+        $('.detail-bigpic:not(.none) .bigpic:gt(0)').hide();
+
+        $('.showSizeBox:not(.none)').find('span').each(function() {
+        if ($(this).hasClass('null-atcivec')) {
+            $('.addcart').addClass('none');
+            $('.btn_sellout').removeClass('none');
+        } else {
+            $('.addcart').removeClass('none');
+            $('.btn_sellout').addClass('none');
+            return false;
+        }
+    });
+    });
+}
+
+function removeInfo() {
+    $goodsDetail.html(' ');
+    $goodsDetail.css({
+        top: $(document).scrollTop() + 30,
+        left: $(document).width() / 2 - $goodsDetail.width() / 2
+    });
+
+}
+
+//显示加价购商品信息
+$payWapper.on('click', '.cart-add-btn', function() {
+    productId = $(this).data('id');
+    promotionId = $(this).parents('table').data('promotion');
+    promotionPrice = $(this).parents('table').find('.subjoin-price').html();
+    wapperPrice = $(this).parents('table').find('.wapper-price').html();
+    removeInfo();
+    productInfo({
+        productId: productId
+    });
+});
+
+//凑单商品,历史商品商品记录
+$('.clearfix').on('click', '.btn_view_s', function() {
+    productId = $(this).data('id');
+    promotionId = $(this).parents('table').data('promotion');
+    promotionPrice = $(this).parents('table').find('.subjoin-price').html();
+    removeInfo();
+    productInfo({
+        productId: productId
+    });
+});
+
+//关闭商品信息窗口
+$goodsDetail.on('click', '.colse', function() {
+    $goodsDetail.hide();
+    $goodsDetail.html(' ');
+    shopNum = 1;
+});
+
+//展开加价购商品列表
+function fold(icon) {
+    icon.addClass('none').siblings('i').removeClass('none');
+    icon.parents('.cart-product-num').siblings('div').toggleClass('fold');
+    icon.siblings('.unfold-color').toggleClass('none');
+    icon.siblings('.cart-page').toggleClass('none');
+}
+
+$payWapper.on('click', '.icon-minusCart, .icon-addCart', function() {
+    fold($(this));
+});
+
+
+$payWapper.on('click', '.unfold-color', function() {
+    fold($(this));
+    $(this).siblings('.icon-minusCart').removeClass('none');
+    $(this).siblings('.icon-addCart').addClass('none');
+});
+
+//加价购商品分页
+$payWapper.on('click', '.cart-btn-next', function() {
+    subjoinPage = $(this).siblings('p').find('.f-red');
+    subjoinPageAll = Number($(this).siblings('p').find('.subjoinPageNum').html());
+    subjoinPageNum = Number(subjoinPage.html());
+    subjoinPage.html(subjoinPageNum + 1);
+    if (subjoinPageNum >= subjoinPageAll - 1) {
+        $(this).hide();
+    } else {
+        $(this).siblings('i').show();
+    }
+    pageDom = $(this).parents('.cart-product-num').siblings('div').find('table');
+    pageDom.addClass('none').eq(subjoinPageNum).removeClass('none');
+});
+
+$payWapper.on('click', '.cart-btn-pre', function() {
+    subjoinPage = $(this).siblings('p').find('.f-red');
+    subjoinPageAll = Number($(this).siblings('p').find('.subjoinPageNum').html());
+    subjoinPageNum = Number(subjoinPage.html());
+    subjoinPage.html(subjoinPageNum - 1);
+    if (subjoinPageNum <= 2) {
+        $(this).hide();
+    } else {
+        $(this).siblings('i').show();
+    }
+    pageDom = $(this).parents('.cart-product-num').siblings('div').find('table');
+    pageDom.addClass('none').eq(subjoinPageNum - 2).removeClass('none');
+});
+
+//删除购物车商品,把删除的商品移入cookie中
+function cartDel(data, delUrl, cookieList) {
+    $.ajax({
+        type: 'POST',
+        dataType: 'json',
+        url: delUrl,
+        data: dataJSON,
+        beforeSend: function() {
+            $('.loading').css({
+                top: $(document).scrollTop() + 200
+            });
+            $('.loading').show();
+        }
+    }).then(function(d) {
+        if (d.code === 200) {
+            if (cookieList) {
+                window.setCookie('cart-del-list', JSON.stringify(cookieList), {
+                    domain: '.yohobuy.com',
+                    path: '/'
+                });
+            }
+            window.history.go(0);
+        } else if (d.code === 300) {
+            $('.loading').hide();
+            new Alert(d.message).show();
+        } else if (d.code === 403) {
+            if (d.data.url) {
+                window.location = d.data.url;
+            }
+        }
+    });
+}
+
+//商品信息弹出框,加入收藏夹
+$goodsDetail.on('click', '.fav_count', function() {
+    $.ajax({
+        type: 'POST',
+        dataType: 'json',
+        url: '/product/item/togglecollect',
+        data: {
+            productId: productId,
+            type: 'add'
+        }
+    }).then(function(d) {
+        if (d.code === 200) {
+            new Alert(d.message).show();
+        } else if (d.code === 403) {
+            if (d.data.url) {
+                window.location = d.data.url;
+            }
+        } else {
+            new Alert(d.message).show();
+        }
+    });
+});
+
+
+//删除商品
+$payWapper.on('click', '.cart-del-btn', function() {
+    dataJSON = {};
+    selectArray = [];
+    promotionId = $(this).parents('tr').data('promotionid') ? $(this).parents('tr').data('promotionid') : 0;
+    selectArray.push({
+        product_sku: $(this).parents('tr').data('id'),
+        buy_number: $(this).parents('tr').data('productnum'),
+        promotion_id: promotionId
+    });
+
+    if (promotionId) {
+        hasPromotion = true;
+    } else {
+        hasPromotion = false;
+    }
+
+    dataJSON = {
+        skuList: JSON.stringify(selectArray),
+        hasPromotion: hasPromotion
+    };
+    content = '<div><span></span>删除商品</div>' +
+              '<p>确定从购物车中删除此商品?</p>';
+    if (!$(this).data('gift')) {
+        countJSON = {
+            productPrice: $(this).parents('tr').find('.productPrice').text(),
+            productTitle: $(this).parents('tr').find('.pay-pro-info a').text(),
+            link: $(this).parents('tr').find('.pay-pro-info a').attr('href'),
+            productNum: $(this).parents('tr').data('productnum'),
+            productSku: $(this).parents('tr').data('id'),
+            promotionId: $(this).parents('tr').data('promotionid')
+        };
+    }
+    delUrl = '/cart/index/remove';
+    new Confirm({
+        content: content,
+        cb: function() {
+                cartDel(dataJSON, delUrl, countJSON);
+            }
+    }).show();
+});
+
+//移入收藏夹
+$payWapper.on('click', '.cart-remove-btn', function() {
+    dataJSON = {};
+    selectArray = [];
+    promotionId = $(this).parents('tr').data('promotionid') ? $(this).parents('tr').data('promotionid') : 0;
+    selectArray.push({
+        product_sku: $(this).parents('tr').data('id'),
+        buy_number: $(this).parents('tr').data('productnum'),
+        promotion_id: promotionId
+    });
+
+    if (promotionId) {
+        hasPromotion = true;
+    } else {
+        hasPromotion = false;
+    }
+
+    dataJSON = {
+        skuList: JSON.stringify(selectArray),
+        hasPromotion: hasPromotion
+    };
+
+    cartDel(dataJSON, '/cart/index/fav');
+});
+
+//批量删除商品
+$cartnewSum.on('click', '.delAll', function() {
+    dataJSON = {};
+    countJSON = {};
+    selectArray = [];
+    PromotionArray = [];
+    $('.pay-wapper:first tr').each(function() {
+        if ($(this).find('input[type="checkbox"]').attr('checked')) {
+            promotionId = $(this).data('promotionid') ? $(this).data('promotionid') : 0;
+            if (promotionId) {
+                hasPromotion = true;
+            }
+            if ($(this).data('id')) {
+                if ($(this).find('input[type="checkbox"]').attr('checked')) {
+                    selectArray.push({
+                        product_sku: $(this).data('id'),
+                        buy_number: $(this).data('productnum'),
+                        promotion_id: promotionId
+                    });
+                }
+                countJSON = {
+                    productPrice: $(this).find('.productPrice').text(),
+                    productTitle: $(this).find('.pay-pro-info a').text(),
+                    link: $(this).find('.pay-pro-info a').attr('href'),
+                    productNum: $(this).data('productnum'),
+                    productSku: $(this).data('id'),
+                    promotionId: $(this).data('promotionid')
+                };
+                PromotionArray.push(countJSON);
+            }
+        }
+    });
+    delUrl = '/cart/index/remove';
+    content = '<div><span></span>删除商品</div>' +
+              '<p>确定从购物车中删除所有选中商品?</p>';
+    dataJSON = {
+        skuList: JSON.stringify(selectArray),
+        hasPromotion: hasPromotion
+    };
+    if (!$.isEmptyObject(selectArray)) {
+        new Confirm({
+            content: content,
+            cb: function() {
+                    cartDel(dataJSON, delUrl, PromotionArray);
+                }
+        }).show();
+    } else {
+        new Alert('请至少选择一件商品').show();
+    }
+});
+
+//批量移入收藏夹商品
+$cartnewSum.on('click', '.removeAll', function() {
+    dataJSON = {};
+    countJSON = {};
+    selectArray = [];
+    $('.pay-wapper:first tr').each(function() {
+        if ($(this).find('input[type="checkbox"]').attr('checked')) {
+            promotionId = $(this).data('promotionid') ? $(this).data('promotionid') : 0;
+            if (promotionId) {
+                hasPromotion = true;
+            }
+
+            if ($(this).data('id')) {
+                if ($(this).find('input[type="checkbox"]').attr('checked')) {
+                    selectArray.push({
+                        product_sku: $(this).data('id'),
+                        buy_number: $(this).data('productnum'),
+                        promotion_id: promotionId
+                    });
+                }
+            }
+        }
+    });
+    dataJSON = {
+        skuList: JSON.stringify(selectArray),
+        hasPromotion: hasPromotion
+    };
+    if (!$.isEmptyObject(selectArray)) {
+        cartDel(dataJSON, '/cart/index/fav');
+    } else {
+        new Alert('请至少选择一件商品').show();
+    }
+});
+
+//购物车商品增减
+function countAJAX(data) {
+    countBusy = true;
+    $.ajax({
+        type: 'POST',
+        dataType: 'json',
+        url: '/cart/index/modify',
+        data: data
+    }).then(function(d) {
+        if (d.code === 200) {
+            window.history.go(0);
+        }
+        countBusy = false;
+    });
+}
+
+$payWapper.on('click', '.minus, .plus', function() {
+    countJSON = {};
+    count = $(this).hasClass('minus') ? 'decreaseNum' : 'increaseNum';
+    countJSON['' + count] = 1;
+    if (countBusy || ($(this).siblings('input').val() === '1' && $(this).hasClass('minus'))) {
+        return false;
+    }
+
+    countAJAX($.extend(countJSON,
+        {
+            sku: $(this).parents('tr').data('id')
+        }
+    ));
+});
+
+$('.gift').on('click', '.up, .down', function() {
+    $(this).siblings('i').toggleClass('none');
+    $(this).toggleClass('none');
+});
+
+//加入购物车
+
+function addcart(data, cookieList) {
+    $.ajax({
+        type: 'POST',
+        url: '/cart/index/add',
+        data: data
+    }).then(function(d) {
+        if (d.code === 200) {
+            window.history.go(0);
+            if (cookieList) {
+                window.setCookie('cart-del-list', JSON.stringify(cookieList), {
+                    domain: '.yohobuy.com',
+                    path: '/'
+                });
+            }
+        } else if (d.code === 500) {
+            new Alert(d.message).show();
+        }
+    });
+}
+
+$goodsDetail.on('click', '.addcart', function() {
+    if ($('.showSizeBox:not(.none) .atcive').length !== 0) {
+        shopNumAll = $('.showSizeBox:not(.none) .atcive').data('num');
+        productSku = $('.showSizeBox:not(.none) .atcive').data('sku');
+        dataJSON = {
+            productSku: productSku,
+            buyNumber: $('#mnum').val(),
+            promotionId: promotionId
+        };
+    } else {
+        new Alert('请选择尺码').show();
+        return false;
+    }
+
+    if ($('#mnum').val() > shopNumAll) {
+        new Alert('库存不足,目前还有' + shopNumAll + '个库存').show();
+    } else {
+        if (Number($('#addToCart').val()) === 1) {
+            addcart(dataJSON);
+        } else {
+            new Alert('该商品无法加入购物车').show();
+        }
+    }
+});
+
+$goodsDetail.on('click', '.cut, .add', function() {
+    count = $(this).hasClass('minus') ? 'decreaseNum' : 'increaseNum';
+    if (promotionId) {
+        if ($(this).hasClass('cut')) {
+            new Alert('-_-,已经是最后一件,不能在减了!').show();
+        } else {
+            new Alert('最多只能购买1,您好像购买的太多了!').show();
+        }
+    } else {
+        if ($(this).hasClass('add')) {
+            shopNum++;
+        } else {
+            shopNum--;
+        }
+        if (shopNum < 1) {
+            new Alert('-_-,已经是最后一件,不能在减了!').show();
+            shopNum = 1;
+            return false;
+        }
+
+        $('#mnum').val(shopNum);
+    }
+
+});
+
+$goodsDetail.on('click', '.color', function() {
+    pacList = 0;
+    $('.color').find('p').removeClass('atcive');
+    $(this).find('p').addClass('atcive');
+    $('.showSizeBox').addClass('none').eq($(this).index()).removeClass('none');
+    if ($('.showSizeBox:not(.none) span').length < 2) {
+        $('.showSizeBox:not(.none) span:first').addClass('atcive');
+    }
+    $('.detail-bigpic').addClass('none').eq($(this).index()).removeClass('none');
+    $('.detail-bigpic').eq($(this).index()).find('.bigpic').hide();
+    $('.detail-bigpic').eq($(this).index()).find('.bigpic:first').show();
+    $('.detail-bigpic').eq($(this).index()).find('.con li').removeClass('active');
+    $('.detail-bigpic').eq($(this).index()).find('.con li:first').addClass('active');
+    $('.showSizeBox').eq($(this).index()).find('span').each(function() {
+        if ($(this).hasClass('null-atcivec')) {
+            $('.addcart').addClass('none');
+            $('.btn_sellout').removeClass('none');
+        } else {
+            $('.addcart').removeClass('none');
+            $('.btn_sellout').addClass('none');
+            return false;
+        }
+    });
+});
+
+$goodsDetail.on('click', '.showSizeBox span', function() {
+    shopNumAll = $(this).data('num');
+    if ($(this).data('num') > 0) {
+        $('.showSizeBox:not(.none) span').removeClass('atcivec atcive').eq($(this).index()).addClass('atcive');
+        $('.addcart').removeClass('none');
+        $('.btn_sellout').addClass('none');
+    } else {
+        $('.showSizeBox:not(.none) span').removeClass('atcivec atcive').eq($(this).index()).addClass('atcivec');
+        $('.addcart').addClass('none');
+        $('.btn_sellout').removeClass('none');
+    }
+});
+
+//撤销删除
+$('.goBack').on('click', function() {
+    dataJSON = {};
+    delNum = $('.dev-revocation .goBack').index(this);
+    selectArray = [];
+    $('.dev-revocation tr').each(function(index) {
+        if (delNum !== index) {
+            countJSON = {
+                productPrice: $(this).find('.productPrice').text(),
+                productTitle: $(this).find('.title').text(),
+                link: $(this).find('.title').attr('href'),
+                productNum: $(this).data('productnum'),
+                productSku: $(this).data('productsku'),
+                promotionId: $(this).data('promotionid')
+            };
+            selectArray.push(countJSON);
+        }
+    });
+    dataJSON = {
+        productSku: $(this).parents('tr').data('productsku'),
+        promotionId: $(this).parents('tr').data('promotionid'),
+        buyNumber: $(this).parents('tr').data('productnum')
+    };
+    addcart(dataJSON, selectArray);
+});
+
+$goodsDetail.on('click', '.piclist li', function() {
+    pacList = $(this).index();
+    $('.detail-bigpic:not(.none) .piclist li').removeClass('active');
+    $(this).addClass('active');
+    $('.detail-bigpic:not(.none) .bigpic').hide().eq($(this).index()).show();
+});
+
+function isSollect() {
+    $('.gift-wrapper .fold').show();
+    if ($('.pre-sell-box input:checked').length === $('.pre-sell-box input[type="checkbox"]').length) {
+        $('.per-list input[type="checkbox"]').attr('checked', true);
+    }
+    if ($('.common-sell-box input:checked').length === $('.common-sell-box input[type="checkbox"]').length) {
+        $('.common-list input[type="checkbox"]').attr('checked', true);
+    }
+    if ($('.common-list input[type="checkbox"]').attr('checked')) {
+        commonList = true;
+    }
+    if ($('.per-list input[type="checkbox"]').attr('checked')) {
+        perList = true;
+    }
+    if ($('.per-list').length !== 0 && $('.common-list').length !== 0) {
+        if (commonList && perList) {
+            $('.batch_div input[type="checkbox"]').attr('checked', true);
+        }
+    } else {
+        if (commonList || perList) {
+            $('.batch_div input[type="checkbox"]').attr('checked', true);
+        }
+    }
+
+    $('.cart-page').each(function() {
+        if ($(this).data('pageall') === 1) {
+            $('.cart-btn-pre', this).hide();
+            $('.cart-btn-next', this).hide();
+        } else {
+            $('.cart-btn-pre', this).hide();
+        }
+    });
+
+    if ($('.pre-sell-box input:checked').length > 0 && $('.common-sell-box input:checked').length > 0) {
+        $('.go_cash_tips').show();
+        $('.btn_account_disabled').show();
+        $('.btn_account').hide();
+    } else {
+        $('.go_cash_tips').hide();
+        $('.btn_account').show();
+        $('.btn_account_disabled').hide();
+    }
+
+    $('.pay-wapper tr').each(function() {
+        if ($(this).data('pid')) {
+            selectArray.push($(this).data('pid') + '');
+        }
+
+    });
+    $.ajax({
+        type: 'POST',
+        url: '/cart/index/checkFav',
+        data: {
+            pidList: JSON.stringify(selectArray)
+        }
+    }).then(function(d) {
+        yetCollect = '<span class="cart-yetremove-btn">已收藏</span>';
+        collect = '<a href="javascript:void(0);" class="cart-remove-btn"><span>移入收藏</span></a>';
+        $.each(d.data, function(key, val, index) {
+            $('.pay-wapper tr').each(function() {
+                if (Number($(this).data('pid')) === Number(key)) {
+                    if (val) {
+                        $(this).find('.cart-operation').append(yetCollect);
+                    } else {
+                        $(this).find('.cart-operation').append(collect);
+                    }
+                }
+            });
+        });
+    });
+}
+
+isSollect();
+
+$goodsDetail.on('click', '.pre, .next', function() {
+    if ($(this).hasClass('next')) {
+        if (pacList >= $(this).siblings('.con').find('li').length - 1) {
+            return false;
+        }
+        pacList++;
+    } else {
+        if (pacList < 1) {
+            return false;
+        }
+        pacList--;
+    }
+    $(this).siblings('.con').find('li').removeClass('active').eq(pacList).addClass('active');
+    $('.detail-bigpic:not(.none) .bigpic').hide().eq(pacList).show();
+});
+
+//结算
+$('.btn_account').on('click', function() {
+    understock = '';
+    if ($('.pay-wapper input:checked').parents('tr').find('.tipNoStore').length > 0) {
+        shopName = $('.pay-wapper input:checked').parents('tr').find('.tipNoStore');
+        $.each(shopName.parents('tr').find('.pay-pro-info a'), function() {
+            understock += $(this).html();
+        });
+        new Alert(understock + '库存不足').show();
+    } else {
+        if ($('.zp').length > 0 && !$(this).attr('title')) {
+            $(this).attr('title', '1');
+            new Alert('您有赠品没有选择,请选择完再结算!').show();
+        } else {
+            if ($('input:checked').length > 0) {
+                if ($('.pre-sell-box input:checked').length > 0) {
+                    window.location.href = '/cart/index/orderEnsure?type=2';
+                } else {
+                    window.location.href = '/cart/index/orderEnsure?type=1';
+                }
+            } else {
+                new Alert('请至少选择一件商品').show();
+            }
+        }
+    }
+});
+
+$payWapper.on('selectstart', function() {
+    return false;
+});
+$goodsDetail.on('selectstart', function() {
+    return false;
+});
+});
+define("js/guang/entry", ["jquery","lazyload","dot","jquery-pjax"], function(require, exports, module){
+/**
+ * 逛打包入口
+ * @author: xuqi<qi.xu@yoho.cn>
+ * @date: 2016/3/29
+ */
+
+require("js/guang/list");
+
+require("js/guang/detail");
+
+require("js/guang/index");
+
+});
+define("js/guang/list", ["jquery","lazyload","dot"], function(require, exports, module){
+/**
+ * 逛编辑页、列表页
+ * @author: xuqi<qi.xu@yoho.cn>
+ * @date: 2015/12/15
+ */
+
+require("js/guang/msg");
+require("js/guang/img-blink");
+require("js/guang/right-side");
+});
+define("js/guang/msg", ["jquery","lazyload","dot"], function(require, exports, module){
+var $ = require("jquery"),
+    lazyLoad = require("lazyload");
+
+var prising;
+
+require("dot");
+
+//资讯文字截取和lazyload
+function dotLazy() {
+
+    //文字截取
+    $('.msg-title, .msg-content .content').dotdotdot({
+        wrap: 'letter'
+    });
+
+    //Lazyload
+    lazyLoad($('#msg-list img.lazy'));
+}
+
+//资讯点赞
+$('.guang-page').on('click', '.like-icon', function() {
+    var $this = $(this),
+        msgId = $this.closest('.msg-content').data('id'),
+        url;
+
+    //同一资讯多次点击归一处理
+    if (prising === msgId) {
+        return;
+    }
+
+    prising = msgId;
+
+    $this.toggleClass('liked');
+
+    //点赞或取消点赞
+    if ($this.hasClass('liked')) {
+        url = '/guang/info/praise';
+    } else {
+        url = '/guang/info/cancelPraise';
+    }
+    $.ajax({
+        type: 'GET',
+        url: url,
+        data: {
+            id: msgId,
+            time: new Date().getTime()
+        }
+    }).then(function(data) {
+        if (data.code === 200) {
+            if (data.data * 1 === 0) {
+                $this.next('b').addClass('num-0').children('.num').html('0'); //隐藏数字显示
+            } else {
+                $this.next('b').removeClass('num-0').children('.num').html(data.data);
+            }
+        }
+        prising = false;
+    });
+}).on('mouseenter mouseleave', '.like-icon', function() {
+    $(this).closest('.like').toggleClass('hover');
+});
+
+dotLazy();
+
+exports.dotLazy = dotLazy;
+
+});
+define("js/guang/img-blink", ["jquery"], function(require, exports, module){
+/**
+ * 图片移入闪动效果JS
+ * @auhor: xuqi<qi.xu@yoho.cn>
+ * @date: 2015/7/29
+ */
+
+var $ = require("jquery");
+
+$('.guang-page').on('mouseover', 'a img, a .bg-img', function(e) {
+    var $el = $(e.target);
+
+    //slider中的图片不做此效果
+    if ($el.closest('.slider').length > 0) {
+        return;
+    }
+
+    $el.addClass('blink');
+
+    setTimeout(function() {
+        $el.removeClass('blink');
+    }, 100);
+});
+
+});
+define("js/guang/right-side", ["jquery","lazyload","dot"], function(require, exports, module){
+/**
+ * 右侧栏文字截取js
+ */
+var $ = require("jquery"),
+    lazyLoad = require("lazyload");
+
+require("dot");
+
+$('.ex-reco-context').dotdotdot({
+    wrap: 'letter'
+});
+
+lazyLoad($('.ads img.lazy'));
+});
+define("js/guang/detail", ["jquery","lazyload","dot","jquery-pjax"], function(require, exports, module){
+/**
+ * 逛详情页
+ * @author: liuyue<yue.liu@yoho.cn>
+ * @date: 2015/12/16
+ */
+
+var $ = require("jquery"),
+    lazyLoad = require("lazyload"),
+    $commentArea = $('#comment-area'),
+    articleId = $('.detail-body').data('id');
+
+var $commentList = $commentArea.find('.comments-wrap'),
+    $commentNum = $('#article-comment > .comment-num'),
+    commenting = false, //评论请求尚未返回变量
+    locating = false, //评论页面正在跳转
+    $commentBtn = $('#comment-btn'),
+    MAX_COMMENTS_WORDS = 100,
+    $wordCountTip = $('#word-count-tip');
+
+require("js/guang/right-side");
+require("js/guang/img-blink");
+
+require("js/common/share");
+
+//Pjax
+require("jquery-pjax");
+
+lazyLoad({
+    failure_limit: 50
+});
+
+//点击评论滑到评论区
+// $('#article-comment').click(function() {
+//     $('html, body').animate({
+//         scrollTop: $commentArea.offset().top - 20
+//     }, 800);
+// });
+
+//文章点赞与取消点赞
+$('#prise-btn').click(function() {
+    var prising = false,
+        url,
+        $this = $(this);
+
+    if (prising) {
+        return;
+    }
+    $this.toggleClass('liked');
+    if ($this.hasClass('liked')) {
+
+        //点赞
+        url = '/guang/info/praise';
+    } else {
+
+        //取消点赞
+        url = '/guang/info/cancelPraise';
+    }
+    prising = true;
+    $.ajax({
+        type: 'GET',
+        url: url,
+        data: {
+            id: articleId
+        }
+    }).then(function(data) {
+        if (data.code === 200) {
+            $this.find('.like-num').html(data.data);
+        }
+        prising = false;
+    });
+}).bind('mouseenter mouseleave', function() {
+    $(this).toggleClass('hover');
+});
+
+//文章收藏与取消收藏
+$('#collect-btn').click(function() {
+    var collecting = false,
+        url,
+        col,
+        $this = $(this);
+
+    if (collecting) {
+        return;
+    }
+    if ($this.hasClass('collected')) {
+
+        //取消收藏
+        url = '/guang/info/cancelcollect';
+        col = 0;
+    } else {
+
+        //收藏
+        url = '/guang/info/collect';
+        col = 1;
+    }
+    collecting = true;
+    $.ajax({
+        type: 'GET',
+        url: url,
+        data: {
+            id: articleId
+        }
+    }).then(function(data) {
+        var hrefUrl;
+
+        switch (data.code) {
+            case 401:
+
+                //防止从已有col的页面再次进行跳转后出错的情况
+                if (/\?col=(1|0)/.test(location.href)) {
+                    hrefUrl = location.href.replace(/\?col=(1|0)/, '?col=' + col);
+                } else {
+                    hrefUrl = location.href + '?col=' + col;
+                }
+                location.href = '//www.yohobuy.com/signin.html?refer=' + encodeURI(hrefUrl);
+                break;
+            case 400:
+
+                // alert(data.message);
+                break;
+            case 200:
+                if (/\?col=(1|0)/.test(location.href)) {
+
+                    //如果页面url中含有col,为了防止页面刷新时收藏或者取消收藏会根据col来的问题,进行页面跳转拿掉参数
+                    location.href = location.href.replace(/\?col=(1|0)/, '');
+                } else {
+                    $this.toggleClass('collected');
+                }
+                break;
+        }
+        collecting = false;
+    });
+}).bind('mouseenter mouseleave', function() {
+    $(this).toggleClass('hover');
+});
+
+function showComment() {
+    var commonlist = $('.comments-list').find('li').length;
+
+    if (commonlist === 0) {
+        $('.commnets-resultwrapper').hide();
+        $('.comments-empty').show();
+    } else {
+        $('.commnets-resultwrapper').show();
+        $('.comments-empty').hide();
+    }
+}
+showComment();
+
+//评论
+function comment(id) {
+    var commentInfo = $('#comment-info').val();
+
+    if (commentInfo === '') {
+        alert('评论不能为空');
+        return false;
+    }
+    commenting = true;
+    $.ajax({
+        url: '/guang/info/comment',
+        data: {
+            id: id,
+            comment: commentInfo
+        },
+        type: 'post',
+        success: function(data) {
+            switch (data.code) {
+                case 401:
+                    locating = true;
+                    location.href = '//www.yohobuy.com/signin.html?refer=' +
+                                    window.escape(location.href + '#comment-info');
+                    break;
+                case 400:
+                    alert(data.message);
+                    break;
+                case 200:
+                    if (data.data) {
+                        $commentList.html(data.data.content);
+                        $commentNum.html(data.data.count);
+                        showComment();
+
+                        //clear comment-text
+                        $('#comment-info').val('').keyup();
+                    }
+                    break;
+            }
+            commenting = false;
+        }
+    });
+}
+
+$commentBtn.click(function(e) {
+
+    //页面正在跳转或者正在AJAX请求时评论无效
+    if (locating || commenting) {
+        return false;
+    }
+
+    //字数不符合要求
+    if ($('#comment-info').val().length - MAX_COMMENTS_WORDS > 0) {
+        return;
+    }
+    e.preventDefault();
+    comment(articleId);
+});
+
+
+//comment pager pjax
+$(document).pjax('.comment-pager a', '#pjax-container', {
+    timeout: 5000
+});
+
+//分页后移动到评论框的位置
+$(document).on('pjax:end', function() {
+    showComment();
+    $('html,body').scrollTop($('#comment-info').offset().top);
+});
+
+$('#comment-info').keyup(function() {
+    var len = $(this).val().length,
+        showTxt;
+
+    if (len === 0) {
+        $wordCountTip.html('');
+        $commentBtn.addClass('disable');
+    } else {
+        if (len - MAX_COMMENTS_WORDS <= 0) {
+            showTxt = '还可以输入' + (MAX_COMMENTS_WORDS - len) + '字';
+            $commentBtn.removeClass('disable');
+        } else {
+            showTxt = '已超过<span class="exceed-count">' + (len - MAX_COMMENTS_WORDS) + '</span>字';
+            $commentBtn.addClass('disable');
+        }
+    }
+    $wordCountTip.html(showTxt);
+});
+
+//init
+$('#comment-info').trigger('keyup');
+
+});
+define("js/guang/index", ["jquery","lazyload","dot","jquery-pjax"], function(require, exports, module){
+/**
+ * 逛首页
+ * @author: xuqi<qi.xu@yoho.cn>
+ * @date: 2015/12/15
+ */
+
+var $ = require("jquery");
+
+var msg = require("js/guang/msg");
+
+require("jquery-pjax");
+require("js/common/slider");
+
+require("js/guang/img-blink");
+
+require("js/guang/right-side");
+
+$('#slider').slider(); //初始化slider
+
+$(document).pjax('.pjax-link, .msg-pager a', '#pjax-container', {
+    timeout: 2000
+});
+
+$(document).on('pjax:end', function() {
+    msg.dotLazy();
+});
+});
+define("js/home/entry", ["jquery","handlebars","source-map","dot"], function(require, exports, module){
+/**
+ * 个人中心页js打包入口文件
+ * @author: zhaobiao<bill.zhao@yoho.cn>
+ * @date: 2016/02/17
+ */
+
+require("js/home/index");
+require("js/home/orders");
+require("js/home/favorite");
+require("js/home/currency");
+
+require("js/home/returns");
+require("js/home/comment");
+require("js/home/complaints");
+require("js/home/message");
+
+require("js/home/edit");
+require("js/home/gift");
+require("js/home/validate");
+require("js/home/address");
+require("js/home/common-address");
+});
+define("js/home/index", ["jquery","handlebars","source-map"], function(require, exports, module){
+/**
+ * 个人中心首页
+ * @author: xuqi<qi.xu@yoho.cn>
+ * @date: 2016/2/17
+ */
+
+var $ = require("jquery");
+
+require("js/home/order-block");
+
+//关闭消息提示
+$('#close-message').click(function() {
+    $('.message-tip').slideUp(200);
+});
+
+//新品上架
+(function() {
+    var $naPager = $('.na-pager'),
+        $naUl = $('.new-arrival ul'),
+        naPage = Math.ceil($naUl.children('li').length / 5),
+        naItemWith = $naUl.children('li:last-child').outerWidth(),
+        naCurPage = 1;
+
+    $naUl.width($naUl.width() * naPage);
+
+    //最新上架翻页
+    $naPager.click(function() {
+        var $this = $(this),
+            left;
+
+        if ($this.hasClass('next')) {
+
+            //后翻
+            ++naCurPage;
+
+            //第2页显示前翻按钮
+            if (naCurPage === 2) {
+                $this.siblings().removeClass('no-visible');
+            }
+
+            //最后一页隐藏后翻按钮
+            if (naCurPage === naPage) {
+                $this.addClass('no-visible');
+            }
+        } else {
+
+            //前翻
+            --naCurPage;
+
+            //倒数第2页显示后翻按钮
+            if (naCurPage === naPage - 1) {
+                $this.siblings().removeClass('no-visible');
+            }
+
+            //第1页隐藏前翻按钮
+            if (naCurPage === 1) {
+                $this.addClass('no-visible');
+            }
+        }
+
+        left = -5 * (naCurPage - 1) * naItemWith;
+
+        $naUl.animate({
+            marginLeft: left
+        }, 400);
+    });
+}());
+});
+define("js/home/order-block", ["jquery","handlebars","source-map"], function(require, exports, module){
+/**
+ * 订单
+ * @author: xuqi<qi.xu@yoho.cn>
+ * @date: 2016/2/17
+ */
+
+var $ = require("jquery");
+var Handlebars = require("handlebars");
+
+var dialog = require("js/common/dialog");
+
+var Dialog = dialog.Dialog;
+var Confirm = dialog.Confirm;
+
+var $tpl = $('#cancel-dialog-tpl');
+var deleteDialog = '<div class="order-delete-confirm">' +
+    '<div class="header">' +
+    '<p>删除订单</p>' +
+    '<a href="javascript:;" title="关闭"></a>' +
+    '</div>' +
+    '<div class="body">' +
+    '<p class="confirm-tip"><i class="icon-doubt"></i>{{deleteMessage}}</p>' +
+    '<p class="delete-tip">{{deleteTip}}</p>' +
+    '</div>' +
+    '</div>';
+var html = $tpl.html();
+
+var active;
+var dialogMessage = '<p class="message-title"><i class="order-icon {{messageIcon}}"></i>{{messageTitle}}</p><p class="message-summary">{{messageSummary}}</p>';
+var $dialogEdit = $('#edit-dialog-tpl');
+var $addressManage, $province, $city, $county, $selectList, $name, $phone, $address, $telCode, $tel, isProvinceChecked = false;
+
+function cancelFactory(id) {
+    var options = {
+        mask: false,
+        btns: [
+            {
+                id: 'cancel-sure',
+                name: '确定并取消订单',
+                btnClass: ['cancel-sure'],
+                cb: function () {
+                    var $checked = $('.cancel-dialog :checked');
+                    var $tip = $('.cancel-dialog .cancel-tip');
+
+                    if ($checked.length === 0) {
+                        $tip.html('请选择要取消订单的原因');
+                        return;
+                    }
+
+                    $.ajax({
+                        type: 'POST',
+                        url: '/home/orders/cancelorder',
+                        data: {
+                            orderCode: id,
+                            reason: $checked.val()
+                        }
+                    }).then(function (data) {
+                        if (data.code === 200) {
+                            active.close();
+                            history.go(0);
+                        } else {
+                            $tip.html(data.message);
+                        }
+                    });
+                }
+            },
+            {
+                id: 'cancel-no',
+                name: '取消',
+                btnClass: ['cancel-no'],
+                cb: function () {
+                    active.close();
+                }
+            }
+        ],
+        content: html,
+        className: 'cancel-dialog'
+    };
+
+    return new Dialog(options);
+}
+function showMessgaeDialog(message_icon, message_title, message_summary, cb) {
+    var template = Handlebars.compile(dialogMessage);
+    var html = template({messageIcon: message_icon, messageTitle: message_title, messageSummary: message_summary});
+    var options = {
+        mask: true,
+        btns: [
+            {
+                id: 'message-sure',
+                name: '确定',
+                btnClass: ['message-sure'],
+                cb: function() {
+                    active.close();
+                    cb && cb();
+                }
+            }
+        ],
+        content: html,
+        className: 'message-dialog',
+    };
+
+    return new Dialog(options);
+
+}
+// 编辑订单
+function editOrder(id) {
+    var options = {
+        mask: true,
+        btns: [
+            {
+                id: 'edit-sure',
+                name: '确定',
+                btnClass: ['edit-sure'],
+                cb: function() {
+                    saveAddress(id);
+                }
+            },
+            {
+                id: 'edit-no',
+                name: '取消',
+                btnClass: ['edit-no'],
+                cb: function() {
+                    active.close();
+                }
+            }
+        ],
+        content: $dialogEdit.html(),
+        className: 'edit-order-dialog'
+    };
+
+    return new Dialog(options);
+}
+
+$tpl.remove();
+$dialogEdit.remove();
+
+//查看物流
+$('.check-logistics').click(function () {
+    $(this).siblings('.logistics').removeClass('hide');
+});
+
+$('.close-logistics').click(function () {
+    $(this).closest('.logistics').addClass('hide');
+});
+
+
+//订单列表&订单详情【取消订单和确认收货】
+$('.me-orders, .order-detail').on('click', '.cancel-order', function (e) {
+
+    //取消订单
+    active = cancelFactory($(this).closest('.order, .order-detail').data('id'));
+    active.show();
+}).on('click', '.confirm-received', function (e) {
+    var id = $(this).closest('.order, .order-detail').data('id');
+
+    //确认收货
+    active = new Confirm({
+        cb: function () {
+            $.ajax({
+                type: 'POST',
+                url: '/home/orders/confirmorder',
+                data: {
+                    orderCode: id
+                }
+            }).then(function (data) {
+                if (data.code === 200) {
+                    active.close();
+                    history.go(0);
+                }
+            });
+        },
+        content: '您确定要确认收货吗?'
+    });
+    active.show();
+}).on('click', '.order-delete', function () {
+    var id = $(this).closest('.order, .order-detail').data('id');
+    active = deleteOrder(id, this);
+    active.show();
+}).on('click', '.edit-order', function() {
+    $(this).addClass('edit-order-active');
+    active = editOrder($(this).closest('.order, .order-detail').data('id'))
+    active.show();
+    newAddress(0);
+});
+function deleteOrder(id, obj) {
+    // 是否为彻底删除
+    var isFullyDelete = true;
+    var $order = $(obj).parents(".order");
+    var deleteMessage = isFullyDelete ? "您确定要永久删除订单吗?" : "您确定要删除订单吗?";
+    var deleteTip = isFullyDelete ? "永久删除后,订单将无法恢复,您将无法对该订单的商品申请售后服务,请谨慎操作。" : "删除后,您可以在订单回收站找回该订单,也可以做永久删除。";
+    var insert = Handlebars.compile(deleteDialog);
+    var html = insert({deleteMessage: deleteMessage, deleteTip: deleteTip});
+    var options = {
+        mask: false,
+        btns: [
+            {
+                id: 'delete-sure',
+                name: '确定',
+                btnClass: ['delete-sure'],
+                cb: function () {
+                    $.ajax({
+                        type: 'POST',
+                        url: '/home/orders/delOrder',
+                        data: {
+                            orderCode: id,
+                            isFullyDelete: isFullyDelete,
+                        }
+                    }).then(function (data) {
+                        if (data.code === 200) {
+                            active.close();
+                            $order.remove();
+                            location.reload();
+                        }else{
+                            active.close();
+                            new dialog.Alert(data.message).show();
+                        }
+                    });
+                }
+            },
+            {
+                id: 'delete-no',
+                name: '取消',
+                btnClass: ['delete-no'],
+                cb: function () {
+                    active.close();
+                }
+            }
+        ],
+        content: html,
+        className: 'delete-dialog',
+    };
+    return new Dialog(options);
+}
+// 地址操作
+function newAddress(id) {
+    var code, codeId;
+
+    var pId = id || 0; //如果没有传id则获取所有省列表
+
+    var addressCodeReg = /[0-9]{2}/gi;
+
+    $addressManage = $('.edit-order-dialog');
+    $province = $addressManage.find('select[name="province"]');
+    $city = $addressManage.find('select[name="city"]');
+    $county = $addressManage.find('select[name="county"]');
+    $selectList = $addressManage.find('select[name="province"],select[name="city"]');
+    $name = $addressManage.find('.inp[name="name"]');
+    $phone = $addressManage.find('.inp[name="phone"]');
+    $address = $addressManage.find('.inp[name="address"]');
+    $telCode = $addressManage.find('.inp[name="tel-code"]');
+    $tel = $addressManage.find('.inp[name="tel"]');
+
+    var validate = validateForm();
+
+    code = $province.data("areacode") + '';
+    codeId = !!code && code.match(addressCodeReg);
+
+    //获取省
+    getAddress({
+        id: pId,
+        type: 'getProvince',
+        selectId: codeId[0]
+    }, function() {
+
+        var provinceId = $province.val();
+
+        if (provinceId !== '0') {
+            isProvinceChecked = true;
+
+            //如果获取的省有默认选中项则获取市
+            getAddress({
+                id: provinceId,
+                type: 'getCity',
+                selectId: '' + codeId[0] + codeId[1]
+            }, function() {
+
+                var cityId = $city.val();
+
+                //如果获取的市有默认选中项则获取县
+                if (cityId !== '0') {
+                    getAddress({
+                        id: cityId,
+                        type: 'getCounty',
+                        selectId: code
+                    });
+                }
+            });
+        } else {
+            $addressManage.find('select[name="city"]').html('<option value="0">请选择城市</option>');
+            $addressManage.find('select[name="county"]').html('<option value="0">请选择区县</option>');
+        }
+    });
+
+    // 发生change事件时获取下一级地址
+    $selectList.change(function() {
+
+        var $this = $(this);
+
+        if ($this.attr('name') === 'province') {
+
+            if ($this.val() === '0') {
+                $addressManage.find('select[name="city"]').html('<option value="0">请选择城市</option>');
+                $addressManage.find('select[name="county"]').html('<option value="0">请选择区县</option>');
+            } else {
+                getAddress({
+                    id: $this.val(),
+                    type: 'getCity'
+                }, function() {
+                    isProvinceChecked = true;
+                });
+                $addressManage.find('select[name="county"]').html('<option value="0">请选择区县</option>');
+            }
+        }
+
+        if ($this.attr('name') === 'city' && isProvinceChecked) {
+
+            if ($this.val() === '0') {
+                $addressManage.find('select[name="county"]').html('<option value="0">请选择区县</option>');
+            } else {
+                getAddress({
+                    id: $this.val(),
+                    type: 'getCounty'
+                });
+            }
+        }
+    });
+    $name.on('blur', function() {
+        validate.name($.trim($name.val()));
+    });
+    $address.on('blur', function() {
+        validate.address($.trim($address.val()));
+    });
+    $phone.on('blur', function() {
+        validate.mobile($.trim($phone.val()));
+    });
+    $tel.on('blur', function() {
+        validate.tel($.trim($telCode.val()), $.trim($tel.val()));
+    })
+    $county.on('change', function() {
+        validate.city($province.val(), $city.val(),$county.val());
+    })
+}
+/**
+ * @description: 改函数会返回地址信息
+ * d {Object} type: 'getProvince'获取省 type: 'getCity'获取城市 type: 'getCounty'获取县
+ * id: 0 && type: 'getProvince' 获取所有省,默认没有选中项
+ * id !== 0 && type: 'getProvince' 获取所有省,默认选中用户所在的省
+ */
+function getAddress(d, callback) {
+
+    var $obj;
+    var selectId = d.selectId;
+
+    if (d.type === 'getProvince') {
+
+        //url = 'getProvince';
+        $obj = $province;
+    } else if (d.type === 'getCity') {
+
+        //url = 'getCity';
+        $obj = $city;
+    } else if (d.type === 'getCounty') {
+
+        //url = 'getCounty';
+        $obj = $county;
+    }
+
+    $.ajax({
+        type: 'GET',
+        url: '/cart/index/getAreaList',
+        dataType: 'json',
+        data: {
+            id: d.id * 1
+        }
+    }).then(function(d) {
+
+        structureOption($obj, d.data, selectId);
+
+        if (typeof callback === 'function') {
+            callback();
+        }
+
+    });
+}
+
+// 构建select下拉选项
+function structureOption($obj, data, selectId) {
+
+    var i,
+        optionHtml = '',
+        defaultOption,
+        isStar = '';
+
+    for (i = 0; i < data.length; i++) {
+
+        if (data[i].is_support_express === 'Y') {
+            isStar = '*';
+        } else {
+            isStar = '';
+        }
+
+        if (data[i].id === selectId) {
+            optionHtml += '<option selected value="' + data[i].id + '">' + isStar + data[i].caption + '</option>';
+        } else {
+            optionHtml += '<option value="' + data[i].id + '">' + isStar + data[i].caption + '</option>';
+        }
+    }
+
+
+    if ($obj.attr('name') === 'province') {
+        defaultOption = '<option value="0">请选择省份</option>';
+    } else if ($obj.attr('name') === 'city') {
+        defaultOption = '<option value="0">请选择城市</option>';
+
+    } else if ($obj.attr('name') === 'county') {
+        defaultOption = '<option value="0">请选择区县</option>';
+    }
+
+    $obj.html(defaultOption + optionHtml);
+}
+
+// 保存地址
+function saveAddress(id) {
+    var name = $name.val(),
+        province = $province.val(),
+        city = $city.val(),
+        county = $county.val(),
+        address = $address.val(),
+        phone = $phone.val(),
+        telCode = $telCode.val(),
+        tel = $tel.val();
+
+    // var $err_name = $name.siblings('.error'),
+    //     $err_province = $province.siblings('.error'),
+    //     $err_address = $address.siblings('.error'),
+    //     $err_phone = $phone.siblings('.error'),
+    //     $err_tel = $tel.siblings('.error');
+
+    var postData = {
+        orderCode: id,
+        userName: name,
+        areaCode: county,
+        address: address,
+        mobile: phone,
+        phoneCode: telCode,
+        phoneNum: tel
+    };
+    var validate = validateForm();
+    if (!validate.name(name) || !validate.city(province, city, county) || !validate.address(address) || !validate.mobile(phone) || !validate.tel(telCode, tel)) {
+        return;
+    }
+
+    $.ajax({
+        type: 'post',
+        url: '/home/orders/modifyAddress',
+        data: postData
+    }).then(function(d) {
+        if (d.code === 200) {
+            active.close();
+            active = showMessgaeDialog('icon-waiting', '订单修改', '您的订单正在尝试修改,请耐心等待。稍后可在订单详情页查看修改情况!', function() {
+                location.reload(true);
+            });
+            active.show();
+        } else {
+            new dialog.Alert(d.message).show();
+        }
+    })
+}
+function validateForm() {
+    var $err_name = $name.siblings('.error'),
+        $err_province = $province.siblings('.error'),
+        $err_address = $address.siblings('.error'),
+        $err_phone = $phone.siblings('.error'),
+        $err_tel = $tel.siblings('.error');
+
+    var nameReg = /^[\u4e00-\u9fa5]{2,5}$/;
+    var addressReg = /^[a-zA-Z0-9-#()()\u4e00-\u9fa5]+$/;
+    var phoneReg = /^(13[0-9]|15[012356789]|17[678]|18[0-9]|14[57])[0-9]{8}$/;
+    var telCodeReg = /^[0-9]{3,4}$/;
+    var telReg = /^[0-9]{8}$/;
+    var _right_html = '<i class="order-icon icon-right"></i>';
+    var _error_html = '<i class="order-icon icon-error"></i><b></b>';
+
+    return {
+        name: function(name) {
+            if (!nameReg.test(name)) {
+                $err_name.html(_error_html);
+                $err_name.find('b').html('真实姓名至少2个中文,最多5个中文');
+                $err_name.show();
+                return false;
+            } else {
+                $err_name.html(_right_html).show();
+                return true;
+            }
+        },
+        city: function(province, city, county) {
+            if (province === '0' || city === '0' || county === '0') {
+                $err_province.html(_error_html);
+                $err_province.find('b').html('请填写完整的省市区信息');
+                $err_province.show();
+                return false;
+            } else {
+                $err_province.html(_right_html).show();
+                return true;
+            }
+        },
+        address: function(address) {
+            if (!addressReg.test(address)) {
+                var message = '详细地址不能为空';
+                if ($.trim(address) !== '') {
+                    message = '只能包含数字、字母、汉字、#、-、()及其组合';
+                }
+                $err_address.html(_error_html);
+                $err_address.find('b').html(message);
+                $err_address.show();
+                return false;
+            } else {
+                $err_address.html(_right_html).show();
+                return true;
+            }
+        },
+        mobile: function(phone) {
+            if (!phoneReg.test(phone)) {
+                var message = '手机号码不能为空';
+                if ($.trim(phone) !== '') {
+                    message = '你输入的联系电话格式不正确';
+                }
+                $err_phone.html(_error_html);
+                $err_phone.find('b').html(message);
+                $err_phone.show();
+                return false;
+            } else {
+                $err_phone.html(_right_html).show();
+                return true;
+            }
+        },
+        tel: function(telCode, tel) {
+            if(telCode === '' && tel === ''){
+                _right_html = '';
+            }
+            if ((!!telCode && !telCodeReg.test(telCode)) || (!!tel && !telReg.test(tel)) ||
+                (telCodeReg.test(telCode) && !telReg.test(tel)) ||
+                (!telCodeReg.test(telCode) && telReg.test(tel))) {
+                $err_tel.html(_error_html);
+                $err_tel.find('b').html('你输入的电话格式不正确');
+                $err_tel.show();
+                return false;
+            } else {
+                $err_tel.html(_right_html).show();
+                return true;
+            }
+        }
+    }
+}
+});
+define("js/home/orders", ["jquery","handlebars","source-map"], function(require, exports, module){
+/**
+ * 我的订单
+ * @author: xuqi<qi.xu@yoho.cn>
+ * @date: 2016/2/17
+ */
+var $ = require("jquery");
+
+
+require("js/home/order-block");
+
+//不同订单包裹提示
+
+$('.why').click(function() {
+    $('#differentBag').show();
+    return false;
+
+});
+$('#differentBag').click(function() {
+    return false;
+});
+$(document).click(function() {
+    $('#differentBag').hide();
+});
+
+
+//订单包裹左右切换
+function lunBo($pre, $next, $ul, $iWidth) {
+    var i = 1,
+        j = 1;
+
+    var iSpeed = 0,
+        isMoving = false;
+
+    $pre.click(function() {
+        if (isMoving) {
+            return;
+        }
+
+        if ($ul.css('left') === '0px') {
+            iSpeed = 0;
+
+        } else {
+            iSpeed += j * $iWidth;
+            isMoving = true;
+        }
+        $ul.stop().animate({
+            left: iSpeed
+        }, 300, function() {
+            isMoving = false;
+        });
+    });
+    $next.click(function() {
+        var $largeLeft = $ul.parent().width() - $ul.width() + 'px';
+
+        if (isMoving) {
+            return;
+        }
+
+        if ($ul.css('left') === $largeLeft) {
+            $ul.css('left', $largeLeft);
+        } else {
+            iSpeed += -i * $iWidth;
+            isMoving = true;
+        }
+
+        $ul.stop().animate({
+            left: iSpeed
+        }, 300, function() {
+            isMoving = false;
+        });
+    });
+}
+
+//订单分类
+$('.bag').find('ul').each(function() {
+    var $pre = $(this).parent().parent().find('.pre');
+    var $next = $(this).parent().parent().find('.next');
+
+    var $iWidth = $(this).find('li').eq(0).width();
+    var $length = $(this).find('li').size();
+    var $ulWidth = $iWidth * $length;
+
+    $(this).css('width', $ulWidth);
+    if ($length > 5) {
+        $pre.show();
+        $next.show();
+        lunBo($pre, $next, $(this), $iWidth);
+    } else {
+        $pre.hide();
+        $next.hide();
+    }
+
+});
+
+});
+define("js/home/favorite", ["jquery","handlebars","source-map","dot"], function(require, exports, module){
+/**
+ * 我的收藏
+ * @author: xuqi<qi.xu@yoho.cn>
+ * @date: 2016/2/23
+ */
+
+var $ = require("jquery"),
+    Handlebars = require("handlebars");
+
+var phoneReg = require("js/passport/mail-phone-regx").phoneRegx['+86'];
+
+var clockTxt = {
+    on: '[ 降价通知 ]',
+    off: '[ 取消通知 ]'
+};
+
+var param = location.href.match(/type=(.*)[&]*/),
+    favType;
+
+var curSkn;
+
+var $curClock;
+
+require("dot");
+
+//商品收藏
+(function() {
+    var $defaultSorts,
+        $allSorts;
+
+    var $bodyMask,
+        $noticeNum,
+        $priceNotice,
+        $noticeContent,
+        $noticeSuccess,
+        $noticeErrorMsg,
+        $noticeSubOrCancel,
+        $phone;
+
+    var reduction = {},
+        noticeNum;
+
+    // 同步订阅数量
+    function syncSubscribeNum(num) {
+        noticeNum = num * 1;
+        $noticeNum.text(num);
+        $noticeSuccess.find('.notice-num').text(5 - num);
+    }
+
+    //关闭价格订阅弹窗和蒙层
+    function closeNoticeBox() {
+        $bodyMask.addClass('hide');
+        $priceNotice.addClass('hide');
+
+        //重置头部文字
+        $noticeSubOrCancel.text('订阅成功');
+    }
+
+    //显示价格订阅弹窗和蒙层
+    function showNoticeBox() {
+        var top = $(document).scrollTop() + $(window).height() / 2;
+
+        if (typeof $bodyMask === 'undefined') {
+            $('body').append('<div class="body-mask hide"></div>');
+            $bodyMask = $('.body-mask');
+        }
+
+        $bodyMask.css({
+            height: $(document).height(),
+            width: $(document).width()
+        }).removeClass('hide');
+
+        $priceNotice.removeClass('error');
+
+        if ($curClock.hasClass('noticed')) {
+
+            //取消降价通知
+            $.ajax({
+                type: 'GET',
+                url: '/home/favorite/cancelnotice',
+                data: {
+                    id: curSkn
+                }
+            }).then(function(data) {
+                if (data.code === 200) {
+                    syncSubscribeNum(data.data.num);
+                    $noticeContent.addClass('hide');
+                    $noticeSuccess.removeClass('hide');
+                    $noticeSubOrCancel.text('取消成功');
+                    $priceNotice.removeClass('hide').css({
+                        top: top
+                    });
+
+                    if ($curClock.closest('.reduction-products').length > 0) {
+                        $curClock.closest('.fav-good').remove();
+                    } else {
+                        $curClock.removeClass('noticed').text(clockTxt.on);
+                    }
+                } else {
+                    if (data.message) {
+                        $noticeErrorMsg.text(data.message);
+                        $priceNotice.removeClass('hide').addClass('error').css({
+                            top: top
+                        });
+                    }
+                }
+            });
+        } else {
+            if (noticeNum >= 5) {
+                $noticeErrorMsg.text('您的订阅数已经到达上限');
+                $priceNotice.removeClass('hide').addClass('error').css({
+                    top: top
+                });
+            } else {
+                $noticeContent.removeClass('hide');
+                $noticeSuccess.addClass('hide');
+                $priceNotice.removeClass('hide').css({
+                    top: top
+                });
+            }
+        }
+
+    }
+
+    if ($('.fav-products').length === 0) {
+        return;
+    }
+
+    $defaultSorts = $('.default-sorts');
+    $allSorts = $('.all-sorts');
+
+    $noticeNum = $('.reduction-notice span');
+
+    $priceNotice = $('.price-notice');
+
+    $noticeContent = $('#price-notice .content');
+    $noticeSuccess = $('#price-notice .success');
+    $noticeErrorMsg = $('#price-notice .error-message');
+    $noticeSubOrCancel = $noticeSuccess.find('.subscribe-or-cancel');
+    $phone = $('#notice-phone-num');
+
+    reduction.phone = $phone.val();
+    reduction.change = false;
+
+    noticeNum = $noticeNum.text() * 1;
+
+    //展开分类
+    $('#spread-sort').click(function() {
+        $defaultSorts.slideUp(function() {
+            $allSorts.slideDown();
+        });
+    });
+
+    //收起分类
+    $('#retract-sort').click(function() {
+        $allSorts.slideUp(function() {
+            $defaultSorts.slideDown();
+        });
+    });
+
+    //降价通知
+    $('.price-down-clock').click(function() {
+        $curClock = $(this);
+        curSkn = $curClock.closest('.fav-good').data('id');
+        showNoticeBox();
+    });
+
+    //checkbox【手动触发checkbox点击后跳转链接的地址】
+    $('.reduction-filter input[type="checkbox"]').change(function() {
+        location.href = $(this).parent().attr('href');
+    });
+
+    //降价通知确定按钮
+    $('#price-notice').on('click', '.close', function() {
+        closeNoticeBox();
+    }).on('click', '.price-notice-sure', function() {
+        var phone,
+            errTxt;
+
+        if (!$priceNotice.hasClass('error') && !$noticeContent.hasClass('hide')) {
+
+            //订阅到手机号
+            phone = $.trim($phone.val());
+
+            if (phone === '' || !phoneReg.test(phone)) {
+                errTxt = phone === '' ? '请输入手机号码' : '手机号码格式不正确';
+
+                $phone.addClass('error');
+                $('#price-notice .err-text').removeClass('hide').find('em').html(errTxt);
+                return;
+            } else {
+                $phone.removeClass('error');
+                $('#price-notice .err-text').addClass('hide');
+            }
+
+            if (reduction.phone !== '' && reduction.phone !== phone && !reduction.change) {
+                $('#price-notice .phone-diff').removeClass('hide');
+                reduction.change = true;
+                return;
+            }
+
+            $.ajax({
+                type: 'GET',
+                url: '/home/favorite/notice',
+                data: {
+                    mobile: phone,
+                    id: curSkn
+                }
+            }).then(function(data) {
+                if (data.code === 200) {
+                    syncSubscribeNum(data.data.num);
+                    $noticeSuccess.removeClass('hide');
+                    $noticeContent.addClass('hide');
+
+                    reduction.phone = phone;
+                    reduction.change = false;
+                    $('#price-notice .phone-diff').addClass('hide');
+
+                    //切换商品通知文字
+                    $curClock.toggleClass('noticed').text(clockTxt.off);
+                } else {
+                    if (data.message) {
+                        $noticeErrorMsg.text(data.message);
+                        $priceNotice.removeClass('hide').addClass('error');
+                    }
+                }
+            });
+        } else {
+
+            //关闭窗口
+            closeNoticeBox();
+        }
+    });
+
+    //商品可参加活动
+    $('.has-activity').click(function() {
+        var $this = $(this),
+            $activites = $this.next('.activites'),
+            $li = $this.closest('li');
+
+        if ($activites.hasClass('hide')) {
+
+            //显示
+            $activites.removeClass('hide');
+            $li.css('padding-bottom', $activites.outerHeight());
+        } else {
+
+            //隐藏
+            $activites.addClass('hide');
+            $li.css('padding-bottom', '');
+        }
+    });
+}());
+
+
+//品牌收藏
+(function() {
+    var naTpl;
+    var naCache = {};
+
+    /**
+     * 翻页控制
+     * @param $li 当前品牌容器
+     * @param flag 翻页方向/-1-pre 1-next
+     */
+    function pageControll($li, flag) {
+        var id = $li.data('id'),
+            $ul = $li.find('.na-goods-ul'),
+            theCache = naCache[id],
+            curPage = theCache.cur ? theCache.cur : 1,
+            page = Math.ceil(theCache.total / 5);
+
+        var $pre = $li.find('.na-pre');
+        var $next = $li.find('.na-next');
+
+        curPage += flag;
+
+        //初始
+        $pre.removeClass('hidden');
+        $next.removeClass('hidden');
+
+        //第一页
+        if (curPage === 1) {
+            $pre.addClass('hidden');
+        }
+
+        //最后一页
+        if (curPage === page) {
+            $next.addClass('hidden');
+        }
+
+        $ul.animate({
+            marginLeft: -(curPage - 1) * $ul.parent('.na-goods').width()
+        }, 200);
+
+        theCache.cur = curPage;
+    }
+
+    function setListPadding($li, $naList) {
+        $li.css('padding-bottom', $naList.outerHeight() + 10);
+    }
+
+    if ($('.fav-brands').length === 0) {
+        return;
+    }
+
+    naTpl = Handlebars.compile($('#na-tpl').html());
+
+    // 新品到着【重要信息:最多显示20个新品到着商品】
+    $('.na-trigger').click(function() {
+        var $this = $(this),
+            $naList = $this.next('.na-list'),
+            $li = $this.closest('li'),
+            id;
+
+        if (!$naList.hasClass('hide')) {
+            $naList.addClass('hide');
+            $li.css('padding-bottom', '');
+            return;
+        }
+
+        id = $li.data('id');
+
+        if (naCache[id] && naCache[id].cache) {
+            $naList.removeClass('hide');
+            setListPadding($li, $naList);
+            return;
+        }
+
+        $.ajax({
+            type: 'GET',
+            url: '/home/favorite/newproduct',
+            data: {
+                id: id
+            }
+        }).then(function(data) {
+            var html,
+                res,
+                tplData;
+
+            if (data.code === 200) {
+                res = data.data;
+                tplData = res.length === 0 ? {} : {
+                    naGoods: res
+                };
+                html = naTpl(tplData);
+
+                $naList.removeClass('hide').find('.na-content').html(html);
+                setListPadding($li, $naList);
+
+                //初始,判断是否显示Next翻页
+                if (res.length > 5) {
+                    $li.find('.na-next').removeClass('hidden');
+                }
+
+                if (!naCache[id]) {
+                    naCache[id] = {};
+                }
+
+                naCache[id].cache = true;//set cache
+                naCache[id].total = res.length;
+            }
+        });
+    });
+
+    $('.na-content').on('click', '.na-pre, .na-next', function() {
+        var $this = $(this);
+
+        var flag = $this.hasClass('na-pre') ? -1 : 1;
+
+        pageControll($this.closest('.fav-brand'), flag);
+    });
+}());
+
+//文章收藏
+(function() {
+    if ($('.fav-articles').length < 0) {
+        return;
+    }
+
+    $('.fav-articles .desc').dotdotdot();
+}());
+
+if (param && param.length) {
+    favType = param[1];
+}
+
+//全选【通用】
+$('#me-checkall').click(function() {
+    $('.checkbox input[type="checkbox"]').prop('checked', $(this).prop('checked'));
+});
+
+//删除收藏
+$('.del-favorite').click(function(e) {
+    var id = $(this).closest('.fav-row').data('id'),
+        shopid = $(this).closest('.fav-row').data('shopid'),
+        brandorshoptype = $(this).closest('.fav-row').data('brandorshoptype');
+
+    e.preventDefault();
+
+    $.ajax({
+        type: 'GET',
+        url: '/home/favorite/cancel',
+        data: {
+            id: id,
+            shopid: shopid,
+            brandorshoptype: brandorshoptype,
+            type: favType
+        }
+    }).then(function(data) {
+        if (data.code === 200) {
+            history.go(0);
+        }
+    });
+});
+
+//删除多个商品/品牌/文章【通用】
+$('#me-del-checked').click(function() {
+    var ids = [],
+        name = '商品';
+
+    if (favType === 'brand') {
+        name = '品牌';
+    } else if (favType === 'article') {
+        name = '文章';
+    }
+
+    if (confirm('您确定要删除您收藏的' + name + '吗?')) {
+        $('.checkbox input[type="checkbox"]:checked').each(function() {
+            ids.push($(this).closest('.fav-row').data('id'));
+        });
+
+        if (ids.length === 0) {
+            alert('请选中您要移除的' + name);
+            return;
+        }
+
+        $.ajax({
+            type: 'GET',
+            url: '/home/favorite/cancel',
+            data: {
+                id: ids.join(','),
+                type: favType
+            }
+        }).then(function(data) {
+            history.go(0);
+        });
+    }
+});
+
+if (location.href.match(/is_reduction=(.*)[&]*/)) {
+    $('.reductionChecked').attr('checked', true);
+}
+if (location.href.match(/is_promotion=(.*)[&]*/)) {
+    $('.activityChecked').attr('checked', true);
+}
+});
+define("js/home/currency", ["jquery"], function(require, exports, module){
+/**
+ * 我的YOHO币
+ * @author: xuqi<qi.xu@yoho.cn>
+ * @date: 2016/3/22
+ */
+
+var $ = require("jquery");
+
+$('.filter-select').change(function() {
+    location.href = $(this).val();
+});
+});
+define("js/home/returns", ["jquery","handlebars","source-map"], function(require, exports, module){
+/**
+ * 我的退/换货
+ * @author: yyqing<yanqing.yang@yoho.cn>
+ * @date: 2016/2/26
+ */
+
+require("js/home/returns-detail");
+require("js/home/returns-apply");
+});
+define("js/home/returns-detail", ["jquery","handlebars","source-map"], function(require, exports, module){
+/**
+ * 退换货详情
+ * @author: yyqing<yanqing.yang@yoho.cn>
+ * @date: 2016/2/26
+ */
+
+var $ = require("jquery"),
+    Handlebars = require("handlebars"),
+    dialog = require("js/common/dialog");
+
+var $returnState = $('.visual-return-state li'),
+    $detail = $('.detail-container'),
+    $courierCode = $('.courier-code'),
+    $expressCompany = $('#express-company'),
+    $expressNumber = $('#express-number'),
+    $expressViewBox = $('.express-view-box > span');
+
+var returnId = $('#return-id').val(),
+    expId = $('#express-old-id').val(),
+    expNumber = $expressNumber.val(),
+    expCompany = '',
+    expList = {},
+    isChange = false;
+
+var Dialog = dialog.Dialog,
+    active,
+    cancelApplyDialog = '<p class="message-title"><i class="{{messageIcon}}"></i>{{messageTitle}}</p><p class="message-summary">{{messageSummary}}</p>';;
+
+function syncExpressInfo() {
+    expCompany = expList[expId] ? expList[expId] : '';
+    $expressViewBox.html(expCompany + ' 快递单号:' + expNumber);
+    $expressCompany.val(expId);
+    $expressNumber.val(expNumber);
+}
+
+function validateExpress() {
+    var send = {};
+
+    send.number = $expressNumber.val();
+    send.id = $expressCompany.val() * 1;
+
+    if (!send.id) {
+        alert('请选择快递公司');
+    } else if (!send.number) {
+        alert('请填入快递单号');
+    } else {
+        return send;
+    }
+
+    return false;
+}
+
+function sendExpressCode() {
+    var sendParm = validateExpress();
+
+    if (!sendParm) {
+        return;
+    }
+
+    $.ajax({
+        type: 'POST',
+        url: '/home/returns/setExpressNumber',
+        data: {
+            id: returnId,
+            isChange: isChange,
+            expressId: sendParm.id,
+            expressNumber: sendParm.number,
+            expressCompany: expList[sendParm.id]
+        }
+    }).then(function(jsonData) {
+        if (jsonData.code === 200) {
+            expId = sendParm.id;
+            expNumber = sendParm.number;
+            $returnState.eq(2).addClass('act');
+        } else {
+            alert(jsonData.message);
+        }
+        syncExpressInfo();
+        $courierCode.removeClass('in-edit');
+    });
+}
+
+function cancelApply(id, url) {
+    var template = Handlebars.compile(cancelApplyDialog);
+    var html = template({messageIcon: 'icon-warn', messageTitle: '取消申请', messageSummary: '您确定要请取消申请吗?'});
+    var options = {
+        mask: true,
+        btns: [
+            {
+                id: 'cancel-sure',
+                name: '确定',
+                btnClass: ['cancel-sure'],
+                cb: function() {
+                    $.ajax({
+                        type: 'POST',
+                        url: url,
+                        data: {
+                            id: id
+                        }
+                    }).then(function(data) {
+                        active.close();
+                        if (data.code === 200) {
+                            location.reload();
+                        } else {
+                            new dialog.Alert(data.message).show();
+                        }
+                    });
+                }
+            },
+            {
+                id: 'cancel-no',
+                name: '取消',
+                btnClass: ['cancel-no'],
+                cb: function() {
+                    active.close();
+                }
+            }
+        ],
+        content: html,
+        className: 'cancel-dialog'
+    };
+    return new Dialog(options);
+}
+
+
+if ($detail.parent().hasClass('exchange-detail')) {
+    isChange = true;
+}
+
+$expressCompany.val(expId);
+
+$detail.find('.company-list').each(function() {
+    var data = $(this).data();
+
+    expList[data.id] = data.name;
+});
+
+$('#modify').click(function() {
+    $courierCode.addClass('in-edit');
+});
+
+$('#submit-btn').click(function() {
+    sendExpressCode();
+});
+
+$('.cancel-return').on('click', '.cancel-trigger', function() {
+    active = cancelApply($(this).data('id'), $(this).data('url'));
+    active.show();
+})
+});
+define("js/home/returns-apply", ["jquery","handlebars","source-map"], function(require, exports, module){
+/**
+ * 退换货申请
+ * @author: yyqing<yanqing.yang@yoho.cn>
+ * @date: 2016/2/29
+ */
+var $ = require("jquery"),
+    Addr = require("js/home/common-address");
+
+var $goodsTable = $('#goods-table'),
+    $checkBox = $goodsTable.find('input[type="checkbox"]'),
+    $reasons = $goodsTable.find('.return-reason'),
+    $file = $goodsTable.find('input[type=file]'),
+    $refundType = $('input[name="refund-type"]'),
+    $province = $('#province'),
+    $city = $('#city'),
+    $areaCode = $('#area');
+
+var $refundInfo = $('#refund-pay-info'),
+    $payYoho = $refundInfo.find('.type-yoho'),
+    $payBank = $refundInfo.find('.type-bank'),
+    $payAli = $refundInfo.find('.type-alipay');
+
+var $exchange = $('.exchange-detail'),
+    $hidePhone = $exchange.find('input[name="hide-phone"]'),
+    $refundMode = $exchange.find('.refund-mode');
+
+var $submitBox = $('.submit-box'),
+    $waitPoint = $submitBox.find('.wait-gif span');
+
+var pageType = 0,  // 0-换货  1-退货
+    orderCode = $('#order-code').val(),
+    defaultArea = $exchange.find('input[name="hide-area"]').val(),
+    defaultPhone = $hidePhone.val(),
+    disPhone = '',
+    verifyTip = '',
+    colorSize = {},
+    timer;
+
+require("plugin/jquery.qupload");
+
+if (defaultPhone) {
+    $hidePhone.remove();
+    disPhone = defaultPhone.replace(/(\d{3})\d{4}(\d{4})/, '$1****$2');
+    $exchange.find('input[name="phone"]').val(disPhone);
+}
+
+$goodsTable.on('mouseenter mouseleave', '.doubt', function(e) {
+    var $this = $(this);
+    var $tipwrapper = $this.parents('.special-tip');
+    var $tipcontent = $tipwrapper.find('.special-content');
+    var width = $tipwrapper.find('> span').width();
+    if(e.type === 'mouseenter'){
+        $tipcontent.css({left: width+10,zIndex:1}).show();
+    }else if(e.type ==='mouseleave'){
+        $tipcontent.css({zIndxex:0}).hide();
+    }
+
+});
+
+function syncRefundMode(code) {
+    $.ajax({
+        type: 'POST',
+        url: '/home/returns/getDelivery',
+        data: {
+            areaCode: code
+        }
+    }).then(function(jsonData) {
+        var _html = '';
+
+        if (jsonData.code === 200) {
+            $.each(jsonData.data, function(k, v) {
+                var checked = '';
+
+                if (v.is_default === 'Y') {
+                    checked = 'checked="checked"';
+                }
+                _html += '<input type="radio" name="delivery-tpye" value="' +
+                    v.id + '" ' + checked + '"">' + v.name;
+            });
+            $refundMode.html(_html);
+        }
+    });
+}
+
+function setBackInput(type) {
+    $payYoho.hide();
+    if (type === 2) {
+        $payBank.show();
+        $payAli.hide();
+        $payYoho.hide();
+    } else if (type === 3) {
+        $payAli.show();
+        $payBank.hide();
+        $payYoho.hide();
+    } else if (type === 4) {
+        $payYoho.show();
+        $payBank.hide();
+        $payAli.hide();
+    }
+}
+
+if ($refundInfo.length) {
+    pageType = 1;
+
+    $refundType.each(function() {
+        if ($(this).prop('checked')) {
+            setBackInput($(this).val() * 1);
+        }
+    });
+} else if (defaultArea) {
+    syncRefundMode(defaultArea);
+}
+
+defaultArea = defaultArea ? defaultArea : '';
+Addr.loadAllData(defaultArea, {
+    areaDomId: 'area'
+});
+
+// 页面获取size列表数据
+$goodsTable.find('.sizeinfo').each(function() {
+    var sizes = [];
+
+    $(this).children().each(function() {
+        sizes.push($(this).data());
+    });
+    colorSize[$(this).data().id] = sizes;
+});
+
+$reasons.change(function() {
+    var $par = $(this).parent().parent(),
+        type = $(this).val() * 1;
+
+    if (type === 4 || type === 6 || type === 8) {
+        $par.next().show();
+    } else {
+        $par.next().hide();
+    }
+});
+
+$checkBox.change(function() {
+    var $par = $(this).parent().parent();
+
+    if ($(this).prop('checked')) {
+        $par.find('select').prop('disabled', false);
+    } else {
+        $par.find('select').val(0).prop('disabled', true);
+        $par.next().hide();
+    }
+});
+
+$goodsTable.on('change', '.exchange-color', function() {
+    var $warp = $(this).closest('.exchange-choose-wrap'),
+        _html = '<option value="0">请选择尺码</option>',
+        id = $(this).val();
+
+    if (colorSize[id]) {
+        $.each(colorSize[id], function(k, v) {
+            _html += '<option value="' + v.id + '">' + v.name + '</option>';
+        });
+    }
+    $warp.find('.exchange-size').html(_html).val(0);
+});
+
+$goodsTable.on('click', '.btn-del', function() {
+    $(this).parent().empty();
+});
+
+$file.each(function(e) {
+    var $this = $('#upload-img-' + e),
+        $par = $this.closest('.problem-description');
+
+    $this.qupload({
+        button_image_url: '',
+        upload_url: '//www.yohobuy.com/home/returns/imgUpload',
+        file_post_name: 'fileData',
+        button_text: '<span class="btn_upload_text">上传图片</span>',
+        button_text_style: '.btn_upload_text{color: #ffffff;}',
+        button_width: 116,
+        button_height: 33,
+        button_text_left_padding: 32,
+        button_text_top_padding: 8,
+        button_action: window.SWFUpload.BUTTON_ACTION.SELECT_FILE,
+        file_size_limit: '10240',
+        file_types: '*.jpg;*.jpeg;*.png;*.bmp',
+        uploadSuccessed: function(data) {
+            var $imgList = $par.find('li'),
+                isShow = false,
+                img, _html;
+
+            img = JSON.parse(data).imgList[0];
+            _html = '<span class="btn-del" title="删除"></span>' +
+                '<img src="' + img[0] + '" width="126" height="126">' +
+                '<input type="hidden" name="imgs" value="' + img.imgRelUrl + '">';
+            $imgList.each(function() {
+                if (!isShow && !$(this).find('img').length) {
+                    isShow = true;
+                    $(this).html(_html);
+                }
+            });
+        }
+    });
+});
+
+$exchange.on('change', '#area', function() {
+    var code = $(this).val() * 1;
+
+    if (code) {
+        syncRefundMode(code);
+    }
+});
+
+$refundType.change(function() {
+    var type = $(this).val() * 1;
+
+    setBackInput(type);
+});
+
+// 打包退换货商品信息
+function packGoogsList() {
+    var goods = [],
+        type = '换货';
+
+    if (pageType) {
+        type = '退货';
+    }
+    if (!$checkBox.length) {
+        verifyTip = '没有可以' + type + '的商品';
+    }
+
+    $checkBox.each(function() {
+        var $par = $(this).parent().parent(),
+            $next = $par.next(),
+            goodsInfo;
+
+        if (verifyTip.length) {
+            return;
+        }
+
+        if ($(this).prop('checked')) {
+            goodsInfo = {
+                product_skn: $par.find('input[name="skn"]').val(),
+                product_skc: $par.find('input[name="skc"]').val(),
+                product_sku: $par.find('input[name="sku"]').val(),
+                goods_type: $par.find('input[name="typeid"]').val(),
+                last_price: $par.find('input[name="price"]').val(),
+                reason: $par.find('.return-reason').val() * 1
+            };
+
+            if (pageType) {
+                goodsInfo.returned_reason = goodsInfo.reason;
+            } else {
+                goodsInfo.exchange_reason = goodsInfo.reason;
+                goodsInfo.new_goods_id = $par.find('.exchange-color').val() * 1;
+                goodsInfo.new_product_sku = $par.find('.exchange-size').val() * 1;
+
+                if (!verifyTip && !goodsInfo.new_goods_id) {
+                    verifyTip = '请选择要换的颜色';
+                }
+
+                if (!verifyTip && !goodsInfo.new_product_sku) {
+                    verifyTip = '请选择要换的尺码';
+                }
+            }
+            if (!verifyTip && !goodsInfo.reason) {
+                verifyTip = '请选择' + type + '原因';
+            }
+
+            if (goodsInfo.reason === 4 ||
+                goodsInfo.reason === 6 ||
+                goodsInfo.reason === 8) {
+                goodsInfo.remark = $.trim($next.find('textarea').val());
+                goodsInfo.evidence_images = [];
+                $next.find('input[name="imgs"]').each(function() {
+                    goodsInfo.evidence_images.push($(this).val());
+                });
+
+                if (!verifyTip && !goodsInfo.remark) {
+                    verifyTip = '请填写' + type + '描述';
+                }
+
+                if (!verifyTip && !goodsInfo.evidence_images.length) {
+                    verifyTip = '请上传图片';
+                }
+            }
+            delete goodsInfo.reason;
+
+            goods.push(goodsInfo);
+        }
+    });
+
+    if (!verifyTip && !goods.length) {
+        verifyTip = '请选择要' + type + '的商品';
+    }
+
+    return goods;
+}
+
+// 打包退货信息
+function packRefundInfo() {
+    var res = {};
+
+    res.goods = packGoogsList();
+    res.payment = {};
+
+    $refundType.each(function() {
+        if ($(this).prop('checked')) {
+            res.payment.return_amount_mode = $(this).val() * 1;
+        }
+    });
+
+    if (!verifyTip && !res.payment.return_amount_mode) {
+        verifyTip = '请选择退款方式';
+    }
+
+    if (res.payment.return_amount_mode === 2) {
+        res.payment.province = $province.val();
+        res.payment.city = $city.val();
+        res.payment.area_code = $areaCode.val();
+        if (!verifyTip && !res.payment.area_code * 1) {
+            verifyTip = '请选择银行所在地';
+        }
+
+        res.payment.bank_name = $.trim($refundInfo.find('input[name="bank-name"]').val());
+        if (!verifyTip && !res.payment.bank_name) {
+            verifyTip = '请填写银行名称';
+        }
+
+        res.payment.payee_name = $.trim($refundInfo.find('input[name="payee-name"]').val());
+        if (!verifyTip && !res.payment.payee_name) {
+            verifyTip = '请填写收款人姓名';
+        }
+
+        res.payment.bank_card = $.trim($refundInfo.find('input[name="bank-card"]').val());
+        if (!verifyTip && !res.payment.bank_card) {
+            verifyTip = '请填写收款账户';
+        }
+
+    } else if (res.payment.return_amount_mode === 3) {
+        res.payment.alipay_name = $.trim($refundInfo.find('input[name="alipay-name"]').val());
+        if (!verifyTip && !res.payment.alipay_name) {
+            verifyTip = '请填写收款人姓名';
+        }
+
+        res.payment.alipay_account = $.trim($refundInfo.find('input[name="alipay-account"]').val());
+        if (!verifyTip && !res.payment.alipay_account) {
+            verifyTip = '请填写收款账户';
+        }
+
+    }
+    return res;
+}
+
+// 打包换货信息
+function packExchangeInfo() {
+    var res = {};
+
+    res.goods = packGoogsList();
+
+    res.consigneeName = $.trim($exchange.find('input[name="name"]').val());
+    if (!verifyTip && !res.consigneeName) {
+        verifyTip = '请填写收货人姓名';
+    }
+
+    res.areaCode = $areaCode.val();
+    if (!verifyTip && !res.areaCode * 1) {
+        verifyTip = '请选择地区';
+    }
+
+    res.address = $.trim($exchange.find('input[name="address"]').val());
+    if (!verifyTip && !res.address) {
+        verifyTip = '请填写详细地址';
+    }
+
+    res.mobile = $.trim($exchange.find('input[name="phone"]').val());
+    if (res.mobile === disPhone) {
+        res.mobile = defaultPhone;
+    } else {
+        if (!verifyTip && !res.mobile) {
+            verifyTip = '请填写手机号';
+        }
+    }
+
+    res.zipCode = $.trim($exchange.find('input[name="postcode"]').val());
+    res.deliveryType = $exchange.find('input[name="delivery-tpye"]:checked').val();
+    if (!verifyTip && !res.deliveryType) {
+        verifyTip = '请选择商品返回方式';
+    }
+
+    return res;
+}
+
+function loadWaiting(status) {
+    var text = '○';
+
+    if (status) {
+        $submitBox.addClass('applying');
+        timer = setInterval(function() {
+            $waitPoint.text(text);
+            if (text.length > 3) {
+                text = '';
+            }
+            text += '○';
+        }, 600);
+    } else {
+        $submitBox.removeClass('applying');
+        clearInterval(timer);
+    }
+}
+
+// 提交申请
+$('.save-btn').click(function() {
+    var url, data;
+
+    verifyTip = '';  // 初始化提示语
+    if (pageType) {
+        url = '/home/returns/saveRefund';
+        data = packRefundInfo();
+    } else {
+        url = '/home/returns/saveExchange';
+        data = packExchangeInfo();
+    }
+    data.orderCode = orderCode;
+
+    if (verifyTip) {
+        alert(verifyTip);
+        return;
+    }
+
+    loadWaiting(true);
+    $.ajax({
+        type: 'POST',
+        url: url,
+        data: data
+    }).then(function(jsonData) {
+        if (jsonData.code === 200) {
+            if (jsonData.data && jsonData.data.refer) {
+                window.location.href = jsonData.data.refer;
+            }
+        } else {
+            alert(jsonData.message);
+            loadWaiting(false);
+        }
+    });
+});
+});
+define("js/home/common-address", ["jquery","handlebars","source-map"], function(require, exports, module){
+/**
+ * 个人中心页-地址管理
+ * @author: wsl<shuiling.wang@yoho.cn>
+ * @date: 2016/02/24
+ */
+
+var $ = require("jquery"),
+    dialog = require("js/common/dialog"),
+    Alert = dialog.Alert;
+
+var address = {
+
+    // 省的控件ID
+    provinceDomId: 'province',
+
+    // 城市的控件ID
+    cityDomId: 'city',
+
+    // 地区的控件ID
+    areaDomId: 'areaCode',
+
+    initDomIds: function(domOptions) {
+        var the = this;
+
+        if (domOptions.provinceDomId !== undefined) {
+            the.provinceDomId = domOptions.provinceDomId;
+        }
+        if (domOptions.cityDomId !== undefined) {
+            the.cityDomId = domOptions.cityDomId;
+        }
+        if (domOptions.areaDomId !== undefined) {
+            the.areaDomId = domOptions.areaDomId;
+        }
+    },
+
+    // 初始化地址数据
+    loadAreaData: function(pCode, toDomId, defaultValue, allCode) {
+        var the = this,
+            $toDom = $('#' + toDomId),
+            i = 0,
+            point = '';
+
+        var active,
+            val,
+            nId,
+            selecter;
+
+        $toDom.empty();
+
+        if (pCode < 91) {
+            $('#' + the.areaDomId).empty();
+            $('#county').attr('disabled', 'disabled');
+        }
+
+        $.ajax({
+            type: 'GET',
+            url: '/home/address/area',
+            data: 'id=' + pCode,
+
+            success: function(jsonData) {
+                jsonData.code = 200;
+
+                if (jsonData.code !== 200) {
+                    active = new Alert('暂无数据');
+                    active.show();
+                    return false;
+                }
+
+                $toDom.append('<option value="0">' + defaultValue + '</option>');
+                for (i in jsonData.options) {
+                    if (jsonData.options[i]) {
+                        val = jsonData.options[i];
+                        point = (toDomId === the.areaDomId && val.is_support === 'Y') ? '*' : '';
+                        nId = val.value;
+                        selecter = '';
+
+                        if (typeof (allCode) !== 'undefined' && allCode !== 0 &&
+                            nId === allCode.substr(0, nId.length)) {
+                            selecter = 'selected';
+                        }
+                        $toDom.append('<option value="' + nId + '" ' + selecter + '>' + point + val.text + '</option>');
+                    }
+                }
+            }
+        });
+    },
+    bindAreaChange: function(domOptions) {
+        var the = this;
+
+        if ($('#' + the.provinceDomId).data('events') !== undefined) {
+            return;
+        }
+
+        // 初始化
+        $('#' + the.provinceDomId).change(function() {
+            var pCode = $('#' + the.provinceDomId).val();
+
+            if (pCode === '0') {
+                return;
+            }
+
+            the.loadAreaData(pCode, the.cityDomId, '请选择城市', pCode);
+            $('#' + the.areaDomId).hide();
+            the.showAreaSel(domOptions.dispDomId);
+        });
+
+        $('#' + this.cityDomId).change(function() {
+            var pCode = $('#' + the.cityDomId).val();
+
+            if (pCode === '0') {
+                return;
+            }
+
+            the.loadAreaData(pCode, the.areaDomId, '请选择区县', pCode);
+            $('#' + the.areaDomId).show();
+            the.showAreaSel(domOptions.dispDomId);
+        });
+
+        $('#' + the.areaDomId).change(function() {
+            the.showAreaSel(domOptions.dispDomId);
+        });
+
+        the.showAreaSel(domOptions.dispDomId);
+    },
+
+    /**
+     * 显示地区选择
+     */
+    showAreaSel: function(dispDomId) {
+        var the = this,
+            strAddr = '',
+            strProvince = $('#' + the.provinceDomId).find('option:selected').text(),
+            strCity = $('#' + the.cityDomId).find('option:selected').text(),
+            strArea = $('#' + the.areaDomId).find('option:selected').text();
+
+        if (dispDomId !== undefined && dispDomId !== '') {
+            if (strProvince.indexOf('选择') < 0) {
+                strAddr = strProvince;
+            }
+
+            if (strCity !== '' && strCity.indexOf('选择') < 0) {
+                strAddr += ',' + strCity;
+            }
+
+            if (strArea !== '' && strArea.indexOf('选择') < 0) {
+                strAddr += ',' + strArea;
+            }
+            $('#' + dispDomId).html(strAddr);
+        }
+    },
+
+    loadAllData: function(areaCode, domOptions) {
+        var the = this;
+
+        the.initDomIds(domOptions);
+        areaCode += '';
+
+        if (areaCode < 91) {
+            the.loadAreaData(0, the.provinceDomId, '请选择省份', '');
+            $('#' + the.areaDomId).hide();
+            $('#' + the.cityDomId).html('<option value="0">请选择市</option>');
+        } else if (areaCode.length === 4) {
+            the.loadAreaData(0, the.provinceDomId, '请选择省份', areaCode);
+            the.loadAreaData(areaCode.substr(0, 2), the.cityDomId, '请选择城市', areaCode);
+            the.loadAreaData(areaCode, the.areaDomId, '请选择区县', areaCode);
+            $('#' + the.areaDomId).show();
+        } else if (areaCode.length === 6) {
+            the.loadAreaData(0, the.provinceDomId, '请选择省份', areaCode);
+            the.loadAreaData(areaCode.substr(0, 2), the.cityDomId, '请选择城市', areaCode);
+            the.loadAreaData(areaCode.substr(0, 4), the.areaDomId, '请选择区县', areaCode);
+            $('#' + this.areaDomId).show();
+        }
+        the.bindAreaChange(domOptions);
+    }
+};
+
+module.exports = address;
+
+});
+define("plugin/jquery.qupload", ["jquery"], function(require, exports, module){
+/**
+ * upload plugin
+ * 
+ */
+var $ = require("jquery");
+var SWFUpload = require("plugin/swfupload.queue").SWFUpload;
+
+var file_upload_limit = 6;
+$.fn.extend({
+    qupload : function(options) {
+        writeProgressHtml();
+        initSwfUpload($(this).attr('id'), options);
+    }
+});
+
+var hasProgreeHtml = 0;
+
+// 创建进度条的html
+function writeProgressHtml() {
+    if (hasProgreeHtml == 0) // 一个页面只创建一次
+    {
+        $('body')
+                .append(
+                        '<div id="progressDialog" style="display: none;width:370px;height:80px !important;"><div style="padding:10px 20px;"><span id="curUploadStatus">图片上传中……请稍等</span><div id="progress"></div></div></div>');
+        hasProgreeHtml = 1;
+    }
+}
+
+function setUploadStatus(uploadNum, totalUploadNum) {
+    $('#uploadNum').html(uploadNum);
+    $('#totalUploadNum').html(totalUploadNum);
+}
+
+// 初始化swf
+function initSwfUpload(btnId, options) {
+    // 上传成功的回调函数
+    var uploadSuccessCallBack = null;
+    if (options.uploadSuccessed != undefined) {
+        uploadSuccessCallBack = options.uploadSuccessed;
+    }
+    // 上传的key
+    var uploadKeyValue = '';
+    if (options.uploadKey != undefined) {
+        uploadKeyValue = options.uploadKey;
+    }
+
+    // 上传之前可以做的操作参数
+    var preUploadCallBack = null;
+    if (options.preupload != undefined) {
+        preUploadCallBack = options.preupload;
+    }
+
+    // 弹出层ID
+    var progressDivId = 'progressDialog';
+    // 进度条ID
+    var progressTargetId = 'progress';
+
+    // 共有多少张需要上传
+    var totalUploadNum = 0;
+
+    // 当前已经上传的张数
+    var curUploadedNum = 0;
+
+    this.options = options;
+
+    var numTest = 0;
+    
+    var errmsg_box = this.options.errmsg_box;
+
+    // 设置默认值函数
+    function setDefaultValue(optionName, optionValue) {
+        this.options[optionName] = options[optionName] == undefined ? optionValue
+                : options[optionName];
+    }
+
+    setDefaultValue('flash_url',
+            "http://static.yohobuy.com/admin/js/swfupload/swfupload.swf");
+    setDefaultValue('upload_url', "http://upload.yohobuy.com");
+    setDefaultValue('file_post_name', "Filedata");
+    setDefaultValue('file_size_limit', "2 MB");
+    setDefaultValue('file_types', "*.*");
+    setDefaultValue('file_types_description', "All Files");
+    setDefaultValue('file_upload_limit', file_upload_limit);
+    setDefaultValue('file_queue_limit', 0);
+    setDefaultValue('button_image_url',
+            "http://static.yohobuy.com/admin/images/btn_swfupload.png");
+    setDefaultValue('button_width', "104");
+    setDefaultValue('button_height', "20");
+    setDefaultValue('button_text', '<span class="btn_upload_xzzp">选择本地照片</span>');
+    setDefaultValue('button_text_style', '.btn_upload_xzzp{color:#ffffff}');
+    setDefaultValue('button_text_left_padding', 24);
+    setDefaultValue('button_text_top_padding', 0);
+    setDefaultValue('button_window_mode', 'TRANSPARENT');
+    setDefaultValue('button_cursor', '-2');
+
+    var settings = {
+        flash_url : this.options.flash_url,
+        upload_url : this.options.upload_url,
+        file_post_name : this.options.file_post_name,
+        // post_params: {"PHPSESSID" : "<?php echo session_id(); ?>"},
+        file_size_limit : this.options.file_size_limit,
+        file_types : this.options.file_types,
+        file_types_description : this.options.file_types_description,
+        file_upload_limit : this.options.file_upload_limit,
+        file_queue_limit : this.options.file_queue_limit,
+        prevent_swf_caching : false,
+        preserve_relative_urls : false,
+        custom_settings : {
+
+        },
+        debug : false,
+
+        // Button settings
+        button_image_url : this.options.button_image_url,
+        button_width : this.options.button_width,
+        button_height : this.options.button_height,
+        button_placeholder_id : btnId,
+        button_text : this.options.button_text,
+        button_text_style : this.options.button_text_style,
+        button_text_left_padding : this.options.button_text_left_padding,
+        button_text_top_padding : this.options.button_text_top_padding,
+        button_window_mode : this.options.button_window_mode,
+        button_cursor : this.options.button_cursor,
+
+        // The event handler functions are defined in handlers.js
+        file_dialog_start_handler : fileDialogStart,
+        file_queued_handler : fileQueued,
+        file_queue_error_handler : fileQueueError,
+        file_dialog_complete_handler : fileDialogComplete,
+        upload_start_handler : uploadStart,
+        upload_progress_handler : uploadProgress,
+        upload_error_handler : uploadError,
+        upload_success_handler : uploadSuccess,
+        upload_complete_handler : uploadComplete,
+        queue_complete_handler : queueComplete,
+        button_action: this.options.button_action
+    };
+
+    var swfu = new SWFUpload(settings);
+
+    function fileQueued(file) {
+        try {
+
+        } catch (ex) {
+            this.debug(ex);
+        }
+
+    }
+
+    function fileQueueError(file, errorCode, message) {
+        var errmsg;
+        try {
+            if (errorCode === SWFUpload.QUEUE_ERROR.QUEUE_LIMIT_EXCEEDED) {
+                alert("您尝试上传太多文件.\n"
+                        + (message === 0 ? "您已达到上传限制." : "您最多还可以 "
+                                + (message > 1 ? "上传 " + message + "文件."
+                                        : "一个文件.")));
+                return;
+            }
+            
+            // var progress = new FileProgress(file,
+            // this.customSettings.progressTarget);
+            // progress.setError();
+            // progress.toggleCancel(false);
+            switch (errorCode) {
+            
+            case SWFUpload.QUEUE_ERROR.FILE_EXCEEDS_SIZE_LIMIT:
+                // progress.setStatus("File is too big.");
+                
+                errmsg = '文件超过'+settings.file_size_limit/1024+'M';
+                alert(errmsg);
+                this.debug("Error Code: File too big, File name: "
+                                + file.name + ", File size: " + file.size
+                                + ", Message: " + message); 
+                break;
+            case SWFUpload.QUEUE_ERROR.ZERO_BYTE_FILE:
+                // progress.setStatus("Cannot upload Zero Byte files.");
+                alert('请上传有内容的文件!');
+                this.debug("Error Code: Zero byte file, File name: "
+                        + file.name + ", File size: " + file.size
+                        + ", Message: " + message);
+                break;
+            case SWFUpload.QUEUE_ERROR.INVALID_FILETYPE:
+                alert('请上传指定类型的文件!');
+                this.debug("Error Code: Invalid File Type, File name: "
+                        + file.name + ", File size: " + file.size
+                        + ", Message: " + message);
+                break;
+            default:
+                if (file !== null) {
+                    // progress.setStatus("Unhandled Error");
+                }
+                alert('上传文件失败,请稍后在试!');
+                this.debug("Error Code: " + errorCode + ", File name: "
+                        + file.name + ", File size: " + file.size
+                        + ", Message: " + message);
+                break;
+            }
+        } catch (ex) {
+            this.debug(ex);
+        }
+    }
+
+    function fileDialogStart() {
+        if (preUploadCallBack != null) {
+            preUploadCallBack();
+        }
+    }
+
+    // 选择文件完成
+    function fileDialogComplete(numFilesSelected, numFilesQueued) {
+        try {
+
+            if (numFilesSelected > 0) {
+                // document.getElementById(this.customSettings.cancelButtonId).disabled
+                // = false;
+                totalUploadNum = numFilesSelected;
+                curUploadedNum = 1;
+                setUploadStatus(curUploadedNum, totalUploadNum);
+                this.startUpload();
+            }
+
+        } catch (ex) {
+            this.debug(ex);
+        }
+    }
+
+    // 开始上传
+    function uploadStart(file) {
+        this.addPostParam('_key', uploadKeyValue);
+        //$('#' + progressDivId).dialog();
+    }
+
+    // 上传进度
+    function uploadProgress(file, bytesLoaded, bytesTotal) {
+        // $('#uploadData').html(bytesLoaded + "/" + bytesTotal);
+        // $('#uploadData').html( $('#uploadData').html() + ' - ' + bytesLoaded
+        // + '+' + ',' + bytesTotal );
+        var percent = Math.ceil((bytesLoaded / bytesTotal) * 100);
+        //$("#progress").progressbar({
+        //  value : percent
+        //});
+    }
+
+    // 上传成功
+    function uploadSuccess(file, serverData) {
+        curUploadedNum++;
+        setUploadStatus(curUploadedNum, totalUploadNum);
+        if (uploadSuccessCallBack != null) {
+            uploadSuccessCallBack(serverData);
+        }
+    }
+
+    // 上传出错
+    function uploadError(file, errorCode, message) {
+
+        try {
+            if (errorCode === SWFUpload.QUEUE_ERROR.QUEUE_LIMIT_EXCEEDED) {
+                alert("您尝试上传太多文件.\n"
+                        + (message === 0 ? "您已达到上传限制." : "您最多还可以 "
+                                + (message > 1 ? "上传 " + message + "文件."
+                                        : "一个文件.")));
+                return;
+            }
+            switch (errorCode) {
+            
+            case SWFUpload.QUEUE_ERROR.FILE_EXCEEDS_SIZE_LIMIT:
+                alert("Error Code: 文件太大。 文件名为: " + file.name + ", 大小为: "
+                        + file.size + ", Message: " + message);
+                break;
+            case SWFUpload.QUEUE_ERROR.ZERO_BYTE_FILE:
+
+                alert("Error Code: 文件为0, 文件名为: " + file.name + ", 大小为: "
+                        + file.size + ", Message: " + message);
+                break;
+            case SWFUpload.QUEUE_ERROR.INVALID_FILETYPE:
+                alert("Error Code: 文件类型不合要求, 文件名为: " + file.name + ", 大小为: "
+                        + file.size + ", Message: " + message);
+                break;
+            default:
+                if (file !== null) {
+
+                }
+                alert("上传出错" + "Error Code: " + errorCode + ", File name: "
+                        + file.name + ", File size: " + file.size
+                        + ", Message: " + message);
+                break;
+            }
+        } catch (ex) {
+            this.debug(ex);
+        }
+    }
+
+    // 上传完成
+    function uploadComplete(file) {
+        //$('#' + progressDivId).dialog('close');
+    }
+
+    // This event comes from the Queue Plugin
+    function queueComplete(numFilesUploaded) {
+
+    }
+}
+
+window.SWFUpload = SWFUpload;
+});
+define("plugin/swfupload.queue", [], function(require, exports, module){
+/*
+    Queue Plug-in
+    
+    Features:
+        *Adds a cancelQueue() method for cancelling the entire queue.
+        *All queued files are uploaded when startUpload() is called.
+        *If false is returned from uploadComplete then the queue upload is stopped.
+         If false is not returned (strict comparison) then the queue upload is continued.
+        *Adds a QueueComplete event that is fired when all the queued files have finished uploading.
+         Set the event handler with the queue_complete_handler setting.
+        
+    */
+var SWFUpload = require("plugin/swfupload").SWFUpload;
+
+if (typeof(SWFUpload) === "function") {
+    SWFUpload.queue = {};
+    
+    SWFUpload.prototype.initSettings = (function (oldInitSettings) {
+        return function () {
+            if (typeof(oldInitSettings) === "function") {
+                oldInitSettings.call(this);
+            }
+            
+            this.queueSettings = {};
+            
+            this.queueSettings.queue_cancelled_flag = false;
+            this.queueSettings.queue_upload_count = 0;
+            
+            this.queueSettings.user_upload_complete_handler = this.settings.upload_complete_handler;
+            this.queueSettings.user_upload_start_handler = this.settings.upload_start_handler;
+            this.settings.upload_complete_handler = SWFUpload.queue.uploadCompleteHandler;
+            this.settings.upload_start_handler = SWFUpload.queue.uploadStartHandler;
+            
+            this.settings.queue_complete_handler = this.settings.queue_complete_handler || null;
+        };
+    })(SWFUpload.prototype.initSettings);
+
+    SWFUpload.prototype.startUpload = function (fileID) {
+        this.queueSettings.queue_cancelled_flag = false;
+        this.callFlash("StartUpload", [fileID]);
+    };
+
+    SWFUpload.prototype.cancelQueue = function () {
+        this.queueSettings.queue_cancelled_flag = true;
+        this.stopUpload();
+        
+        var stats = this.getStats();
+        while (stats.files_queued > 0) {
+            this.cancelUpload();
+            stats = this.getStats();
+        }
+    };
+    
+    SWFUpload.queue.uploadStartHandler = function (file) {
+        var returnValue;
+        if (typeof(this.queueSettings.user_upload_start_handler) === "function") {
+            returnValue = this.queueSettings.user_upload_start_handler.call(this, file);
+        }
+        
+        // To prevent upload a real "FALSE" value must be returned, otherwise default to a real "TRUE" value.
+        returnValue = (returnValue === false) ? false : true;
+        
+        this.queueSettings.queue_cancelled_flag = !returnValue;
+
+        return returnValue;
+    };
+    
+    SWFUpload.queue.uploadCompleteHandler = function (file) {
+        var user_upload_complete_handler = this.queueSettings.user_upload_complete_handler;
+        var continueUpload;
+        
+        if (file.filestatus === SWFUpload.FILE_STATUS.COMPLETE) {
+            this.queueSettings.queue_upload_count++;
+        }
+
+        if (typeof(user_upload_complete_handler) === "function") {
+            continueUpload = (user_upload_complete_handler.call(this, file) === false) ? false : true;
+        } else if (file.filestatus === SWFUpload.FILE_STATUS.QUEUED) {
+            // If the file was stopped and re-queued don't restart the upload
+            continueUpload = false;
+        } else {
+            continueUpload = true;
+        }
+        
+        if (continueUpload) {
+            var stats = this.getStats();
+            if (stats.files_queued > 0 && this.queueSettings.queue_cancelled_flag === false) {
+                this.startUpload();
+            } else if (this.queueSettings.queue_cancelled_flag === false) {
+                this.queueEvent("queue_complete_handler", [this.queueSettings.queue_upload_count]);
+                this.queueSettings.queue_upload_count = 0;
+            } else {
+                this.queueSettings.queue_cancelled_flag = false;
+                this.queueSettings.queue_upload_count = 0;
+            }
+        }
+    };
+}
+
+exports.SWFUpload = SWFUpload;
+});
+define("plugin/swfupload", [], function(require, exports, module){
+/**
+ * SWFUpload: http://www.swfupload.org, http://swfupload.googlecode.com
+ *
+ * mmSWFUpload 1.0: Flash upload dialog - http://profandesign.se/swfupload/,  http://www.vinterwebb.se/
+ *
+ * SWFUpload is (c) 2006-2007 Lars Huring, Olov Nilz锟絥 and Mammon Media and is released under the MIT License:
+ * http://www.opensource.org/licenses/mit-license.php
+ *
+ * SWFUpload 2 is (c) 2007-2008 Jake Roberts and is released under the MIT License:
+ * http://www.opensource.org/licenses/mit-license.php
+ *
+ */
+
+
+/* ******************* */
+/* Constructor & Init  */
+/* ******************* */
+var SWFUpload;
+
+if (SWFUpload == undefined) {
+    SWFUpload = function (settings) {
+        this.initSWFUpload(settings);
+    };
+}
+
+SWFUpload.prototype.initSWFUpload = function (settings) {
+    try {
+        this.customSettings = {};   // A container where developers can place their own settings associated with this instance.
+        this.settings = settings;
+        this.eventQueue = [];
+        this.movieName = "SWFUpload_" + SWFUpload.movieCount++;
+        this.movieElement = null;
+
+
+        // Setup global control tracking
+        SWFUpload.instances[this.movieName] = this;
+
+        // Load the settings.  Load the Flash movie.
+        this.initSettings();
+        this.loadFlash();
+        this.displayDebugInfo();
+    } catch (ex) {
+        delete SWFUpload.instances[this.movieName];
+        throw ex;
+    }
+};
+
+/* *************** */
+/* Static Members  */
+/* *************** */
+SWFUpload.instances = {};
+SWFUpload.movieCount = 0;
+SWFUpload.version = "2.2.0 2009-03-25";
+SWFUpload.QUEUE_ERROR = {
+    QUEUE_LIMIT_EXCEEDED            : -100,
+    FILE_EXCEEDS_SIZE_LIMIT         : -110,
+    ZERO_BYTE_FILE                  : -120,
+    INVALID_FILETYPE                : -130
+};
+SWFUpload.UPLOAD_ERROR = {
+    HTTP_ERROR                      : -200,
+    MISSING_UPLOAD_URL              : -210,
+    IO_ERROR                        : -220,
+    SECURITY_ERROR                  : -230,
+    UPLOAD_LIMIT_EXCEEDED           : -240,
+    UPLOAD_FAILED                   : -250,
+    SPECIFIED_FILE_ID_NOT_FOUND     : -260,
+    FILE_VALIDATION_FAILED          : -270,
+    FILE_CANCELLED                  : -280,
+    UPLOAD_STOPPED                  : -290
+};
+SWFUpload.FILE_STATUS = {
+    QUEUED       : -1,
+    IN_PROGRESS  : -2,
+    ERROR        : -3,
+    COMPLETE     : -4,
+    CANCELLED    : -5
+};
+SWFUpload.BUTTON_ACTION = {
+    SELECT_FILE  : -100,
+    SELECT_FILES : -110,
+    START_UPLOAD : -120
+};
+SWFUpload.CURSOR = {
+    ARROW : -1,
+    HAND : -2
+};
+SWFUpload.WINDOW_MODE = {
+    WINDOW : "window",
+    TRANSPARENT : "transparent",
+    OPAQUE : "opaque"
+};
+
+// Private: takes a URL, determines if it is relative and converts to an absolute URL
+// using the current site. Only processes the URL if it can, otherwise returns the URL untouched
+SWFUpload.completeURL = function(url) {
+    if (typeof(url) !== "string" || url.match(/^https?:\/\//i) || url.match(/^\//)) {
+        return url;
+    }
+    
+    var currentURL = window.location.protocol + "//" + window.location.hostname + (window.location.port ? ":" + window.location.port : "");
+    
+    var indexSlash = window.location.pathname.lastIndexOf("/");
+    if (indexSlash <= 0) {
+        path = "/";
+    } else {
+        path = window.location.pathname.substr(0, indexSlash) + "/";
+    }
+    
+    return /*currentURL +*/ path + url;
+    
+};
+
+
+/* ******************** */
+/* Instance Members  */
+/* ******************** */
+
+// Private: initSettings ensures that all the
+// settings are set, getting a default value if one was not assigned.
+SWFUpload.prototype.initSettings = function () {
+    this.ensureDefault = function (settingName, defaultValue) {
+        this.settings[settingName] = (this.settings[settingName] == undefined) ? defaultValue : this.settings[settingName];
+    };
+    
+    // Upload backend settings
+    this.ensureDefault("upload_url", "");
+    this.ensureDefault("preserve_relative_urls", false);
+    this.ensureDefault("file_post_name", "Filedata");
+    this.ensureDefault("post_params", {});
+    this.ensureDefault("use_query_string", false);
+    this.ensureDefault("requeue_on_error", false);
+    this.ensureDefault("http_success", []);
+    this.ensureDefault("assume_success_timeout", 0);
+    
+    // File Settings
+    this.ensureDefault("file_types", "*.*");
+    this.ensureDefault("file_types_description", "All Files");
+    this.ensureDefault("file_size_limit", 0);   // Default zero means "unlimited"
+    this.ensureDefault("file_upload_limit", 0);
+    this.ensureDefault("file_queue_limit", 0);
+
+    // Flash Settings
+    this.ensureDefault("flash_url", "swfupload.swf");
+    this.ensureDefault("prevent_swf_caching", true);
+    
+    // Button Settings
+    this.ensureDefault("button_image_url", "");
+    this.ensureDefault("button_width", 1);
+    this.ensureDefault("button_height", 1);
+    this.ensureDefault("button_text", "");
+    this.ensureDefault("button_text_style", "color: #000000; font-size: 16pt;");
+    this.ensureDefault("button_text_top_padding", 0);
+    this.ensureDefault("button_text_left_padding", 0);
+    this.ensureDefault("button_action", SWFUpload.BUTTON_ACTION.SELECT_FILES);
+    this.ensureDefault("button_disabled", false);
+    this.ensureDefault("button_placeholder_id", "");
+    this.ensureDefault("button_placeholder", null);
+    this.ensureDefault("button_cursor", SWFUpload.CURSOR.ARROW);
+    this.ensureDefault("button_window_mode", SWFUpload.WINDOW_MODE.WINDOW);
+    
+    // Debug Settings
+    this.ensureDefault("debug", false);
+    this.settings.debug_enabled = this.settings.debug;  // Here to maintain v2 API
+    
+    // Event Handlers
+    this.settings.return_upload_start_handler = this.returnUploadStart;
+    this.ensureDefault("swfupload_loaded_handler", null);
+    this.ensureDefault("file_dialog_start_handler", null);
+    this.ensureDefault("file_queued_handler", null);
+    this.ensureDefault("file_queue_error_handler", null);
+    this.ensureDefault("file_dialog_complete_handler", null);
+    
+    this.ensureDefault("upload_start_handler", null);
+    this.ensureDefault("upload_progress_handler", null);
+    this.ensureDefault("upload_error_handler", null);
+    this.ensureDefault("upload_success_handler", null);
+    this.ensureDefault("upload_complete_handler", null);
+    
+    this.ensureDefault("debug_handler", this.debugMessage);
+
+    this.ensureDefault("custom_settings", {});
+
+    // Other settings
+    this.customSettings = this.settings.custom_settings;
+    
+    // Update the flash url if needed
+    if (!!this.settings.prevent_swf_caching) {
+        this.settings.flash_url = this.settings.flash_url + (this.settings.flash_url.indexOf("?") < 0 ? "?" : "&") + "preventswfcaching=" + new Date().getTime();
+    }
+    
+    if (!this.settings.preserve_relative_urls) {
+        //this.settings.flash_url = SWFUpload.completeURL(this.settings.flash_url); // Don't need to do this one since flash doesn't look at it
+        this.settings.upload_url = SWFUpload.completeURL(this.settings.upload_url);
+        if (this.settings.button_image_url) {
+            this.settings.button_image_url = SWFUpload.completeURL(this.settings.button_image_url);
+        }
+    }
+    
+    delete this.ensureDefault;
+};
+
+// Private: loadFlash replaces the button_placeholder element with the flash movie.
+SWFUpload.prototype.loadFlash = function () {
+    var targetElement, tempParent;
+
+    // Make sure an element with the ID we are going to use doesn't already exist
+    if (document.getElementById(this.movieName) !== null) {
+        throw "ID " + this.movieName + " is already in use. The Flash Object could not be added";
+    }
+
+    // Get the element where we will be placing the flash movie
+    targetElement = document.getElementById(this.settings.button_placeholder_id) || this.settings.button_placeholder;
+
+    if (targetElement == undefined) {
+        throw "Could not find the placeholder element: " + this.settings.button_placeholder_id;
+    }
+
+    // Append the container and load the flash
+    tempParent = document.createElement("div");
+    tempParent.innerHTML = this.getFlashHTML(); // Using innerHTML is non-standard but the only sensible way to dynamically add Flash in IE (and maybe other browsers)
+    targetElement.parentNode.replaceChild(tempParent.firstChild, targetElement);
+
+    // Fix IE Flash/Form bug
+    if (window[this.movieName] == undefined) {
+        window[this.movieName] = this.getMovieElement();
+    }
+    
+};
+
+// Private: getFlashHTML generates the object tag needed to embed the flash in to the document
+SWFUpload.prototype.getFlashHTML = function () {
+    // Flash Satay object syntax: http://www.alistapart.com/articles/flashsatay
+    return ['<object id="', this.movieName, '" type="application/x-shockwave-flash" data="', this.settings.flash_url, '" width="', this.settings.button_width, '" height="', this.settings.button_height, '" class="swfupload">',
+                '<param name="wmode" value="', this.settings.button_window_mode, '" />',
+                '<param name="movie" value="', this.settings.flash_url, '" />',
+                '<param name="quality" value="high" />',
+                '<param name="menu" value="false" />',
+                '<param name="allowScriptAccess" value="always" />',
+                '<param name="flashvars" value="' + this.getFlashVars() + '" />',
+                '</object>'].join("");
+};
+
+// Private: getFlashVars builds the parameter string that will be passed
+// to flash in the flashvars param.
+SWFUpload.prototype.getFlashVars = function () {
+    // Build a string from the post param object
+    var paramString = this.buildParamString();
+    var httpSuccessString = this.settings.http_success.join(",");
+    
+    // Build the parameter string
+    return ["movieName=", encodeURIComponent(this.movieName),
+            "&amp;uploadURL=", encodeURIComponent(this.settings.upload_url),
+            "&amp;useQueryString=", encodeURIComponent(this.settings.use_query_string),
+            "&amp;requeueOnError=", encodeURIComponent(this.settings.requeue_on_error),
+            "&amp;httpSuccess=", encodeURIComponent(httpSuccessString),
+            "&amp;assumeSuccessTimeout=", encodeURIComponent(this.settings.assume_success_timeout),
+            "&amp;params=", encodeURIComponent(paramString),
+            "&amp;filePostName=", encodeURIComponent(this.settings.file_post_name),
+            "&amp;fileTypes=", encodeURIComponent(this.settings.file_types),
+            "&amp;fileTypesDescription=", encodeURIComponent(this.settings.file_types_description),
+            "&amp;fileSizeLimit=", encodeURIComponent(this.settings.file_size_limit),
+            "&amp;fileUploadLimit=", encodeURIComponent(this.settings.file_upload_limit),
+            "&amp;fileQueueLimit=", encodeURIComponent(this.settings.file_queue_limit),
+            "&amp;debugEnabled=", encodeURIComponent(this.settings.debug_enabled),
+            "&amp;buttonImageURL=", encodeURIComponent(this.settings.button_image_url),
+            "&amp;buttonWidth=", encodeURIComponent(this.settings.button_width),
+            "&amp;buttonHeight=", encodeURIComponent(this.settings.button_height),
+            "&amp;buttonText=", encodeURIComponent(this.settings.button_text),
+            "&amp;buttonTextTopPadding=", encodeURIComponent(this.settings.button_text_top_padding),
+            "&amp;buttonTextLeftPadding=", encodeURIComponent(this.settings.button_text_left_padding),
+            "&amp;buttonTextStyle=", encodeURIComponent(this.settings.button_text_style),
+            "&amp;buttonAction=", encodeURIComponent(this.settings.button_action),
+            "&amp;buttonDisabled=", encodeURIComponent(this.settings.button_disabled),
+            "&amp;buttonCursor=", encodeURIComponent(this.settings.button_cursor)
+        ].join("");
+};
+
+// Public: getMovieElement retrieves the DOM reference to the Flash element added by SWFUpload
+// The element is cached after the first lookup
+SWFUpload.prototype.getMovieElement = function () {
+    if (this.movieElement == undefined) {
+        this.movieElement = document.getElementById(this.movieName);
+    }
+
+    if (this.movieElement === null) {
+        throw "Could not find Flash element";
+    }
+    
+    return this.movieElement;
+};
+
+// Private: buildParamString takes the name/value pairs in the post_params setting object
+// and joins them up in to a string formatted "name=value&amp;name=value"
+SWFUpload.prototype.buildParamString = function () {
+    var postParams = this.settings.post_params; 
+    var paramStringPairs = [];
+
+    if (typeof(postParams) === "object") {
+        for (var name in postParams) {
+            if (postParams.hasOwnProperty(name)) {
+                paramStringPairs.push(encodeURIComponent(name.toString()) + "=" + encodeURIComponent(postParams[name].toString()));
+            }
+        }
+    }
+
+    return paramStringPairs.join("&amp;");
+};
+
+// Public: Used to remove a SWFUpload instance from the page. This method strives to remove
+// all references to the SWF, and other objects so memory is properly freed.
+// Returns true if everything was destroyed. Returns a false if a failure occurs leaving SWFUpload in an inconsistant state.
+// Credits: Major improvements provided by steffen
+SWFUpload.prototype.destroy = function () {
+    try {
+        // Make sure Flash is done before we try to remove it
+        this.cancelUpload(null, false);
+        
+
+        // Remove the SWFUpload DOM nodes
+        var movieElement = null;
+        movieElement = this.getMovieElement();
+        
+        if (movieElement && typeof(movieElement.CallFunction) === "unknown") { // We only want to do this in IE
+            // Loop through all the movie's properties and remove all function references (DOM/JS IE 6/7 memory leak workaround)
+            for (var i in movieElement) {
+                try {
+                    if (typeof(movieElement[i]) === "function") {
+                        movieElement[i] = null;
+                    }
+                } catch (ex1) {}
+            }
+
+            // Remove the Movie Element from the page
+            try {
+                movieElement.parentNode.removeChild(movieElement);
+            } catch (ex) {}
+        }
+        
+        // Remove IE form fix reference
+        window[this.movieName] = null;
+
+        // Destroy other references
+        SWFUpload.instances[this.movieName] = null;
+        delete SWFUpload.instances[this.movieName];
+
+        this.movieElement = null;
+        this.settings = null;
+        this.customSettings = null;
+        this.eventQueue = null;
+        this.movieName = null;
+        
+        
+        return true;
+    } catch (ex2) {
+        return false;
+    }
+};
+
+
+// Public: displayDebugInfo prints out settings and configuration
+// information about this SWFUpload instance.
+// This function (and any references to it) can be deleted when placing
+// SWFUpload in production.
+SWFUpload.prototype.displayDebugInfo = function () {
+    this.debug(
+        [
+            "---SWFUpload Instance Info---\n",
+            "Version: ", SWFUpload.version, "\n",
+            "Movie Name: ", this.movieName, "\n",
+            "Settings:\n",
+            "\t", "upload_url:               ", this.settings.upload_url, "\n",
+            "\t", "flash_url:                ", this.settings.flash_url, "\n",
+            "\t", "use_query_string:         ", this.settings.use_query_string.toString(), "\n",
+            "\t", "requeue_on_error:         ", this.settings.requeue_on_error.toString(), "\n",
+            "\t", "http_success:             ", this.settings.http_success.join(", "), "\n",
+            "\t", "assume_success_timeout:   ", this.settings.assume_success_timeout, "\n",
+            "\t", "file_post_name:           ", this.settings.file_post_name, "\n",
+            "\t", "post_params:              ", this.settings.post_params.toString(), "\n",
+            "\t", "file_types:               ", this.settings.file_types, "\n",
+            "\t", "file_types_description:   ", this.settings.file_types_description, "\n",
+            "\t", "file_size_limit:          ", this.settings.file_size_limit, "\n",
+            "\t", "file_upload_limit:        ", this.settings.file_upload_limit, "\n",
+            "\t", "file_queue_limit:         ", this.settings.file_queue_limit, "\n",
+            "\t", "debug:                    ", this.settings.debug.toString(), "\n",
+
+            "\t", "prevent_swf_caching:      ", this.settings.prevent_swf_caching.toString(), "\n",
+
+            "\t", "button_placeholder_id:    ", this.settings.button_placeholder_id.toString(), "\n",
+            "\t", "button_placeholder:       ", (this.settings.button_placeholder ? "Set" : "Not Set"), "\n",
+            "\t", "button_image_url:         ", this.settings.button_image_url.toString(), "\n",
+            "\t", "button_width:             ", this.settings.button_width.toString(), "\n",
+            "\t", "button_height:            ", this.settings.button_height.toString(), "\n",
+            "\t", "button_text:              ", this.settings.button_text.toString(), "\n",
+            "\t", "button_text_style:        ", this.settings.button_text_style.toString(), "\n",
+            "\t", "button_text_top_padding:  ", this.settings.button_text_top_padding.toString(), "\n",
+            "\t", "button_text_left_padding: ", this.settings.button_text_left_padding.toString(), "\n",
+            "\t", "button_action:            ", this.settings.button_action.toString(), "\n",
+            "\t", "button_disabled:          ", this.settings.button_disabled.toString(), "\n",
+
+            "\t", "custom_settings:          ", this.settings.custom_settings.toString(), "\n",
+            "Event Handlers:\n",
+            "\t", "swfupload_loaded_handler assigned:  ", (typeof this.settings.swfupload_loaded_handler === "function").toString(), "\n",
+            "\t", "file_dialog_start_handler assigned: ", (typeof this.settings.file_dialog_start_handler === "function").toString(), "\n",
+            "\t", "file_queued_handler assigned:       ", (typeof this.settings.file_queued_handler === "function").toString(), "\n",
+            "\t", "file_queue_error_handler assigned:  ", (typeof this.settings.file_queue_error_handler === "function").toString(), "\n",
+            "\t", "upload_start_handler assigned:      ", (typeof this.settings.upload_start_handler === "function").toString(), "\n",
+            "\t", "upload_progress_handler assigned:   ", (typeof this.settings.upload_progress_handler === "function").toString(), "\n",
+            "\t", "upload_error_handler assigned:      ", (typeof this.settings.upload_error_handler === "function").toString(), "\n",
+            "\t", "upload_success_handler assigned:    ", (typeof this.settings.upload_success_handler === "function").toString(), "\n",
+            "\t", "upload_complete_handler assigned:   ", (typeof this.settings.upload_complete_handler === "function").toString(), "\n",
+            "\t", "debug_handler assigned:             ", (typeof this.settings.debug_handler === "function").toString(), "\n"
+        ].join("")
+    );
+};
+
+/* Note: addSetting and getSetting are no longer used by SWFUpload but are included
+    the maintain v2 API compatibility
+*/
+// Public: (Deprecated) addSetting adds a setting value. If the value given is undefined or null then the default_value is used.
+SWFUpload.prototype.addSetting = function (name, value, default_value) {
+    if (value == undefined) {
+        return (this.settings[name] = default_value);
+    } else {
+        return (this.settings[name] = value);
+    }
+};
+
+// Public: (Deprecated) getSetting gets a setting. Returns an empty string if the setting was not found.
+SWFUpload.prototype.getSetting = function (name) {
+    if (this.settings[name] != undefined) {
+        return this.settings[name];
+    }
+
+    return "";
+};
+
+
+
+// Private: callFlash handles function calls made to the Flash element.
+// Calls are made with a setTimeout for some functions to work around
+// bugs in the ExternalInterface library.
+SWFUpload.prototype.callFlash = function (functionName, argumentArray) {
+    argumentArray = argumentArray || [];
+    
+    var movieElement = this.getMovieElement();
+    var returnValue, returnString;
+
+    // Flash's method if calling ExternalInterface methods (code adapted from MooTools).
+    try {
+        returnString = movieElement.CallFunction('<invoke name="' + functionName + '" returntype="javascript">' + __flash__argumentsToXML(argumentArray, 0) + '</invoke>');
+        returnValue = eval(returnString);
+    } catch (ex) {
+        throw "Call to " + functionName + " failed";
+    }
+    
+    // Unescape file post param values
+    if (returnValue != undefined && typeof returnValue.post === "object") {
+        returnValue = this.unescapeFilePostParams(returnValue);
+    }
+
+    return returnValue;
+};
+
+/* *****************************
+    -- Flash control methods --
+    Your UI should use these
+    to operate SWFUpload
+   ***************************** */
+
+// WARNING: this function does not work in Flash Player 10
+// Public: selectFile causes a File Selection Dialog window to appear.  This
+// dialog only allows 1 file to be selected.
+SWFUpload.prototype.selectFile = function () {
+    this.callFlash("SelectFile");
+};
+
+// WARNING: this function does not work in Flash Player 10
+// Public: selectFiles causes a File Selection Dialog window to appear/ This
+// dialog allows the user to select any number of files
+// Flash Bug Warning: Flash limits the number of selectable files based on the combined length of the file names.
+// If the selection name length is too long the dialog will fail in an unpredictable manner.  There is no work-around
+// for this bug.
+SWFUpload.prototype.selectFiles = function () {
+    this.callFlash("SelectFiles");
+};
+
+
+// Public: startUpload starts uploading the first file in the queue unless
+// the optional parameter 'fileID' specifies the ID 
+SWFUpload.prototype.startUpload = function (fileID) {
+    this.callFlash("StartUpload", [fileID]);
+};
+
+// Public: cancelUpload cancels any queued file.  The fileID parameter may be the file ID or index.
+// If you do not specify a fileID the current uploading file or first file in the queue is cancelled.
+// If you do not want the uploadError event to trigger you can specify false for the triggerErrorEvent parameter.
+SWFUpload.prototype.cancelUpload = function (fileID, triggerErrorEvent) {
+    if (triggerErrorEvent !== false) {
+        triggerErrorEvent = true;
+    }
+    this.callFlash("CancelUpload", [fileID, triggerErrorEvent]);
+};
+
+// Public: stopUpload stops the current upload and requeues the file at the beginning of the queue.
+// If nothing is currently uploading then nothing happens.
+SWFUpload.prototype.stopUpload = function () {
+    this.callFlash("StopUpload");
+};
+
+/* ************************
+ * Settings methods
+ *   These methods change the SWFUpload settings.
+ *   SWFUpload settings should not be changed directly on the settings object
+ *   since many of the settings need to be passed to Flash in order to take
+ *   effect.
+ * *********************** */
+
+// Public: getStats gets the file statistics object.
+SWFUpload.prototype.getStats = function () {
+    return this.callFlash("GetStats");
+};
+
+// Public: setStats changes the SWFUpload statistics.  You shouldn't need to 
+// change the statistics but you can.  Changing the statistics does not
+// affect SWFUpload accept for the successful_uploads count which is used
+// by the upload_limit setting to determine how many files the user may upload.
+SWFUpload.prototype.setStats = function (statsObject) {
+    this.callFlash("SetStats", [statsObject]);
+};
+
+// Public: getFile retrieves a File object by ID or Index.  If the file is
+// not found then 'null' is returned.
+SWFUpload.prototype.getFile = function (fileID) {
+    if (typeof(fileID) === "number") {
+        return this.callFlash("GetFileByIndex", [fileID]);
+    } else {
+        return this.callFlash("GetFile", [fileID]);
+    }
+};
+
+// Public: addFileParam sets a name/value pair that will be posted with the
+// file specified by the Files ID.  If the name already exists then the
+// exiting value will be overwritten.
+SWFUpload.prototype.addFileParam = function (fileID, name, value) {
+    return this.callFlash("AddFileParam", [fileID, name, value]);
+};
+
+// Public: removeFileParam removes a previously set (by addFileParam) name/value
+// pair from the specified file.
+SWFUpload.prototype.removeFileParam = function (fileID, name) {
+    this.callFlash("RemoveFileParam", [fileID, name]);
+};
+
+// Public: setUploadUrl changes the upload_url setting.
+SWFUpload.prototype.setUploadURL = function (url) {
+    this.settings.upload_url = url.toString();
+    this.callFlash("SetUploadURL", [url]);
+};
+
+// Public: setPostParams changes the post_params setting
+SWFUpload.prototype.setPostParams = function (paramsObject) {
+    this.settings.post_params = paramsObject;
+    this.callFlash("SetPostParams", [paramsObject]);
+};
+
+// Public: addPostParam adds post name/value pair.  Each name can have only one value.
+SWFUpload.prototype.addPostParam = function (name, value) {
+    this.settings.post_params[name] = value;
+    this.callFlash("SetPostParams", [this.settings.post_params]);
+};
+
+// Public: removePostParam deletes post name/value pair.
+SWFUpload.prototype.removePostParam = function (name) {
+    delete this.settings.post_params[name];
+    this.callFlash("SetPostParams", [this.settings.post_params]);
+};
+
+// Public: setFileTypes changes the file_types setting and the file_types_description setting
+SWFUpload.prototype.setFileTypes = function (types, description) {
+    this.settings.file_types = types;
+    this.settings.file_types_description = description;
+    this.callFlash("SetFileTypes", [types, description]);
+};
+
+// Public: setFileSizeLimit changes the file_size_limit setting
+SWFUpload.prototype.setFileSizeLimit = function (fileSizeLimit) {
+    this.settings.file_size_limit = fileSizeLimit;
+    this.callFlash("SetFileSizeLimit", [fileSizeLimit]);
+};
+
+// Public: setFileUploadLimit changes the file_upload_limit setting
+SWFUpload.prototype.setFileUploadLimit = function (fileUploadLimit) {
+    this.settings.file_upload_limit = fileUploadLimit;
+    this.callFlash("SetFileUploadLimit", [fileUploadLimit]);
+};
+
+// Public: setFileQueueLimit changes the file_queue_limit setting
+SWFUpload.prototype.setFileQueueLimit = function (fileQueueLimit) {
+    this.settings.file_queue_limit = fileQueueLimit;
+    this.callFlash("SetFileQueueLimit", [fileQueueLimit]);
+};
+
+// Public: setFilePostName changes the file_post_name setting
+SWFUpload.prototype.setFilePostName = function (filePostName) {
+    this.settings.file_post_name = filePostName;
+    this.callFlash("SetFilePostName", [filePostName]);
+};
+
+// Public: setUseQueryString changes the use_query_string setting
+SWFUpload.prototype.setUseQueryString = function (useQueryString) {
+    this.settings.use_query_string = useQueryString;
+    this.callFlash("SetUseQueryString", [useQueryString]);
+};
+
+// Public: setRequeueOnError changes the requeue_on_error setting
+SWFUpload.prototype.setRequeueOnError = function (requeueOnError) {
+    this.settings.requeue_on_error = requeueOnError;
+    this.callFlash("SetRequeueOnError", [requeueOnError]);
+};
+
+// Public: setHTTPSuccess changes the http_success setting
+SWFUpload.prototype.setHTTPSuccess = function (http_status_codes) {
+    if (typeof http_status_codes === "string") {
+        http_status_codes = http_status_codes.replace(" ", "").split(",");
+    }
+    
+    this.settings.http_success = http_status_codes;
+    this.callFlash("SetHTTPSuccess", [http_status_codes]);
+};
+
+// Public: setHTTPSuccess changes the http_success setting
+SWFUpload.prototype.setAssumeSuccessTimeout = function (timeout_seconds) {
+    this.settings.assume_success_timeout = timeout_seconds;
+    this.callFlash("SetAssumeSuccessTimeout", [timeout_seconds]);
+};
+
+// Public: setDebugEnabled changes the debug_enabled setting
+SWFUpload.prototype.setDebugEnabled = function (debugEnabled) {
+    this.settings.debug_enabled = debugEnabled;
+    this.callFlash("SetDebugEnabled", [debugEnabled]);
+};
+
+// Public: setButtonImageURL loads a button image sprite
+SWFUpload.prototype.setButtonImageURL = function (buttonImageURL) {
+    if (buttonImageURL == undefined) {
+        buttonImageURL = "";
+    }
+    
+    this.settings.button_image_url = buttonImageURL;
+    this.callFlash("SetButtonImageURL", [buttonImageURL]);
+};
+
+// Public: setButtonDimensions resizes the Flash Movie and button
+SWFUpload.prototype.setButtonDimensions = function (width, height) {
+    this.settings.button_width = width;
+    this.settings.button_height = height;
+    
+    var movie = this.getMovieElement();
+    if (movie != undefined) {
+        movie.style.width = width + "px";
+        movie.style.height = height + "px";
+    }
+    
+    this.callFlash("SetButtonDimensions", [width, height]);
+};
+// Public: setButtonText Changes the text overlaid on the button
+SWFUpload.prototype.setButtonText = function (html) {
+    this.settings.button_text = html;
+    this.callFlash("SetButtonText", [html]);
+};
+// Public: setButtonTextPadding changes the top and left padding of the text overlay
+SWFUpload.prototype.setButtonTextPadding = function (left, top) {
+    this.settings.button_text_top_padding = top;
+    this.settings.button_text_left_padding = left;
+    this.callFlash("SetButtonTextPadding", [left, top]);
+};
+
+// Public: setButtonTextStyle changes the CSS used to style the HTML/Text overlaid on the button
+SWFUpload.prototype.setButtonTextStyle = function (css) {
+    this.settings.button_text_style = css;
+    this.callFlash("SetButtonTextStyle", [css]);
+};
+// Public: setButtonDisabled disables/enables the button
+SWFUpload.prototype.setButtonDisabled = function (isDisabled) {
+    this.settings.button_disabled = isDisabled;
+    this.callFlash("SetButtonDisabled", [isDisabled]);
+};
+// Public: setButtonAction sets the action that occurs when the button is clicked
+SWFUpload.prototype.setButtonAction = function (buttonAction) {
+    this.settings.button_action = buttonAction;
+    this.callFlash("SetButtonAction", [buttonAction]);
+};
+
+// Public: setButtonCursor changes the mouse cursor displayed when hovering over the button
+SWFUpload.prototype.setButtonCursor = function (cursor) {
+    this.settings.button_cursor = cursor;
+    this.callFlash("SetButtonCursor", [cursor]);
+};
+
+/* *******************************
+    Flash Event Interfaces
+    These functions are used by Flash to trigger the various
+    events.
+    
+    All these functions a Private.
+    
+    Because the ExternalInterface library is buggy the event calls
+    are added to a queue and the queue then executed by a setTimeout.
+    This ensures that events are executed in a determinate order and that
+    the ExternalInterface bugs are avoided.
+******************************* */
+
+SWFUpload.prototype.queueEvent = function (handlerName, argumentArray) {
+    // Warning: Don't call this.debug inside here or you'll create an infinite loop
+    
+    if (argumentArray == undefined) {
+        argumentArray = [];
+    } else if (!(argumentArray instanceof Array)) {
+        argumentArray = [argumentArray];
+    }
+    
+    var self = this;
+    if (typeof this.settings[handlerName] === "function") {
+        // Queue the event
+        this.eventQueue.push(function () {
+            this.settings[handlerName].apply(this, argumentArray);
+        });
+        
+        // Execute the next queued event
+        setTimeout(function () {
+            self.executeNextEvent();
+        }, 0);
+        
+    } else if (this.settings[handlerName] !== null) {
+        throw "Event handler " + handlerName + " is unknown or is not a function";
+    }
+};
+
+// Private: Causes the next event in the queue to be executed.  Since events are queued using a setTimeout
+// we must queue them in order to garentee that they are executed in order.
+SWFUpload.prototype.executeNextEvent = function () {
+    // Warning: Don't call this.debug inside here or you'll create an infinite loop
+
+    var  f = this.eventQueue ? this.eventQueue.shift() : null;
+    if (typeof(f) === "function") {
+        f.apply(this);
+    }
+};
+
+// Private: unescapeFileParams is part of a workaround for a flash bug where objects passed through ExternalInterface cannot have
+// properties that contain characters that are not valid for JavaScript identifiers. To work around this
+// the Flash Component escapes the parameter names and we must unescape again before passing them along.
+SWFUpload.prototype.unescapeFilePostParams = function (file) {
+    var reg = /[$]([0-9a-f]{4})/i;
+    var unescapedPost = {};
+    var uk;
+
+    if (file != undefined) {
+        for (var k in file.post) {
+            if (file.post.hasOwnProperty(k)) {
+                uk = k;
+                var match;
+                while ((match = reg.exec(uk)) !== null) {
+                    uk = uk.replace(match[0], String.fromCharCode(parseInt("0x" + match[1], 16)));
+                }
+                unescapedPost[uk] = file.post[k];
+            }
+        }
+
+        file.post = unescapedPost;
+    }
+
+    return file;
+};
+
+// Private: Called by Flash to see if JS can call in to Flash (test if External Interface is working)
+SWFUpload.prototype.testExternalInterface = function () {
+    try {
+        return this.callFlash("TestExternalInterface");
+    } catch (ex) {
+        return false;
+    }
+};
+
+// Private: This event is called by Flash when it has finished loading. Don't modify this.
+// Use the swfupload_loaded_handler event setting to execute custom code when SWFUpload has loaded.
+SWFUpload.prototype.flashReady = function () {
+    // Check that the movie element is loaded correctly with its ExternalInterface methods defined
+    var movieElement = this.getMovieElement();
+
+    if (!movieElement) {
+        this.debug("Flash called back ready but the flash movie can't be found.");
+        return;
+    }
+
+    this.cleanUp(movieElement);
+    
+    this.queueEvent("swfupload_loaded_handler");
+};
+
+// Private: removes Flash added fuctions to the DOM node to prevent memory leaks in IE.
+// This function is called by Flash each time the ExternalInterface functions are created.
+SWFUpload.prototype.cleanUp = function (movieElement) {
+    // Pro-actively unhook all the Flash functions
+    try {
+        if (this.movieElement && typeof(movieElement.CallFunction) === "unknown") { // We only want to do this in IE
+            this.debug("Removing Flash functions hooks (this should only run in IE and should prevent memory leaks)");
+            for (var key in movieElement) {
+                try {
+                    if (typeof(movieElement[key]) === "function") {
+                        movieElement[key] = null;
+                    }
+                } catch (ex) {
+                }
+            }
+        }
+    } catch (ex1) {
+    
+    }
+
+    // Fix Flashes own cleanup code so if the SWFMovie was removed from the page
+    // it doesn't display errors.
+    window["__flash__removeCallback"] = function (instance, name) {
+        try {
+            if (instance) {
+                instance[name] = null;
+            }
+        } catch (flashEx) {
+        
+        }
+    };
+
+};
+
+
+/* This is a chance to do something before the browse window opens */
+SWFUpload.prototype.fileDialogStart = function () {
+    this.queueEvent("file_dialog_start_handler");
+};
+
+
+/* Called when a file is successfully added to the queue. */
+SWFUpload.prototype.fileQueued = function (file) {
+    file = this.unescapeFilePostParams(file);
+    this.queueEvent("file_queued_handler", file);
+};
+
+
+/* Handle errors that occur when an attempt to queue a file fails. */
+SWFUpload.prototype.fileQueueError = function (file, errorCode, message) {
+    file = this.unescapeFilePostParams(file);
+    this.queueEvent("file_queue_error_handler", [file, errorCode, message]);
+};
+
+/* Called after the file dialog has closed and the selected files have been queued.
+    You could call startUpload here if you want the queued files to begin uploading immediately. */
+SWFUpload.prototype.fileDialogComplete = function (numFilesSelected, numFilesQueued, numFilesInQueue) {
+    this.queueEvent("file_dialog_complete_handler", [numFilesSelected, numFilesQueued, numFilesInQueue]);
+};
+
+SWFUpload.prototype.uploadStart = function (file) {
+    file = this.unescapeFilePostParams(file);
+    this.queueEvent("return_upload_start_handler", file);
+};
+
+SWFUpload.prototype.returnUploadStart = function (file) {
+    var returnValue;
+    if (typeof this.settings.upload_start_handler === "function") {
+        file = this.unescapeFilePostParams(file);
+        returnValue = this.settings.upload_start_handler.call(this, file);
+    } else if (this.settings.upload_start_handler != undefined) {
+        throw "upload_start_handler must be a function";
+    }
+
+    // Convert undefined to true so if nothing is returned from the upload_start_handler it is
+    // interpretted as 'true'.
+    if (returnValue === undefined) {
+        returnValue = true;
+    }
+    
+    returnValue = !!returnValue;
+    
+    this.callFlash("ReturnUploadStart", [returnValue]);
+};
+
+
+
+SWFUpload.prototype.uploadProgress = function (file, bytesComplete, bytesTotal) {
+    file = this.unescapeFilePostParams(file);
+    this.queueEvent("upload_progress_handler", [file, bytesComplete, bytesTotal]);
+};
+
+SWFUpload.prototype.uploadError = function (file, errorCode, message) {
+    file = this.unescapeFilePostParams(file);
+    this.queueEvent("upload_error_handler", [file, errorCode, message]);
+};
+
+SWFUpload.prototype.uploadSuccess = function (file, serverData, responseReceived) {
+    file = this.unescapeFilePostParams(file);
+    this.queueEvent("upload_success_handler", [file, serverData, responseReceived]);
+};
+
+SWFUpload.prototype.uploadComplete = function (file) {
+    file = this.unescapeFilePostParams(file);
+    this.queueEvent("upload_complete_handler", file);
+};
+
+/* Called by SWFUpload JavaScript and Flash functions when debug is enabled. By default it writes messages to the
+   internal debug console.  You can override this event and have messages written where you want. */
+SWFUpload.prototype.debug = function (message) {
+    this.queueEvent("debug_handler", message);
+};
+
+
+/* **********************************
+    Debug Console
+    The debug console is a self contained, in page location
+    for debug message to be sent.  The Debug Console adds
+    itself to the body if necessary.
+
+    The console is automatically scrolled as messages appear.
+    
+    If you are using your own debug handler or when you deploy to production and
+    have debug disabled you can remove these functions to reduce the file size
+    and complexity.
+********************************** */
+   
+// Private: debugMessage is the default debug_handler.  If you want to print debug messages
+// call the debug() function.  When overriding the function your own function should
+// check to see if the debug setting is true before outputting debug information.
+SWFUpload.prototype.debugMessage = function (message) {
+    if (this.settings.debug) {
+        var exceptionMessage, exceptionValues = [];
+
+        // Check for an exception object and print it nicely
+        if (typeof message === "object" && typeof message.name === "string" && typeof message.message === "string") {
+            for (var key in message) {
+                if (message.hasOwnProperty(key)) {
+                    exceptionValues.push(key + ": " + message[key]);
+                }
+            }
+            exceptionMessage = exceptionValues.join("\n") || "";
+            exceptionValues = exceptionMessage.split("\n");
+            exceptionMessage = "EXCEPTION: " + exceptionValues.join("\nEXCEPTION: ");
+            SWFUpload.Console.writeLine(exceptionMessage);
+        } else {
+            SWFUpload.Console.writeLine(message);
+        }
+    }
+};
+
+SWFUpload.Console = {};
+SWFUpload.Console.writeLine = function (message) {
+    var console, documentForm;
+
+    try {
+        console = document.getElementById("SWFUpload_Console");
+
+        if (!console) {
+            documentForm = document.createElement("form");
+            document.getElementsByTagName("body")[0].appendChild(documentForm);
+
+            console = document.createElement("textarea");
+            console.id = "SWFUpload_Console";
+            console.style.fontFamily = "monospace";
+            console.setAttribute("wrap", "off");
+            console.wrap = "off";
+            console.style.overflow = "auto";
+            console.style.width = "700px";
+            console.style.height = "350px";
+            console.style.margin = "5px";
+            documentForm.appendChild(console);
+        }
+
+        console.value += message + "\n";
+
+        console.scrollTop = console.scrollHeight - console.clientHeight;
+    } catch (ex) {
+        alert("Exception: " + ex.name + " Message: " + ex.message);
+    }
+};
+
+exports.SWFUpload = SWFUpload;
+});
+define("js/home/comment", ["jquery"], function(require, exports, module){
+/**
+ * 我的评论
+ * @author: yyqing<yanqing.yang@yoho.cn>
+ * @date: 2016/3/1
+ */
+var $ = require("jquery");
+
+var $comment = $('.comment-table'),
+    $remarkBtn = $comment.find('.remark-btn');
+
+var $dialog = $('#comment-dialog-widget'),
+    $titleBar = $dialog.find('.dialog-titlebar'),
+    $commentArea = $dialog.find('textarea');
+
+var pageW = $(document).width(),
+    pageH = $(document).height(),
+    winH = $(window).height();
+
+var dialog = {
+        canmove: false,
+        offset: {},
+        maxtop: 0,
+        maxleft: 0
+    },
+    orderInfo = {},
+    $optDom;
+
+// 处理订单数据
+$remarkBtn.each(function() {
+    var $next = $(this).next(),
+        data = $next.data(),
+        key = data.orderid;
+
+    orderInfo[key] = {};
+    orderInfo[key].productSkn = data.productskn;
+    orderInfo[key].productId = data.productid;
+    orderInfo[key].goodsId = data.goodsid;
+    orderInfo[key].orderId = data.orderid;
+    orderInfo[key].erpSkuId = data.erpskuid;
+
+    $next.remove();
+    $(this).data('code', key);
+});
+
+$remarkBtn.click(function() {
+    var scrollTop = $(document).scrollTop();
+
+    $optDom = $(this);
+    $commentArea.val('');
+    $dialog.removeClass('hide').css({
+        top: scrollTop + (winH - $dialog.outerHeight()) / 2,
+        left: (pageW - $dialog.outerWidth()) / 2
+    });
+});
+
+// 评论弹窗
+$titleBar.bind('mousedown', function(e) {
+    if ($(e.target).hasClass('dialog-close-btn')) {
+        return;
+    }
+
+    dialog.canmove = true;
+    dialog.offset = {
+        x: e.offsetX,
+        y: e.offsetY
+    };
+    dialog.maxtop = pageH - $dialog.outerHeight();
+    dialog.maxleft = pageW - $dialog.outerWidth();
+});
+
+$(document).mousemove(function(e) {
+    var mtop, mleft;
+
+    if (!dialog.canmove) {
+        return;
+    }
+
+    mtop = e.pageY - dialog.offset.y;
+    mleft = e.pageX - dialog.offset.x;
+    mtop = mtop < dialog.maxtop ? mtop : dialog.maxtop;
+    mleft = mleft < dialog.maxleft ? mleft : dialog.maxleft;
+    $dialog.css({
+        top: mtop > 0 ? mtop : 0,
+        left: mleft > 0 ? mleft : 0
+    });
+}).mouseup(function(e) {
+    dialog.canmove = false;
+});
+
+$dialog.on('click', '.dialog-save-btn', function() {
+    var remark = $.trim($commentArea.val()),
+        param;
+
+    if (remark === '') {
+        alert('请添加评论内容');
+        return;
+    }
+    if ($optDom.length) {
+        param = orderInfo[$optDom.data().code];
+        param.content = remark;
+
+        $.ajax({
+            type: 'POST',
+            url: '/home/comment/saveComment',
+            data: param
+        }).then(function(jsonData) {
+            var $par = $optDom.parent();
+
+            if (jsonData.code === 200) {
+                $par.prev().text(remark);
+                $par.html('<span class="remarked">已评论!</span>');
+                $optDom.length = 0;
+                $dialog.addClass('hide');
+            } else {
+                alert(jsonData.message);
+            }
+        });
+    }
+});
+
+$dialog.on('click', '.dialog-close-btn', function() {
+    $optDom.length = 0;
+    $dialog.addClass('hide');
+});
+});
+define("js/home/complaints", ["jquery"], function(require, exports, module){
+/**
+ * 我的投诉
+ * @author: yyqing<yanqing.yang@yoho.cn>
+ * @date: 2016/3/18
+ */
+
+var $ = require("jquery");
+
+var $cancelBtn = $('.cancel-btn'),
+    $title = $('#title'),
+    $customer = $('#customer'),
+    $complaintsType = $('#complaintsType'),
+    $orderCode = $('#orderCode'),
+    $content = $('#content');
+
+var ajaxing = false;
+var rule = {
+        title: {
+            dom: $title,
+            min: 1,
+            max: 10,
+            onshow: '请输入您的投诉主题',
+            onfocus: '请输入主题',
+            onmin: '投诉主题不能为空',
+            onmax: '输入投诉主题不能超过10个字'
+        },
+        customer: {
+            dom: $customer,
+            min: 1,
+            max: 10,
+            onshow: '请填写您要投诉的对象,比如:客服00*号、发货员...',
+            onfocus: '请填写您要投诉的对象',
+            onmin: '投诉对象不能为空',
+            onmax: '输入投诉对象不能超过10个字'
+        },
+        orderCode: {
+            dom: $orderCode,
+            regexp: /^([0-9,]{9,})$/, //一个和多个订单
+            onshow: '如果多个是多个订单号,请用英文逗号隔开,没有则不填',
+            onfocus: '请输入订单号',
+            onerror: '您输入的订单格式不对,如果多个是多个订单号,请用英文逗号隔开'
+        },
+        content: {
+            dom: $content,
+            min: 1,
+            max: 130,
+            onshow: '输入您投诉的内容',
+            onfocus: '请输入您投诉的内容',
+            onmin: '投诉内容不能为空',
+            onmax: '输入的投诉内容不能超过130个字'
+        }
+    };
+
+function preventResubmit() {
+    if (!ajaxing) {
+        ajaxing = true;
+        setTimeout(function() {
+            ajaxing = false;
+        }, 1000);
+        return false;
+    }
+    return true;
+}
+
+function validate(info) {
+    var $tips = info.dom.siblings('.option-tip'),
+        val = $.trim(info.dom.val()),
+        len = val.length;
+
+    if (info.min && len < info.min) {
+        $tips.text(info.onmin);
+        return false;
+    } else if (info.max && len > info.max) {
+        $tips.text(info.onmax);
+        return false;
+    }
+
+    if (info.regexp && !info.regexp.test(val)) {
+        $tips.text(info.onerror);
+        return false;
+    }
+
+    $tips.text('输入正确');
+    return true;
+}
+
+function validateForm() {
+    var res = {},
+        focus;
+
+    $.each(rule, function(key, info) {
+        if (validate(info)) {
+            res[key] = $.trim(info.dom.val());
+        } else {
+            if (!focus) {
+                focus = key;
+                info.dom.focus();
+            }
+        }
+    });
+    res.complaintsType = $complaintsType.val();
+
+    if (focus) {
+        return false;
+    }
+    return res;
+}
+
+function addComplaint() {
+    var sendParm = validateForm();
+
+    if (preventResubmit() || !sendParm) {
+        return;
+    }
+
+    $.ajax({
+        type: 'POST',
+        url: '/home/complaints/addcomplaints',
+        data: sendParm
+    }).then(function(jsonData) {
+        ajaxing = false;
+        if (jsonData.code === 200) {
+            window.location.reload();
+        } else {
+            alert(jsonData.message);
+        }
+    });
+}
+
+function cancelComplaint(id, dom) {
+    var $dom = dom;
+
+    if (preventResubmit()) {
+        return;
+    }
+
+    $.ajax({
+        type: 'POST',
+        url: '/home/complaints/cancelcomplaints',
+        data: {
+            id: id
+        }
+    }).then(function(jsonData) {
+        ajaxing = false;
+        if (jsonData.code === 200) {
+            $dom.prev().remove();
+            $dom.text('问题已撤销');
+        } else {
+            alert(jsonData.message);
+        }
+    });
+}
+
+$.each(rule, function(key, info) {
+    info.dom.focus(function() {
+        info.dom.siblings('.option-tip').text(info.onfocus);
+    }).blur(function() {
+        validate(info);
+    });
+});
+
+$('#complaint-submit').click(function() {
+    addComplaint();
+});
+
+$cancelBtn.click(function() {
+    var data = $(this).data();
+
+    if (data && data.id) {
+        cancelComplaint(data.id, $(this).parent());
+    }
+});
+});
+define("js/home/message", ["jquery"], function(require, exports, module){
+/**
+ * 我的信息
+ * @author: yyqing<yanqing.yang@yoho.cn>
+ * @date: 2016/3/21
+ */
+var $ = require("jquery");
+
+var $container = $('#message-main-container'),
+    $msgCheck = $container.find('.msg-check'),
+    $readBtn = $container.find('.read-choose-btn'),
+    $checked;
+
+var operationId = [];
+
+require("js/home/message-content");
+
+function hasNew() {
+    var newMsg = false;
+
+    $checked = $container.find('.msg-check:checked');
+    operationId = [];
+
+    $checked.each(function() {
+        var $par = $(this).parent().parent();
+
+        operationId.push($(this).val());
+        if ($par.hasClass('new-msg')) {
+            newMsg = true;
+        }
+    });
+
+    if (newMsg) {
+        $readBtn.addClass('has-new');
+    } else {
+        $readBtn.removeClass('has-new');
+    }
+}
+
+function msgOperation(type, data) {
+    var url;
+
+    switch (type) {
+        case 'del':
+            url = '/home/message/delMessage';
+            break;
+        case 'read':
+            url = '/home/message/readMessage';
+            break;
+    }
+
+    $.ajax({
+        type: 'GET',
+        url: url,
+        data: data
+    }).then(function(jsonData) {
+        if (!jsonData.code) {
+            if (type === 'del') {
+                $container.html(jsonData);
+                $msgCheck = $container.find('.msg-check');
+                $readBtn = $container.find('.read-choose-btn');
+            }
+        } else {
+            if (jsonData.code === 200) {
+                if (type === 'read') {
+                    $checked.removeAttr('checked');
+                    $checked.parent().parent().removeClass('new-msg');
+                    hasNew();
+                }
+            } else {
+                alert(jsonData.message);
+            }
+        }
+    });
+}
+
+$container.on('change', 'input[type="checkbox"]', function() {
+    var checked = $(this).attr('checked');
+
+    if ($(this).hasClass('choose-all')) {
+        if (checked === 'checked') {
+            $msgCheck.attr('checked', true);
+        } else {
+            $msgCheck.removeAttr('checked');
+        }
+    }
+    hasNew();
+});
+
+$container.on('click', '.del-btn', function() {
+    if (confirm('您确定要删除这条短消息?')) {
+        msgOperation('del', $(this).data());
+    }
+});
+
+$container.on('click', '.del-choose-btn', function() {
+    if (!operationId.length) {
+        alert('请选中您要删除的消息');
+        return;
+    }
+
+    if (confirm('确定要删除您选中的消息')) {
+        msgOperation('del', {
+            id: operationId.join(',')
+        });
+    }
+});
+
+$container.on('click', '.read-choose-btn', function() {
+    if ($(this).hasClass('has-new')) {
+        msgOperation('read', {
+            id: operationId.join(',')
+        });
+    }
+});
+});
+define("js/home/message-content", ["jquery"], function(require, exports, module){
+/**
+ * 我的信息
+ * @author: yyqing<yanqing.yang@yoho.cn>
+ * @date: 2016/3/25
+ */
+var $ = require("jquery");
+
+var $pickBtn = $('.pick-coupon-btn');
+
+var pickBusy = false;
+
+$pickBtn.click(function() {
+    var data = $(this).data();
+
+    if (pickBusy) {
+        return;
+    }
+    pickBusy = true;
+    $.ajax({
+        type: 'GET',
+        url: '/home/message/pickCoupon',
+        data: data
+    }).then(function(jsonData) {
+        var msg = jsonData.message;
+
+        if (jsonData.code === 200) {
+            msg = '领取成功';
+            $(this).removeClass('pick-coupon-btn');
+        }
+
+        pickBusy = false;
+
+        alert(msg);
+    });
+});
+});
+define("js/home/edit", ["jquery","handlebars","source-map"], function(require, exports, module){
+/**
+ * 个人中心页-个人资料编辑
+ * @author: zhaobiao<bill.zhao@yoho.cn>
+ * @date: 2016/02/17
+ */
+var $ = require("jquery");
+
+var $allEditForms = $('.userinfo-edit form');
+
+var address = require("js/home/common-address");
+
+var date = {
+    init: function(year, month, day) {
+        var $year = $('#year'),
+            $month = $('#month'),
+            $day = $('#day');
+
+        var that = this;
+
+        this.createDay($year.val(), $month.val(), $day.val());
+
+        $year.on('change', function() {
+            that.update();
+        });
+
+        $month.on('change', function() {
+            that.update();
+        });
+    },
+    update: function() {
+        this.createDay($('#year').val(), $('#month').val(), $('#day').val());
+    },
+    createDay: function(year, month, day) {
+        var html = '<select name="day" id="day">',
+            monthArray = new Array(4, 6, 9, 11),
+            dayNum = 31;
+
+        var select,
+            i;
+
+        year = parseInt(year);
+        month = parseInt(month);
+
+        if (year === 0) {
+            year = 0;
+        }
+
+        if (month === 0) {
+            month = 0;
+        }
+
+        $('#year').val(year.toString());
+        $('#month').val(month.toString());
+
+        html += '<option value="0">日</option>';
+
+        if (year > 0 && month > 0) {
+            if ($.inArray(month, monthArray) !== -1) {
+                dayNum = 30;
+            } else if (month === 2) {
+                dayNum = 28;
+                if (0 === year % 4 && (year % 100 !== 0 || year % 400 === 0)) {
+                    dayNum = 29;
+                }
+            }
+
+            for (i = 1; i <= dayNum; i++) {
+                select = '';
+
+                if (parseInt(day) === i) {
+                    select = 'selected';
+                }
+                html += '<option value="' + i + '" ' + select + '>' + i	+ '</option>';
+            }
+        }
+        html += '</select>';
+
+        $('#day').replaceWith(html);
+    }
+};
+
+
+$('.userinfo-edit h2').on('click', function() {
+    var $form = $(this).next();
+
+    $allEditForms.slideUp('fast');
+    $form.css('display') === 'none' ? $form.slideDown('slow') : null;
+
+});
+
+function checkBaseForm() {
+    var nicknameLength = $('#nickname').val().length,
+        usernameLength = $('#username').val().length,
+        $gender = $('input[name="gender"]'),
+        $year = $('#year'),
+        $month = $('#month'),
+        $day = $('#day');
+
+    if (nicknameLength === 0) {
+        alert('请输入昵称');
+        return false;
+    }
+
+    if (usernameLength === 0) {
+        alert('请输入用户名');
+        return false;
+    }
+
+    if (nicknameLength >= 20) {
+        alert('昵称最长为20个字符');
+        return false;
+    }
+
+
+    if (!$gender.is(':checked')) {
+        alert('请选择性别');
+        return false;
+    }
+
+    if ($year.val() === '0' || $month.val() === '0' || $day.val() === '0') {
+        alert('请选择出生年月日');
+        return false;
+    }
+
+    return true;
+}
+
+function checkContactForm() {
+    if ($('#province').val() === '0' || $('#city').val() === '0' || $('#areaCode').val() === '0') {
+        alert('请选择所在区域');
+        return false;
+    }
+
+    if ($('#province').val() === null || $('#city').val() === null || $('#areaCode').val() === null) {
+        alert('请选择所在区域');
+        return false;
+    }
+
+    if ($('#phone').val().length === 0 && $('#mobile').val().length === 0) {
+        alert('电话和手机号码不能同时为空,请填写!');
+        return false;
+    }
+
+
+    if ($('#fullAddress').val().length === 0) {
+        alert('请填写地址');
+        return false;
+    }
+
+    if ($('#zipCode').val().length === 0 || $('#zipCode').val().length < 2) {
+        alert('请填写邮编');
+        return false;
+    }
+
+    return true;
+}
+
+function checkHabbitForm() {
+    if (!$('.user-habbit-info input').is(':checked')) {
+        alert('请填写购物&着装习惯');
+        return false;
+    }
+
+    return true;
+}
+
+function checkFavoriteForm() {
+    if ($('#likebrand').val() === '') {
+        alert('请选择品牌');
+        return false;
+    }
+
+    return true;
+}
+
+function delBrand(brandId) {
+    var brand = $('#likebrand').val();
+
+    if (parseInt(brandId) === 0) {
+        return false;
+    }
+
+    $('#likebrand').val(brand.replace(',' + brandId + ',', ','));
+    $('#pp-' + brandId).attr('checked', false);
+    $('#brand-' + brandId).remove();
+}
+
+
+
+function addBrand(domObj, brandId, brandName) {
+    var html = '<li id="brand-' + brandId + '">' +
+                brandName + '<a href="javascript:void(0);" class="btn-del"></a></li>';
+
+    var brandInfo = $('#brand-' + brandId).html(),
+        brandStr = $('#likebrand').val();
+
+    var $brandBox = $('#brand-box');
+
+    if (parseInt(brandId) === 0) {
+        return false;
+    }
+
+    if (typeof domObj !== 'undefined' && domObj !== '' && domObj.checked === false) {
+        delBrand(brandId);
+        return false;
+    }
+    if (brandInfo) {
+        alert('您已经选择了该品牌.');
+        return false;
+    }
+    $brandBox.append(html);
+
+    $brandBox.find('li>a').off('click').on('click', function() {
+        delBrand($(this).closest('li').attr('id').substr(6));
+    });
+
+    brandStr += brandId + ',';
+    $('#likebrand').val(brandStr);
+}
+
+function checkBrand() {
+    var postData = {
+            brandName: $('#keywords').val()
+        };
+
+    $.post('/home/user/isbrandname', postData, function(data) {
+        if (data.code === 200) {
+            if (data.data.id && data.data.brand_name) {
+                addBrand('', data.data.id, data.data.brand_name);
+                $('#keywords').val('');
+                return true;
+            } else {
+                alert('网络异常,请重试');
+                return false;
+            }
+        }
+        alert(data.message);
+        return false;
+    }, 'json');
+}
+
+function save(postUrl, btnId) {
+    var $form = $('#' + btnId).closest('form');
+
+    $.post(postUrl, $form.serialize(), function(data) {
+        if (data.code === 200) {
+            alert(data.message);
+            setTimeout(function() {
+                $form.closest('div').next().find('h2').click();
+            }, 100);
+            return true;
+        }
+        alert(data.message);
+        return false;
+    }, 'json');
+}
+
+
+$('#base-info').on('click', function() {
+    if (checkBaseForm()) {
+        save('/home/user/edituserinfo/', 'base-info');
+    }
+});
+
+$('#contact-info').on('click', function() {
+    if (checkContactForm()) {
+        save('/home/user/editusercontactinfo/', 'contact-info');
+    }
+});
+
+$('#shopping-info').on('click', function() {
+    if (checkHabbitForm()) {
+        save('/home/user/edituserhabitsinfo/', 'shopping-info');
+    }
+});
+
+$('#favorite-brand').on('click', function() {
+    if (checkFavoriteForm()) {
+        $.ajax({
+            url: '/home/user/edituserlikebrand/',
+            type: 'post',
+            datatype: 'json',
+            data: {
+                brand: $('#likebrand').val()
+            },
+            success: function(data) {
+                if (data.code === 200) {
+                    alert(data.message);
+                    return true;
+                }
+                alert(data.message);
+                return false;
+            },
+            error: function(err) {
+                alert('网络异常');
+            }
+        });
+    }
+});
+
+$('#add-brand-btn').on('click', function() {
+    checkBrand();
+});
+
+$('.user-favorite-info input[type="checkbox"]').on('click', function() {
+    var $this = $(this);
+
+    addBrand(this, $this.attr('id').substr(3), $this.parent().text());
+});
+
+(function() {
+    var $brands = $('#brand-box li');
+
+    if ($brands.length > 0) {
+        $brands.find('a').on('click', function() {
+            delBrand($(this).closest('li').attr('id').substr(6));
+        });
+    }
+})();
+
+date.init();
+
+(function() {
+    if (!$('#province').val()) {
+        address.loadAllData(0, {
+            provinceDomId: 'province',
+            cityDomId: 'city',
+            areaDomId: 'areaCode'
+        });
+    } else {
+        address.bindAreaChange({
+            provinceDomId: 'province',
+            cityDomId: 'city',
+            areaDomId: 'areaCode'
+        });
+    }
+})();
+
+});
+define("js/home/gift", ["jquery","handlebars","source-map"], function(require, exports, module){
+/**
+ * 个人中心页-兑换礼品卡
+ * @author: wsl<shuiling.wang@yoho.cn>
+ * @date: 2016/02/22
+ */
+var $ = require("jquery"),
+    dialog = require("js/common/dialog"),
+    Alert = dialog.Alert;
+
+var $giftError = $('.giftCardCode').find('.gift-error'),
+    $codeError = $('.captchaCode').find('.gift-error'),
+    reg = '',
+    code = '',
+    i = 1;
+
+var active;
+
+var Gift = {
+    suc: [
+        false,
+        false,
+        false,
+        false
+    ],
+    checkCard: function(num) {
+        reg = /^[0-9a-zA-Z]{4,4}$/;
+
+        if (!reg.test($('#giftCardCode' + num).val())) {
+            $giftError.html('您输入的兑换码有误,兑换码必须为数字或字母,每个文本框里只能输入四个兑换码!');
+            Gift.suc[num - 1] = false;
+        } else {
+            for (i = 1; i <= 3; i++) {
+                if (!reg.test($('#giftCardCode' + i).val())) {
+                    $giftError.html('您输入的兑换码有误,兑换码必须为数字或字母,每个文本框里只能输入四个兑换码!');
+                    Gift.suc[i] = false;
+                } else {
+                    $giftError.html('');
+                    Gift.suc[i] = true;
+                }
+            }
+
+            if (num !== 3) {
+                $('#giftCardCode' + (num + 1)).focus();
+            }
+        }
+    },
+    bindGiftCardForm: function() {
+        $('#giftCardCode1').bind('blur keyup', function() {
+            Gift.checkCard(1);
+        });
+
+        $('#giftCardCode2').bind('blur keyup', function() {
+            Gift.checkCard(2);
+        });
+
+        $('#giftCardCode3').bind('blur keyup', function() {
+            Gift.checkCard(3);
+        });
+
+        $('#captchaCode').bind('blur keyup', function() {
+            code = $('#captchaCode').val();
+
+            if (code.length <= 0) {
+                $codeError.html('请输入验证码!');
+                Gift.suc[3] = false;
+            } else {
+                $codeError.html('');
+                Gift.suc[3] = true;
+            }
+        });
+    },
+
+    checkForm: function() {
+        if (!reg.test($('#giftCardCode1').val()) || !reg.test($('#giftCardCode2').val()) ||
+            !reg.test($('#giftCardCode3').val())) {
+            $giftError.html('您输入的兑换码有误,兑换码必须为数字或字母,每个文本框里只能输入四个兑换码!');
+            return false;
+        }
+
+        if ($.trim($('#captchaCode').val()) === '') {
+            $codeError.html('请输入验证码!');
+            return false;
+        }
+        return true;
+    }
+};
+
+//更换验证码
+function refreshCaptcha() {
+    var dt = new Date();
+
+    $('#imgcode').attr('src', '/passport/images?t=' + dt.getTime());
+    return false;
+}
+
+$('#sub-gift').on('click', function() {
+    if (Gift.checkForm()) {
+        $.post('/home/gift/exchange', $('#giftCardForm').serialize(), function(data) {
+            if (data.code === 200) {
+                window.location.href = '/home/gift?type=1';
+            } else if (data.code === 400) {
+                active = new Alert(data.message);
+                active.show();
+                refreshCaptcha();
+            } else {
+                window.location.href = '/home/gift?type=2';
+            }
+        }, 'json');
+    } else {
+        return false;
+    }
+});
+
+$(document).on('click', '#imgcode,.check-img', function() {
+    refreshCaptcha();
+});
+
+$(function() {
+    refreshCaptcha();
+    Gift.bindGiftCardForm();
+});
+});
+define("js/home/validate", ["jquery","handlebars","source-map"], function(require, exports, module){
+/**
+ * 个人中心页-账号安全验证
+ * @author:wsl<shuiling.wang@yoho.cn>
+ * @date: 2016/02/23
+ */
+var $ = require("jquery"),
+    dialog = require("js/common/dialog"),
+    phoneRegx = require("js/passport/mail-phone-regx"),
+    Alert = dialog.Alert;
+
+var $checkUser = $('.check-user'),
+    $checkInput = $checkUser.find('input').not('input[type=button],input[type=hidden],input[type=reset]'),
+    canSend = true,
+    canFlag = true,
+    stime = 60;
+
+var sInt,
+    active;
+
+$.ajaxSetup({
+    async: false
+});
+
+if (!Array.prototype.indexOf) {
+    Array.prototype.indexOf = function(obj, start) {
+        var i,
+            j;
+
+        for (i = (start || 0), j = this.length; i < j; i++) {
+            if (this[i] === obj) {
+                return i;
+            }
+        }
+
+        return -1;
+    };
+}
+
+function errorInfoAction(opt, txt) {
+    opt.$checkInfo.html('<div class="form-error">' + txt + '</div>');
+    if (opt.dom.attr('name') !== 'code' && opt.dom.attr('name') !== 'verifyCode') {
+        opt.dom.addClass('input-error');
+    }
+    return false;
+}
+
+function successInfoAction(opt) {
+    opt.$checkInfo.html('<div class="form-success">&nbsp;</div>');
+
+    if (opt.dom.attr('name') !== 'code' && opt.dom.attr('name') !== 'verifyCode') {
+        opt.dom.removeClass('input-error');
+    }
+    return true;
+}
+
+function checkFormAjax(ajaxData) {
+    var res;
+
+    $.post(ajaxData.url, ajaxData.data, function(data) {
+        if (typeof data.code !== 'undefined' && data.code === 200) {
+            res = successInfoAction(ajaxData.opt);
+        } else {
+            ajaxData.txt = ajaxData.txt !== '' && ajaxData.txt !== null ? ajaxData.txt : data.message;
+            res = errorInfoAction(ajaxData.opt, ajaxData.txt);
+        }
+    });
+
+    return res;
+}
+
+// 身份校验
+function checkForm(dom) {
+    var val = dom.val(),
+        len = val.length,
+        $domParent = dom.parent(),
+        $checkInfo = $domParent.find('.check-info'),
+        inputName = dom.attr('name'),
+        regular = '',
+        text = '',
+        mobileValue = '',
+        opt = {
+            $checkInfo: $checkInfo,
+            dom: dom
+        },
+        ajaxData = {
+            opt: opt
+        };
+
+    $checkInfo.html('');
+
+    if (inputName === 'password') {
+        if (len === 0) {
+            return errorInfoAction(opt, '密码不能为空!');
+        } else {
+            $.extend(ajaxData, {
+                url: '/home/account/checkpassword',
+                data: {
+                    password: val
+                },
+                txt: '密码错误!'
+            });
+            return checkFormAjax(ajaxData);
+        }
+    } else if (inputName === 'verifyCode') {
+        $.extend(ajaxData, {
+            url: '/home/account/checkverifycode',
+            data: {
+                verifyCode: val
+            },
+            txt: '验证码错误!'
+        });
+        return checkFormAjax(ajaxData);
+    } else if (inputName === 'email') {
+        regular = phoneRegx.emailRegx;
+
+        if (val.match(regular) === null) {
+            return errorInfoAction(opt, '邮箱错误!');
+        } else {
+            $.extend(ajaxData, {
+                url: '/home/account/checkemail',
+                data: {
+                    email: val
+                },
+                txt: ''
+            });
+            return checkFormAjax(ajaxData);
+        }
+    } else if (inputName === 'mobile') {
+        regular = phoneRegx.phoneRegx;
+        text = val.split('-');
+
+        if (text.length === 1) {
+            regular = val.match('^1[35847]{1}[0-9]{9}');
+        } else {
+            regular = regular['+' + text[0]].test(text[1]);
+        }
+
+        if (len === 0) {
+            return errorInfoAction(opt, '手机号不能为空!');
+        } else if (regular === null || !regular) {
+            return errorInfoAction(opt, '手机号错误!');
+        } else {
+            $.extend(ajaxData, {
+                url: '/home/account/checkmobile',
+                data: {
+                    mobile: val
+                },
+                txt: '手机号已经存在!'
+            });
+            return checkFormAjax(ajaxData);
+        }
+    } else if (inputName === 'newPwd') {
+        regular = phoneRegx.pwdValidateRegx;
+
+        if (!regular.test(val)) {
+            return errorInfoAction(opt, '建议6~20个数字+字母组合!');
+        } else {
+            return successInfoAction(opt);
+        }
+    } else if (inputName === 'confirm_password') {
+        if ($('#newPwd').val() !== val) {
+            return errorInfoAction(opt, '两次密码不一致!');
+        } else {
+            return successInfoAction(opt);
+        }
+
+        // else if ($('#newPwd').val() !== '') {
+        //     $('#newPwd').next().html('<div class="form-success">&nbsp;</div>');
+        //     return successInfoAction(opt);
+        // }
+    } else if (inputName === 'code') {
+        mobileValue = $('#realAccount').length > 0 ? $('#realAccount').val() : $('#mobilevalue').val();
+
+        if (val !== '') {
+            $.extend(ajaxData, {
+                url: '/home/account/checkmobilemsg',
+                data: {
+                    mobile: mobileValue,
+                    code: $('#inputcode').val()
+                },
+                txt: '验证码错误!'
+            });
+            return checkFormAjax(ajaxData);
+        }
+    } else {
+        return true;
+    }
+}
+
+// 校验表单
+function checkAllForm() {
+    var arr = [];
+
+    canFlag = false;
+
+    $.each($checkInput, function(key, item) {
+        arr[key] = checkForm($(item));
+    });
+
+    if (arr.indexOf(false) >= 0) {
+        canFlag = true;
+        return false;
+    } else {
+        return true;
+    }
+}
+
+// 切换验证码
+function changeCode() {
+    var timestamp = (new Date()).getTime();
+
+    $('#the-code-img').attr('src', '/passport/images?len=6&time=' + timestamp);
+}
+
+// 重新发送倒计时
+function code() {
+    var sstring = '';
+
+    if (stime > 0) {
+        sstring = '重新发送' + stime + '秒';
+        $('#sendButton').text(sstring);
+        stime = stime - 1;
+    } else {
+        stime = 60;
+        $('#sendButton').text('发送验证码');
+        clearInterval(sInt);
+        canSend = true;
+    }
+}
+
+// 发送手机验证码ajax请求
+function sendMobileMsg(mobileV) {
+    var $code = $('#inputcode'),
+        $ccheckInfo = $code.parent().find('check-info');
+
+    $.post('/home/account/sendmobilemsg', {
+        mobile: mobileV
+    }, function(data) {
+        if (typeof data.code !== 'undefined' && data.code === 200) {
+            canSend = false;
+            sInt = setInterval(function() {
+                code();
+            }, 1000);
+            $ccheckInfo.html('');
+        } else {
+            $ccheckInfo.html('<div class="form-error">验证码发送失败</div>');
+        }
+    });
+}
+
+// 发送手机验证码
+function sendcode() {
+    var $mobile = $('#mobilevalue');
+
+    var $mcheckInfo,
+        mobileV,
+        mobileObj;
+
+    if ($mobile.length > 0) {
+        $mcheckInfo = $mobile.next(),
+        mobileV = $mobile.val(),
+        mobileObj = mobileV.split('-');
+
+        if (mobileObj.length === 1) {
+            mobileObj = mobileV.match('^1[35847]{1}[0-9]{9}');
+        } else {
+            mobileObj = phoneRegx.phoneRegx['+' + mobileObj[0]].test(mobileObj[1]);
+        }
+    } else {
+        mobileV = $('#realAccount').val();
+    }
+
+    if (canSend) {
+        if ($mobile.length > 0) {
+            if (mobileObj === null || !mobileObj) {
+                $mcheckInfo.html('<div class="form-error">手机号错误!</div>');
+                $mobile.addClass('input-error');
+                return false;
+            }
+
+            if ($mcheckInfo.find('.form-success').length > 0) {
+                sendMobileMsg(mobileV);
+            }
+        }
+
+        if ($('#realAccount').length > 0) {
+            sendMobileMsg(mobileV);
+        }
+    } else {
+        return false;
+    }
+}
+
+// 验证完成后倒计时跳转
+function toHome() {
+    window.location.href = '/home/account';
+}
+
+// ajax公共处理模块
+function ajaxAction(opt, flag) {
+    $.post(opt.url, opt.data, function(data) {
+        if (data.code === 200) {
+            if (flag) {
+                opt.hrefUrl += '&checkCode=' + data.data;
+            }
+            window.location.href = opt.hrefUrl;
+        } else {
+            canFlag = true;
+            active = new Alert(data.message);
+            active.show();
+            return false;
+        }
+    }, 'json');
+}
+
+// 提交表单
+function submitForm() {
+    var step = $('.progress-bar .cur').index(),
+        verifyType = $('#verifyType').val(),
+        curType = '',
+        opt = {};
+
+    if ($('.email').length > 0) {
+        curType = 'email';
+    }
+
+    if ($('.mobile').length > 0) {
+        curType = 'mobile';
+    }
+
+    if ($('.userpwd').length > 0) {
+        curType = 'userpwd';
+    }
+
+    /*
+     * step 0: 验证身份 1:验证第二步骤 2:验证第三步骤
+     * verifyType 验证身份的状态 1:登录密码验证 2:邮箱的身份验证 3:手机的身份验证
+     */
+    if (step === 0) {
+        if (verifyType === '1') {
+            opt = {
+                url: '/home/account/verifypassword',
+                data: $('#pwdform').serialize(),
+                hrefUrl: '/home/account/' + curType + '?step=2'
+            };
+
+            ajaxAction(opt, 'step1');
+
+            // if (!ajaxAction(opt)) {
+            //     $("input[type=reset]").trigger("click");
+            // }
+        } else if (verifyType === '2') {
+            opt = {
+                url: '/home/account/sendemail',
+                data: {
+                    checkType: curType,
+                    email: $('#realAccount').val()
+                },
+                hrefUrl: '/home/account/sendemailsuccess?email=' + $('#realAccount').val() +
+                        '&type=1&checkType=' + curType
+            };
+            ajaxAction(opt);
+        } else {
+            opt = {
+                url: '/home/account/checkmobilemsg',
+                data: {
+                    mobile: $('#realAccount').val(),
+                    code: $('#inputcode').val()
+                },
+                hrefUrl: '/home/account/' + curType + '?step=2'
+            };
+            ajaxAction(opt, 'step1');
+        }
+    } else if (step === 1) {
+        if (curType === 'userpwd') {
+            opt = {
+                url: '/home/account/modifypwd',
+                data: $('#pwdform').serialize(),
+                hrefUrl: '/home/account/userpwd?step=3&success=true'
+            };
+            ajaxAction(opt);
+        } else if (curType === 'email') {
+            opt = {
+                url: '/home/account/modifyemail',
+                data: {
+                    email: $('#email').val()
+                },
+                hrefUrl: '/home/account/sendemailsuccess?email=' + $('#email').val() +
+                        '&type=2&checkType=email'
+            };
+            ajaxAction(opt);
+        } else {
+            opt = {
+                url: '/home/account/modifymobile',
+                data: {
+                    mobile: $('#mobilevalue').val(),
+                    code: $('#inputcode').val()
+                },
+                hrefUrl: '/home/account/mobile?step=3&success=true'
+            };
+            ajaxAction(opt);
+        }
+    }
+}
+
+$(function() {
+    var t = null;
+
+    if ($('.res-info').length > 0) {
+        t = setTimeout(function() {
+            toHome();
+        }, 5000);
+    }
+
+    changeCode();
+
+    $('#pwdform').submit(function() {
+        return false;
+    });
+
+    $checkInput.blur(function() {
+        checkForm($(this));
+    });
+
+    $('.sub-btn').on('click', function() {
+        if (canFlag === false) {
+            return false;
+        }
+
+        if (checkAllForm()) {
+            submitForm();
+        } else {
+            return false;
+        }
+    });
+
+    $('input[name=verifyCode]').keydown(function(e) {
+        if (e.keyCode === 13) {
+            if (canFlag === false) {
+                return false;
+            }
+
+            if (checkAllForm()) {
+                submitForm();
+            } else {
+                return false;
+            }
+        }
+    });
+
+    $('.the-code').on('click', function() {
+        changeCode();
+    });
+
+    $('#send-mobile-code').on('click', function() {
+        sendcode();
+    });
+
+    if ($('#newPwd').length > 0) {
+        $('#newPwd').on('input', function(e) {
+            var $confirm = $('input[name=confirm_password]'),
+                confirmV = $confirm.val(),
+                newPwdV = $('#newPwd').val(),
+                opt = {
+                    dom: $confirm,
+                    $checkInfo: $confirm.next()
+                };
+
+            if (confirmV.length > 0 && newPwdV !== confirmV) {
+                errorInfoAction(opt, '两次密码不一致!');
+            }
+        });
+    }
+});
+});
+define("js/home/address", ["jquery","handlebars","source-map"], function(require, exports, module){
+/**
+ * 个人中心页-地址管理
+ * @author: wsl<shuiling.wang@yoho.cn>
+ * @date: 2016/02/24
+ */
+var $ = require("jquery"),
+    regionCode = require("js/home/common-address"),
+    dialog = require("js/common/dialog"),
+    Alert = dialog.Alert;
+
+var active;
+
+var $del = $('.address-del'),
+    $edit = $('.address-modify'),
+    $input = $('.input-1');
+
+var address = {
+
+    evil: function(fn) {
+        var Fn = Function;
+
+        return new Fn('return ' + fn)();
+    },
+
+    clearAddrForm: function() {
+        $('#addressName').val('');
+        $('#address').val('');
+        $('#zipCode').val('');
+        $('#phone').val('');
+        $('#mobile').val('');
+        $('#email').val('');
+        $('#addrId').val(0);
+        $('#province').val(0);
+        $('#city').val(0);
+        $('#areaCode').val(0).hide();
+        $('#btn-reset').hide();
+        $('#form-status').html('添加新地址');
+    },
+
+    editAddr: function(id) {
+        $.getJSON('/home/address/editAddress?id=' + id, function(jsonData) {
+            if (jsonData.code === 200) {
+                $('#form-status').html('修改地址');
+                $('#addressName').val(jsonData.data.consignee);
+
+                regionCode.loadAllData(jsonData.data.area_code, {});
+                $('#address').val(jsonData.data.address);
+                $('#email').val(jsonData.data.email);
+                $('#phone').val(jsonData.data.phone);
+                $('#mobile').val(jsonData.data.mobile);
+                $('#zipCode').val(jsonData.data.zip_code);
+                $('#addrId').val(jsonData.data.address_id);
+                $('#btn-reset').show();
+            }
+        });
+    },
+
+    saveAddr: function(callbackFunc) {
+        $.post('/home/address/saveAddress', $('#address-form').serialize(), function(data) {
+            if (data.code === 200) {
+                location.reload();
+            } else {
+                active = new Alert(data.message);
+                active.show();
+            }
+        }, 'json');
+    },
+
+    // 删除地址
+    delAddr: function(addrId) {
+        $.getJSON('/home/address/delAddress?id=' + addrId, function(jsonData) {
+            if (jsonData.code === 200) {
+                $('.address-list').find('li[addressId=' + addrId + ']').remove();
+                if (addrId === $('#addrId').val()) {
+                    address.clearAddrForm();
+                }
+            } else {
+                active = new Alert('删除失败');
+                active.show();
+            }
+        });
+    },
+
+    setDefaultAddr: function(addrId) {
+        var oldBtn = $('.address-list').find('.default-btn'),
+            oldLi = $('.address-list').find('.default-btn').parents('li'),
+            curLi = $('.address-list').find('li[addressId=' + addrId + ']'),
+            curBtn = curLi.find('.set-default-btn');
+
+        $.getJSON('/home/address/defaultAddress?id=' + addrId, function(jsonData) {
+            if (jsonData.code === 200) {
+                oldBtn.attr('class', 'btn-c3 set-default-btn');
+                oldLi.removeClass('preferred');
+                oldBtn.html('<span>设为常用地址</span>');
+                curBtn.attr('class', 'btn-c2 default-btn');
+                oldBtn.html('<span>设为常用地址</span>');
+                curLi.addClass('preferred');
+            } else {
+                active = new Alert('设置失败');
+                active.show();
+            }
+        });
+    }
+};
+
+if (!Array.prototype.indexOf) {
+    Array.prototype.indexOf = function(obj, start) {
+        var i,
+            j;
+
+        for (i = (start || 0), j = this.length; i < j; i++) {
+            if (this[i] === obj) {
+                return i;
+            }
+        }
+
+        return -1;
+    };
+}
+
+// 获取地址id
+function getAddressId(dom) {
+    var li = dom.parents('.address-content'),
+        id = li.attr('addressId');
+
+    return id;
+}
+
+//表单焦点显示
+function focusAction(opt) {
+    var msg = '';
+
+    if (opt.inputName === 'addressName') {
+        msg = '真实姓名在2到5个汉字之间';
+    }
+
+    if (opt.inputName === 'address') {
+        msg = '请填写详细地址';
+    }
+
+    if (opt.inputName === 'zipCode') {
+        msg = '请输入收货人所在地邮编号';
+    }
+
+    if (opt.inputName === 'phone') {
+        msg = '格式例如:0577-88888888';
+    }
+
+    if (opt.inputName === 'mobile') {
+        msg = '请输入手机号,如1360000000';
+    }
+
+    if (opt.inputName === 'email') {
+        msg = '用来接收订单提醒邮件,便于您及时了解订单状态';
+    }
+
+    opt.$checkInfo.removeClass('form-prompt').addClass('form-focus').html(msg);
+}
+
+//表单失去焦点显示
+function blurAction(opt) {
+    var regular = '',
+        res = true,
+        msg = '输入正确',
+        domClass = 'form-info form-success',
+        value = opt.val;
+
+    if (opt.inputName === 'addressName') {
+        regular = /^[\u4e00-\u9fa5]{2,5}$/;
+
+        if (opt.len < 1 || opt.len > 12) {
+            msg = '真实姓名在2到5个汉字之间,请确认';
+            res = false;
+            domClass = 'form-info form-error';
+        } else if (regular.test(opt.val) === false) {
+            msg = '真实姓名至少2个中文,最多5个中文';
+            res = false;
+            domClass = 'form-info form-error';
+        }
+    }
+
+    if (opt.inputName === 'address') {
+        if (opt.len < 2) {
+            msg = '请填写详细地址';
+            res = false;
+            domClass = 'form-info form-error';
+        }
+    }
+
+    if (opt.inputName === 'zipCode') {
+        regular = /^[0-9]{6}$/;
+
+        if (opt.len === 0) {
+            msg = '请输入收货人所在地邮编号';
+            res = false;
+            domClass = 'form-info form-error';
+        } else if (regular.test(opt.val) === false) {
+            msg = '你输入的邮编式不正确';
+            res = false;
+            domClass = 'form-info form-error';
+        }
+    }
+
+    if (opt.inputName === 'phone') {
+        regular = /^(0[0-9]{2,3}\-)?([2-9][0-9]{6,7})+(\-[0-9]{1,4})?$/;
+
+        if (opt.len === 0) {
+            msg = '你真的不想留联系电话了吗?';
+            res = true;
+            domClass = 'form-info form-success';
+        } else if (regular.test(opt.val) === false) {
+            msg = '你输入的联系电话格式不正确';
+            res = false;
+            domClass = 'form-info form-error';
+        }
+    }
+
+    if (opt.inputName === 'mobile') {
+        regular = /^1[3|4|5|8|7][0-9]{9}$/;
+
+        if (opt.len !== 11) {
+            msg = '手机号码必须是11位的,请确认';
+            res = false;
+            domClass = 'form-info form-error';
+        } else if (regular.test(opt.val) === false) {
+            msg = '您输入的手机号格式不正确';
+            res = false;
+            domClass = 'form-info form-error';
+        }
+    }
+
+    if (opt.inputName === 'email') {
+        regular = '^[a-z0-9_\-]+(\.[_a-z0-9\-]+)*@([_a-z0-9\-]+\.)+([a-z]{2}|aero|arpa|biz|com|coop|' +
+                    'edu|gov|info|int|jobs|mil|museum|name|nato|net|org|pro|travel)$';
+
+        if (value.match(regular) === null || opt.len === 0) {
+            msg = '你输入的邮件地址格式不正确';
+            res = false;
+            domClass = 'form-info form-error';
+        }
+    }
+
+    opt.$checkInfo.removeClass().addClass(domClass).html(msg);
+    return res;
+}
+
+
+// 地址表单验证
+function checkAddressForm(dom, action) {
+    var val = dom.val(),
+        $domParent = dom.parent(),
+        opt = {
+            val: val,
+            len: val.length,
+            $domParent: dom.parent(),
+            $checkInfo: $domParent.find('span'),
+            inputName: dom.attr('name')
+        };
+
+    if (action === 'focus') {
+        focusAction(opt);
+    }
+
+    if (action === 'blur') {
+        return blurAction(opt);
+    }
+}
+
+function fullOneValidator() {
+    var phone = $('#phone').next(),
+        mobile = $('#mobile').next();
+
+    if (mobile.hasClass('form-success') && !phone.hasClass('form-error') && $('#phone').val().length === 0) {
+        phone.removeClass().addClass('form-prompt form-info').html('请输入你的联系电话,可以为空哦');
+        return true;
+    } else if (phone.html() === '输入正确' && !mobile.hasClass('form-error') && $('#mobile').val().length === 0) {
+        mobile.removeClass().addClass('form-prompt form-info').html('填写手机号便于接收发货和收货通知');
+        return true;
+    } else if (!mobile.hasClass('form-success') && phone.html() !== '输入正确') {
+        phone.removeClass().addClass('form-success form-info').html('你真的不想留联系电话了吗?');
+        mobile.removeClass().addClass('form-prompt form-info').html('填写手机号便于接收发货和收货通知');
+        $('#mobile').focus();
+        return false;
+    }
+}
+
+//校验所有内容
+function checkAllForm() {
+    var arr = [];
+
+    $.each($input, function(key, item) {
+        arr.push(checkAddressForm($(item), 'blur'));
+    });
+
+    arr.push(fullOneValidator());
+
+    $.each($('.form-info'), function(key, item) {
+        if ($(item).hasClass('form-error')) {
+            $(item).prev().focus();
+            return false;
+        }
+    });
+
+
+    if (arr.indexOf(false) === -1) {
+        return true;
+    } else {
+        return false;
+    }
+}
+
+$(document).on('click', '.set-default-btn', function() {
+    var id = getAddressId($(this));
+
+    address.setDefaultAddr(id);
+});
+
+$del.on('click', function() {
+    var id = getAddressId($(this));
+
+    address.delAddr(id);
+});
+
+$edit.on('click', function() {
+    var id = getAddressId($(this));
+
+    address.editAddr(id);
+    $('#btn-reset').show();
+});
+
+$input.on('focus', function() {
+    checkAddressForm($(this), 'focus');
+});
+
+$input.on('blur', function() {
+    checkAddressForm($(this), 'blur');
+});
+
+$('#address-info').on('click', function() {
+    if (checkAllForm()) {
+        address.saveAddr();
+    }
+});
+
+$(document).ready(function() {
+    regionCode.loadAllData(
+        0,
+        {
+            provinceDomId: 'province',
+            cityDomId: 'city',
+            areaDomId: 'areaCode'
+        }
+    );
+
+    address.clearAddrForm();
+
+    $('#btn-reset').click(function() {
+        address.clearAddrForm();
+    });
+});
+});
+define("js/help/entry", ["jquery","handlebars","source-map"], function(require, exports, module){
+/**
+ * 帮助中心页js打包入口文件
+ * @author: yyqing<yanqing.yang@yoho.cn>
+ * @date: 2016/3/23
+ */
+
+require("js/help/search");
+});
+define("js/help/search", ["jquery","handlebars","source-map"], function(require, exports, module){
+/**
+ * 我的信息
+ * @author: yyqing<yanqing.yang@yoho.cn>
+ * @date: 2016/3/23
+ */
+var $ = require("jquery"),
+    Handlebars = require("handlebars");
+
+var $searchMain = $('.search-content'),
+    $dialog = $('#help-dialog-widget'),
+    $dialogBg = $('#help-dialog-bg');
+
+var docW = $(document).width(),
+    winH = $(window).height();
+
+var tpl =
+    '<div class="dialog-titlebar">' +
+        '<span class="dialog-close-btn"></span>' +
+    '</div>' +
+    '<div class="dialog-content">' +
+        '<p class="ask">问:<br>{{ask}}</p>' +
+        '<p class="answer">答:<br>{{answer}}</p>' +
+    '</div>';
+
+var tplFn = Handlebars.compile(tpl);
+
+$searchMain.on('click', '.faqs', function() {
+    var data = $(this).data(),
+        top = $(document).scrollTop();
+
+    $dialog.html(tplFn(data)).removeClass('hide');
+    $dialogBg.removeClass('hide');
+
+    $dialog.html(tplFn(data)).css({
+        top: top + (winH - $dialog.outerHeight()) / 2,
+        left: (docW - $dialog.outerWidth()) / 2
+    });
+});
+
+$dialog.on('click', '.dialog-close-btn', function() {
+    $dialog.addClass('hide');
+    $dialogBg.addClass('hide');
+});
+});
+define("js/order/ensure", ["jquery","handlebars","source-map"], function(require, exports, module){
+/**
+ * @description: 订单保存
+ * @time: 2015/12/21
+ */
+
+var $ = require("jquery");
+
+var address = require("js/order/address");
+
+var dialog = require("js/common/dialog");
+
+var accMul = function(arg1, arg2) {
+    var m = 0,
+    s1 = arg1.toString(),
+    s2 = arg2.toString();
+
+    try {
+        m += s1.split('.')[1].length;
+    } catch (e) {
+    }
+    try {
+        m += s2.split('.')[1].length;
+    } catch (e) {
+    }
+    return Number(s1.replace('.', '')) * Number(s2.replace('.', '')) / Math.pow(10, m);
+};
+
+var Order = {
+    /*业务数据(人民币)*/
+    Data: {
+        product: 0, //商品价格
+        activity: 0, //活动
+        carriage: 0, //邮费
+        juan: 0, //优惠卷
+        yohocoin: 0 //YOHO币
+    },
+    /*view 交互*/
+    UI: {
+        e: {
+            $pan: $('.pan'),
+            $jc: $('#juancode'),
+            $bp: $('#biprice'),
+            $statistics: $('li', '.play-total'),
+            $tobi: $('p em', '.play-bi-pan .play-pan'),
+            $cancel: $('.cancel', '.btn-group'),
+            $total: $('em', '.to-play'),
+            $tbody: $('table tbody', '.pay-wapper'),
+
+            //请填写并核对一下信息
+            $orderSelectionSave: $('.address-list h2 span'),
+            $addAddress: $('.add-address'),
+            $addressManage: $('.address-manage'),
+            $spanPayTypeLegend: $('span.pay-type-legend'),
+            $supportType: $('.support-type'),
+            $existAddressListWrap: $('.exist-address-list'),
+            $existAddressList: $('.exist-address-list').find('li'),
+            $existAddress: $('.exist-address-list').find('input[name="exist-address"]'),
+            $payTimeModify: $('.pay-time-modify'),
+            $switchPayModify: $('.switch-pay-modify'),
+            $modityPayInfo: $('.modity-pay-info'),
+            $payTotal: $('.play-total'),
+            $toPay: $('.to-play em'),
+            $redEnvelopes: $('.red-envelopes'),
+            $useEnvelopes: $('.use-envelopes'),
+            $hasEnvelopes: $('.has-envelopes span'),
+            $useEnvelopesInput: $('.use-envelopes').find('input'),
+            $expressFee: $('.express-fee')
+        },
+        init: function() {
+            var e = this.e,
+                    d = Order.Data,
+                    c = Order.Common;
+
+            //初始化产品价格(表格中的价格)
+            e.$tbody.find('tr').each(function(index) {
+
+                var td = $(this).find('td');
+                var len = e.$tbody.find('tr').length;
+                var subtotal = parseFloat(td.eq(1).html()) * parseInt(td.eq(3).html());
+
+                td.eq(1).html('¥' + td.eq(1).html());
+
+                if (td.hasClass('xforone')) {
+                    td.eq(4).find('del').html('¥' + c.strFixed(subtotal));
+                    subtotal = 0;
+                } else {
+                    td.eq(4).html('¥' + c.strFixed(subtotal));
+                }
+                d.product += subtotal;
+                if (!index) {
+                    td.last().attr('rowspan', len);
+                } else {
+                    td.last().remove();
+                }
+                if (index === len - 1) {
+                    e.$tbody.find('tr').eq(0).find('td').last().html('<strong>¥' + c.strFixed(d.product) + '</strong>');
+                }
+            });
+
+            // 使用优惠券、使用yoho币点击展开
+            e.$pan.find('dt').click(function() {
+
+                var pan = $(this).parent('dl.pan');
+
+                if (pan.find('dd').is(':hidden')) {
+                    c.winShow(pan);
+
+                    $(this).addClass('active');
+                } else {
+                    c.winHide(pan);
+
+                    $(this).removeClass('active');
+                }
+
+            });
+
+            //请填写并核对一下信息
+            e.$orderSelectionSave.click(function() {
+                var i = 0,
+                        $addressLi = $('.exist-address-list li'),
+                        liLen = $addressLi.length,
+                        notSelect = 0;
+
+                if (!$(this).attr('expand')) {
+
+                    $(this).attr('expand', 'expand').text('[不保存并关闭]');
+
+                    $('.exist-address-list li').removeClass('hide');
+
+                    $('.save-btn').removeClass('hide');
+
+                    e.$existAddressListWrap.addClass('address-expand');
+
+                    if (liLen === 1) {
+                        e.$addressManage.removeClass('hide');
+                    }
+
+                } else {
+
+                    for (i = 0; i < liLen; i++) {
+
+                        if ($addressLi.eq(i).hasClass('address_select')) {
+                            notSelect++;
+                        }
+
+                        if (!$addressLi.eq(i).hasClass('address_select')) {
+                            $addressLi.eq(i).addClass('hide');
+                        }
+                    }
+
+                    if (notSelect === 0) {
+                        $('.exist-address-list li:not(".use-new-address")').removeClass('hide');
+
+                        $('.use-new-address input').removeAttr('checked');
+                    }
+
+                    $('.address-list-inner li.address_select input').attr('checked', 'checked');
+                    $('.address-list-inner li').removeClass('active');
+                    $('.address-list-inner li.address_select').addClass('active');
+
+                    $(this).removeAttr('expand').text('[修改]');
+
+                    $('.save-btn').addClass('hide');
+
+                    e.$existAddressListWrap.removeClass('address-expand');
+
+                    e.$addressManage.addClass('hide');
+                }
+
+            });
+
+
+            //支付及送货时间
+            e.$switchPayModify.click(function() {
+
+                if (e.$payTimeModify.hasClass('hide')) {
+                    e.$payTimeModify.removeClass('hide');
+                    e.$modityPayInfo.addClass('hide');
+                    $(this).text('[不保存并关闭]');
+                } else {
+                    e.$payTimeModify.addClass('hide');
+                    e.$modityPayInfo.removeClass('hide');
+                    $(this).text('[修改]');
+
+                    e.$payTimeModify.find('input[name="pay-type"]').filter('.checked').attr('checked', 'checked');
+                    e.$payTimeModify.find('input[name="pay-time-radio"]').filter('.checked').attr('checked', 'checked');
+                    e.$payTimeModify.find('input[name="call-me"]').filter('.checked').attr('checked', 'checked');
+                }
+            });
+
+            e.$spanPayTypeLegend.click(function() {
+                $(this).toggleClass('active');
+
+                e.$supportType.toggleClass('hide');
+            });
+
+            $(document).on('click', '.exist-address-list li', function() {
+
+                $('.exist-address-list li').removeClass('active');
+
+                $(this).addClass('active');
+
+                $(this).find('input').attr('checked', 'checked');
+
+                if ($(this).hasClass('use-new-address')) {
+                    e.$addressManage.removeClass('hide');
+
+                    $('.address-manage input').val('');
+
+                    $('.save-btn').removeAttr('data-id');
+
+                    // 0表示获取所有省的列表,'000000'表示无匹配的区域码
+                    address.newAddress(0, '000000');
+                }
+            });
+        },
+
+        //渲染价格明细
+        render: function(data, tips) {
+
+            // 下面这段是在服务端算价格
+            var e = this.e,
+                    i,
+                    dArr = data.promotion_formula_list,
+                    packageList = data.package_list,
+                    str = '',
+                    isExpress = '';
+
+            var tipsStr;
+
+            var envelopesVal;
+
+            if (!!tips) {
+                tipsStr = tips;
+            } else {
+                tipsStr = '';
+            }
+
+            for (i = 0; i < dArr.length; i++) {
+
+                if (dArr[i].promotion === '优惠券:') {
+                    dArr[i].promotion = (tipsStr ? tipsStr : '优惠券') + '<span class="juan-modify">[修改]</span>:';
+                }
+
+                if (dArr[i].promotion === 'YOHO币:') {
+                    dArr[i].promotion = 'YOHO币<span class="bi-modify">[修改]</span>:';
+                }
+
+                if (dArr[i].isExpress) {
+                    isExpress = 'total-express-w';
+                } else {
+                    isExpress = '';
+                }
+
+                str += '<li class="' + isExpress + '">' +
+                        '<label>' + dArr[i].promotion + '</label>' +
+                        '<em>' + dArr[i].promotion_amount + '</em>' +
+                        '</li>';
+            }
+
+            e.$payTotal.html(str);
+            e.$toPay.html((data.last_order_amount).toFixed(2));
+
+            //有货币清零状态更新
+            $('#biprice').val(accMul(100, data.use_yoho_coin));
+            if (~~data.use_yoho_coin === 0) {
+                $('.errbitip').text('');
+            } else {
+                $('.errbitip').text('抵扣' + data.use_yoho_coin.toFixed(2) + '元');
+            }
+
+            envelopesVal = e.$useEnvelopesInput.data('all') - data.use_red_envelopes;
+
+            if (~~data.use_red_envelopes > 0) {
+                e.$useEnvelopes.find('span').html('-¥' + data.use_red_envelopes.toFixed(2));
+                e.$useEnvelopes.find('input').attr('data-use', data.use_red_envelopes);
+            } else {
+                e.$useEnvelopes.find('span').html('-¥0.00');
+                e.$hasEnvelopes.html('¥' + (e.$useEnvelopesInput.attr('data-all') * 1).toFixed(2));
+                e.$redEnvelopes.removeClass('active');
+                e.$useEnvelopesInput.prop('checked', false);
+            }
+            e.$hasEnvelopes.html('¥' + envelopesVal.toFixed(2));
+
+            if (packageList) {
+                e.$expressFee.each(function(index, expressCost) {
+                    var orignCost = packageList[index].shopping_orig_cost,
+                        disCount = packageList[index].shopping_cut_cost,
+                        realCost = packageList[index].shopping_cost;
+
+                    var cost = parseInt(orignCost) === 0 ?
+                        '运费:¥0.00元' :
+                        '运费:¥' + realCost + '元(原价' + orignCost + '元,优惠' + disCount + ')元';
+
+                    $(expressCost).text(cost);
+                });
+            }
+        }
+    },
+    /*公共方法*/
+    Common: {
+        enterNUM: function(str1, str2) {
+            str1 = str1.replace(/[^\d]/g, '');
+            if (str1 && str2) {
+                str1 = parseInt(str1);
+                str2 = parseInt(str2);
+                if (str1 > str2) {
+                    str1 = str2;
+                }
+            }
+            return str1;
+        },
+        calucate: function() {
+            var p = Order.Data;
+
+            $.each(Order.Data, function(key, index) {
+                p[key] = parseFloat(Order.Data[key]);
+            });
+            return p.product - p.activity + p.carriage - p.juan - p.yohocoin;
+        },
+        winShow: function(pan) {
+            pan.find('dt').show();
+            pan.find('dd').show();
+            if (pan.attr('class').match(/(-bi-)|(-juan-)/g)) {
+                pan.find('dt').hide();
+            }
+        },
+        winHide: function(pan) {
+            pan.find('dt').show();
+            pan.find('dd').hide();
+
+            /*if (pan.hasClass('play-juan-pan') && $('.juan-modify').length > 0) {
+             pan.find('dt').hide();
+             }
+
+             if (pan.hasClass('play-bi-pan') && $('.bi-modify').length > 0) {
+             pan.find('dt').hide();
+             }*/
+        },
+        strFixed: function(str) {
+            return parseFloat(str).toFixed(2);
+        }
+    },
+    /*业务逻辑*/
+    Bll: {
+        e: {
+            $juanok: $('#juansubmit'),
+            $juantip: $('.errtip', '.play-juan-pan'),
+            $biok: $('#bisubmit'),
+            $carriageGroup: $('input[name="carriagegroup"]'),
+            $selectExpress: $('.express-list input'),
+            $bp: $('#biprice'),
+            $errorTip: $('.errbitip'),
+            $useEnvelopes: $('.use-envelopes'),
+            $hasEnvelopes: $('.has-envelopes span'),
+            $useEnvelopesInput: $('.use-envelopes').find('input'),
+            $redEnvelopes: $('.red-envelopes'),
+            $loading: $('.loading')
+        },
+        init: function() {
+            var e = this.e,
+                    u = Order.UI,
+                    options,
+                    c = Order.Common,
+                    envelopesVal;
+
+            function getSelectData(callback) {
+
+                var $juangroupInput = $('.play-juan.is-select input[name="juangroup"]:checked');
+                var expressVal = $('.express-list input[name="carriagegroup"]:checked').val();
+                var biVal = $('#biprice.is-select').val();
+                var codeVal = $juangroupInput.val();
+                var cartType = $('.address-manage').attr('cart-type');
+                var redEnvelopes = $('.use-envelopes input:checked').attr('data-use');
+                var resultData;
+
+                codeVal = codeVal ? codeVal : $juangroupInput.closest('li').find('#juancode').val();
+
+                resultData = {
+                    cartType: cartType,
+                    deliveryWay: expressVal,
+                    couponCode: codeVal,
+                    yohoCoin: biVal
+
+                    //redEnvelopes: e.$useEnvelopesInput.length > 0 ? ~~e.$hasEnvelopes.text().substring(1) : '0'
+                };
+
+                if (!!redEnvelopes) {
+                    resultData.redEnvelopes = redEnvelopes;
+                }
+
+                callback(resultData);
+
+            }
+
+            // 选择快递
+            e.$selectExpress.click(function() {
+
+                var expressId = $(this).val();
+
+                e.$loading.show();
+
+                getSelectData(function(d) {
+
+                    d.deliveryWay = expressId;
+
+                    options = {
+                        type: 'POST',
+                        url: '/cart/index/orderCompute',
+                        data: d,
+                        success: function(data) {
+                            e.$loading.hide();
+
+                            if (data.code === 200) {
+                                u.render(data.data);
+
+                                if (expressId === '1') {
+
+                                    $('.express-list.sf').addClass('hide');
+                                } else if (expressId === '2') {
+                                    $('.express-list.sf').removeClass('hide');
+                                }
+                            } else {
+                                new dialog.Alert(data.message).show();
+                            }
+                        }
+                    };
+
+                    $.ajax(options);
+                });
+            });
+
+            //点击 优惠卷支付 确认按钮
+            e.$juanok.click(function() {
+
+                var pan = $(this).parents('dl.pan');
+
+                var juanText = '';
+
+                $('.play-juan').addClass('is-select');
+
+                getSelectData(function(d) {
+
+                    var code = d.couponCode;
+
+                    if (!code) {
+
+                        e.$juantip.html('请选择或填写一个优惠券');
+                        $('.play-juan').removeClass('is-select');
+
+                    } else {
+
+                        e.$loading.show();
+
+                        options = {
+                            type: 'POST',
+                            url: '/cart/index/orderCompute',
+                            data: d,
+                            success: function(data) {
+
+                                e.$loading.hide();
+
+                                if (data.code === 200) {
+
+                                    juanText = $('.play-juan input[value="' + code + '"]').next().text();
+                                    u.render(data.data, juanText);
+
+                                    //$('#juancode').val(code);
+
+                                    c.winHide(pan);
+                                    e.$juantip.html('');
+
+                                    //$('.play-juan-pan dt').hide();
+
+                                } else {
+                                    e.$juantip.html(data.message);
+                                    $('.play-juan').removeClass('is-select');
+                                }
+                            }
+                        };
+
+                        $.ajax(options);
+                    }
+                });
+
+            });
+
+            // 优惠券修改
+            $(document).on('click', '.juan-modify', function() {
+
+
+                var $pan = $('.play-juan-pan');
+
+                c.winShow($pan);
+            });
+
+            e.$biok.click(function() {
+
+                var pan = $(this).parents('dl.pan');
+                var juanText;
+
+                $('#biprice').addClass('is-select');
+
+                getSelectData(function(d) {
+
+                    if (!!d.couponCode) {
+                        juanText = $('.play-juan input[value="' + d.couponCode + '"]').next().text();
+                    }
+
+                    //if (d.yohoCoin * 1 === 0) {
+                    if (!/^\d+$/.test(d.yohoCoin + '') || d.yohoCoin * 1 === 0) {
+                        $('.errbitip').html('请输入一个正整数');
+                        $('#biprice').removeClass('is-select');
+
+                    } else if (d.yohoCoin * 1 > $('.play-pan em').text() * 1) {
+
+                        $('.errbitip').html('您的YOHO币不足');
+                        $('#biprice').removeClass('is-select');
+
+                    } else {
+                        e.$loading.show();
+
+                        options = {
+                            type: 'POST',
+                            url: '/cart/index/orderCompute',
+                            data: d,
+                            success: function(data) {
+
+                                e.$loading.hide();
+
+                                if (data.code === 200) {
+
+                                    u.render(data.data, juanText);
+                                    c.winHide(pan);
+
+                                    //$('.play-bi-pan dt').hide();
+
+                                } else {
+                                    $('.errbitip').html(data.message);
+                                    $('#biprice').removeClass('is-select');
+                                }
+                            }
+                        };
+
+                        $.ajax(options);
+                    }
+
+                });
+            });
+
+            // 修改yoho币
+            $(document).on('click', '.bi-modify', function() {
+
+
+                var $pan = $('.play-bi-pan');
+
+                c.winShow($pan);
+            });
+
+            e.$bp.keyup(function() {
+
+                var val = $(this).val();
+
+                //if (val * 1 < 0 || val.indexOf('.') > 0) {
+                if (!/^\d+$/.test(val + '')) {
+                    e.$errorTip.html('请输入一个正整数');
+                } else if (val * 1 > $(this).data('bi') * 1) {
+                    e.$errorTip.html('您的YOHO币不足');
+                } else {
+                    e.$errorTip.html('抵扣' + (val / 100).toFixed(2) + '元');
+                }
+            });
+
+            // 取消yoho 币
+            $('.cancel-bi').click(function() {
+
+
+                var $pan = $('.play-bi-pan');
+                var juanText;
+
+                $('.errbitip').html('');
+
+                if ($('#biprice').hasClass('is-select')) {
+
+                    e.$loading.show();
+
+                    getSelectData(function(d) {
+
+                        d.yohoCoin = 0;
+
+                        if (!!d.couponCode) {
+                            juanText = $('.play-juan input[value="' + d.couponCode + '"]').next().text();
+                        }
+
+                        options = {
+                            type: 'POST',
+                            url: '/cart/index/orderCompute',
+                            data: d,
+                            success: function(data) {
+
+                                e.$loading.hide();
+
+                                if (data.code === 200) {
+                                    u.render(data.data, juanText);
+                                    c.winHide($pan);
+
+                                    $('#biprice').val('0');
+
+                                    //$('.play-bi-pan dt').hide();
+                                    $('#biprice').removeClass('is-select');
+
+                                    $('.errbitip').html('');
+
+                                    // $('.use-envelopes input').attr('checked', 'checked');
+                                    // $('.red-envelopes').addClass('active');
+
+                                } else {
+                                    $('.errbitip').html(data.message);
+                                }
+                            }
+                        };
+
+                        $.ajax(options);
+                    });
+
+                } else {
+                    c.winHide($pan);
+                    $('#biprice').val('0');
+                }
+
+            });
+
+            // 取消优惠券
+            $('.cancel-code').click(function() {
+
+                var $pan = $('.play-juan-pan');
+
+                if ($('.play-juan').hasClass('is-select')) {
+
+                    e.$loading.show();
+
+                    getSelectData(function(d) {
+
+                        d.couponCode = '';
+
+                        options = {
+                            type: 'POST',
+                            url: '/cart/index/orderCompute',
+                            data: d,
+                            success: function(data) {
+
+                                e.$loading.hide();
+
+                                if (data.code === 200) {
+                                    u.render(data.data);
+
+                                    c.winHide($pan);
+                                    $('.play-juan').removeClass('is-select');
+
+                                    $('#juancode').val('')
+                                            .siblings('input[name="juangroup"]').attr('checked', 'checked');
+
+                                    // $('.use-envelopes input').attr('checked', 'checked');
+                                    // $('.red-envelopes').addClass('active');
+
+                                } else {
+                                    e.$juantip.html(data.message);
+                                }
+                            }
+                        };
+
+                        $.ajax(options);
+                    });
+                } else {
+                    c.winHide($pan);
+                }
+            });
+
+
+            // 红包
+            envelopesVal = e.$useEnvelopesInput.data('all') - e.$useEnvelopesInput.data('use'); // 剩余的红包
+            e.$hasEnvelopes.text('¥' + envelopesVal.toFixed(2));
+            e.$useEnvelopes.find('input').click(function() {
+
+                var $this = $(this),
+                        juanText;
+
+                e.$loading.show();
+
+                $this.attr('disabled', 'disabled');
+
+                getSelectData(function(d) {
+
+                    if (!!$this.attr('checked')) {
+
+                        //d.redEnvelopes = $this.val();
+                        d.redEnvelopes = $this.data('use');
+
+                    } else {
+
+                        d.redEnvelopes = 0;
+                    }
+
+                    juanText = $('.play-juan input[value="' + d.couponCode + '"]').next().text();
+
+                    options = {
+                        type: 'POST',
+                        url: '/cart/index/orderCompute',
+                        data: d,
+                        success: function(data) {
+                            e.$loading.hide();
+
+                            if (data.code === 200) {
+                                u.render(data.data, juanText);
+
+                                $this.removeAttr('disabled');
+
+                                if (!!$this.attr('checked')) {
+                                    e.$redEnvelopes.addClass('active');
+                                } else {
+                                    e.$useEnvelopes.find('span').html('-¥0.00');
+                                    e.$hasEnvelopes.html('¥' + ($this.attr('data-all') * 1).toFixed(2));
+                                    e.$redEnvelopes.removeClass('active');
+                                }
+                            } else {
+
+                                new dialog.Alert(data.message).show();
+                            }
+                        }
+                    };
+
+                    $.ajax(options);
+                });
+
+            });
+
+
+            //发票抬头和备注字数限制
+            function limitStrLen($obj, len) {
+
+                var $this = $obj;
+
+                $this.keyup(function() {
+
+                    if ($this.val().length > len) {
+
+                        $this.val($this.val().substr(0, len));
+                    }
+                });
+            }
+
+            limitStrLen($('#piaodesc'), 30);
+            limitStrLen($('#notedesc'), 100);
+        }
+    }
+};
+
+Order.Data.activity = 0;
+Order.Data.carriage = 0;
+
+Order.UI.init();
+Order.Bll.init();
+
+
+address.getUserAddressList();
+
+// 0表示获取所有省的列表,'000000'表示无匹配的区域码
+address.newAddress(0, '000000');
+address.modifyAddress();
+address.saveAddress();
+
+//不同订单包裹提示
+
+$('.why').click(function() {
+    $('#differentBag').show();
+    return false;
+
+});
+$('#differentBag').click(function() {
+    return false;
+});
+$(document).click(function() {
+    $('#differentBag').hide();
+});
+
+//订单包裹左右切换
+function lunBo($pre, $next, $ul, $iWidth) {
+    var i = 1,
+            j = 1;
+
+    var iSpeed = 0,
+            isMoving = false;
+
+    $pre.click(function() {
+        if (isMoving) {
+            return;
+        }
+
+        if ($ul.css('left') === '0px') {
+            iSpeed = 0;
+
+        } else {
+            iSpeed += j * $iWidth;
+            isMoving = true;
+        }
+        $ul.stop().animate({
+            left: iSpeed
+        }, 300, function() {
+            isMoving = false;
+        });
+    });
+    $next.click(function() {
+        var $largeLeft = $ul.parent().width() - $ul.width() + 'px';
+
+        if (isMoving) {
+            return;
+        }
+
+        if ($ul.css('left') === $largeLeft) {
+            $ul.css('left', $largeLeft);
+        } else {
+            iSpeed += -i * $iWidth;
+            isMoving = true;
+        }
+
+        $ul.stop().animate({
+            left: iSpeed
+        }, 300, function() {
+            isMoving = false;
+        });
+    });
+}
+
+
+
+//订单分类
+$('.bag').find('ul').each(function() {
+    var $pre = $(this).parent().parent().find('.pre');
+    var $next = $(this).parent().parent().find('.next');
+
+    var $iWidth = $(this).find('li').eq(0).width();
+    var $length = $(this).find('li').size();
+    var $ulWidth = $iWidth * $length;
+
+    $(this).css('width', $ulWidth);
+    if ($length > 5) {
+        $pre.show();
+        $next.show();
+        lunBo($pre, $next, $(this), $iWidth);
+    } else {
+        $pre.hide();
+        $next.hide();
+    }
+});
+
+});
+define("js/order/address", ["jquery","handlebars","source-map"], function(require, exports, module){
+/**
+ * @description: 地址管理
+ * @author: chenglong.wang@yoho.cn
+ */
+
+var $ = require("jquery");
+var dialog = require("js/common/dialog");
+
+
+var isProvinceChecked = false;
+
+var $addressManage = $('.address-manage'),
+    $province = $addressManage.find('.text-input[name="province"]'),
+    $city = $addressManage.find('.text-input[name="city"]'),
+    $county = $addressManage.find('.text-input[name="county"]'),
+    $selectList = $addressManage.find('.text-input[name="province"], .text-input[name="city"]'),
+    $addressList = $('.address-list'),
+    $name = $addressManage.find('.text-input[name="name"]'),
+    $phone = $addressManage.find('.text-input[name="phone"]'),
+    $mail = $addressManage.find('.text-input[name="mail"]'),
+    $address = $addressManage.find('.text-input[name="address"]'),
+    $code = $addressManage.find('.text-input[name="code"]'),
+    $saveBtn = $('.save-btn'),
+    $telCode = $addressManage.find('.text-input[name="tel-code"]'),
+    $tel = $addressManage.find('.text-input[name="tel"]'),
+    $useNewAddress = $('.use-new-address'),
+    $existAddressList = $('.exist-address-list'),
+    $loading = $('.loading'),
+    $orderEditMain = $('#order-edit-main');
+
+var cartType = $addressManage.attr('cart-type');
+
+$loading.show();
+
+// 构建select下拉选项
+function structureOption($obj, data, selectId) {
+
+    var i,
+        optionHtml = '',
+        defaultOption,
+        isStar = '';
+
+    for (i = 0; i < data.length; i++) {
+
+        if (data[i].is_support_express === 'Y') {
+            isStar = '*';
+        } else {
+            isStar = '';
+        }
+
+        if (data[i].id === selectId) {
+            optionHtml += '<option selected value="' + data[i].id + '">' + isStar + data[i].caption + '</option>';
+        } else {
+            optionHtml += '<option value="' + data[i].id + '">' + isStar + data[i].caption + '</option>';
+        }
+    }
+
+
+    if ($obj.attr('name') === 'province') {
+        defaultOption = '<option value="0">请选择省份</option>';
+    } else if ($obj.attr('name') === 'city') {
+        defaultOption = '<option value="0">请选择城市</option>';
+
+    } else if ($obj.attr('name') === 'county') {
+        defaultOption = '<option value="0">请选择区县</option>';
+    }
+
+    $obj.html(defaultOption + optionHtml);
+}
+/**
+ * @description: 改函数会返回地址信息
+ * d {Object} type: 'getProvince'获取省 type: 'getCity'获取城市 type: 'getCounty'获取县
+ * id: 0 && type: 'getProvince' 获取所有省,默认没有选中项
+ * id !== 0 && type: 'getProvince' 获取所有省,默认选中用户所在的省
+ */
+function getAddress(d, callback) {
+
+    var $obj;
+    var selectId = d.selectId;
+
+    if (d.type === 'getProvince') {
+
+        //url = 'getProvince';
+        $obj = $province;
+    } else if (d.type === 'getCity') {
+
+        //url = 'getCity';
+        $obj = $city;
+    } else if (d.type === 'getCounty') {
+
+        //url = 'getCounty';
+        $obj = $county;
+    }
+
+    $.ajax({
+        type: 'GET',
+        url: '/cart/index/getAreaList',
+        dataType: 'json',
+        data: {
+            id: d.id * 1
+        }
+    }).then(function(d) {
+
+        structureOption($obj, d.data, selectId);
+
+        if (typeof callback === 'function') {
+            callback();
+        }
+
+    });
+}
+
+//手机号码****处理
+function setPhoneStar(pn) {
+    return pn.replace(/^(\d{3}).*(\d{4})$/, '$1****$2');
+}
+
+// 修改地址时把用户信息带过来
+function getUserInfo($obj) {
+
+    $name.val($obj.attr('data-name'));
+    $name.attr('data-id', $obj.attr('data-id'));
+    $address.val($obj.attr('data-addressDesc'));
+    $phone.val($obj.attr('data-mobile'));
+    $mail.val($obj.attr('data-email'));
+    $code.val($obj.attr('data-zipcode'));
+    $telCode.val($obj.attr('data-phoneCode'));
+    $tel.val($obj.attr('data-phoneNum'));
+}
+
+// 更新地址列表状态
+function refreshAddressStatus() {
+    $useNewAddress.removeClass('active');
+    $existAddressList.find('li:not(".active")').addClass('hide');
+    $existAddressList.find('li.active').addClass('address_select');
+    $addressManage.addClass('hide');
+    $saveBtn.addClass('hide').removeAttr('data-id'); //清除data-id
+    $existAddressList.removeClass('address-expand');
+    $('.address-list h2 span').text('[修改]');
+}
+
+//获取用户已经存在的地址列表
+exports.getUserAddressList = function() {
+
+    var addressData,
+        i,
+        addressStr = '',
+        isChecked = '',
+        isHide = '',
+        addressText = '',
+        hasDefault = 0;
+
+    $.ajax({
+        type: 'GET',
+        url: '/cart/index/getAddress',
+        dataType: 'json'
+    }).then(function(d) {
+
+        $loading.hide();
+
+        if (d.code === 200) {
+
+            addressData = d.data.list;
+
+            if (!addressData) {
+
+                // 新用户引导
+                if (!!$orderEditMain.attr('data-new')) {
+
+                    $saveBtn.addClass('new-user-btn').html('下一步:选择支付及送货时间');
+
+                    $('.pay-btn').addClass('new-user-pay').html('下一步:发票和备注');
+
+                    $('.switch-pay-modify').html('');
+
+                }
+
+                $addressList.find('>h2').find('span').click();
+
+                $('.exist-address-list li').click();
+
+                $('.use-new-address').removeClass('active');
+
+                return;
+
+            }
+
+            for (i = 0; i < addressData.length; i++) {
+
+                if (addressData[i].checked) {
+
+                    isChecked = 'checked';
+                    isHide = 'active address_select';
+                    hasDefault++;
+                    addressText = '默认地址';
+
+                } else {
+                    isChecked = '';
+                    isHide = 'hide';
+                    addressText = '设为默认地址';
+                }
+
+                addressStr +=
+                    '<li data-id="' + addressData[i].id + '" class="' + isHide +
+                    '" data-express="' + addressData[i].isSupport + '">' +
+                    '<input data-name="' + addressData[i].user +
+                    '" data-areaCode="' + addressData[i].areaCode +
+                    '" data-addressDesc="' + addressData[i].addressDesc +
+                    '" data-mobile="' + addressData[i].mobile +
+                    '" data-phoneNum="' + addressData[i].phoneNum +
+                    '" data-phoneCode="' + addressData[i].phoneCode +
+                    '" data-zipCode="' + addressData[i].zipCode +
+                    '" data-email="' + addressData[i].email +
+                    '" class="radio" type="radio" name="address" ' + isChecked + ' />' +
+                    '<label for="">' +
+                    '<strong>' + addressData[i].user + '</strong>' + addressData[i].address +
+                    '<a href="javascript:void(0);" class="default-address">' + addressText + '</a>' +
+                    '<div class="order-modify-btn">' +
+                    '<span class="address-modify">[修改]</span>' +
+                    '<span class="address-del">[删除]</span>' +
+                    '</div>' +
+                    '</label>' +
+                    '</li>';
+            }
+
+            $('.use-new-address').before($(addressStr));
+
+            //说明用户的地址列表没有默认地址
+            if (hasDefault === 0) {
+
+                //没有默认地址则把所有地址都显示出来
+                //$('.exist-address-list li:not(".use-new-address")').removeClass('hide');
+                $('.address-list h2 span').click();
+            }
+
+            if ($('.active.address_select').attr('data-express') === 'N') {
+                $('.express-list input[name="carriagegroup"][value="2"]').attr('disabled', 'disabled');
+                $('.express-list input[name="carriagegroup"][value="1"]').attr('checked', 'checked');
+                $('.express-list.sf').addClass('hide');
+                $('.is-sup').removeClass('hide');
+            } else {
+                $('.express-list input[name="carriagegroup"][value="2"]').removeAttr('disabled');
+                $('.express-list.sf').removeClass('hide');
+                $('.is-sup').addClass('hide');
+            }
+
+        }
+
+    });
+};
+
+/*
+ * 添加地址&修改地址
+ * id: 根据id获取省市区列表
+ * code: 根据code确定是否选中省市区
+ */
+exports.newAddress = function(id, code) {
+
+    var pId = id || 0; //如果没有传id则获取所有省列表
+
+    var addressCodeReg = /[0-9]{2}/gi;
+
+    var codeId = !!code && code.match(addressCodeReg);
+
+    //获取省
+    getAddress({
+        id: pId,
+        type: 'getProvince',
+        selectId: codeId[0]
+    }, function() {
+
+        var provinceId = $province.val();
+
+        if (provinceId !== '0') {
+
+            //如果获取的省有默认选中项则获取市
+            getAddress({
+                id: provinceId,
+                type: 'getCity',
+                selectId: '' + codeId[0] + codeId[1]
+            }, function() {
+
+                var cityId = $city.val();
+
+                //如果获取的市有默认选中项则获取县
+                if (cityId !== '0') {
+                    getAddress({
+                        id: cityId,
+                        type: 'getCounty',
+                        selectId: code
+                    });
+                }
+            });
+        } else {
+            $addressManage.find('select[name="city"]').html('<option value="0">请选择城市</option>');
+            $addressManage.find('select[name="county"]').html('<option value="0">请选择区县</option>');
+        }
+    });
+
+    // 发生change事件时获取下一级地址
+    $selectList.change(function() {
+
+        var $this = $(this);
+
+        if ($this.attr('name') === 'province') {
+
+            if ($this.val() === '0') {
+                $addressManage.find('select[name="city"]').html('<option value="0">请选择城市</option>');
+                $addressManage.find('select[name="county"]').html('<option value="0">请选择区县</option>');
+            } else {
+                getAddress({
+                    id: $this.val(),
+                    type: 'getCity'
+                }, function() {
+                    isProvinceChecked = true;
+                });
+                $addressManage.find('select[name="county"]').html('<option value="0">请选择区县</option>');
+            }
+        }
+
+        if ($this.attr('name') === 'city' && isProvinceChecked) {
+
+            if ($this.val() === '0') {
+                $addressManage.find('select[name="county"]').html('<option value="0">请选择区县</option>');
+            } else {
+                getAddress({
+                    id: $this.val(),
+                    type: 'getCounty'
+                });
+            }
+        }
+    });
+};
+
+//修改地址
+exports.modifyAddress = function() {
+
+    $addressList.click(function(event) {
+
+        var $this = $(event.target),
+            id = $this.closest('li').attr('data-id'),
+            areaCode = $this.closest('li').find('.radio').attr('data-areaCode');
+
+        if ($this.hasClass('address-modify')) {
+            $addressManage.removeClass('hide');
+            exports.newAddress(0, areaCode);
+            getUserInfo($this.closest('li').find('.radio'));
+            $('.address-list-inner .save-btn').removeClass('hide');
+            $saveBtn.attr('data-id', id);
+            isProvinceChecked = true;
+        } else if ($this.hasClass('address-del')) {
+
+            $loading.show();
+
+            $.ajax({
+                type: 'POST',
+                url: '/cart/index/delAddress',
+                data: {
+                    id: id
+                }
+            }).then(function(d) {
+
+                $loading.hide();
+
+                if (d.code === 200) {
+
+                    $this.closest('li').remove();
+                } else {
+                    new dialog.Alert(d.message).show();
+                }
+            }).fail(function() {
+
+                //todo
+            });
+        } else if ($this.hasClass('default-address') && !$this.parents('li').hasClass('address_select')) {
+
+            $loading.show();
+
+            // 设为默认地址
+            $.ajax({
+                type: 'post',
+                url: '/cart/index/setDefaultAddress',
+                data: {
+                    id: id
+                }
+            }).then(function(d) {
+
+                $loading.hide();
+
+                if (d.code === 200) {
+
+                    $('.exist-address-list li').removeClass('address_select')
+                        .find('.default-address').text('设为默认地址');
+                    $this.parents('li').addClass('address_select');
+                    $this.text('默认地址');
+
+                } else {
+                    new dialog.Alert(d.message).show();
+                }
+            });
+        }
+    });
+};
+
+// 保存地址并送到这个地址
+exports.saveAddress = function() {
+    $saveBtn.click(function() {
+
+        var $this = $(this);
+
+        var name = $name.val(),
+            province = $province.val(),
+            city = $city.val(),
+            county = $county.val(),
+            address = $address.val(),
+            phone = $phone.val(),
+            telCode = $telCode.val(),
+            tel = $tel.val(),
+            mail = $mail.val(),
+            code = $code.val();
+
+        var provinceText = $province.find('option[value="' + province + '"]').text().replace(/\*/, ''),
+            cityText = $city.find('option[value="' + city + '"]').text().replace(/\*/, ''),
+            countyText = $county.find('option[value="' + county + '"]').text().replace(/\*/, '');
+
+
+        var postData = {
+            consignee: name,
+            areaCode: county,
+            address: address,
+            email: mail,
+            mobile: phone,
+            zipCode: code,
+            phoneCode: telCode,
+            phoneNum: tel
+        };
+
+        var addressStr;
+        var $modifyLi;
+        var hasCheckedAddress;
+
+        var nameReg = /^[\u4e00-\u9fa5]{2,5}$/;
+        var addressReg = /^[\s\S]{2,100}$/;
+        var phoneReg = /^(13[0-9]|15[012356789]|17[678]|18[0-9]|14[57])[0-9]{8}$/;
+        var codeReg = /^[0-9]{6}$/;
+        var emailReg = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
+        var telCodeReg = /^[0-9]{3,5}$/;
+        var telReg = /^[0-9]{5,10}$/;
+
+
+        function hasText(val) {
+
+            if (val === telCode) {
+
+                if (!!val) {
+                    return val + '-';
+                } else {
+                    return ' ';
+                }
+
+            } else {
+                if (!!val) {
+                    return val + ' ';
+                } else {
+                    return ' ';
+                }
+            }
+        }
+
+        hasCheckedAddress = $('.exist-address-list li:not(".use-new-address")')
+            .find('input[name="address"]:checked').length > 0;
+
+        // 说明是送货到这个地址
+        if (!$('.add-address').attr('checked') && hasCheckedAddress && !$('.save-btn').attr('data-id')) {
+
+            $('.exist-address-list li').removeClass('address_select');
+            $('.exist-address-list li.active').addClass('address_select')
+                .find('input[name="address"]').attr('checked', 'checked');
+
+            $('.address-list span').removeAttr('expand');
+
+            refreshAddressStatus();
+
+        }
+
+        //if (!!$('.add-address').attr('checked')) {
+        if (!$('.address-manage').hasClass('hide')) {
+
+            if (!nameReg.test(name)) {
+                new dialog.Alert('真实姓名至少2个中文,最多5个中文').show();
+                return;
+            }
+            if (!addressReg.test(address)) {
+                new dialog.Alert('你输入的地址格式不正确').show();
+                return;
+            }
+            if (!phoneReg.test(phone)) {
+                new dialog.Alert('你输入的联系电话格式不正确').show();
+                return;
+            }
+
+            if ((!!telCode && !telCodeReg.test(telCode)) || (!!tel && !telReg.test(tel)) ||
+                (telCodeReg.test(telCode) && !telReg.test(tel)) ||
+                (!telCodeReg.test(telCode) && telReg.test(tel))) {
+                new dialog.Alert('你输入的电话格式不正确').show();
+                return;
+            }
+
+            if (!!mail && !emailReg.test(mail)) {
+                new dialog.Alert('你输入的邮箱格式不正确').show();
+                return;
+            }
+
+            if (!!code && !codeReg.test(code)) {
+                new dialog.Alert('你输入的邮编格式不正确').show();
+                return;
+            }
+
+            // 如果存在data-id说明是修改,否则是新增
+            if (!!$saveBtn.attr('data-id')) {
+                postData.id = $saveBtn.attr('data-id');
+            }
+
+            $.ajax({
+                type: 'post',
+                url: '/cart/index/saveAddress',
+                data: postData
+            }).then(function(d) {
+
+                var addressData;
+
+                if (d.code === 200) {
+
+                    addressData = d.data;
+
+                    if (addressData.is_support === 'Y') {
+                        $('.express-list input[name="carriagegroup"][value="2"]').removeAttr('disabled');
+                        $('.express-list.sf').removeClass('hide');
+                        $('.is-sup').addClass('hide');
+
+                    } else {
+
+                        $('.express-list input[name="carriagegroup"][value="2"]').attr('disabled', 'disabled');
+                        $('.express-list input[name="carriagegroup"][value="1"]').attr('checked', 'checked');
+                        $('.express-list.sf').addClass('hide');
+                        $('.is-sup').removeClass('hide');
+                    }
+
+                    if (!!postData.id) {
+
+                        // 修改操作接口没有返回id
+                        addressStr = '<li class="active" data-id="' + postData.id +
+                        '" data-express="' + addressData.is_support + '">' +
+                        '<input data-name="' + postData.consignee +
+                        '" data-areaCode="' + postData.areaCode +
+                        '" data-addressDesc="' + postData.address +
+                        '" data-mobile="' + postData.mobile +
+                        '" data-phoneNum="' + postData.phoneNum +
+                        '" data-phoneCode="' + postData.phoneCode +
+                        '" data-zipCode="' + postData.zipCode +
+                        '" data-email="' + postData.email +
+                        '" checked="checked" class="radio" type="radio" name="address" />' +
+                        '<label>' +
+                        '<strong>' + name + '</strong>' +
+                        '<span>' + provinceText + ' ' + cityText + ' ' + countyText + ' ' + address +
+                        ' ' + hasText(code) + setPhoneStar(phone) + hasText(telCode) + hasText(tel) + '</span>' +
+                        '<a href="javascript:void(0);" class="default-address">设为默认地址</a>' +
+                        '<div class="order-modify-btn">' +
+                        '<span class="address-modify">[修改]</span>' +
+                        '<span class="address-del">[删除]</span>' +
+                        '</div>' +
+                        '</label>' +
+                        '</li>';
+                    } else {
+
+                        //添加操作接口有返回id
+                        addressStr = '<li class="active" data-id="' + addressData.id +
+                        '" data-express="' + addressData.is_support + '">' +
+                        '<input data-name="' + addressData.consignee +
+                        '" data-areaCode="' + addressData.area_code +
+                        '" data-addressDesc="' + addressData.address +
+                        '" data-mobile="' + addressData.mobile +
+                        '" data-phoneNum="' + postData.phoneNum +
+                        '" data-phoneCode="' + postData.phoneCode +
+                        '" data-zipCode="' + addressData.zip_code +
+                        '" data-email="' + addressData.email +
+                        '" checked="checked" class="radio" type="radio" name="address" />' +
+                        '<label>' +
+                        '<strong>' + name + '</strong>' +
+                        '<span>' + provinceText + ' ' + cityText + ' ' + countyText + ' ' + address +
+                        ' ' + hasText(code) + setPhoneStar(phone) + hasText(telCode) + hasText(tel) + '</span>' +
+                        '<a href="javascript:void(0);" class="default-address">设为默认地址</a>' +
+                        '<div class="order-modify-btn">' +
+                        '<span class="address-modify">[修改]</span>' +
+                        '<span class="address-del">[删除]</span>' +
+                        '</div>' +
+                        '</label>' +
+                        '</li>';
+                    }
+
+
+
+                    // 如果dataID存在说明是修改操作
+                    if (!!$this.attr('data-id')) {
+
+                        $modifyLi = $('.exist-address-list li[data-id="' + $this.attr('data-id') + '"]');
+
+                        $modifyLi.after($(addressStr)).remove();
+                    } else {
+                        $('.use-new-address').before($(addressStr));
+                    }
+
+                    $('.address-list span').removeAttr('expand');
+
+                    refreshAddressStatus();
+                } else {
+                    new dialog.Alert(d.message).show();
+                }
+            });
+        }
+
+        if ($('.exist-address-list li').find('input[name="address"]:checked').length === 0) {
+            new dialog.Alert('请选择一个地址').show();
+            return;
+        } else {
+
+            if ($('.exist-address-list li').find('input[name="address"]:checked')
+                    .closest('li').attr('data-express') === 'N') {
+                $('.express-list input[name="carriagegroup"][value="2"]').attr('disabled', 'disabled');
+                $('.express-list input[name="carriagegroup"][value="1"]').attr('checked', 'checked');
+                $('.express-list.sf').addClass('hide');
+                $('.is-sup').removeClass('hide');
+            } else {
+                $('.express-list input[name="carriagegroup"][value="2"]').removeAttr('disabled');
+                $('.express-list.sf').removeClass('hide');
+                $('.is-sup').addClass('hide');
+            }
+        }
+
+
+        // 说明需要新用户引导,展开支付及送货时间
+        if ($this.hasClass('new-user-btn')) {
+
+            $('.switch-pay-modify').click();
+        }
+
+    });
+};
+
+
+
+// 支付及送货时间选择
+$('.pay-time-modify .pay-btn').click(function() {
+
+    var $this = $(this);
+
+    var $payInfoBox = $('.modity-pay-info'),
+        $payTime = $('.pay-time-modify'),
+        payTypeVal = $payTime.find('input[name="pay-type"]:checked').val(),
+        payTypeText = $payTime.find('input[name="pay-type"]:checked').next('label').text(),
+        payTimeText = $payTime.find('input[name="pay-time-radio"]:checked').next('label').text(),
+        payTimeVal = $payTime.find('input[name="pay-time-radio"]:checked').val(),
+        isCall = $payTime.find('input[name="call-me"]:checked').next('label').text(),
+        callMeVal = $payTime.find('input[name="call-me"]:checked').val();
+
+
+    $loading.show();
+
+    $.ajax({
+        type: 'POST',
+        url: '/cart/index/orderCompute',
+        dataType: 'json',
+        data: {
+            cartType: cartType,
+            paymentType: payTypeVal
+        }
+    }).then(function(d) {
+
+        $loading.hide();
+
+        if (d.code === 200) {
+
+            $payInfoBox.find('li').eq(0).find('span').text(payTypeText);
+            $payInfoBox.find('li').eq(1).find('span').text(payTimeText);
+            $payInfoBox.find('li').eq(2).find('span').text(isCall);
+
+            $('.pay-time-modify').addClass('hide')
+                .find('input[name="pay-type"][value=' + payTypeVal + ']').addClass('checked')
+                .end().find('input[name="pay-time-radio"][value=' + payTimeVal + ']').addClass('checked')
+                .end().find('input[name="call-me"][value=' + callMeVal + ']').addClass('checked');
+
+            $('.modity-pay-info').removeClass('hide');
+
+            $('.switch-pay-modify').text('[修改]');
+
+            if ($this.hasClass('new-user-pay')) {
+
+                $('.play-piao-pan dd').css({
+
+                    display: 'block'
+                });
+                $('.play-piao-pan dt').addClass('active');
+            }
+
+        } else {
+            new dialog.Alert(d.message).show();
+        }
+    });
+});
+
+function getYohoBiList() {
+
+    var $juanUl = $('.play-juan ul'),
+        juanStr = '',
+        dLen,
+        data,
+        i;
+
+    $.ajax({
+        type: 'GET',
+        dataType: 'json',
+        url: '/cart/index/getCouponList'
+    }).then(function(d) {
+
+        if (d.code === 200) {
+            data = d.data;
+            dLen = data.length;
+
+            for (i = 0; i < dLen; i++) {
+                juanStr += '<li>' +
+                '<input name="juangroup" type="radio" value="' +
+                data[i].code + '" ' + (data[i].valid ? '' : 'disabled="disabled"') + '>' +
+                '<label>' + data[i].desc + '</label>' +
+                '</li>';
+            }
+
+            $juanUl.prepend($(juanStr));
+
+        }
+    });
+}
+getYohoBiList();
+
+// 把Y、N转换成bool
+
+function ytoTrue(val) {
+
+    if (val === 'N') {
+        return false;
+    } else {
+        return true;
+    }
+}
+
+
+// 去支付
+$('.to-play input.submit').click(function() {
+
+    var $this = $(this);
+
+    var addressId = $('.exist-address-list input[name="address"]:checked').closest('li').attr('data-id'),
+        deliveryTimeId = $('.pay-time-modify input[name="pay-time-radio"]:checked').val(),
+        deliveryWayId = $('.select-express input[name="carriagegroup"]:checked').val(),
+        invoiceTitle = $('#piaodesc').val(),
+        invoiceId = $('#piaotype').val(),
+        paymentType = $('.pay-time-modify input[name="pay-type"]:checked').val(),
+        paymentId = $('.pay-time-modify input[name="pay-type"]:checked').data('pay'),
+        remark = $('#notedesc').val(),
+        yohoCoin = $('#biprice').val(),
+        isPreContact = $('.pay-time-modify input[name="call-me"]:checked').val(),
+        isPrintPrice = $('.play-pan input[name="isPP"]:checked').val(),
+        redEnvelopes = $('.use-envelopes input:checked').attr('data-use'),
+        $juangroupInput = $('.play-juan.is-select input[name="juangroup"]:checked'),
+        codeVal = $juangroupInput.val(),
+        juanCode = !!codeVal ? codeVal : $juangroupInput.closest('li').find('#juancode').val();
+
+    $loading.show();
+
+    if (!!$this.attr('disabled')) {
+        return;
+    }
+
+    $this.attr('disabled', 'disabled');
+
+    $.ajax({
+        type: 'POST',
+        dataType: 'json',
+        url: '/cart/index/orderSub',
+        data: {
+            addressId: addressId,
+            cartType: cartType,
+            deliveryTimeId: deliveryTimeId,
+            deliveryWayId: deliveryWayId,
+            invoiceTitle: invoiceTitle,
+            invoiceId: invoiceId,
+            paymentId: paymentId,
+            paymentType: paymentType,
+            remark: remark,
+            couponCode: juanCode,
+            yohoCoin: yohoCoin,
+            isPreContact: ytoTrue(isPreContact),
+            isPrintPrice: ytoTrue(isPrintPrice),
+            redEnvelopes: redEnvelopes
+        }
+    }).then(function(d) {
+
+        $loading.hide();
+
+        if (d.code === 200) {
+            window.location.href = d.data.payUrl;
+        } else {
+            new dialog.Alert(d.message).show();
+        }
+    }).always(function() {
+        $this.removeAttr('disabled');
+    });
+});
+
+});
+define("js/shopping/pay", ["jquery"], function(require, exports, module){
+/**
+ * 支付页面
+ */
+
+//切换选项卡
+var $ = require("jquery"),
+    $choseTag = $('.mode div'),
+    $mode = $('.mode'),
+    $showPayImg = $('#show-pay-img'),
+    $btnty = $('#btnby'),
+    $lightBox = $('.light-box'),
+    $choosePay = $('#choosePay').val(),
+    $chooseMoid = $('.mode div[id="' + $choosePay + '"]').parent().data('value'),
+    $showValue = $choosePay ? $chooseMoid : $('.mode').eq(0).data('value'),
+    $payUrl = $('#payUrl').val(),
+    $modeData,
+    activeTab,
+    imgAlt,
+    imgSrc,
+    orderCode,
+    payment;
+
+$.jqtab = function(tabtit, tabcon) {
+
+    $(tabtit + ' li').click(function() {
+        activeTab = $(this).find('a').attr('tab');
+
+        $(tabtit + ' li').removeClass('thistab');
+        $(this).addClass('thistab');
+        $(tabcon).hide();
+        $('#' + activeTab).fadeIn();
+        return false;
+    });
+};
+
+
+$.jqtab('#tabs', '.tab-con');
+
+//选项卡点击
+function choosed() {
+    if ($choosePay) {
+        $('.mode div[id="' + $choosePay + '"]').addClass('choosed-tag').parent().addClass('choose-type');
+    } else {
+        $mode.eq(0).addClass('choose-type').show();
+        $mode.eq(0).find('div').addClass('choosed-tag');
+    }
+    $btnty.attr('value', '前往' + $('#' + $chooseMoid).attr('alt'));
+    $showPayImg.attr('src', $('#' + $chooseMoid).attr('src'));
+}
+
+choosed();
+
+$mode.click(function() {
+    $modeData = $(this).data();
+    $showValue = $modeData.value;
+    imgAlt = $('#' + $showValue).attr('alt');
+    imgSrc = $('#' + $showValue).attr('src');
+
+    $mode.removeClass('choose-type');
+    $(this).addClass('choose-type');
+    $choseTag.removeClass('choosed-tag');
+    $(this).find('.borer-tag').addClass('choosed-tag');
+    $btnty.attr('value', '前往' + imgAlt);
+    $showPayImg.attr('src', imgSrc);
+    return false;
+});
+
+
+$('.close').click(function() {
+    $lightBox.hide();
+});
+
+$('.change').click(function() {
+    $lightBox.hide();
+});
+
+//支付方式选择按钮
+function getData(payment, orderCode) {
+    $.ajax({
+        type: 'get',
+        url: '/common/addpaymentinterval',
+        dataType: 'json',
+        data: {
+            orderCode: orderCode,
+            payment: payment
+        }
+    });
+}
+
+$('#btnby').click(function() {
+    payment = $('.choose-type').attr('data-id');
+    orderCode = $('.order-num').text();
+    getData(payment, orderCode);
+    window.open($payUrl + '?order_code=' + orderCode + '&payment_type=' + $showValue);
+    $lightBox.show();
+});
+
+//发送支付确认
+$('.pay-over').unbind('click').bind('click', function() {
+    var _this = this;
+
+    $.post('/shopping/pay/sendPay',
+        {
+            orderCode: orderCode,
+            paymentId: payment
+        },
+        function() {
+            window.location.href = $(_this).data('url');
+        }
+    );
+});
+});
+define("js/pay/wechatqrcode", ["jquery"], function(require, exports, module){
+/**
+ * 微信支付页面
+ */
+
+var $ = require("jquery"),
+    $wOdetail = $('.w-odetail'),
+    $payHost = $('#payHost').val(),
+    $paySuccessUrl = $('#paySuccessUrl').val(),
+    $wPerm = $('.w-p-erm');
+
+require("plugin/jquery.qrcode");
+
+$wOdetail.click(function() {
+    $('.w-addrinfo').slideToggle('slow');
+
+    if ($wOdetail.find('i').hasClass('up')) {
+        $wOdetail.html('收起详情<i class="down"></i>');
+    } else {
+        $wOdetail.html('订单详情<i class="up"></i>');
+    }
+});
+
+$wPerm.qrcode({
+    render: 'table',
+    text: $wPerm.data('url')
+});
+
+function checkPayStatus() {
+    $.ajax({
+        url: $payHost,
+        dataType: 'jsonp',
+        success: function(data) {
+            if (data.message === 'success') {
+                window.location.href = $paySuccessUrl;
+            }
+        }
+    });
+}
+
+
+setInterval(checkPayStatus, 3000);
+});
+define("plugin/jquery.qrcode", ["jquery"], function(require, exports, module){
+/* jscs: disable */
+/* jshint ignore:start */
+var jQuery = require("jquery");
+
+(function(r) {
+    r.fn.qrcode = function(h) {
+        var s;
+
+        function u(a) {
+            this.mode = s;
+            this.data = a
+        }
+
+        function o(a, c) {
+            this.typeNumber = a;
+            this.errorCorrectLevel = c;
+            this.modules = null;
+            this.moduleCount = 0;
+            this.dataCache = null;
+            this.dataList = []
+        }
+
+        function q(a, c) {
+            if (void 0 == a.length) throw Error(a.length + "/" + c);
+            for (var d = 0; d < a.length && 0 == a[d];) d++;
+            this.num = Array(a.length - d + c);
+            for (var b = 0; b < a.length - d; b++) this.num[b] = a[b + d]
+        }
+
+        function p(a, c) {
+            this.totalCount = a;
+            this.dataCount = c
+        }
+
+        function t() {
+            this.buffer = [];
+            this.length = 0
+        }
+        u.prototype = {
+            getLength: function() {
+                return this.data.length
+            },
+            write: function(a) {
+                for (var c = 0; c < this.data.length; c++) a.put(this.data.charCodeAt(c), 8)
+            }
+        };
+        o.prototype = {
+            addData: function(a) {
+                this.dataList.push(new u(a));
+                this.dataCache = null
+            },
+            isDark: function(a, c) {
+                if (0 > a || this.moduleCount <= a || 0 > c || this.moduleCount <= c) throw Error(a + "," + c);
+                return this.modules[a][c]
+            },
+            getModuleCount: function() {
+                return this.moduleCount
+            },
+            make: function() {
+                if (1 > this.typeNumber) {
+                    for (var a = 1, a = 1; 40 > a; a++) {
+                        for (var c = p.getRSBlocks(a, this.errorCorrectLevel), d = new t, b = 0, e = 0; e < c.length; e++) b += c[e].dataCount;
+                        for (e = 0; e < this.dataList.length; e++) c = this.dataList[e], d.put(c.mode, 4), d.put(c.getLength(), j.getLengthInBits(c.mode, a)), c.write(d);
+                        if (d.getLengthInBits() <= 8 * b) break
+                    }
+                    this.typeNumber = a
+                }
+                this.makeImpl(!1, this.getBestMaskPattern())
+            },
+            makeImpl: function(a, c) {
+                this.moduleCount = 4 * this.typeNumber + 17;
+                this.modules = Array(this.moduleCount);
+                for (var d = 0; d < this.moduleCount; d++) {
+                    this.modules[d] = Array(this.moduleCount);
+                    for (var b = 0; b < this.moduleCount; b++) this.modules[d][b] = null
+                }
+                this.setupPositionProbePattern(0, 0);
+                this.setupPositionProbePattern(this.moduleCount -
+                    7, 0);
+                this.setupPositionProbePattern(0, this.moduleCount - 7);
+                this.setupPositionAdjustPattern();
+                this.setupTimingPattern();
+                this.setupTypeInfo(a, c);
+                7 <= this.typeNumber && this.setupTypeNumber(a);
+                null == this.dataCache && (this.dataCache = o.createData(this.typeNumber, this.errorCorrectLevel, this.dataList));
+                this.mapData(this.dataCache, c)
+            },
+            setupPositionProbePattern: function(a, c) {
+                for (var d = -1; 7 >= d; d++)
+                    if (!(-1 >= a + d || this.moduleCount <= a + d))
+                        for (var b = -1; 7 >= b; b++) - 1 >= c + b || this.moduleCount <= c + b || (this.modules[a + d][c + b] =
+                            0 <= d && 6 >= d && (0 == b || 6 == b) || 0 <= b && 6 >= b && (0 == d || 6 == d) || 2 <= d && 4 >= d && 2 <= b && 4 >= b ? !0 : !1)
+            },
+            getBestMaskPattern: function() {
+                for (var a = 0, c = 0, d = 0; 8 > d; d++) {
+                    this.makeImpl(!0, d);
+                    var b = j.getLostPoint(this);
+                    if (0 == d || a > b) a = b, c = d
+                }
+                return c
+            },
+            createMovieClip: function(a, c, d) {
+                a = a.createEmptyMovieClip(c, d);
+                this.make();
+                for (c = 0; c < this.modules.length; c++)
+                    for (var d = 1 * c, b = 0; b < this.modules[c].length; b++) {
+                        var e = 1 * b;
+                        this.modules[c][b] && (a.beginFill(0, 100), a.moveTo(e, d), a.lineTo(e + 1, d), a.lineTo(e + 1, d + 1), a.lineTo(e, d + 1), a.endFill())
+                    }
+                return a
+            },
+            setupTimingPattern: function() {
+                for (var a = 8; a < this.moduleCount - 8; a++) null == this.modules[a][6] && (this.modules[a][6] = 0 == a % 2);
+                for (a = 8; a < this.moduleCount - 8; a++) null == this.modules[6][a] && (this.modules[6][a] = 0 == a % 2)
+            },
+            setupPositionAdjustPattern: function() {
+                for (var a = j.getPatternPosition(this.typeNumber), c = 0; c < a.length; c++)
+                    for (var d = 0; d < a.length; d++) {
+                        var b = a[c],
+                            e = a[d];
+                        if (null == this.modules[b][e])
+                            for (var f = -2; 2 >= f; f++)
+                                for (var i = -2; 2 >= i; i++) this.modules[b + f][e + i] = -2 == f || 2 == f || -2 == i || 2 == i || 0 == f && 0 == i ? !0 : !1
+                    }
+            },
+            setupTypeNumber: function(a) {
+                for (var c =
+                        j.getBCHTypeNumber(this.typeNumber), d = 0; 18 > d; d++) {
+                    var b = !a && 1 == (c >> d & 1);
+                    this.modules[Math.floor(d / 3)][d % 3 + this.moduleCount - 8 - 3] = b
+                }
+                for (d = 0; 18 > d; d++) b = !a && 1 == (c >> d & 1), this.modules[d % 3 + this.moduleCount - 8 - 3][Math.floor(d / 3)] = b
+            },
+            setupTypeInfo: function(a, c) {
+                for (var d = j.getBCHTypeInfo(this.errorCorrectLevel << 3 | c), b = 0; 15 > b; b++) {
+                    var e = !a && 1 == (d >> b & 1);
+                    6 > b ? this.modules[b][8] = e : 8 > b ? this.modules[b + 1][8] = e : this.modules[this.moduleCount - 15 + b][8] = e
+                }
+                for (b = 0; 15 > b; b++) e = !a && 1 == (d >> b & 1), 8 > b ? this.modules[8][this.moduleCount -
+                    b - 1
+                ] = e : 9 > b ? this.modules[8][15 - b - 1 + 1] = e : this.modules[8][15 - b - 1] = e;
+                this.modules[this.moduleCount - 8][8] = !a
+            },
+            mapData: function(a, c) {
+                for (var d = -1, b = this.moduleCount - 1, e = 7, f = 0, i = this.moduleCount - 1; 0 < i; i -= 2)
+                    for (6 == i && i--;;) {
+                        for (var g = 0; 2 > g; g++)
+                            if (null == this.modules[b][i - g]) {
+                                var n = !1;
+                                f < a.length && (n = 1 == (a[f] >>> e & 1));
+                                j.getMask(c, b, i - g) && (n = !n);
+                                this.modules[b][i - g] = n;
+                                e--; - 1 == e && (f++, e = 7)
+                            }
+                        b += d;
+                        if (0 > b || this.moduleCount <= b) {
+                            b -= d;
+                            d = -d;
+                            break
+                        }
+                    }
+            }
+        };
+        o.PAD0 = 236;
+        o.PAD1 = 17;
+        o.createData = function(a, c, d) {
+            for (var c = p.getRSBlocks(a,
+                    c), b = new t, e = 0; e < d.length; e++) {
+                var f = d[e];
+                b.put(f.mode, 4);
+                b.put(f.getLength(), j.getLengthInBits(f.mode, a));
+                f.write(b)
+            }
+            for (e = a = 0; e < c.length; e++) a += c[e].dataCount;
+            if (b.getLengthInBits() > 8 * a) throw Error("code length overflow. (" + b.getLengthInBits() + ">" + 8 * a + ")");
+            for (b.getLengthInBits() + 4 <= 8 * a && b.put(0, 4); 0 != b.getLengthInBits() % 8;) b.putBit(!1);
+            for (; !(b.getLengthInBits() >= 8 * a);) {
+                b.put(o.PAD0, 8);
+                if (b.getLengthInBits() >= 8 * a) break;
+                b.put(o.PAD1, 8)
+            }
+            return o.createBytes(b, c)
+        };
+        o.createBytes = function(a, c) {
+            for (var d =
+                    0, b = 0, e = 0, f = Array(c.length), i = Array(c.length), g = 0; g < c.length; g++) {
+                var n = c[g].dataCount,
+                    h = c[g].totalCount - n,
+                    b = Math.max(b, n),
+                    e = Math.max(e, h);
+                f[g] = Array(n);
+                for (var k = 0; k < f[g].length; k++) f[g][k] = 255 & a.buffer[k + d];
+                d += n;
+                k = j.getErrorCorrectPolynomial(h);
+                n = (new q(f[g], k.getLength() - 1)).mod(k);
+                i[g] = Array(k.getLength() - 1);
+                for (k = 0; k < i[g].length; k++) h = k + n.getLength() - i[g].length, i[g][k] = 0 <= h ? n.get(h) : 0
+            }
+            for (k = g = 0; k < c.length; k++) g += c[k].totalCount;
+            d = Array(g);
+            for (k = n = 0; k < b; k++)
+                for (g = 0; g < c.length; g++) k < f[g].length &&
+                    (d[n++] = f[g][k]);
+            for (k = 0; k < e; k++)
+                for (g = 0; g < c.length; g++) k < i[g].length && (d[n++] = i[g][k]);
+            return d
+        };
+        s = 4;
+        for (var j = {
+                PATTERN_POSITION_TABLE: [
+                    [],
+                    [6, 18],
+                    [6, 22],
+                    [6, 26],
+                    [6, 30],
+                    [6, 34],
+                    [6, 22, 38],
+                    [6, 24, 42],
+                    [6, 26, 46],
+                    [6, 28, 50],
+                    [6, 30, 54],
+                    [6, 32, 58],
+                    [6, 34, 62],
+                    [6, 26, 46, 66],
+                    [6, 26, 48, 70],
+                    [6, 26, 50, 74],
+                    [6, 30, 54, 78],
+                    [6, 30, 56, 82],
+                    [6, 30, 58, 86],
+                    [6, 34, 62, 90],
+                    [6, 28, 50, 72, 94],
+                    [6, 26, 50, 74, 98],
+                    [6, 30, 54, 78, 102],
+                    [6, 28, 54, 80, 106],
+                    [6, 32, 58, 84, 110],
+                    [6, 30, 58, 86, 114],
+                    [6, 34, 62, 90, 118],
+                    [6, 26, 50, 74, 98, 122],
+                    [6, 30, 54, 78, 102, 126],
+                    [6, 26, 52,
+                        78, 104, 130
+                    ],
+                    [6, 30, 56, 82, 108, 134],
+                    [6, 34, 60, 86, 112, 138],
+                    [6, 30, 58, 86, 114, 142],
+                    [6, 34, 62, 90, 118, 146],
+                    [6, 30, 54, 78, 102, 126, 150],
+                    [6, 24, 50, 76, 102, 128, 154],
+                    [6, 28, 54, 80, 106, 132, 158],
+                    [6, 32, 58, 84, 110, 136, 162],
+                    [6, 26, 54, 82, 110, 138, 166],
+                    [6, 30, 58, 86, 114, 142, 170]
+                ],
+                G15: 1335,
+                G18: 7973,
+                G15_MASK: 21522,
+                getBCHTypeInfo: function(a) {
+                    for (var c = a << 10; 0 <= j.getBCHDigit(c) - j.getBCHDigit(j.G15);) c ^= j.G15 << j.getBCHDigit(c) - j.getBCHDigit(j.G15);
+                    return (a << 10 | c) ^ j.G15_MASK
+                },
+                getBCHTypeNumber: function(a) {
+                    for (var c = a << 12; 0 <= j.getBCHDigit(c) -
+                        j.getBCHDigit(j.G18);) c ^= j.G18 << j.getBCHDigit(c) - j.getBCHDigit(j.G18);
+                    return a << 12 | c
+                },
+                getBCHDigit: function(a) {
+                    for (var c = 0; 0 != a;) c++, a >>>= 1;
+                    return c
+                },
+                getPatternPosition: function(a) {
+                    return j.PATTERN_POSITION_TABLE[a - 1]
+                },
+                getMask: function(a, c, d) {
+                    switch (a) {
+                        case 0:
+                            return 0 == (c + d) % 2;
+                        case 1:
+                            return 0 == c % 2;
+                        case 2:
+                            return 0 == d % 3;
+                        case 3:
+                            return 0 == (c + d) % 3;
+                        case 4:
+                            return 0 == (Math.floor(c / 2) + Math.floor(d / 3)) % 2;
+                        case 5:
+                            return 0 == c * d % 2 + c * d % 3;
+                        case 6:
+                            return 0 == (c * d % 2 + c * d % 3) % 2;
+                        case 7:
+                            return 0 == (c * d % 3 + (c + d) % 2) % 2;
+                        default:
+                            throw Error("bad maskPattern:" +
+                                a);
+                    }
+                },
+                getErrorCorrectPolynomial: function(a) {
+                    for (var c = new q([1], 0), d = 0; d < a; d++) c = c.multiply(new q([1, l.gexp(d)], 0));
+                    return c
+                },
+                getLengthInBits: function(a, c) {
+                    if (1 <= c && 10 > c) switch (a) {
+                        case 1:
+                            return 10;
+                        case 2:
+                            return 9;
+                        case s:
+                            return 8;
+                        case 8:
+                            return 8;
+                        default:
+                            throw Error("mode:" + a);
+                    } else if (27 > c) switch (a) {
+                        case 1:
+                            return 12;
+                        case 2:
+                            return 11;
+                        case s:
+                            return 16;
+                        case 8:
+                            return 10;
+                        default:
+                            throw Error("mode:" + a);
+                    } else if (41 > c) switch (a) {
+                        case 1:
+                            return 14;
+                        case 2:
+                            return 13;
+                        case s:
+                            return 16;
+                        case 8:
+                            return 12;
+                        default:
+                            throw Error("mode:" +
+                                a);
+                    } else throw Error("type:" + c);
+                },
+                getLostPoint: function(a) {
+                    for (var c = a.getModuleCount(), d = 0, b = 0; b < c; b++)
+                        for (var e = 0; e < c; e++) {
+                            for (var f = 0, i = a.isDark(b, e), g = -1; 1 >= g; g++)
+                                if (!(0 > b + g || c <= b + g))
+                                    for (var h = -1; 1 >= h; h++) 0 > e + h || c <= e + h || 0 == g && 0 == h || i == a.isDark(b + g, e + h) && f++;
+                            5 < f && (d += 3 + f - 5)
+                        }
+                    for (b = 0; b < c - 1; b++)
+                        for (e = 0; e < c - 1; e++)
+                            if (f = 0, a.isDark(b, e) && f++, a.isDark(b + 1, e) && f++, a.isDark(b, e + 1) && f++, a.isDark(b + 1, e + 1) && f++, 0 == f || 4 == f) d += 3;
+                    for (b = 0; b < c; b++)
+                        for (e = 0; e < c - 6; e++) a.isDark(b, e) && !a.isDark(b, e + 1) && a.isDark(b, e +
+                            2) && a.isDark(b, e + 3) && a.isDark(b, e + 4) && !a.isDark(b, e + 5) && a.isDark(b, e + 6) && (d += 40);
+                    for (e = 0; e < c; e++)
+                        for (b = 0; b < c - 6; b++) a.isDark(b, e) && !a.isDark(b + 1, e) && a.isDark(b + 2, e) && a.isDark(b + 3, e) && a.isDark(b + 4, e) && !a.isDark(b + 5, e) && a.isDark(b + 6, e) && (d += 40);
+                    for (e = f = 0; e < c; e++)
+                        for (b = 0; b < c; b++) a.isDark(b, e) && f++;
+                    a = Math.abs(100 * f / c / c - 50) / 5;
+                    return d + 10 * a
+                }
+            }, l = {
+                glog: function(a) {
+                    if (1 > a) throw Error("glog(" + a + ")");
+                    return l.LOG_TABLE[a]
+                },
+                gexp: function(a) {
+                    for (; 0 > a;) a += 255;
+                    for (; 256 <= a;) a -= 255;
+                    return l.EXP_TABLE[a]
+                },
+                EXP_TABLE: Array(256),
+                LOG_TABLE: Array(256)
+            }, m = 0; 8 > m; m++) l.EXP_TABLE[m] = 1 << m;
+        for (m = 8; 256 > m; m++) l.EXP_TABLE[m] = l.EXP_TABLE[m - 4] ^ l.EXP_TABLE[m - 5] ^ l.EXP_TABLE[m - 6] ^ l.EXP_TABLE[m - 8];
+        for (m = 0; 255 > m; m++) l.LOG_TABLE[l.EXP_TABLE[m]] = m;
+        q.prototype = {
+            get: function(a) {
+                return this.num[a]
+            },
+            getLength: function() {
+                return this.num.length
+            },
+            multiply: function(a) {
+                for (var c = Array(this.getLength() + a.getLength() - 1), d = 0; d < this.getLength(); d++)
+                    for (var b = 0; b < a.getLength(); b++) c[d + b] ^= l.gexp(l.glog(this.get(d)) + l.glog(a.get(b)));
+                return new q(c, 0)
+            },
+            mod: function(a) {
+                if (0 >
+                    this.getLength() - a.getLength()) return this;
+                for (var c = l.glog(this.get(0)) - l.glog(a.get(0)), d = Array(this.getLength()), b = 0; b < this.getLength(); b++) d[b] = this.get(b);
+                for (b = 0; b < a.getLength(); b++) d[b] ^= l.gexp(l.glog(a.get(b)) + c);
+                return (new q(d, 0)).mod(a)
+            }
+        };
+        p.RS_BLOCK_TABLE = [
+            [1, 26, 19],
+            [1, 26, 16],
+            [1, 26, 13],
+            [1, 26, 9],
+            [1, 44, 34],
+            [1, 44, 28],
+            [1, 44, 22],
+            [1, 44, 16],
+            [1, 70, 55],
+            [1, 70, 44],
+            [2, 35, 17],
+            [2, 35, 13],
+            [1, 100, 80],
+            [2, 50, 32],
+            [2, 50, 24],
+            [4, 25, 9],
+            [1, 134, 108],
+            [2, 67, 43],
+            [2, 33, 15, 2, 34, 16],
+            [2, 33, 11, 2, 34, 12],
+            [2, 86, 68],
+            [4, 43, 27],
+            [4, 43, 19],
+            [4, 43, 15],
+            [2, 98, 78],
+            [4, 49, 31],
+            [2, 32, 14, 4, 33, 15],
+            [4, 39, 13, 1, 40, 14],
+            [2, 121, 97],
+            [2, 60, 38, 2, 61, 39],
+            [4, 40, 18, 2, 41, 19],
+            [4, 40, 14, 2, 41, 15],
+            [2, 146, 116],
+            [3, 58, 36, 2, 59, 37],
+            [4, 36, 16, 4, 37, 17],
+            [4, 36, 12, 4, 37, 13],
+            [2, 86, 68, 2, 87, 69],
+            [4, 69, 43, 1, 70, 44],
+            [6, 43, 19, 2, 44, 20],
+            [6, 43, 15, 2, 44, 16],
+            [4, 101, 81],
+            [1, 80, 50, 4, 81, 51],
+            [4, 50, 22, 4, 51, 23],
+            [3, 36, 12, 8, 37, 13],
+            [2, 116, 92, 2, 117, 93],
+            [6, 58, 36, 2, 59, 37],
+            [4, 46, 20, 6, 47, 21],
+            [7, 42, 14, 4, 43, 15],
+            [4, 133, 107],
+            [8, 59, 37, 1, 60, 38],
+            [8, 44, 20, 4, 45, 21],
+            [12, 33, 11, 4, 34, 12],
+            [3, 145, 115, 1, 146,
+                116
+            ],
+            [4, 64, 40, 5, 65, 41],
+            [11, 36, 16, 5, 37, 17],
+            [11, 36, 12, 5, 37, 13],
+            [5, 109, 87, 1, 110, 88],
+            [5, 65, 41, 5, 66, 42],
+            [5, 54, 24, 7, 55, 25],
+            [11, 36, 12],
+            [5, 122, 98, 1, 123, 99],
+            [7, 73, 45, 3, 74, 46],
+            [15, 43, 19, 2, 44, 20],
+            [3, 45, 15, 13, 46, 16],
+            [1, 135, 107, 5, 136, 108],
+            [10, 74, 46, 1, 75, 47],
+            [1, 50, 22, 15, 51, 23],
+            [2, 42, 14, 17, 43, 15],
+            [5, 150, 120, 1, 151, 121],
+            [9, 69, 43, 4, 70, 44],
+            [17, 50, 22, 1, 51, 23],
+            [2, 42, 14, 19, 43, 15],
+            [3, 141, 113, 4, 142, 114],
+            [3, 70, 44, 11, 71, 45],
+            [17, 47, 21, 4, 48, 22],
+            [9, 39, 13, 16, 40, 14],
+            [3, 135, 107, 5, 136, 108],
+            [3, 67, 41, 13, 68, 42],
+            [15, 54, 24, 5, 55, 25],
+            [15,
+                43, 15, 10, 44, 16
+            ],
+            [4, 144, 116, 4, 145, 117],
+            [17, 68, 42],
+            [17, 50, 22, 6, 51, 23],
+            [19, 46, 16, 6, 47, 17],
+            [2, 139, 111, 7, 140, 112],
+            [17, 74, 46],
+            [7, 54, 24, 16, 55, 25],
+            [34, 37, 13],
+            [4, 151, 121, 5, 152, 122],
+            [4, 75, 47, 14, 76, 48],
+            [11, 54, 24, 14, 55, 25],
+            [16, 45, 15, 14, 46, 16],
+            [6, 147, 117, 4, 148, 118],
+            [6, 73, 45, 14, 74, 46],
+            [11, 54, 24, 16, 55, 25],
+            [30, 46, 16, 2, 47, 17],
+            [8, 132, 106, 4, 133, 107],
+            [8, 75, 47, 13, 76, 48],
+            [7, 54, 24, 22, 55, 25],
+            [22, 45, 15, 13, 46, 16],
+            [10, 142, 114, 2, 143, 115],
+            [19, 74, 46, 4, 75, 47],
+            [28, 50, 22, 6, 51, 23],
+            [33, 46, 16, 4, 47, 17],
+            [8, 152, 122, 4, 153, 123],
+            [22, 73, 45,
+                3, 74, 46
+            ],
+            [8, 53, 23, 26, 54, 24],
+            [12, 45, 15, 28, 46, 16],
+            [3, 147, 117, 10, 148, 118],
+            [3, 73, 45, 23, 74, 46],
+            [4, 54, 24, 31, 55, 25],
+            [11, 45, 15, 31, 46, 16],
+            [7, 146, 116, 7, 147, 117],
+            [21, 73, 45, 7, 74, 46],
+            [1, 53, 23, 37, 54, 24],
+            [19, 45, 15, 26, 46, 16],
+            [5, 145, 115, 10, 146, 116],
+            [19, 75, 47, 10, 76, 48],
+            [15, 54, 24, 25, 55, 25],
+            [23, 45, 15, 25, 46, 16],
+            [13, 145, 115, 3, 146, 116],
+            [2, 74, 46, 29, 75, 47],
+            [42, 54, 24, 1, 55, 25],
+            [23, 45, 15, 28, 46, 16],
+            [17, 145, 115],
+            [10, 74, 46, 23, 75, 47],
+            [10, 54, 24, 35, 55, 25],
+            [19, 45, 15, 35, 46, 16],
+            [17, 145, 115, 1, 146, 116],
+            [14, 74, 46, 21, 75, 47],
+            [29, 54, 24, 19,
+                55, 25
+            ],
+            [11, 45, 15, 46, 46, 16],
+            [13, 145, 115, 6, 146, 116],
+            [14, 74, 46, 23, 75, 47],
+            [44, 54, 24, 7, 55, 25],
+            [59, 46, 16, 1, 47, 17],
+            [12, 151, 121, 7, 152, 122],
+            [12, 75, 47, 26, 76, 48],
+            [39, 54, 24, 14, 55, 25],
+            [22, 45, 15, 41, 46, 16],
+            [6, 151, 121, 14, 152, 122],
+            [6, 75, 47, 34, 76, 48],
+            [46, 54, 24, 10, 55, 25],
+            [2, 45, 15, 64, 46, 16],
+            [17, 152, 122, 4, 153, 123],
+            [29, 74, 46, 14, 75, 47],
+            [49, 54, 24, 10, 55, 25],
+            [24, 45, 15, 46, 46, 16],
+            [4, 152, 122, 18, 153, 123],
+            [13, 74, 46, 32, 75, 47],
+            [48, 54, 24, 14, 55, 25],
+            [42, 45, 15, 32, 46, 16],
+            [20, 147, 117, 4, 148, 118],
+            [40, 75, 47, 7, 76, 48],
+            [43, 54, 24, 22, 55, 25],
+            [10,
+                45, 15, 67, 46, 16
+            ],
+            [19, 148, 118, 6, 149, 119],
+            [18, 75, 47, 31, 76, 48],
+            [34, 54, 24, 34, 55, 25],
+            [20, 45, 15, 61, 46, 16]
+        ];
+        p.getRSBlocks = function(a, c) {
+            var d = p.getRsBlockTable(a, c);
+            if (void 0 == d) throw Error("bad rs block @ typeNumber:" + a + "/errorCorrectLevel:" + c);
+            for (var b = d.length / 3, e = [], f = 0; f < b; f++)
+                for (var h = d[3 * f + 0], g = d[3 * f + 1], j = d[3 * f + 2], l = 0; l < h; l++) e.push(new p(g, j));
+            return e
+        };
+        p.getRsBlockTable = function(a, c) {
+            switch (c) {
+                case 1:
+                    return p.RS_BLOCK_TABLE[4 * (a - 1) + 0];
+                case 0:
+                    return p.RS_BLOCK_TABLE[4 * (a - 1) + 1];
+                case 3:
+                    return p.RS_BLOCK_TABLE[4 *
+                        (a - 1) + 2];
+                case 2:
+                    return p.RS_BLOCK_TABLE[4 * (a - 1) + 3]
+            }
+        };
+        t.prototype = {
+            get: function(a) {
+                return 1 == (this.buffer[Math.floor(a / 8)] >>> 7 - a % 8 & 1)
+            },
+            put: function(a, c) {
+                for (var d = 0; d < c; d++) this.putBit(1 == (a >>> c - d - 1 & 1))
+            },
+            getLengthInBits: function() {
+                return this.length
+            },
+            putBit: function(a) {
+                var c = Math.floor(this.length / 8);
+                this.buffer.length <= c && this.buffer.push(0);
+                a && (this.buffer[c] |= 128 >>> this.length % 8);
+                this.length++
+            }
+        };
+        "string" === typeof h && (h = {
+            text: h
+        });
+        h = r.extend({}, {
+            render: "canvas",
+            width: 256,
+            height: 256,
+            typeNumber: -1,
+            correctLevel: 2,
+            background: "#ffffff",
+            foreground: "#000000"
+        }, h);
+        return this.each(function() {
+            var a;
+            if ("canvas" == h.render) {
+                a = new o(h.typeNumber, h.correctLevel);
+                a.addData(h.text);
+                a.make();
+                var c = document.createElement("canvas");
+                c.width = h.width;
+                c.height = h.height;
+                for (var d = c.getContext("2d"), b = h.width / a.getModuleCount(), e = h.height / a.getModuleCount(), f = 0; f < a.getModuleCount(); f++)
+                    for (var i = 0; i < a.getModuleCount(); i++) {
+                        d.fillStyle = a.isDark(f, i) ? h.foreground : h.background;
+                        var g = Math.ceil((i + 1) * b) - Math.floor(i * b),
+                            j = Math.ceil((f + 1) * b) - Math.floor(f * b);
+                        d.fillRect(Math.round(i * b), Math.round(f * e), g, j)
+                    }
+            } else {
+                a = new o(h.typeNumber, h.correctLevel);
+                a.addData(h.text);
+                a.make();
+                c = r("<table></table>").css("width", h.width + "px").css("height", h.height + "px").css("border", "0px").css("border-collapse", "collapse").css("background-color", h.background);
+                d = h.width / a.getModuleCount();
+                b = h.height / a.getModuleCount();
+                for (e = 0; e < a.getModuleCount(); e++) {
+                    f = r("<tr></tr>").css("height", b + "px").appendTo(c);
+                    for (i = 0; i < a.getModuleCount(); i++) r("<td></td>").css("width",
+                        d + "px").css("background-color", a.isDark(e, i) ? h.foreground : h.background).appendTo(f)
+                }
+            }
+            a = c;
+            jQuery(a).appendTo(this)
+        })
+    }
+})(jQuery);
+/* jscs: enable */
+/* jshint ignore:end */
+});
+define("js/about/entry", ["jquery","jquery.placeholder","handlebars","source-map"], function(require, exports, module){
+/**
+ * 逛打包入口
+ * @author: yyqing<yanqing.yang@yoho.cn>
+ * @date: 2016/4/14
+ */
+
+require("js/about/settled");
+
+});
+define("js/about/settled", ["jquery","jquery.placeholder","handlebars","source-map"], function(require, exports, module){
+/**
+ * 商家入驻
+ * @author: xuqi<qi.xu@yoho>
+ * @date: 2016/3/24
+ */
+
+var $ = require("jquery");
+
+var reg = require("js/passport/mail-phone-regx");
+
+require("jquery.placeholder");
+require("plugin/jquery.qupload");
+
+//入口页
+(function() {
+    var $mask,
+        $dialog;
+
+    if ($('.settled-page').length === 0) {
+        return;
+    }
+
+    $mask = $('#mask');
+    $dialog = $('#notice-container');
+
+    function showNotice() {
+        var wh = $(window).height();
+
+        $mask.removeClass('hide');
+        $dialog.css({
+            'max-height': wh - 60
+        }).removeClass('hide');
+    }
+
+    function hideNotice() {
+        $mask.addClass('hide');
+        $dialog.addClass('hide');
+    }
+
+    $('#fake-link').click(showNotice);
+
+    $('#fake-close').click(hideNotice);
+    $('#mask').click(hideNotice);
+}());
+
+//申请页
+(function() {
+    var $otherBr,
+        $otherNp,
+        $otherRp,
+        $categoryUl,
+        $shopListTr,
+        $shops,
+        $panel;
+
+    var $postcode,
+        $email,
+        $phoneNum,
+        $upKey,
+        $styleCount;
+
+    var categoryHtml = $('#category-tpl').html();
+
+    var Dialog = require("js/common/dialog").Dialog;
+    var successDialog,
+        SWFUpload = window.SWFUpload,
+        upKey;
+
+    if ($('.settled-apply-page').length < 0) {
+        return;
+    }
+
+    $('[placeholder]').placeholder();
+
+    $otherBr = $('#other-brand-relation');
+    $otherNp = $('#other-new-period');
+    $otherRp = $('#other-replenishment-period');
+    $categoryUl = $('#category-list');
+    $shopListTr = $('#shop-list');
+    $shops = $('#shops');
+    $panel = $('#mask, #submit-success');
+
+    $postcode = $('#postcode');
+    $email = $('#email');
+    $phoneNum = $('#phone-number');
+    $upKey = $('#upload-key');
+    $styleCount = $('#style-count');
+    upKey = $upKey.val();
+    $upKey.remove();
+
+    function initUpload(arr) {
+        $.each(arr, function(k, v) {
+            $('#' + v.dom).qupload({
+                uploadKey: upKey,
+                button_image_url: '',
+                button_text: '<span class="btn_upload_text">上传</span>',
+                button_text_style:
+                    '.btn_upload_text{color:#000;margin-left:30px;' +
+                    'line-height: 2em;font-size:14px;}',
+                button_text_left_padding: 32,
+                button_text_top_padding: 8,
+                button_width: 160,
+                button_height: 35,
+                button_action: SWFUpload.BUTTON_ACTION.SELECT_FILE,//单选
+                file_size_limit: '10240',
+                file_types: v.type,
+                uploadSuccessed: function(serverData) {
+                    var data = JSON.parse(serverData);
+
+                    if (data.code !== 12) {
+                        alert(data.message);
+                        return false;
+                    }
+                    v.callback(data.data.hit.Filedata.return_file_path);
+                }
+            });
+        });
+    }
+
+    function validate() {
+        var pass = true,
+            postcodeReg = /[0-9]\d{5}(?!\d)/,
+            emailReg = reg.emailRegx,
+            phoneReg = reg.phoneRegx['+86'],
+            styleCountReg = /^(0|[1-9][0-9]*)$/;
+
+        $('.va, .category-item select, .for-other, .category-item').removeClass('error');
+
+        $('.va-null').each(function() {
+            if ($(this).val() === '') {
+                $(this).addClass('error');
+                pass = false;
+            }
+        });
+
+        if ($postcode.val() === '' || !postcodeReg.test($postcode.val())) {
+            $postcode.addClass('error');
+            pass = false;
+        }
+
+        if ($email.val() === '' || !emailReg.test($email.val())) {
+            $email.addClass('error');
+            pass = false;
+        }
+
+        if ($phoneNum.val() === '' || !(phoneReg.test($phoneNum.val()))) {
+            $phoneNum.addClass('error');
+            pass = false;
+        }
+
+        if ($styleCount.val() === '' || !(styleCountReg.test($styleCount.val()))) {
+            $styleCount.addClass('error');
+            pass = false;
+        }
+
+        $('.category-item').each(function() {
+            if ($(this).get(0).selectedIndex === 0) {
+                $(this).addClass('error');
+                pass = false;
+            }
+        });
+
+        if ($('input[name="seller-role"]:checked').index() === 3 &&
+            $otherBr.val() === '') {
+            pass = false;
+            $otherBr.addClass('error');
+        }
+
+        if ($('input[name="new_cycle"]:checked').index() === 5 &&
+            $otherNp.val() === '') {
+            pass = false;
+            $otherNp.addClass('error');
+        }
+
+        if ($('input[name="supply_cycle"]:checked').index() === 5 &&
+            $otherRp.val() === '') {
+            pass = false;
+            $otherRp.addClass('error');
+        }
+
+        return pass;
+    }
+
+    function addCategoryUI() {
+        $categoryUl.closest('tr').removeClass('hide');
+        $categoryUl.append('<li>' + categoryHtml + '</li>');
+    }
+
+    //获取二级分类的方法
+    function getCategoryTwo() {
+        var id = $(this).val();
+        var $categoryTwo = $(this).parent().find('.category-two');
+        var html = '<option>选择二级分类</option>';
+
+        if (id === '') {
+            $categoryTwo.html(html);
+            return;
+        }
+
+        $.ajax({
+            url: '/shop/settled/getTwoCategory',
+            type: 'GET',
+            data: {
+                id: id
+            }
+        }).then(function(data) {
+            var res = [];
+            var key;
+
+            if (data.code === 200) {
+                res = data.data;
+                for (key = 0; key < res.length; key++) {
+                    html += '<option value="' + res[key].id + '" >' + res[key].name + '</option>';
+                }
+            }
+            $categoryTwo.html(html);
+        });
+    }
+
+    // 初始化上传插件
+    initUpload([
+        {
+            dom: 'upload-brand-material',
+            type: '*.ppt;*.pdf;*.zip;*.rar',
+            callback: function(data) {
+                $('#brand-material').val(data);
+                $('.brand-tip').html('上传成功');
+                alert('上传成功!');
+            }
+        },
+        {
+            dom: 'upload-goods-material',
+            type: '*.xls;*.xlsx;*.zip;*.rar',
+            callback: function(data) {
+                $('#goods-material').val(data);
+                $('.goods-tip').html('上传成功');
+                alert('上传成功!');
+            }
+        }
+    ]);
+
+    // 提交成功
+    if (location.search.indexOf('state=1') > -1) {
+        successDialog = new Dialog({
+            className: 'settled-success',
+            closeIcon: false,
+            content: '<h1 class="main-title">恭喜您已提交成功</h1><h2 class="sub-title">我们将尽快与您联系</h2>',
+            btns: [
+                {
+                    id: 'apply-success-ok',
+                    btnClass: ['apply-success-ok'],
+                    name: '确认',
+                    cb: function() {
+                        location.href = '/shop/settled/index';
+                    }
+                }
+            ]
+        });
+        successDialog.show();
+        return;
+    }
+
+    $('input[name="seller_role"]').change(function() {
+        if ($(this).index() === 3) {
+            $otherBr.removeClass('hide');
+        } else {
+            $otherBr.addClass('hide');
+        }
+    });
+
+    $('input[name="new-cycle"]').change(function() {
+        if ($(this).index() === 5) {
+            $otherNp.removeClass('hide');
+        } else {
+            $otherNp.addClass('hide');
+        }
+    });
+
+    $('input[name="supply-cycle"]').change(function() {
+        if ($(this).index() === 5) {
+            $otherRp.removeClass('hide');
+        } else {
+            $otherRp.addClass('hide');
+        }
+    });
+
+    $('input[name="have-store"]').change(function() {
+        if ($(this).index() === 1) {
+            $shopListTr.addClass('hide');
+        } else {
+            $shopListTr.removeClass('hide');
+        }
+    });
+
+    $('.form-container').on('change', '.category-one', getCategoryTwo);
+
+    $('#category-add').click(addCategoryUI);
+
+    $shops.delegate('.shop-add', 'click', function() {
+        $shops.append(
+            '<li>' +
+                '<input class="shop-addres" name="store-address[]" type="text" placeholder="输入店铺地址">' +
+                '<span>月均销售:</span>' +
+                '<input class="shop-sales-volume" type="text" name="store-sales-volume[]" placeholder="输入价格">' +
+                '<span>元</span>' +
+            '</li>'
+        );
+    });
+
+    $('#apply-post').click(function() {
+        var scrollTo;
+
+        if (validate()) {
+            $panel.removeClass('hide');
+            $('form').submit();
+        } else {
+            $('.error').first().focus();
+            scrollTo = $('.error').first().offset().top;
+            $(window).scrollTop(scrollTo - 10);
+        }
+    });
+
+    if (navigator.userAgent.indexOf('MSIE') >= 0) {
+        $('[placeholder]').focus(function() {
+            var $input = $(this);
+
+            $input.removeClass('placeholder');
+        }).blur(function() {
+            var $input = $(this);
+
+            if ($input.val() === '') {
+                $input.addClass('placeholder');
+            }
+        });
+    }
+}());
+});
+define("js/coupon/entry", ["jquery","lazyload","handlebars","source-map"], function(require, exports, module){
+/**
+ * 领券频道打包入口
+ * @author: zhaobiao<biao.zhao@yoho.cn>
+ * @date: 2016/4/12
+ */
+
+require("js/coupon/coupon");
+
+});
+define("js/coupon/coupon", ["jquery","lazyload","handlebars","source-map"], function(require, exports, module){
+/**
+ * 领券频道
+ * @author: 赵彪<bill.zhao@yoho.cn>
+ * @date: 2016/04/14
+ */
+var $ = require("jquery"),
+    lazyLoad = require("lazyload"),
+    Dialog = require("js/common/dialog").Dialog;
+
+
+var alertConfig,
+    makeAlert;
+
+// j面跳转对象
+var redirect = {
+
+    // 去逛逛跳转链接
+    gunangSrc: null,
+
+    // 查看优惠券跳转链接
+    checkCouponSrc: null,
+    goToGuang: function() {
+        window.location.href = this.gunangSrc;
+    },
+    goToCheck: function() {
+        window.location.href = this.checkCouponSrc;
+    },
+
+    // 处理网络返回
+    403: function(url) {
+        window.location.href = url;
+    },
+    200: function(url) {
+        this.checkCouponSrc = url;
+    }
+};
+
+//加载底部图片
+lazyLoad($('img.lazy'));
+
+require("js/common/slider");
+
+
+$('.slide-container').slider();
+
+// 根据配置执行展示弹窗
+function couponAlert(opt) {
+    var newAlert = new Dialog(opt);
+
+    newAlert.show();
+}
+
+// 配置弹窗
+alertConfig = {
+    success: {
+        content: '恭喜您,成功领取优惠券',
+        subContents: ['特殊情况下到账有延时', '请耐心等待'],
+        className: 'subcontent-dialog',
+        refreshOnClose: true,
+        btns: [
+            {
+                id: 1,
+                name: '去购物啦',
+                btnClass: ['black', 'btn-close'],
+                cb: function() {
+                    redirect.goToGuang();
+                }
+            },
+            {
+                id: 2,
+                name: '查看优惠券',
+                btnClass: ['btn-close'],
+                cb: function() {
+                    redirect.goToCheck();
+                }
+            }
+        ]
+    },
+    alreadyGot: {
+        content: '您已领取过优惠券',
+        subContent: '快去选购心仪的潮品吧',
+        className: 'subcontent-dialog',
+        btns: [
+            {
+                id: 1,
+                name: '去使用',
+                btnClass: ['btn-close'],
+                cb: function() {
+                    redirect.goToGuang();
+                }
+            }
+        ]
+    },
+    expired: {
+        content: '优惠券已过期',
+        subContent: '去领最新的优惠券吧',
+        className: 'subcontent-dialog',
+        btns: [
+            {
+                id: 1,
+                name: '关闭',
+                btnClass: ['btn-close']
+            }
+        ]
+    },
+    failed: {
+        content: '领取失败',
+        subContents: ['请刷新重试,', '多次无效请联系客服'],
+        className: 'subcontent-dialog',
+        btns: [
+            {
+                id: 1,
+                name: '刷新',
+                btnClass: ['btn-close'],
+                cb: function() {
+                    window.location.reload();
+                }
+            }
+        ]
+    }
+};
+
+// 对应不同的网络返回码展示不同的弹窗
+makeAlert = {
+    200: function() {
+        couponAlert(alertConfig.success);
+    },
+    401: function() {
+        couponAlert(alertConfig.alreadyGot);
+    },
+    315: function() {
+        couponAlert(alertConfig.expired);
+    },
+    400: function() {
+        couponAlert(alertConfig.failed);
+    },
+    403: function() {
+
+        // do not make alert when user are not login in
+    }
+};
+
+function requestCoupon(id) {
+    $.ajax({
+        type: 'GET',
+        url: '/coupon/sendcoupon',
+        data: {
+            id: id
+        },
+        success: function(res) {
+            var code = res.code;
+
+            // 如果返回的数据里有url,则执行redirect里的方法
+            res.url && res.url.length > 0 && redirect[code] && redirect[code](res.url + '?'+ location.href.split('?')[1]);
+
+            // 如果能找到对应code则执行相应方法,如果没有的对应code则执行error提示
+            makeAlert[code] ? makeAlert[code]() : makeAlert['400']();
+
+        },
+        error: function(err) {
+            var Alert = require("js/common/dialog").Alert;
+
+            new Alert('网络异常').show();
+        }
+    });
+}
+
+$('.enable .info').on('click', function(e) {
+    e.preventDefault();
+    requestCoupon($(this).closest('a').data('id'));
+    redirect.gunangSrc = $(this).closest('a').get(0).href;
+});
+
+});
diff --git a/web-static/dist/yohobuy/4.7.2/index.css b/web-static/dist/yohobuy/4.7.2/index.css
new file mode 100644
index 0000000..abbbdb6
--- /dev/null
+++ b/web-static/dist/yohobuy/4.7.2/index.css
@@ -0,0 +1 @@
+@charset "utf-8";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}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}.clearfix:after{content:'';display:table;clear:both}body{font-family:arial,Microsoft YaHei}@font-face{font-family:iconfont;src:url(../assets/font/iconfont.eot?v155c47be998);src:url(../assets/font/iconfont.eot?v155c47be998#iefix) format('embedded-opentype'),url(../assets/font/iconfont.woff?v155c47bf550) format('woff'),url(../assets/font/iconfont.ttf?v155c47be998) format('truetype'),url(../assets/font/iconfont.svg?v155c47be998#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}.center-content{width:1150px;margin-left:auto;margin-right:auto}.min-screen .center-content{width:990px}.left,.pull-left{float:left}.pull-right,.right{float:right}.center{text-align:center}.hide{display:none!important}a:focus,input,textarea{outline:none}a{text-decoration:none;color:#000}.body-mask{position:absolute;z-index:9;background:#000;opacity:.2;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=20)";top:0;left:0}.yoho-notice{width:100%;height:100px;font-size:12px;background-color:#555;font-family:微软雅黑}.yoho-notice .notice-title{height:100px;line-height:100px;font-size:27px;font-weight:700;color:#fff;width:245px;position:absolute}.yoho-notice .notice-content{padding:16px 0 0 300px;color:#e8e8e8}.yoho-notice .notice-content .tips{margin-bottom:10px}.yoho-notice .notice-content .detail{line-height:16px}.yoho-header .header-topwrapper{width:100%;background-color:#f4f4f4;min-width:1150px}.yoho-header .header-top{width:1150px;height:32px;line-height:32px;margin:0 auto;position:relative}.yoho-header #loginBox{display:none}.yoho-header .leftpart{position:relative;padding-left:5px;padding-right:5px}.yoho-header .leftpart:hover{background-color:#dcdcdc}.yoho-header .leftpart:hover .yohoproducts-list{display:block!important}.yoho-header .leftpart .acttags{background-color:#dcdcdc}.yoho-header .yohoproducts-list{position:absolute;display:none;width:170px;left:0;top:32px;background-color:#f4f4f4;padding-top:30px;padding-bottom:10px;padding-left:20px;z-index:19}.yoho-header .yohoproducts-item{height:14px;line-height:14px;margin-bottom:20px}.yoho-header .yohoproducts-item a{color:#9196a0;font-size:14px}.yoho-header .yohoproducts-item:hover a{color:#000}.yoho-header .rightpart{position:absolute;right:0;top:0}.yoho-header .rightpart .acttags{background-color:#dcdcdc}.yoho-header .rightpart .tag-seprate{border-color:#dcdcdc}.yoho-header .hi,.yoho-header .loginbar,.yoho-header .registbar{display:inline-block;float:left}.yoho-header .hi{color:#8e8e8e;font-size:12px}.yoho-header #loginBox a,.yoho-header #loginBox span,.yoho-header .header-yoho,.yoho-header .login-out,.yoho-header .loginbar,.yoho-header .registbar{color:#000;font-size:12px}.yoho-header .registbar{margin-left:7px}.yoho-header .tag-list-wrapper{margin-left:13px;float:left}.yoho-header .tag-list{margin-left:13px;height:34px}.yoho-header .tag-seprate{margin-top:11px;width:0;height:14px;display:inline-block;float:left;border-left:1px solid #dcdcdc}.yoho-header .tag-item{display:inline-block;float:left;line-height:32px;box-sizing:border-box;margin-left:-1px}.yoho-header .tag-item a{color:#8e8e8e;font-size:12px;display:inline-block}.yoho-header .tag-item span{display:inline-block}.yoho-header .myyoho{padding-right:10px;position:relative}.yoho-header .myyoho .tag-seprate{margin-right:12px}.yoho-header .myyoho-info{position:absolute;display:none;top:32px;left:-110px;width:300px;background-color:#f8f8f8;z-index:18}.yoho-header .myyoho-photo{overflow:hidden}.yoho-header .myyoho-photo img{display:block;margin:0 auto;width:63px;height:63px;border-radius:50%}.yoho-header .myyoho-info-header{margin:17px auto 0;width:257px;border-bottom:1px solid #dcdcdc;text-align:center;padding-bottom:15px}.yoho-header .user-email{margin-top:14px;color:#000;height:25px;line-height:20px;font-size:18px}.yoho-header .user-level{color:#000;height:20px;line-height:20px;font-size:18px}.yoho-header .user-level .leveldetail{color:#8cc4f9}.yoho-header .levelinfo{width:100%;padding-top:10px;clear:both;height:15px}.yoho-header .levelwrapper{width:150px;height:14px;background-color:#e2e2e2;margin-left:40px;position:relative}.yoho-header .levelspan{position:absolute;left:2px;height:14px;top:0;line-height:16px}.yoho-header .levelwrapper .integrate{height:14px;line-height:15px;background-color:#ceae64;text-align:left;padding-left:5px}.yoho-header .cardcate{font-size:14px;line-height:14px;margin-left:5px}.yoho-header .myyoho-info-content{margin:20px auto 0;padding-left:35px;padding-right:29px;border-bottom:1px solid #dcdcdc}.yoho-header .myyoho-info-content .item{height:12px;line-height:12px;margin-bottom:16px}.yoho-header .myyoho-info-content .item a{font-size:14px;color:#000}.yoho-header .myyoho-info-footer{height:51px;line-height:51px;text-align:center}.yoho-header .myyoho-info-footer a{color:#000;font-size:14px}.yoho-header .myorder{padding-right:10px}.yoho-header .myorder .tag-seprate{margin-right:11px}.yoho-header .mycollect{padding-right:11px}.yoho-header .mycollect .tag-seprate{margin-right:11px}.yoho-header .message{padding-right:10px}.yoho-header .message .tag-seprate{margin-right:11px}.yoho-header .phone{padding-right:8px;position:relative}.yoho-header .phone .tag-seprate{margin-right:10px}.yoho-header .qr{position:absolute;display:none;top:32px;left:-100px;width:231px;height:290px;background-color:#f8f8f8;z-index:19}.yoho-header .qr-img{position:relative;background-image:url(../assets/img/header/qr.png?v155c47c0108);background-repeat:no-repeat;background-size:100% 100%;margin:32px auto 15px;width:143px;height:147px}.yoho-header .qr-words{height:25px;line-height:25px;font-size:16px;text-align:center}.yoho-header .qr-more{margin-top:6px;line-height:25px;font-size:14px;text-align:center}.yoho-header .onlineserver .tag-seprate{margin-right:10px}.yoho-header .header-navwrapper{width:100%;height:130px;position:relative;min-width:1150px}.yoho-header .header-navcontent{width:1150px;height:130px;margin:0 auto}.yoho-header .first-nav-list{margin-top:45px}.yoho-header .first-nav-item{float:left;padding:8px 23px 0}.yoho-header .first-nav-item .menu-ico{width:84px;height:32px;display:block}.yoho-header .all a,.yoho-header .all span,.yoho-header .boys a,.yoho-header .boys span,.yoho-header .girls a,.yoho-header .girls span,.yoho-header .kids a,.yoho-header .kids span,.yoho-header .lifestyle a,.yoho-header .lifestyle span{color:#fff!important}.yoho-header .all{background-color:#5e4b3c}.yoho-header .all .sub-nav-wrapper{background-color:#000;display:block!important}.yoho-header .all .third-nav-wrapper{border-top:2px solid #000}.yoho-header .searchcateboys .searchinput{border:1px solid #3a3a3a}.yoho-header .searchcateboys .icon-search{background-color:#3a3a3a!important}.yoho-header .searchcategirls .searchinput{border:1px solid #ff88ae}.yoho-header .searchcategirls .icon-search{background-color:#ff88ae!important}.yoho-header .searchcatewoman .searchinput{border:1px solid #ff88ae}.yoho-header .searchcatewoman .icon-search{background-color:#ff88ae!important}.yoho-header .searchcatekids .searchinput{border:1px solid #7bd3f9!important}.yoho-header .searchcatekids .icon-search{background-color:#7bd3f9!important}.yoho-header .gobuyboys{background-position:0 0}.yoho-header .gobuyboys,.yoho-header .gobuygirls{background-image:url(../assets/img/sprite.header.png?v155c47c08d8)}.yoho-header .gobuygirls{background-position:-56px 0}.yoho-header .gobuykids{background-position:-28px 0}.yoho-header .gobuykids,.yoho-header .gobuylifestyle{background-image:url(../assets/img/sprite.header.png?v155c47c08d8)}.yoho-header .gobuylifestyle{background-position:0 -28px}.yoho-header .gobuyoutlets{background-image:url(../assets/img/sprite.header.png?v155c47c08d8);background-position:-28px -28px}.yoho-header .searchcatelifestyle .searchinput{border:1px solid #5e4b3c!important}.yoho-header .searchcatelifestyle .icon-search{background-color:#5e4b3c!important}.yoho-header .boys{background-color:#3a3a3a}.yoho-header .boys .sub-nav-wrapper{background-color:#3a3a3a;display:block!important}.yoho-header .boys .third-nav-wrapper{border-top:2px solid #3a3a3a}.yoho-header .girls{background-color:#ff88ae}.yoho-header .girls .sub-nav-wrapper{background-color:#ff88ae;display:block!important}.yoho-header .girls .third-nav-wrapper{border-top:2px solid #ff88ae}.yoho-header .kids{background-color:#7bd3f9}.yoho-header .kids .sub-nav-wrapper{background-color:#7bd3f9;display:block!important}.yoho-header .kids .third-nav-wrapper{border-top:2px solid #7bd3f9}.yoho-header .lifestyle{background-color:#5e4b3c}.yoho-header .lifestyle .sub-nav-wrapper{background-color:#5e4b3c;display:block!important}.yoho-header .lifestyle .third-nav-wrapper{border-top:2px solid #5e4b3c}.yoho-header .outlets>.sub-nav-wrapper{display:block!important}.yoho-header .name-cn{text-align:center;line-height:16px!important}.yoho-header .name-cn a{color:#000;font-size:16px!important}.yoho-header .name-en{text-align:center;line-height:14px!important;margin-bottom:6px}.yoho-header .name-en a{color:#8e8e8e;font-size:12px;line-height:14px!important;font-family:arial!important}.yoho-header .sub-nav-wrapper{display:none;height:40px;left:0;width:100%;position:absolute;z-index:11}.yoho-header .sub-nav-list{width:1150px;height:40px;margin:0 auto;overflow:hidden}.yoho-header .sub-nav-item{float:left;padding:12px 46px 12px 0;box-sizing:border-box;margin-right:38px}.yoho-header .sub-nav-item a{position:relative;color:#fff;font-size:14px;line-height:14px;display:inline-block}.yoho-header .sub-nav-item:last-child{margin-right:0!important}.yoho-header .newlogo{display:block;width:26px;height:12px;background-image:url(../assets/img/header/new.png?v155c47c0108);background-repeat:no-repeat;position:absolute;right:-29px;top:-6px}.yoho-header .actsecondnav,.yoho-header .sub-nav-item:hover>a{padding-bottom:3px;border-bottom:2px solid #fff}.yoho-header .sub-nav-item:hover .third-nav-wrapper{display:block}.yoho-header .third-nav-wrapper{box-sizing:border-box;height:410px;position:absolute;left:0;top:38px;width:100%;min-width:1150px;display:none;z-index:17;padding-top:30px;padding-bottom:30px;background-color:#f8f8f8}.yoho-header .third-nav{width:1150px;height:100%;margin:0 auto}.yoho-header .category{width:880px;float:left;overflow:hidden}.yoho-header .category .thirdnavlist{box-sizing:border-box;width:220px;height:240px;float:left;padding-left:20px;border-right:1px solid #dcdcdc;padding-right:20px}.yoho-header .category-title{color:#000;font-size:16px;width:178px;padding-bottom:12px;border-bottom:1px solid #000;line-height:16px;margin-bottom:20px}.yoho-header .category-title a{color:#000!important}.yoho-header .category-list{margin-top:16px;margin-bottom:30px}.yoho-header .category-item{line-height:28px}.yoho-header .category-list a{color:#a1a1a1!important;font-size:14px}.yoho-header .category-list .category-item .hot{color:#e01!important;font-size:14px}.yoho-header .category-item-act a{color:#000!important}.yoho-header .showdetail{box-sizing:border-box;padding-left:19px;padding-right:19px;width:337px;height:250px;float:right}.yoho-header [class*=" icon-"],.yoho-header [class^=icon-]{display:inline-block;vertical-align:middle;background-repeat:none}.yoho-header .icon-hamburger{background-position:-56px -40px;width:13px;height:11px}.yoho-header .icon-hamburger,.yoho-header .icon-headphones{background-image:url(../assets/img/sprite.header.png?v155c47c08d8)}.yoho-header .icon-headphones{background-position:-84px 0;width:15px;height:10px;margin-top:2px}.yoho-header .icon-heart{background-position:-41px -56px;width:12px;height:11px}.yoho-header .icon-heart,.yoho-header .icon-mail{background-image:url(../assets/img/sprite.header.png?v155c47c08d8);margin-top:-2px}.yoho-header .icon-mail{background-position:-56px -28px;width:16px;height:10px}.yoho-header .icon-iphone{background-position:-84px 0;width:8px}.yoho-header .icon-iphone,.yoho-header .icon-papers{background-image:url(../assets/img/sprite.header.png?v155c47c08d8);height:14px;margin-top:-2px}.yoho-header .icon-papers{background-position:-29px -56px;width:10px}.yoho-header .icon-bottomarrow{background-image:url(../assets/img/sprite.header.png?v155c47c08d8);background-position:-71px -40px;width:10px;height:5px;margin-top:-2px}.yoho-header .outlets-logo{background:url(../assets/img/header/outlets.png?v155c47c0108) no-repeat 50%;width:200px;height:34px;left:42%;margin-top:28px;position:absolute;display:none}.yoho-header .icon-logo{background:url(../assets/img/header/logo.png?v155c47c0108) no-repeat 50%;width:182px;height:53px;top:22px;left:44.2%;position:absolute}.yoho-header .icon-logo .main-link{display:block;width:100%;height:100%}.yoho-header .search{position:relative}.yoho-header .searchspan{margin-top:45px;float:left;display:inline-block;overflow:hidden}.yoho-header .searchinput{float:left;width:240px;height:28px;border:1px solid #000;box-sizing:border-box;padding:6px 0 5px 10px;border-right:none}.yoho-header .icon-search{background:url(../assets/img/header/search.png?v155c47c0108) no-repeat 50%;width:80px;height:28px;float:left;border:none;margin-top:45px;background-color:#3a3a3a}.yoho-header .search-list{position:absolute;top:73px;left:0;z-index:11;box-sizing:border-box;display:none;background-color:#fff;padding-top:20px;width:100%;max-height:500px;border-left:1px solid #000;border-right:1px solid #000;border-bottom:1px solid #000}.yoho-header .search-item{position:relative;padding:5px;height:25px;line-height:25px;font:12px}.yoho-header .search-item:hover{background-color:#f4f4f4}.yoho-header .searchvalue{position:absolute;left:10px;max-width:192px;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.yoho-header .valuenum{position:absolute;right:10px;font-size:12px}.yoho-header .header-tool{padding-right:23px}.yoho-header .gobuy{margin-top:47px;margin-left:23px;width:26px;height:26px;position:relative;cursor:pointer}.yoho-header .gobuy-wrapper{position:absolute;display:none;top:24px;right:-14px;width:378px;padding-top:6px;z-index:19}.yoho-header .gobuy-empty{position:absolute;width:100%;height:507px;z-index:1;background:#f8f8f8 url(../assets/img/header/empty_car.png?v155c47c0108) no-repeat 106px 132px}.yoho-header .gobuy-empty .information{margin-top:300px;width:100%;height:18px;line-height:18px;font-size:18px;text-align:center}.yoho-header .gobuy-loading{position:absolute;width:100%;height:407px;z-index:1;background:#f8f8f8 url(../assets/img/header/loading.gif?v155c47c0108) no-repeat center 150px}.yoho-header .gobuy-loading .information{margin-top:180px;width:100%;height:12px;line-height:12px;font-size:12px;text-align:center}.yoho-header .gobuy-notempty{position:absolute;width:100%;z-index:1;background-color:#f8f8f8;overflow:hidden}.yoho-header .goods-list-wrapper{width:100%;max-height:444px;margin-bottom:19px;overflow-y:auto;overflow-x:hidden}.yoho-header .goods-list{margin-top:40px}.yoho-header .goods-item{height:64px;margin-bottom:18px;padding-left:18px}.yoho-header .goods-img{display:inline-block;float:left;width:46px;height:62px;margin-right:13px}.yoho-header .goods-detail{margin-right:16px}.yoho-header .goods-detail .content{width:170px;height:14px;line-height:14px;font-size:14px;margin-bottom:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.yoho-header .goods-detail .content a{color:#666;outline:none;text-decoration:none}.yoho-header .goods-detail .style{height:14px;line-height:14px;font-size:14px;color:#b0b0b0}.yoho-header .goods-price .priceandnum{height:14px;line-height:14px;font-size:14px;margin-bottom:13px;min-width:75px;text-align:right}.yoho-header .goods-price .delete{display:inline-block;float:right;font-size:14px;color:#000}.yoho-header .activity-item{margin-bottom:8px;padding-left:18px}.yoho-header .activity-name{display:inline-block;box-sizing:border-box;border:none;width:60px;height:18px;line-height:18px;background-color:#3a3a3a;color:#fff;font-size:14px;text-align:center;margin-right:13px;vertical-align:top}.yoho-header .activity-content{display:inline-block;line-height:14px;width:250px;color:#3a3a3a;font-size:12px;word-break:break-all}.yoho-header .gobuy-notempty-footer{width:100%;height:61px;text-align:center}.yoho-header .gobuy-notempty-footer h3{box-sizing:border-box;width:349px;margin:0 auto;height:61px;line-height:61px;border-top:1px solid #dcdcdc}.yoho-header .gobuy-notempty-footer a{font-size:18px;color:#444}.yoho-header .ic-infomation{position:absolute;background-image:url(../assets/img/sprite.header.png?v155c47c08d8);background-position:0 -56px;width:27px;height:20px;top:-10px;right:-15px;color:#fff;text-align:center;line-height:20px;font-size:12px}.yoho-header .float-left{float:left}.yoho-header .float-right{float:right}.yoho-header .showdetail img{display:block;box-sizing:border-box;width:337px;height:250px}.yoho-header .showdetail .title{display:block;margin-top:40px;width:100%;height:15px;text-align:center;line-height:15px;font-size:14px;color:#000!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.yoho-header .cate_row{float:left;height:352px;box-sizing:border-box}.yoho-header .cate_row li{box-sizing:border-box}.yoho-header .cate_row1{width:253px}.yoho-header .cate_row2{width:278px;border-left:1px solid #ccc;padding-left:50px}.yoho-header .cate_row3{width:270px;border-left:1px solid #ccc;padding-left:50px}.yoho-header .third-nav .cattitle{width:180px;padding-bottom:10px;border-bottom:1px solid #000;line-height:18px;margin-bottom:20px}.yoho-header .third-nav .cattitle h3 a{color:#000!important;font-size:14px}.yoho-header .third-nav .catdetail{line-height:14px;height:14px;margin-bottom:24px;min-width:200px}.yoho-header .third-nav .catdetail a{color:#a1a1a1!important;font-size:14px}.yoho-header .third-nav .catdetail .hot{color:#e01!important}.yoho-header .thirdcatelink:hover{text-decoration:underline!important}.yoho-header .hovercontent{display:none}.yoho-header.outlets .header-navwrapper{background-color:#3a3a3a}.yoho-header.outlets .header-navwrapper .sub-nav-wrapper{background-color:#e6e6e6;margin-top:37px}.yoho-header.outlets .header-navwrapper .third-nav-wrapper{border-top:0}.yoho-header.outlets .outlets-logo{display:block}.yoho-header.outlets .icon-logo{display:none}.yoho-header.outlets .first-nav-item.cure{background:none}.yoho-header.outlets .first-nav-item>h3,.yoho-header.outlets .header-tool>.search{display:none}.yoho-header.outlets .sub-nav-list{padding-left:15%}.yoho-header.outlets .sub-nav-list .sub-nav-item{width:14%;text-align:center}.yoho-header.outlets .sub-nav-list .sub-nav-item>a{color:#222!important}.yoho-header.outlets .sub-nav-list .sub-nav-item:hover a{border-color:#555}.yoho-header.outlets .sub-nav-list .third-nav{text-align:left}.simple-header{height:66px;margin:0 0 20px;border-bottom:2px solid #222}.simple-header .header-inner{width:990px;height:100%;margin:0 auto}.simple-header .logo{float:left;line-height:66px;font-size:0}.simple-header .logo img{vertical-align:middle}.simple-header .header-tool{float:right;line-height:66px;font-size:0}.simple-header .header-tool li{display:inline-block;padding:0 10px;line-height:28px}.simple-header .header-tool li,.simple-header .header-tool li a,.simple-header .header-tool li span{font-size:12px;vertical-align:middle}.simple-header .header-tool li .tell-icon{font-size:12px}.simple-header .header-tool li .tell-icon~span{font-weight:700}.simple-header .header-tool .login-box a{color:#666}.simple-header .header-tool .tool-options{position:relative;font-size:0;cursor:pointer}.simple-header .header-tool .tool-options .iconfont,.simple-header .header-tool .tool-options span{display:inline-block;font-size:12px;height:28px;line-height:28px;vertical-align:top}.simple-header .header-tool .tool-options .iconfont.up,.simple-header .header-tool .tool-options span.up{display:none}.simple-header .header-tool .tool-options .tool-select{display:none;position:absolute;width:74px;left:0;background:#eaeceb;z-index:6}.simple-header .header-tool .tool-options .tool-select a{display:block;padding:0 0 0 10px;border-top:1px solid #ddd}.simple-header .header-tool .tool-options:hover{background-color:#eaeceb}.simple-header .header-tool .tool-options:hover .iconfont.up{display:inline-block}.simple-header .header-tool .tool-options:hover .iconfont.down{display:none}.min-screen .yoho-header .header-topwrapper{min-width:990px}.min-screen .yoho-header .header-top{width:990px}.min-screen .yoho-header .header-navwrapper{min-width:990px}.min-screen .yoho-header .header-navcontent,.min-screen .yoho-header .header-wrapper{width:990px}.min-screen .yoho-header .icon-logo{left:39.2%}.min-screen .yoho-header .icon-logo .main-link{display:block;width:100%;height:100%}.min-screen .yoho-header .sub-nav-list{width:990px;min-width:990px}.min-screen .yoho-header .sub-nav-item{margin-right:15px}.min-screen .yoho-header .first-nav-item{float:left;padding:10px 14px 0;margin-right:3px}.min-screen .yoho-header .third-nav{width:990px}.min-screen .yoho-header .third-nav-wrapper{min-width:990px}.min-screen .yoho-header .category{width:800px}.min-screen .yoho-header .cate_row1{width:204px}.min-screen .yoho-header .cate_row2{width:244px;border-left:1px solid #ccc;padding-left:39px}.min-screen .yoho-header .cate_row3{width:163px;border-left:1px solid #ccc;padding-left:28px}.min-screen .yoho-header .category .thirdnavlist{width:200px}.min-screen .yoho-header .category-title{width:152px}.min-screen .yoho-header .showdetail{width:190px;padding-right:0}.min-screen .yoho-header .showdetail img{width:174px;height:155px}#cover{position:fixed;z-index:12}#cover,#cover .con{left:0;top:0;width:100%;height:100%}#cover .con{background:rgba(0,0,0,.6)!important;position:absolute;z-index:13;opacity:.5;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=50)"}#cover .tag_img_warpper{margin:0 auto;width:180px;height:168px}#cover .tag_img_warpper img{width:100%;height:100%}#cover .guide-box{background:#fff;margin:0 auto;height:400px;position:relative;z-index:14}#cover .guide-box .close{top:-15px;text-align:center;right:-15px;color:#fff;line-height:22px;font-size:24px;position:absolute;background:#000;border-radius:50px;border:currentColor;border-image:none;width:28px;height:28px;line-height:25px;display:block}#cover .guide-box li{padding:10px;width:200px;height:400px;float:left;box-sizing:border-box}#cover .guide-box li .go{margin:26px auto 0;width:100%;height:18px;text-align:center;color:#b0b0b0;line-height:18px;font-size:18px;font-style:italic;font-weight:lighter;display:block}#cover .guide-box li.girls{border-left-color:#eee;border-left-width:1px;border-left-style:solid}#cover .guide-box li.girls .goods-num{text-align:center;color:#bbb;line-height:12px;font-size:12px;margin-top:16px}#cover .guide-box li.lifestyle{border-left-color:#eee;border-left-width:1px;border-left-style:solid}#cover .guide-box li.lifestyle .goods-num{text-align:center;color:#bbb;line-height:12px;font-size:12px;margin-top:16px}#cover .guide-box li.kids{border-left-color:#eee;border-left-width:1px;border-left-style:solid}#cover .guide-box li.boys .goods-num,#cover .guide-box li.kids .goods-num{text-align:center;color:#bbb;line-height:12px;font-size:12px;margin-top:16px}#cover .boys .block_cn,#cover .girls .block_cn,#cover .kids .block_cn,#cover .lifestyle .block_cn{text-align:center;line-height:26px;font-size:26px;font-weight:700;margin-top:30px}#cover .boys .block_en,#cover .girls .block_en,#cover .kids .block_en,#cover .lifestyle .block_en{text-align:center;line-height:26px;font-size:26px;font-weight:700;margin-top:19px}#cover .boys .block_cn,#cover .boys .block_en{color:#000}#cover .girls .block_cn,#cover .girls .block_en{color:#ff88ae}#cover .kids .block_cn,#cover .kids .block_en{color:#7ad9f8}#cover .lifestyle .block_cn,#cover .lifestyle .block_en{color:#4f4037!important}#cover .boys .block_line,#cover .girls .block_line,#cover .kids .block_line,#cover .lifestyle .block_line{margin:20px auto 0;width:50px;height:0;border-bottom-color:#ccc;border-bottom-width:1px;border-bottom-style:solid}.yoho-footer{font-size:12px}.yoho-footer *{box-sizing:border-box}.yoho-footer .red{color:#e01}.yoho-footer .rgb6{color:#666}.yoho-footer .rgb9{color:#999}.yoho-footer .rgbf{color:#fff}.yoho-footer .index-foot{background:#eee;padding:20px 0}.yoho-footer .index-foot dd{float:left;width:370px;margin-right:20px;overflow:hidden}.yoho-footer .index-foot dd ul{margin-top:18px;padding-top:18px}.yoho-footer .index-foot dd.last{margin-right:0}.yoho-footer .foot-panel{background:#fff;padding:20px}.yoho-footer .title{position:relative;text-align:center}.yoho-footer .title-line{border-bottom:1px solid #ddd;position:absolute;top:9px;width:100%;left:0}.yoho-footer .text{position:absolute;width:100%;text-align:center;left:0;top:0}.yoho-footer .text span{background:#fff;font-size:18px;line-height:18px;padding:0 10px}.yoho-footer .item-nav{padding-top:20px}.yoho-footer .item-nav span{color:#fff;padding:0 3px;cursor:pointer;font-size:20px}.yoho-footer .item-nav .cur{color:#999}.yoho-footer .vote{line-height:24px}.yoho-footer .vote input{margin:0 5px 0 1px}.yoho-footer .vote .button{height:24px;line-height:24px;width:55px;font-size:12px;margin-top:11px;margin-right:10px;background:#222;color:#fff;display:inline-block;text-align:center;cursor:pointer}.yoho-footer .vote p{height:24px;overflow:hidden}.yoho-footer .vote textarea{width:98%;height:68px;vertical-align:middle;margin:5px 0 0;resize:none}.yoho-footer .vote-item p{float:left;width:50%}.yoho-footer .mobile{margin-right:-10px}.yoho-footer .mobile li{margin-right:10px;float:left}.yoho-footer .mobile img{display:block;width:103px;height:131px}.yoho-footer .index-banner{width:100%;margin-top:20px}.yoho-footer .two-dim{margin-right:-10px;overflow:hidden}.yoho-footer .two-dim li{border:1px solid #ddd;margin-right:10px}.yoho-footer .two-dim li a{display:block}.yoho-footer .two-dim li p{text-align:center;margin-top:13px;margin-bottom:10px;line-height:12px}.yoho-footer .dim-img{display:block;width:87px;height:87px;margin:7px}.yoho-footer .dim-hover{position:absolute}.yoho-footer .dim-hover img{width:38px;height:38px}.yoho-footer .dim-active .dim-img{opacity:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"}.yoho-footer .dim-active .dim-hover{display:none}.yoho-footer .footerbottom{width:100%}.yoho-footer .promise{padding:20px 0 10px;background:#000}.yoho-footer .promise .left{margin-right:60px;line-height:30px;font-size:12px;font-weight:700}.yoho-footer .promise .left .iconfont{display:inline-block;font-weight:400;font-size:22px;vertical-align:middle;margin-right:5px}.yoho-footer .promise .left:first-child .iconfont{font-size:27px}.yoho-footer .subscribe{border:1px solid #262626;width:240px}.yoho-footer .subscribe input{width:180px;height:32px;padding:0 10px;line-height:32px;border:none;margin:0;background:#000}.yoho-footer .subscribe a{display:block;float:right;margin-right:20px;font-size:20px;line-height:28px;opacity:.5;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=50)"}.yoho-footer .footer-help{background:#000;font-size:12px;overflow:hidden}.yoho-footer .footer-help>div{padding:15px 0;border-top:1px solid #262626}.yoho-footer .footer-help ul{width:110%}.yoho-footer .footer-help p{line-height:24px}.yoho-footer .footer-help p span{color:#fff}.yoho-footer .footer-help p a{color:#666}.yoho-footer .footer-help p a:hover{text-decoration:underline}.yoho-footer .footer-help li{width:180px}.yoho-footer .footer-help .screen{border-top:1px solid #262626;padding:15px 0}.yoho-footer .footer-link{background:#000;padding:10px 0 30px;font-size:12px}.yoho-footer .footer-link .right-flag{margin-top:3px}.yoho-footer .footer-link .right-flag a{margin-right:5px}.yoho-footer .footer-link .about-us{line-height:20px;color:#666;margin-left:10px}.yoho-footer .footer-link .about-us a{color:#666}.yoho-footer .footer-link .about-us span{padding:0 10px}.yoho-footer .return-top{position:fixed;width:60px;height:60px;left:50%;margin-left:595px;text-align:center;line-height:50px;color:#fff;background:#000;opacity:.5;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";bottom:20px;cursor:pointer;z-index:4}.yoho-footer .return-top .iconfont{font-size:34px}.yoho-footer .return-top:hover{opacity:.9;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=90)"}.yoho-footer .return-top.min{left:100%;right:20px;margin-left:auto}.min-screen .yoho-footer .index-foot dd{width:316px}.min-screen .yoho-footer .two-dim{margin-top:26px;margin-bottom:10px;overflow:hidden}.min-screen .yoho-footer .dim-img{width:69px;height:69px}.min-screen .yoho-footer .mobile{margin-top:26px;padding-bottom:15px}.min-screen .yoho-footer .mobile img{width:85px;height:108px}.min-screen .yoho-footer .promise .left{margin-right:45px}.min-screen .yoho-footer .subscribe{width:200px}.min-screen .yoho-footer .subscribe input{width:140px}.min-screen .yoho-footer .footer-help li{width:150px}.path-nav{font-size:12px;padding:15px 0;height:18px;line-height:18px}.path-nav,.path-nav a{color:#666}.path-nav .iconfont{font-size:12px}.path-nav .last{font-weight:700}.slider{position:relative;height:327px;width:100%;overflow:hidden}.slider img{max-width:100%;max-height:100%}.slide-pagination{position:absolute;left:0;right:0;bottom:12px;text-align:center}.slide-pagination-inner{display:inline-block;position:relative;padding:7px;vertical-align:middle}.slide-shade{position:absolute;left:0;right:0;top:0;bottom:0;background:#000;opacity:.3;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=30)";border-radius:13px}.slide-pagination-last span{display:block;float:left;position:relative;margin:0 7px;width:12px;height:12px;background:#fff;cursor:pointer;opacity:.6;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=60)";border-radius:6px;z-index:2}.slide-pagination-last span.focus{opacity:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"}.slide-switch{display:none}.slide-switch a{display:block;position:absolute;top:50%;margin:-30px 0 0;width:60px;height:60px;line-height:56px;text-align:center;z-index:2;background:#fff;opacity:.55;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=55)"}.slide-switch a .iconfont{font-size:32px;color:#59585a}.slide-switch a:hover{opacity:.9;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=90)"}.slide-switch .prev{left:0}.slide-switch .next{right:0}.slide-switch.show{display:block}.yoho-dialog{position:fixed;padding:20px;top:50%;left:50%;min-height:130px;min-width:350px;background:#f8f8f8;z-index:12;border:5px solid rgba(0,0,0,.38)}.yoho-dialog .close{position:absolute;top:5px;right:5px;cursor:pointer}.yoho-dialog .btns,.yoho-dialog .content{text-align:center}.yoho-dialog .alert-sure,.yoho-dialog .confirm-sure{background:#000;color:#fff}.yoho-dialog .btn{display:inline-block;width:56px;height:26px;line-height:26px;text-align:center;border:1px solid #000;cursor:pointer;margin-left:10px}.yoho-dialog .btn:first-child{margin-left:0}.yoho-dialog.alert-dialog .content,.yoho-dialog.confirm-dialog .content{width:350px;height:auto;min-height:90px;overflow:hidden;line-height:20px;position:relative;padding-top:40px;padding-bottom:20px}.yoho-dialog.alert-dialog .content p,.yoho-dialog.confirm-dialog .content p{position:absolute;left:0;bottom:25px;width:100%;color:#444;line-height:25px}.yoho-dialog.alert-dialog .content div,.yoho-dialog.confirm-dialog .content div{position:absolute;top:0;left:100px;padding-top:30px;font-size:22px;font-weight:700;width:150px;height:30px;line-height:30px;margin:0 auto}.yoho-dialog.alert-dialog .content div span,.yoho-dialog.confirm-dialog .content div span{background-image:url(../assets/img/sprite.cart.png?v155c47c08d8);background-position:0 -272px;float:left;width:27px;height:30px}.yoho-dialog.subcontent-dialog{padding:30px 0}.yoho-dialog.subcontent-dialog .content{font-weight:700;margin:0 auto 30px}.yoho-dialog.subcontent-dialog .sub-content{text-align:center;font-size:12px;color:#555;margin-left:5px;margin-bottom:5px}.yoho-dialog.subcontent-dialog .btn{margin-top:25px;width:100px;font-size:13px;margin-left:0;margin-right:0}.yoho-dialog.subcontent-dialog .btn.black{background-color:#000;color:#fff}.pager{font-size:12px}.pager a{height:24px;padding:0 9px;line-height:24px;display:inline-block;text-align:center;margin-right:8px;color:#222}.pager a.cur{color:#fff;background-color:#222}.pager a:first-child .iconfont{right:auto;left:-5px}.pager .iconfont{position:relative;vertical-align:middle;bottom:1px;right:-5px;font-size:14px}.err-page{width:650px;height:200px;overflow:hidden;margin:100px auto}.err-page .tips-404{float:left;height:200px;padding-left:20px}.err-page .tips-404 .tip{font-size:24px;color:#000;margin-top:55px}.err-page .tips-404 .links{font-size:12px;color:#666;margin-top:15px}.err-page:before{content:'';display:block;width:200px;height:200px;background:url(../assets/img/404.png?v155c47be998) 50% no-repeat;float:left}.share-wrapper{position:relative}.share-wrapper i{display:block;float:left;width:16px;height:16px;margin-left:5px;cursor:pointer}.share-wrapper .weibo{background-position:0 0}.share-wrapper .tweibo,.share-wrapper .weibo{background-image:url(../assets/img/sprite.share.png?v155c47c08d8)}.share-wrapper .tweibo{background-position:-18px 0}.share-wrapper .renren{background-position:0 -18px}.share-wrapper .qzone,.share-wrapper .renren{background-image:url(../assets/img/sprite.share.png?v155c47c08d8)}.share-wrapper .qzone{background-position:-18px -18px}.share-wrapper .qq{background-position:-36px 0}.share-wrapper .douban,.share-wrapper .qq{background-image:url(../assets/img/sprite.share.png?v155c47c08d8)}.share-wrapper .douban{background-position:-36px -18px}.share-wrapper .weixin{background-image:url(../assets/img/sprite.share.png?v155c47c08d8);background-position:0 -36px}.share-wrapper .weixin-share-box{display:none;position:absolute;width:282px;height:302px;padding-top:9px;text-align:center;font-family:Microsoft Yahei,Arial,Verdana;top:22px;right:-26px;z-index:2}.share-wrapper .weixin-share-box em,.share-wrapper .weixin-share-box em i{position:absolute;width:0;height:0;font-size:0;border-width:0 10px 9px;border-style:dashed dashed solid}.share-wrapper .weixin-share-box em{border-color:transparent transparent #d6d6d6;top:0;left:50%;margin-left:-10px}.share-wrapper .weixin-share-box em i{border-color:transparent transparent #e8e8e8;overflow:hidden;top:1px;left:-15px}.share-wrapper .weixin-share-box .con{position:relative;width:280px;height:300px;overflow:hidden;background-color:#fff;border:1px solid #d6d6d6;box-shadow:0 2px 4px #d1d1d1}.share-wrapper .weixin-share-box h2{display:block;height:46px;line-height:46px;background-color:#e8e8e8;color:#000;font-size:18px}.share-wrapper .weixin-share-box .pic,.share-wrapper .weixin-share-box .pic img{width:168px;height:168px}.share-wrapper .weixin-share-box .pic{overflow:hidden;margin:16px auto}.share-wrapper .weixin-share-box .w{font-size:13px;color:#9f9f9f;line-height:20px}.share-wrapper .weixin-share-box .close{position:absolute;width:45px;height:45px;line-height:45px;overflow:hidden;top:0;right:0;font-size:16px;color:#999}.product-search-page .goods-container{height:auto;padding:25px 0 0;position:relative;width:1160px}.product-search-page .goods-container .good-info{width:222px}.product-search-page .path-nav .last{font-weight:400}.product-search-page .path-nav .last span{font-weight:700}.min-screen .product-search-page .goods-container{height:auto;padding-top:25px;position:relative;width:1000px}.min-screen .product-search-page .goods-container .good-info{width:190px}.min-screen .product-search-page .goods-container .good-info .good-detail-img{height:255px}.min-screen .product-search-page .goods-container .block-next-page{width:190px;height:255px}.min-screen .product-search-page .filter-box .brand .attr-content{max-width:750px}.product-list-page .list-left{width:160px}.product-list-page .list-right{width:970px}.product-list-page .brand-banner{position:relative;height:150px;overflow:hidden}.product-list-page .brand-banner .opt-wrap{position:absolute;width:100%;height:32px;top:50%;margin-top:-16px;text-align:right}.product-list-page .brand-banner a,.product-list-page .brand-banner span{display:inline-block;height:20px;margin-right:5px;line-height:20px;border:1px solid #fff;padding:5px 10px;color:#fff;font-size:12px}.product-list-page .brand-banner .iconfont{font-size:13px}.product-list-page .brand-banner .brand-favor{margin-right:0;cursor:pointer}.product-list-page .brand-banner .coled{color:red}.product-list-page .brand-about{font-size:12px;line-height:150%}.product-list-page .sort-intro{margin-bottom:20px}.product-list-page .sort-intro .texts{width:386px;height:298px;padding:0 50px;border:1px solid #eaeceb;text-align:center;overflow:hidden}.product-list-page .sort-intro .name{font-size:30px;font-weight:700;margin-top:60px}.product-list-page .sort-intro .en-name{font-size:14px;font-weight:700}.product-list-page .sort-intro .desc{color:#666;margin-top:15px;font-size:12px;line-height:150%}.product-list-page .sort-intro .img{width:480px;height:300px}.product-list-page .sort-intro .key-entry{width:330px;margin:30px auto 0}.product-list-page .sort-intro .key-entry a{float:left;display:block;width:110px;line-height:20px;font-size:12px;color:#069;text-decoration:underline}.product-list-page .sell-signboard .left-list li{padding-left:0;height:auto;margin-bottom:10px;line-height:inherit}.product-list-page .sell-signboard .left-list li img{width:100%}.product-list-page.search-page .path-nav .last{font-weight:400}.product-list-page.search-page .path-nav .last span{font-weight:700}.min-screen .product-list-page .sort-intro .texts{width:346px;height:248px;padding:0 30px}.min-screen .product-list-page .sort-intro .name{margin-top:30px}.min-screen .product-list-page .sort-intro .img{width:400px;height:250px}.new-sale-page .sale-list-banner{width:100%;position:relative}.new-sale-page .sale-list-banner ul{overflow:hidden;width:100%;position:relative;z-index:1}.new-sale-page .sale-list-banner ul li{width:100%;height:100%;display:block;float:left;position:absolute;top:0;left:0}.new-sale-page .sale-list-pagation{z-index:2;position:absolute;left:0;bottom:50px;width:100%;height:20px;text-align:center}.new-sale-page .sale-list-pagation div{display:inline-block}.new-sale-page .sale-list-pagation span{display:block;width:20px;height:20px;background:url(../assets/img/product/default-normal.png?v155c47c0108);float:left;margin:0 10px;cursor:pointer}.new-sale-page .sale-list-pagation span.active{background:url(../assets/img/product/default-active.png?v155c47c0108)}.new-sale-page .header-title{position:relative;width:100%;height:42px;margin:20px 0;text-align:center;font-size:20px}.new-sale-page .header-title .count-wrap{position:relative}.new-sale-page .header-title .count{background:#fff;padding:0 5px;color:#999;font-size:12px;margin-top:6px}.new-sale-page .header-title .line-through{position:absolute;bottom:9px;left:0;right:0;height:1px;border-top:1px dotted #999}.new-sale-page .new-banner img{display:block;width:100%}.new-sale-page .new-brands{position:relative;width:100%;margin-top:25px}.new-sale-page .new-brands>*{float:left}.new-sale-page .new-brands .next,.new-sale-page .new-brands .pre{position:absolute;display:block;width:40px;height:40px;line-height:40px;color:#fff;background:#e0e0e0;text-align:center;top:50%;margin-top:-20px;cursor:pointer;opacity:.8;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=80)"}.new-sale-page .new-brands .next:hover,.new-sale-page .new-brands .pre:hover{opacity:.9;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=90)"}.new-sale-page .new-brands .pre{left:0}.new-sale-page .new-brands .next{right:0}.new-sale-page .new-brands .brands-wrap{position:relative;overflow:hidden;width:890px;height:76px;margin-left:40px}.new-sale-page .new-brands .brands{position:absolute;width:auto;height:76px}.new-sale-page .new-brands .brands li{float:left;margin-left:14px}.new-sale-page .new-brands .brands li a{display:block;width:164px;height:76px;line-height:76px;vertical-align:middle;text-align:center}.new-sale-page .new-brands .brands li img{vertical-align:middle;max-width:100%;max-height:100%;border:none}.new-sale-page .new-floor-title{position:relative;margin:35px auto;width:300px;height:31px;line-height:31px;font-size:18px;border:1px solid #000}.new-sale-page .new-floor-title .date{position:absolute;left:-1px;top:-1px;width:155px;height:33px;color:#fff;text-align:center;background:url(../assets/img/product/floor-title.png?v155c47c0108)}.new-sale-page .new-floor-title .title{float:right;margin-right:40px}.min-screen .new-sale-page .new-brands .brands-wrap{width:730px}.filter-box{border:1px solid #dfdfdf}.filter-box .section{padding:10px 15px;font-size:12px;border-top:1px solid #dfdfdf}.filter-box .section:first-child{border-top:none;padding:5px 15px}.filter-box .title{float:left;width:75px;line-height:30px;font-weight:700}.filter-box .attr-content{margin-left:75px}.filter-box .multi-select{display:inline-block;width:60px;height:18px;line-height:18px;border:1px solid #555;color:#555;text-align:center;cursor:pointer}.filter-box .attr{display:block;float:left;padding:0 10px;margin-right:30px;line-height:30px;cursor:pointer;color:#666;-moz-user-select:none}.filter-box .attr a{color:#666}.filter-box .attr:first-child{margin-left:0}.filter-box .attr.checked,.filter-box .attr.checked a{color:#e01}.filter-box .attr:hover{text-decoration:underline}.filter-box .color .attr{margin-right:0}.filter-box .checked .color-block{width:16px;height:16px;border:2px solid #222;padding:2px;background-size:100%!important}.filter-box .checked .color-block .sub-color-block{display:block;width:16px;height:16px;background-position:50%!important}.filter-box .checked-conditions{line-height:30px;background:#eaeceb}.filter-box .checked-conditions .title{margin-top:5px}.filter-box .checked-conditions .tag{display:block;float:left;padding:0 10px;margin:5px 30px 5px 0;background:#000;color:#fff;cursor:pointer}.filter-box .checked-conditions .color-block{height:14px;width:14px;border:1px solid #fff;margin-bottom:-3px;background-size:100%!important;background-position:50%!important}.filter-box .checked-conditions .clear-checked{margin-top:5px;color:#999;float:right}.filter-box .checked-conditions .clear-checked:hover{color:#468fa2}.filter-box .checked-conditions .close{font-size:14px}.filter-box .sort-pre .active .attr{border:1px solid #000}.filter-box .sort-pre .attr{position:relative}.filter-box .active .sort-up-icon{visibility:visible}.filter-box .sort-up-icon{position:absolute;width:15px;height:9px;left:50%;margin-left:-7px;bottom:-17px;z-index:3;visibility:hidden;background:url(../assets/img/product/senior-up.png?v155c47c0108) no-repeat;background-position:50% 0}.filter-box .sort-sub-wrap{width:100%}.filter-box .sort-sub-wrap .sort-sub{border-top:1px solid #eaeceb;margin-top:15px;padding:0 0 15px}.filter-box .sort-sub-wrap .sort-sub .attr{padding-top:15px}.filter-box .brand{position:relative}.filter-box .brand .attr{box-sizing:border-box;width:20%;height:30px;margin:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.filter-box .brand .attr-content{max-width:900px}.filter-box .brand .brand-opt{position:absolute;right:20px;top:15px;color:#555}.filter-box .brand .multi .attr.checked,.filter-box .brand .multi .attr.checked a{color:#000}.filter-box .brand .brand-more{margin-right:10px;cursor:pointer}.filter-box .brand .brands-index{float:left;line-height:30px;margin-right:5px;cursor:pointer}.filter-box .brand .brands-index span{margin:0 3px;-moz-user-select:none}.filter-box .brand .brands-index span:first-child{margin-left:10px}.filter-box .brand .brands-index span.hover{color:red}.filter-box .brand .brand-search{float:left;height:18px;line-height:18px;border:1px solid #b0b0b0;margin-top:5px;margin-left:10px}.filter-box .brand .brand-search input{float:left;border:none;width:100px;height:18px;padding:0}.filter-box .brand .brand-search .btn{position:relative;display:inline-block;top:-1px;width:55px;height:20px;line-height:20px;background:#3a3a3a;color:#fff;text-align:center;cursor:default}.filter-box .brand .panel-body{padding:15px 20px;background:#f4f7f6;margin-top:5px;margin-left:10px}.filter-box .brand .panel-body .ul-scroll{overflow:auto;min-height:30px;max-height:150px}.filter-box .btns{display:none;margin-top:10px;text-align:center}.filter-box .multi .btns{display:block}.filter-box .multi-select-cancel,.filter-box .multi-select-ok{width:55px;height:24px;border:none;background:#000;color:#fff;font-size:14px;margin-right:20px;cursor:pointer;outline:none;font-family:Microsoft YaHei}.filter-box .multi-select-cancel.dis,.filter-box .multi-select-ok.dis{background:#ccc}.filter-box .ud-price-range{margin-top:2px}.filter-box .limit{height:22px;width:42px;border:1px solid #ccc;padding:0}.filter-box .price-sep{margin:0 5px}.filter-box .price-sure{height:24px;width:44px;background:#333;color:#fff;margin-left:10px;outline:none;border:none;font-size:12px;cursor:pointer}.filter-box .color-block{display:inline-block;height:22px;width:22px;border:1px solid #ccc;margin-bottom:-6px;margin-right:5px;background-size:100%!important;background-repeat:no-repeat!important;background-position:50%!important}.filter-box .senior{padding-bottom:6px}.filter-box .senior .attr-content{position:relative}.filter-box .senior .senior-attr-wrap>.attr:hover{text-decoration:none}.filter-box .senior-attr-wrap{position:relative}.filter-box .senior-attr-wrap>.attr.hover,.filter-box .senior-attr-wrap>.attr:hover{font-weight:700}.filter-box .senior-attr-wrap>.attr.hover>.iconfont,.filter-box .senior-attr-wrap>.attr:hover>.iconfont{visibility:hidden}.filter-box .senior-attr-wrap>.attr.hover .senior-up-icon,.filter-box .senior-attr-wrap>.attr:hover .senior-up-icon{visibility:visible}.filter-box .senior-sub{box-sizing:border-box;position:absolute;padding:0 15px 15px 91px;left:-91px;right:-16px;top:39px;background:#fff;border:1px solid #dfdfdf;border-top:0;z-index:2}.filter-box .senior-sub ul{max-width:950px}.filter-box .senior-sub .multi-select{position:absolute;top:20px;right:15px}.filter-box .senior-sub .attr{height:30px}.filter-box .senior-sub.multi .multi-select{display:none}.filter-box .senior-baffle{height:18px;margin-top:-18px;background:none}.filter-box .senior-content{padding-top:15px;border-top:1px solid #eaeceb}.filter-box .senior-up-icon{position:relative;width:100%;height:9px;z-index:3;margin-left:-11px;visibility:hidden;background:url(../assets/img/product/senior-up.png?v155c47c0108) no-repeat;background-position:50% 0;top:-1px;top:1px\9}.filter-box .checkbox{display:none;float:left}.filter-box .multi .checkbox{display:block;color:#ccc;font-size:12px;margin-right:3px}.filter-box .multi .checkbox.checked{color:#000}.filter-box .multi .checkbox.checked+span{color:#000;font-weight:700}.min-screen .filter-box .brand .attr{width:25%}:root .senior-up-icon,_:-ms-fullscreen{top:1px}.sort-pager{height:48px;background:#f5f7f6;line-height:48px;margin:10px 0}.sort-pager .checks,.sort-pager .sort-type{color:#999;font-size:12px;padding:0 10px}.sort-pager .checks .iconfont,.sort-pager .sort-type .iconfont{font-size:12px}.sort-pager .checks.active,.sort-pager .checks.checked,.sort-pager .sort-type.active,.sort-pager .sort-type.checked{color:#000;font-weight:700}.sort-pager .checks.active .iconfont,.sort-pager .checks.checked .iconfont,.sort-pager .sort-type.active .iconfont,.sort-pager .sort-type.checked .iconfont{font-weight:100}.sort-pager .checks .iconfont{background:#fff}.sort-pager .sort-type:first-child .iconfont{display:none}.sort-pager .pager-wrap{float:right;padding:15px 0}.sort-pager .page-count{position:relative;height:18px;float:left;font-size:12px;line-height:18px}.sort-pager .page-count>span{float:left;display:block;width:42px;height:10px;line-height:10px;padding:3px;border:1px solid #ccc;color:#222;cursor:pointer;margin-right:10px;background:#fff}.sort-pager .page-count .iconfont{font-size:14px;color:#ccc;float:right}.sort-pager .page-count>ul{position:absolute;display:none;width:48px;border-left:1px solid #ccc;border-right:1px solid #ccc;background:#fff;z-index:1}.sort-pager .page-count li{padding:0 3px;border-bottom:1px solid #ccc}.sort-pager .page-count li:hover{background:#376cf7;color:#fff}.sort-pager .page-count a{display:block;width:100%}.sort-pager .page-orient{float:left;font-size:14px;line-height:15px;margin:0 20px}.sort-pager .page-orient .dis-icon{color:#e6e6e6}.sort-pager .page-orient i{color:red}.good-info{margin-bottom:35px;width:222px;margin-right:10px;float:left}.good-info .good-detail-img{width:100%;height:300px;position:relative}.good-info .good-detail-img .good-thumb,.good-info .good-detail-img img.lazy{display:block;overflow:hidden;width:100%;height:100%}.good-info .good-detail-img .few-tag{width:100%;position:absolute;left:0;height:16px;line-height:16px;background:#ffac5b;color:#fff;font-size:12px;text-align:center;bottom:0}.good-info .good-detail-text{color:#222;font-size:12px;text-align:left;overflow:hidden}.good-info .good-detail-text>a{margin-top:16px;line-height:1.5;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.good-info .good-detail-text>.price{margin-top:5px}.good-info .good-detail-text .brand a{color:#666;line-height:1.5}.good-info .good-detail-text .market-price{text-decoration:line-through;color:#999}.good-info .col-btn{position:absolute;top:15px;right:15px;color:#ccc;font-size:12px}.good-info .col-btn.coled{color:#f95b4f}.good-info .tag-container{font-size:12px;height:22px;line-height:22px}.good-info .tag-container .good-tag{float:left;box-sizing:border-box;display:block;height:22px;padding:0 7px;margin-right:3px;color:#fff}.good-info .tag-container .good-tag:nth-last-of-type(1){margin-right:0}.good-info .tag-container .new-tag{background:#78dc7d}.good-info .tag-container .renew-tag{background:#78dc7e}.good-info .tag-container .running-man-tag{background-color:#017df9;color:#f7ed02}.good-info .tag-container .sale-tag,.good-info .tag-container .yep-tag,.good-info .tag-container .ymp-tag{background:#ff565b}.good-info .tag-container .limit-tag{color:#4e4e4e;border:1px solid #4e4e4e}@keyframes a{0%{max-width:0}to{max-width:150px}}.good-item-wrapper{border:1px solid #ddd;padding-left:20px;padding-top:18px;padding-right:20px;position:absolute;background:#fff;display:none}.good-item-wrapper .good-info-main{float:left}.good-item-wrapper .col-btn{display:block}.good-item-wrapper .col-btn:hover{cursor:pointer}.good-item-wrapper .good-select-color{float:left;margin-top:22px;overflow:hidden;animation:a .6s 1}.good-item-wrapper .good-select-color ul{display:block;float:left;margin-left:15px}.good-item-wrapper .good-select-color li{width:50px;margin-bottom:15px}.good-item-wrapper .good-select-color li a,.good-item-wrapper .good-select-color li img{display:block;overflow:hidden;width:100%}.block-next-page,.good-item-wrapper .good-info{margin-right:10px}.block-next-page{width:222px;height:297px;padding-top:22px;margin-bottom:35px;float:left;cursor:pointer}.block-next-page a{display:block}.block-next-page a img{width:100%;height:100%;display:block;overflow:hidden}.latest-walk{overflow:hidden;border-top:2px solid #eaeceb;font-size:12px}.latest-walk h2{padding-top:15px;font-size:14px}.latest-walk .goods{min-width:984px;height:241px;margin:30px 0;overflow:hidden}.latest-walk .good{float:left;margin-right:14px;width:150px}.latest-walk img{display:block;width:150px;height:201px}.latest-walk .name{display:block;height:18px;line-height:18px;max-width:150px;margin:5px 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.latest-walk .market-price{color:#999;margin-right:5px;text-decoration:line-through}.latest-walk .sale-price{color:#000;font-weight:700}.min-screen .latest-walk .goods{width:820px;min-width:820px;height:301px}.min-screen .latest-walk .good{margin-right:10px;width:195px}.min-screen .latest-walk img{width:195px;height:261px}.product-page .sort-container{width:100%;font-size:12px;border-bottom:1px solid #ebebeb;padding-bottom:10px;margin-bottom:10px}.product-page .sort-container h2{height:28px;line-height:28px;color:#222;font-weight:700;position:relative}.product-page .sort-container h2 span{color:#bbb;padding-left:5px}.product-page .product-list-nav h3{height:28px;line-height:28px;color:#222;font-weight:700;position:relative;text-indent:10px;cursor:pointer}.product-page .product-list-nav h3 span{color:#bbb;padding-left:5px}.product-page .product-list-nav h3 span.icon-triangle{display:inline-block;padding-left:0;width:0;height:0;border-top:6px solid #fff;border-left:6px solid #000;border-bottom:6px solid #fff;position:absolute;top:50%;margin-top:-6px;left:0;transition:transform .3s}.product-page .product-list-nav.active .icon-triangle{transform:rotate(90deg)}.product-page .product-list-nav.active .sort-child-list{display:block}.product-page .sort-child-list{display:none}.product-page .sort-child-list li{color:#bbb}.product-page .sort-child-list li span{padding-left:5px;color:#bbb}.product-page .sort-child-list li.active{background:#333;color:#fff}.product-page .sort-child-list li.active a{color:#fff}.product-page .sort-child-list a{display:block;color:#666;padding-left:10px;height:22px;line-height:22px}.product-page .sort-child-list.new-sale{display:block}.product-page .nav-pic-title{height:35px;line-height:35px;color:#000;font-weight:700;border-bottom:1px solid #ebebeb;font-size:12px}.product-page .pic-nav{display:block}.product-page .pic-nav li{margin-bottom:10px}.product-page .pic-nav img,.product-page .pic-nav li{display:block;width:100%;overflow:hidden}.product-page .brand-ad img,.product-page .brand-card img{max-width:100%}.product-page .no-result{border:1px solid #eaeceb;padding:60px 0;text-align:center;margin-bottom:20px}.product-page .no-result .no-title{font-size:16px}.product-page .no-result .keyword{color:#e01}.product-page .no-result .search-again{width:490px;margin:15px auto}.product-page .no-result .search-again input{float:left;width:380px;height:18px;padding:15px 5px;border:10px solid #343434;color:#333;outline:none;box-sizing:content-box}.product-page .no-result .search-again .search-again-btn{float:left;width:80px;height:68px;line-height:68px;background:#343434;vertical-align:middle;color:#fff;cursor:pointer;outline:none;border:none}.product-page .no-result .search-again .iconfont{font-size:30px}.product-page .no-result .no-tip{font-size:12px;color:#999}.hotrank-page .popular-list{width:1160px}.hotrank-page .popular-list li{position:relative;float:left;width:378px;height:596px;overflow:hidden;list-style:none;margin:0 8px 0 0}.hotrank-page .popular-list li .item-img{width:100%;height:506px;line-height:506px;text-align:center;overflow:hidden}.hotrank-page .popular-list li img{display:block;width:100%;height:100%}.hotrank-page .popular-list .polular-icon{position:absolute;top:0;right:0;width:50px;height:50px;line-height:60px;background:#ffc513 url(../assets/img/product/hotrank/popular-icon.png?v155c47c0108) no-repeat 50%;text-align:center;color:#ffc513;font-weight:700}.hotrank-page .popular-list .item-content{width:100%;padding:14px 0 0;height:77px;overflow:hidden;text-align:center;color:#222;line-height:18px}.hotrank-page .popular-list .item-content h2{max-height:36px;font-size:12px;color:#000;line-height:18px;text-align:center;overflow:hidden}.hotrank-page .popular-list .item-content p{display:inline-block;margin:3px 0 0;font-size:12px;text-align:center;line-height:20px;color:#000}.hotrank-page .popular-list .item-content p span{text-decoration:line-through;margin:0 10px 0 0;color:#999}.hotrank-page .popular-list .popular-item6,.hotrank-page .popular-list .popular-item7,.hotrank-page .popular-list .popular-item8,.hotrank-page .popular-list .popular-item9{width:280px;height:464px;margin:0 10px 0 0;overflow:hidden}.hotrank-page .popular-list .popular-item6 .item-img,.hotrank-page .popular-list .popular-item7 .item-img,.hotrank-page .popular-list .popular-item8 .item-img,.hotrank-page .popular-list .popular-item9 .item-img{height:374px;line-height:374px}.hotrank-page .hot-week{position:relative;padding:0 0 40px}.hotrank-page .hot-cate{height:45px;background:#f5f7f6;overflow:hidden}.hotrank-page .hot-cate li{float:left;height:45px;line-height:45px;display:table-cell}.hotrank-page .hot-cate li a{vertical-align:middle;padding:0 26px;font-size:14px;color:#777;border-left:1px solid #999}.hotrank-page .hot-cate li:first-child a{border:none}.hotrank-page .hot-cate li.current a{font-size:16px;color:#000}.hotrank-page .hot-week-list{width:1160px}.hotrank-page .hot-week-list .good-info{width:280px;height:464px;margin:10px 10px 0 0}.hotrank-page .hot-week-list .good-info .tag-container{display:none}.hotrank-page .hot-week-list .good-info .good-detail-img{height:374px;line-height:374px;text-align:center;font-size:0}.hotrank-page .hot-week-list .good-info .good-detail-img img{vertical-align:middle}.hotrank-page .hot-week-list .good-info .good-detail-text{height:77px;overflow:hidden;text-align:center;color:#222;line-height:18px}.hotrank-page .hot-week-list .good-info .good-detail-text a{max-height:36px;font-size:12px;color:#000;line-height:18px;text-align:center;overflow:hidden}.hotrank-page .hot-week-list .good-info .good-detail-text p{display:inline-block;margin:3px 0 0;font-size:12px;text-align:center;line-height:20px;color:#000}.hotrank-page .hot-week-list .good-info .good-detail-text p .sale-price{margin:0 10px 0 0}.hotrank-page .floatlayer{display:none;position:fixed;top:50%;left:50%;margin:0 0 0 575px;opacity:0;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"}.hotrank-page .floatlayer li{width:42px;height:42px;border:2px solid #555;border-top:none;border-bottom-width:1px;text-align:center}.hotrank-page .floatlayer li a{position:relative;display:table-cell;width:42px;height:42px;vertical-align:middle;color:#555;font-size:12px}.hotrank-page .floatlayer li a span{display:inline-block;vertical-align:middle;width:28px;word-wrap:break-word}.hotrank-page .floatlayer li:first-child{border-top:1px solid #555}.hotrank-page .floatlayer li.current,.hotrank-page .floatlayer li:hover{background:#555}.hotrank-page .floatlayer li.current a,.hotrank-page .floatlayer li:hover a{color:#fff}.min-screen .hotrank-page{width:990px}.min-screen .hotrank-page .popular-list li{width:324px;height:521px}.min-screen .hotrank-page .popular-list li .item-img{height:434px;line-height:434px}.min-screen .hotrank-page .popular-list .popular-item6,.min-screen .hotrank-page .popular-list .popular-item7,.min-screen .hotrank-page .popular-list .popular-item8,.min-screen .hotrank-page .popular-list .popular-item9{width:240px;height:408px}.min-screen .hotrank-page .popular-list .popular-item6 .item-img,.min-screen .hotrank-page .popular-list .popular-item7 .item-img,.min-screen .hotrank-page .popular-list .popular-item8 .item-img,.min-screen .hotrank-page .popular-list .popular-item9 .item-img{height:320px;line-height:320px}.min-screen .hotrank-page .hot-week-list .good-info{width:240px;height:408px}.min-screen .hotrank-page .hot-week-list .good-info .good-detail-img{height:320px;line-height:320px}.shop-entry-area{width:100%;height:auto;overflow:hidden;display:none}.shop-entry-area .shop-entry:first-child{margin-left:0}.shop-entry{position:relative;background:#f5f7f6;border:1px solid #eaeceb;padding:12px 15px;width:49%;box-sizing:border-box;float:left;margin:0 0 10px 2%}.shop-entry .logo{width:80px;height:50px}.shop-entry .name{margin-left:10px;width:70%}.shop-entry .shop-name{font-size:16px;color:#222;line-height:26px;height:26px}.shop-entry .shop-name,.shop-entry .sorts{width:100%;display:block;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.shop-entry .sorts{color:#999;font-size:12px;line-height:18px;height:18px}.shop-entry .sorts a{color:#999}.shop-entry .entry-btn{position:absolute;right:15px;top:50%;width:110px;height:32px;line-height:32px;margin-top:-16px;background:#222;text-align:center;color:#fff;font-size:12px}.shop-entry .entry-btn .iconfont{font-size:12px}.goods-container{height:auto;padding:25px 0 0;position:relative;width:980px}.goods-container .good-info{width:235px}.product-detail-page .brand-banner{height:45px;width:100%}.product-detail-page .brand-banner img{display:block;height:45px}.product-detail-page .brand-banner .opt{margin-top:5px}.product-detail-page .brand-banner .brand-fav,.product-detail-page .brand-banner .home{display:inline-block;width:32px;height:32px;line-height:32px;border:1px solid #fff;text-align:center;color:#fff;cursor:pointer}.product-detail-page .brand-banner .home{margin-right:5px}.product-detail-page .brand-banner .home .iconfont{font-size:14px}.product-detail-page .brand-banner .brand-fav .iconfont{font-size:13px}.product-detail-page .brand-banner .coled{color:#ee0014}.product-detail-page .path-nav{border:none;margin-bottom:0}.product-detail-page .main{width:990px;margin:0 auto}.product-detail-page .main .infos{width:465px}.product-detail-page .main .img{position:relative;width:420px;height:560px}.product-detail-page .main .img-show{display:block;width:100%;height:100%}.product-detail-page .main .tags{position:absolute;top:0;left:0}.product-detail-page .main .good-tag{float:left;box-sizing:border-box;height:22px;line-height:22px;color:#fff;padding:0 7px;margin-right:5px;font-size:12px}.product-detail-page .main .new-tag{background:#78dc7d}.product-detail-page .main .renew-tag{background:#78dc7e}.product-detail-page .main .running-man-tag{background-color:#017df9;color:#f7ed02}.product-detail-page .main .sale-tag,.product-detail-page .main .yep-tag,.product-detail-page .main .ymp-tag{background:#ff565b}.product-detail-page .main .few-tag{background:#ffac5b}.product-detail-page .main .limit-tag{border:1px solid #4e4e4e;color:#4e4e4e;background:#fff}.product-detail-page .main .thumbs{width:75px;height:510px;margin-left:2px;overflow:hidden}.product-detail-page .main .thumb{display:block;width:75px;cursor:pointer;margin-bottom:2px}.product-detail-page .main .name{font-size:18px;font-weight:700;line-height:24px}.product-detail-page .main .sale-tip{color:#ee0014;padding-left:3px}.product-detail-page .main .brand-name{color:#666;font-size:12px}.product-detail-page .main .title{color:#999;font-size:12px}.product-detail-page .main .market-price{margin-top:8px}.product-detail-page .main .price{color:#000;font-size:22px;line-height:24px;font-weight:700}.product-detail-page .main .has-other-price{color:#999;text-decoration:line-through;font-size:12px}.product-detail-page .main .arrival-date{color:#ee0014;font-size:14px;font-weight:700;margin-left:24px}.product-detail-page .main .vip-price{line-height:14px;color:#222;margin-top:5px;background:url(../assets/img/product/vip-price-icon.png?v155c47c0108) no-repeat;padding-left:48px;font-size:12px}.product-detail-page .main .vip-price .cur,.product-detail-page .main .vip-price .login-url{color:#f02200}.product-detail-page .main .vip-price .vip-price-item{margin-left:5px}.product-detail-page .main .vip-price .vip-schedual{color:#999;text-decoration:underline;margin-left:5px}.product-detail-page .main .activity{margin-top:12px}.product-detail-page .main .activity li{line-height:20px}.product-detail-page .main .ac-type{display:inline-block;min-width:50px;max-width:100px;height:16px;line-height:16px;margin-right:5px;padding:0 5px;text-align:center;background:#999;color:#fff;font-size:12px;overflow:hidden;vertical-align:middle}.product-detail-page .main .ac-des{font-size:12px}.product-detail-page .main .row{margin-top:10px}.product-detail-page .main .trade-content{padding-top:20px;margin-top:20px;border-top:1px solid #eaeceb}.product-detail-page .main .chose-color{font-size:12px}.product-detail-page .main .chose-color .title{margin-top:14px}.product-detail-page .main .chose-color img{display:block;height:36px;width:36px;border:2px solid #fff}.product-detail-page .main .chose-color .focus img{border-color:#222}.product-detail-page .main .chose-color li{margin-right:5px;margin-bottom:5px;cursor:pointer}.product-detail-page .main .chose-size{font-size:12px}.product-detail-page .main .chose-size .title{margin-top:6px}.product-detail-page .main .chose-size li{float:left;display:block;height:22px;line-height:22px;margin-right:5px;margin-bottom:5px;padding:0 5px;border:1px solid #eaeceb;text-align:center;cursor:pointer;min-width:28px}.product-detail-page .main .chose-size li.disable{opacity:.5;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=50)"}.product-detail-page .main .chose-size li.focus{color:#fff;background:#222}.product-detail-page .main .size-wrapper{width:415px}.product-detail-page .main .size{float:left;color:#666}.product-detail-page .main .size-ruler{float:left;display:block;width:57px;height:24px;background:url(../assets/img/product/size-ruler.jpg?v155c47c0108);margin-bottom:5px;cursor:pointer}.product-detail-page .main .num-warn,.product-detail-page .main .size-warn{float:left;height:24px;line-height:24px}.product-detail-page .main .color-size-tip{color:#999;clear:both;line-height:18px}.product-detail-page .main .chose-count .title{margin-top:6px}.product-detail-page .main .num{display:block;width:38px;height:23px;line-height:23px;text-align:center;border:1px solid #eaeceb;color:#333;font-size:12px;background:#ebebe4}.product-detail-page .main .minus-plus{display:block;width:14px;height:23px;border:1px solid #eaeceb;border-left:none;text-align:center;cursor:pointer}.product-detail-page .main .minus-plus i{display:block;width:13px;height:11px;line-height:8px;font-size:12px;-moz-user-select:none}.product-detail-page .main .minus-plus .dis{color:#999}.product-detail-page .main .minus{border-top:1px solid #eaeceb;font-size:13px}.product-detail-page .main .lc-btn{float:left;display:block;width:80px;height:25px;line-height:25px;color:#fff;background:#222;margin-left:10px;font-size:12px;text-align:center;cursor:default}.product-detail-page .main .lc-btn.dis,.product-detail-page .main .lc-btn.had-lc,.product-detail-page .main .lc-btn.lc-sold-out{background:#ccc}.product-detail-page .main .num-wraper{position:relative}.product-detail-page .main .lc-container{position:absolute;top:-39px;right:-233px;z-index:1}.product-detail-page .main .lc-arrow{position:absolute;top:40px;left:-12px;width:13px;height:20px;background:url(../assets/img/product/arrow.png?v155c47c0108)}.product-detail-page .main .lc-content{box-sizing:border-box;width:220px;height:285px;text-align:center;background:#f8f8f8;border:1px solid #cecece;padding:40px 25px 0}.product-detail-page .main .lc-content .qr-code{width:137px;height:137px;background:url(../assets/img/product/top-good-qr.png?v155c47c0108);margin:0 auto}.product-detail-page .main .lc-content .title{font-size:18px;color:#000;margin:12px 0;line-height:24px}.product-detail-page .main .lc-content .sub-title{font-size:14px;color:#939290}.product-detail-page .main .buy-btn{display:inline-block;margin-right:10px;height:48px;line-height:48px;width:197px;text-align:center;color:#fff;background:#e92601;font-size:14px;cursor:pointer}.product-detail-page .main .buy-btn.hover{background:#eb3b19;background:rgba(233,38,1,.8)}.product-detail-page .main .buy-btn.dis{background:#ccc}.product-detail-page .main .collect-product,.product-detail-page .main .keep-shopping{display:inline-block;width:127px;height:48px;text-align:center;line-height:48px;background:#fff;color:#222;border:1px solid #ccc;font-weight:700;font-size:12px;cursor:pointer}.product-detail-page .main .collect-product .iconfont,.product-detail-page .main .keep-shopping .iconfont{color:#ccc;font-size:14px}.product-detail-page .main .collect-product.coled .iconfont,.product-detail-page .main .keep-shopping.coled .iconfont{color:#fa5252}.product-detail-page .main .share-row{margin-top:20px}.product-detail-page .main .share-row .title{margin-top:2px}.product-detail-page .main .balance{display:none}.product-detail-page .main .balance .success-tip{color:#222;font-size:18px;margin-bottom:10px}.product-detail-page .main .balance .cart-total{color:#999;font-size:12px}.product-detail-page .main .balance .balance-btns{margin-top:20px}.product-detail-page .other-infos{padding-bottom:30px}.product-detail-page .info-block{margin-top:30px;color:#999;border-top:2px solid #eaeceb;font-size:12px}.product-detail-page .info-block .basic{width:640px;margin:0 auto}.product-detail-page .info-block .basic li{float:left;width:25%;line-height:20px}.product-detail-page .info-block .comfort{width:470px;border:1px solid #eaeceb;margin:17px auto 0;padding-bottom:15px}.product-detail-page .info-block .comfort li{margin:12px 20px 0}.product-detail-page .info-block .comfort-block{display:inline-block;width:14px;height:10px;border:1px solid #eaeceb;margin-right:2px}.product-detail-page .info-block .comfort-block.cur{background:#999;border:1px solid #999}.product-detail-page .block-title{margin-bottom:25px;text-align:center}.product-detail-page .block-title .title{display:inline-block;padding-top:15px;font-weight:700;cursor:pointer}.product-detail-page .block-title .title.cur{color:#222;border-top:2px solid #222;margin-top:-2px}.product-detail-page .block-title .sep{display:inline-block;margin:0 30px;color:#eaeceb;font-size:14px;cursor:default;font-weight:700}.product-detail-page .description-content{overflow:hidden}.product-detail-page .material-content{display:none;overflow:hidden}.product-detail-page .material-detail li{width:860px;padding-bottom:20px;border-bottom:1px dotted #eaeceb;margin:0 auto 20px}.product-detail-page .material-detail li img{float:left;width:125px;height:50px}.product-detail-page .material-detail li .name{float:left;width:100px;line-height:25px;border-right:1px dotted #eaeceb;color:#666;font-weight:700;text-align:center;font-size:14px}.product-detail-page .material-detail li .text{float:left;width:614px;padding-left:20px;line-height:18px}.product-detail-page .wash{text-align:center}.product-detail-page .wash li{display:inline-block;padding:0 20px;color:#666;border-right:1px solid #eaeceb}.product-detail-page .size-info{text-align:center}.product-detail-page .fitting-report-table,.product-detail-page .reference-table,.product-detail-page .size-table{text-align:center;margin:0 auto}.product-detail-page .fitting-report-table th,.product-detail-page .reference-table th,.product-detail-page .size-table th{width:110px;text-align:center}.product-detail-page .fitting-report-table tr,.product-detail-page .reference-table tr,.product-detail-page .size-table tr{height:30px}.product-detail-page .fitting-report-table td,.product-detail-page .fitting-report-table tr,.product-detail-page .reference-table td,.product-detail-page .reference-table tr,.product-detail-page .size-table td,.product-detail-page .size-table tr{text-align:center}.product-detail-page .fitting-report-table thead,.product-detail-page .reference-table thead,.product-detail-page .size-table thead{background:#f5f7f6;color:#999}.product-detail-page .fitting-report-table tbody,.product-detail-page .reference-table tbody,.product-detail-page .size-table tbody{color:#222}.product-detail-page .fitting-report-table .avatar,.product-detail-page .reference-table .avatar,.product-detail-page .size-table .avatar{width:26px;height:26px;border-radius:50px}.product-detail-page .fitting-report-table .avatar-col,.product-detail-page .reference-table .avatar-col,.product-detail-page .size-table .avatar-col{width:26px;padding-left:20px;padding-right:20px}.product-detail-page .fitting-report-table .model-col,.product-detail-page .reference-table .model-col,.product-detail-page .size-table .model-col{width:90px}.product-detail-page .fitting-report-table .remark-col,.product-detail-page .reference-table .remark-col,.product-detail-page .size-table .remark-col{width:200px}.product-detail-page .fr-img-wrap{width:100%;text-align:center}.product-detail-page .fr-img-wrap img{max-width:100%}.product-detail-page .ref-model{padding-top:10px}.product-detail-page .ref-model .model{width:444px;height:35px;padding-top:47px;padding-left:316px;color:#666;overflow:hidden;margin:10px auto 0}.product-detail-page .ref-model .model em{margin-left:5px}.product-detail-page .size-tip{color:#999;margin-top:15px;text-align:center}.product-detail-page .details{text-align:center;font-size:12px;color:#999;line-height:18px}.product-detail-page .details-html{width:750px;text-align:center;margin:0 auto}.product-detail-page .details-html b{font-weight:700}.product-detail-page .details-html i{font-style:italic}.product-detail-page .consults{display:none}.product-detail-page .consult-comment .title,.product-detail-page .consult-comment .title.cur{color:#666}.product-detail-page .cc-content{background:#f5f7f6;padding:20px 20px 0;font-size:12px}.product-detail-page .cc-content h2{font-weight:700;font-size:14px;margin-bottom:10px;color:#000}.product-detail-page .cc-content li{border-top:1px solid #eaeceb;padding:20px 0}.product-detail-page .cc-content .user-info{color:#999;line-height:16px}.product-detail-page .cc-content .user-info>*{float:left}.product-detail-page .cc-content .user-info .name{color:#666}.product-detail-page .cc-content .user-info .date{color:#bbb}.product-detail-page .cc-content .user-info .question{color:#222}.product-detail-page .cc-content .user-avatar{width:30px;height:30px;margin-right:5px}.product-detail-page .cc-content .more-wrap{text-align:center;border-top:1px solid #eaeceb;padding:20px 0;font-size:14px;font-weight:700;color:#666}.product-detail-page .cc-content .btn-wrap{padding:20px 0;border-top:1px solid #eaeceb}.product-detail-page .cc-content .load-more{cursor:pointer}.product-detail-page .cc-content .btn{display:block;width:140px;height:32px;line-height:32px;color:#fff;background:#222;text-align:center;font-size:12px;margin:0 auto;cursor:pointer}.product-detail-page .cc-content .btn .iconfont{font-size:14px}.product-detail-page .cc-content .comment,.product-detail-page .cc-content .consult{margin-top:10px}.product-detail-page .cc-content .consults{display:none}.product-detail-page .new-consult{padding:20px 0;border-top:1px solid #eaeceb}.product-detail-page .new-consult textarea{width:590px;height:80px;padding:5px;outline:none;resize:none}.product-detail-page .new-consult .submit-consult{display:block;width:140px;height:32px;line-height:32px;margin:8px 0 0}.product-detail-page .new-consult .error{border-color:#e01}.product-detail-page .consult-success{border-top:1px solid #eaeceb;margin-top:30px;text-align:center;padding:20px 0}.product-detail-page .consult-success p{width:295px;height:55px;line-height:55px;margin:0 auto;border:2px solid #222;display:block;color:#222;font-weight:700}.product-detail-page .after-service{text-align:center;margin-top:30px}.product-detail-page .after-service .after-service-content{display:none}.product-detail-page .after-service .after-service-switch{height:44px;line-height:44px;background:#eaeceb;text-align:center;font-size:12px;cursor:pointer}.product-detail-page .after-service .after-service-switch .iconfont{font-size:12px}.product-detail-page .after-service .text{padding:20px 15px;background:#f5f7f6;text-align:left;color:#666;line-height:18px}.product-detail-page .after-service .orange{color:#f9761a}.product-detail-page .after-service h4{font-weight:700;font-size:14px;line-height:24px;color:#222;margin-top:10px}.product-detail-page .after-service h4:first-child{margin-top:0}.product-detail-page .after-service .img-1{width:715px;height:259px;margin:0 auto;background:url(../assets/img/product/after-service-1.png?v155c47c0108)}.product-detail-page .after-service .img-2{width:715px;height:230px;margin:0 auto;background:url(../assets/img/product/after-service-2.png?v155c47c0108)}.product-detail-page .after-service a{color:#666}.product-detail-page .service{width:403px;height:19px;margin:45px auto;background:url(../assets/img/product/service.png?v155c47c0108)}.product-detail-page .latest-walk{overflow:inherit}.product-detail-page .latest-walk .goods{width:1010px;margin:0 auto;height:auto}.product-detail-page .latest-walk .goods>div{float:left;width:180px;margin-right:22px}.product-detail-page .latest-walk img{height:240px;width:180px;display:block}.product-detail-page .latest-walk .name{display:block;margin-top:5px;color:#222;line-height:16px}.product-detail-page .latest-walk .price{color:#222;font-weight:700;margin-top:5px}.product-detail-page .latest-walk .market-price{margin-right:5px}.product-detail-page .latest-walk .has-sale{text-decoration:line-through;color:#999}.product-detail-page .warn-tip{display:inline-block;color:#e01;margin-left:7px;font-size:12px}.product-detail-page .warn-tip i{font-size:14px}.product-detail-page .hot-point-wrap{position:relative;margin:0 auto}.product-detail-page .hot-point-wrap .hot-point{position:absolute;background:#fff\9;filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=0)}.product-detail-page .hot-point-wrap .hot-point.hover .pointer{background-position:0 -25px}.product-detail-page .hot-point-wrap .hot-point.hover .hp-good{display:block}.product-detail-page .hot-point-wrap .pointer{position:absolute;display:block;background:url(../assets/img/product/hp-num.png?v155c47c0108) no-repeat 0 0;color:#fff;cursor:pointer;width:25px;height:25px;line-height:25px;text-align:center;left:0;top:0;font-size:18px}.product-detail-page .hot-point-wrap .hp-good{display:none;position:absolute;left:30px;top:0;width:210px;background:#000;height:60px;padding:10px}.product-detail-page .hot-point-wrap .hp-good .pic{display:block;float:left;width:60px;height:60px;margin-right:10px}.product-detail-page .hot-point-wrap .hp-good .info{position:relative;float:left;color:#fff;font-size:12px;width:140px;height:60px;line-height:20px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;text-align:left}.product-detail-page .hot-point-wrap .hp-good .check-btn{display:block;position:absolute;height:18px;width:40px;text-decoration:none;right:0;bottom:0;text-align:center;background:#e8e8e8;border-radius:2px}.shop-index-page{margin:10px auto 30px;width:1150px}.shop-index-page .shop-banner{position:relative}.shop-index-page .shop-banner .shop-name{position:absolute;left:260px;bottom:20px;font-size:36px;color:#fff}.shop-index-page .shop-banner .banner-img{width:100%;height:150px}.shop-index-page .shop-banner .opt-wrap{position:absolute;top:65%;right:0;padding:0 10px}.shop-index-page .shop-banner .shop-collect,.shop-index-page .shop-banner .shop-intro{display:inline-block;width:110px;height:30px;margin-right:10px;font-size:16px;line-height:30px;text-align:center;color:#fff;border:1px solid #fff;cursor:pointer}.shop-index-page .shop-banner .shop-collect i,.shop-index-page .shop-banner .shop-intro i{background-repeat:no-repeat;float:left;position:relative;left:11px;top:5px}.shop-index-page .shop-banner .shop-collect .shop-intro-ico,.shop-index-page .shop-banner .shop-intro .shop-intro-ico{width:16px;height:20px;background-image:url(../assets/img/product/shop-instro.png?v155c47c0108);margin-right:12px}.shop-index-page .shop-banner .shop-collect .shop-collect-ico,.shop-index-page .shop-banner .shop-intro .shop-collect-ico{width:20px;height:19px;background-image:url(../assets/img/product/shop-collection.png?v155c47c0108);top:6px;margin-right:12px}.shop-index-page .shop-banner .shop-collect .shop-collect-ico.on,.shop-index-page .shop-banner .shop-intro .shop-collect-ico.on{background-image:url(../assets/img/product/shop-collection-on.png?v155c47c0108)}.shop-index-page .shop-nav{box-sizing:border-box;margin-bottom:30px;padding:0 20px;width:100%;height:40px;color:#fff;background:#000;font-size:16px}.shop-index-page .shop-nav a{position:relative;top:8px;display:inline-block;line-height:26px;color:#fff}.shop-index-page .shop-nav .nav-item{position:relative;float:left;width:160px;text-align:center}.shop-index-page .shop-nav .nav-item.first{width:100px;text-align:left}.shop-index-page .shop-nav .current a{border-bottom:2px solid #fff}.shop-index-page .coupon{margin-top:20px;width:100%;height:80px}.shop-index-page .coupon .coupon-title{width:162px;height:100%;background-image:url(../assets/img/sprite.product.png?v155c47c08d8);background-position:0 0}.shop-index-page .slider-wrap{height:360px}.shop-index-page .slider-wrap .slide-wrapper img{width:auto;height:auto}.shop-index-page .slider-left{float:left;margin-right:10px;width:660px;height:100%;overflow:hidden;position:relative}.shop-index-page .slider-left .slide-wrapper{height:358px}.shop-index-page .slider-left .slide-switch a.prev{margin-left:-330px}.shop-index-page .slider-left .slide-switch a.next{margin-right:-330px}.shop-index-page .slider-left img{width:100%;height:100%}.shop-index-page .slider-left .slide-pagination{display:none}.shop-index-page .slider-right{float:left;width:300px;height:100%}.shop-index-page .slider-right .slider-item{display:block;margin-bottom:10px;width:100%;height:175px}.shop-index-page .floor-header{margin-top:50px}.shop-index-page .hot-single,.shop-index-page .new-arrivel{width:980px}.shop-index-page .hot-single .item,.shop-index-page .new-arrivel .item{float:left;position:relative;margin-right:10px;margin-bottom:20px;width:235px;height:315px;font-size:14px;text-align:center;line-height:1.5;background:#f5f5f5;font-weight:700}.shop-index-page .hot-single .item img,.shop-index-page .new-arrivel .item img{width:235px;height:250px}.shop-index-page .hot-single .item .title,.shop-index-page .new-arrivel .item .title{width:220px;padding:0 5px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.shop-index-page .hot-single .hat,.shop-index-page .new-arrivel .hat{position:absolute;top:0;right:0;width:50px;height:50px;color:#ffc513;text-align:center;line-height:57px;background-image:url(../assets/img/sprite.product.png?v155c47c08d8);background-position:0 -82px}.shop-index-page .mask{background-color:#000;opacity:.5;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";position:fixed;top:0;left:0;right:0;bottom:0;z-index:12;display:none;cursor:pointer}.shop-index-page .pop-shop-intro{display:none}.shop-index-page .shop-intro-bg{width:908px;height:604px;background-color:#000;opacity:.5;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";position:fixed;left:50%;top:50%;z-index:13;margin:-302px 0 0 -454px}.shop-index-page .shop-intro-area{width:898px;height:594px;padding:60px 10px 35px 40px;background-color:#fff;position:fixed;left:50%;top:50%;margin:-297px 0 0 -449px;z-index:14;box-sizing:border-box}.shop-index-page .shop-intro-area .close-btn{width:18px;height:18px;background-image:url(../assets/img/product/shop-instro-close.png?v155c47c0108);position:absolute;right:20px;top:20px;cursor:pointer}.shop-index-page .shop-intro-area .brand-cont{overflow:auto;width:100%;height:499px;padding-right:30px;box-sizing:border-box}.shop-index-page .shop-intro-area .intro-title{float:left}.shop-index-page .shop-intro-area .intro-title h2{width:100%;float:left;text-align:left;font-size:26px;font-weight:700;color:#000;font-style:italic}.shop-index-page .shop-intro-area .intro-title p{font-family:黑体;font-size:20px;text-align:left;padding:10px 0;float:left}.shop-index-page .shop-intro-area .intro-cont{width:100%;float:left;margin-top:55px;font-size:14px;line-height:20px}.shop-index-page .shop-intro-area .intro-cont p{text-indent:2em}.shop-index-page .shop-intro-area .intro-cont img{width:100%;margin-top:10px}.shop-index-page .fixed-area{background:#fff;z-index:1;width:970px}.shop-index-page .all-goods-menu{width:100%;height:40px;line-height:40px}.shop-index-page .all-goods-menu .menu-tag{color:#d0021b;font-size:18px;font-weight:700;text-align:left;padding:0 20px 0 10px;border-right:1px solid #000;float:left}.shop-index-page .all-goods-menu .menu-list{width:810px;height:40px;overflow:hidden;float:left;font-size:14px}.shop-index-page .all-goods-menu .menu-list li{display:inline-block;padding:0 15px}.shop-index-page .all-goods-menu .menu-list .on{background:#000;height:28px;line-height:28px}.shop-index-page .all-goods-menu .menu-list .on a{color:#fff}.shop-index-page .all-goods-menu .more{font-size:14px;float:right}.shop-index-page .sort-pager .sort-type:first-child .iconfont{display:inline-block}.shop-index-page .loading{position:relative;width:100%;text-align:center}.shop-index-page .loading a{display:block;height:35px;width:120px;margin:0 auto;background-color:#000;color:#fff;font-size:14px;line-height:35px;text-align:center}.shop-index-page .trend-info,.shop-index-page .trend-info .trend-list{width:100%}.shop-index-page .trend-info .trend-list li{float:left;width:316px;margin-left:10px;text-align:center}.shop-index-page .trend-info .trend-list li:first-child{margin-left:0}.shop-index-page .trend-info .trend-list img{width:100%;height:181px}.shop-index-page .trend-info .trend-list .main-title,.shop-index-page .trend-info .trend-list .sub-title{box-sizing:border-box;font-size:16px;margin-top:15px;padding:0 10px;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:24px}.shop-index-page .trend-info .trend-list .sub-title{margin-top:0;font-size:14px}.shop-index-page .goods-wrap .goods-container .good-info{width:235px;height:auto;margin-bottom:35px}.shop-index-page .goods-wrap .goods-container .good-detail-text{text-align:left}.shop-index-page .left-modular{width:160px;font-size:14px;margin-top:20px;float:left}.shop-index-page .left-modular .title{width:100%;height:25px;line-height:25px;background:#000;color:#fff;font-family:黑体;padding-left:14px;box-sizing:border-box}.shop-index-page .left-modular .left-list{width:100%;margin-top:5px}.shop-index-page .left-modular .left-list li{width:100%;height:42px;line-height:42px;background:#f5f5f5;float:left;box-sizing:border-box;margin-top:5px;padding-left:14px}.shop-index-page .left-modular .left-list li a{color:#000}.shop-index-page .left-modular .left-list li.on{border:1px solid #000}.shop-index-page .classic-recommend .left-list li{height:50px;line-height:50px}.shop-index-page .classic-recommend .classic-name{width:96px;display:inline-block;line-height:14px;vertical-align:middle;font-weight:700}.shop-index-page .classic-recommend .classic-name .name{font-size:14px}.shop-index-page .classic-recommend .classic-name .en-name{font-size:12px}.shop-index-page .classic-recommend img{width:40px;max-height:40px;margin-right:5px;vertical-align:middle}.shop-index-page .sell-recommend .left-list li{padding-left:0;height:auto;margin-bottom:25px;line-height:inherit}.shop-index-page .sell-recommend .left-list li img{width:100%}.shop-index-page ::-webkit-scrollbar{width:16px;height:16px}.shop-index-page ::-webkit-scrollbar-thumb,.shop-index-page ::-webkit-scrollbar-track{border-radius:999px;border:5px solid transparent}.shop-index-page ::-webkit-scrollbar-track{box-shadow:inset 0 0 6px transparent}.shop-index-page ::-webkit-scrollbar-thumb{min-height:20px;background-clip:content-box;box-shadow:inset 0 0 0 6px rgba(0,0,0,.3)}.shop-index-page ::-webkit-scrollbar-corner{background:transparent}.shop-index-page .page-nav{padding:7px 0;float:right;font-size:14px}.shop-index-page .page-nav .page-prev{width:33px;height:33px;background:#ccc;text-align:center;float:left}.shop-index-page .page-nav .arrow-left{width:10px;height:10px;display:inline-block;position:relative;top:-7px;background:url(../assets/img/product/arrow-left.png?v155c47c0108) no-repeat}.shop-index-page .page-nav a .page-next,.shop-index-page .page-nav a .page-prev{background:#000;color:#fff}.shop-index-page .page-nav .page-next{min-width:110px;height:33px;background:#a9a9a9;float:left;margin-left:1px;line-height:33px;padding-left:10px;box-sizing:border-box;padding-right:10px}.shop-index-page .page-nav .arrow-right{width:10px;height:10px;display:inline-block;vertical-align:middle;background:url(../assets/img/product/arrow-right.png?v155c47c0108) no-repeat}.shop-index-page .page-nav .pages{margin-left:10px}.product-page .product-pager{padding:20px 0;font-size:12px;color:#6a6a6a;border-top:2px solid #eaeceb}.product-page .product-pager .pager{float:right}.product-page .list-left{width:160px}.product-page .list-right{width:970px}.new-sale-page .goods-container,.product-list-page .goods-container{height:auto;padding-top:25px;position:relative;width:980px}.new-sale-page .goods-container .good-info,.product-list-page .goods-container .good-info{width:235px}.new-sale-page .goods-container .good-info .good-detail-img,.product-list-page .goods-container .good-info .good-detail-img{height:315px}.new-sale-page .goods-container .block-next-page,.product-list-page .goods-container .block-next-page{width:235px;height:315px}.new-sale-page .filter-box .brand .attr-content,.product-list-page .filter-box .brand .attr-content{max-width:730px}.min-screen .new-sale-page .list-right,.min-screen .product-list-page .list-right{width:810px}.min-screen .new-sale-page .goods-container,.min-screen .product-list-page .goods-container{height:auto;padding-top:25px;position:relative;width:820px}.min-screen .new-sale-page .goods-container .good-info,.min-screen .product-list-page .goods-container .good-info{width:195px}.min-screen .new-sale-page .goods-container .good-info .good-detail-img,.min-screen .product-list-page .goods-container .good-info .good-detail-img{height:261px}.min-screen .new-sale-page .goods-container .block-next-page,.min-screen .product-list-page .goods-container .block-next-page{width:195px;height:261px}.min-screen .new-sale-page .filter-box .brand .attr-content,.min-screen .product-list-page .filter-box .brand .attr-content{max-width:570px}.passport-page{width:1150px;margin-left:auto;margin-right:auto}.passport-page .content{float:left;margin-top:107px;padding-left:85px}.passport-page .input{height:43px;font-size:16px;line-height:1.2;line-height:43px\9;width:268px;border:1px solid #dbdbdb;text-indent:10px;color:#9a9a9a;color:rgba(0,0,0,.5)}.passport-page .error{border-color:red!important}.passport-page .btn{display:block;height:46px;line-height:46px;width:100%;text-align:center;color:#fff;background-color:#ff1901;letter-spacing:10px;font-size:20px;cursor:pointer}.passport-page .btn.disable{background-color:#555;cursor:default}.passport-page .pwd-intensity-container{width:270px;text-align:right;padding-top:5px}.passport-page .pwd-intensity-container .pwd-intensity{height:15px;font-size:12px;background-color:#e8e8e8;padding:0 10px;text-align:center;color:#b9b9b9}.passport-page .pwd-intensity-container.red .pwd-intensity{color:#e01}.passport-page .pwd-intensity-container.red .color{background:#e01;color:#fff}.passport-page .pwd-intensity-container.yellow .pwd-intensity{color:#f6da1e}.passport-page .pwd-intensity-container.yellow .color{background:#f6da1e;color:#fff}.passport-page .pwd-intensity-container.green .pwd-intensity{color:#3ee392}.passport-page .pwd-intensity-container.green .color{background:#3ee392;color:#fff}.passport-page .pwd-tips{position:absolute;top:-10px;left:285px;width:160px!important;height:72px;padding-top:7px;font-size:12px;background-image:url(../assets/img/sprite.passport.png?v155c47c08d8);background-position:0 0}.passport-page .pwd-tips>div{position:relative;height:22px;line-height:22px;margin-left:15px;padding-left:15px;font-size:12px;color:#b9b9b9}.passport-page .pwd-tips>div i{position:absolute;width:14px;height:14px;left:-2px;top:50%;margin:-7px 0 0;background-image:url(../assets/img/sprite.passport.png?v155c47c08d8);background-position:-63px -113px}.passport-page .pwd-tips>div.no{color:red}.passport-page .pwd-tips>div.no i{background-image:url(../assets/img/sprite.passport.png?v155c47c08d8);background-position:-95px -113px}.passport-page .pwd-tips>div.yes i{background-image:url(../assets/img/sprite.passport.png?v155c47c08d8);background-position:-79px -113px}.passport-page .email-autocomplete{position:absolute;width:248px;padding:0 10px;z-index:1;margin-top:5px;border-radius:5px;cursor:pointer;border:1px solid #fefefe;background-color:#161616;color:#fff;font-size:16px}.passport-page .email-autocomplete li{height:24px;line-height:24px}.passport-page .err-tip{position:absolute;font-size:14px;white-space:nowrap;top:8px;left:285px;padding:6px 0;color:red}.passport-page .err-tip i{display:block;float:left;height:14px;width:14px;background-image:url(../assets/img/sprite.passport.png?v155c47c08d8);background-position:-95px -113px;margin-right:5px}.passport-page .err-tip a{text-decoration:underline;color:red}.passport-page .page-tip{display:block;width:100%;height:30px;line-height:30px;text-align:center;font-size:20px;font-weight:700;color:#ccc;clear:both;margin-bottom:15px}.passport-cover{float:left;margin:107px 0;width:575px}.passport-cover .cover-content{width:100%;height:318px;padding:50px 0;border-right:1px solid #dfdfdf}.passport-cover .cover-img{display:block;width:252px;height:190px;margin:0 auto;margin-top:50px}.login-page .relative{position:relative}.login-page .right{float:right}.login-page .login-ul>li{margin-bottom:25px}.login-page .title{float:left;font-size:20px}.login-page .country-code{cursor:pointer;color:#b9b9b9}.login-page .country-list{display:none;position:absolute;padding:0 10px;background:#fff;border:1px solid #000;top:20px;right:0;z-index:1;border-radius:5px}.login-page .country-list li{height:20px;line-height:20px;color:#000}.login-page .captcha-wrap{position:relative}.login-page .captcha-wrap .err-tip{left:335px}.login-page .captcha{width:160px;float:left}.login-page .captcha-img{height:37px;width:90px;border:0;vertical-align:middle;outline:none;margin-left:10px;margin-top:4px;float:left}.login-page .change-captcha{position:absolute;top:0;right:-50px;cursor:pointer;float:left;height:43px;font-size:14px;line-height:43px;color:#ff1901}.login-page .remember-me{cursor:pointer}.login-page .other-opts{color:#b9b9b9;font-size:14px}.login-page .other-opts .iconfont{font-size:14px}.login-page .other-opts .fast-reg{color:#ff1901}.login-page .forget-password{color:#b9b9b9}.login-page .third-party-login{display:table}.login-page .third-party-login a{display:table-cell;width:45px;background-size:100% 100%}.login-page .third-party-login .icon{display:block;width:30px;height:30px;margin:0 auto}.login-page .third-party-login .weixin{background-image:url(../assets/img/sprite.passport.png?v155c47c08d8);background-position:-96px -81px}.login-page .third-party-login .qq{background-image:url(../assets/img/sprite.passport.png?v155c47c08d8);background-position:-128px -81px}.login-page .third-party-login .weibo{background-image:url(../assets/img/sprite.passport.png?v155c47c08d8);background-position:0 -81px}.login-page .third-party-login .alipay{background-image:url(../assets/img/sprite.passport.png?v155c47c08d8);background-position:0 -113px}.login-page .third-party-login .douban{background-image:url(../assets/img/sprite.passport.png?v155c47c08d8);background-position:-64px -81px}.login-page .third-party-login .renren{background-image:url(../assets/img/sprite.passport.png?v155c47c08d8);background-position:-32px -81px}.login-page .caps-lock{position:absolute;color:#666;border:#ffe57d;background:#fff6d2;white-space:nowrap;top:8px;left:278px;padding:0 20px;height:27px;line-height:30px}.register-page{font-size:14px;color:#b9b9b9}.register-page li{margin-bottom:25px;width:270px;position:relative}.register-page li input,.register-page li select{outline:none}.register-page li .input{height:43px;line-height:43px;font-size:16px;width:268px;border:1px solid #dbdbdb;text-indent:10px;color:#9a9a9a;padding:0}.register-page li .input.error{border:1px solid red}.register-page li .input.phone-num{width:209px;display:block;float:left;position:absolute;top:0;right:0}.register-page li .input.captcha,.register-page li .input.msg-captcha{width:160px;float:left}.register-page li .input.agree-terms{vertical-align:middle}.register-page li .send-captcha{top:0;background:#ff1901;position:absolute;width:100px;right:0;font-size:12px;text-indent:0;letter-spacing:0}.register-page li .send-captcha.disable{background:#555}.register-page li .link{text-decoration:underline;color:#ff1901}.register-page li .btn{height:45px;line-height:45px;color:#fff;border:none;padding:0;font-family:黑体,Regular;text-align:center}.register-page li .region{height:30px;padding:4px 0;width:132px;border-color:#c1c1c1;color:#9a9a9a;font-size:16px;font-family:黑体,Regular}.register-page li .country-code{width:58px;height:43px;line-height:43px;text-align:center;white-space:nowrap;border:1px solid #dbdbdb;border-right:0;font-size:16px;display:block;float:left}.register-page li .captcha-img{height:37px;width:90px;border:0;vertical-align:middle;outline:none;margin-left:10px;margin-top:4px;float:left}.register-page li .change-captcha{margin-left:10px;cursor:pointer;float:left;height:43px;line-height:43px}.register-page li .pwd-intensity-container{width:270px;text-align:right;margin-top:5px;height:auto;overflow:hidden}.register-page li .pwd-intensity-container .pwd-intensity{height:15px;font-size:12px;background-color:#e8e8e8;padding:1px 10px;text-align:center}.register-page li .pwd-intensity-container.red{color:red}.register-page li .pwd-intensity-container.red .color{background:red;color:#fff}.register-page li .pwd-intensity-container.yellow .color{background:#ff0;color:#fff}.register-page li .pwd-intensity-container.green .color{background:#3ee392;color:#fff}.register-page li .register-btn{width:270px;font-size:20px;font-weight:700;background:#ff1901}.register-page li .register-btn.disable{background:#555}.register-page li.w330{width:330px}.register-page li.items-container,.register-page li.quick-login-container{font-size:13px;text-align:right;white-space:nowrap}.register-page li.quick-login-container{width:270px}.register-page li.skip-user-info{font-size:18px;text-align:center}.register-page li.skip-user-info a{color:#ff1901;text-decoration:underline}.register-page .msg-tip{position:absolute;top:17px;left:285px;white-space:nowrap}.register-page .msg-tip:before{content:'';display:inline-block;width:12px;height:12px;margin-right:5px;background-image:url(../assets/img/sprite.passport.png?v155c47c08d8);background-position:-63px -129px}.register-page .err-tip{z-index:11;position:absolute;height:30px;line-height:30px;color:red;background-color:#ffebeb;border:1px solid #ffbdbe;padding:0 10px}.register-page .err-tip b{display:block;position:absolute;top:30px;left:20px;background-image:url(../assets/img/sprite.passport.png?v155c47c08d8);background-position:-111px -113px;width:17px;height:9px}.register-page .success-box{font-size:14px;color:#b9b9b9;margin-top:130px}.register-page .success-box .success-text{line-height:29px;padding-left:46px;font-size:16px;color:#000}.register-page .success-box .success-text span{font-size:22px}.register-page .success-box .success-text #count-down{color:#ff1901}.register-page .success-box .success-text:before{content:'';display:inline-block;background-image:url(../assets/img/sprite.passport.png?v155c47c08d8);background-position:-32px -113px;width:29px;height:29px;margin-right:5px;position:relative;top:6px}.register-page .success-box .success-btn{display:block;margin:46px auto 0;width:270px;height:45px;line-height:45px;background:#ff1901;text-align:center;color:#fff;letter-spacing:2px}.back-page{font-size:14px}.back-page .content{margin:175px 0 0!important}.back-page .back-header{position:relative;width:268px;line-height:40px;margin-bottom:5px}.back-page .back-header .country-code{float:right;cursor:pointer;color:#b9b9b9}.back-page .back-header .country-code .iconfont{font-size:14px;vertical-align:middle}.back-page .title{float:left;margin:0}.back-page .title,.back-page .title2{font-size:22px;line-height:40px;color:#000;font-weight:400}.back-page .title2{margin:0 0 5px}.back-page .err-tip.captcha-err{top:10px;left:326px}.back-page .country-code-list{display:none;position:absolute;padding:0 10px;color:#000;background-color:#fff;border:1px solid #000;margin-top:5px;cursor:pointer;z-index:9;top:30px;right:0;border-radius:5px}.back-page .country-code-list li{height:20px;line-height:20px}.back-page .input-container-li{position:relative;margin-bottom:22px}.back-page .input-container-li .btn{width:270px;height:45px;line-height:45px;cursor:pointer;font-size:20px;border:none;letter-spacing:0}.back-page .input-container-li .captcha{width:160px}.back-page .input-container-li .captcha-img{height:37px;width:90px;border:0;margin-left:10px;vertical-align:middle;outline:none;cursor:pointer}.back-page .input-container-li .change-captcha{color:#ff1901;font-size:12px;text-decoration:underline;margin-left:10px;cursor:pointer}.send-email-page{font-size:14px}.send-email-page .content{margin:216px 0 0!important}.send-email-page .send-tips{line-height:28px;color:#4c4c4c;text-align:center;font-size:15px}.send-email-page .send-tips .iconfont{margin:0 8px 0 0}.send-email-page .no-find{margin:10px 0 0;line-height:20px;color:#a5a4a4;text-align:center}.send-email-page .to-my-email a{display:block;margin:53px auto 0;width:270px;height:45px;line-height:45px;background:#ff1901;text-align:center;color:#fff;letter-spacing:2px}.verification-page .content li{position:relative;margin-bottom:43px}.verification-page .content .btn{display:inline-block;border:none}.verification-page .content .head-title{font-size:24px;color:#000}.verification-page .content .pn-label{color:#828282;font-size:16px}.verification-page .content .country-code{margin:0 10px}.verification-page .content .country-code,.verification-page .content .phone-num{color:#000;font-size:16px}.verification-page .content .captcha{width:160px!important}.verification-page .content .send-captcha{width:133px;font-size:12px;position:relative;top:-1px;letter-spacing:0}.verification-page .content .err-tip{left:310px}.verification-page .content .captcha-tips{position:absolute;top:50px;color:#a5a4a4}.verification-page .content .captcha-tips .iconfont{color:#0f9acd;font-size:14px;margin:0 8px 0 0;vertical-align:12%}.reset-success-page .content{margin:255px 0 0!important}.reset-success-page .success-text{line-height:35px}.reset-success-page .success-text .iconfont{font-size:30px;color:#ee3f14}.reset-success-page .success-text span{font-size:24px;margin:0 18px}.reset-success-page .success-text #count-down{color:#ee3f14}.reset-success-page .success-btn{display:block;margin:43px auto 0;width:269px;line-height:269px;height:45px;line-height:45px;font-size:14px;color:#fff;text-align:center;background-color:#ff1901}.welcome-page{text-align:center;color:#7f7f7f}.welcome-page .content{padding-top:82px}.welcome-page .wel-title{font-size:30px;margin-bottom:30px}.welcome-page .wel-title em{font-style:normal;color:#ff1901}.welcome-page .wel-sub-title{font-size:16px;margin-bottom:60px}.welcome-page .link{display:block}.welcome-page .link span{color:#7f7f7f}.welcome-page .link-img{height:91px;width:91px;background-size:100% 100%;margin-bottom:10px}.welcome-page .go-shopping{float:left;padding-left:100px}.welcome-page .go-shopping div{background-image:url(../assets/img/passport/go-shopping.png?v155c47c0108)}.welcome-page .complete-info{float:right;padding-right:100px}.welcome-page .complete-info div{background-image:url(../assets/img/passport/edit-info.png?v155c47c0108)}.yohobindbtn{display:block;width:210px;height:45px;line-height:45px;background-color:#f02200;color:#fff;font-size:16px;text-align:center}.hide{display:none}.novisiable{visibility:hidden}.actlevel{background-color:#f02200!important;color:#fff!important}.mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:15;overflow:hidden;-webkit-overflow-scrolling:touch;outline:0}.bindwrapper{margin:0 auto;width:980px;min-height:450px;padding-top:122px}.welcomeword{width:100%;text-align:center;font-size:22px;line-height:22px;color:#545454;margin-bottom:15px}.welcomeword .yoho{color:#e12000}.safeword{width:100%;text-align:center;font-size:16px;line-height:16px;color:#545454;margin-bottom:63px}.yohobindrow{width:485px;margin:0 auto 22px;height:40px}.yohobindrow .name{float:left;text-align:right;margin-right:14px;width:96px}.yohobindrow .areatag{height:30px;line-height:30px}.yohobindrow .phonetag,.yohobindrow .setpwdtag{height:47px;line-height:47px}.yohobindrow .content{float:left;text-align:left;margin-top:0;padding-left:0}.yohobindrow .errinfo{color:#f02200;line-height:49px;margin-left:5px}.yohobindrow:after{display:block;content:'';clear:both}.sendnotify{width:260px;text-align:left;margin:0 auto 18px}.validaterow{margin:0 auto 22px;padding-left:248px}.validaterow .name{float:left;text-align:right;margin-right:14px;width:96px}.validaterow .areatag{height:30px;line-height:30px}.validaterow .phonetag{height:47px;line-height:47px}.validaterow .content{float:left;text-align:left}.validaterow .content .err-tip{left:430px}.validaterow .validatewrapper{float:left;height:45px;width:133px;text-align:center;line-height:45px;background-color:#d8d8d8;color:#000;font-size:13px;margin-left:18px}.validaterow .validatewrapper .yohobindbtn{width:133px;font-size:13px}.validaterow:after{display:block;content:'';clear:both}.validatepicrow{overflow:hidden;margin:0 auto 22px;padding-left:250px}.validatepicrow .name{float:left;text-align:right;margin-right:14px;width:96px}.validatepicrow .areatag{height:30px;line-height:30px}.validatepicrow .phonetag{height:47px;line-height:47px}.validatepicrow .content{float:left;text-align:left}.validatepicrow .validatewrapper{float:left;height:45px;text-align:center;line-height:45px;color:#000;font-size:13px;margin-left:18px}.validatepicrow .validatewrapper .yohobindbtn{width:133px;font-size:13px}.validatepicrow .change-captcha{cursor:pointer;color:#f02200;text-decoration:underline}.validatepicrow:after{display:block;content:'';clear:both}.setpwdwrapper{margin-bottom:10px;height:45px}.safelevel{width:291px;margin:0 auto;text-align:right}.safelevel,.safelevel span{height:15px;font-size:10px;color:#000}.safelevel span{width:28px;line-height:15px;background-color:#e5e5e5;margin-right:4px;padding:1px 8px}.green .color{background-color:#0f0;color:#fff}.yellow .color{background-color:#ff0;color:#fff}.red .color{background-color:red;color:#fff}.yohoselectarea{position:relative;box-sizing:border-box;width:131px;height:33px}.yohoselectarea .optionshow{width:100%;height:100%;padding-left:16px;border:1px solid #d9d9d9}.yohoselectarea .optionshow .areaname{display:block;float:left;width:110px;height:100%;line-height:33px;font-size:13px;color:#000}.yohoselectarea .optionshow .righttag{display:block;float:left;width:21px;height:100%;line-height:33px;background-color:#d8d8d8;background-image:url(../assets/img/passport/arrowbottom.png?v155c47c0108);background-repeat:no-repeat;background-position:50%}.yohoselectarea .optionslist{background-color:#fff;position:absolute;top:35px;left:0;width:149px;z-index:2}.yohoselectarea .optionslist .optionitem{height:33px;line-height:33px;padding-left:16px;font-size:13px}.yohoselectarea .optionslist .optionitem:hover{background-color:#dfdfdf}.yohophonewrapper{width:271px;height:47px;border:1px solid #d9d9d9;position:relative}.yohophonewrapper .areanum{float:left;height:100%;width:63px;line-height:47px;text-align:center;color:#000;background-color:#d8d8d8}.yohophonewrapper .phonenum{outline:none;box-sizing:border-box;float:left;height:45px;width:205px;line-height:38px;padding-left:8px;border:none;color:#000}.yohophonewrapper .pwdcontent,.yohophonewrapper .validatenum{width:100%}.protoctolwrapper{width:350px;margin:38px auto 0;padding-left:85px;overflow:hidden}.protoctolwrapper .choosewrapper{float:left;width:13px;height:13px;background-color:#4c4c4c;background-image:url(../assets/img/passport/choosed.png?v155c47c0108);background-position:50%;background-repeat:no-repeat;margin-right:14px}.protoctolwrapper .choosetag{width:110%;height:110%;display:block;opacity:0;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";margin:0}.protoctolwrapper span{float:left;color:#666;font-size:13px;line-height:14px}.protoctolwrapper .protoctol{color:#f02200;text-decoration:underline}.protoctolwrapper:after{display:block;content:'';clear:both}.confirmwrapper{overflow:hidden;margin-top:47px!important}.btnwrapper{width:350px;margin:20px auto 0;padding-left:85px}.thirdloginwrapper{margin:0 auto;width:1150px;min-height:450px;padding-top:160px}.thirdloginwrapper .safeword{margin-bottom:30px}.thirdloginwrapper .left{box-sizing:border-box;float:left;width:450px;height:318px;border-right:1px solid #e5e5e5}.thirdloginwrapper .right{box-sizing:border-box;float:right;width:696px;padding-top:64px;height:318px}.thirdloginwrapper .completeprofile,.thirdloginwrapper .gobuy{float:left;display:inline-block;width:94px;height:94px;line-height:94px;text-align:center;border-radius:50%;background-color:#f02200;color:#fff}.thirdloginwrapper .gobuy{margin-left:228px;margin-right:80px}.bindsuccesswrapper{margin:0 auto;width:1150px;min-height:450px;padding-top:160px}.bindsuccesswrapper .successwrapper{width:320px;height:29px;margin:0 auto 16px}.bindsuccesswrapper .successwrapper .successtag{display:inline-block;margin-right:28px;float:left;width:29px;height:29px;background-image:url(../assets/img/passport/bindsuccess.png?v155c47c0108);background-repeat:no-repeat}.bindsuccesswrapper .successwrapper .congratulation{display:inline-block;height:29px;line-height:29px;font-size:22px}.bindsuccesswrapper .info{text-align:center;font-size:16px;margin-bottom:48px}.bindsuccesswrapper .gobuynow{margin:0 auto}.bindconfrimwrapper{width:900px;height:439px;margin:-217px auto;background-color:#fff;box-sizing:border-box;padding-top:37px}.bindconfrimwrapper .topwrapper{width:281px;height:90px;margin:0 auto 32px}.bindconfrimwrapper .topwrapper .userphoto{width:90px;height:90px;vertical-align:middle;border-radius:50%;margin-right:22px}.bindconfrimwrapper .topwrapper .username{vertical-align:middle;display:inline-block;width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700;color:#545454}.bindconfrimwrapper .usertaginfo{text-align:center;font-size:18px;font-weight:700;color:#545454;margin-bottom:15px}.bindconfrimwrapper .usertagremind{text-align:center;font-size:16px;color:#888;margin-bottom:47px}.bindconfrimwrapper .otherphone{margin:0 auto 64px}.bindconfrimwrapper .logindirectly{display:block;text-align:center;text-decoration:underline;color:#f02200}.yohobindbtn[disabled]{background-color:#e5e5e5;cursor:not-allowed}.gobindwrapper{width:100%;height:45px;margin-bottom:70px}.gobindwrapper .myphone{float:left;margin-left:20px;width:193px}.gobindwrapper .logindirectly{display:inline-block}.gobindwrapper .validaterow{overflow:hidden;margin:0 auto 22px;padding-left:222px;float:left}.gobindwrapper .validaterow .name{float:left;text-align:right;margin-right:14px;width:96px}.gobindwrapper .validaterow .areatag{height:30px;line-height:30px}.gobindwrapper .validaterow .phonetag{height:47px;line-height:47px}.gobindwrapper .validaterow .content{float:left;text-align:left}.gobindwrapper .validaterow .content .validatacode{outline:none;box-sizing:border-box;float:left;height:45px;width:113px;line-height:38px;padding-left:8px;border:1px solid #d9d9d9;color:#000}.gobindwrapper .validaterow .validatewrapper{float:left;height:45px;width:133px;text-align:center;line-height:45px;background-color:#d8d8d8;color:#000;font-size:13px;margin-left:18px}.gobindwrapper .validaterow .validatewrapper .yohobindbtn{width:133px;font-size:13px}.gobindwrapper:after{display:block;content:'';clear:both}.gobindbottomwrapper{width:100%;padding-left:341px}.gobindbottomwrapper .logindirectly{display:inline-block;float:left;margin-right:36px;text-decoration:underline;color:#f02200}.pwd-tips{position:absolute;z-index:11;top:-10px;left:285px;width:160px!important;height:72px;padding-top:7px;font-size:12px;background-image:url(../assets/img/sprite.passport.png?v155c47c08d8);background-position:0 0;background-color:#fff}.pwd-tips>div{position:relative;height:22px;line-height:22px;margin-left:15px;padding-left:15px;font-size:12px;color:#b9b9b9}.pwd-tips>div i{position:absolute;width:14px;height:14px;left:-2px;top:50%;margin:-7px 0 0;background-image:url(../assets/img/sprite.passport.png?v155c47c08d8);background-position:-63px -113px}.pwd-tips>div.no{color:red}.pwd-tips>div.no i{background-position:-95px -113px}.pwd-tips>div.no i,.pwd-tips>div.yes i{background-image:url(../assets/img/sprite.passport.png?v155c47c08d8)}.pwd-tips>div.yes i{background-position:-79px -113px}.tip-panel{position:absolute;display:none;width:248px;padding:0 10px;z-index:9;background-color:#161616;border:1px solid hsla(0,0%,100%,.7);margin-top:5px;cursor:pointer;border-radius:5px}.tip-panel li{height:20px;line-height:20px;color:#b9b9b9}.err-tip{position:absolute;font-size:14px;white-space:nowrap;top:8px;left:285px;padding:6px 0;color:red}.err-tip i{display:block;float:left;height:14px;width:14px;background-image:url(../assets/img/sprite.passport.png?v155c47c08d8);background-position:-95px -113px;margin-right:5px}.err-tip a{text-decoration:underline;color:red}.backdrop{position:fixed;background:#000;width:100%;height:100%;left:0;top:0;bottom:0;right:0;opacity:.5;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=50)"}.err-info{display:none;z-index:11;position:absolute;top:-41px;left:0;height:30px;line-height:30px;color:red;background-color:#ffebeb;border:1px solid #ffbdbe;padding:0 10px}.err-info b{background:url(../assets/img/passport/angle.png?v155c47c0108);position:absolute;height:9px;width:17px;top:30px;left:10px}.third-relate-page{min-height:600px}.third-relate-page .relate-main{padding-top:100px}.third-relate-page .user-wrapper{width:280px;margin:0 auto}.third-relate-page .user-wrapper .user-thumb{width:94px;height:94px;border-radius:50%;display:inline-block;overflow:hidden}.third-relate-page .user-wrapper .user-thumb img{width:100%;height:100%}.third-relate-page .user-wrapper label{width:190px;line-height:94px;margin-left:20px;font-size:18px;font-weight:700;color:#545454;word-break:keep-all;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;position:absolute}.third-relate-page .remind-info{width:490px;min-height:54px;padding-left:50px;margin:35px auto;background:url(../assets/img/passport/warn.png?v155c47c0108) no-repeat;text-align:center}.third-relate-page .remind-info h3{font-size:18px;font-weight:700;color:#545454;margin-bottom:12px}.third-relate-page .remind-info a{color:#f22c26;text-decoration:underline;cursor:pointer}.third-relate-page .remind-info p{font-size:16px;color:#888}.third-relate-page .option-btn{text-align:center}.third-relate-page .option-btn a{width:192px;height:46px;color:#fff;font-size:18px;line-height:46px;display:inline-block;background-color:#f12200;cursor:pointer}.third-relate-page .option-btn a:first-child{margin-right:14px}.third-relate-page .remind-tips{width:390px;margin:0 auto;font-size:14px;color:#888;text-align:center;margin-top:30px;text-decoration:underline;display:block}.third-relate-page .remind-tips a{color:#f12200;cursor:pointer}.third-relate-page .remind-tips>*{text-decoration:underline}.third-relate-page .code-validate{padding-top:140px}.third-relate-page .action-link{width:440px;margin:0 auto;padding-left:180px;color:#545454;line-height:46px}.third-relate-page .action-link .code-name{margin-left:-100px;position:absolute}.third-relate-page .action-link input{width:260px;height:40px;padding-left:10px;font-size:16px;margin-right:14px}.third-relate-page .action-link label{width:140px;height:46px;font-size:14px;color:#fff;background-color:#f12200;display:inline-block;text-align:center;cursor:pointer}.third-relate-page .action-link .count-down{color:#979797;background-color:#d8d8d8;display:none}.third-relate-page .action-link .code-error{position:absolute;width:200px;display:inline-block;color:red;padding-left:10px}.third-relate-page .action-link .code-error i{display:inline-block;height:14px;width:14px;background-image:url(../assets/img/sprite.passport.png?v155c47c08d8);background-position:-95px -113px;vertical-align:middle;margin-right:5px;margin-top:-2px}.third-relate-page .waiting .get-code{display:none}.third-relate-page .waiting .count-down{display:inline-block}.third-relate-page .relate-btn{width:212px;height:46px;font-family:arial,Microsoft YaHei;color:#fff;font-size:18px;background-color:#f12200;border:0;outline:none;margin:20px 0}.guang-page{width:1150px;margin:0 auto}.guang-page .left-side{float:left;width:830px}.guang-page .right-side{float:left;width:290px;margin-left:30px}.guang-page .bg-img.blink,.guang-page img.blink{opacity:.8;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=80)"}.guang-page .ex-reco-title{color:#333;line-height:24px;padding-bottom:10px;border-bottom:1px solid #ccc;font-size:20px;font-weight:700}.guang-page .ex-reco-list{margin-top:14px}.guang-page .ex-reco-item{box-sizing:border-box;height:60px;margin-bottom:14px}.guang-page .ex-reco-item:last-child{margin-bottom:0}.guang-page .ex-reco-img{display:block;float:left;width:90px;height:60px;margin-right:5px}.guang-page .ex-reco-img span{display:block;height:100%;width:100%;background-size:cover;background-position:50%}.guang-page .ex-reco-img span img{width:100%;height:100%}.guang-page .ex-reco-context{float:left;max-width:195px;height:40px;line-height:20px;font-size:13px;color:#666;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.guang-page .ex-reco-context:hover{color:#c30}.guang-page .hot{margin-top:40px}.guang-page .hot .hot-title{color:#333;line-height:24px;padding-bottom:10px;border-bottom:1px solid #ccc;font-weight:700;font-size:20px}.guang-page .hot .hot-tag-list{margin-top:14px;max-height:150px;overflow:hidden}.guang-page .hot .hot-tag{display:inline-block;float:left;padding:5px;font-size:12px;background-color:#ccc;border:none;margin-right:10px;margin-bottom:10px;color:#fff;font-weight:700}.guang-page .hot .hot-tag:hover{background-color:#333}.guang-page .ads{margin-top:30px}.guang-page .ads .ad{display:block;box-sizing:border-box;margin-bottom:24px;width:290px}.guang-page .ads .ad img{display:block;width:100%}.guang-page .msg-content{padding:24px 0;border-bottom:1px solid #ccc;position:relative}.guang-page .msg-content .content{height:80px;line-height:24px}.guang-page .msg-content .iconfont{color:#ccc}.guang-page .msg-content .msg-img{position:relative;float:left;margin-right:26px}.guang-page .msg-content .msg-img img{display:block;width:360px;height:240px}.guang-page .msg-content .msg-img img.square{height:360px}.guang-page .msg-content .classification{position:absolute;background-color:#000;color:#fff;text-align:center;width:80px;height:32px;line-height:32px;font-size:13px;opacity:.9;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=90)";z-index:8}.guang-page .msg-content .reco{position:absolute;top:0;left:66px;height:32px;width:32px;background:url(../assets/img/guang/msg-reco.png?v155c47c0108);background-size:100% 100%;z-index:9}.guang-page .msg-content .msg-info{float:left;width:440px}.guang-page .msg-content .msg-title{display:block;font-size:22px;color:#333;line-height:30px;max-height:64px}.guang-page .msg-content .msg-title:hover{color:#c30}.guang-page .msg-content .content{font-size:14px;color:#666}.guang-page .msg-content .msg-app{line-height:34px;color:#999;font-size:13px}.guang-page .msg-content .author{display:block;float:left;color:#333;margin-right:22px;max-width:180px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.guang-page .msg-content .author:hover{color:#c30}.guang-page .msg-content .page-view,.guang-page .msg-content .publish-time{color:#999}.guang-page .msg-content .publish-time{margin-right:30px}.guang-page .msg-content .like-comment,.guang-page .msg-content .tags{position:absolute;bottom:24px;font-size:12px}.guang-page .msg-content .like-comment .like,.guang-page .msg-content .tags .like{margin-right:10px}.guang-page .msg-content .like-comment .like:hover *,.guang-page .msg-content .tags .like:hover *{color:#000}.guang-page .msg-content .like-comment .like-icon,.guang-page .msg-content .tags .like-icon{cursor:pointer}.guang-page .msg-content .like-comment .like-icon.liked,.guang-page .msg-content .tags .like-icon.liked{color:#000}.guang-page .msg-content .like-comment.tags,.guang-page .msg-content .tags.tags{left:386px;max-width:350px;height:20px;overflow:hidden}.guang-page .msg-content .like-comment.like-comment,.guang-page .msg-content .tags.like-comment{right:0;color:#999}.guang-page .msg-content .msg-tag{display:inline-block;text-align:center;height:20px;line-height:20px;padding:0 10px;margin-right:10px;background-color:#ccc;color:#fff}.guang-page .msg-content .msg-tag:last-child{margin-right:0}.guang-page .msg-content .msg-tag:hover{background-color:#333}.guang-page .pager{font-size:12px}.guang-page .pager a{height:24px;padding:0 9px;line-height:24px;display:inline-block;text-align:center;margin-right:8px;color:#222}.guang-page .pager a.cur{background-color:#222;color:#fff}.guang-index-page .msg-nav{border-bottom:1px solid #000;margin-top:24px;height:30px}.guang-index-page .msg-nav li{float:left;height:30px;line-height:30px;text-align:center;font-size:18px;padding:0 28px}.guang-index-page .msg-nav li a{display:block;height:100%;width:100%;color:#333}.guang-index-page .msg-nav li.actived{background-color:#111}.guang-index-page .msg-nav li.actived a{color:#fff}.guang-index-page .msg-pager{float:right;margin:20px 0}.guang-detail-page{width:1150px;margin:0 auto 95px}.guang-detail-page b{font-weight:700}.guang-detail-page i{font-style:italic}.guang-detail-page .block{margin:15px 0}.guang-detail-page .excellent-recommendation-title{margin-top:4px}.guang-detail-page .block-header{position:relative;border-bottom:1px solid #c1c1c1;font-size:18px;height:38px;line-height:38px;text-align:center;margin-bottom:24px;color:#333}.guang-detail-page .block-header .more-reco{position:absolute;right:0;color:#000;font-size:14px;text-decoration:none}.guang-detail-page .related-brand .brands{width:852px}.guang-detail-page .related-reco .recos{width:850px}.guang-detail-page .detail-title{font-size:28px;line-height:64px;border-bottom:1px dotted #c1c1c1;word-wrap:break-word}.guang-detail-page .article-author{float:left;line-height:64px}.guang-detail-page .article-author .author-avatar{clear:both;width:38px;height:64px}.guang-detail-page .article-author .author-avatar img{width:38px;height:38px;border-radius:50%;vertical-align:middle}.guang-detail-page .author-info{float:left;margin-left:10px;font-size:14px;max-width:447px}.guang-detail-page .author-info .author-name{display:block;height:64px;line-height:64px;cursor:pointer;color:#000}.guang-detail-page .author-info .author-name:hover{color:#c30}.guang-detail-page .author-info .author-introduce{color:#999}.guang-detail-page .article-status{float:right;height:64px;line-height:64px;color:#999;font-size:13px}.guang-detail-page .article-status .article-click{margin:0 25px}.guang-detail-page .article-status .article-comment{color:#c30;cursor:pointer}.guang-detail-page .article-main img{display:block;max-width:100%;margin:0 auto}.guang-detail-page .article-main .article-text{margin:2px 0 20px;line-height:28px;font-size:14px}.guang-detail-page .article-main .article-small-pic{text-align:center;font-size:0}.guang-detail-page .article-main .article-small-pic img{display:inline-block;max-width:412px}.guang-detail-page .article-main .article-small-pic img:first-child{margin:0 6px 0 0}.guang-detail-page .article-main .block:first-child{margin-top:10px}.guang-detail-page .user-handle{margin:30px 0 0;text-align:center}.guang-detail-page .user-handle ul{display:inline-block}.guang-detail-page .user-handle ul li{float:left;margin:0 15px;cursor:pointer}.guang-detail-page .user-handle ul li a{position:relative;display:block;padding:0 10px;height:36px;line-height:36px;color:#535353;font-size:0;background:#efefef;text-align:left}.guang-detail-page .user-handle ul li a i,.guang-detail-page .user-handle ul li a span{display:inline-block;font-style:normal;font-size:14px}.guang-detail-page .user-handle ul li a i{margin:0 5px 0 0;font-size:18px;opacity:.5;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=50)"}.guang-detail-page .user-handle ul li a .cancel-collect{display:none}.guang-detail-page .user-handle ul .like-status.hover i,.guang-detail-page .user-handle ul .like-status.liked i{opacity:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"}.guang-detail-page .user-handle ul .like-statis.hover .like-num{color:#000}.guang-detail-page .user-handle ul .sort-collect a i{width:21px}.guang-detail-page .user-handle ul .sort-collect.collected a i{opacity:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"}.guang-detail-page .user-handle ul .sort-collect.collected a span{display:none}.guang-detail-page .user-handle ul .sort-collect.collected a .cancel-collect{display:inline}.guang-detail-page .user-handle ul .sort-collect.hover i{opacity:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"}.guang-detail-page .user-handle ul .sort-collect.hover span{color:#000}.guang-detail-page .article-bottom-info{margin:44px 0 0;padding:0 0 10px;border-bottom:1px dotted #c1c1c1}.guang-detail-page .article-tag{float:left;width:588px}.guang-detail-page .article-tag .tag-icon{float:left;margin:0 12px 0 0;font-size:20px;font-style:normal}.guang-detail-page .article-tag ul{float:left;max-width:555px}.guang-detail-page .article-tag ul li{float:left;margin:0 10px 10px 0}.guang-detail-page .article-tag ul li a{display:block;padding:0 15px;height:20px;line-height:20px;font-size:12px;color:#fff;font-weight:700;background:#c1c1c1}.guang-detail-page .article-tag ul li:hover a{background:#333}.guang-detail-page .article-tag ul li:first-child{margin-left:0}.guang-detail-page .article-share{float:right}.guang-detail-page .article-share .title{font-size:12px}.guang-detail-page .detail-related-posts{margin:14px 0 0}.guang-detail-page .detail-related-posts li{float:left;width:264px;margin-left:19px}.guang-detail-page .detail-related-posts li a{display:block}.guang-detail-page .detail-related-posts li .bg-img{display:block;width:100%;height:173px;line-height:173px;text-align:center;font-size:0}.guang-detail-page .detail-related-posts li .bg-img img{max-width:100%;max-height:100%;vertical-align:middle}.guang-detail-page .detail-related-posts li .post-title{margin:8px 0 0}.guang-detail-page .detail-related-posts li .post-title h2{line-height:16px;font-size:14px;color:#000;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.guang-detail-page .detail-related-posts li .post-title:hover h2{color:#c30!important}.guang-detail-page .detail-related-posts li:first-child{margin-left:0}.guang-detail-page .comment-area{margin:58px 0 0}.guang-detail-page .comment-area .comment-publish{height:48px}.guang-detail-page .comment-textarea textarea{display:block;width:812px;height:86px;padding:12px;resize:none;outline:none;font-size:14px;line-height:18px;color:#535353;font-family:arial,helvetica,微软雅黑;border:1px solid #e7e7e7}.guang-detail-page .word-count-tip{display:inline-block;height:48px;line-height:48px;font-size:12px;color:#c8c8c8}.guang-detail-page .word-count-tip .exceed-count{color:red}.guang-detail-page .publish-btn{margin:10px 0 0;float:right;width:90px;height:33px;line-height:33px;text-align:center;color:#fff;font-size:14px;background:#cb3a3e;cursor:pointer}.guang-detail-page .publish-btn:hover{background:#c03234}.guang-detail-page .publish-btn.disable{background-color:#e79c9e}.guang-detail-page .comments-wrap h4{position:relative;line-height:32px;border-bottom:1px solid #e7e7e7}.guang-detail-page .comments-wrap h4 .comment-num{margin-right:5px;color:#c11e00}.guang-detail-page .comments-wrap h4 i{position:absolute;width:13px;height:7px;left:30px;bottom:-7px;background:url(../assets/img/guang/comment-icon.png?v155c47c0108) no-repeat}.guang-detail-page .comments-wrap .comment-pager{float:right;margin:20px 0}.guang-detail-page .comments-empty{display:none;color:#ccc;margin:20px 0;font-size:12px;line-height:12px;text-align:center}.guang-detail-page .commnets-resultwrapper{display:none}.guang-detail-page .comments-list li{margin:14px 0 0;padding:0 0 15px;border-bottom:1px dotted #e7e7e7}.guang-detail-page .comments-list li .avatar{float:left;width:40px;height:40px;overflow:hidden}.guang-detail-page .comments-list li .avatar img{display:block;width:100%;height:100%;border-radius:50%}.guang-detail-page .comments-list li .comment-info{float:left;width:774px;margin:0 0 0 16px}.guang-detail-page .comments-list li .comment-info .comment-user-name{color:#c11e00;font-size:15px;line-height:15px}.guang-detail-page .comments-list li .comment-info .comment-content{margin-top:10px;line-height:16px;font-size:12px;word-wrap:break-word}.guang-detail-page .comments-list li .comment-info .comment-time{margin:10px 0 0;color:#c8c8c8;font-size:12px;line-height:12px;clear:both}.guang-detail-page .brand{margin-right:22px;margin-bottom:20px;float:left}.guang-detail-page .brand .thumb{display:table-cell;border:1px solid #f5f5f5;height:120px;width:120px;box-sizing:border-box;text-align:center;vertical-align:middle}.guang-detail-page .brand .thumb img{display:block;max-width:120px;max-height:120px;margin:0 auto}.guang-detail-page .brand .brand-name{width:120px;font-size:13px;line-height:20px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;text-align:center;color:#333}.guang-detail-page .few-tag,.guang-detail-page .tag-container{display:none}.guang-detail-page .good-info{width:192px;margin-right:20px;margin-bottom:12px}.guang-detail-page .good-info .good-detail-img{height:auto}.guang-detail-page .good-info .good-detail-img .good-thumb,.guang-detail-page .good-info .good-detail-img img.lazy{height:257px}.guang-detail-page .good-info .good-detail-text>a{margin-top:0;line-height:36px}.guang-detail-page .good-info .good-detail-text>.price{margin-top:0}.guang-editor-page .tag-header,.guang-list-page .tag-header{height:45px;line-height:45px;color:#333;font-size:14px;font-weight:700;border-bottom:1px solid #ccc}.guang-editor-page .tag-header>span,.guang-list-page .tag-header>span{font-size:20px}.guang-editor-page .msg-pager,.guang-list-page .msg-pager{float:right;margin:20px 0}.guang-editor-page .right-side{margin-top:20px}.guang-list-page .right-side{margin-top:11px}.guang-editor-page .editor-info{padding:10px;background:#fafafa}.guang-editor-page .editor-info .author-avatar{float:left;width:80px;height:100%}.guang-editor-page .editor-info .author-avatar img{width:80px;height:80px;vertical-align:middle;border-radius:50%}.guang-editor-page .editor-info .author-info{float:left;margin:0 0 0 10px;max-width:1060px}.guang-editor-page .editor-info .author-name{margin-top:11px;font-size:20px;height:30px!important;line-height:30px!important}.guang-editor-page .editor-info .author-introduce{line-height:24px;font-size:14px;color:#999}.guang-editor-page .editor-info .intro-content{margin:15px 0 0;line-height:18px;font-size:14px;color:#999}.home-page{width:1150px;margin:10px auto 0}.home-page .slide-container{position:absolute;left:0;right:0;height:450px}.home-page .slide-thumb-container{height:510px}.home-page .slide-wrapper{position:relative;height:450px;overflow:hidden}.home-page .slide-wrapper ul{position:relative;height:100%}.home-page .slide-wrapper li{display:none;position:absolute;top:0;right:0;width:100%;height:100%}.home-page .slide-wrapper li a{display:block;height:100%;width:1150px;margin:0 auto}.home-page .slide-wrapper li img{width:100%;height:100%}.home-page .slide-wrapper:hover .slide-switch.show,.home-page .slide-wrapper li:first-child{display:block}.home-page .slide-container-placeholder{height:450px;width:100%}.home-page .slide-thumb-container-placeholder{height:510px}.home-page .slide-switch{display:block}.home-page .slide-switch a{position:absolute;top:50%;margin:-30px 0 0;width:60px;height:60px;line-height:56px;text-align:center;z-index:2;background:#fff;opacity:.55;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=55)"}.home-page .slide-switch a .iconfont{font-size:32px;color:#59585a}.home-page .slide-switch a.prev{left:50%;margin-left:-575px}.home-page .slide-switch a.next{right:50%;margin-right:-575px}.home-page .slide-switch a:hover{opacity:.9;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=90)"}.home-page .thumb-pagination{width:1148px;margin:6px auto 0;padding-left:2px}.home-page .thumb-pagination li{position:relative;float:left;margin-left:6px;width:138px;height:54px}.home-page .thumb-pagination li a{position:absolute;left:0;right:0;bottom:0;top:0;background:#000;opacity:.3;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=30)"}.home-page .thumb-pagination li img{width:100%;height:100%}.home-page .thumb-pagination li:first-child{margin:0}.home-page .thumb-pagination li.focus a{opacity:0;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"}.home-page .slide-pagination{font-size:0}.home-page .slide-pagination .slide-shade{position:absolute;left:0;right:0;top:0;bottom:0;background:#000;opacity:.3;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=30)";border-radius:13px}.home-page .slide-pagination span{position:relative;display:inline-block;margin:0 7px;width:12px;height:12px;background:#fff;cursor:pointer;opacity:.6;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=60)";border-radius:6px;z-index:2}.home-page .slide-pagination span.focus{opacity:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"}.home-page .debris-slider{height:510px;width:100%}.home-page .debris-slider .col{float:left}.home-page .debris-slider .col a{display:block}.home-page .debris-slider .left-col a,.home-page .debris-slider .right-col a{margin-bottom:10px}.home-page .debris-slider .left-col a:last-child,.home-page .debris-slider .right-col a:last-child{margin-bottom:0}.home-page .debris-slider .left-col img,.home-page .debris-slider .right-col img{height:100%;width:100%}.home-page .debris-slider .left-col{margin-right:10px}.home-page .debris-slider .left-col a{width:280px;height:120px}.home-page .debris-slider .left-col a:first-child{height:250px}.home-page .debris-slider .center-col{position:relative;width:570px;height:100%;margin-right:10px;font-size:0}.home-page .debris-slider .center-col .slide-wrapper{height:100%}.home-page .debris-slider .center-col .slide-wrapper li a{width:100%}.home-page .debris-slider .center-col .slide-switch a.prev{left:0;margin-left:0}.home-page .debris-slider .center-col .slide-switch a.next{right:0;margin-right:0}.home-page .debris-slider .center-col img{max-width:100%;max-height:100%}.home-page .debris-slider .center-col:hover .slide-switch.show{display:block}.home-page .debris-slider .right-col a{width:280px;height:120px}.home-page .debris-slider .right-col a:first-child{height:380px;margin-bottom:11px}.home-page .new-report img{display:block;width:100%;height:100%}.home-page .new-report .report-list{float:left;width:868px}.home-page .new-report .report-list li{float:left;margin:0 8px 8px 0;width:185px;height:248px;overflow:hidden}.home-page .new-report .report-list li:first-child{margin-right:7px;width:282px;height:504px}.home-page .new-report .last-item{float:left;width:282px;height:504px;overflow:hidden}.home-page .preference-brand{overflow:hidden}.home-page .preference-brand-list{margin-top:8px;width:1158px}.home-page .preference-brand-item{float:left;margin-right:8px;margin-bottom:8px}.home-page .preference-brand-item a{display:table-cell;width:185px;height:86px;text-align:center;vertical-align:middle}.home-page .preference-brand-item img{display:block;max-width:100%;max-height:100%;margin:0 auto}.home-page .preference-more{float:left;width:185px;height:86px;line-height:100px;text-align:center;color:#000;font-size:16px}.home-page .img-slider-wrapper{position:relative;width:100%;height:558px;background:#8ae6e0;overflow:hidden}.home-page .img-slider-wrapper .img-brand-switch{display:block}.home-page .img-slider-wrapper .img-brand-switch a{position:absolute;top:50%;font-size:36px;color:#fff}.home-page .img-slider-wrapper .img-brand-switch a.next{right:30px}.home-page .img-slider-wrapper .img-brand-switch a.prev{left:30px}.home-page .img-container-landscape{box-sizing:border-box;margin:86px auto 0;width:982px;height:433px;overflow:hidden}.home-page .img-container-landscape .img-list{width:1000px;height:100%}.home-page .img-container-landscape .img-item{float:left;box-sizing:border-box;width:320px;height:100%;margin-right:10px}.home-page .img-container-landscape .img-item img{width:100%;height:100%}.home-page .img-brand{position:relative;width:100%;height:175px;overflow:hidden}.home-page .img-brand ul{width:1158px}.home-page .img-brand li{float:left;margin:0 8px 0 0;width:378px;height:175px;line-height:175px;overflow:hidden;font-size:0;text-align:center}.home-page .img-brand li img{max-width:100%;max-height:100%;vertical-align:middle}.home-page .img-brand .img-brand-switch{display:none}.home-page .img-brand .img-brand-switch a{position:absolute;top:50%;margin:-20px 0 0;width:40px;height:40px;line-height:40px;text-align:center;z-index:2;background:#fff;opacity:.55;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=55)"}.home-page .img-brand .img-brand-switch a.prev{left:0}.home-page .img-brand .img-brand-switch a.next{right:0}.home-page .img-brand .img-brand-switch a:hover{opacity:.9;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=90)"}.home-page .img-brand:hover .img-brand-switch{display:block}.home-page .logo-brand{width:100%;height:282px;overflow:hidden}.home-page .logo-brand ul{width:1158px}.home-page .logo-brand li{float:left;margin:8px 8px 0 0;width:185px;height:86px;line-height:86px;font-size:0;text-align:center}.home-page .logo-brand li img{max-width:100%;max-height:100%;vertical-align:middle}.home-page .logo-brand .logo-brand-switch{position:relative;background:url(../assets/img/index/logo-brand-line.png?v155c47c0108) no-repeat 50%;line-height:normal}.home-page .logo-brand .logo-brand-switch .iconfont{position:absolute;left:50%;font-size:32px}.home-page .logo-brand .logo-brand-switch .iconfont.prev{top:10px;margin-left:-48px}.home-page .logo-brand .logo-brand-switch .iconfont.next{bottom:12px;margin-left:20px}.home-page .logo-brand .brand-more{font-size:16px}.home-page .logo-brand .brand-more:hover{text-decoration:underline}.home-page .logo-brand.logos-10{height:188px}.home-page .categorys-list ul{width:1158px}.home-page .categorys-list li{float:left;margin:0 8px 8px 0;width:185px;height:248px}.home-page .categorys-list li img{display:block;width:100%;height:100%}.home-page .categorys-list li.cate-item0{width:185px;height:504px}.home-page .categorys-list li.cate-item1{width:377px;height:504px}.home-page .floor-header{position:relative;margin:80px 0 40px}.home-page .floor-header .floor-title{margin:0 auto;width:298px;height:31px;line-height:31px;border:1px solid #000;font-size:16px;text-align:center}.home-page .floor-header .header-navs{position:absolute;padding:10px 0;top:0;right:0;font-size:14px}.home-page .floor-header .header-navs li{float:left;padding:1px 15px;border-left:1px solid #ccc}.home-page .floor-header .header-navs li a{color:#333}.home-page .floor-header .header-navs li:first-child{border-left:none}.home-page .floor-header .header-navs li:hover{text-decoration:underline}.g-list li{float:left}.g-list li a{position:relative;display:block;overflow:hidden}.g-list li a img,.g-mask{width:100%;height:100%}.g-mask{display:block;position:absolute;z-index:1;background:#000;opacity:.5;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";overflow:hidden;transition:opacity .6s}.g-title{display:block;text-align:center;font-weight:700;line-height:1.5;width:100%;margin-top:14px}.home-page .tpl-recommend{width:100%;position:relative}.home-page .tpl-recommend a{display:block}.home-page .tpl-recommend a img{display:block;width:100%;height:100%}.home-page .tpl-recommend .tpl-body{margin-bottom:8px}.home-page .tpl-recommend .tpl-nav{float:left;overflow:hidden}.home-page .tpl-recommend .tpl-nav .tpl-keywords{margin-bottom:8px}.home-page .tpl-recommend .tpl-nav .tpl-category{padding:10px 0;background-color:#f8f8f8;overflow:hidden}.home-page .tpl-recommend .tpl-nav .tpl-category a{float:left;width:50%;text-align:center;color:#000;overflow:hidden}.home-page .tpl-recommend .tpl-brands{float:left;overflow:hidden;margin-left:8px}.home-page .tpl-recommend .tpl-brands li{margin-top:8px}.home-page .tpl-recommend .tpl-types{float:left;overflow:hidden;margin-top:-8px;width:579px}.home-page .tpl-recommend .tpl-types li{float:left;margin-left:8px;margin-top:8px}.home-page .tpl-recommend .tpl-types li a{width:185px;height:248px}.home-page .tpl-recommend .tpl-products{overflow:hidden;margin-left:-10px}.home-page .tpl-recommend .tpl-products li{float:left;margin-left:10px}.home-page .tpl-recommend .tpl-products li a{width:222px;height:298px}.home-page .tpl-recommend .tpl-nav{width:185px}.home-page .tpl-recommend .tpl-nav .keywords0,.home-page .tpl-recommend .tpl-nav .keywords1,.home-page .tpl-recommend .tpl-nav .keywords2{margin-bottom:10px;height:76px}.home-page .tpl-recommend .tpl-nav .keywords2{margin-bottom:0}.home-page .tpl-recommend .tpl-nav .tpl-category{height:228px}.home-page .tpl-recommend .tpl-nav .tpl-category a{height:38px;line-height:38px;font-size:14px}.home-page .tpl-recommend .tpl-brands{width:378px;height:512px}.home-page .tpl-recommend .tpl-brands li a{height:248px}.min-screen .home-page .tpl-recommend .tpl-nav{width:158px}.min-screen .home-page .tpl-recommend .tpl-nav .keywords0,.min-screen .home-page .tpl-recommend .tpl-nav .keywords1,.min-screen .home-page .tpl-recommend .tpl-nav .keywords2{margin-bottom:8px;height:65px}.min-screen .home-page .tpl-recommend .tpl-nav .keywords2{margin-bottom:0}.min-screen .home-page .tpl-recommend .tpl-nav .tpl-category{height:192px}.min-screen .home-page .tpl-recommend .tpl-nav .tpl-category a{height:32px;line-height:32px;font-size:12px}.min-screen .home-page .tpl-recommend .tpl-nav .tpl-category a:hover{text-decoration:underline}.min-screen .home-page .tpl-recommend .tpl-brands{width:324px;height:432px}.min-screen .home-page .tpl-recommend .tpl-brands li a{height:212px}.min-screen .home-page .tpl-recommend .tpl-types{width:498px}.min-screen .home-page .tpl-recommend .tpl-types li a{width:158px;height:212px}.min-screen .home-page .tpl-recommend .tpl-products li a{width:190px;height:254px}.home-page .singlehot{overflow:hidden;margin-left:-8px}.home-page .singlehot li{margin-left:8px;margin-bottom:8px}.home-page .singlehot li a{width:185px;height:248px}.home-page .singlehot .impo1,.home-page .singlehot .impo9{width:378px}.home-page .floor-ad a{display:block;height:129px}.home-page .floor-ad a img{display:block;width:100%;height:100%}.home-page .goods-container{margin-right:-10px;width:inherit;padding-top:0}.home-page .goods-container .good-info{margin-bottom:0;width:280px;height:485px}.home-page .goods-container .good-detail-img{height:374px}.home-page .goods-container .good-detail-text{text-align:center}.home-page .adbanner{margin-top:12px}.home-page .adbanner a{height:150px}.min-screen .home-page .singlehot li a{width:158px;height:212px}.min-screen .home-page .singlehot .impo1,.min-screen .home-page .singlehot .impo9{width:323px}.min-screen .home-page .goods-container .good-info{width:240px;height:412px}.min-screen .home-page .goods-container .good-info .good-detail-img{height:320px}.home-page .commodity .commodity-list{margin-left:-10px}.home-page .commodity .commodity-list a{height:465px;width:280px}.home-page .commodity .commodity-list li{margin-left:10px}.home-page .commodity .commodity-list i{position:absolute;bottom:0;width:100%;height:20px;background:#ffac5b;color:#fff;line-height:20px;text-align:center;font-size:12px}.home-page .commodity .commodity-list i.top{position:absolute;top:10px;right:10px;background-color:#ff575c;color:#fff;border-radius:30px;z-index:2;height:60px;width:60px;line-height:60px;font-size:20px}.home-page .commodity .commodity-list .commodity-img{position:relative;height:374px}.home-page .commodity .commodity-list p.commodity-name{font-size:12px;color:#000;text-align:center;margin-top:14px;line-height:18px}.home-page .commodity .commodity-list p.commodity-price{position:relative;margin:3px 0 0;text-align:center;line-height:20px;color:#000}.home-page .commodity .commodity-list p.commodity-price span{display:inline-block;font-size:12px}.home-page .commodity .commodity-brands{margin-left:-8px}.home-page .commodity .commodity-brands a{float:left;margin-left:8px;display:block;width:185px;height:86px}.home-page .commodity .commodity-brands a img{width:100%;height:100%}.home-page .commodity .loading{position:relative;width:100%;text-align:center;padding-top:40px}.home-page .commodity .loading a{display:block;height:35px;width:120px;margin:0 auto 40px;background-color:#000;color:#fff;font-size:14px;line-height:35px;text-align:center}.min-screen .home-page .commodity .commodity-list a{height:400px;width:240px}.min-screen .home-page .commodity .commodity-list .commodity-img{height:320px}.min-screen .home-page .commodity .commodity-list i.top{height:52px;width:52px;line-height:52px;font-size:14px}.min-screen .home-page .commodity .commodity-brands a{width:158px;height:74px}.home-page .slide-accordion{overflow:hidden;position:relative;height:400px}.home-page .slide-accordion a{position:relative;display:block}.home-page .slide-accordion a img{display:block;width:100%;height:100%}.home-page .slide-accordion ul{position:absolute;left:-5px}.home-page .slide-accordion li{position:absolute;border-left:5px solid #fff}.home-page .slide-accordion li a{width:650px;height:400px}.home-page .slide-accordion .g-mask{opacity:.2;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=20)"}.home-page .slide-accordion .g-mask:hover{opacity:0;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"}.min-screen .home-page .slide-accordion{height:342px}.min-screen .home-page .slide-accordion li a{width:558px;height:342px}.boys .tpl-nav .keywords0{margin-bottom:10px!important;height:152px!important}.boys .tpl-nav .keywords1{height:86px!important}.boys .tpl-nav .tpl-category a{height:38px!important;line-height:38px!important;font-size:14px!important}.boys .tpl-brands{margin-top:-8px!important}.boys .goods-container .good-info,.lifestyle .goods-container .good-info{width:222px!important;height:408px!important}.boys .goods-container .good-info .good-detail-img,.lifestyle .goods-container .good-info .good-detail-img{height:298px!important}.min-screen .boys .tpl-nav .keywords0{margin-bottom:8px!important;height:130px!important}.min-screen .boys .tpl-nav .keywords1{margin-bottom:0!important;height:74px!important}.min-screen .boys .tpl-brands{margin-top:-8px!important}.min-screen .boys .goods-container .good-info,.min-screen .lifestyle .goods-container .good-info{width:188px;height:360px}.min-screen .boys .goods-container .good-info .good-detail-img,.min-screen .lifestyle .goods-container .good-info .good-detail-img{height:255px}.min-screen .home-page{width:990px}.min-screen .home-page .slide-container{height:387px}.min-screen .home-page .slide-container img{display:block}.min-screen .home-page .slide-thumb-container{height:440px}.min-screen .home-page .slide-container-placeholder{height:387px}.min-screen .home-page .slide-thumb-container-placeholder{height:440px}.min-screen .home-page .slide-wrapper{height:387px}.min-screen .home-page .slide-wrapper li a{width:990px}.min-screen .home-page .slide-switch{display:block}.min-screen .home-page .slide-switch a.prev{margin-left:-495px}.min-screen .home-page .slide-switch a.next{margin-right:-495px}.min-screen .home-page .slide-switch a:hover{opacity:.9;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=90)"}.min-screen .home-page .thumb-pagination{width:990px;margin:7px auto 0;padding:0}.min-screen .home-page .thumb-pagination li{width:118px;height:46px}.min-screen .home-page .debris-slider{height:440px}.min-screen .home-page .debris-slider .left-col{margin-right:9px}.min-screen .home-page .debris-slider .left-col a{width:240px;height:103px}.min-screen .home-page .debris-slider .left-col a:first-child{height:214px}.min-screen .home-page .debris-slider .center-col{width:492px;margin-right:9px}.min-screen .home-page .debris-slider .right-col a{width:240px;height:103px}.min-screen .home-page .debris-slider .right-col a:first-child{height:326px;margin-bottom:10px}.min-screen .home-page .new-report .report-list{width:748px}.min-screen .home-page .new-report .report-list li{width:158px;height:212px}.min-screen .home-page .new-report .last-item,.min-screen .home-page .new-report .report-list li:first-child{width:242px;height:432px}.min-screen .home-page .preference-brand-list{width:998px}.min-screen .home-page .preference-brand-item{margin-right:7px}.min-screen .home-page .preference-brand-item a{width:159px;height:74px}.min-screen .home-page .preference-more{width:159px;height:74px;line-height:90px}.min-screen .home-page .img-slider-wrapper{height:480px}.min-screen .home-page .img-container-landscape{margin:73px auto 0;width:844px;height:370px}.min-screen .home-page .img-container-landscape .img-item{width:275px;height:100%;margin-right:9px}.min-screen .home-page .img-brand{height:150px}.min-screen .home-page .img-brand ul{width:998px}.min-screen .home-page .img-brand li{width:325px;height:150px;line-height:150px}.min-screen .home-page .logo-brand{height:246px}.min-screen .home-page .logo-brand ul{width:998px}.min-screen .home-page .logo-brand li{margin:8px 8px 0 0;width:158px;height:74px;line-height:74px}.min-screen .home-page .logo-brand .logo-brand-switch .iconfont{font-size:24px}.min-screen .home-page .logo-brand .logo-brand-switch .iconfont.prev{top:-12px}.min-screen .home-page .logo-brand .logo-brand-switch .iconfont.next{bottom:-12px}.min-screen .home-page .logo-brand.logos-10{height:164px}.min-screen .home-page .categorys-list ul{width:1004px}.min-screen .home-page .categorys-list li{margin:0 7px 7px 0;width:161px;height:214px}.min-screen .home-page .categorys-list li.cate-item0{width:160px;height:435px}.min-screen .home-page .categorys-list li.cate-item1{width:326px;height:435px}.min-screen .home-page .floor-header{margin:50px 0 30px}.min-screen .home-page .floor-header .header-navs li{padding:1px 10px}.brands .path-nav{border-bottom:none;margin-bottom:0;padding-top:10px;padding-bottom:20px}.brands .brands-tabs{position:relative}.brands .brands-tabs a{display:block}.brands .brands-tabs a img{width:100%;height:100%;display:block}.brands .brands-tabs li{float:left}.brands .brands-tabs li p{display:block;font-size:30px;text-align:center;color:#dedede;position:absolute;top:50%;width:100%;margin-top:-15px;z-index:3}.brands .brands-tabs li .g-mask{opacity:.4;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=40)"}.brands .brands-tabs li .g-mask-on,.brands .brands-tabs li:hover .g-mask{opacity:0;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"}.brands .brands-tabs .hover-contain{position:relative;border-bottom:1px solid #dfdfdf}.brands .brands-tabs .hover-contain .hoverarr{background-color:#3d3d3d;position:absolute;bottom:0;z-index:7}.brands .brands-tabs .hover-contain .hoverarr i{width:0;height:0;position:absolute;left:50%;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #3d3d3d;top:-6px;margin-left:-3px}.brands .header-navs{margin-right:-15px}.brands .category-nav{border:2px solid #222;padding-left:16px;height:44px;line-height:44px;font-size:12px;font-weight:700;position:relative;z-index:9;background-color:#fff}.brands .category-nav span{display:inline-block;margin-right:15px}.brands .category-nav a{display:inline-block;padding:0 7px;text-align:center;color:#222;cursor:pointer}.brands .category-fix{position:fixed;top:0;z-index:9;margin-top:0!important}.brands .brands-list dl{position:relative;border-top:1px dotted #999;padding:20px 0}.brands .brands-list dt{position:absolute;width:130px;font-weight:700;font-size:16px;text-align:center;top:50%;margin-top:-9px}.brands .brands-list dd{margin-left:130px}.brands .brands-list dd li{float:left;display:block;width:170px;height:18px}.brands .brands-list dd a{color:#666;line-height:18px;font-size:12px;position:relative}.brands .brands-list dd a span{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block}.brands .brands-list dd a span:hover{text-decoration:underline}.brands .brands-list dd .brands-dialog{display:inline;position:relative}.brands .brands-list dd .hot{font-weight:700;color:#222}.brands .brands-list dd i{position:relative;top:-4px;color:#e01;font-size:14px}.brands .brands-category{width:1150px}.brands .brands-tabs{width:100%}.brands .brands-tabs li{margin-left:10px}.brands .brands-tabs li a{position:relative;width:222px;height:180px}.brands .brands-tabs li:first-child{margin-left:0}.brands .brands-tabs .hover-contain{height:30px}.brands .brands-tabs .hover-contain .hoverarr{height:5px;width:222px}.brands .brands-ad,.brands .brands-logo{margin:20px 0}.brands .brands-ad li{float:left;margin-left:10px}.brands .brands-ad li img{display:block;width:280px;height:280px}.brands .brands-ad li:first-child{margin-left:0}.brands .brands-ad li:first-child img{width:570px}.brands .brands-logo a{float:left;margin-left:26px}.brands .brands-logo a img{display:block;width:91px;height:38px}.brands .brands-logo a:first-child{margin-left:0}.brands .list-floor{width:1160px}.brands .brandfloor .g-list{margin-top:-32px}.brands .brandfloor li{margin-right:8px;margin-top:32px}.brands .brandfloor li a{width:378px;height:250px}.brands .singlegoods .g-list{margin-top:-10px}.brands .singlegoods li{margin-right:10px;margin-top:10px}.brands .singlegoods li a{width:280px;height:374px}.brands .singlegoods .singlegoods-title{position:absolute;left:0;bottom:0;height:50px;width:100%}.brands .singlegoods .singlegoods-title p{position:absolute;z-index:2;top:0;left:0;display:block;width:100%;height:100%;line-height:50px;font-size:18px;text-align:center;color:#fff}.brands .video .g-list{margin-top:-10px}.brands .video li{margin-right:8px;margin-top:10px}.brands .video li a{width:378px;height:242px}.brands .video .video-play{display:block;position:absolute;left:50%;top:50%;margin-left:-30px;margin-top:-28px;width:60px;height:56px;background-image:url(../assets/img/index/play.png?v155c47c0108)}.brands .video .video-title{position:absolute;left:0;bottom:0;height:32px;width:100%}.brands .video .video-title p{position:absolute;z-index:2;top:0;left:0;display:block;width:100%;height:100%;font-size:14px;line-height:32px;text-align:center;color:#fff}.brands .news{margin-bottom:40px}.brands .news .news-pic{position:relative;float:left;width:764px;height:436px}.brands .news .news-pic .slide-container{height:100%}.brands .news .news-pic .slide-container li a{height:100%;width:764px}.brands .news .news-pic .slide-container .slide-wrapper{height:100%}.brands .news .news-pic .slide-container .slide-switch{display:none}.brands .news .news-pic .slide-container .slide-switch .prev{left:0;margin-left:0}.brands .news .news-pic .slide-container .slide-switch .next{right:0;margin-right:0}.brands .news .news-pic .slide-container .slide-switch.show{display:block}.brands .news .news-pic .slide-tips{position:absolute;left:0;bottom:0;height:30px;width:100%;background:#000;opacity:.8;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=80)"}.brands .news .news-pic .slide-tips p{position:absolute;left:18px;z-index:2;height:30px;font-size:14px;line-height:30px;color:#fff}.brands .news .news-pic .slide-pagination{right:0;left:auto;bottom:0}.brands .news .news-pic .slide-pagination .slide-shade{opacity:0;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";background:none}.brands .news .news-pic .slide-pagination span{margin-top:3px}.brands .news .news-txt{padding:20px 16px;float:right;border:1px solid #000;overflow:hidden}.brands .news .news-txt ul{height:100%}.brands .news .news-txt li{position:relative;display:block;margin-bottom:10px;margin-left:20px}.brands .news .news-txt a{font-size:14px;line-height:27px;cursor:pointer;color:#010101;display:block}.brands .news .news-txt a:hover{color:#fff;background:#000;padding-left:12px;transition:padding .4s}.brands .news .news-txt i{position:absolute;top:0;left:-26px;font-size:22px}.brands .news .news-txt{width:342px;height:394px}.brands .ads{margin:40px 0}.brands .ads li{margin-right:10px;margin-bottom:10px}.brands .ads li a{width:280px}.brands .ads li a img{height:160px}.brands .ads li .name{font-size:14px}.brands .ads li .des{font-size:12px}.brands .brands-items{margin:25px auto}.brands .brands-items .brands-item{float:left;padding:15px 0;width:50%}.brands .brands-items a.brands-pic{float:left;width:280px;height:136px;display:block}.brands .brands-items a.brands-pic img{width:100%;height:100%}.brands .brands-items .brand-info{float:right;padding:0 20px;width:255px;color:#000}.brands .brands-items .brand-info h3{width:100%;font-size:20px;line-height:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.brands .brands-items .brand-info .brand-desc{padding:12px 0;height:92px;font-size:14px;line-height:22px;overflow:hidden}.brands .pagination{margin:40px 0 80px;text-align:center}.brands .pagination a{height:24px;padding:0 9px;line-height:24px;display:inline-block;text-align:center;margin-right:8px;color:#222;font-size:12px}.brands .pagination a i{position:relative;top:-1px;font-size:10px;transform:scale(.8)}.brands .pagination a.cur{background:#222;color:#fff}.min-screen .brands .header-navs{margin-right:-10px}.min-screen .brands .sit-nav{padding-top:10px;font-size:12px}.min-screen .brands .sit-nav .sep{margin:0 6px}.min-screen .brands .brands-category{width:990px}.min-screen .brands .brands-tabs li a{width:190px;height:154px}.min-screen .brands .brands-tabs .hover-contain{height:25px}.min-screen .brands .brands-tabs .hover-contain .hoverarr{height:4px;width:190px}.min-screen .brands .brands-ad li img{width:240px;height:240px}.min-screen .brands .brands-ad li:first-child img{width:490px}.min-screen .brands .brands-logo a{margin-left:10px}.min-screen .brands .brands-logo a img{width:90px;height:37px}.min-screen .brands .brands-logo a:first-child{margin-left:0}.min-screen .brands .list-floor{width:1000px}.min-screen .brands .brandfloor .g-list{margin-top:-26px}.min-screen .brands .brandfloor li{margin-right:9px;margin-top:26px}.min-screen .brands .brandfloor li a{width:324px;height:214px}.min-screen .brands .singlegoods .g-list{margin-top:-10px}.min-screen .brands .singlegoods li{margin-right:10px;margin-top:10px}.min-screen .brands .singlegoods li a{width:240px;height:324px}.min-screen .brands .singlegoods .singlegoods-title{position:absolute;left:0;bottom:0;height:50px;width:100%}.min-screen .brands .singlegoods .singlegoods-title p{position:absolute;z-index:2;top:0;left:0;display:block;width:100%;height:100%;line-height:50px;font-size:18px;text-align:center;color:#fff}.min-screen .brands .video .g-list{margin-top:-10px}.min-screen .brands .video li{margin-right:9px;margin-top:10px}.min-screen .brands .video li a{width:324px;height:206px}.min-screen .brands .video .video-play{display:block;position:absolute;left:50%;top:50%;margin-left:-30px;margin-top:-28px;width:60px;height:56px;background-image:url(../assets/img/index/play.png?v155c47c0108)}.min-screen .brands .video .video-title{position:absolute;left:0;bottom:0;height:30px;width:100%}.min-screen .brands .video .video-title p{position:absolute;z-index:2;top:0;left:0;display:block;width:100%;height:100%;font-size:14px;line-height:30px;text-align:center;color:#fff}.min-screen .brands .news .news-pic{width:660px;height:376px}.min-screen .brands .news .news-pic .slide-container,.min-screen .brands .news .news-pic .slide-container img{height:376px}.min-screen .brands .news .news-txt{width:284px;height:334px}.min-screen .brands .news .news-txt li{margin-bottom:13px}.min-screen .brands .ads{margin-bottom:30px}.min-screen .brands .ads li{margin-right:10px;margin-bottom:10px}.min-screen .brands .ads li a{width:240px}.min-screen .brands .ads li a img{height:138px}.min-screen .brands .ads li .name{font-size:14px}.min-screen .brands .ads li .des{font-size:12px}.min-screen .brands .brands-items a.brands-pic{width:240px;height:116px}.min-screen .brands .brands-items .brand-info{width:212px}.min-screen .brands .brands-items .brand-info .brand-desc{height:72px}.brands-layer{position:absolute;z-index:9;top:-83px;left:15px;width:325px;height:287px;background:url(../assets/img/index/brands-layer.png?v155c47c0108) no-repeat;font-weight:400}.brands-layer .layer-content{padding:20px 20px 20px 35px}.brands-layer .layer-content .title{font-size:24px;line-height:24px;border-bottom:1px solid #ccc;padding-bottom:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.brands-layer .layer-content .desc{margin:5px 0;height:72px;overflow:hidden}.brands-layer .layer-content .desc img{width:80px;height:50px;margin:3px 5px 0 0;float:left}.brands-layer .layer-content .desc .right{width:180px;float:right;font-size:12px;line-height:150%;max-height:80px}.brands-layer .layer-content .featured{font-size:16px;margin-right:-15px}.brands-layer .layer-content .featured img{height:100px;width:80px;float:left;margin:15px 15px 0 0}.brands-layer-right{background:url(../assets/img/index/brands-layer.png?v155c47c0108) no-repeat 0 -287px;left:-325px;top:-83px}.brands-layer-right .layer-content{padding:20px 35px 20px 20px}.coupon-page{width:1150px;margin:10px auto 0}.coupon-page .slide-container{position:relative}.coupon-page .slide-wrapper{position:relative;height:450px;overflow:hidden}.coupon-page .slide-wrapper ul{position:relative;height:100%}.coupon-page .slide-wrapper li{display:none;position:absolute;top:0;right:0;width:100%;height:100%}.coupon-page .slide-wrapper li a{display:block;height:100%;width:1150px;margin:0 auto}.coupon-page .slide-wrapper li img{width:100%;height:100%}.coupon-page .slide-switch,.coupon-page .slide-wrapper:hover .slide-switch.show,.coupon-page .slide-wrapper li:first-child{display:block}.coupon-page .slide-switch a{position:absolute;top:50%;margin:-30px 0 0;width:60px;height:60px;line-height:56px;text-align:center;z-index:2;background:#fff;opacity:.55;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=55)"}.coupon-page .slide-switch a .iconfont{font-size:32px;color:#59585a}.coupon-page .slide-switch a.prev{left:50%;margin-left:-575px}.coupon-page .slide-switch a.next{right:50%;margin-right:-575px}.coupon-page .slide-switch a:hover{opacity:.9;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=90)"}.coupon-page .title{width:300px;margin:80px auto 40px;text-align:center;border:1px solid #000;height:31px;line-height:31px;position:relative}.coupon-page .title span{margin:5px}.coupon-page .coupon{display:inline-block;position:relative;width:282px;height:258px;margin-right:2px}.coupon-page .coupon img{width:100%;height:100%}.coupon-page .coupon .coupon-mask{width:100%;height:259px;background-color:rgba(0,0,0,.6);position:absolute;top:0;left:0;right:0;z-index:8}.coupon-page .coupon .info{width:78px;height:78px;position:absolute;right:2px;bottom:-1px}.coupon-page .coupon .info>div{width:100%;height:38px;font-size:16px;color:#fff;text-align:center;position:absolute;top:50%;margin-top:-19px}.coupon-page .coupon .info p{margin-bottom:5px}.coupon-page .coupon .info .guang{width:50px;height:18px;line-height:18px;font-size:12px;background-color:#fff;color:#d0021b;margin:0 auto}.me-page{width:990px;margin:0 auto 20px}.me-page .home-path{height:40px;line-height:40px;color:#ccc;font-size:12px}.me-page .home-path .path-icon{float:left;display:block;background-image:url(../assets/img/sprite.home.png?v155c47c08d8);background-position:-22px -24px;width:15px;height:15px;margin-right:10px;margin-top:11px}.me-page .home-path a,.me-page .home-path span{color:#666}.me-page .home-path span{font-weight:700}.me-page .block{border:1px solid #dedede;border-radius:2px}.me-page .me-main .block{margin-bottom:10px}.me-page .title{height:40px;line-height:40px;padding:0 8px;background-color:#e3e3e3;background-position:10px 12px;background-repeat:no-repeat}.me-page .user-thumb{text-align:center;padding:20px 0;background:#f8f8f8}.me-page .user-thumb .thumb-bg{width:100px;height:100px;padding:5px 7px 7px 5px;margin:0 auto;background:url(../assets/img/home/thumb-bg.png?v155c47c0108)}.me-page .user-thumb .default-user-thumb,.me-page .user-thumb img{width:100px;height:100px}.me-page .user-thumb .default-user-thumb{background:url(../assets/img/home/default-thumb.png?v155c47c0108) no-repeat;background-size:100%}.me-page .home-navigation{float:left;width:180px;margin-right:8px}.me-page .home-navigation .ucenter{background-image:url(../assets/img/home/ucenter.png?v155c47c0108)}.me-page .nav-group .row{height:38px;line-height:38px;border-top:1px solid #e2e2e2;padding-left:35px;color:#666;background:#f8f8f8;font-size:12px}.me-page .nav-group .row a{display:inline-block;color:#666}.me-page .nav-group .row span{color:#e0012b;font-weight:700}.me-page .nav-group .row.active{background:#636363}.me-page .nav-group .row.active a{color:#fff}.me-page .nav-group .row.first{border-top:none}.me-page .nav-group li:hover{background:#fff;color:#000}.me-page .nav-group .nav-title{font-size:14px;border-top:1px solid #ccc;border-bottom:1px solid #ccc;color:#333;background:#e6e6e6;padding-left:0}.me-page .nav-group .nav-title .title-icon{float:left;display:block;width:15px;height:15px;background-image:url(../assets/img/sprite.home.png?v155c47c08d8);background-position:-48px 0;margin:10px 10px 0}.me-page .me-main{float:left;width:800px}.me-page .me-pager{width:778px;height:22px;line-height:22px;background:#f3f3f3;border-top:1px solid #e3e3e3;padding:10px;font-size:12px;color:#666}.me-page .me-pager .check-all{margin:0;vertical-align:text-top;margin-right:5px}.me-page .me-pager .del-checked{cursor:pointer;margin-left:5px}.me-page .me-pager .del-checked:hover{color:#468fa2;text-decoration:underline}.me-page .me-pager a{border:1px solid #cecece;padding:0 6px;height:18px;line-height:18px;border-radius:2px;margin-right:4px;background-color:#fff}.me-page .me-pager a.cur,.me-page .me-pager a:hover{background-color:#222;color:#fff}.me-page .me-pager .pager-html{display:inline}.me-page .help-us{height:20px;line-height:20px;font-size:12px}.me-page .help-us a{color:#468fa2}.me-page .help-us .help-us-icon{display:inline-block;width:12px;height:12px;margin-right:8px;margin-top:-3px;vertical-align:middle;background-image:url(../assets/img/sprite.home.png?v155c47c08d8);background-position:-48px -17px}.me-page .empty-tip{padding:200px 0;text-align:center;overflow:hidden}.me-page .tabs{height:25px;margin:10px;background:url(../assets/img/home/tab.png?v155c47c0108) repeat-x 0 -25px;font-size:12px;line-height:25px;padding-left:10px}.me-page .tabs li{display:block;float:left;width:88px;height:25px;text-align:center;background:url(../assets/img/home/tab.png?v155c47c0108) no-repeat -92px 0;margin-right:3px;color:#333}.me-page .tabs li.active{background-position:0 0;font-weight:700}.me-page .tabs a{display:block;width:100%;height:100%}.me-page .table-header{height:30px;line-height:30px;background:#efefef;border:1px solid #e6e6e6;padding:0 10px}.me-page .table-header>span{display:block;float:left;text-align:center}.me-page .advance-buy-tag,.me-page .freebie-tag,.me-page .presall-tag,.me-page .virtual-good-tag{display:block;position:absolute;bottom:0;left:0;right:0;height:15px;line-height:16px;text-align:center;color:#fff}.me-page .freebie-tag{background:#88be51}.me-page .advance-buy-tag{background:#fc1264}.me-page .presall-tag,.me-page .virtual-good-tag{background:#333}.default-me-page .message-tip{box-sizing:border-box;width:800px;height:40px;line-height:40px;padding:0 10px;margin-bottom:10px;background:#faf6d9;border:1px solid #f5e8c5;border-radius:2px;font-weight:700;font-size:12px}.default-me-page .message-tip a{color:#468fa2;font-weight:400}.default-me-page .message-tip b{color:#e8044f;margin-right:5px}.default-me-page .message-tip .close{float:right;cursor:pointer;font-weight:400}.default-me-page .more{display:block;float:right;height:21px;line-height:22px;width:63px;margin-top:8px;padding-right:8px;font-size:12px;color:#fdfdfd;text-align:center;border-radius:2px;background:url(../assets/img/home/btn-more.png?v155c47c0108) no-repeat}.default-me-page .brands ul{padding:10px 0 10px 10px}.default-me-page .brands ul li{float:left;width:122px;height:103px;border:1px solid #f6f6f6;margin-right:7px;overflow:hidden}.default-me-page .brands ul img{width:80px;height:50px;display:block;vertical-align:middle;margin:15px auto}.default-me-page .brands ul .brand-name{display:block;width:114px;height:18px;line-height:18px;color:#333;background:#f4f4f4;font-size:12px;text-align:center;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;margin:0 auto}.default-me-page .new-arrival{overflow:hidden}.default-me-page .new-arrival .na-pager-wrap{float:right}.default-me-page .new-arrival .na-pager-wrap .next,.default-me-page .new-arrival .na-pager-wrap .pre{display:inline-block;height:22px;line-height:22px;margin-top:8px;padding:0 6px;font-size:12px;color:#fff;background:#646464;text-align:center;border-radius:2px;cursor:pointer}.default-me-page .new-arrival .na-pager-wrap .next .iconfont,.default-me-page .new-arrival .na-pager-wrap .pre .iconfont{font-size:12px}.default-me-page .new-arrival .na-pager-wrap .no-visible{visibility:hidden}.default-me-page .new-arrival ul{width:800px;height:218px;overflow:hidden}.default-me-page .new-arrival li{float:left;width:101px;height:160px;padding:29px;border-right:1px solid #e3e3e3;text-align:center;font-size:12px;overflow:hidden}.default-me-page .new-arrival li .thumb{width:100px;height:100px}.default-me-page .new-arrival li .name{margin:10px 0;text-decoration:underline;color:#666;line-height:14px}.default-me-page .new-arrival li .price{color:#000}.default-me-page .banner{display:block;width:800px;border:none}.default-me-page .latest-orders .title{background-image:url(../assets/img/home/latest-orders.png?v155c47c0108)}.default-me-page .brands .title{background-image:url(../assets/img/home/brands.png?v155c47c0108)}.default-me-page .new-arrival .title{background-image:url(../assets/img/home/new-arrival.png?v155c47c0108)}.me-orders{font-size:12px}.me-orders .right{float:right}.me-orders .order-table-header .info{width:330px;text-align:left;padding-left:10px}.me-orders .order-table-header .price{width:75px}.me-orders .order-table-header .count{width:60px}.me-orders .order-table-header .operation,.me-orders .order-table-header .order-status,.me-orders .order-table-header .pay{width:100px}.me-orders .order-title{height:28px;line-height:28px;background:#efefef;padding:0 5px;border-bottom:1px solid #e6e6e6}.me-orders .order-title .order-time{margin-left:25px}.me-orders .order-title .order-delete{margin-right:15px;color:#999}.me-orders .order-title .order-delete:hover{text-decoration:underline}.me-orders .order{margin:10px;border:1px solid #e6e6e6;border-radius:2px}.me-orders .order .order-wrap{position:relative;display:table;text-align:center}.me-orders .order .order-wrap>*{display:table-cell;vertical-align:middle}.me-orders .order li{display:table;border-top:1px solid #e6e6e6}.me-orders .order li>div{display:table-cell;color:#666;text-align:center;vertical-align:middle}.me-orders .order li:first-child{border-top:none}.me-orders .order .thumb-wrap{position:relative}.me-orders .order .thumb{width:60px;height:60px}.me-orders .order .info{position:relative;width:320px;text-align:left;padding:10px 0 10px 10px}.me-orders .order .info>*{float:left}.me-orders .order .info .color-size{color:#999}.me-orders .order .info .arrival-date{color:#e8044f;margin-left:2px}.me-orders .order .text-info{position:absolute;padding:5px;bottom:10px;left:72px}.me-orders .order .text-info>*{display:block;line-height:18px}.me-orders .order .name{color:#468fa2;max-width:245px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.me-orders .order .had-refund{color:#e8044f}.me-orders .order .price{width:80px;padding:5px;font-weight:700}.me-orders .order .price .free-icon{display:block;width:37px;height:18px;line-height:18px;font-size:12px;text-align:center;color:#80bb45;background:#e7fbc0;margin:5px auto;border:1px solid #80bb45;border-radius:3px}.me-orders .order .price.free-price em{text-decoration:line-through}.me-orders .order .count{width:50px}.me-orders .order .operation,.me-orders .order .order-status,.me-orders .order .pay{width:90px;border-left:1px solid #e6e6e6;padding:5px}.me-orders .order .pay{font-weight:700}.me-orders .order .pay-tip{font-weight:400;display:block;line-height:18px;color:#999}.me-orders .order .return-order{display:inline-block;padding:3px 10px;background:#ff7c48;border-radius:9px;color:#fff;text-align:center}.me-orders .order .op-item{display:block;color:#468fa2;line-height:18px}.me-orders .order .op-item.op-dis{color:#999}.me-orders .order .no-pay,.me-orders .order .paid{color:#e8044f}.me-orders .order .order-status span{line-height:18px;color:#999}.me-orders .order .order-status .cancel{color:#e8044f}.me-orders .order .check-logistics{display:block;cursor:pointer;color:#468fa2}.me-orders .order .cancel{color:#e8044f}.me-orders .order .logistics{position:absolute;padding:20px 12px;color:#ff8341;border:1px solid #c9c9c9;background:#fff;right:185px;margin-top:-40px;z-index:11}.me-orders .order .logistics li{line-height:18px;white-space:nowrap}.me-orders .order .logistics .close-logistics{position:absolute;top:0;right:0;color:#c9c9c9;cursor:pointer}.me-orders .order .logistics .right-triangle{position:absolute;width:0;height:0;right:-6px;top:24px}.me-orders .order .logistics .right-triangle.top{margin-top:1px;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:6px solid #fff}.me-orders .order .logistics .right-triangle.bottom{margin-right:-1px;border-top:6px solid transparent;border-bottom:6px solid transparent;border-left:7px solid #c9c9c9}.me-orders .order .operation>*{cursor:pointer}.me-orders .order .operation .pay-now{display:block;color:#fff;background:#de034a;height:20px;line-height:20px;text-align:center;margin:0 auto;border-radius:4px;width:68px}.me-history-orders .order-table-header .info,.me-history-orders .order .info{width:520px}.me-history-orders .order .info{text-align:center}.me-history-orders .order-table-header .order-sum,.me-history-orders .order .order-sum{width:90px;text-align:left}.me-history-orders .order li{border:none}.cancel-dialog{width:600px;background:#fff;padding:20px 30px 35px}.cancel-dialog header{font-size:18px;padding-bottom:20px;border-bottom:1px solid #e8e8e8;color:#000;text-align:left}.cancel-dialog .close{top:15px;right:30px}.cancel-dialog .cancel-reason{text-align:left}.cancel-dialog .cancel-reason li{float:left;width:50%;height:28px;line-height:28px;font-size:14px;white-space:nowrap}.cancel-dialog .cancel-reason label{padding-left:3px}.cancel-dialog .cancel-reason input[type=text]{margin-left:10px;height:24px;text-indent:5px}.cancel-dialog .cancel-tip{margin-top:20px;color:#d60248;font-size:14px;padding-left:17px;text-align:left}.cancel-dialog .tip{margin:20px 0;font-size:12px;text-align:left;color:#db3d50}.cancel-dialog .reminder{margin:20px 0 10px}.cancel-dialog .info-prompt ul{margin-top:-10px}.cancel-dialog .info-prompt li{margin:10px 0;font-size:14px;line-height:16px;text-align:left}.cancel-dialog .info-prompt i{color:#d70400;font-family:SimSun;font-size:16px;margin-right:13px;vertical-align:middle;margin-left:5px}.delete-dialog{padding:0 0 20px;border:1px solid #000;background:#fff}.delete-dialog .header{padding:0 10px;height:32px;background:#444;line-height:32px;color:#fff;text-align:left}.delete-dialog .close{color:#fff}.delete-dialog .close .iconfont{font-size:20px;font-weight:700}.delete-dialog .order-delete-confirm{width:400px;line-height:1.5}.delete-dialog .body{padding:20px;margin-top:30px}.delete-dialog .confirm-tip{font-size:18px;word-wrap:break-word}.delete-dialog .confirm-tip i{display:inline-block;width:30px;height:30px;margin-right:12px;background:url(../assets/img/home/doubt.png?v155c47c0108) no-repeat;vertical-align:middle}.delete-dialog .delete-tip{padding-left:20px;margin:15px 0;font-size:13px;word-wrap:break-word}.delete-dialog .delete-sure{background:#efefef}.delete-dialog .delete-no{margin-left:60px;border-color:#cdcdcd}.message-dialog{width:350px;background:#fff;padding:20px 30px 35px}.message-dialog .message-title{margin-top:40px;margin-bottom:27px;font-size:24px;font-weight:700}.message-dialog .message-summary{width:250px;margin:0 auto 22px;font-size:14px;word-wrap:break-word;line-height:20px}.message-dialog .btns{padding:15px 30px 0;text-align:center}.message-dialog .btns .btn{height:35px;font-size:15px;line-height:35px}.message-dialog .btns .message-sure{width:130px;color:#fff;background:#000;border:none}.message-dialog .close{top:15px;right:15px}.message-dialog .close .iconfont{font-size:30px}.edit-order-dialog{width:600px;background:#fff;padding:20px 30px 35px}.edit-order-dialog header{font-size:18px;padding-bottom:20px;border-bottom:1px solid #e8e8e8;color:#000;text-align:left}.edit-order-dialog .close{top:15px;right:30px}.edit-order-dialog .close .iconfont{font-size:30px}.edit-order-dialog .edit-order-info{text-align:left}.edit-order-dialog .edit-order-info li{height:26px;margin:20px 0;line-height:26px;font-size:14px}.edit-order-dialog .edit-order-info .form-required{color:#d70400;font-family:SimSun;font-size:16px;margin-right:10px;vertical-align:middle}.edit-order-dialog .edit-order-info label{display:inline-block;width:90px;text-align:right}.edit-order-dialog .edit-order-info .inp{width:188px;height:18px;line-height:18px;padding:3px 0;border:1px solid #e8e8e8;margin-left:10px;text-indent:5px;box-sizing:content-box}.edit-order-dialog .edit-order-info .w271{width:271px}.edit-order-dialog .edit-order-info .w40{width:40px}.edit-order-dialog .edit-order-info .inp[name=tel]{margin-left:0}.edit-order-dialog .ml10{margin-left:10px}.edit-order-dialog select{height:25px;line-height:25px;width:100px;padding:0;border:1px solid #ccc}.edit-order-dialog .error{display:none;margin-left:20px;color:#db3d50;font-size:12px}.edit-order-dialog .error .icon-error{margin-right:8px;vertical-align:text-bottom}.edit-order-dialog .btns{padding:15px 30px 0;text-align:center}.edit-order-dialog .btns .btn{height:35px;font-size:15px;line-height:35px}.edit-order-dialog .btns .edit-sure{width:130px;color:#fff;background:#000;border:none}.edit-order-dialog .btns .edit-no{margin-left:30px;background:#fff;color:#000;border-color:#000;width:126px}.edit-order-dialog .tip{margin:20px 0;font-size:12px;text-align:left;color:#db3d50}.order-icon{display:inline-block;vertical-align:middle;margin-right:10px;background:url(../assets/img/home/order-sprite.png?v155c47c0108)}.icon-success{background-position:0 0}.icon-success,.icon-waiting{width:30px;height:30px;vertical-align:-6px}.icon-waiting{background-position:-32px 0}.icon-arrow{width:11px;height:7px;background-position:-36px -33px}.icon-error{width:15px;height:15px;background-position:0 -33px}.icon-recycle{width:15px;height:17px;background-position:-18px -33px}.orders-me-page .orders .title{padding-left:130px;line-height:40px;background-image:url(../assets/img/home/orders.png?v155c47c0108);font-size:12px;font-weight:700}.orders-me-page .order-table-header{padding:0;margin:0 10px;border:1px solid #e6e6e6}.order-detail-page{font-size:12px}.order-detail-page .order-detail>.title{background-image:url(../assets/img/home/order-detail.png?v155c47c0108)}.order-detail-page .status{margin:10px 0;padding:10px;background:#efefef;border-bottom:1px solid #e6e6e6}.order-detail-page .status p{margin:5px 0;line-height:18px}.order-detail-page .status .cur-status{color:#e8044f}.order-detail-page .status .complete-tip{color:#999}.order-detail-page .status .cancel-order{margin-right:20px}.order-detail-page .status .cancel-order,.order-detail-page .status .edit-order{float:right;background:#ebebeb;border:1px solid #c1c1c1;color:#000}.order-detail-page .status .edit-order-active{background:#444;border:1px solid #444;color:#fff}.order-detail-page .status .go-pay{margin-left:60px}.order-detail-page .detail-info{padding:10px}.order-detail-page .sub-title{height:21px;line-height:21px;border:1px solid #e6e6e6;color:#333;background:#efefef}.order-detail-page .sub-title .icon{display:inline-block;height:11px;width:11px;background-image:url(../assets/img/home/complaint-icon.png?v155c47c0108);margin:5px 5px 0}.order-detail-page .content{padding:10px 20px 20px}.order-detail-page .content p{line-height:18px}.order-detail-page .order-progress{padding-top:20px}.order-detail-page .order-progress li{position:absolute;width:150px;line-height:15px;top:20px}.order-detail-page .order-progress .cur{color:#e9034e;font-weight:700}.order-detail-page .order-progress .date{display:block;color:#999;padding-left:12px}.order-detail-page .progress-box{position:relative;width:552px;height:70px;margin:0 auto}.order-detail-page .progress-box .pg-0{left:-20px}.order-detail-page .progress-box .pg-1{left:145px}.order-detail-page .progress-box .pg-2{left:330px}.order-detail-page .progress-box .pg-3{left:515px}.order-detail-page .virtual-detail .pg-1{left:245px}.order-detail-page .virtual-detail .pg-2{left:515px}.order-detail-page .virtual-detail .outter-progress{background:url(../assets/img/home/virtual-order-progress.png?v155c47c0108) no-repeat 0 0}.order-detail-page .virtual-detail .inner-progress{background:url(../assets/img/home/virtual-order-progress.png?v155c47c0108) no-repeat 0 -12px}.order-detail-page .outter-progress{width:552px;height:12px;background:url(../assets/img/home/order-progress.png?v155c47c0108) no-repeat 0 0}.order-detail-page .inner-progress{height:12px;background:url(../assets/img/home/order-progress.png?v155c47c0108) no-repeat 0 -12px}.order-detail-page .handle-time{width:300px}.order-detail-page .recive-place{width:200px}.order-detail-page .logistics-info{width:800px}.order-detail-page .trace-order td,.order-detail-page .trace-order th{line-height:18px}.order-detail-page .differentOrder{position:relative;width:100%;margin-top:10px}.order-detail-page .differentOrder .warn{text-align:center;background:#fefbd5;font:initial;height:40px;line-height:40px;font-size:16px}.order-detail-page .differentOrder .warn .red{color:red}.order-detail-page .differentOrder .warn .why{background-image:url(../assets/img/sprite.order.png?v155c47c08d8);background-position:-247px -46px;width:26px;height:20px;display:inline-block;vertical-align:middle}.order-detail-page .differentOrder .warn .why:hover{cursor:pointer}.order-detail-page .differentOrder .differentBag:before{content:"";position:absolute;width:0;height:0;border-bottom:10px solid #000;border-left:10px solid transparent;border-right:10px solid transparent;top:-10px;right:113px}.order-detail-page .differentOrder .differentBag{display:none;position:absolute;right:-10px;top:40px;width:510px;padding:0 50px;background:#fff;z-index:1;border:1px solid #000;font-size:14px}.order-detail-page .differentOrder .bag{position:relative;border-bottom:1px solid #e0e0e0;margin-top:10px;padding:20px 0}.order-detail-page .differentOrder .bag h3{height:30px;line-height:30px;font-weight:700;margin-left:15px}.order-detail-page .differentOrder .bag .pre{background-position:0 -142px;left:-30px}.order-detail-page .differentOrder .bag .next,.order-detail-page .differentOrder .bag .pre{position:absolute;background-image:url(../assets/img/sprite.order.png?v155c47c08d8);width:30px;height:50px;top:70px;display:none;cursor:pointer}.order-detail-page .differentOrder .bag .next{background-position:-32px -142px;right:-30px}.order-detail-page .differentOrder .bag p{color:#767676;margin-left:15px}.order-detail-page .differentOrder .bagDetil{position:relative;height:90px;width:510px;overflow:hidden;margin-bottom:20px}.order-detail-page .differentOrder .bagDetil ul{list-style:none;position:absolute;left:0;clear:both;height:90px}.order-detail-page .differentOrder .bagDetil ul li{float:left;width:102px;height:90px;line-height:90px;text-align:center;position:relative}.order-detail-page .differentOrder .bagDetil ul li img{width:90px;height:90px}.order-detail-page .differentOrder .bagDetil ul li p{position:absolute;bottom:0;background:#9c3;width:90px;height:1rem;line-height:1rem;color:#fff;margin-left:7px}.order-detail-page .differentOrder .bagDetil ul li a,.order-detail-page .differentOrder .bagDetil ul li a:hover{cursor:default}.order-detail-page .good-list table{border-collapse:collapse}.order-detail-page .good-list thead{height:25px;line-height:25px;background:#000;padding:2px 5px;color:#fff}.order-detail-page .good-list td,.order-detail-page .good-list th{padding:5px;text-align:center;border-right:1px solid #e6e6e6;border-bottom:1px solid #e6e6e6}.order-detail-page .good-list th{border-color:#000}.order-detail-page .good-list tr td:last-child,.order-detail-page .good-list tr th:last-child{border-right:none}.order-detail-page .good-list .product-info{width:314px}.order-detail-page .good-list .good-price,.order-detail-page .good-list .num,.order-detail-page .good-list .sum{width:91px}.order-detail-page .good-list .yoho-coin{width:100px}.order-detail-page .good-list .yoho-coin a{display:inline-block;width:12px;height:12px;background-image:url(../assets/img/sprite.home.png?v155c47c08d8);background-position:0 -44px;vertical-align:text-top}.order-detail-page .good-list .thumb-link{float:left;position:relative;margin-left:5px;margin-right:10px}.order-detail-page .good-list .thumb{display:block;width:60px;height:60px}.order-detail-page .good-list .name-color-size{float:left;color:#999;padding-top:12px;text-align:left}.order-detail-page .good-list .name{display:block;color:#468fa2;line-height:18px;text-align:left;max-width:230px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.order-detail-page .order-balance{text-align:right;border-bottom:1px solid #e6e6e6;padding:10px 0}.order-detail-page .order-balance .back-coin{height:30px}.order-detail-page .order-balance .yoho-coin{width:14px;height:14px;display:inline-block;background-image:url(../assets/img/sprite.cart.png?v155c47c08d8);background-position:-321px -225px;vertical-align:middle;margin-top:-2px;margin-right:4px}.order-detail-page .order-balance em{font-weight:700}.order-detail-page .order-balance .payment{color:#e8044f}.order-detail-page .oo-btn{display:inline-block;height:30px;width:92px;line-height:30px;text-align:center;border-radius:3px;color:#fff;cursor:pointer}.order-detail-page .go-pay{background:#d9044a;border:1px solid #c54b73}.order-detail-page .order-operation{text-align:right;padding:20px 10px}.order-detail-page .order-operation .oo-icon{display:inline-block;height:22px;width:22px;vertical-align:text-bottom}.order-detail-page .order-operation .success-icon{background-image:url(../assets/img/sprite.home.png?v155c47c08d8);background-position:0 0}.order-detail-page .order-operation .cancel-icon{background-image:url(../assets/img/sprite.home.png?v155c47c08d8);background-position:-24px 0}.order-detail-page .order-operation .confirm-received{display:block;float:right;margin-top:5px;background:#d9044a;border:1px solid #c54b73}.order-detail-page .order-operation .cancel-order{background:#ebebeb;border:1px solid #c1c1c1;color:#000}.order-detail-page .freebie-tag{background:#9c3}.order-detail-page .advance-buy-tag{background:#fc1264}.order-detail-page .virtual-good-tag{background:red}.order-detail-page .presall-tag{background:blue}.order-ticket-page{font-size:12px}.order-ticket-page .order-ticket .title{background-image:url(../assets/img/home/orders.png?v155c47c0108)}.order-ticket-page .ticket-info{padding:20px 10px}.order-ticket-page .ticket-info .ticket-tag{display:inline-block;width:72px;height:19px;line-height:19px;text-align:center;font-size:12px;color:#fff;background:#000;border-radius:3px;margin-right:5px}.order-ticket-page .ticket-info .order-num{margin-left:10px}.order-ticket-page .ticket-info .return-to-orders{float:right;color:#468fa2}.order-ticket-page .qr-codes{width:768px;padding:10px 0 10px 10px;border:1px solid #e7e7e7;background:#fff;margin:0 auto}.order-ticket-page .qr-codes li{float:left;width:232px;height:260px;margin:10px;border:1px solid #e7e7e7;word-break:break-all;overflow:hidden;text-align:center}.order-ticket-page .qr-codes .qr{width:230px;height:230px}.order-ticket-page .tickets-tip{width:758px;padding:10px;border:1px solid #e7e7e7;background:#fff;margin:20px auto}.order-ticket-page .tickets-tip p{padding-left:20px;padding-bottom:10px;line-height:20px;background:url(../assets/img/home/qr-tip.png?v155c47c0108) no-repeat -27px 5px}.order-ticket-page .tickets-tip .warn{background-position:0 -23px}.red-envelopes-page{font-size:12px}.red-envelopes-page .red-envelopes>.title{font-size:14px;font-weight:700}.red-envelopes-page .re-header{height:25px;line-height:25px;width:100%;text-align:center;border-bottom:1px solid #e6e6e6;background:#efefef}.red-envelopes-page .re-header span{display:inline-block;width:33%}.red-envelopes-page .money{color:#d52c29;font-family:微软雅黑;font-size:20px;font-weight:700}.red-envelopes-page .re-icon{display:inline-block;width:20px;height:18px;background-image:url(../assets/img/sprite.home.png?v155c47c08d8);background-position:0 -24px}.red-envelopes-page .red-envelopes-list{display:table;width:100%}.red-envelopes-page .red-envelopes-list li{display:table-row;color:#666;border-top:1px solid #e6e6e6}.red-envelopes-page .red-envelopes-list li>*{display:table-cell;width:33%;padding:10px;text-align:center;vertical-align:middle;border-left:1px solid #e6e6e6}.red-envelopes-page .red-envelopes-list li>:first-child{border-left:none}.red-envelopes-page .red-envelopes-list .use-remark{text-align:left;line-height:18px}.me-coupons-page{font-size:12px}.me-coupons-page .coupons>.title{font-size:14px;font-weight:700}.me-coupons-page .coupons-header{width:776px;height:25px;line-height:25px;text-align:center;border:1px solid #e6e6e6;background:#efefef;margin:0 auto}.me-coupons-page .coupons-header span{display:block;float:left}.me-coupons-page .coupon{display:table;border:1px solid #e6e6e6;width:778px;margin:10px auto;text-align:center;color:#666}.me-coupons-page .coupon>*{display:table-cell;vertical-align:middle;border-left:1px solid #e6e6e6;padding:5px;line-height:18px}.me-coupons-page .coupon .coupons-img{border-left:none}.me-coupons-page .coupon .end-soon{color:#e8044f}.me-coupons-page .un-use-coupons .coupons-img{width:20%}.me-coupons-page .un-use-coupons .value{width:18%}.me-coupons-page .un-use-coupons .term-of-validity{width:22%}.me-coupons-page .un-use-coupons .term-of-validity span{display:none}.me-coupons-page .un-use-coupons .use-remark{width:24%}.me-coupons-page .un-use-coupons .status{width:16%}.me-coupons-page .un-use-coupons .end-soon span{display:inline;padding:3px 10px;color:#fff;background:#e8044f}.me-coupons-page .used-coupons .coupon>*,.me-coupons-page .used-coupons .coupons-header>span{width:16.66%}.me-coupons-page .no-valid-coupons .coupon>*,.me-coupons-page .no-valid-coupons .coupons-header>span{width:25%}.me-currency-page{font-size:12px}.me-currency-page .currencies>.title{background-image:url(../assets/img/home/currency.png?v155c47c0108)}.me-currency-page .my-currency{height:58px;line-height:58px;font-weight:700;border-bottom:1px solid #e8e8e8;font-size:18px;color:#333;margin:0 10px}.me-currency-page .my-currency em{color:#ff2400;font-weight:400}.me-currency-page .my-currency.has-tip{border-bottom:none}.me-currency-page .currency-tip{height:40px;line-height:24px;font-size:18px;color:#333;font-weight:700;margin:-16px 10px 0;border-bottom:1px solid #e8e8e8}.me-currency-page .currency-tip em{color:#ff2400;font-weight:400}.me-currency-page .currency,.me-currency-page .tab-wrap{margin:0 10px}.me-currency-page .tab-wrap{position:relative}.me-currency-page .tab-wrap .options-helper{position:absolute;right:10px;top:0}.me-currency-page .tab-wrap .coin-helper{margin-left:10px;color:#468fa2}.me-currency-page .tabs{margin-left:0;margin-right:0}.me-currency-page .currency-header{height:25px;line-height:25px;text-align:center;border:1px solid #e6e6e6;background:#efefef;margin:0 10px}.me-currency-page .currency-header span{display:block;float:left;font-size:14px;font-weight:700}.me-currency-page .currency-header .date{width:159px}.me-currency-page .currency-header .income-expenditure{width:317px}.me-currency-page .currency-header .remark{width:300px}.me-currency-page .currency{display:table;border:1px solid #e6e6e6;margin-bottom:20px;border-bottom:none}.me-currency-page .currency li{display:table-row;text-align:center;font-size:14px;height:50px;line-height:50px}.me-currency-page .currency li>*{display:table-cell;border-left:1px solid #e6e6e6;border-bottom:1px solid #e6e6e6;vertical-align:middle;color:#666;padding:5px;line-height:18px}.me-currency-page .currency li>:first-child{border-left:none}.me-currency-page .currency .date{width:155px}.me-currency-page .currency .remark{width:300px}.me-currency-page .currency .remark>a{color:#468fa2;margin-left:10px;text-decoration:underline}.me-currency-page .currency .income-expenditure{width:320px;color:#73a7b5}.me-currency-page .currency .income{color:#e10049}.me-favorite-page .favorite .title{background-image:url(../assets/img/home/favorite.png?v155c47c0108)}.me-favorite-page .favorite-table-header{font-size:12px;padding:0}.me-favorite-page .favorite-table-header .options{width:136px}.me-favorite-page .fav-row{display:table;padding:10px 0;border-bottom:1px solid #e6e6e6}.me-favorite-page .fav-row>*{display:table-cell;vertical-align:middle}.me-favorite-page .fav-row .checkbox{width:40px;padding-left:10px}.me-favorite-page .del-favorite{color:#666;visibility:hidden;cursor:pointer}.me-favorite-page .fav-row:hover .del-favorite{visibility:visible}.me-favorite-page .empty-reduction,.me-favorite-page .favorite-articles,.me-favorite-page .favorite-brands,.me-favorite-page .favorite-products,.me-favorite-page .reduction-notice-tip{margin:0 10px;font-size:12px}.me-favorite-page .price-notice{position:absolute;width:320px;height:194px;z-index:12;top:50%;left:50%;margin-left:-160px;margin-top:-130px;background:#fff;border:1px solid #999;padding:20px;font-size:14px}.me-favorite-page .price-notice .close{position:absolute;display:block;top:5px;right:5px;width:46px;height:16px;cursor:pointer;background:#cdcdcd;color:#fff;border-radius:2px;font-size:12px}.me-favorite-page .price-notice .close:hover{background:#414141}.me-favorite-page .price-notice .price-notice-sure{display:block;width:82px;height:34px;line-height:34px;text-align:center;color:#fff;background:#e90024;font-weight:700;cursor:pointer;margin:20px auto 0}.me-favorite-page .price-notice .tip{line-height:20px;margin:20px 0}.me-favorite-page .price-notice label{margin-right:10px}.me-favorite-page .price-notice input{width:180px;height:30px;line-height:30px;color:#333;padding:0 5px;font-size:14px;border:1px solid #bebebe}.me-favorite-page .price-notice input.error{border-color:red}.me-favorite-page .price-notice .err-text{padding-left:70px;line-height:24px;color:red}.me-favorite-page .price-notice .err-text i{display:block;float:left;height:14px;width:14px;background-image:url(../assets/img/sprite.passport.png?v155c47c08d8);background-position:-95px -113px;margin-right:5px;margin-top:5px}.me-favorite-page .price-notice .phone-diff{color:red;line-height:18px}.me-favorite-page .price-notice .success{text-align:center}.me-favorite-page .price-notice .success p{font-size:14px;line-height:22px;margin-top:20px}.me-favorite-page .price-notice .success .iconfont{color:#51c516;font-size:24px}.me-favorite-page .price-notice .success .notice-num{color:#e20d29}.me-favorite-page .price-notice .cue{text-align:center;padding:70px 0 50px;display:none}.me-favorite-page .price-notice .cue span{color:#e90024}.me-favorite-page .price-notice .cue p{font-size:14px;line-height:22px}.me-favorite-page .error .content,.me-favorite-page .error .success{display:none}.me-favorite-page .error .cue{display:block}.me-favorite-page .reduction-notice-tip{border:1px solid #e7e7e7;padding:20px;margin-bottom:10px}.me-favorite-page .reduction-notice-tip .notice-text{width:245px;float:left}.me-favorite-page .reduction-notice-tip h2{color:#000;font-size:14px;line-height:1.5}.me-favorite-page .reduction-notice-tip p{padding:10px 0;color:#999;font-size:12px;line-height:1.5}.me-favorite-page .reduction-notice-tip .notice-img{float:right;width:458px;height:197px;background:url(../assets/img/home/reduction-notice.jpg?v155c47c0108)}.me-favorite-page .empty-reduction{text-align:center;font-size:14px;border:1px solid #e7e7e7;padding:40px;margin-bottom:20px}.me-favorite-page .empty-reduction a{display:inline-block;width:92px;height:30px;line-height:30px;color:#666;text-align:center;cursor:pointer;background:#ededed;border:1px solid #dbdbdb;border-radius:3px}.me-favorite-page .reduction-products{margin-bottom:20px}.fav-products .favorite-products>ul{padding-bottom:20px}.fav-products .sorts{position:relative;padding:10px 35px 10px 10px;min-height:20px;line-height:20px;margin:0 10px 10px;background:#f3f3f3;border:1px solid #e6e6e6;color:#ccc}.fav-products .sorts .sort{height:20px;line-height:20px;color:#666;font-size:12px;display:inline-block}.fav-products .sorts .sort.focus{background:url(../assets/img/home/sort-select.png?v155c47c0108) no-repeat 0;padding-left:18px;color:#fff}.fav-products .sorts .sort.focus a{display:inline-block;background:url(../assets/img/home/sort-select.png?v155c47c0108) no-repeat 100%;font-weight:700;color:#fff}.fav-products .sorts .sep{margin:0 10px}.fav-products .sorts .has-more{margin-left:10px}.fav-products .all-sorts{display:none}.fav-products .sort-btn{position:absolute;display:block;width:19px;height:19px;line-height:19px;right:10px;top:10px;text-align:center;border:1px solid #ececec;background:#fff;cursor:pointer}.fav-products .sort-btn .iconfont{color:#000;font-size:12px}.fav-products .reduction-filter{height:30px;line-height:30px;text-align:right;font-size:12px;margin:0 10px}.fav-products .reduction-notice{float:left;color:#666}.fav-products .favorite-goods{margin:0 10px;font-size:12px}.fav-products .favorite-goods>ul{padding-bottom:20px}.fav-products .favorite-table-header .info{width:390px;padding-left:50px;text-align:left}.fav-products .favorite-table-header .price{width:200px;text-align:left}.fav-products .fav-good{position:relative}.fav-products .fav-good .thumb{width:110px;text-align:center}.fav-products .fav-good .thumb img{width:100px}.fav-products .fav-good .text-info{width:270px;line-height:16px}.fav-products .fav-good .name{color:#468fa2;display:block}.fav-products .fav-good .name:hover{text-decoration:underline}.fav-products .fav-good .has-bought{display:inline-block;width:37px;height:15px;line-height:15px;text-align:center;color:#fff;background:#418fa3;border-radius:2px}.fav-products .fav-good .has-activity{color:#666;cursor:pointer}.fav-products .fav-good .price{width:200px;padding-left:10px}.fav-products .fav-good .price>em{font-weight:700;color:#e8044f;font-size:14px}.fav-products .fav-good .price .price-down{display:block;margin-top:5px}.fav-products .fav-good .price .price-down>em{color:#e8044f}.fav-products .fav-good .price .price-down .iconfont{font-size:12px}.fav-products .fav-good .options{width:136px;text-align:center}.fav-products .fav-good .options>*{display:block}.fav-products .fav-good .options .buy-again,.fav-products .fav-good .options .buy-now{width:92px;height:30px;line-height:30px;font-size:14px;text-align:center;border-radius:4px;margin:0 auto}.fav-products .fav-good .options .buy-now{color:#fff;background:#da044a}.fav-products .fav-good .options .buy-again{color:#666;background:#ececec;border:1px solid #cecece}.fav-products .fav-good .options .price-down-clock{line-height:20px;color:#666;cursor:pointer}.fav-products .fav-good .options .sold-out{color:#666}.fav-products .fav-good .options .buy-again,.fav-products .fav-good .options .buy-now,.fav-products .fav-good .options .sold-out{margin-top:12px}.fav-products .fav-good .activites{position:absolute;left:160px;right:0;top:120px;padding:10px 0;border-top:1px dashed #ccc}.fav-products .fav-good .activites li{line-height:18px}.fav-products .fav-good .activites .type{display:inline-block;width:54px;height:14px;line-height:14px;margin-right:5px;overflow:hidden;background:#6c6c6c;border-radius:2px;color:#fff;text-align:center;vertical-align:middle}.fav-products .fav-good .activites .arrow{position:absolute;width:13px;left:20px;top:-7px;height:7px;background-image:url(../assets/img/sprite.home.png?v155c47c08d8);background-position:-48px -31px}.fav-products .fav-good:hover{background:#f3f3f3}.fav-brands .favorite-brands>ul{padding-bottom:20px}.fav-brands .favorite-table-header .name{width:190px;padding-left:50px;text-align:left}.fav-brands .favorite-table-header .col-count,.fav-brands .favorite-table-header .new-arrival{width:200px}.fav-brands .fav-brand{position:relative;font-size:12px}.fav-brands .fav-brand .thumb{width:190px}.fav-brands .fav-brand .thumb a{display:block;width:115px;padding:5px;text-align:center;border:1px solid #f4f4f4}.fav-brands .fav-brand .thumb .name{display:block;background:#f4f4f4;color:#666;line-height:18px}.fav-brands .fav-brand .thumb img{width:100px;height:100px}.fav-brands .fav-brand .col-count,.fav-brands .fav-brand .new-arrival{width:200px;text-align:center}.fav-brands .fav-brand .new-arrival{cursor:pointer}.fav-brands .fav-brand .options{width:136px;text-align:center}.fav-brands .fav-brand .brand-shop{display:block;width:92px;height:30px;line-height:30px;border:1px solid #c2c2c2;background:#ececec;text-align:center;cursor:pointer;margin:14px auto 10px;border-radius:2px;color:#666;font-size:14px}.fav-brands .fav-brand .na-list{position:absolute;left:50px;right:0;top:152px;padding:10px 0;border-top:1px dashed #ccc}.fav-brands .fav-brand .na-list .arrow{position:absolute;width:13px;left:265px;top:-7px;height:7px;background-image:url(../assets/img/sprite.home.png?v155c47c08d8);background-position:-48px -31px}.fav-brands .fav-brand .na-good{width:102px;height:165px;padding:0 15px;text-align:left}.fav-brands .fav-brand .na-good-thumb{border:1px solid #ccc;width:100px;height:100px;vertical-align:middle}.fav-brands .fav-brand .na-good-name{color:#666;line-height:14px;margin:5px 0;max-height:28px;overflow:hidden}.fav-brands .fav-brand .na-content>*{float:left}.fav-brands .fav-brand .has-no-na{text-align:center;float:none;padding:20px 183px 20px 0}.fav-brands .fav-brand .has-sale{text-decoration:line-through}.fav-brands .fav-brand .na-next,.fav-brands .fav-brand .na-pre{display:block;width:31px;height:31px;line-height:33px;text-align:center;background:#f4f4f4;border:1px solid #eee;margin-top:66px}.fav-brands .fav-brand .na-next.hidden,.fav-brands .fav-brand .na-pre.hidden{visibility:hidden}.fav-brands .fav-brand .na-goods{width:660px;height:165px;padding-top:20px;overflow:hidden}.fav-brands .fav-brand .na-goods-ul{width:2640px}.fav-brands .fav-brand .na-goods-ul>li{float:left}.fav-articles .favorite-articles>ul{padding-bottom:20px}.fav-articles .fav-article:first-child{padding-top:8px}.fav-articles .bg-img{display:block;width:146px;height:96px;backgound-size:cover;background-position:50%}.fav-articles .text-info{width:559px;padding-left:20px}.fav-articles .name{display:block;font-weight:700;font-size:14px;line-height:30px;color:#000;width:550px;word-break:keep-all;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fav-articles .name:hover{text-decoration:underline}.fav-articles .desc{color:#333;font-size:12px;line-height:24px;height:48px}.fav-articles .del-favorite{float:right;font-size:12px;cursor:pointer}.user-me-page{font-size:12px;line-height:150%}.user-me-page form{display:inline}.user-me-page strong{font-weight:700}.user-me-page .clear{zoom:1}.user-me-page .clear:after{content:".";display:block;height:0;visibility:hidden;overflow:hidden;clear:both}.user-me-page .userinfo-edit form{display:none}.user-me-page .userinfo-edit h2.title{background-image:url(../assets/img/home/edit/title-informations.png?v155c47c0108)}.user-me-page .account,.user-me-page .email,.user-me-page .gift,.user-me-page .mobile,.user-me-page .userpwd{font-size:12px;line-height:150%}.user-me-page .account .title,.user-me-page .email .title,.user-me-page .gift .title,.user-me-page .mobile .title,.user-me-page .userpwd .title{position:relative}.user-me-page .account .title h2,.user-me-page .email .title h2,.user-me-page .gift .title h2,.user-me-page .mobile .title h2,.user-me-page .userpwd .title h2{height:16px;font-size:14px;font-weight:700;line-height:16px;position:absolute;top:50%;margin-top:-8px}.user-me-page .account .title h2 span,.user-me-page .email .title h2 span,.user-me-page .gift .title h2 span,.user-me-page .mobile .title h2 span,.user-me-page .userpwd .title h2 span{font-size:10px;-webkit-transform:scale(.85);display:inline-block;line-height:15px;font-weight:400;padding-left:0}.user-me-page .address{font-family:arial,Microsoft YaHei}.user-me-page .address a{color:#468fa2;text-decoration:none}.user-me-page .address .a-underline{text-decoration:underline}.user-me-page .address input[type=button]{margin-top:0}.user-me-page .address input#address{width:340px}.user-me-page .address .title{position:relative}.user-me-page .address .title h2{width:66px;height:16px;background:url(../assets/img/home/edit/title-address.png?v155c47c0108) no-repeat;text-indent:-999em;float:left;position:absolute;top:50%;margin-top:-8px}.user-me-page .address .main{width:798px;padding:10px 1px 1px;float:left;border:1px solid #dedede;border-radius:2px}.user-me-page .address .address-list{width:776px;margin:0 10px;display:inline;border:1px solid #e6e6e6;border-bottom:0;float:left}.user-me-page .address .address-content{width:756px;padding:10px;border-bottom:1px solid #e6e6e6;float:left}.user-me-page .address .address-content.preferred{background:#fdfcdd;color:#333}.user-me-page .address .address-detail{width:596px;float:left}.user-me-page .address .address-edit{width:150px;padding:10px 0 10px 10px;text-align:center;float:left}.user-me-page .address.block{border:none}.user-me-page .btn-c3{height:22px;background:url(../assets/img/home/edit/btn_hs.png?v155c47c0108) no-repeat left -66px;padding-left:8px;display:inline-block}.user-me-page .btn-c3 span{height:22px;line-height:21px;background:url(../assets/img/home/edit/btn_hs.png?v155c47c0108) no-repeat right -66px;padding-right:10px;display:inline-block;cursor:pointer;color:#fff}.user-me-page .btn-c2{height:22px;background:url(../assets/img/home/edit/btn_hs.png?v155c47c0108) no-repeat left -44px;padding-left:8px;display:inline-block}.user-me-page .btn-c2 span{height:22px;line-height:21px;background:url(../assets/img/home/edit/btn_hs.png?v155c47c0108) no-repeat right -44px;padding-right:10px;display:inline-block;cursor:pointer;color:#b3b3b3}.user-me-page .main-info{border-top:1px solid #ddd;padding:20px 10px 10px}.user-me-page .main-info .p1{padding-bottom:10px;font-weight:700}.user-me-page .main-info .blue2{color:#468fa2}.user-me-page .block{min-height:375px;height:auto}.user-me-page .block form#giftCardForm,.user-me-page .block form#pwdform,.user-me-page .block form.first{display:block}.user-me-page .edit-box{padding:10px 11px 11px}.user-me-page .form-group{height:30px;border:1px solid #fff;margin-bottom:2px;line-height:22px;font-size:12px;font-family:Arial,helvetica,sans-serif}.user-me-page .form-group label{width:80px;text-align:right;color:#333;float:left}.user-me-page .plain{color:#666;font-weight:700}.user-me-page .width-300{width:300px}.user-me-page .width-150{width:150px}.user-me-page .input-1{height:20px;line-height:20px;color:#333;border:1px solid #c9c9c9;background:url(../assets/img/home/edit/input_1.png?v155c47c0108) repeat-x #fff;vertical-align:top}.user-me-page .btn-b1{width:118px;height:34px;border:0;background:url(../assets/img/home/edit/btn_b1.png?v155c47c0108) no-repeat;color:#fff;font-size:14px;font-weight:700;padding-right:10px;cursor:pointer;display:inline-block;margin-top:12px;margin-left:80px}.user-me-page #btn-reset{margin-left:0}.user-me-page .tips-p{margin-left:10px;color:#999;display:inline-block}.user-me-page .box{width:778px;clear:both;padding-top:10px;margin-bottom:10px;float:left}.user-me-page .sub-title{clear:both;height:21px;line-height:21px;padding-left:23px;background:url(../assets/img/home/edit/ico_arrow2.png?v155c47c0108) no-repeat 5px 5px #efefef;border:1px solid #e6e6e6;font-size:12px;color:#333;font-weight:400;cursor:pointer;margin-bottom:2px}.user-me-page .sub-title .more{padding:2px 10px 0 0;float:right}.user-me-page .sub-title .btn-edit{width:37px;height:17px;background:url(../assets/img/home/edit/btn_edit.png?v155c47c0108) no-repeat;display:inline-block;overflow:hidden;border:0}.user-me-page .user-personal-info .user-info{width:552px;padding-right:38px;float:left}.user-me-page .user-personal-info .user-profile{width:148px;padding:18px;text-align:center;float:right;border-left:1px solid #e0e0e0}.user-me-page .user-personal-info .user-profile img{width:100px;height:100px;margin-bottom:10px}.user-me-page .user-favorite-info ul{clear:both;width:750px;padding:0 20px 0 0;float:left}.user-me-page .user-favorite-info ul li{height:22px;padding-left:20px;float:left;font-size:12px}.user-me-page .user-favorite-info .brand-box{width:725px;margin:0 0 10px 20px;display:inline;padding:5px 10px 5px 0;border:1px solid #ccc;background:#f8f8f8;color:#000}.user-me-page .user-favorite-info .brand-box li{height:22px;line-height:22px;padding:0 0 0 10px;float:left;display:inline-block;white-space:nowrap}.user-me-page .user-favorite-info .btn-del{height:20px;line-height:20px;border:0;padding-left:18px;background:url(../assets/img/home/edit/ico_del.png?v155c47c0108) no-repeat 0 2px;color:#468fa2;display:inline-block;overflow:hidden;text-decoration:none;vertical-align:middle}.user-me-page .user-favorite-info .btn-submit-sm{width:56px;height:20px;border:0;font-size:12px;color:#fff;line-height:20px;padding:0;margin:0;background:url(../assets/img/home/edit/btn_s1_z2.png?v155c47c0108) repeat-x;text-align:center;display:inline-block;cursor:pointer}.user-me-page .user-favorite-info span{color:#999;line-height:25px;display:inline-block}.user-me-page .user-favorite-info .form-group{clear:both;width:730px;padding:0 20px 5px;float:left}.user-me-page .account-row{padding:30px 0;border-bottom:1px solid #ddd}.user-me-page .account-row .content{height:32px;line-height:32px;position:relative}.user-me-page .account-row .content div{float:left;display:inline-block}.user-me-page .account-row .content .left-content{width:200px}.user-me-page .account-row .content .middle-content{width:500px}.user-me-page .account-row .content .middle-content .tip{color:#666}.user-me-page .account-row .content .middle-content .tip.red{color:#e01}.user-me-page .account-row .content .right-content{width:75px;height:20px;line-height:20px;position:absolute;top:50%;margin-top:-10px;text-align:center}.user-me-page .account-row .center{text-align:center}.user-me-page .account-row a{text-decoration:none;color:#666;outline:none}.user-me-page .account-row [class*=" icon-"],.user-me-page .account-row [class^=icon-]{height:32px;line-height:32px;vertical-align:middle;display:inline-block;padding-left:42px;margin-left:20px}.user-me-page .account-row .icon-ok{background:url(../assets/img/home/edit/icon-32.png?v155c47c0108) no-repeat 0 0}.user-me-page .account-row .icon-warning{background:url(../assets/img/home/edit/icon-32.png?v155c47c0108) no-repeat 0 -32px}.user-me-page .account-row .account-type{font-size:18px;line-height:32px;display:inline-block;padding-left:20px}.user-me-page .button-icon20{padding-left:5px;background:url(../assets/img/home/edit/btn_bg_20.png?v155c47c0108) no-repeat left 0;display:inline-block;cursor:pointer}.user-me-page .button-icon20 i{font-style:normal;background:url(../assets/img/home/edit/btn_bg_20.png?v155c47c0108) repeat-x left -20px;display:inline-block;height:20px;line-height:20px;text-align:center}.user-me-page .button-sliver20 i{background-position:left -80px;width:52px}.user-me-page .button-icon20 span{background:url(../assets/img/home/edit/btn_bg_20.png?v155c47c0108) no-repeat right -40px;display:inline-block;padding-right:5px}.user-me-page .button-sliver20 span{background-position:right -100px}.user-me-page .button-sliver20{background-position:left -60px}.user-me-page .gift-box{padding:10px 11px 11px}.user-me-page .gift-box h2{height:16px;font-size:14px;font-weight:700;line-height:16px}.user-me-page .gift-box li{font-size:12px;font-family:arial,Microsoft YaHei;margin-bottom:25px}.user-me-page .gift-box .gift-input{width:60px;height:20px;line-height:20px;color:#333;border:1px solid #c9c9c9;background:url(../assets/img/home/edit/input_1.png?v155c47c0108) repeat-x #fff}.user-me-page .gift-box .gift-error{color:red;margin-left:10px}.user-me-page .gift-box #imgcode{border:0;vertical-align:middle;outline:none;cursor:pointer}.user-me-page .gift-box .check-img{color:#468fa2;text-decoration:underline}.user-me-page .gift-box .btn-b1{margin:0}.user-me-page .form-error{background:url(../assets/img/home/onError.png?v155c47c0108) no-repeat 5px 9px #fff2e8;color:#e8044f}.user-me-page .form-error,.user-me-page .form-success{padding-left:25px;padding-right:5px;font-size:12px;line-height:30px;height:30px;display:inline-block;margin-left:5px}.user-me-page .form-success{background:url(../assets/img/home/onCorrect.png?v155c47c0108) no-repeat 5px 9px #e9ffeb;color:green}.user-me-page .form-focus,.user-me-page .form-prompt{background:url(../assets/img/home/onShow.png?v155c47c0108) no-repeat 5px 9px;padding-left:25px;font-size:12px;line-height:30px;height:30px;display:inline-block;color:#999}.user-me-page .form-focus{background:url(../assets/img/home/onShow.png?v155c47c0108) no-repeat 5px 9px #e9f0ff;color:#666}.user-me-page .add-address{width:778px;padding:10px 0;float:left}.user-me-page .add-address h2{clear:both;height:21px;line-height:21px;padding-left:23px;margin-left:10px;background:url(../assets/img/home/edit/ico_arrow2.png?v155c47c0108) no-repeat 5px 5px #efefef;border:1px solid #e6e6e6;font-size:12px;color:#333;font-weight:400}.user-me-page .add-address .form-group{width:130%}.user-me-page .add-address .add-address-detail{padding:10px 0}.user-me-page .add-address .add-address-detail .form-info{vertical-align:middle;line-height:22px;height:22px;background-position:5px 5px}.user-me-page .add-address #btnReset{margin-left:0}.user-me-page .gift-fail,.user-me-page .gift-ok{padding:50px 260px;height:310px;display:block}.user-me-page .gift-fail h3,.user-me-page .gift-ok h3{font-size:18px;height:22px;line-height:25px;padding-left:25px;color:#000;background:url(../assets/img/home/edit/ico_i_sf.png?v155c47c0108) no-repeat}.user-me-page .gift-fail .fail,.user-me-page .gift-ok .fail{background-position:0 -22px}.user-me-page .gift-fail .input-again,.user-me-page .gift-ok .input-again{text-decoration:underline;color:#c4153a}.user-me-page .gift-fail .input-again:active,.user-me-page .gift-fail .input-again:hover,.user-me-page .gift-ok .input-again:active,.user-me-page .gift-ok .input-again:hover{color:#c4153a}.user-me-page .gift-fail .success,.user-me-page .gift-ok .success{background-position:0 0}.user-me-page .gift-fail .currency-info,.user-me-page .gift-ok .currency-info{margin-top:20px;padding-left:25px}.user-me-page .gift-fail .gift-red,.user-me-page .gift-ok .gift-red{color:#bc0029;font-size:16px;font-weight:700;margin-left:5px}.user-me-page .gift-fail .yoho-currency,.user-me-page .gift-ok .yoho-currency{font-size:16px;font-weight:700;color:#3e3e3e}.user-me-page .check-safe{padding:10px 11px 11px;height:auto;overflow:hidden}.user-me-page .check-safe .form-success{background:url(../assets/img/home/onCorrect.png?v155c47c0108) no-repeat 5px 9px}.user-me-page .check-safe .progress-bar{width:780px;height:24px}.user-me-page .check-safe .progress-bar li{float:left;width:260px;color:#666;text-align:center;height:24px;line-height:24px}.user-me-page .check-safe .progress-bar li.cur{color:#fff}.user-me-page .check-safe .progress1{background:url(../assets/img/home/edit/icon-bar.png?v155c47c0108) no-repeat}.user-me-page .check-safe .progress2{background:url(../assets/img/home/edit/icon-bar.png?v155c47c0108) no-repeat 0 -24px}.user-me-page .check-safe .progress3{background:url(../assets/img/home/edit/icon-bar.png?v155c47c0108) no-repeat 0 -48px}.user-me-page .check-safe input[type=password],.user-me-page .check-safe input[type=text]{height:28px;border:1px solid #bebebe;line-height:28px;padding:0 5px}.user-me-page .check-safe .form-nav{padding:30px 0}.user-me-page .check-safe .form-nav ul{width:690px;margin:0 auto}.user-me-page .check-safe .form-nav li{padding:10px 0;float:left}.user-me-page .check-safe .form-nav .safe-form-l{float:left;width:220px;line-height:30px;padding:0 5px;text-align:right}.user-me-page .check-safe .form-nav .safe-form-r{width:422px;line-height:30px;float:left}.user-me-page .check-safe .form-nav .input-text{width:208px}.user-me-page .check-safe .form-nav .input-code{width:54px;margin-right:5px}.user-me-page .check-safe .form-nav #the-code-img{border:0;vertical-align:middle;outline:none;height:30px;cursor:pointer}.user-me-page .check-safe .form-nav .change-code{height:30px;padding:0 0 0 5px;line-height:15px;display:inline-block;vertical-align:middle;color:#666}.user-me-page .check-safe .form-nav .the-code{color:#468fa2}.user-me-page .check-safe .form-nav .btn-b1{margin:0}.user-me-page .check-safe .form-nav .check-info{display:inline-block;vertical-align:top}.user-me-page .check-safe .form-nav .input-error{border:2px solid #e8044f;height:26px;padding:0 4px}.user-me-page .feedback dt{height:20px;line-height:20px;background:url(../assets/img/home/suggest-icon.png?v155c47c0108) no-repeat 2px 3px;padding:0 0 0 20px;float:left;font-family:arial,Microsoft YaHei;font-size:12px}.user-me-page .feedback dt a{color:#468fa2}.user-me-page .feedback dd{float:right}.user-me-page .button-top{width:66px;height:22px;padding-left:10px;line-height:21px;border:0;text-align:center;background:url(../assets/img/home/btn_top.png?v155c47c0108) no-repeat;color:#666;font-size:12px;cursor:pointer;display:inline-block}.user-me-page .rgb6{color:#666}.user-me-page .font14{font-size:14px}.user-me-page .button-icon{padding-left:5px;background:url(../assets/img/home/button-icon.png?v155c47c0108) no-repeat left 0;display:inline-block;cursor:pointer}.user-me-page .button-icon i{font-style:normal;background:url(../assets/img/home/button-icon.png?v155c47c0108) repeat-x left -33px;display:inline-block;height:33px;line-height:33px;text-align:center}.user-me-page .button-icon span{background:url(../assets/img/home/button-icon.png?v155c47c0108) no-repeat right -66px;display:inline-block;padding-right:5px}.user-me-page .button-red{background-position:left -99px;color:#fff}.user-me-page .button-red i{background-position:left -134px;width:120px}.user-me-page .button-red i .btn-jt{background:url(../assets/img/home/btn-jt.png?v155c47c0108) no-repeat;width:5px;height:8px;display:inline-block;margin-left:10px}.user-me-page .button-red span{background-position:right -169px}.user-me-page .button-sliver i{width:100px;color:#666}.user-me-page .result-email,.user-me-page .result-info{padding:30px 0;min-height:360px;width:616px;margin:0 auto;text-align:center}.user-me-page .result-email p,.user-me-page .result-info p{line-height:24px}.user-me-page .result-email .info-detail,.user-me-page .result-info .info-detail{margin-top:20px;text-align:left}.user-me-page .result-email .button-icon,.user-me-page .result-info .button-icon{margin-top:20px}.user-me-page .result-email{text-align:left;width:400px}.user-me-page .res-info{height:24px;line-height:51px;padding-left:28px;font-size:20px;color:#000;line-height:24px;display:inline-block}.user-me-page .res-success{background:url(../assets/img/home/icon-24.png?v155c47c0108) no-repeat}.user-me-page .res-error{background:url(../assets/img/home/icon-24.png?v155c47c0108) no-repeat 0 -24px;color:red}.returns-me-page .returns .title{background-image:url(../assets/img/home/returns.png?v155c47c0108)}.returns-me-page .operation,.returns-me-page .return-status,.returns-me-page .time{width:100px;border-left:1px solid #e6e6e6}.returns-me-page .return-type{width:80px;border-left:1px solid #e6e6e6}.returns-me-page .order-table-header{padding:0;margin:10px;border:1px solid #e6e6e6}.returns-me-page .order-table-header>span{text-align:center;border-left:none}.returns-me-page .order-table-header .info{width:384px;padding-left:10px;text-align:left}.returns-me-page .order-wrap li{border-top:none}.returns-me-page .order-wrap li .info{width:384px;padding:5px 0 5px 10px}.returns-me-page .order-wrap li .text-info{width:300px;right:0;bottom:15px}.returns-me-page .order-wrap li .text-info .name{max-width:300px}.returns-me-page .order-wrap li .text-info .name:hover{text-decoration:underline}.cancel-dialog{width:350px;background:#fff;padding:20px 30px 35px}.cancel-dialog .message-title{margin-top:40px;margin-bottom:27px;font-size:24px;font-weight:700}.cancel-dialog .message-summary{width:250px;margin:0 auto 22px;font-size:14px;word-wrap:break-word;line-height:20px;color:#444}.cancel-dialog .btns{padding:15px 30px 0;text-align:center}.cancel-dialog .btns .btn{height:35px;font-size:15px;line-height:35px}.cancel-dialog .btns .cancel-sure{width:130px;color:#fff;background:#000;border:none}.cancel-dialog .btns .cancel-no{margin-left:30px;background:#fff;color:#000;border-color:#000;width:126px}.cancel-dialog .close{top:15px;right:15px}.cancel-dialog .close .iconfont{font-size:30px}.cancel-dialog .icon-warn{display:inline-block;margin-right:10px;background:url(../assets/img/home/icon-warn.png?v155c47c0108) no-repeat;width:30px;height:30px;vertical-align:-6px}.detail-me-page{font-size:12px}.detail-me-page .returns-detail .title{background-image:url(../assets/img/home/returns.png?v155c47c0108)}.detail-me-page .order-info{background:#efefef;padding:10px}.detail-me-page .order-info span{color:#468fa2;margin:0 8px}.detail-me-page .visual-return-state{margin:40px auto;height:40px;width:560px;background:url(../assets/img/home/exchange-bg.png?v155c47c0108) no-repeat top}.detail-me-page .visual-return-state li{width:112px;padding:20px 0 0;text-align:center;float:left}.detail-me-page .visual-return-state .act{background:url(../assets/img/home/detail-act.png?v155c47c0108) no-repeat top}.detail-me-page .cancel-return{height:26px;margin:0 10px;padding-top:10px;padding-left:10px;line-height:26px;border-top:1px solid #e0e0e0}.detail-me-page .cancel-return a{display:inline-block;padding:0 10px;margin-left:2px;color:#fff;background:#3a3a3a;text-align:center}.detail-me-page .detail-container{padding:10px}.detail-me-page .detail-container h2{height:21px;line-height:21px;padding-left:23px;background:url(../../../img/home/complaint-icon.png?v155a528e668) no-repeat 5px 5px #efefef;border:1px solid #e6e6e6;font-size:12px;color:#333;font-weight:400;margin-bottom:10px}.detail-me-page .detail-container .courier-code{margin:60px auto;text-align:center}.detail-me-page .detail-container .courier-code .express-edit-box{display:none}.detail-me-page .detail-container .courier-code button{padding:5px 15px}.detail-me-page .detail-container .in-edit .express-view-box{display:none}.detail-me-page .detail-container .in-edit .express-edit-box{display:block}.detail-me-page .detail-container .main-detail table{width:100%}.detail-me-page .detail-container .main-detail table tr{border:1px solid #e6e6e6}.detail-me-page .detail-container .main-detail table td{text-align:left;padding:8px 10px;border:none;color:#333}.detail-me-page .detail-container .word-h{display:none}.detail-me-page .detail-container .refund-tips{color:#999;margin-top:10px;margin-bottom:40px}.detail-me-page .exchange-detail .word-t{display:none}.detail-me-page .exchange-detail .word-h{display:inline-block}.detail-me-page .exchange-detail .refund-tips span{display:none}.apply-returns-page{font-size:12px}.apply-returns-page .title{background-image:url(../assets/img/home/refund-apply.png?v155c47c0108)}.apply-returns-page .exchange .title{background-image:url(../assets/img/home/exchange-apply.png?v155c47c0108)}.apply-returns-page select{width:85px;font-size:12px;outline:none}.apply-returns-page .apply-container{padding:10px}.apply-returns-page .apply-container .return-prompt{padding:20px;border:1px solid #e6e6e6;margin-bottom:10px;line-height:21px;color:#333}.apply-returns-page .apply-container .return-prompt span{color:red}.apply-returns-page .apply-container .return-prompt .footwear-tip{height:142px;line-height:18px;margin-top:20px;padding-left:536px;background:url(../assets/img/home/footwear-tips.jpg?v155c47c0108) no-repeat}.apply-returns-page .apply-container .return-prompt .footwear-tip span{color:#666}.apply-returns-page .apply-container .return-prompt .footwear-tip span:first-child{display:block;margin-bottom:15px}.apply-returns-page .apply-container .return-prompt .icon-onlineservice{display:inline-block;width:16px;height:16px;margin-left:10px;background:url(../assets/img/home/onlineservice.png?v155c47c0108) no-repeat;vertical-align:text-bottom}.apply-returns-page .apply-container h2{height:21px;line-height:21px;padding-left:23px;background:url(../assets/img/home/complaint-icon.png?v155c47c0108) no-repeat 5px 5px #efefef;border:1px solid #e6e6e6;font-size:12px;color:#333;font-weight:400}.apply-returns-page .apply-container .goods-list-table{width:100%;margin-bottom:10px}.apply-returns-page .apply-container .goods-list-table tr{border:1px solid #e6e6e6;height:18px;line-height:18px}.apply-returns-page .apply-container .goods-list-table tr th{text-align:center;background:#efefef;padding:5px;color:#333}.apply-returns-page .apply-container .goods-list-table tr th:first-child{text-align:left}.apply-returns-page .apply-container .goods-list-table tr td{color:#666;padding:5px}.apply-returns-page .apply-container .goods-list-table .return-goods-info>*{display:block}.apply-returns-page .apply-container .goods-list-table .return-goods-info a{color:#468fa2;text-decoration:none;max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.apply-returns-page .apply-container .goods-list-table .return-goods-info span{color:#999}.apply-returns-page .apply-container .goods-list-table .special-tip{position:relative}.apply-returns-page .apply-container .goods-list-table .special-tip span{color:#3a3a3a}.apply-returns-page .apply-container .goods-list-table .special-tip .doubt{display:inline-block;margin-left:5px;width:14px;height:14px;background:url(../assets/img/home/return-doubt.png?v155c47c0108) no-repeat;vertical-align:text-bottom}.apply-returns-page .apply-container .goods-list-table .special-tip .special-content{display:none;position:absolute;top:0;width:280px;padding:10px 15px;border:1px solid #3a3a3a;background:#fff;color:#3a3a3a;word-break:break-word}.apply-returns-page .apply-container .goods-list-table .special-tip .special-content i.arrow{position:absolute;top:5px;left:-7px;width:7px;height:12px;background:url(../assets/img/home/return-arrow.png?v155c47c0108) no-repeat}.apply-returns-page .apply-container .goods-list-table .exchange-choose-wrap{width:185px;border:1px solid #e6e6e6;text-align:center}.apply-returns-page .apply-container .goods-list-table .exchange-choose-wrap p{line-height:29px}.apply-returns-page .apply-container .goods-list-table .exchange-choose-wrap select{width:85px}.apply-returns-page .apply-container .goods-list-table .refund-price{width:185px;color:#666;font-weight:700;text-align:center}.apply-returns-page .apply-container .goods-list-table .return-reason-wrap{width:200px;text-align:center}.apply-returns-page .apply-container .goods-list-table .return-reason-wrap select{width:190px}.apply-returns-page .apply-container .goods-list-table .return-reason-wrap label{color:#999;padding:4px 20px;background:#f5f5f5;border:1px solid #dadada}.apply-returns-page .apply-container .goods-list-table .border-style{border:1px solid #e6e6e6}.apply-returns-page .apply-container .goods-list-table .ex-tips,.apply-returns-page .apply-container .goods-list-table .re-tips{text-align:left;padding-left:10px;color:#666}.apply-returns-page .apply-container .goods-list-table .problem-description{display:none}.apply-returns-page .apply-container .goods-list-table .problem-description .left-title{width:160px;text-align:right;padding-right:15px}.apply-returns-page .apply-container .goods-list-table .problem-description .left-title .red-icon{color:red}.apply-returns-page .apply-container .goods-list-table .problem-description textarea{width:545px;height:75px;max-width:545px;max-height:300px;padding:5px;border:1px solid #ccc}.apply-returns-page .apply-container .goods-list-table .problem-description .up-image-tips{width:545px;background:#f5f5f5;border:1px solid #ccc;margin-bottom:15px;padding:3px 5px}.apply-returns-page .apply-container .goods-list-table .problem-description .up-image-list li{float:left;width:126px;height:126px;border:1px solid #ccc;padding:2px;display:inline-block;vertical-align:bottom;margin:0 0 10px 10px;background:url(../assets/img/home/up-pic-back.png?v155c47c0108) no-repeat;position:relative}.apply-returns-page .apply-container .goods-list-table .problem-description .up-image-list li:first-child{margin-left:0}.apply-returns-page .apply-container .goods-list-table .problem-description .up-image-list .btn-del{padding:8px;background:url(../assets/img/home/del-icon.png?v155c47c0108) no-repeat;color:#468fa2;display:inline-block;position:absolute;right:-1px;z-index:5;cursor:pointer}.apply-returns-page .apply-container .goods-list-table .problem-description .swfupload{background:#000}.apply-returns-page .apply-container .goods-list-table .problem-description .btn_upload_text{font-family:SimHei;font-size:16px;font-weight:700}.apply-returns-page .apply-container .refund-detail{padding-top:20px;text-align:center}.apply-returns-page .apply-container .refund-detail p{margin-bottom:25px}.apply-returns-page .apply-container .refund-detail p input[type=radio]{vertical-align:middle;margin:0 5px 0 40px}.apply-returns-page .apply-container .refund-detail .refund-pay-info p{height:23px;line-height:22px;padding-top:11px;color:#666;background:url(../assets/img/home/refund_tips.png?v155c47c0108) no-repeat;display:none}.apply-returns-page .apply-container .refund-detail .refund-pay-info tr{display:none}.apply-returns-page .apply-container .refund-detail .refund-pay-info .type-yoho-tips{width:515px;margin-left:160px}.apply-returns-page .apply-container .refund-detail .refund-pay-info .type-bank-tips{width:290px;margin-left:260px;background-position:0 -35px}.apply-returns-page .apply-container .refund-detail .refund-pay-info .type-alipay-tips{width:290px;margin-left:260px;background-position:0 -70px}.apply-returns-page .apply-container .refund-detail .refund-pay-table{width:100%;margin-bottom:25px}.apply-returns-page .apply-container .refund-detail .refund-pay-table td{padding:5px 0 5px 5px}.apply-returns-page .apply-container .refund-detail .refund-pay-table tr td:first-child{width:310px;text-align:right}.apply-returns-page .apply-container .exchange-detail{padding:30px}.apply-returns-page .apply-container .exchange-detail dt{font-weight:700;font-size:14px;color:#333;margin:10px 0}.apply-returns-page .apply-container .exchange-detail dd{padding:10px 5px}.apply-returns-page .apply-container .exchange-detail dd input[type=radio]{margin-left:50px;margin-top:0;vertical-align:middle}.apply-returns-page .apply-container .exchange-detail dd input[type=radio]:first-child{margin-left:0}.apply-returns-page .apply-container .exchange-detail dd>label{line-height:20px;width:100px;float:left;display:block}.apply-returns-page .apply-container .exchange-detail dd>label span{color:red}.apply-returns-page .apply-container .submit-box{text-align:center;margin-bottom:30px}.apply-returns-page .apply-container .submit-box .save-btn{width:138px;height:34px;border:0;background:url(../assets/img/home/submit-btn.png?v155c47c0108) no-repeat;color:#fff;font-size:14px;font-weight:700;padding-right:20px;cursor:pointer;display:inline-block;outline:none}.apply-returns-page .apply-container .submit-box .wait-gif{width:138px;height:34px;line-height:34px;font-size:14px;color:#8c8686;background:url(../assets/img/home/return-waiting.png?v155c47c0108) no-repeat top;vertical-align:top;display:none}.apply-returns-page .apply-container .submit-box .wait-gif span{display:inline-block;width:32px;text-align:left;padding-left:4px}.apply-returns-page .apply-container .applying .save-btn{display:none}.apply-returns-page .apply-container .applying .wait-gif{display:inline-block}.save-returns-page .title{background-image:url(../assets/img/home/refund-apply.png?v155c47c0108)}.save-returns-page .exchange .title{background-image:url(../assets/img/home/exchange-apply.png?v155c47c0108)}.save-returns-page .save-container{padding:10px}.save-returns-page .save-container h2{height:21px;line-height:21px;padding-left:23px;background:url(../assets/img/home/complaint-icon.png?v155c47c0108) no-repeat 5px 5px #efefef;border:1px solid #e6e6e6;font-size:12px;color:#333;font-weight:400}.save-returns-page .save-container .save-prompt{width:527px;margin:0 auto;padding:100px 0}.save-returns-page .save-container .save-prompt h1{font-size:30px;color:#9c0;margin-bottom:20px;font-weight:700;background:url(../assets/img/home/return-success-icon.png?v155c47c0108) no-repeat;cursor:pointer;display:inline-block;height:31px;line-height:31px;padding-left:45px}.save-returns-page .save-container .save-prompt p{font-size:12px;color:#999;line-height:23px}.save-returns-page .save-container .save-prompt p span{color:#9c0}.save-returns-page .save-container .save-prompt .retund-address{font-size:15px;font-weight:700;color:#333;margin-bottom:15px}.save-returns-page .save-container .save-prompt .backto-center{margin-top:30px}.save-returns-page .save-container .save-prompt .backto-center label{width:174px;height:35px;line-height:33px;font-size:14px;font-weight:700;color:#fff;text-align:center;display:inline-block;background:url(../assets/img/home/back-returns-btn.png?v155c47c0108) no-repeat;cursor:pointer}.save-returns-page .save-container .save-prompt .backto-center a:first-child{margin-right:15px}.save-returns-page .save-container .save-prompt .backto-center a:first-child label{background:url(../assets/img/home/back-orders-btn.png?v155c47c0108) no-repeat}.consult-me-page{font-size:12px}.consult-me-page .consult .title{background-image:url(../assets/img/home/consult.png?v155c47c0108)}.consult-me-page .consults{margin:10px}.consult-me-page .consults-table{width:100%;border:1px solid #e6e6e6}.consult-me-page .consults-table th{height:28px;line-height:28px;background:#efefef;padding:0 5px}.consult-me-page .consults-table td{color:#666;border-top:1px solid #e6e6e6;padding:5px;line-height:18px}.consult-me-page .consults-table td .thumb{width:60px;height:60px}.consult-me-page .consults-table td a{color:#468fa2;text-decoration:none}.consult-me-page .consults-table td a:hover{text-decoration:underline}.consult-me-page .consults-table td p{padding-left:20px;margin-top:5px;color:#999;word-break:break-all;overflow:hidden}.consult-me-page .consults-table td .question{color:#e9034e;background:url(../assets/img/home/consult-wd.png?v155c47c0108) no-repeat -13px 2px}.consult-me-page .consults-table td .reply{color:#390;background:url(../assets/img/home/consult-wd.png?v155c47c0108) no-repeat 0 -25px}.comment-me-page .comment .title{background-image:url(../assets/img/home/comment.png?v155c47c0108)}.comment-me-page .me-comment{padding:10px;font-size:12px;line-height:18px}.comment-me-page .main-tip span{color:#e8044f}.comment-me-page .comment-table-header{padding:0;margin-top:10px}.comment-me-page .comment-table-header .info{width:260px}.comment-me-page .comment-table-header .time{width:415px;border-left:1px solid #e6e6e6;border-right:1px solid #e6e6e6}.comment-me-page .comment-table-header .type{width:98px}.comment-me-page .comment-table{width:100%;margin-top:10px}.comment-me-page .comment-table tr{border:1px solid #e6e6e6}.comment-me-page .comment-table tr th{background:#efefef;padding:5px}.comment-me-page .comment-table tr td{color:#666;padding:5px;text-align:center}.comment-me-page .comment-table tr a{color:#468fa2;text-decoration:none}.comment-me-page .comment-table tr .remarked{color:#e8044f}.comment-me-page .comment-table tr .remark-btn{width:69px;height:22px;line-height:21px;border:0;background:url(../assets/img/home/remark-btn.png?v155c47c0108) no-repeat;cursor:pointer;color:#fff;outline:none}.comment-me-page .comment-table .remark-content{width:405px;border:1px solid #e6e6e6;word-break:break-all}.comment-me-page #comment-dialog-widget{position:absolute;padding:5px;border:1px solid #999;background:#fff;border-radius:4px;z-index:15}.comment-me-page #comment-dialog-widget .dialog-titlebar{height:16px;cursor:move}.comment-me-page #comment-dialog-widget .dialog-titlebar .dialog-close-btn{float:right;width:46px;height:16px;background:url(../assets/img/home/openbox_close.png?v155c47c0108) no-repeat 0 0;cursor:pointer}.comment-me-page #comment-dialog-widget .dialog-titlebar .dialog-close-btn:hover{background-position:0 -16px}.comment-me-page #comment-dialog-widget .dialog-content{padding:3px 30px}.comment-me-page #comment-dialog-widget .dialog-content dl{display:table-row}.comment-me-page #comment-dialog-widget .dialog-content dd{display:table-cell;vertical-align:top;font-size:13px;line-height:15px}.comment-me-page #comment-dialog-widget .dialog-content textarea{width:390px;height:80px;max-width:390px;max-height:240px;background:url(../assets/img/home/input-back.png?v155c47c0108) repeat-x;font-family:Trebuchet MS,Tahoma,Verdana,Arial,sans-serif}.comment-me-page #comment-dialog-widget .dialog-buttons{padding-right:30px}.comment-me-page #comment-dialog-widget .dialog-buttons button{color:#666;float:right;padding:8px 15px;margin-left:5px;border:1px solid #aaa;border-radius:3px;background-color:#f2f2f2;outline:none}.comment-me-page #comment-dialog-widget .dialog-buttons .dialog-save-btn{color:#fff;font-weight:700;border-color:#b5023d;background-color:#da0249}.complaint-me-page{font-size:12px}.complaint-me-page .complaint .title{background-image:url(../assets/img/home/complaints.png?v155c47c0108)}.complaint-me-page .me-complaints{padding:10px 10px 0}.complaint-me-page .me-complaints .empty-tip{padding:100px 0}.complaint-me-page .me-complaints .complaints-table-header{margin-bottom:10px}.complaint-me-page .me-complaints .complaint-item{padding:10px;border:1px solid #e6e6e6;margin-bottom:5px;color:#999;line-height:18px}.complaint-me-page .me-complaints .complaint-item .question{color:#e9034e;background:url(../assets/img/home/complaints-sd.png?v155c47c0108) no-repeat -13px 2px}.complaint-me-page .me-complaints .complaint-item .reply{color:#390;background:url(../assets/img/home/complaints-sd.png?v155c47c0108) no-repeat 0 -25px}.complaint-me-page .me-complaints .complaint-item .cancel-btn{width:68px;line-height:23px;text-align:center;color:#fff;background:url(../assets/img/home/remark-btn.png?v155c47c0108) no-repeat;display:inline-block;cursor:pointer}.complaint-me-page .me-complaints .complaint-item>div{display:inline-block;vertical-align:top}.complaint-me-page .me-complaints .info{width:280px;color:#000;text-align:left}.complaint-me-page .me-complaints .content{width:340px;text-align:left}.complaint-me-page .me-complaints .content p{padding-left:20px;margin-top:5px}.complaint-me-page .complaint-form{padding:10px}.complaint-me-page .complaint-form h2{clear:both;height:21px;line-height:21px;padding-left:23px;background:url(../assets/img/home/complaint-icon.png?v155c47c0108) no-repeat 5px 5px #efefef;border:1px solid #e6e6e6;font-size:12px;color:#333;font-weight:400}.complaint-me-page .complaint-form .form-content{font-size:12px;padding:7px 0}.complaint-me-page .complaint-form .form-content dl{padding:7px 5px;line-height:22px}.complaint-me-page .complaint-form .form-content dt{width:75px;color:#333;text-align:right;float:left}.complaint-me-page .complaint-form .form-content dd>input{width:150px;height:18px;line-height:18px}.complaint-me-page .complaint-form .form-content dd>input,.complaint-me-page .complaint-form .form-content dd>textarea{color:#333;border:1px solid #c9c9c9;background:url(../assets/img/home/input-back.png?v155c47c0108) repeat-x;vertical-align:top}.complaint-me-page .complaint-form .form-content dd>textarea{width:400px;height:80px;max-width:500px;max-height:320px;overflow:auto}.complaint-me-page .complaint-form .form-submit>input{width:138px;height:34px;margin-left:80px;border:0;background:url(../assets/img/home/submit-btn.png?v155c47c0108) no-repeat;color:#fff;font-size:14px;font-weight:700;text-align:center;padding-right:20px;cursor:pointer;display:inline-block}.message-me-page .message .title{background-image:url(../assets/img/home/message.png?v155c47c0108)}.message-me-page .message-table-header{font-size:12px}.message-me-page .message-table-header .sender{width:118px;padding-left:38px;text-align:left}.message-me-page .message-table-header .heading{width:408px;text-align:left}.message-me-page .message-table-header .time{width:130px}.message-me-page .message-table-header .action{padding-left:10px;width:66px}.message-me-page .message-list{padding:10px;font-size:12px}.message-me-page .message-list table{width:100%;line-height:38px}.message-me-page .message-list table tr{color:#999;border:1px solid #e6e6e6}.message-me-page .message-list table tr td{text-align:center}.message-me-page .message-list table tr input{vertical-align:middle;margin:0}.message-me-page .message-list table tr .del-btn{color:#468fa2;text-decoration:none;cursor:pointer}.message-me-page .message-list table .list-foot{background:#f8f8f8}.message-me-page .message-list table .list-foot button{float:left;line-height:18px;padding:2px 10px;border:1px solid #ccc;border-radius:2px;cursor:pointer;outline:none}.message-me-page .message-list table .list-foot .del-choose-btn{background:#da044a;border-color:#cc0345;margin-right:10px;color:#fff}.message-me-page .message-list table .list-foot .read-choose-btn{background:#ddd;color:#b3b3b3}.message-me-page .message-list table .list-foot .has-new{background:#3797af;border-color:#147e98;color:#fff}.message-me-page .message-list table .td-sender{width:110px;color:#666;text-align:left;white-space:nowrap;overflow:hidden}.message-me-page .message-list table .td-title{width:410px;padding-left:10px;color:#666;text-align:left;white-space:nowrap;overflow:hidden}.message-me-page .message-list table .new-msg{background:#f0f5f8;border-bottom:1px solid #becfd3}.message-me-page .message-list table .new-msg .td-sender a,.message-me-page .message-list table .new-msg .td-title a{font-weight:700;color:#468fa2}.content-message-page .title{background-image:url(../assets/img/home/message.png?v155c47c0108)}.content-message-page .title .back-list{font-size:12px;float:right;width:67px;height:22px;line-height:22px;margin-top:9px;padding-right:4px;text-align:center;color:#fdfdfd;display:inline-block;background:url(../assets/img/home/btn-more.png?v155c47c0108) no-repeat;cursor:pointer}.content-message-page .text-container{font-size:12px;line-height:18px;padding:20px}.content-message-page .text-container .text-title{margin-bottom:10px;padding-bottom:10px;border-bottom:1px dashed #999}.content-message-page .text-container .text-title span{color:#999}.content-message-page .text-container .coupon-item{display:table-row}.content-message-page .text-container .coupon-item>div{padding:10px 0;display:table-cell;vertical-align:middle}.content-message-page .text-container .coupon-item img{vertical-align:middle}.content-message-page .text-container .coupon-item a{width:90px;height:30px;line-height:30px;text-align:center;color:#b3b3b3;font-size:14px;background-color:#ddd;border:1px solid #ccc;border-radius:4px;display:inline-block;cursor:pointer}.content-message-page .text-container .coupon-item .coupon-img{width:160px;text-align:center}.content-message-page .text-container .coupon-item .coupon-info{width:470px;line-height:20px}.content-message-page .text-container .coupon-item .pick-coupon-btn,.content-message-page .text-container .coupon-item .view-coupon-btn{color:#fff;background:#da044a;border-color:#cc0345;display:inline-block}.content-message-page .text-container .sale-img{margin-bottom:15px;overflow:hidden}.content-message-page .text-container .sale-img img{vertical-align:top}.content-message-page .text-container .sale-btn{color:#fff;padding:0 10px;background:#e1044b;margin-top:15px;border:1px solid #c10241;border-radius:2px;display:inline-block;cursor:pointer}.vip-me-page .title{background-image:url(../assets/img/home/vip-img/vip-title.png?v155c47c0108)}.vip-me-page .vip-level{clear:both;overflow:hidden}.vip-me-page .level{margin:20px 15px 0 40px;line-height:31px;float:left;clear:both;font-size:14px;color:#000}.vip-me-page .vipimg1{background-image:url(../assets/img/home/vip-img/silver-vip.png?v155c47c0108)}.vip-me-page .vipimg1,.vip-me-page .vipimg2{margin-top:20px;width:138px;height:31px;float:left}.vip-me-page .vipimg2{background-image:url(../assets/img/home/vip-img/gold-vip.png?v155c47c0108)}.vip-me-page .vipimg3{margin-top:20px;width:138px;height:31px;float:left;background-image:url(../assets/img/home/vip-img/platinum-vip.png?v155c47c0108)}.vip-me-page .favimg{float:left;width:645px;margin-top:20px;overflow:hidden}.vip-me-page .list{width:145px;float:left;margin:0 10px 8px 0}.vip-me-page .imgsrc{width:25px;float:left;margin-top:5px}.vip-me-page .fav-font{line-height:31px;font-size:12px;margin-left:30px;color:#000}.vip-me-page .year-amount{float:left;width:600px;margin-top:20px}.vip-me-page .amount{float:left}.vip-me-page .amount,.vip-me-page .ps{font-size:14px;font-weight:700;line-height:31px}.vip-me-page .ps{margin-left:30px}.vip-me-page .plalevel{margin-top:7px;width:160px;height:21px;background-image:url(../assets/img/home/vip-img/platinum.png?v155c47c0108)}.vip-me-page .amount-length{width:400px;height:15px;margin-bottom:5px}.vip-me-page .img-length{width:293px;height:12px;background-color:#e0e0e0}.vip-me-page .amount-left{width:298px;height:12px;overflow:hidden;float:left}.vip-me-page .img-left{height:12px;background-color:#cda16c;z-index:7;float:left}.vip-me-page .img-right{width:5px;height:12px;float:left;z-index:7;background-image:url(../assets/img/sprite.home.png?v155c47c08d8);background-position:-39px -24px;margin-left:-5px}.vip-me-page .letter{width:100px;font-size:12px;margin-left:303px;line-height:10px;margin-bottom:2px}.vip-me-page .change-img0{width:293px;height:18px;background-image:url(../assets/img/home/vip-img/vip-change1.png?v155c47c0108)}.vip-me-page .change-img1{width:293px;height:18px;background-image:url(../assets/img/home/vip-img/vip-change2.png?v155c47c0108)}.vip-me-page .change-img2{width:293px;height:18px;background-image:url(../assets/img/home/vip-img/vip-change3.png?v155c47c0108)}.vip-me-page .balance{margin-top:7px;font-size:13px;font-weight:700;margin-bottom:10px}.vip-me-page .balance p{float:left}.vip-me-page .balance a{color:red;margin-left:10px;float:left}.vip-me-page .history{margin-top:10px;clear:both;overflow:hidden}.vip-me-page .hisamout{margin-left:10px}.vip-me-page .line{clear:both;width:703px;height:1px;margin-bottom:5px;margin-left:40px;margin-top:25px;background-color:#e8e8e8;overflow:hidden}.vip-me-page .valid{overflow:hidden}.vip-me-page .valid-time{clear:both;width:720px;height:175px;margin-left:40px;position:relative;font-size:14px}.vip-me-page .time1{float:left;width:135px;height:135px;border-right:2px dashed #000}.vip-me-page .time1-img{margin-top:95px;width:130px;height:33px;background-image:url(../assets/img/home/vip-img/time1.png?v155c47c0108)}.vip-me-page .time2{width:129px}.vip-me-page .time2,.vip-me-page .time3{float:left;height:175px;border-right:2px dashed #000}.vip-me-page .time3{width:354px}.vip-me-page .time4{float:left;width:90px;height:155px}.vip-me-page .time-top{display:block;font-size:13px;margin-top:10px;margin-left:10px;line-height:18px}.vip-me-page .time-top span{font-weight:700}.vip-me-page .time-top a{color:red}.vip-me-page .time2-img{margin-top:47px;width:131px;height:33px;background-color:#ecdbca}.vip-me-page .time-left{float:left;display:block;font-size:13px;margin-top:10px;margin-left:10px;line-height:18px}.vip-me-page .time-left span{font-weight:700}.vip-me-page .time-right{float:right;display:block;font-size:13px;margin-top:10px;margin-right:10px;line-height:18px}.vip-me-page .time-right span{font-weight:700}.vip-me-page .time3-img{color:#fff;line-height:33px;margin-top:93px;width:356px;height:33px;background-color:#cda16d;text-align:center}.vip-me-page .time4-img{margin-top:65px;width:62px;height:33px;border-color:#ecdbca #fff transparent transparent;border-style:solid solid dashed dashed;border-width:33px 20px 0 0}.vip-me-page .doubt{margin-left:40px;margin-bottom:25px;margin-top:20px;font-size:14px}.vip-me-page .doubt a{float:right;margin-right:55px}.vip-me-page .tell{color:red}.vip-me-page .time-line{position:absolute;width:703px;height:2px;background-color:#e8e8e8;margin-top:65px}.help-page{width:990px;font-size:12px;margin:0 auto 20px}.help-page .path-nav{padding:11px 0;border-bottom:0;padding-left:25px;background:url(../assets/img/help/home-icon.png?v155c47c0108) no-repeat 0 12px}.help-page .left-container{float:left;width:180px;margin-right:8px}.help-page .block{border:1px solid #dedede;border-radius:2px}.help-page .title{height:40px;line-height:40px;padding:0 8px;background-color:#e3e3e3;background-position:10px 12px;background-repeat:no-repeat}.help-page .help-navigation{background:#f8f8f8;margin-bottom:10px}.help-page .help-navigation .help-center{background-image:url(../assets/img/help/help-center.png?v155c47c0108)}.help-page .help-navigation dl{width:100%;height:40px;background:#efefef;border-top:1px solid #e6e6e6;border-bottom:1px solid #e6e6e6}.help-page .help-navigation dl dt{width:132px;height:22px;margin:10px 0 10px 7px;overflow:hidden;background:url(../assets/img/help/help-search.png?v155c47c0108) no-repeat;float:left}.help-page .help-navigation dl dt input{width:110px;border:0;background:none;margin:3px 10px}.help-page .help-navigation dl dd{width:31px;float:left;margin:10px 0}.help-page .help-navigation dl dd .search-btn{width:31px;height:22px;border:0;background:url(../assets/img/help/help-search.png?v155c47c0108) no-repeat -134px 0;cursor:pointer;text-indent:-999em}.help-page .help-navigation ul{width:154px;padding:8px 12px}.help-page .help-navigation ul li{line-height:20px;font-family:Arial,helvetica,sans-serif;margin:5px 0;padding-left:20px;color:#333;background:url(../assets/img/help/help-nav-li.png?v155c47c0108) no-repeat}.help-page .help-navigation ul .active{background-position:0 -20px}.help-page .help-navigation ul .active a{color:#fff}.help-page .help-service{background:#f8f8f8;line-height:15px}.help-page .help-service .service-center{background-image:url(../assets/img/help/yoho-service.png?v155c47c0108);background-position:10px 9px}.help-page .help-service .service-main{padding:12px}.help-page .help-service .service-main strong{color:#000;font-size:18px;font-weight:700;font-family:Arial,helvetica,sans-serif}.help-page .help-service .service-main p:first-child{margin-bottom:10px}.help-page .help-main{width:800px;float:left;line-height:18px}.help-page .help-main strong{font-weight:700}.help-page .help-main .help-content{padding:15px}.help-page .help-main .help-content a{color:#468fa2;text-decoration:underline}.search-help-page .search-content{padding:15px}.search-help-page .search-content h2{border-bottom:2px solid #eee;font-size:14px;color:#333;height:20px;line-height:20px;padding-top:10px}.search-help-page .search-content ul{margin:10px 0;display:block;min-height:20px}.search-help-page .search-content ul li{width:345px;height:20px;line-height:20px;padding:0 0 0 20px;margin:0 15px 5px 0;display:inline-block;overflow:hidden;background:url(../assets/img/help/ask-icon.png?v155c47c0108) no-repeat 2px 3px;font-family:Arial,helvetica,sans-serif}.search-help-page .search-content ul .faqs{color:#666;cursor:pointer}.search-help-page .search-content .full-search{line-height:22px;padding:10px 8px;background-color:#e3e3e3;font-size:14px;font-weight:700}.search-help-page .search-content .full-search label{padding:12px}.search-help-page .search-content .full-search .full-search-name{width:185px;height:22px;padding:0 10px;border:0;background:url(../assets/img/help/help-search.png?v155c47c0108) no-repeat 0 -22px}.search-help-page .search-content .full-search .search-btn{width:31px;height:22px;border:0;background:url(../assets/img/help/help-search.png?v155c47c0108) no-repeat -134px 0;cursor:pointer;text-indent:-999em}.search-help-page .search-content .full-search .yoho-im-btn{width:120px;height:20px;background:url(../assets/img/help/yoho-im.png?v155c47c0108);display:inline-block;vertical-align:middle;margin-left:10px;border:0;cursor:pointer}.search-help-page .search-content .empty-tip{padding:200px 0;text-align:center}.search-help-page .search-content .empty-tip span{color:#e8044f;font-weight:700}.search-help-page .search-content .all-ask-list{line-height:18px;padding-top:10px}.search-help-page .search-content .all-ask-list .ask-item{padding:10px}.search-help-page .search-content .all-ask-list .ask-item.even{border:1px solid #fbf0d5;background:#fefaf0}.search-help-page .search-content .all-ask-list .ask{min-height:10px;padding-left:20px;margin-bottom:10px;background:url(../assets/img/help/ask-icon.png?v155c47c0108) no-repeat 2px 2px}.search-help-page .search-content .all-ask-list .answer{padding-left:20px;color:#f07100;background:url(../assets/img/help/answer-icon.png?v155c47c0108) no-repeat 2px 2px}.search-help-page .search-content .search-pager{height:20px;padding:10px}.search-help-page .search-content .search-pager .pager-html{display:inline}.search-help-page .search-content .search-pager a{border:1px solid #cecece;padding:0 6px;height:18px;line-height:18px;border-radius:2px;margin-right:4px;background-color:#fff}.search-help-page .search-content .search-pager a.cur{background-color:#222;color:#fff}.search-help-page .dialog-widget{position:absolute;width:450px;padding:5px;border:1px solid #999;background:#fff;border-radius:4px;z-index:16}.search-help-page .dialog-widget .dialog-titlebar{height:16px;cursor:move}.search-help-page .dialog-widget .dialog-titlebar .dialog-close-btn{float:right;width:46px;height:16px;background:url(../assets/img/home/openbox_close.png?v155c47c0108) no-repeat 0 0;cursor:pointer}.search-help-page .dialog-widget .dialog-titlebar .dialog-close-btn:hover{background-position:0 -16px}.search-help-page .dialog-widget .dialog-content{padding:20px 30px}.search-help-page .dialog-widget .dialog-content p{line-height:20px;padding-left:20px;padding-bottom:10px;font-size:12px;background:url(../assets/img/help/ask-icon.png?v155c47c0108) no-repeat 2px 3px}.search-help-page .dialog-widget .dialog-content .answer{color:#f07100;background:url(../assets/img/help/answer-icon.png?v155c47c0108) no-repeat 2px 2px}.search-help-page .dialog-bg{position:fixed;top:0;left:0;width:100%;height:100%;background:#000;opacity:.2;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=20)";z-index:15}.order-ensure-page{width:990px;margin:40px auto}.order-ensure-page .order-edit{width:100%;position:relative;margin-bottom:35px}.order-ensure-page .order-edit .order-title{position:relative;margin-bottom:15px}.order-ensure-page .order-edit .order-title ul{display:block;background-image:url(../assets/img/sprite.order.png?v155c47c08d8);background-position:-247px 0;width:364px;height:12px;position:absolute;right:0;top:0}.order-ensure-page .order-edit .order-title ul li{display:block;width:33.33333333%;float:left;font-size:12px;color:#999;height:50px;line-height:50px;text-align:center;position:relative}.order-ensure-page .order-edit .order-title ul li.active{color:#333}.order-ensure-page .order-edit .order-title ul li.active:after{display:block;content:'';background-image:url(../assets/img/sprite.order.png?v155c47c08d8);background-position:-273px -46px;width:12px;height:12px;position:absolute;left:50%;margin-left:-6px;top:0}.order-ensure-page .order-edit .order-title ul li.first{text-align:left}.order-ensure-page .order-edit .order-title ul li.first.active:after{left:0;margin-left:0}.order-ensure-page .order-edit .order-title ul li.end{text-align:right}.order-ensure-page .order-edit .order-title ul li.end.active:after{right:0;margin-left:0}.order-ensure-page .order-edit .order-title:before{content:'';display:block;background-image:url(../assets/img/sprite.order.png?v155c47c08d8);background-position:0 -72px;width:117px;height:33px}.order-ensure-page .order-edit .order-title.cart-page-title:before{content:'';display:block;background-image:url(../assets/img/sprite.order.png?v155c47c08d8);background-position:-119px -72px;width:117px;height:33px}.order-ensure-page .order-edit .order-edit-main{border:1px solid #ccc;margin-top:20px}.order-ensure-page .order-edit .order-edit-main h2.title{height:30px;line-height:30px;background:#000;color:#fff;font-size:12px;text-indent:15px;overflow:hidden}.order-ensure-page .order-edit .order-edit-main h2.title a{display:block;width:90px;height:22px;background-image:url(../assets/img/sprite.order.png?v155c47c08d8);background-position:-521px -14px;float:right;margin-top:4px;margin-right:10px;cursor:pointer}.order-ensure-page .order-edit .order-edit-main .order-content{padding:5px 30px;font-size:12px;color:#333}.order-ensure-page .order-edit .order-edit-main .order-content .order-selection{border-bottom:1px dashed #ccc;padding:15px 0 0}.order-ensure-page .order-edit .order-edit-main .order-content .order-selection h2{font-size:14px;color:#000}.order-ensure-page .order-edit .order-edit-main .order-content .order-selection h2 span{color:#e8044f;text-decoration:underline;cursor:pointer}.order-ensure-page .order-edit .order-edit-main .order-content .address-list h2{margin-bottom:15px}.order-ensure-page .order-edit .order-edit-main .order-content .address-list ul li{padding:10px 0}.order-ensure-page .order-edit .order-edit-main .order-content .address-list ul li strong{font-weight:700;margin-right:15px}.order-ensure-page .order-edit .order-edit-main .order-content .address-list ul li input.radio{margin:0;vertical-align:middle}.order-ensure-page .order-edit .order-edit-main .order-content .address-list ul .order-modify-btn{display:inline-block;float:right;color:#e8044f;width:80px;padding-right:20px;height:auto;overflow:hidden}.order-ensure-page .order-edit .order-edit-main .order-content .address-list ul .order-modify-btn span{text-decoration:underline;cursor:pointer;float:right}.order-ensure-page .order-edit .order-edit-main .order-content .address-list ul .order-modify-btn span.address-modify{float:left}.order-ensure-page .order-edit .order-edit-main .order-content .address-list .exist-address-list{min-height:35px}.order-ensure-page .order-edit .order-edit-main .order-content .address-list .exist-address-list li{border:1px solid #fff;padding-left:15px}.order-ensure-page .order-edit .order-edit-main .order-content .address-list .exist-address-list li strong{color:#e8044f}.order-ensure-page .order-edit .order-edit-main .order-content .address-list .exist-address-list li .default-address,.order-ensure-page .order-edit .order-edit-main .order-content .address-list .exist-address-list li .order-modify-btn{display:none}.order-ensure-page .order-edit .order-edit-main .order-content .address-list .exist-address-list li .default-address{margin-left:15px;color:#468fa2;text-decoration:underline}.order-ensure-page .order-edit .order-edit-main .order-content .address-list .exist-address-list li .radio{display:none}.order-ensure-page .order-edit .order-edit-main .order-content .address-list .exist-address-list li.has-exist-address .default-address{color:#468fa2;text-decoration:underline;cursor:pointer}.order-ensure-page .order-edit .order-edit-main .order-content .address-list .exist-address-list.address-expand li .default-address,.order-ensure-page .order-edit .order-edit-main .order-content .address-list .exist-address-list.address-expand li .order-modify-btn,.order-ensure-page .order-edit .order-edit-main .order-content .address-list .exist-address-list.address-expand li .radio{display:inline-block}.order-ensure-page .order-edit .order-edit-main .order-content .address-list .exist-address-list.address-expand li.active{background:#dbedf7;border:1px solid #8fb8e0}.order-ensure-page .order-edit .order-edit-main .order-content .address-list .exist-address-list.address-expand li.address_select .default-address{color:#999;text-decoration:none}.order-ensure-page .order-edit .order-edit-main .order-content .address-manage{margin-top:20px;border-top:1px dashed #ccc}.order-ensure-page .order-edit .order-edit-main .order-content .address-manage li{height:25px;line-height:25px}.order-ensure-page .order-edit .order-edit-main .order-content .address-manage li .address-legend{width:80px;text-align:right;display:inline-block;color:#333}.order-ensure-page .order-edit .order-edit-main .order-content .address-manage li .address-legend i{color:#e8044f}.order-ensure-page .order-edit .order-edit-main .order-content .address-manage li .text-input{height:25px;line-height:25px;width:180px;padding:0;border:1px solid #ccc}.order-ensure-page .order-edit .order-edit-main .order-content .address-manage li select.text-input{width:100px}.order-ensure-page .order-edit .order-edit-main .order-content .address-manage li .address-tel-input{width:180px;text-align:center;display:inline-block;height:25px;line-height:25px}.order-ensure-page .order-edit .order-edit-main .order-content .address-manage li .address-tel-input input{text-align:left;float:right;width:120px}.order-ensure-page .order-edit .order-edit-main .order-content .address-manage li .address-tel-input input.tel-lengend{float:left;width:40px}.order-ensure-page .order-edit .order-edit-main .order-content .pay-btn,.order-ensure-page .order-edit .order-edit-main .order-content .save-btn{display:block;font-size:14px;color:#fff;font-weight:700;text-indent:25px;cursor:pointer;margin-bottom:15px}.order-ensure-page .order-edit .order-edit-main .order-content .save-btn{background-image:url(../assets/img/sprite.order.png?v155c47c08d8);background-position:0 -36px;width:200px;height:34px;line-height:34px}.order-ensure-page .order-edit .order-edit-main .order-content .save-btn.new-user-btn{width:245px;background-image:url(../assets/img/sprite.order.png?v155c47c08d8);background-position:0 0}.order-ensure-page .order-edit .order-edit-main .order-content .pay-btn{background-image:url(../assets/img/sprite.order.png?v155c47c08d8);background-position:0 -107px;width:90px;height:34px;line-height:34px}.order-ensure-page .order-edit .order-edit-main .order-content .pay-btn.new-user-pay{background-image:url(../assets/img/sprite.order.png?v155c47c08d8);background-position:0 -36px;width:200px}.order-ensure-page .order-edit .order-edit-main .order-content .pay-time ul{padding:15px}.order-ensure-page .order-edit .order-edit-main .order-content .pay-time ul li{margin:10px 0}.order-ensure-page .order-edit .order-edit-main .order-content .pay-time ul li input.radio{margin:0;vertical-align:middle}.order-ensure-page .order-edit .order-edit-main .order-content .pay-time ul .prev-sell-item{color:#e8044f}.order-ensure-page .order-edit .order-edit-main .order-content .pay-time .pay-time-modify .pay-time-title{margin-top:20px}.order-ensure-page .order-edit .order-edit-main .order-content .pay-time .pay-time-modify h3{height:25px;line-height:25px;border:1px solid #e6e6e6;background:#efefef;text-indent:25px;position:relative}.order-ensure-page .order-edit .order-edit-main .order-content .pay-time .pay-time-modify h3:after{content:'';display:block;width:11px;height:11px;background:url(../assets/img/order/roundgreybtn.gif?v155c47c0108);position:absolute;top:7px;left:8px}.order-ensure-page .order-edit .order-edit-main .order-content .pay-time .pay-time-modify .pay-dashed-hr{border-bottom:1px dashed #ccc;padding-bottom:10px}.order-ensure-page .order-edit .order-edit-main .order-content .pay-time .pay-time-modify .pay-type-tips{color:#999;padding-left:15px}.order-ensure-page .order-edit .order-edit-main .order-content .pay-time .pay-time-modify div.pay-type-legend{width:130px;display:inline-block;padding:0;text-indent:0}.order-ensure-page .order-edit .order-edit-main .order-content .pay-time .pay-time-modify span.pay-type-legend{margin:0;color:#468fa2;cursor:pointer}.order-ensure-page .order-edit .order-edit-main .order-content .pay-time .pay-time-modify span.pay-type-legend:after{content:'';width:12px;height:12px;background:url(../assets/img/order/icon-arrow.png?v155c47c0108);display:inline-block;transition:transform .3}.order-ensure-page .order-edit .order-edit-main .order-content .pay-time .pay-time-modify span.pay-type-legend.active:after{transform:rotate(180deg)}.order-ensure-page .order-edit .order-edit-main .order-content .pay-time .pay-time-modify .support-type{display:block;margin-left:130px;border-left:1px dashed #ccc;font-size:12px}.order-ensure-page .order-edit .order-edit-main .order-content .pay-time .pay-time-modify .support-type h4{padding:10px 0 10px 15px}.order-ensure-page .order-edit .order-edit-main .order-content .pay-time .pay-time-modify .support-type ul{height:auto;overflow:hidden;margin:0;padding:0}.order-ensure-page .order-edit .order-edit-main .order-content .pay-time .pay-time-modify .support-type ul li{display:block;float:left;width:105px;height:30px;border:1px solid #ccc;margin:0 0 10px 15px}.order-ensure-page .order-edit .order-edit-main .order-content .pay-time .pay-time-modify .support-type ul li img{display:block;width:100%;height:100%;overflow:hidden}.order-ensure-page .order-edit .order-edit-main .order-content .pay-time .pay-time-modify .pay-recommend{font-size:0}.order-ensure-page .order-edit .order-edit-main .order-content .pay-time .pay-time-modify .pay-recommend .pay-type-legend,.order-ensure-page .order-edit .order-edit-main .order-content .pay-time .pay-time-modify .pay-recommend .support-type{font-size:12px}.order-ensure-page .order-edit .order-edit-main .order-content .select-express{border-bottom:none}.order-ensure-page .order-edit .order-edit-main .order-content .select-express .sf{color:red;text-decoration:underline}.order-ensure-page .order-edit .order-edit-main .order-content .select-express .express-list{padding-left:15px;margin:10px 0}.order-ensure-page .order-edit .order-edit-main .order-content .select-express .express-list input.radio{margin:0;vertical-align:middle}.order-ensure-page .order-edit .order-edit-main .order-content .select-express .express-tips{color:#999}.order-ensure-page .order-pay{width:100%}.order-ensure-page .differentOrder{position:relative;width:100%}.order-ensure-page .differentOrder .warn{text-align:center;background:#fefbd5;font:initial;height:40px;line-height:40px;font-size:16px}.order-ensure-page .differentOrder .warn .red{color:red}.order-ensure-page .differentOrder .warn .why{background-image:url(../assets/img/sprite.order.png?v155c47c08d8);background-position:-247px -46px;width:26px;height:20px;display:inline-block;vertical-align:middle}.order-ensure-page .differentOrder .warn .why:hover{cursor:pointer}.order-ensure-page .differentOrder .differentBag:before{content:"";position:absolute;width:0;height:0;border-bottom:10px solid #000;border-left:10px solid transparent;border-right:10px solid transparent;top:-10px;right:219px}.order-ensure-page .differentOrder .differentBag{display:none;position:absolute;right:-10px;top:40px;width:510px;padding:0 50px;background:#fff;z-index:1;border:1px solid #000;font-size:14px}.order-ensure-page .differentOrder .bag{position:relative;border-bottom:1px solid #e0e0e0;margin-top:10px;padding:20px 0}.order-ensure-page .differentOrder .bag h3{height:30px;line-height:30px;font-weight:700;margin-left:15px}.order-ensure-page .differentOrder .bag .pre{background-position:0 -142px;left:-30px}.order-ensure-page .differentOrder .bag .next,.order-ensure-page .differentOrder .bag .pre{position:absolute;background-image:url(../assets/img/sprite.order.png?v155c47c08d8);width:30px;height:50px;top:70px;display:none}.order-ensure-page .differentOrder .bag .next{background-position:-32px -142px;right:-30px}.order-ensure-page .differentOrder .bag p{color:#767676;margin-left:15px}.order-ensure-page .differentOrder .bagDetil{position:relative;height:90px;width:510px;overflow:hidden;margin-bottom:20px}.order-ensure-page .differentOrder .bagDetil ul{list-style:none;position:absolute;left:0;clear:both;height:90px}.order-ensure-page .differentOrder .bagDetil ul li{float:left;width:102px;height:90px;line-height:90px;text-align:center;position:relative}.order-ensure-page .differentOrder .bagDetil ul li img{width:90px;height:90px}.order-ensure-page .differentOrder .bagDetil ul li p{position:absolute;bottom:0;background:#9c3;width:90px;height:1rem;line-height:1rem;color:#fff;margin-left:7px}.freebie-tag{background:#9c3}.advance-buy-tag{background:#fc1264}.virtual-good-tag{background:red}.presall-tag{background:blue}.order-pay{font-size:12px;line-height:150%}.order-pay .pay-wapper{border:1px solid #ccc;border-top:none}.order-pay .pay-wapper .cart-sub-total{font-weight:700}.order-pay .pay-wapper .cart-sub-total-all{font-weight:700;font-size:18px}.order-pay table{width:100%}.order-pay table td{border:1px solid #ccc;border-left:0 none;padding:10px;text-align:center}.order-pay thead{background:#000}.order-pay thead th{height:32px;line-height:32px;color:#fff;vertical-align:middle;text-align:center;font-weight:700}.order-pay thead .clo1{width:10%}.order-pay thead .clo2{width:20%}.order-pay thead .clo4{width:40%}.order-pay .pay-pro-icon{float:left;width:60px;height:60px;display:block;position:relative}.order-pay .pay-pro-icon span{width:100%;height:16px;line-height:16px;position:absolute;left:0;bottom:0;text-align:center;color:#fff;display:block;cursor:pointer}.order-pay .pay-pro-icon .incentive{background:#f74a87}.order-pay .pay-pro-icon .gift{background:#9c3}.order-pay .pay-pro-info{color:#999;margin-left:70px;text-align:left}.order-pay .pay-pro-info a{color:#468fa2;text-decoration:none;display:block}.order-pay .pay-pro-info a:hover{text-decoration:underline}.order-pay .play-content{padding:10px}.order-pay .play-content .red{color:#e8044f!important}.order-pay .play-content .orange{color:#f60!important}.order-pay .play-content .strong{font-weight:700;color:#000}.order-pay .play-content .pan dt{width:105px;height:30px;padding:0 0 0 30px;line-height:30px;text-align:left;border:0;color:#fff;display:inline-block;cursor:pointer;background:url(../assets/img/order/btn-openclose.png?v155c47c0108) no-repeat 0 -60px;margin-bottom:5px}.order-pay .play-content .pan dd{display:none;border:1px solid #ccc;padding:10px 15px;margin-bottom:10px}.order-pay .play-content .dropdown,.order-pay .play-content .textbox{height:20px;line-height:20px;color:#333;border:1px solid #c9c9c9;vertical-align:top}.order-pay .play-content .btn-group{text-align:right}.order-pay .play-content .btn-group input{display:inline-block;background:none;border:1px solid #ccc;border-radius:2px;height:20px}.order-pay .play-content .btn-group .ok{background-color:#000;color:#fff;cursor:pointer}.order-pay .play-content .btn-group .cancel{cursor:pointer}.order-pay .play-content .play-left{float:left;width:405px}.order-pay .play-content .play-left .pan{text-align:left}.order-pay .play-content .play-left .pan dt{color:#000;background-image:url(../assets/img/sprite.order.png?v155c47c08d8);background-position:-384px -14px}.order-pay .play-content .play-left .pan dt.active{background-image:url(../assets/img/sprite.order.png?v155c47c08d8);background-position:-247px -14px}.order-pay .play-content .play-piao-pan li{height:25px;padding:10px 0;line-height:22px}.order-pay .play-content .play-piao-pan li label{width:65px;display:inline-block}.order-pay .play-content .play-piao-pan li .textbox{width:200px}.order-pay .play-content .play-remark-pan .textbox{width:369px;height:70px}.order-pay .play-content .play-remark-pan .note{padding:5px 0;color:#999}.order-pay .play-content .play-right{float:right;width:50%;width:405px}.order-pay .play-content .play-right .pan{text-align:right}.order-pay .play-content .play-right .red-envelopes{width:200px;height:60px;border:1px dashed #000;margin-top:10px;float:right;padding:15px;font-size:12px;color:#000}.order-pay .play-content .play-right .red-envelopes.active{background:#fefccb}.order-pay .play-content .play-right .use-envelopes{font-weight:700}.order-pay .play-content .play-right .has-envelopes{margin-top:5px}.order-pay .play-content .play-right .has-envelopes span{font-weight:700}.order-pay .play-content .back-coin{text-align:right;height:30px;line-height:30px;padding-right:18px}.order-pay .play-content .back-coin .yoho-coin{width:14px;height:14px;display:inline-block;background-image:url(../assets/img/sprite.cart.png?v155c47c08d8);background-position:-321px -225px;vertical-align:middle;margin-top:-2px;margin-right:4px}.order-pay .play-content .play-total{text-align:right;padding-bottom:20px}.order-pay .play-content .play-total .bi-modify,.order-pay .play-content .play-total .juan-modify{color:#468fa2;text-decoration:underline;cursor:pointer}.order-pay .play-content .play-total label{padding-right:10px}.order-pay .play-content .play-total em{width:80px;text-align:left;display:inline-block}.order-pay .play-content .play-total a{color:#468fa2;text-decoration:underline}.order-pay .play-content .play-total .total-express-w{color:#e80480}.order-pay .play-content .play-juan-pan dd{text-align:left}.order-pay .play-content .play-juan{padding:10px 0}.order-pay .play-content .play-juan .textbox{width:70px}.order-pay .play-content .play-juan [disabled=disabled]+label{color:#999}.order-pay .play-content .play-bi-pan dd{text-align:right}.order-pay .play-content .play-bi-pan .textbox{width:70px}.order-pay .play-content .play-bi-pan p{padding:10px 0}.order-pay .play-content .play-bi-pan p.errbitip{padding-top:0}.order-pay .to-play p{padding:10px 0;font-size:14px;text-align:right;color:#000}.order-pay .to-play p em{color:#e8044f;font-size:24px}.order-pay .to-play .btn-group{padding:10px 0 40px}.order-pay .to-play .btn-group .submit{float:right;width:133px;height:33px;padding:0;text-align:center;border:0;line-height:33px;font-size:14px;color:#fff;font-weight:700;background:url(../assets/img/order/btns.png?v155c47c0108) no-repeat 0 -33px;display:inline-block;cursor:pointer}.order-ensure-page .none{display:none}.order-ensure-page .gift{position:relative;width:988px;height:50px;background:url(../assets/img/cart/cart_gift.png?v155c47c0108) 0 0 repeat;border:1px solid #ccc;text-align:center}.order-ensure-page .gift p{background:url(../assets/img/cart/cart_gift_banner.jpg?v155c47c0108) 0 0 no-repeat;display:inline-block;width:450px;height:50px;overflow:hidden}.order-ensure-page .gift i{width:30px;height:30px;overflow:hidden;position:absolute;top:10px;right:5px;cursor:pointer}.order-ensure-page .gift .up{background-position:-329px -141px}.order-ensure-page .gift .down,.order-ensure-page .gift .up{background-image:url(../assets/img/sprite.cart.png?v155c47c08d8)}.order-ensure-page .gift .down{background-position:-332px -178px}.order-ensure-page .loading{width:120px;height:28px;overflow:hidden;position:absolute;left:50%;top:50%;display:none;line-height:30px;border:1px solid #ccc;font-size:12px;text-indent:10px;background:#fff}.order-ensure-page .loading span{width:20px;height:20px;float:left;margin:4px 4px 4px 13px;background:url(../assets/img/cart/loading_s.gif?v155c47c0108) 2px 2px no-repeat}.order-ensure-page .dev-revocation{border:1px solid #fcd081;background:#fff8d9;margin-bottom:15px}.order-ensure-page .dev-revocation td{border:none}.order-ensure-page .dev-revocation td a{color:#468fa2;margin-left:12px}.order-ensure-page .dev-revocation td a:hover{text-decoration:underline}.order-ensure-page .order-title{margin-top:30px;height:auto;overflow:hidden}.order-ensure-page .salesPromotion{width:990px;height:36px;border-bottom:1px solid #ccc;font-size:12px}.order-ensure-page .salesPromotion p{width:800px;height:36px;line-height:36px;float:left;padding:0 10px}.order-ensure-page .salesPromotion p b{margin-right:5px;background:#6c6c6c;border-radius:4px;padding:1px 5px;color:#fff}.order-ensure-page .salesPromotion span{width:150px;height:36px;padding:0 10px;line-height:36px;float:right;text-align:right;position:relative}.order-ensure-page .salesPromotion span i{position:absolute;top:11px;left:108px;float:left;width:13px;height:13px;background-image:url(../assets/img/sprite.cart.png?v155c47c08d8);background-position:-357px -71px}.order-ensure-page .cartnew-tips{height:auto;overflow:hidden;font-size:12px;margin-bottom:5px}.order-ensure-page .cartnew-tips .tipsbox{width:648px;height:23px;line-height:18px;padding:4px 5px 4px 10px;color:#666;background:url(../assets/img/cart/cartnew_tipsbox.png?v155c47c0108) no-repeat;position:relative;float:left}.order-ensure-page .cartnew-tips .tipsbox .btn_close{width:17px;height:17px;padding:0;background-image:url(../assets/img/sprite.cart.png?v155c47c08d8);background-position:-270px -225px;float:right;cursor:pointer}.order-ensure-page .cartnew-tips .tipsbox strong{color:#000;font-weight:700}.order-ensure-page .cartnew-tips .tipsbox a{color:#468fa2}.order-ensure-page .pay-wapper{position:relative}.order-ensure-page .pay-wapper .pre-sell .pre-sell-title{background:#fff9d9}.order-ensure-page .pay-wapper .pre-sell .pre-sell-title span{margin-right:10px}.order-ensure-page .pay-wapper .free{display:inline-block;width:39px;height:20px;background-image:url(../assets/img/sprite.cart.png?v155c47c08d8);background-position:-150px -225px}.order-ensure-page .pay-wapper .fold,.order-ensure-page .pay-wapper .none{display:none}.order-ensure-page .pay-wapper .vipPrice{color:#e8044f;display:block}.order-ensure-page .pay-wapper .presell{color:#c21250;display:block}.order-ensure-page .pay-wapper .giftInfo{margin-left:30px}.order-ensure-page .pay-wapper .pay-pro-info{padding-left:15px;padding-top:10px;margin-left:0;float:left}.order-ensure-page .pay-wapper .pay-pro-info a{width:200px}.order-ensure-page .pay-wapper .pre-sell-box .cart-empty{border:none;padding:100px 0 100px 260px;background:url(../assets/img/cart/cart_empty.gif?v155c47c0108) 200px 56px no-repeat}.order-ensure-page .pay-wapper .pre-sell-box .cart-empty a{display:inline-block;width:90px;height:35px;background-image:url(../assets/img/sprite.cart.png?v155c47c08d8);background-position:-237px -141px;overflow:hidden;color:#666;line-height:32px}.order-ensure-page .pay-wapper .pre-sell-box .incentive{background:#000100;color:#fff}.order-ensure-page .pay-wapper .tip-message{background:#e8044f;color:#fff;font-size:12px;margin-top:5px}.order-ensure-page .pay-wapper .cart-product-num{font-size:12px;text-align:left;height:33px;line-height:33px;background:#f8f8f8;padding:0 10px;position:relative}.order-ensure-page .pay-wapper .cart-product-num strong{padding-left:20px;font-weight:700}.order-ensure-page .pay-wapper .cart-product-num .icon-minusCart{background-position:-289px -225px}.order-ensure-page .pay-wapper .cart-product-num .icon-addCart,.order-ensure-page .pay-wapper .cart-product-num .icon-minusCart{position:absolute;top:9px;left:15px;float:left;width:15px;height:15px;cursor:pointer;background-image:url(../assets/img/sprite.cart.png?v155c47c08d8)}.order-ensure-page .pay-wapper .cart-product-num .icon-addCart{background-position:-305px -225px}.order-ensure-page .pay-wapper .cart-product-num .icon-zp{position:absolute;top:8px;left:10px;float:left;width:18px;height:19px;background-image:url(../assets/img/sprite.cart.png?v155c47c08d8);background-position:-251px -225px}.order-ensure-page .pay-wapper .cart-product-num .cart-unfold{position:absolute;top:0;right:10px}.order-ensure-page .pay-wapper .cart-product-num .cart-unfold i{width:28px;height:20px;overflow:hidden;display:inline-block;margin-top:5px;cursor:pointer}.order-ensure-page .pay-wapper .cart-product-num .cart-btn-pre{background-image:url(../assets/img/sprite.cart.png?v155c47c08d8);background-position:-191px -225px}.order-ensure-page .pay-wapper .cart-product-num .cart-btn-next{background-image:url(../assets/img/sprite.cart.png?v155c47c08d8);background-position:-221px -225px}.order-ensure-page .pay-wapper .cart-product-num .unfold-color{color:#666;cursor:pointer}.order-ensure-page .pay-wapper .cart-product-num .cart-page p{float:left;padding-right:5px}.order-ensure-page .pay-wapper .cart-product-num .cart-page .f-red{color:red}.order-ensure-page .pay-wapper .cart-product-num input{position:relative;top:2px}.order-ensure-page .pay-wapper input.cart-item-check{float:left;margin-top:25px;margin-left:15px}.order-ensure-page .pay-wapper .adjust-cart-num input{width:30px;margin:0 5px;text-align:center}.order-ensure-page .pay-wapper .adjust-cart-num span{display:inline-block;width:11px;height:11px;cursor:pointer;font-size:10px}.order-ensure-page .pay-wapper .adjust-cart-num .minus{background-image:url(../assets/img/sprite.cart.png?v155c47c08d8);background-position:-357px -119px}.order-ensure-page .pay-wapper .adjust-cart-num .plus{background-image:url(../assets/img/sprite.cart.png?v155c47c08d8);background-position:-357px -106px}.order-ensure-page .pay-wapper .cart-add-btn{width:118px;height:32px;display:inline-block;overflow:hidden;border:0;cursor:pointer;line-height:32px}.order-ensure-page .pay-wapper .zp{background-image:url(../assets/img/sprite.cart.png?v155c47c08d8);background-position:-237px -71px}.order-ensure-page .pay-wapper .order{background-image:url(../assets/img/sprite.cart.png?v155c47c08d8);background-position:-237px -106px}.order-ensure-page .pay-wapper .cart-yetremove-btn{height:20px;line-height:21px;padding:0 10px;display:inline-block;color:#b3b3b3;position:relative;border:1px solid #dcdcdc;background:#ebebeb;border-radius:3px}.order-ensure-page .pay-wapper .cart-del-btn,.order-ensure-page .pay-wapper .cart-remove-btn{height:22px;line-height:21px;padding:0 10px;display:inline-block;cursor:pointer;color:#666;position:relative}.order-ensure-page .pay-wapper .cart-del-btn span,.order-ensure-page .pay-wapper .cart-remove-btn span{position:relative;z-index:9}.order-ensure-page .pay-wapper .cart-del-btn:after,.order-ensure-page .pay-wapper .cart-remove-btn:after{content:'';display:block;width:16px;height:100%;background-image:url(../assets/img/sprite.cart.png?v155c47c08d8);background-position:-102px -248px;position:absolute;right:0;top:0;z-index:7}.order-ensure-page .pay-wapper .cart-del-btn:before,.order-ensure-page .pay-wapper .cart-remove-btn:before{content:'';display:block;width:100%;height:100%;background-image:url(../assets/img/sprite.cart.png?v155c47c08d8);background-position:0 -225px;position:absolute;left:0;top:0}.order-ensure-page .cartnew-sum{background:#efefef;border:1px solid #ccc;padding:10px;margin-bottom:10px;zoom:1;margin-top:20px;height:auto;overflow:hidden;font-size:12px}.order-ensure-page .cartnew-sum .left{float:left}.order-ensure-page .cartnew-sum .left a{color:#333;margin-left:20px}.order-ensure-page .cartnew-sum .left input{position:relative;top:2px}.order-ensure-page .cartnew-sum .right{float:right;text-align:right}.order-ensure-page .cartnew-sum .right strong{color:#e8044f;font-size:18px}.order-ensure-page .cartnew-sum .sum{color:#333;font-weight:700;padding-bottom:5px}.order-ensure-page .cartnew-sum .yoho-coin{width:14px;height:14px;display:inline-block;background-image:url(../assets/img/sprite.cart.png?v155c47c08d8);background-position:-321px -225px;vertical-align:middle;margin-top:-2px;margin-right:4px}.order-ensure-page .cartnew-submit{padding:10px 0 40px;text-align:right;position:relative}.order-ensure-page .cartnew-submit .btn_continue{width:60px;padding:0 0 0 33px;text-align:left;color:#333;background-position:-237px -178px;float:left}.order-ensure-page .cartnew-submit .btn_account,.order-ensure-page .cartnew-submit .btn_continue{height:33px;border:0;line-height:33px;font-size:14px;font-weight:700;background-image:url(../assets/img/sprite.cart.png?v155c47c08d8);display:inline-block;cursor:pointer}.order-ensure-page .cartnew-submit .btn_account{width:133px;padding:0;text-align:center;color:#fff;background-position:-237px 0;float:right}.order-ensure-page .cartnew-submit .go_cash_tips{font-size:12px;width:200px;padding:5px 7px 0 28px;height:45px;position:absolute;right:135px;top:10px;text-align:left;color:#e8044f;background-image:url(../assets/img/sprite.cart.png?v155c47c08d8);background-position:0 0;display:block}.order-ensure-page .cartnew-submit .btn_account_disabled{width:133px;height:33px;padding:0;text-align:center;border:0;line-height:33px;font-size:14px;color:#ccc;font-weight:700;background-image:url(../assets/img/sprite.cart.png?v155c47c08d8);background-position:-237px -36px;display:inline-block;cursor:pointer}.order-ensure-page .cartnew-goodslist{margin-bottom:10px;font-size:12px;border:1px solid #ccc}.order-ensure-page .cartnew-goodslist .title{height:20px;padding:8px 10px;background:#efefef}.order-ensure-page .cartnew-goodslist .title h2{height:20px;line-height:24px;overflow:hidden;font-size:12px;float:left;cursor:pointer}.order-ensure-page .cartnew-goodslist .title h2 i{width:15px;height:15px;float:left;position:relative;top:4px;margin-right:5px}.order-ensure-page .cartnew-goodslist .title h2 .icon-minus{background-image:url(../assets/img/sprite.cart.png?v155c47c08d8);background-position:-289px -225px}.order-ensure-page .cartnew-goodslist .title h2 .icon-add{background-image:url(../assets/img/sprite.cart.png?v155c47c08d8);background-position:-305px -225px}.order-ensure-page .cartnew-goodslist .right{float:right}.order-ensure-page .cartnew-goodslist .right span{width:28px;height:22px;display:inline-block}.order-ensure-page .cartnew-goodslist .right .pageprev{background-image:url(../assets/img/sprite.cart.png?v155c47c08d8);background-position:-191px -225px}.order-ensure-page .cartnew-goodslist .right .pagenext{background-image:url(../assets/img/sprite.cart.png?v155c47c08d8);background-position:-221px -225px}.order-ensure-page .cartnew-goodslist .main{height:230px;border-top:1px solid #e3e3e3;display:block}.order-ensure-page .cartnew-goodslist .main ul{height:auto;width:100%;overflow:hidden}.order-ensure-page .cartnew-goodslist .main li{width:16.6667%;box-sizing:border-box;height:230px;border-right:1px solid #e3e3e3;float:left}.order-ensure-page .cartnew-goodslist .main li.end{border:none}.order-ensure-page .cartnew-goodslist .main .list{width:102px;padding:10px 0 0;margin:0 auto}.order-ensure-page .cartnew-goodslist .main .thumb{height:110px}.order-ensure-page .cartnew-goodslist .main .thumb img{display:block;margin:0 auto}.order-ensure-page .cartnew-goodslist .main .name{height:35px;overflow:hidden;font-size:12px}.order-ensure-page .cartnew-goodslist .main .name h3{height:30px;line-height:15px;font-size:12px;font-weight:400;color:#333;cursor:pointer;overflow:hidden}.order-ensure-page .cartnew-goodslist .main .name a{color:#333;text-decoration:underline}.order-ensure-page .cartnew-goodslist .main .price{color:#333;height:25px;line-height:25px;font-weight:700;white-space:nowrap;overflow:hidden;text-align:center;font-size:12px}.order-ensure-page .cartnew-goodslist .main .price del{color:#999}.order-ensure-page .cartnew-goodslist .main .op{text-align:center;padding:0 0 5px}.order-ensure-page .cartnew-goodslist .main .btn_view_s{width:100px;height:22px;background-image:url(../assets/img/sprite.cart.png?v155c47c08d8);background-position:0 -248px;display:inline-block;border:0}.shop-cart .goods-detail{position:absolute;top:10%;left:0;z-index:10;width:650px;height:auto;overflow:hidden;border:1px solid #ccc;border-radius:5px;background:#fff;display:none}.shop-cart .goods-detail .magnify{position:absolute;width:12px;height:12px;background-image:url(../assets/img/sprite.cart.png?v155c47c08d8);background-position:-357px -85px;bottom:2px;right:2px}.shop-cart .goods-detail .detail-header{display:block;font-size:12px;line-height:16px;text-align:center;color:#fff;margin-top:5px;box-sizing:border-box;padding-right:5px;height:16px;cursor:move}.shop-cart .goods-detail .detail-header .colse{float:right;width:46px;height:16px;background:#ccc;border-radius:2px;cursor:pointer}.shop-cart .goods-detail .detail-header .colse:hover{background:#414141}.shop-cart .goods-detail .detail-body{width:610px;padding:15px;margin:0 auto}.shop-cart .goods-detail .detail-body .none{display:none}.shop-cart .goods-detail .detail-body .detail-bigpic{width:290px;padding-bottom:15px;float:left}.shop-cart .goods-detail .detail-body .detail-bigpic .bigpic{width:210px;height:280px;display:block;margin:0 auto 10px}.shop-cart .goods-detail .detail-body .detail-bigpic .bigpic img{width:100%;height:auto}.shop-cart .goods-detail .detail-body .detail-bigpic .piclist{height:65px;cursor:pointer}.shop-cart .goods-detail .detail-body .detail-bigpic .piclist span{width:10px;height:60px}.shop-cart .goods-detail .detail-body .detail-bigpic .piclist .pre{background-image:url(../assets/img/sprite.cart.png?v155c47c08d8);background-position:0 -304px;float:left}.shop-cart .goods-detail .detail-body .detail-bigpic .piclist .con{width:260px;height:65px;overflow:hidden;float:left;margin-left:5px}.shop-cart .goods-detail .detail-body .detail-bigpic .piclist .con li{float:left;width:58px;height:58px;border:1px solid #ccc;margin:1px;vertical-align:top;overflow:hidden;text-align:center}.shop-cart .goods-detail .detail-body .detail-bigpic .piclist .con li img{width:auto;height:100%;display:inline-block}.shop-cart .goods-detail .detail-body .detail-bigpic .piclist .con .active{width:56px;height:56px;border:2px solid #333}.shop-cart .goods-detail .detail-body .detail-bigpic .piclist .next{background-image:url(../assets/img/sprite.cart.png?v155c47c08d8);background-position:-12px -304px;float:right}.shop-cart .goods-detail .detail-body .detail-info{width:300px;float:right;padding-bottom:15px}.shop-cart .goods-detail .detail-body .detail-info .title{padding:5px 0}.shop-cart .goods-detail .detail-body .detail-info .title h2{width:300px;color:#000;font-size:12px;font-weight:400;white-space:nowrap;overflow:hidden}.shop-cart .goods-detail .detail-body .detail-info .arrivalDate{color:red}.shop-cart .goods-detail .detail-body .detail-info .type{padding-bottom:10px}.shop-cart .goods-detail .detail-body .detail-info .type .type-s{background:#ccc;padding:0 5px;color:#fff;font-size:12px;height:15px;line-height:15px;display:inline-block}.shop-cart .goods-detail .detail-body .detail-info .price{padding:0 0 10px;margin-bottom:10px;border-bottom:1px solid #000}.shop-cart .goods-detail .detail-body .detail-info .price .oldprice{color:#999;font-size:14px;font-weight:700;display:block;padding-bottom:5px}.shop-cart .goods-detail .detail-body .detail-info .price .newprice{color:#000;font-size:14px;font-weight:700;height:30px;line-height:30px;padding:0 0 5px}.shop-cart .goods-detail .detail-body .detail-info .price .newprice b{font-size:22px;font-family:arial}.shop-cart .goods-detail .detail-body .detail-info .order{color:#000;font-size:12px}.shop-cart .goods-detail .detail-body .detail-info .order dd{width:55px;float:left;padding-bottom:8px}.shop-cart .goods-detail .detail-body .detail-info .order dt{width:245px;float:left;padding-bottom:8px}.shop-cart .goods-detail .detail-body .detail-info .order dd.colorBox{line-height:44px}.shop-cart .goods-detail .detail-body .detail-info .order .colorBox{height:75px}.shop-cart .goods-detail .detail-body .detail-info .order .colorBox li{width:44px;height:65px;overflow:hidden;text-align:center;margin-right:4px;display:inline;float:left;cursor:pointer}.shop-cart .goods-detail .detail-body .detail-info .order .colorBox li .atcive{width:40px;height:40px;border:2px solid #e8044f}.shop-cart .goods-detail .detail-body .detail-info .order .colorBox li .atcive span{position:absolute;bottom:0;right:0;width:11px;height:11px;overflow:hidden;background:url(../assets/img/cart/ico_r_act.png?v155c47c0108) 0 0 no-repeat}.shop-cart .goods-detail .detail-body .detail-info .order .colorBox li p{width:42px;height:42px;margin:0;display:inline-block;border:1px solid #ccc;position:relative}.shop-cart .goods-detail .detail-body .detail-info .order .colorBox li p img{width:100%;height:auto}.shop-cart .goods-detail .detail-body .detail-info .order .colorBox li span{line-height:20px}.shop-cart .goods-detail .detail-body .detail-info .order .showSizeBox{height:25px;line-height:18px}.shop-cart .goods-detail .detail-body .detail-info .order .showSizeBox span{cursor:pointer;height:18px;padding:0 10px;border:1px solid #ccc;margin:1px 5px 5px 1px;display:inline;float:left;overflow:hidden}.shop-cart .goods-detail .detail-body .detail-info .order .showSizeBox .atcive{height:16px;border:2px solid red;background:url(../assets/img/cart/ico_r_act.png?v155c47c0108) 100% 100% no-repeat}.shop-cart .goods-detail .detail-body .detail-info .order .showSizeBox .null-atcivec{height:18px;border:1px solid #ccc;color:#ccc}.shop-cart .goods-detail .detail-body .detail-info .order .showSizeBox .atcivec{height:16px;border:2px solid #ccc;background:url(../assets/img/cart/ico_r_act_h.png?v155c47c0108) 100% 100% no-repeat;color:#ccc}.shop-cart .goods-detail .detail-body .detail-info .order .amount_wrapper{width:100px;height:20px;display:inline-block}.shop-cart .goods-detail .detail-body .detail-info .order .amount_wrapper .amount{width:12px;height:12px;display:inline;cursor:pointer;border:0;float:left;font-size:10px;color:#c4c4c4}.shop-cart .goods-detail .detail-body .detail-info .order .amount_wrapper .cut{background-image:url(../assets/img/sprite.cart.png?v155c47c08d8);background-position:-357px -119px;margin:5px 5px 0 0}.shop-cart .goods-detail .detail-body .detail-info .order .amount_wrapper .add{background-image:url(../assets/img/sprite.cart.png?v155c47c08d8);background-position:-357px -106px;margin:5px 0 0 5px}.shop-cart .goods-detail .detail-body .detail-info .order .amount_wrapper .mnum{width:33px;height:18px;line-height:16px;border:1px solid #c4c4c4;text-align:center;overflow:hidden;float:left;font-size:12px}.shop-cart .goods-detail .detail-body .detail-info .submit{padding-top:10px;float:left}.shop-cart .goods-detail .detail-body .detail-info .submit input{width:225px;height:45px;overflow:hidden;border:0;cursor:pointer;float:left}.shop-cart .goods-detail .detail-body .detail-info .submit .addcart{background-image:url(../assets/img/sprite.cart.png?v155c47c08d8);background-position:0 -146px}.shop-cart .goods-detail .detail-body .detail-info .submit .btn_pre_sale{background-image:url(../assets/img/sprite.cart.png?v155c47c08d8);background-position:0 -52px}.shop-cart .goods-detail .detail-body .detail-info .submit .btn_sellout{background-image:url(../assets/img/sprite.cart.png?v155c47c08d8);background-position:0 -99px}.shop-cart .goods-detail .detail-body .detail-info .submit .fav_count{background-image:url(../assets/img/sprite.cart.png?v155c47c08d8);background-position:0 -193px;height:30px}.shop-cart .goods-detail .detail-body .detail-size{float:left;border-top:1px dashed #ccc;width:100%;height:auto;padding-bottom:15px}.shop-cart .goods-detail .detail-body .detail-size h3{height:35px;line-height:35px;font-size:14px}.shop-cart .goods-detail .detail-body .detail-size h3 span{font-size:12px}.shop-cart .goods-detail .detail-body .detail-size table{width:100%;height:auto;border:1px solid #ccc;margin-bottom:5px;font-size:12px}.shop-cart .goods-detail .detail-body .detail-size table td{border:1px solid #fff;padding:3px;font-weight:400;background:#fbfbfb;text-align:center;padding:8px 3px}.shop-cart .goods-detail .detail-body .detail-size table tr:nth-of-type(even) td{background:#f4f4f4}.shop-cart .goods-detail .detail-body .detail-size .size-info{font-size:12px;color:#999}.shopping-pay-page{margin:25px auto}.shopping-pay-page .pay-page{width:100%;position:relative}.shopping-pay-page .not-pay{width:680px;height:400px;margin:0 auto;overflow:hidden;padding-top:100px;padding-left:200px}.shopping-pay-page .not-pay p{padding-left:30px;line-height:32px}.shopping-pay-page .not-pay .success{background:url(../assets/img/pay/success.png?v155c47c0108) no-repeat 0}.shopping-pay-page .not-pay a{margin-top:40px;margin-left:140px;float:left;color:#c5c5c5}.shopping-pay-page .pay-title{width:980px;height:52px;overflow:hidden;padding:20px 0 0;margin:0 auto;border-bottom:2px solid #000}.shopping-pay-page .pay-title ul{width:446px;height:12px;float:right;list-style:none;padding:0;margin:0;background:url(../assets/img/pay/pay-list.png?v155c47c0108) no-repeat 100% 0}.shopping-pay-page .pay-title li{width:176px;height:12px;text-align:center;color:#999;float:left}.shopping-pay-page .pay-title li span{display:block;height:15px;padding:15px 0 0;line-height:15px;font-size:12px}.shopping-pay-page .pay-title .end{width:93px;height:18px;color:#000}.shopping-pay-page .pay-title .end span{text-align:right}.shopping-pay-page .step4{height:24px;width:99px;overflow:hidden;background-image:url(../assets/img/pay/pay-title.png?v155c47c0108);float:left}.shopping-pay-page .step5{height:31px;width:117px;overflow:hidden;background-image:url(../assets/img/pay/bc.png?v155c47c0108);float:left}.shopping-pay-page .cart-pay{width:980px;margin:25px auto}.shopping-pay-page .cart-pay h2{width:950px;height:40px;padding:0 0 0 30px;line-height:40px;color:#000;font-size:20px;font-family:Arial,helvetica,sans-serif;background:url(../assets/img/pay/cat-pay.png?v155c47c0108) no-repeat 0 11px;font-weight:400}.shopping-pay-page .cart-pay h3{height:40px;line-height:40px;font-weight:400;color:#666;font-size:12px;margin:0}.shopping-pay-page .cart-pay h3 strong{color:#e8044f;font-size:14px;font-weight:700}.shopping-pay-page .cart-pay h4{height:30px;line-height:30px;color:#000;font-size:14px;display:block;margin:0}.shopping-pay-page .wrapper{width:980px;margin:25px auto;overflow:hidden;border-top:2px solid #d9d9d9;padding-top:19px}.shopping-pay-page .pay-way{width:980px;height:32px;margin-bottom:27px;overflow:hidden;margin:30 auto}.shopping-pay-page .word{display:block;float:left;line-height:32px;font-size:16px;margin-right:10px}.shopping-pay-page .pay-type-img{height:30px;float:left;vertical-align:middle}.shopping-pay-page #tab-box{width:980px;margin-top:30px}.shopping-pay-page .tab-conbox,.shopping-pay-page .tabs{border-bottom:1px solid #d9d9d9}.shopping-pay-page .tabs{height:40px;padding-left:20px;background:#fff}.shopping-pay-page .tabs li{height:40px;width:85px;line-height:40px;float:left;margin-bottom:-1px;background:#ededed;overflow:hidden;position:relative;margin-left:20px;font-size:12px}.shopping-pay-page .tabs li a{display:block;outline:none;font-size:12px;text-align:center}.shopping-pay-page .tabs li.thistab{background:#fff;border-bottom:1px solid #fff;border:1px solid #d9d9d9;border-bottom:none}.shopping-pay-page .tab-con{padding-top:30px;font-size:14px;line-height:175%;overflow:hidden}.shopping-pay-page .none{display:none}.shopping-pay-page .count{width:1020px;height:170px}.shopping-pay-page .mode{width:210px;height:50px;border:1px solid #d9d9d9;margin-right:45px;margin-bottom:30px;float:left;box-sizing:border-box;text-align:center;vertical-align:middle;display:block;position:relative;line-height:44px}.shopping-pay-page .mode img{vertical-align:middle;outline:none}.shopping-pay-page .mode:hover{border:1px solid red}.shopping-pay-page .choosed-tag{background-image:url(../assets/img/pay/mode-top.png?v155c47c0108);height:22px;width:23px;position:absolute;top:0;right:0}.shopping-pay-page .choose-type,.shopping-pay-page .choose-type:hover{border:2px solid red}.shopping-pay-page .btn-wrapper{width:100%;padding-top:21px;margin-top:10px;margin-bottom:55px}.shopping-pay-page .btnby{outline:none;background:url(../assets/img/pay/pay-btn.png?v155c47c0108) no-repeat 100% 0;background-repeat:no-repeat;background-position:191px;float:right;width:230px;height:40px;line-height:40px;background-color:#da0040;color:#fff;font-size:16px;border:none;font-weight:700;font-family:arial,Microsoft YaHei!important}.shopping-pay-page .light-box{display:block;position:fixed;width:100%;height:100%;z-index:17;top:0;left:0;font-family:Microsoft Yahei;display:none}.shopping-pay-page .opacity{width:100%;height:1000px;background:#000;filter:Alpha(Opacity=50);opacity:.5;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";overflow:hidden;position:absolute;top:0;left:0}.shopping-pay-page .content{margin-left:-203px;margin-top:-124px;padding:50px 40px;background-color:#fff;position:absolute;top:50%;left:50%;box-shadow:0 0 8px #e8e8e8}.shopping-pay-page .notice{padding:26px 14px;line-height:20px;font-size:13px;color:#9f9f9f}.shopping-pay-page .btns a{width:134px;height:38px;line-height:38px;color:#fff;font-size:14px;margin:0 14px;display:inline-block;text-align:center;text-decoration:none}.shopping-pay-page .change{background:#bdbdbd}.shopping-pay-page .over{background:#da0040}.shopping-pay-page .close a{text-decoration:none;color:#666;outline:none}.shopping-pay-page .close,.shopping-pay-page .close a{width:30px;height:30px;line-height:30px;position:absolute;top:0;right:0;font-size:16px;font-family:arial;text-align:center}.shopping-cashondelivery-page{width:860px;margin:0 auto;font-family:arial,Microsoft YaHei;font-size:12px;text-align:left;line-height:150%}.shopping-cashondelivery-page .cart-order{width:860px;margin-top:70px}.shopping-cashondelivery-page .cart-order h1{height:70px;line-height:40px;color:#333;text-align:center;font-size:20px;font-family:Arial,helvetica,sans-serif}.shopping-cashondelivery-page .ok-br{width:30px;height:30px;background:url(../assets/img/pay/ok.png?v155c47c0108) no-repeat;display:inline-block;vertical-align:middle}.shopping-cashondelivery-page .list-box{border:1px solid #dadada;border-top:10px solid #000;border-bottom:0;margin-bottom:20px;font-size:14px}.shopping-cashondelivery-page .list-t{height:36px;line-height:36px;background:#f3f3f3;text-align:center;color:#333;border-bottom:1px solid #dadada}.shopping-cashondelivery-page .list-t .yoho-coin{width:14px;height:14px;display:inline-block;background-image:url(../assets/img/sprite.cart.png?v155c47c08d8);background-position:-321px -225px;vertical-align:middle;margin-top:-2px;margin-right:4px}.shopping-cashondelivery-page .li-1{width:170px;height:36px;border-right:1px solid #dadada;font-weight:700;float:left}.shopping-cashondelivery-page .li-1 a{text-decoration:none;color:#468fa2;outline:none}.shopping-cashondelivery-page .li-2,.shopping-cashondelivery-page .li-3,.shopping-cashondelivery-page .li-4{width:170px;height:36px;border-right:1px solid #dadada;float:left}.shopping-cashondelivery-page .li-5{width:170px;height:36px;float:left}.shopping-cashondelivery-page .list{height:36px;line-height:36px;background:#fff;text-align:center;border-bottom:1px solid #dadada;font-size:14px}.shopping-cashondelivery-page .f-rz{font-weight:700;font-size:14px;color:#e8044f}.shopping-cashondelivery-page .f-e{color:#468fa2}.shopping-cashondelivery-page .f-a{color:#e8044f}.shopping-cashondelivery-page .list-b{border:1px solid #fdcf74;background:#fcfbdd;color:#976637;padding:20px;line-height:1.8;margin-bottom:20px;font-family:Arial,helvetica,sans-serif}.shopping-cashondelivery-page .list-b a{text-decoration:none;color:#468fa2;outline:none}.shopping-cashondelivery-page .list-b b{color:#c00}.shopping-cashondelivery-page .pay-mode{color:#666}.shopping-cashondelivery-page .btns{text-align:center;padding:20px 0;margin-bottom:150px}.shopping-cashondelivery-page .btns a{display:inline-block;height:33px;line-height:33px;text-align:center;font-size:14px;font-weight:700;cursor:pointer;border-radius:4px}.shopping-cashondelivery-page .btns .check-order{background:#da034a;color:#fff;border:1px solid #9d0134;width:134px;margin-right:15px}.shopping-cashondelivery-page .btns .return-home{background:#eee;color:#000;border:1px solid #b0b0b0;width:97px}.pay-notice-page{width:860px;margin:70px auto;font-size:12px}.pay-notice-page .font-red{color:#e8044f}.pay-notice-page h1{height:70px;line-height:40px;color:#333;text-align:center;font-size:20px;font-family:Arial,helvetica,sans-serif}.pay-notice-page .ok-icon{display:inline-block;width:30px;height:30px;background:url(../assets/img/pay/ok.png?v155c47c0108) no-repeat;vertical-align:text-top}.pay-notice-page .order-info{border-right:1px solid #dadada;border-top:10px solid #000;margin-bottom:20px}.pay-notice-page .table-row{height:36px;line-height:36px;text-align:center;color:#333;border-bottom:1px solid #dadada}.pay-notice-page .table-row .order-num,.pay-notice-page .table-row .pay,.pay-notice-page .table-row em{font-weight:700}.pay-notice-page .table-row .pay-mode{color:#666}.pay-notice-page .table-row li{float:left;width:170px;border-left:1px solid #dadada;font-size:14px}.pay-notice-page .order-table-header{background:#f3f3f3}.pay-notice-page .order-table-header .yoho-coin{width:14px;height:14px;display:inline-block;background-image:url(../assets/img/sprite.cart.png?v155c47c08d8);background-position:-321px -225px;vertical-align:middle;margin-top:-2px;margin-right:4px}.pay-notice-page .notice-link{color:#468fa2}.pay-notice-page .notice-tip{border:1px solid #fdcf74;background:#fcfbdd;color:#976637;line-height:1.8;margin-bottom:20px;padding:20px;font-family:Arial,helvetica,sans-serif}.pay-notice-page .btns{text-align:center;padding:20px 0}.pay-notice-page .btns a{display:inline-block;height:33px;line-height:33px;text-align:center;font-size:14px;font-weight:700;cursor:pointer;border-radius:4px}.pay-notice-page .btns .check-order{background:#da034a;color:#fff;border:1px solid #9d0134;width:134px;margin-right:15px}.pay-notice-page .btns .return-home{background:#eee;color:#000;border:1px solid #b0b0b0;width:97px}.pay-notice-page .notice-img{width:100%}.pay-wechatqrcode-page{width:990px;margin:0 auto;font-size:12px;font-family:arial,Microsoft YaHei}.pay-wechatqrcode-page .pay-title{height:52px;overflow:hidden;padding:20px 0 0;margin:0 auto;border-bottom:2px solid #000}.pay-wechatqrcode-page .pay-title ul{width:446px;height:12px;float:right;list-style:none;padding:0;margin:0;background:url(../assets/img/pay/pay-list.png?v155c47c0108) no-repeat 100% 0}.pay-wechatqrcode-page .pay-title li{width:176px;height:12px;text-align:center;color:#999;float:left}.pay-wechatqrcode-page .pay-title li span{display:block;height:15px;padding:15px 0 0;line-height:15px}.pay-wechatqrcode-page .pay-title .end{width:93px;height:18px;color:#000}.pay-wechatqrcode-page .pay-title .end span{text-align:right}.pay-wechatqrcode-page .step4{height:24px;width:99px;overflow:hidden;background-image:url(../assets/img/pay/pay-title.png?v155c47c0108);float:left}.pay-wechatqrcode-page .w-title{padding:25px 0 12px;overflow:hidden}.pay-wechatqrcode-page .w-left{width:670px;float:left}.pay-wechatqrcode-page .w-left h3{line-height:26px;height:26px;margin-bottom:4px;overflow:hidden;font-size:14px;font-weight:400}.pay-wechatqrcode-page .w-left p{height:22px;line-height:22px;color:#9b9b9b}.pay-wechatqrcode-page .w-left p span{color:red}.pay-wechatqrcode-page .w-right{margin-left:670px;overflow:hidden;text-align:right}.pay-wechatqrcode-page .w-right p{line-height:26px;height:26px;margin-bottom:4px;overflow:hidden;font-size:14px}.pay-wechatqrcode-page .w-right p strong{color:#ff5d5b;font-size:18px;margin:0 3px;font-weight:700}.pay-wechatqrcode-page .w-right a{color:#2ea7e7;padding-right:14px;position:relative;display:inline-block;height:22px;line-height:22px}.pay-wechatqrcode-page .w-right a i{width:0;height:0;font-size:0;position:absolute;top:9px;right:4px;z-index:1;cursor:pointer}.pay-wechatqrcode-page .up{float:right;border-width:4px 3px 0;border-style:solid dashed dashed;border-color:#2ea7e7 transparent transparent}.pay-wechatqrcode-page .down{float:right;border-width:0 3px 4px;border-style:dashed dashed solid;border-color:transparent transparent #2ea7e7}.pay-wechatqrcode-page .w-addrinfo{padding:12px 0;color:#9b9b9b;line-height:22px;border-top:1px solid #e4e5eb;display:none}.pay-wechatqrcode-page .w-addrinfo span{padding:0 20px}.pay-wechatqrcode-page .w-payment{border:1px solid #e5e5e5;border-top:3px solid #4b5b78;background-color:#fff;padding:26px 30px 30px;margin-top:6px;margin-bottom:50px}.pay-wechatqrcode-page .w-payment h2{font-size:18px;font-weight:400;display:block}.pay-wechatqrcode-page .w-p-weixin{width:300px;height:380px;padding:20px 370px 30px 0;margin:0 auto;overflow:hidden;background:url(../assets/img/pay/w-p-phone.png?v155c47c0108) no-repeat 100% 0}.pay-wechatqrcode-page .w-p-erm{width:250px;height:250px;padding:24px;margin-bottom:20px;border:1px solid #ddd;overflow:hidden}.pay-wechatqrcode-page .w-p-word{height:44px;padding:8px 0 8px 125px;background:url(../assets/img/pay/w-p-word.png?v155c47c0108) no-repeat 50px 8px #090909}.pay-wechatqrcode-page .w-p-word p{margin:0;font-size:14px;line-height:22px;color:#fff;font-weight:700}.pay-wechatqrcode-page .w-pay-change{display:block;height:30px;line-height:30px;margin-top:50px;color:#0aaefa;cursor:14px}.pay-wechatqrcode-page .w-pay-change i{float:left;margin-right:14px;font-family:arial;font-style:normal;font-size:16px}.wechatqrcodereturn{width:990px;margin:0 auto;font-size:12px;font-family:Arial,helvetica,sans-serif}.wechatqrcodereturn .pay-title{height:65px;overflow:hidden;padding:20px 0 0;margin:0 auto;border-bottom:2px solid #000}.wechatqrcodereturn .pay-title ul{width:446px;height:12px;float:right;list-style:none;padding:0;margin:0;background:url(../assets/img/pay/pay-list.png?v155c47c0108) no-repeat 100% 0}.wechatqrcodereturn .pay-title li{width:176px;height:12px;text-align:center;color:#999;float:left}.wechatqrcodereturn .pay-title li span{display:block;height:15px;padding:15px 0 0;line-height:15px}.wechatqrcodereturn .pay-title .end{width:93px;height:18px;color:#000}.wechatqrcodereturn .pay-title .end span{text-align:right}.wechatqrcodereturn .step5{height:33px;width:97px;overflow:hidden;background-image:url(../assets/img/pay/finsh.png?v155c47c0108);float:left}.wechatqrcodereturn .pay-wechat-return{overflow:hidden;padding-top:10px}.wechatqrcodereturn .payerror{margin:50px 0 0 300px;font-size:14px;font-weight:700;color:#000;padding-left:25px;line-height:21px;background:url(../assets/img/pay/pay-fail.png?v155c47c0108) no-repeat}.wechatqrcodereturn .arrival-time{margin:10px 0 0 325px;color:#666}.wechatqrcodereturn .tell-phone{color:#e8044f;font-weight:700;font-size:16px}.wechatqrcodereturn .cart-bigbtns span{margin-right:5px}.wechatqrcodereturn .btn-type{display:inline-block;height:35px;padding:0 0 0 2px;overflow:hidden;font-size:14px;margin:40px 0 0 320px}.wechatqrcodereturn .btn-type a{display:inline-block;height:35px;line-height:32px;padding:0 20px;background:url(../assets/img/pay/btnby.png?v155c47c0108) no-repeat;border:none;overflow:visible;cursor:pointer;margin:0;color:#666}.wechatqrcodereturn .we-font{margin:20px 0 0 320px;height:36px;line-height:36px;padding-left:16px;color:#999;display:block;background:url(../assets/img/pay/pay-plaint.png?v155c47c0108) no-repeat 1px}.about-page{width:990px;padding:10px 0 20px}.about-page .about-nav{width:210px;padding:10px 20px;background-color:#ebe9ea;border:1px solid #d7d7d7;border-radius:5px}.about-page .about-nav li{line-height:30px;font-size:12px;text-align:center;border-bottom:1px solid #ddd;border-top:1px solid #fff}.about-page .about-nav li a{color:#333;font-weight:700}.about-page .about-nav li a:hover{color:#f60}.about-page .about-nav li:first-child{border-top:0}.about-page .about-nav .act a{color:#ed004c;cursor:pointer}.about-page .about-nav .act a:hover{color:#ed004c}.yohobuy-about-page .main-container{width:720px;border:1px solid #d7d7d7;border-radius:5px;overflow:hidden}.yohobuy-about-page .main-container .text-title{border-bottom:4px solid red;font-family:微软雅黑;height:100px;line-height:100px;font-weight:700;font-size:36px;color:#333;text-align:center}.yohobuy-about-page .main-container .text-info{padding:20px;color:#333;overflow:hidden;font-size:12px;font-weight:400;line-height:24px}.newpower-about-page .main-container{width:720px;border:1px solid #d7d7d7;border-radius:5px;overflow:hidden}.newpower-about-page .main-container .text-info{line-height:30px;font-size:14px;font-weight:700;text-align:center;color:#333;padding:20px;overflow:hidden}.contact-about-page .main-container{width:720px;border:1px solid #d7d7d7;border-radius:5px;overflow:hidden}.contact-about-page .main-container .text-title{border-bottom:4px solid red;font-family:微软雅黑;height:100px;line-height:100px;font-weight:700;font-size:36px;color:#333;text-align:center}.contact-about-page .main-container .text-info{padding:20px;color:#333;overflow:hidden;font-size:12px;font-weight:400;line-height:24px}.contact-about-page .main-container strong{font-weight:700}.link-about-page .main-container{width:720px;border:1px solid #d7d7d7;border-radius:5px;overflow:hidden}.link-about-page .main-container .text-title{border-bottom:4px solid red;font-family:微软雅黑;height:100px;line-height:100px;font-weight:700;font-size:36px;color:#333;text-align:center}.link-about-page .main-container .text-info{padding:20px;color:#333;overflow:hidden;font-size:12px;font-weight:400;line-height:24px}.link-about-page .main-container h2{font-size:14px;line-height:30px;border-bottom:1px dashed #ccc}.link-about-page .main-container ul{padding:10px 0;list-style:none}.link-about-page .main-container strong{font-weight:700}.privacy-about-page .main-container{width:720px;border:1px solid #d7d7d7;border-radius:5px;overflow:hidden}.privacy-about-page .main-container .text-title{border-bottom:4px solid red;font-family:微软雅黑;height:100px;line-height:100px;font-weight:700;font-size:36px;color:#333;text-align:center}.privacy-about-page .main-container .text-info{padding:20px;color:#333;overflow:hidden;font-size:12px;font-weight:400;line-height:24px}.privacy-about-page .main-container strong{font-weight:700}.settled-apply-page .mask,.settled-page .mask{position:fixed;top:0;right:0;bottom:0;left:0;background:#ccc;opacity:.3;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=30)";z-index:20}.settled-page{margin-top:10px;margin-bottom:30px}.settled-page .banner{margin-bottom:45px}.settled-page .flow-container{position:relative;width:1033px;margin:0 auto}.settled-page .fake-link{position:absolute;bottom:-4px;left:221px;width:150px;height:32px;background:#fff;opacity:0;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";cursor:pointer}.settled-page .notice-container{position:fixed;width:960px;left:50%;top:30px;margin-left:-480px;z-index:2;overflow-y:auto;overflow-x:hidden;border-radius:10px;z-index:21}.settled-page .fake-close{position:fixed;width:30px;height:30px;top:44px;margin-left:914px;cursor:pointer;background:url(../assets/img/about/close.png?v155c47c0108) no-repeat 50%}.min-screen .settled-page .banner{width:990px}.min-screen .settled-page .flow-container,.min-screen .settled-page .flow-path{width:890px}.min-screen .settled-page .fake-link{bottom:-6px;left:190px;width:130px}.settled-apply-page{font-size:14px}.settled-apply-page .error{border-color:red!important}.settled-apply-page .required-mark{color:red}.settled-apply-page .banner{display:block;margin-top:10px;margin-bottom:30px}.settled-apply-page .title{margin-bottom:10px;padding-left:215px}.settled-apply-page .title span{font-size:18px;line-height:20px;color:#000;font-weight:700;vertical-align:top}.settled-apply-page .title .edit-img{width:24px;height:22px}.settled-apply-page .form-container{width:100%;padding:30px 0;border:1px solid #f4f5f5;border-left:none;border-right:none}.settled-apply-page .signup-form{width:790px;margin:0 auto}.settled-apply-page .signup-form .long-input{width:400px}.settled-apply-page .signup-form .short-input{width:150px}.settled-apply-page .signup-form td{border:10px solid transparent;height:41px}.settled-apply-page .signup-form tr.has-sub td{border-bottom:0}.settled-apply-page .signup-form tr.sub td{border-top:2px}.settled-apply-page .signup-form tr td:first-child{text-align:right}.settled-apply-page .signup-form .sub .tip-td{vertical-align:top}.settled-apply-page .signup-form .button,.settled-apply-page .signup-form input,.settled-apply-page .signup-form select{height:36px;line-height:36px;border-radius:3px;border:1px solid #979797}.settled-apply-page .signup-form select{line-height:18px;padding:9px 0}.settled-apply-page .signup-form input[type=radio]{border:none;vertical-align:text-bottom;margin-bottom:-10px}.settled-apply-page .signup-form .button{width:156px;background-color:#fff;border-radius:6px}.settled-apply-page .signup-form input[type=text]{text-indent:5px}.settled-apply-page .signup-form .swfupload{border:1px solid #ccc;border-radius:6px;height:35px;width:160px;background-color:#fff;cursor:pointer}.settled-apply-page .signup-form .placeholder{color:#979797}.settled-apply-page .signup-form ul{list-style:none;padding-left:0}.settled-apply-page .signup-form .for-other{width:120px;padding:0}.settled-apply-page .signup-form .upload-btn{font-size:13px;border-radius:3px;border:1px solid #979797}.settled-apply-page .signup-form .upload-btn input{cursor:pointer}.settled-apply-page .signup-form .uploadifive-queue{display:none}.settled-apply-page .shop-addres{width:300px}.settled-apply-page .shop-sales-volume{width:80px}.settled-apply-page .shop-list li{margin-bottom:5px}.settled-apply-page .shop-list li>span{margin:0 4px}.settled-apply-page .shop-list li:last-child{margin-bottom:0}.settled-apply-page .tip{font-size:12px;color:#c7c7c7;margin:2px 0}.settled-apply-page .submit-btn{background-color:#000;color:#fff;height:37px;width:157px;border-radius:6px;border:none;margin-top:30px;margin-left:377px;cursor:pointer;margin-bottom:30px}.settled-apply-page .add-btn{width:22px;height:22px;vertical-align:middle;margin-left:20px;cursor:pointer}.settled-apply-page .submit-success{position:fixed;width:500px;height:180px;top:50%;left:50%;margin-top:-170px;margin-left:-280px;z-index:8;padding:30px 50px;background-color:#fff;border-radius:10px;text-align:center}.settled-apply-page .submit-success .content{border-bottom:1px solid #ccc;margin-bottom:20px}.settled-apply-page .submit-success .content h1,.settled-apply-page .submit-success .content h2{margin-bottom:30px}.settled-apply-page .submit-success .sure{font-size:24px;color:red;text-align:center;text-decoration:none;font-weight:700}.settled-apply-page .category-list{margin-top:-12px}.settled-apply-page .category-list li{margin-bottom:5px}.settled-apply-page .category-list li:last-child{margin-bottom:0}.settled-apply-page .has-radio td{line-height:41px}.settled-apply-page .tip-sub td{height:14px}.settled-apply-page input[type=radio]{margin-left:10px}.settled-apply-page .brand-tip,.settled-apply-page .goods-tip{color:#000;margin-top:10px}.settled-success{border:none;border-radius:10px;background:#fff}.settled-success .content{border-bottom:1px solid #ccc}.settled-success .main-title{font-size:28px}.settled-success .sub-title{font-size:16px;margin:20px 0}.settled-success .apply-success-ok{border:none;color:red;font-weight:700;font-size:18px;line-height:60px}.app-download-page .top-wrapper{height:550px;background:url(../assets/img/download/main-top.png?random=1466056691&v155c47c0108) no-repeat top}.app-download-page .top-wrapper .top-down{width:444px;margin:0 auto;padding-top:305px}.app-download-page .top-wrapper .down-btns{width:216px;height:65px;display:block;margin-left:200px;float:right}.app-download-page .top-wrapper .down-btns:first-child{margin-bottom:10px}.app-download-page .main-wrapper .intro{width:990px;height:437px;margin:114px auto 0}.app-download-page .main-wrapper .intro-6{height:350px}.app-download-page .main-wrapper .bottom-down{width:350px;margin:0 auto;overflow:hidden;padding-top:34px}.app-download-page .main-wrapper .bottom-down .qr-code{width:130px;height:130px;background-image:url(../assets/img/sprite.download.png?v155c47c08d8);background-position:0 0}.app-download-page .main-wrapper .bottom-down .down-btns{width:200px;height:60px;display:block}.app-download-page .main-wrapper .bottom-down .down-app-btn{margin-bottom:8px;background-image:url(../assets/img/sprite.download.png?v155c47c08d8);background-position:-132px 0}.app-download-page .main-wrapper .bottom-down .down-apk-btn{background-image:url(../assets/img/sprite.download.png?v155c47c08d8);background-position:-132px -62px}.app-download-page .foot-wrapper{height:100px;text-align:center}
\ No newline at end of file
diff --git a/web-static/dist/yohobuy/4.7.2/index.js b/web-static/dist/yohobuy/4.7.2/index.js
new file mode 100644
index 0000000..afc2f90
--- /dev/null
+++ b/web-static/dist/yohobuy/4.7.2/index.js
@@ -0,0 +1,8 @@
+define("index",["jquery","handlebars","source-map","index","lazyload","jquery-pjax","dot","jquery.placeholder"],function(e,t,n){var a;e("js/common"),e("js/header"),e("js/simple-header"),e("js/product/entry"),e("js/index/index"),e("js/brand/index"),e("js/passport/entry"),e("js/cart/cart"),e("js/guang/entry"),e("js/home/entry"),e("js/help/entry"),e("js/order/ensure"),e("js/shopping/pay"),e("js/pay/wechatqrcode"),e("js/about/entry"),e("js/coupon/entry"),n.exports=a}),define("js/common",["jquery"],function(e,t,n){function a(e){var t=new RegExp(e+"=([^;$]*)","i"),n="$1";return t.test(decodeURIComponent(document.cookie))?RegExp[n]:""}function i(e,t,n){var a,i,o,s,r="";"undefined"!=typeof t&&(n=n||{},null===t&&(t="",n.expires=-1),n.expires&&("number"==typeof n.expires||n.expires.toUTCString)&&("number"==typeof n.expires?(s=new Date,s.setTime(s.getTime()+24*n.expires*60*60*1e3)):s=n.expires,r="; expires="+s.toUTCString()),a=n.path?"; path="+n.path:"",i=n.domain?"; domain="+n.domain:"",o=n.secure?"; secure":"",document.cookie=[e,"=",encodeURIComponent(t),r,a,i,o].join(""))}function o(){var e,t=a("_UID");return"undefined"==typeof t?0:(e=t.split("::"),"undefined"==typeof e||e.length<4?0:e)}function s(){var e=o();return 0===e?0:e[1]}function r(){var e=a("_g");return"undefined"==typeof e?"":JSON.parse(e).k}function d(){var e,t,n={},a=window.location.search,i=a?decodeURIComponent(a).slice(1).split("&"):[];for(t=0;t<i.length;t++)e=i[t].split("="),n[e[0]]=e[1];return n}var l=e("jquery"),c=l("body");e("js/footer"),function(e,t,n,a,i){var o=t.createElement(n),s=t.getElementsByTagName(n)[0];e.YohoAcquisitionObject=i,e[i]=function(){e[i].p=arguments},o.async=1,o.src=a,s.parentNode.insertBefore(o,s)}(window,document,"script",("https:"==document.location.protocol?"https":"http")+"://cdn.yoho.cn/yas-jssdk/1.0.17/yas.js","_yas"),function(){var e=s();e=0===e?"":e,window._ozuid=e,window._yas&&window._yas(1*new Date,"1.0.17","yohobuy_web",e,"","")}(),l(window).on("resize",function(){var e=l(this).width();e<1360?l(".return-top").addClass("min"):l(".return-top").removeClass("min"),e<1180?c.addClass("min-screen"):c.removeClass("min-screen")}).trigger("resize"),l.extend({queryString:function(){var e,t,n=[],a=window.location.search.slice(1).split("&");for(t=0;t<a.length;t++)e=a[t].split("="),n.push(e[0]),n[e[0]]=e[1];return n}}),function(){l(window).load(function(){var e,t=document.getElementById("user-thumb");t&&(e=new Image,e.src=t.src,e.onerror=function(){l(t).parent().append('<div class="default-user-thumb"></div>').end().remove()})})}(),window.cookie=a,window.setCookie=i,window.getUser=o,window.getUid=s,window.getShoppingKey=r,window.queryString=d}),define("js/footer",["jquery"],function(e,t,n){function a(){var e=s("#subscriber-box"),t=s("#subscriber-btn"),n=/^[.\-_a-zA-Z0-9]+@[\-_a-zA-Z0-9]+\.[a-zA-Z0-9]/,a={mail:"&#xe61b;",tick:"&#xe61a"};e.focus(function(){s(this).val("").css("color",""),t.removeClass("done").html(a.mail)}),t.click(function(){var i=s.trim(e.val());if(""!==i&&n.test(i))try{s.ajax({url:"//www.yohobuy.com/common/emailSubscriber",dataType:"jsonp",data:{email:i,tmp:Math.random(),uid:window.getUid()},success:function(n){1===n.data.result?(e.val("已订阅到:"+i),t.addClass("done").html(a.tick)):e.css("color","red")}})}catch(o){console.log(o.message)}else e.css("color","red")})}function i(){var e=s(".vote"),t=s("#feed-back-page"),n=e.children("li").length;t.on("click","span",function(){var t=s(this);t.hasClass("cur")||(t.siblings(".cur").removeClass("cur"),t.addClass("cur"),e.children().not(".hide").addClass("hide").end().eq(t.index()).removeClass("hide"))}),e.on("click",".feed-back-btn",function(){var a=s(this),i=a.closest("li"),o=i.index(),r=[],d=i.find(".feedback-answer").val(),l=i.find(".feedback-id").val(),c=i.find(".question-id").val();i.find(":checked").each(function(){r.push(s(this).val())}),s.ajax({url:"//www.yohobuy.com/common/suggestFeedback",dataType:"jsonp",data:{feedback_id:l||0,question_id:c||0,answer:d||"",solution:r.join(",")},success:function(a){var s=o+1;if(1===~~a.data.result){if(o===n-1)return void alert("感谢您的参与!");i.addClass("hide"),e.children(":eq("+(o+1)+")").removeClass("hide"),t.children(".cur").removeClass("cur"),t.children(":eq("+s+")").addClass("cur")}}})})}function o(){s(window).height()>s(document).height()&&r.addClass("hide")}var s=e("jquery"),r=s(".return-top");r.click(function(){s("html,body").animate({scrollTop:0},500)}),s(window).scroll(function(){0===s(window).scrollTop()?r.addClass("hide"):r.removeClass("hide")}),r.hasClass("hide")&&s("img").load(o),a(),i(),window.rePosReturnTop=o}),define("js/header",["jquery","handlebars","source-map","index"],function(e,t,n){function a(e,t,n){try{ee.push({louceng:e,weizhi:t,event:n})}catch(a){}}function i(){var e=H("#nav_keyword").text(),t="vans",n=H("#query_key");""!==e?(n.css({color:"#000"}),n.val(e)):(n.css({color:"#e0e0e0"}),n.val(t),n.on("focus",function(e){n.css({color:"#000"}),n.val("")}))}function o(){var e={cookie:"_g",cartNum:""},t="",n="",a=0,i=0,o=0,s=0,r="";H.fn.miniCart=function(a){if(t=H.extend(e,a),"undefined"==typeof window.cookie(t.cookie))n=null;else if(t.cookie)try{n=Y.parse(window.cookie(t.cookie))}catch(i){}null!==n&&""!==n&&(s=parseInt(n._nac)+parseInt(n._ac),0===s?H("#icart-num").attr("class","icart-num icart-none"):H("#icart-num").attr("class","icart-num"),H(t.cartNum).html(s))},H.fn.search=function(e){function t(t){var n=H.trim(H(t).val());return n=n.replace(new RegExp("'","gm"),""),""===n?(H(".search-list").hide(),!1):(n=encodeURI(n),void H.get(e+"?query="+n,function(e){H(".search-list").html(e.data),a=H(".search-list").children("li").length,i=-1,a>0?H(".search-list").show():H(".search-list").hide(),H(".search-list").find("a").hover(function(){H(this).css("background-color","#eee")},function(){H(this).css("background-color","#fff")})},"jsonp"))}function n(e){H(".search-list li:eq("+o+")").children("a").css("background-color","#fff"),H(".search-list li:eq("+i+")").children("a").css("background-color","#eee"),r=H(".search-list li:eq("+i+")").children("a").attr("title"),H("#query_key").val(r)}return this.each(function(){H(this).keyup(function(e){if(38===e.which){if(0===a)return!1;i===-1&&(i=0),o=i,i=(i-1+a)%a,n(this)}else if(40===e.which){if(0===a)return!1;o=i,i=(i+1)%a,n(this)}else 13===e.which?window.submitSearch():t(this)})})},H.extend({getData:function(e,t,n){var a={page:1,method:"",v:1,return_type:"jsonp",open_key:"12345",tmp:Math.random()},i="";if(void 0===typeof e||""===e)return!1;i=H.extend(a,t),i.page=i.page||1;try{H.getJSON(e+"/?callback=?",i,function(e){if(""!==n)return"undefined"!=typeof n(e.data)&&Y.parse(n(e.data)),!1})}catch(o){console.log(o.message)}},getShoppingKey:function(){var e,t=window.cookie("_g"),n=Y.parse(t);return"undefined"==typeof t||null===t?(e=window.cookie("_SPK"),e?e:""):n._k}})}function s(e){var t;200===+e.code&&"object"==typeof e.data&&(t=""!==e.data.url?'<a target="_blank" href="'+e.data.url+'" class="page-top-banner"style="height:36px;border:none;background-image:url('+window.unescape(e.data.src)+');background-position: center;display:block;">&nbsp;</a>':'<div class="yoho-notice"><div class="notice-container center-content"><h1 class="notice-title">关于系统升级的公告</h1><div class="notice-content"><p class="tips">尊敬的顾客:</p><p class="detail">您好!为了向您提供更优质的服务,目前系统正在升级,请耐心等待。</p><p class="detail">系统升级期间,部分地区用户体验会有暂时中断,如遇紧急事宜,欢迎垂询客服热线:400-889-9646 09:00-22:30(周一至周日)。稍后系统将恢复正常使用,欢迎您继续光顾YOHO!BUY有货!带来不便之处深表歉意,请您谅解!</p></div></div></div>',H("body").prepend(t))}function r(e){var t=document.createElement("script");t.src=le+e+"&client_type=web&callback=JsonPCallBack",document.getElementsByTagName("head")[0].appendChild(t)}function d(e,t){var n,a;H(e).hover(function(e){e.preventDefault(),n=H(this),a=H(t)[0],""===a.style.display?(n.addClass("acttags"),a.style.display="block"):(n.removeClass("acttags"),a.style.display="")})}function l(){var e,t,n=[{sourceClass:".myyoho",targetClass:".myyoho-info"},{sourceClass:".phone",targetClass:".qr"}];for(t=0;t<n.length;t++)e=n[t],d(e.sourceClass,e.targetClass)}function c(){var e;H(".yohogroup").mouseenter(function(){e=H(this),e.text(e.attr("cn"))}),H(".yohogroup").mouseleave(function(){e=H(this),e.text(e.attr("en"))})}function u(){var e,t,n=["webkit","moz","ms"];for(t=0;t<n.length;t++)return e=n[t]+"RequestAnimationFrame",!!window[e]}function h(){var e=["webkit","moz","ms"],t=e[0]+"RequestAnimationFrame",n=e[1]+"RequestAnimationFrame",a=e[2]+"RequestAnimationFrame";return window[t]?function(e){requestAnimationFrame(e)}:window[n]?function(e){window[n](e)}:window[a]?function(e){window[a](e)}:function(e){window.setTimeout(e,67)}}function p(){ne+=10,ae.css({transform:"rotateX("+ne+"deg)","-webkit-transform":"rotateX("+ne+"deg)","-moz-transform":"rotateX("+ne+"deg)"}),ne/90%2===1&&(ie?(ae.css("background-image","url(//static.yohobuy.com/newheader/img/logo1.png)"),ie=!1):(ae.css("background-image","url(//static.yohobuy.com/newheader/img/logo_e.png)"),ie=!0)),ne/90%2===0&&ne%360!==0?window.setTimeout(p,3e3):ne%360===0?window.setTimeout(p,6e4):te(function(){p()})}function f(){M&&window.clearTimeout(M),ae.fadeOut(oe,function(){ie=!1,ae.css("background-image","url(//static.yohobuy.com/newheader/img/logo.png)"),ae.fadeIn(oe,function(){W=window.setTimeout(function(){ae.fadeOut(oe,function(){window.clearTimeout(W),ie=!0,ae.css("background-image","url(//static.yohobuy.com/newheader/img/logo_e.png)"),ae.fadeIn(oe,function(){M=window.setTimeout(f,6e4)})})},3e3)})})}function m(){u()?(te=h(),window.setTimeout(p,3e3)):window.setTimeout(f,3e3)}function g(e){var t=H(e);t.find(".thirdnavbar").each(function(){var e=H(this),t=e.find("a"),n=t.attr("href"),a="hot"===t.attr("hot"),i={};i=e.hasClass("category-title")?{type:"title",height:49,content:e.text(),index:window.valueIndex,href:n,hot:!1}:{type:"catlist",height:36,content:t.text(),index:window.valueIndex,href:n,hot:a},window.valueIndex++,window.newArr.push(i)})}function v(){var e=window.newArr.length,t=0,n=[],a=[],i=[],o=[],s="",r="",d="",l=0,c=0,u=0;for(t;t<e;t++){if(n=window.newArr[t],0===window.gindex&&(window.oh1=window.oh1+n.height,window.oh1>=340&&t!==e-1&&(window.targetArr1=window.newArr.slice(0,n.index+1),window.nowIndex=n.index+1,window.gindex++),t===e-1)){window.targetArr1=window.newArr.slice(0,e+1);break}if(1===window.gindex&&(window.oh2=window.oh2+n.height,window.oh2>=340&&t!==e-1&&(window.targetArr2=window.newArr.slice(window.nowIndex,n.index+1),window.nowIndex=n.index+1,window.gindex++),t===e-1)){window.targetArr2=window.newArr.slice(window.nowIndex,e+1);break}if(2===window.gindex){if(window.oh3=window.oh3+n.height,window.oh3>=340&&t!==e-1){window.targetArr3=window.newArr.slice(window.nowIndex,n.index+1),window.nowIndex=n.index+1,window.gindex++;break}if(t===e-1){window.targetArr3=window.newArr.slice(window.nowIndex,e+1);break}}}for(l;l<window.targetArr1.length;l++)a=window.targetArr1[l]||{},"title"===a.type?window.inner1=window.inner1+'<li class="cattitle"><h3><a  href="'+a.href+'">'+a.content+"</a></h3></li>":a.hot===!0?window.inner1=window.inner1+'<li class="catdetail"><a  class="thirdcatelink hot" href="'+a.href+'">'+a.content+"</a></li>":window.inner1=window.inner1+'<li class="catdetail"><a  class="thirdcatelink" href="'+a.href+'">'+a.content+"</a></li>";for(c;c<window.targetArr2.length;c++)i=window.targetArr2[c]||{},"title"===i.type?window.inner2=window.inner2+'<li class="cattitle"><h3><a  href="'+i.href+'">'+i.content+"</a></h3></li>":i.hot===!0?window.inner2=window.inner2+'<li class="catdetail"><a  class="thirdcatelink hot" href="'+i.href+'">'+i.content+"</a></li>":window.inner2=window.inner2+'<li class="catdetail"><a  class="thirdcatelink" href="'+i.href+'">'+i.content+"</a></li>";for(u;u<window.targetArr3.length;u++)o=window.targetArr3[u]||{},"title"===o.type?window.inner3=window.inner3+'<li class="cattitle"><h3><a  href="'+o.href+'">'+o.content+"</a></h3></li>":o.hot===!0?window.inner3=window.inner3+'<li class="catdetail"><a  class="thirdcatelink hot" href="'+o.href+'">'+o.content+"</a></li>":window.inner3=window.inner3+'<li class="catdetail"><a  class="thirdcatelink" href="'+o.href+'">'+o.content+"</a></li>";""!==window.inner1&&(s='<ul class="cate_row1 cate_row">'+window.inner1+"</ul>"),""!==window.inner2&&(r='<ul class="cate_row2 cate_row">'+window.inner2+"</ul>"),""!==window.inner3&&(d='<ul class="cate_row3 cate_row">'+window.inner3+"</ul>"),window.finalresult=s+r+d,H("#"+window.wrapperindex).empty().append(window.finalresult)}function y(){H(".categorywrapper").each(function(e){window.wrapperindex=H(this).attr("id"),window.newArr=[],window.gindex=0,window.targetArr1=[],window.targetArr2=[],window.targetArr3=[],window.oh1=0,window.oh2=0,window.oh3=0,window.valueIndex=0,window.nowIndex=0,window.inner1="",window.inner2="",window.inner3="",g(H(this).find(".category")),v()})}function b(){var e={},t="",n="",a="",i="",o="";H(document).on("mouseenter",".sub-nav-item",function(){t=H(this).find(".showdetail").attr("data-code"),t&&(e[t]||(e[t]=t,n=H(this).find(".showdetail").find("img"),a=H(this).find(".showdetail").find(".title"),i=H(this).find(".showdetail").find("a"),H.get(le+t+"&width=337&height=250&client_type=web",function(e){n.attr("src",e.data.src),i.attr("href",e.data.url),a.text(e.data.title)},"jsonp")))}),o=H(".cure").find(".name-cn").find("a").attr("href"),H(".main-link").attr("href",o)}function w(){var e=H("#cover");e.remove()}function C(){var e,t=window.cookie("_Gender"),n="",i="",o="",s="";"www.yohobuy.com"!==window.location.host||"undefined"!=typeof t&&""!==t&&null!==t||H.get("//www.yohobuy.com/index/guide",function(t){n=document.createElement("div"),n.id="cover",n.innerHTML=t,document.body.appendChild(n),i=H(window).height(),o=H(".guide-box").height(),e=i/2-o/2,s=H(".guide-box .clear").find("li").length,H(".guide-box").css({width:200*s+"px",top:e+"px"}),H("#cover").bind("click",function(e){window.setCookie("_Gender","1,3",{path:"/",domain:".yohobuy.com",expires:90}),window.setCookie("_Channel","boys",{path:"/",domain:".yohobuy.com",expires:7}),w()}),H("#cover .guide-box .close").bind("click",function(e){a("弹窗","CLOSE","homepage_man"),window.setCookie("_Gender","1,3",{path:"/",domain:".yohobuy.com",expires:90}),window.setCookie("_Channel","boys",{path:"/",domain:".yohobuy.com",expires:7}),w()}),H(".boys img , .boys .go").bind("click",function(e){a("弹窗","BOYS","homepage_man"),window.setCookie("_Gender","1,3",{path:"/",domain:".yohobuy.com",expires:90}),window.setCookie("_Channel","boys",{path:"/",domain:".yohobuy.com",expires:7}),w()}),H(".girls img, .girls .go").bind("click",function(e){a("弹窗","GIRLS","homepage_woman"),window.setCookie("_Gender","2,3",{path:"/",domain:".yohobuy.com",expires:90}),window.setCookie("_Channel","girls",{path:"/",domain:".yohobuy.com",expires:7})}),H(".lifestyle img, .lifestyle .go").bind("click",function(e){window.setCookie("_Channel","lifestyle",{path:"/",domain:".yohobuy.com",expires:7}),a("弹窗","LIEFSTYLE","homepage_lifestyle")}),H("#cover .guide-box").bind("click",function(e){e.stopPropagation()})})}function i(){var e=H("#nav_keyword").text(),t=H("#defaultsearch").val(),n=H("#query_key");""!==e?(n.css({color:"#000"}),n.val(e)):(n.css({color:"#e0e0e0"}),n.val(t),n.on("focus",function(e){n.css({color:"#000"}),n.val("")})),H(document).click(function(e){H(e.target).closest(".searchspan, .search-list").length||H(".search-list").hide()})}function _(){var e=window.cookie("_Gender"),t=H(".cure");"undefined"!=typeof e&&""!==e&&window.setCookie("_Gender",1,{path:"/",domain:".yohobuy.com",expires:7}),"男生"===t.find(".name-cn a").text()&&(window.setCookie("_Gender","1,3",{path:"/",domain:".yohobuy.com",expires:7}),window.setCookie("_Channel","boys",{path:"/",domain:".yohobuy.com",expires:7})),"女生"===t.find(".name-cn a").text()&&window.setCookie("_Gender","2,3",{path:"/",domain:".yohobuy.com",expires:7}),"创意生活"===t.find(".name-cn a").text()&&window.setCookie("_Channel","lifestyle",{path:"/",domain:".yohobuy.com",expires:7}),"潮童"===t.find(".name-cn a").text()&&window.setCookie("_Channel","kids",{path:"/",domain:".yohobuy.com",expires:7})}function x(){H(".first-nav-item").click(function(){var e=window.cookie("_Gender");"undefined"!=typeof e&&""!==e&&window.setCookie("_Gender",1,{path:"/",domain:".yohobuy.com",expires:7}),"男生"===H(this).find(".name-cn a").text()&&(window.setCookie("_Gender","1,3",{path:"/",domain:".yohobuy.com",expires:7}),window.setCookie("_Channel","boys",{path:"/",domain:".yohobuy.com",expires:7})),"女生"===H(this).find(".name-cn a").text()&&(window.setCookie("_Gender","2,3",{path:"/",domain:".yohobuy.com",expires:7}),window.setCookie("_Channel","girls",{path:"/",domain:".yohobuy.com",expires:7})),"创意生活"===H(this).find(".name-cn a").text()&&window.setCookie("_Channel","lifestyle",{path:"/",domain:".yohobuy.com",expires:7}),"潮童"===H(this).find(".name-cn a").text()&&window.setCookie("_Channel","kids",{path:"/",domain:".yohobuy.com",expires:7})})}function k(){var e,t,n,a=document.cookie,i=a.split(";");for(e=0;e<i.length;e++)t=i[e].split("="),"undefined"!=typeof t[0]&&(n=t[0].replace(/\s/g,""),de[n]=t[1])}function j(){H("#miniCartBox").miniCart({cartNum:".ic-infomation"})}function S(){var e,t,n;H.getData("//www.yohobuy.com/common/shoppingCart","",function(a){""===V&&(V=G.compile(H("#mini-cart-tpl").html())),H("#miniCartBox").children(".gobuy-wrapper").html(V({carData:a})),0===parseInt(H(".ic-infomation").html())&&H("#miniCartBox .gobuy-wrapper").html('<div class="gobuy-empty"><h3 class="information">您的购物车暂无商品</h3></div>'),H("#miniCartBox .goods-list li").length<1&&(e=window.cookie("_g"),t=Y.parse(e),null!==t&&(n='{"_k":"'+t._k+'","_nac":0,"_ac":0,"_r":0}',window.setCookie("_g",n,{path:"/",domain:".yohobuy.com"})),H(".ic-infomation").html(0),H("#miniCartBox .gobuy-wrapper").html('<div class="gobuy-empty"><h3 class="information">您的购物车暂无商品</h3></div>'))})}function T(e,t,n){H.getData("//www.yohobuy.com/common/delCartGoods",{product_sku:e,promotion_id:t,product_num:n},function(e){var t=window.cookie("_g"),n=Y.parse(t),a='{"_k":"'+n._k+'","_nac":'+e.total_goods_num+',"_ac":0,"_r":0}';window.setCookie("_g",a,{path:"/",domain:".yohobuy.com"}),S(),j()})}function q(){var e,t,n,a;H(document).on("click",".goodscardelete",function(i){e=H(this),t=e.attr("product_sku"),n=e.attr("promotion_id"),a=e.prev("h3").find(".num").html(),T(t,n,a)})}function I(){var e;H(document).on("click",".mycart_i_down",function(t){e=H(this),e.toggleClass("mycart_i_up"),H("#mycartmore").slideToggle(300)})}function E(){var e,t="//www.yohobuy.com/shopping/cart";H("#miniCartBox").on("click",function(n){e=H(n.target),e.hasClass("gobuy")&&(window.location.href=t)})}function A(e){1===e?(H("#miniCartBox").addClass("list-cur"),H(".gobuy-wrapper").show(),0!==parseInt(H(".ic-infomation").html())?(H("#miniCartBox .gobuy-wrapper").html('<div class="gobuy-loading"><h3 class="information">加载中,请稍后</h3></div>'),S()):H("#miniCartBox .gobuy-wrapper").html('<div class="gobuy-empty"><h3 class="information">您的购物车暂无商品</h3></div>')):(H("#miniCartBox").removeClass("list-cur"),H(".gobuy-wrapper").hide())}function F(){var e;H("#miniCartBox").mouseenter(function(t){e=H(t.target),"miniCartBox"!==e.attr("id")&&"ic-infomation"!==e.attr("class")||A(1)}),H("#miniCartBox").mouseleave(function(e){A(0)})}function U(){var e,t="indexkids",n="indexlifestyle",a="indexboys",i="indexgirls",o="uniquebrand",s=window.location.href,d=window.location.host,l="";s.indexOf("search")!==-1&&(l=re["search"+de._Channel]),s.indexOf("list")!==-1&&(l=re["list"+de._Channel]),s.indexOf("brands")!==-1&&(l=re["brands"+de._Channel]),s.indexOf("new")!==-1&&(l=re["new"+de._Channel]),s.indexOf("sale")!==-1&&(l=re["sale"+de._Channel]),s.indexOf("home")!==-1&&(l=re["home"+de._Channel]),s.indexOf("kids")!==-1&&(l=re[t]),s.indexOf("woman")===-1&&s.indexOf("girls")===-1||(l=re[i]),s.indexOf("lifestyle")!==-1&&(l=re[n]),s.indexOf("www.yohobuy.com")!==-1&&"/"===window.location.pathname&&(l=re[a]),e=d.split(".")[0],"list"!==e&&"search"!==e&&"www"!==e&&"new"!==e&&"item"!==e&&"guang"!==e&&(l=re[o+de._Channel]),r(l)}function D(e){H(".hot-brands").find("ul").stop().animate({opacity:0,"z-index":1},200).eq(e).animate({opacity:1,"z-index":2},200)}function P(){var e,t=0;H(".hot-brands").size()>0&&(e=H(".hot-brands").find("ul").size(),H(".hot-brands").find("ul").eq(0).css({opacity:1,"z-index":2}),H(".brands-control").on("click",".next",function(){t===e-1?t=0:t++,D(t)}),H(".brands-control").on("click",".prev",function(){0===t?t=e-1:t--,D(t)}))}function O(){setInterval(j,2e3)}function L(){var e=H("#goodcartempwarpper"),t="";e&&e.html()&&(t=H("#goodcartempwarpper").html().replace(/\\/g,""),H("#goodcartempwarpper").html(t),Q=G.compile(H("#tmpl-my-login-new").html()))}function N(){var e="//search.yohobuy.com/api/suggest";H("#query_key").search(e)}function $(e){var t=(new Date).getTime(),n='<span>Hi~</span>[<a href="//www.yohobuy.com/signin.html" class="list-a login-out ">请登录</a>]&nbsp;[<a href="//www.yohobuy.com/reg.html" class="list-a login-out" onclick="">免费注册</a>]',a='<span>Hi~<a href="//www.yohobuy.com/home?t='+t+'">{{user_name}}</a></span>&nbsp;{{#if islogin}}[<a href="{{logout}}" class="list-a login-out">退出</a>]{{/if}}{{#unless islogin}}[<a href="//www.yohobuy.com/signin.html" class="list-a login-out">请登录</a>]&nbsp;[<a href="//www.yohobuy.com/reg.html" onclick="" class="list-a login-out">免费注册</a>]{{/unless}}',i=H("#loginBox"),o=window.cookie("_UID"),s=e.data.profile_name,r=0,d=0,l="",c=o.split("::"),u=c[0]||" ",h="//www.yohobuy.com/logout.html",p="1",f=0,m={user_name:s,logout:h,random:Math.random()};if(i.html("").show(),X=G.compile(a),"undefined"==typeof o||null===o)return i.html(n),!1;if("undefined"==typeof c||c.length<4)return i.html(n),!1;for(d;d<u.length;d++)l=u.substr(d,1),r+=/.*[\u4e00-\u9fa5]+.*$/.test(l)?2:1;if(r<=10)s=u;else{for(f=0,d;d<u.length;d++)f<10&&(l=u.substr(d,1),"*"!==l&&(f+=/.*[\u4e00-\u9fa5]+.*$/.test(l)?2:1),s+=l);s.length<u.length&&(s+="...")}h=/http:\/\//.test(c[3])?c[3].replace("www.yohobuy.com","www.yohobuy.com"):"//www.yohobuy.com/logout.html",e.result===-1&&(p="-1"),m.islogin=p,i.html(X(m))}function z(e){var t=e.data,n="";if(1===e.result){if(void 0===typeof t||t.length<1)return!1;"3"===t.vip.curVipInfo.curLevel&&(t.vip3=!0),H("#myYohoBox").mouseenter(function(){return H(this).addClass("acttags"),H("#myYohoBox .myyoho-info").show().html(Q(t)),n=H(".myyoho-photo img").attr("data-url"),1===H._checkUrlState?void H(".myyoho-photo").show().find("img").attr("src",n):void(""!==n&&""===H._checkUrl&&H.ajax({url:n,type:"GET",complete:function(e){200!==e.status&&0!==e.status||(H(".myyoho-photo").show().find("img").attr("src",n),H._checkUrlState=1),H._checkUrl=n}}))}),H("#myYohoBox").mouseleave(function(){H(this).removeClass("acttags"),H("#myYohoBox .myyoho-info").hide()})}}function B(){H.getData("//www.yohobuy.com/common/passport","",function(e){e&&e.result!==-1?($(e),z(e)):(window.setCookie("_UID","",{path:"/",domain:".yohobuy.com",expires:-1}),se.show())})}function R(){y(),b(),L(),C(),_(),x(),k(),o(),c(),l(),m(),U(),P(),F(),j(),O(),N(),E(),q(),I(),B(),i()}var M,W,H=e("jquery"),G=e("handlebars"),Y=e("index"),Q=null,X=null,V="",Z=/^[\^\!\+\-\(\)\:\[\]\\\{\}\~\*\?\|\&\;\/]{0,}$/g,J="",K="",ee=[],te=null,ne=0,ae=H(".icon-logo"),ie=!0,oe=500,se=H("#loginBox"),re={listboys:"4f78b0f418fc42314d8b6e791cfb7fa8",listgirls:"00c1f025a51b6b597dc37925951ea27d",listkids:"b02df11184727701ade1b6de9737d08c",listlifestyle:"fd35c52dced0c880976ba858346d1fc5",searchboys:"9fb8986ea700cc27a8057361c3924394",searchgirls:"e3e207a1443ca60c8037fe52a5560c18",searchkids:"620fc77f479da8feaeb06f2324e5d0bb",searchlifestyle:"a3c93301c6ffaf3ed0f36a4a451be36d",uniquebrandboys:"2ebb0810c0d1a67e5229149c9c3aba7d",uniquebrandgirls:"99e23385f4ba4b65f406b7e2968ac821",uniquebrandkids:"a74ebc9b17840c91b9ea46568111fe6b",uniquebrandlifestyle:"0e8c81ead53f56302baa4d0ad967f527",brandsboys:"77b352db07129c76a9d532acad149f9f",brandsgirls:"bf047f16e52ebc38be5ce9c7623831e6",brandskids:"e3ae1ce9b5e13c6d271ef3eccb831652",brandslifestyle:"e4ac8029c30f65d7f1af030980d140fe",newboys:"869d3c5f3b450fb52101d00a61ce87cb",newgirls:"d953b6dfdac02483d1dcce8d96055954",newkids:"0874cb6d75df8e0e78f2d475e53ecc08",newlifestyle:"43e8fc8e178115c262bbce2bd0012db7",saleboys:"c846e3165c994769b4201d8c32f3ae9b",salegirls:"52b1d389edcbc62d65de71b80c4d6ad0",salekids:"ad8b1703c761ba00973868ab5199cc27",salelifestyle:"7acc64905c70ac91846f43fb2cec4bbd",homeboys:"b0856a771ef1b59ab1234c74688fa42d",homegirls:"2bd61fa12e4933211518f70fe5ce3c48",homekids:"895c59e8c64b40399c9533509507320c",homelifestyle:"2e037d4e25d2767352ca3e0a4627f7bd",indexboys:"0c911d3000f52e8ca7cffb74f5864c29",indexgirls:"b645b8980c423ab30485e0a9d08c2ef7",indexkids:"17f6d5d5d454d2c507bc5fcbc90f7756",indexlifestyle:"735cd393e841762af8793c346abbbc36"},de={},le="//new.yohobuy.com/common/getbanner?content_code=";H("#api-domain").remove(),window.submitSearch=function(){var e,t,n=H("#query_key").val(),i=H("#defaultsearch").val(),o="Search",s="Head Search",r="Search";if(e=H.trim(J.toLowerCase()),t=H.trim(n.toLowerCase()),a(o,s,r),""!==K&&""!==J&&e===t)location.href=K.replace("'","");else{if(!Z.test(n)||""===n)return""===n&&H("#query_key").val(i),H("#searchForm").submit(),!1;location.href="//search.yohobuy.com/error?query="+n+"&result=error"}},G.registerHelper("timestamp",function(){return(new Date).getTime()}),G.registerHelper("headerimg",function(e){return""===e?"//img10.static.yhbimg.com/headimg/2013/11/28/09/01cae078abe5fe320c88cdf4c220212688.gif?imageView/2/w/100/h/100":e}),G.registerHelper("equallevelthree",function(e,t){return"3"===e?t.fn(this):t.inverse(this)}),G.registerHelper("notzero",function(e,t){return"0"!==e?t.fn(this):t.inverse(this)}),window.JsonPCallBack=s,window.newArr=[],window.wrapperindex=0,window.gindex=0,window.targetArr1=[],window.targetArr2=[],window.targetArr3=[],window.oh1=0,window.oh2=0,window.oh3=0,window.valueIndex=0,window.nowIndex=0,window.inner1="",window.inner2="",window.inner3="",window.finalresult="",R()}),define("js/simple-header",["jquery"],function(e,t,n){function a(e){var t,n,a,i=0,o=0;for(a=0;a<e.length;a++)n=e.substr(a,1),o+=/.*[\u4e00-\u9fa5]+.*$/.test(n)?2:1;if(o<=10)t=e;else{for(i=0,t="",a=0;a<e.length;a++)i<10&&(n=e.substr(a,1),"*"!==n&&(i+=/.*[\u4e00-\u9fa5]+.*$/.test(n)?2:1),t+=n);t.length<e.length&&(t+="...")}return t}function i(e){var t,n,i=e.data;e.result!==-1?(n=a(i.profile_name),t='<span>Hi~</span><a href="//www.yohobuy.com/home?t='+i.random+'">'+n+'</a>&nbsp;<a href="//www.yohobuy.com/logout.html">[退出]</a>'):t='<span>Hi~</span>&nbsp;<a href="//www.yohobuy.com/signin.html">[请登录]</a>&nbsp;<a href="//www.yohobuy.com/reg.html">[免费注册]</a>',s(".header-tool li").eq(0).html(t)}function o(){var e={return_type:"jsonp"};s.getJSON("//www.yohobuy.com/common/passport/?callback=?",e,function(e){e&&e.data&&i(e.data)})}var s=e("jquery"),r=s("#api-domain");r.val();r.remove(),s(".simple-header").size()>0&&s(".tool-options").on("mouseenter",function(){s(this).find(".tool-select").fadeIn()}).on("mouseleave",function(){s(this).find(".tool-select").fadeOut()}),o()}),define("js/product/entry",["jquery","handlebars","source-map","lazyload","index","jquery-pjax"],function(e,t,n){e("js/product/list"),e("js/product/brand"),e("js/product/hotrank"),e("js/product/item"),e("js/product/shop-index")}),define("js/product/list",["jquery","handlebars","source-map","lazyload"],function(e,t,n){var a=e("jquery");e("js/product/filter"),e("js/product/sort-pager"),e("js/product/latest-walk"),e("js/product/product"),function(){var e,t=a(".banner-img");0!==t.length&&(e=new Image,e.onload=function(){e.height&&t.height(e.height),e=null},e.src=t.css("background-image").replace(/"/g,"").slice(4,-1))}()}),define("js/product/filter",["jquery","handlebars","source-map"],function(e,t,n){function a(e,t){e.each(function(){g(this).closest(".attr").hasClass("checked")||g(this).removeClass("checked").html(y.unchecked)}),t.find(".checkbox").addClass("checked").html(y.checked)}function i(){w.addClass("hide"),_.removeClass("hide")}function o(){_.addClass("hide"),w.removeClass("hide"),S.children("span").removeClass("hover")}function s(e,t){var n,a=window.queryString();a[e]=t,delete a.page,n="?"+decodeURIComponent(g.param(a)),window.location.href=n}function r(e){E.children(".senior-sub:eq("+m+")").addClass("hide"),A.children(".attr:eq("+m+")").removeClass("hover"),m=-1}var d,l,c,u,h,p,f,m,g=e("jquery"),v=e("handlebars"),y={unchecked:"&#xe635;",checked:"&#xe636;"},b={up:"&#xe610;",down:"&#xe600;"},w=g(".brand .default"),C=g("#brand-search-input"),_=g(".brand .brand-panel"),x=_.find(".attr"),k=g("#brand-more"),j=g("#brand-multi"),S=g(".brands-index"),T=g(".ud-price-range"),q=/^\d+$/,I=g(".sort-sub-wrap"),E=g(".senior-sub-wrap"),A=g(".senior-attr-wrap"),F='{{# size}}<a class="attr {{#if checked}}checked{{/if}}" href="{{href}}">{{name}}</a>{{/ size}}',U={},D=g(".filter-box .size");F=v.compile(F),g(".filter-box").on("selectstart",".attr, .brands-index span",function(){return!1}),g(".sort-pre").on("click","li",function(){var e=g(this),t=e.index(),n=e.data("id");return e.hasClass("active")?(e.removeClass("active"),I.children(":eq("+t+")").addClass("hide"),void D.addClass("hide")):(e.siblings(".active").removeClass("active"),e.addClass("active"),I.children(":not(.hide)").addClass("hide"),I.children(":eq("+t+")").removeClass("hide"),void(D.data("load")||(U[n]?(D.find(".attr-content").html(U[n]),D.removeClass("hide")):g.ajax({url:"/product/search/sortSize",data:{msort:n}}).then(function(e){"array"===g.type(e)&&e.length?(U[n]=F({size:e}),D.find(".attr-content").html(U[n]),D.removeClass("hide")):D.addClass("hide")}))))}),k.length>0&&(d=k.children("em"),l=k.children(".iconfont")),j.click(function(){"none"===_.css("display")&&k.trigger("click"),i(),_.removeClass("hide").addClass("multi"),g(this).addClass("hide"),k.addClass("hide")}),k.click(function(){var e=g(this);e.hasClass("more")?(o(),d.text("更多"),l.html(b.down),C.val("").trigger("keyup")):(i(),d.text("收起"),l.html(b.up)),g(this).toggleClass("more")}),S.on("mouseenter","span",function(){var e=g(this),t=e.data("index");e.hasClass("hover")||setTimeout(function(){e.siblings("span.hover").removeClass("hover"),e.addClass("hover"),0===e.index()?x.removeClass("hide"):x.addClass("hide").filter("[data-index="+t+"]").removeClass("hide")},120)}),C.keyup(function(){var e=g(this).val().toLowerCase();""===e?x.removeClass("hide"):x.addClass("hide").filter('[data-key*="'+e+'"]').removeClass("hide")}),g("#brand-multi-ok").click(function(){var e=[];g(this).hasClass("dis")||(_.find("span.checked").each(function(){e.push(g(this).data("id"))}),s("brand",e.join(",")))}),g(".multi-select-cancel").click(function(){var e=g(this).closest(".multi");e.hasClass("brand-panel")&&(j.removeClass("hide"),k.trigger("click"),k.removeClass("hide"),C.val("").trigger("keyup"),o()),e.addClass("hide").removeClass("multi"),a(e.find(".checkbox.checked"),e.find(".attr.checked")),g(this).siblings(".multi-select-ok").addClass("dis")}),g(".check-container").on("click",".attr",function(){var e=g(this),t=e.find(".checkbox"),n=e.closest(".brand-panel, .senior-sub").find(".multi-select-ok");t.toggleClass("checked"),t.hasClass("checked")?t.html(y.checked):t.html(y.unchecked),t.hasClass("checked")||e.siblings(".attr").find(".checked").length>0?n.removeClass("dis"):n.addClass("dis")}),g(".brand, .senior").on("click",".attr > a",function(e){g(this).closest(".multi").length>0&&e.preventDefault()}),g(".filter-box").on("click","li.checked, a.checked",function(e){e.preventDefault()}),T.length>0&&(c=T.find(".limit"),u=c.filter(".min"),h=c.filter(".max"),p=T.find(".price-sure"),c.keyup(function(){var e,t,n,a=g.trim(g(this).val()),i=q.test(a);i||(e=parseInt(a,10),g(this).val(isNaN(e)?"":e)),t=g.trim(u.val()),n=g.trim(h.val()),""!==t||""!==n?p.removeClass("hide"):p.addClass("hide")}),p.click(function(){var e,t=g.trim(u.val()),n=g.trim(h.val());""!==t&&""!==n&&+t>+n&&(e=n,n=t,t=e),s("price",t+","+n)})),A.on("mouseenter",".attr",function(){var e=g(this),t=e.index();e.hasClass("no-sub")||(e.addClass("hover").siblings().removeClass("hover"),
+E.children(".senior-sub:eq("+t+")").removeClass("hide").siblings().addClass("hide"))}).on("mouseleave",".attr",function(){var e=g(this),t=e.index();e.hasClass("no-sub")||(m=t,f=setTimeout(function(){r()},100))}),g(".senior-sub").on("click",".multi-select",function(){g(this).closest(".senior-sub").addClass("multi")}).on("click",".multi-select-ok",function(){var e=g(this),t=e.closest(".senior-sub"),n=[];e.hasClass("dis")||(t.find("span.checked").each(function(){n.push(g(this).data("id"))}),s(t.data("attr"),n.join(",")))}).on("mouseenter",function(){clearTimeout(f)}).on("mouseleave",function(){r()})}),define("js/product/sort-pager",["jquery"],function(e,t,n){var a=e("jquery"),i=a("#count-per-page"),o=i.next("ul"),s=200;a(document).click(function(e){a(e.target).closest(".page-count").length>0||o&&o.slideUp(s)}),i.click(function(){"none"===o.css("display")?o.slideDown(s):o.slideUp(s)})}),define("js/product/latest-walk",["jquery","handlebars","source-map","lazyload"],function(e,t,n){var a=e("jquery"),i=e("handlebars"),o=e("lazyload"),s=a("#latest-walk-count");!function(){var e;0!==s.length&&(e=i.compile(a("#latest-walk-tpl").html()),a.ajax({url:"//www.yohobuy.com/common/recentReview",dataType:"jsonp",data:{limit:s.val()},success:function(t){var n,i,s,r=[];if(200===t.code){if(n=t.data,0===n.length)return void a(".latest-walk").addClass("hide");for(i=0;i<n.length;i++)s=n[i],r.push({href:s.url,img:s.pic_url,name:s.product_name,salePrice:s.price,marketPrice:s.market_price});r.length>0&&(a("#latest-walk-goods").html(e({latestWalk:r})),o(a("#latest-walk-goods .lazy")))}}}))}()}),define("js/product/product",["jquery","lazyload","handlebars","source-map"],function(e,t,n){var a,i=e("jquery"),o=e("lazyload"),s=e("handlebars"),r=e("js/common/product-event"),d=i(".goods-container"),l=d.find(".good-info"),c=d.find(".good-item-wrapper"),u=d.find(".good-info-main"),h=d.find(".good-select-color"),p=i(".product-list-nav");o(i("img.lazy")),t.init=function(e){function t(e,t){var n,a,i,o="",s=e.length,r=4,d=Math.ceil(s/r),l=0;for(n=0;n<d;n++)for(o+="<ul>",a=0;a<r&&(i=n*r+a,i!==s);a++)o+='<li><a target="_blank" href="'+e[n*r+a].url+t+'"><img src="'+e[n*r+a].src+'" data-cover="'+e[n*r+a].coverImg+'" /></a></li>',a===r-1&&(o+="</ul>",l++);return l<d&&(o+="</ul>"),{colorListStr:o,ulNum:d}}function n(){u.html(""),h.html(""),c.css({display:"none"})}var o=i(".shop-entry"),s=i(".shop-entry-area"),p=o.length;p>1?(3===p?o.css({width:"32%"}):p%2&&i(".shop-entry:gt("+(p-4)+")").css({width:"32%"}),i(".shop-entry:nth-child(2n+1)").css({marginLeft:0}),o.last().css({marginLeft:"2%"}),p%2===0?o.find(".name").css({width:"50%"}):p%3===0&&o.find(".name").css({width:"26%"})):o.css({width:"100%"}),s.slideDown(),a=null,l.unbind(),a=r(l,e),a.addHandler("MouseEnter",function(e){var a,o,s,r,l,p,f,m,g=10,v=35,y="",b=e.target.attr("data-from")||"";i.ajax({type:"POST",url:"/product/list/getProductPic",dataType:"jsonp",jsonp:"callback",data:{skn:e.target.attr("data-skn"),skc:e.target.attr("data-skc")}}).then(function(w){var C=w.data,_=t(C.pics,b);n(),y=_.colorListStr,a=_.ulNum,u.append(e.targetDuplicate),h.append(i(y)),p=c.css("paddingLeft"),f=c.css("paddingTop"),m=d.css("paddingTop"),o=10+65*a+e.targetWidth,r=(e.targetX-1)*(e.targetWidth+g)-(parseInt(p)+1),l=(e.targetY-1)*(e.targetHeight+v)+parseInt(m)-(parseInt(f)+1),s=e.offsetR-(65*a+25),s<=0&&(r=r+s-25),c.css({width:o,left:r,top:l,display:"inline-block"}),C.pics[0]&&C.pics[0].src&&u.find(".good-thumb img").attr("src",C.pics[0].src)})}),a.addHandler("MouseLeave",function(){n()}),c.mouseleave(function(){n()})},i(document).on("hover",".good-select-color li",function(){var e=i(this).find("img").attr("data-cover"),t=i(this).closest(".good-item-wrapper").find(".good-detail-img").find("img");t.attr("src",e)}),p.find("h3").click(function(e){var t=i(this).closest(".product-list-nav");t.hasClass("active")?t.find(".sort-child-list").stop(!0,!0).slideUp():t.find(".sort-child-list").stop(!0,!0).slideDown(),t.toggleClass("active")}),function(){var e,t=i("#brand-card"),n=i("#brand-favor");t.length&&i.ajax({type:"POST",url:"/product/index/getNodeContent",data:{node:t.data("node")}}).then(function(e){t.html(e)}),n.length&&(e=i("#pic-link-tpl").html(),i.ajax({type:"POST",url:"/product/index/getAdnav",data:{brandId:n.data("id")}}).then(function(t){t&&i("#brand-ad").html(s.compile(e)({picLink:t}))}))}()}),define("js/common/product-event",["jquery"],function(e,t,n){function a(){this.handlers={}}var i=e("jquery");a.prototype={constructor:a,addHandler:function(e,t){"undefined"==typeof this.handlers[e]&&(this.handlers[e]=[]),this.handlers[e].push(t)},fire:function(e){var t,n;if(e.target||(e.target=this),this.handlers[e.type]instanceof Array)for(t=this.handlers[e.type],n=0;n<t.length;n++)t[n](e)},removeHandler:function(e,t){var n,a;if(this.handlers[e]instanceof Array){for(n=this.handlers[e],a=0;a<n.length&&n[a]!==t;a++);n.splice(a,1)}}},n.exports=function(e,t){function n(e){var n,a=0,u=0,h=t,p=0,f="",m=0,g=0;switch(e.type){case"mouseenter":n=i(this),o=setTimeout(function(){s=!0,f=n.clone(),p=n.index()+1,a=p%h===0?h:p%h,u=Math.ceil(p/h),m=n.offset().left,g=c-(m+d),r.fire({type:"MouseEnter",target:n,targetWidth:d,targetHeight:l,targetX:a,targetY:u,rowWidth:h,activeIndex:p,targetDuplicate:f,offsetL:m,offsetR:g})},150);break;case"mouseleave":s||(o&&clearTimeout(o),r.fire({type:"MouseLeave"})),s=!1}}var o,s,r=new a,d=e.eq(0).width(),l=e.eq(0).height(),c=i(window).width();return e.bind({mouseenter:n,mouseleave:n}),r}}),define("js/product/brand",["jquery"],function(e,t,n){var a=e("jquery"),i=a("#brand-favor"),o=i.data("id");i.on("click",function(){a.ajax({type:"post",url:"/product/index/favoriteBrand",data:{brandId:o}}).then(function(e){200===e.code?i.find("i").toggleClass("coled"):403===e.code&&(location.href="//www.yohobuy.com/signin.html?refer="+encodeURIComponent(location.href))})}),a.ajax({type:"POST",url:"/product/index/isFavoriteBrand",data:{brandId:o}}).then(function(e){200===e.code?i.find("i").addClass("coled"):404===e.code&&i.find("i").removeClass("coled")})}),define("js/product/hotrank",["jquery","handlebars","source-map","lazyload"],function(e,t,n){var a=e("jquery"),i=e("handlebars"),o=e("lazyload");e("js/common/slider"),e("js/common/logo-brand"),o(a("img.lazy")),a(".slide-container").slider(),a(".logo-brand").logoBrand({showNum:10,url:a(".logo-brand").data("url")}),function(e){function t(t,n){var d={};d=n?{sid:t,page:n}:{sid:t},e.ajax({type:"GET",dataType:"json",url:"/product/index/getdata",data:d,success:function(t){var d;200===t.code&&(d={list:t.data},s=i.compile(a),n?(e(".hot-week-list").append(s(d)),r.css({position:"fixed",marginTop:-r.height()/2,top:"50%"})):e(".hot-week-list").html(s(d)),o(e("img.lazy")),c=!1)}})}var n,a,s,r=e(".hot-week").find(".floatlayer"),d=(e(".hot-cate").find("li").eq(0).data("sid"),1),l=0,c=!1;a='{{# list}}<div class="good-info"><div class="item-img"><a class="good-thumb" target="_blank" href="{{url}}"><img class="lazy" data-original="{{thumb}}"></a></div><div class="good-detail-text"><a target="_blank" href="{{url}}">{{name}}</a><p class="price">{{# marketPrice}}<span class="market-price">¥{{.}}</span>{{/ marketPrice}} <span class="sale-price{{#unless marketPrice}}prime-cost{{/unless}}">¥{{salePrice}}</span></p></div></div>{{/ list}}',e(window).on("scroll",function(){var a,i=n+e(".hot-week").outerHeight();n=e(".hot-week").offset().top,e(this).scrollTop()>=n-e(window).height()/2?r.offset().top+r.outerHeight()>=i?r.css({position:"absolute",marginTop:0,top:e(".hot-week").outerHeight()-r.outerHeight()}):r.css({marginTop:-r.height()/2}).stop().animate({opacity:1},200,function(){r.show()}):r.stop().animate({opacity:0},200,function(){r.hide()}),r.offset().top>=e(this).scrollTop()+(e(window).height()-r.outerHeight())/2&&r.css({position:"fixed",marginTop:-r.height()/2,top:"50%"}),e(this).scrollTop()>=n+e(".hot-week").height()-e(window).height()&&(c||(a=e(".hot-cate").find("li.current").data("sid"),d++,c=!0,t(a,d)))}),e(".hot-cate").find("li").each(function(t){var n=e(".hot-cate").width();l<=n&&(l+=e(this).width(),l>=n&&e(".floatlayer").find("li").eq(t).hide().nextAll().hide())}),e(".hot-cate").on("click","li",function(){var a=e(this).index(),i=e(this).data("sid");e(this).hasClass("current")||(e(this).addClass("current").siblings().removeClass("current"),e(".floatlayer").find("li").removeClass("current").eq(a).addClass("current"),e("body,html").stop().animate({scrollTop:n-110},500),t(i),d=1)}),e(".floatlayer").on("click","li",function(){var t=e(this).index();e(this).hasClass("current")||(e(".hot-cate").find("li").eq(t).trigger("click"),e(this).addClass("current").siblings().removeClass("current"),e(".hot-cate").find("li").removeClass("current").eq(t).addClass("current"))}),e(".hot-cate").find("li").eq(0).addClass("current"),e(".floatlayer").find("li").eq(0).addClass("current")}(a)}),define("js/common/slider",["jquery","lazyload"],function(e,t,n){var a=e("jquery"),i=e("lazyload");!function(e){var t=function(t,n){this.$element=e(t),this.options=e.extend({},e.fn.slider.defaults,n),this.bigItem=this.$element.find(".slide-wrapper").find("li"),this.smallItem=null,this.len=this.bigItem.size(),this.index=0,this.timer=null,this.init()};t.prototype={init:function(){if(this.$element){if(this.len<=1)return void i(this.$element.find("img.lazy"));this.options.pagination?this.smallItem=e(this.options.pagination).find("li"):this._createPage(),this.options.orient&&this._createOrient(),this._slideShow(),this._bindEvent(),this._autoplay()}},_createOrient:function(){var e='<div class="slide-switch"><a class="prev" href="javascript:;"><span class="iconfont">&#xe60c;</span></a><a class="next" href="javascript:;"><span class="iconfont">&#xe60b;</span></a></div>';this.$element.find(".slide-switch").length>0||this.$element.append(e)},_createPage:function(){var t='<div class="slide-pagination"><div class="slide-pagination-inner"><div class="slide-shade"></div><div class="slide-pagination-last">',n=0;if(!(this.len<=1)){for(n=0;n<this.len;n++)t+="<span></span>";t+="</div></div></div>",this.$element.append(e(t)),this.smallItem=this.$element.find(".slide-pagination-inner span")}},_bindEvent:function(){var t=this;this.$element.find(".slide-switch").on("click",".next",function(){t._nextSlide(),clearInterval(t.timer),t.timer=setInterval(function(){t._nextSlide()},t.options.time)}).on("click",".prev",function(){t._prevSlide(),clearInterval(t.timer),t.timer=setInterval(function(){t._nextSlide()},t.options.time)}),this.smallItem.on("mouseenter",function(){t.index=e(this).index(),clearInterval(t.timer),t._slideShow()}).on("mouseleave",function(){t._autoplay()}),this.$element.on("mouseenter",function(){e(this).find(".slide-switch").addClass("show")}).on("mouseleave",function(){e(this).find(".slide-switch").removeClass("show")})},_nextSlide:function(){this.index===this.len-1?this.index=0:this.index++,this._slideShow()},_prevSlide:function(){0===this.index?this.index=this.len-1:this.index--,this._slideShow()},_slideShow:function(){var t=this.bigItem.eq(this.index).find("img.lazy");t.attr("src")!==t.data("original")&&(i(t,{event:"sporty"}),t.trigger("sporty")),this.smallItem.eq(this.index).addClass("focus").siblings().removeClass("focus"),this.bigItem.eq(this.index).show().stop().animate({opacity:1},function(){e(this).find(".slide-tips > p").removeClass("hide")}).siblings().stop().animate({opacity:0},function(){e(this).hide().find(".slide-tips > p").addClass("hide")})},_autoplay:function(){var e=this;clearInterval(this.timer),this.timer=setInterval(function(){e._nextSlide()},this.options.time)}},e.fn.slider=function(n){return this.each(function(){var a=e(this),i=a.data("Slider"),o="object"==typeof n&&n;i||a.data("Slider",i=new t(this,o)),"string"==typeof n&&i[n]()})},e.fn.slider.Constructor=t,e.fn.slider.defaults={time:5e3,orient:!0,pagination:null}}(a)}),define("js/common/logo-brand",["jquery","handlebars","source-map","lazyload"],function(e,t,n){var a=e("jquery"),i=e("handlebars"),o=e("lazyload");!function(e){var t=function(t,n){this.$element=e(t),this.options=e.extend({},e.fn.logoBrand.defaults,n),this.init()};t.prototype={init:function(){this.$element.addClass("logos-"+this.options.showNum),this._sendRequest()},_createHelper:function(){var e=this.options.showNum;i.registerHelper("brandList",function(t,n){var a="<ul>",i=0,o=null,s=0;if(t.length%e!==0)for(s=e-t.length%e,i=0;i<s;i++)t.push({href:"javascript:;",img:""});for(i=0;i<t.length;i++)o=n.fn(t[i]),a=i%e===5||5===i?a+'<li class="logo-brand-switch" data-page="'+Math.floor(i/e)+'"><a class="prev iconfont" href="javascript:;">&#xe60f;</a><a class="next iconfont" href="javascript:;">&#xe60e;</a></li><li data-page="'+Math.floor(i/e)+'">'+o+"</li>":0!==i&&i%e===0?a+'<li class="brand-more" data-page="'+Math.floor(i/(e+1))+'"><a href="javascript:;" target="_blank">MORE ></a></li><li data-page="'+Math.floor(i/e)+'">'+o+"</li>":a+'<li data-page="'+Math.floor(i/e)+'">'+o+"</li>";return a+'<li class="brand-more" data-page="'+Math.floor(i/(e+1))+'"><a href="javascript:;" target="_blank">MORE ></a></li></ul>'})},_sendRequest:function(){var t=this;e.ajax({type:"GET",url:t.options.url,dataType:"json",success:function(e){var n,a;e&&0!==e.length&&(t._createHelper(),a='{{#brandList logoBrand}}<a href="{{href}}" target="_blank"><img class="lazy" data-original="{{img}}" alt=""></a>{{/brandList}}',n=i.compile(a),t.$element.html(n(e)),t.$element.find(".brand-more a").attr("href",e.moreBrand),o(t.$element.find("img.lazy")),t._bindEvent())}})},_brandShow:function(t,n){var a=this;o(e("li[data-page="+n+"]").find("img.lazy").trigger("appear")),a.$element.find("li[data-page="+t+"]").find("img").fadeOut("normal",function(){a.$element.find("li").hide(),a.$element.find("li[data-page="+n+"]").show().find("img").fadeIn()})},_bindEvent:function(){var t=this;t.$element.on("click",".next",function(){var n=e(this).parent().data("page"),a=0,i=Math.ceil(t.$element.find("li").size()/(t.options.showNum+2))-1;a=n===i?0:n+1,t._brandShow(n,a)}),t.$element.on("click",".prev",function(){var n=e(this).parent().data("page"),a=0,i=Math.ceil(t.$element.find("li").size()/(t.options.showNum+2))-1;a=0===n?i:n-1,t._brandShow(n,a)})}},e.fn.logoBrand=function(n){return this.each(function(){var a=e(this),i=a.data("LogoBrand"),o="object"==typeof n&&n;i||a.data("LogoBrand",i=new t(this,o)),"string"==typeof n&&i[n]()})},e.fn.logoBrand.Constructor=t,e.fn.logoBrand.defaults={showNum:16,url:"/boys/getBrand"}}(a)}),define("js/product/item",["jquery","lazyload","handlebars","source-map","index"],function(e,t,n){function a(e){h.attr("src",e)}function i(){return+y.text()}function o(){y.text("1"),1===I||0===I?(b.addClass("dis"),w.addClass("dis")):(b.removeClass("dis"),w.addClass("dis"))}function s(e){0!==k.length&&(0===I||e&&0===~~e.data("total")?(k.addClass("hide"),_.removeClass("hide")):(k.removeClass("hide"),_.addClass("hide")))}function r(){m.not(".hide").children(".size-warn").removeClass("hide")}var d=e("jquery"),l=e("lazyload"),c=e("handlebars"),u=e("index"),h=d("#img-show"),p=d("#thumbs > .thumb-wrap"),f=d("#sizes"),m=f.children(".size"),g=f.find(".size-warn"),v=f.children(".color-size-tip"),y=d("#num"),b=d("#plus-num"),w=d("#minus-num"),C=d("#add-to-cart"),_=d("#sold-out"),x=d(".lc-container"),k=d(".item-buy"),j=d("#desc-color"),S={},T=d(".main"),q=T.data("id"),I=-1,E=200,A={def:"收藏商品",coled:"已收藏",hover:"取消收藏"},F=e("js/common/dialog").Alert;e("js/product/latest-walk"),e("js/common/share"),function(){var e,t=d("#size-title-json"),n=t.html();""!==n&&(e=u.parse(n),t.remove(),m.children("li").each(function(){var t=d(this),n=t.data("name");t.data("title",e[n])}))}(),S[d(".colors .focus").index()]=!0,d("#brand-favour").click(function(){var e=d(this);d.ajax({type:"POST",url:"/product/index/favoriteBrand",data:{brandId:e.data("id")}}).then(function(t){200===t.code?e.toggleClass("coled"):403===t.code&&(location.href=t.data.url)})}),d(".colors").on("click","li",function(){var e,t=d(this),n=t.index();v.addClass("hide"),g.addClass("hide"),I=-1,t.hasClass("focus")?m.eq(n).children("li").removeClass("focus"):(t.siblings(".focus").removeClass("focus"),t.addClass("focus"),p.not(".hide").addClass("hide"),e=p.eq(n).removeClass("hide").find("img"),"undefined"==typeof S[n]&&(l(e,{event:"sporty"}),e.trigger("sporty"),S[n]=!0),a(e.first().data("shower")),j.text(t.data("color")),m.not(".hide").addClass("hide").children("li").removeClass("focus"),m.eq(n).removeClass("hide")),o(),s(t)}),d("#thumbs").on("mouseenter",".thumb",function(){a(d(this).data("shower"))}),f.on("click","li",function(){var e=d(this);e.hasClass("focus")||(I=+e.data("num"),e.siblings(".focus").removeClass("focus"),e.addClass("focus"),v.html(e.data("title")).removeClass("hide"),g.addClass("hide"),s(),o())}).on("click",".size-ruler",function(){d("body,html").animate({scrollTop:d(".size-info").offset().top},300)}),b.click(function(){var e=i();if(!d(this).hasClass("dis"))return I===-1?void r():void(0!==I&&(e===I-1&&d(this).addClass("dis"),1===e&&w.removeClass("dis"),y.text(e+1>I?I:e+1)))}).on("selectstart",function(){return!1}),w.click(function(){var e=i();d(this).hasClass("dis")||(2===e&&d(this).addClass("dis"),e===I&&b.removeClass("dis"),y.text(e-1<0?0:e-1))}).on("selectstart",function(){return!1}),d(".get-lc:not(.dis)").hover(function(){x.removeClass("hide")},function(){x.addClass("hide")}),C.click(function(){return I===-1?void r():void d.ajax({type:"POST",url:"/cart/index/add",data:{productSku:d(".size:not(.hide) li.focus").data("sku"),buyNumber:i()}}).then(function(e){var t=e.code;200===t&&(d("#type-chose").slideUp(E),d("#balance").slideDown(E),d("#cart-num").text(e.data.goods_count))})}),d("#collect-product").click(function(){var e,t=d(this);t.hasClass("coled")&&(e=!0),d.ajax({type:"POST",url:"/product/item/togglecollect",data:{productId:q,type:e?"cancel":"add"}}).then(function(n){var a=n.code;200===a?(t.toggleClass("coled"),e?t.find("em").text(A.def):t.find("em").text(A.coled)):403===a&&(location.href=n.data.url)})}).hover(function(){var e=d(this);e.hasClass("coled")&&e.find("em").text(A.hover)},function(){var e=d(this);e.hasClass("coled")&&e.find("em").text(A.coled)}),d("#keep-shopping").click(function(){d("#type-chose").slideDown(E),d("#balance").slideUp(E)}),d("#buy-now").click(function(){var e,t,n;if(I===-1)return void r();if(!d(this).hasClass("dis")){if(t=d(this).data("base"),!t)return n=new F("打开APP可抢购该商品哦~~"),void n.show();e=m.find(".focus").data("sku"),e&&t&&(location.href=t+"?product_sku="+e)}}),d(".buy-btn").mouseover(function(){d(this).hasClass("dis")||d(this).addClass("hover")}).mouseleave(function(){d(this).removeClass("hover")}),d(".description-material").on("click",".title",function(){var e=d(this),t=e.index(),n=d(".description-content"),a=d(".material-content");e.hasClass("cur")||(e.addClass("cur"),e.siblings(".cur").removeClass("cur"),0===t?(n.slideDown(E),a.slideUp(E)):(n.slideUp(E),a.slideDown(E)))}),d(".after-service-switch").click(function(){var e=d(this),t=e.next(".after-service-content"),n={def:"&#xe604;",spread:"&#xe603;"};"none"===t.css("display")?(t.slideDown(E),e.find(".triangle").html(n.spread)):(t.slideUp(E),e.find(".triangle").html(n.def))}),d.ajax({type:"GET",url:"/product/item/hotarea",data:{productId:q}}).then(function(e){d("#details-html").prepend(e),d(".hot-point-wrap > img").load(function(){d(this).parent(".hot-point-wrap").width(d(this).width())}),d(".hot-point").hover(function(){d(this).addClass("hover")},function(){d(this).removeClass("hover")})}),l(d("#details-html img")),function(){var e,t=!0;for(e=0;e<m.length;e++)if(1!==m.eq(e).find("li").length){t=!1;break}t&&m.eq(d(".colors .focus").index()).find("li").click()}(),function(){function e(){n||(n=!0,d.ajax({type:"GET",url:"/product/item/comments",data:{productId:q,page:i}}).then(function(e){var t;if(200===e.code){if(t=e.data,0===t.length)return void l.next(".more-wrap").addClass("hide");h.text(t[0].total),l.append(s({comments:t})),i++}}).always(function(){n=!1}))}function t(){a||(a=!0,d.ajax({type:"GET",url:"/product/item/consults",data:{productId:q,page:o}}).then(function(e){var t;if(200===e.code){if(t=e.data,0===t.length)return void u.next(".more-wrap").addClass("hide");p.text(t[0].total),u.append(r({consults:t})),o++}}).always(function(){a=!1}))}var n,a,i=1,o=1,s=c.compile(d("#comments-tpl").html()),r=c.compile(d("#consults-tpl").html()),l=d("#comments-ul"),u=d("#consults-ul"),h=d(".comment-num"),p=d(".consult-num");d(".consult-comment").on("click",".title",function(){var e=d(this),t=e.index(),n=d(".comments"),a=d(".consults");e.hasClass("cur")||(e.addClass("cur"),e.siblings(".cur").removeClass("cur"),0===t?(a.slideDown(E),n.slideUp(E)):(a.slideUp(E),n.slideDown(E)))}).on("click",".load-more",function(){var n=d(this);n.hasClass("load-more-comments")?e():t()}),d("#consults-btn").click(function(){d(".new-consult").removeClass("hide"),d(".consult-success").addClass("hide")}),d("#submit-consult").click(function(){var e=d(this),t=e.closest(".new-consult"),n=t.find(".my-consult"),a=d.trim(n.val()),i=t.find(".consult-warn"),o=!0;""===a?(n.addClass("error"),i.removeClass("hide"),o=!1):(n.removeClass("error"),i.addClass("hide")),o!==!1&&d.ajax({type:"POST",url:"/product/item/addconsult",data:{productId:q,content:a}}).then(function(e){var a=e.code;200===a?(t.addClass("hide"),t.siblings(".consult-success").removeClass("hide"),n.val("")):403===a&&(location.href=e.data.url)})}),e(),t()}()}),define("js/common/dialog",["jquery","handlebars","source-map"],function(e,t,n){function a(){return 0===l(".body-mask").length&&l("body").append('<div class="body-mask hide"></div>'),l(".body-mask").css({height:l(document).height(),width:l(document).width()})}function i(e){return l("body").append(p(e)),l(".yoho-dialog")}function o(e){var t=l(".yoho-dialog"),n='<p class="sub-content">'+e+"</p>";t&&t.length>0&&t.find(".content").after(n)}function s(e){function t(e){r.$el.find("#dialog-"+s.btns[e].id).on("click",function(){s.btns[e].cb&&s.btns[e].cb()})}var n,s=l.extend({},u,e),r=this;if(s.inherit)return this;if(s.mask&&(r.$mask=a()),r.$el=i(s),s.subContent&&o(s.subContent),s.subContents)for(n=s.subContents.length-1;n>=0;n--)o(s.subContents[n]);if(r.$el.find(".close").click(function(){r.close(),e.refreshOnClose&&window.location.reload()}),r.$el.find(".btn-close").click(function(){r.close()}),s.btns)for(n=0;n<s.btns.length;n++)t(n)}function r(e){var t=this,n={content:e,className:"alert-dialog",btns:[{id:"alert-sure",btnClass:["alert-sure"],name:"确定",cb:function(){t.close()}}]};s.call(this,n)}function d(e){var t=this,n={content:e.content,className:"confirm-dialog",btns:[{id:"confirm-sure",btnClass:["confirm-sure"],name:"确定",cb:e.cb},{id:"confirm-cancel",btnClass:["confirm-cancel"],name:"取消",cb:function(){t.close()}}]};s.call(this,n)}var l=e("jquery"),c=e("handlebars"),u={mask:!0,closeIcon:!0,refreshOnClose:!1},h='<div class="yoho-dialog {{className}} hide">{{#if closeIcon}}<span class="close"><i class="iconfont">&#xe602;</i></span>{{/if}}<div class="content">{{{content}}}</div><div class="btns">{{# btns}}<span {{#if id}}id="dialog-{{id}}"{{/if}} class="btn{{#each btnClass}} {{.}}{{/each}}">{{name}}</span>{{/ btns}}</div></div>',p=c.compile(h);s.prototype.close=function(){this.$mask&&this.$mask.addClass("hide"),this.$el.remove()},s.prototype.show=function(){this.$mask&&this.$mask.removeClass("hide"),this.$el.removeClass("hide").css({"margin-top":-this.$el.height()/2,"margin-left":-this.$el.width()/2})},t.Dialog=s,r.prototype=new s({inherit:!0}),r.prototype.constructor=r,t.Alert=r,d.prototype=new s({inherit:!0}),d.prototype.constructor=d,t.Confirm=d}),define("js/common/share",["jquery"],function(e,t,n){function a(e){var t,n="",a={title:"",url:window.location.href,weixinUrl:"",image:"",desc:"",channel:""},i=["weibo","tweibo","qzone","renren","qq","douban","weixin"],s="<em><i></i></em>";if(a=o.extend(a,e),a.image&&"//"===a.image.substr(0,2)&&(a.image="http:"+a.image),a.weixinUrl&&"//"===a.weixinUrl.substr(0,2)&&(a.weixinUrl="http:"+a.weixinUrl),a.url&&"//"===a.url.substr(0,2)&&(a.url="http:"+a.url),o.inArray(a.channel,i)===-1)return alert("不存在的分享平台!"),!1;switch(a.channel){case"weibo":n="http://service.weibo.com/share/share.php?url="+a.url+"&title="+a.title+"&appkey=3739328910&searchPic=true&pic="+a.image;break;case"tweibo":n="http://share.v.t.qq.com/index.php?c=share&a=index&url="+a.url+"&title="+a.title+"&appkey=c0af9c29e0900813028c2ccb42021792&pic="+a.image;break;case"qzone":n="http://sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_onekey?url="+a.url+"&title="+a.title+"&desc=&summary="+a.desc+"&site=YOHO!BUY 有货&pics="+a.image;break;case"renren":n="http://widget.renren.com/dialog/share?resourceUrl="+a.url+"&srcUrl="+a.url+"&desc="+a.desc+"&title="+a.title+"&description="+a.desc+"&pic="+a.image;break;case"qq":n="http://connect.qq.com/widget/shareqq/index.html?url="+a.url+"&desc="+a.desc+"&title="+a.title.replace("%","")+"&desc=&summary="+a.desc+"&site=YOHO!BUY 有货&pics="+a.image;break;case"weixin":n="http://s.jiathis.com/qrcode.php?url="+a.weixinUrl+"&desc="+a.desc+"&title="+a.title+"&description="+a.desc+"&pic="+a.image;break;case"douban":n="//www.douban.com/share/service?href="+a.url+"&text="+a.desc+"&image="+a.image+"&title="+a.title+"&comment="}if("weixin"===a.channel){if(!a.self)return;t=a.self.closest(".share-to").find(".weixin-share-box"),t.length>0&&(s+='<div class="con"><h2>分享到微信朋友圈</h2><p class="pic"><img src="'+n+'" /></p><p class="w">打开微信,点击底部得“发现”,使用<br/>“扫一扫“即可将网页分享到我的朋友圈。</p><a href="javascript:void(0)" class="close">x</a></div>',t.find("div").length>0?t.show():t.html(s).show(),t.find(".close").click(function(){o(this).closest(".weixin-share-box").hide()}))}else window.open(encodeURI(n))}function i(e,t){var n=document.title.replace(/(^\s*)|(\s*$)/g,""),i=o("#share-desc").val(),s=o("#share-img").val(),r=o("#weixin-url").val();a("weibo"===e||"tqq"===e?{channel:e,title:n,image:s}:{channel:e,title:n,desc:i,image:s,self:t,weixinUrl:r})}var o=e("jquery");o(".share-wrapper").on("click","i",function(){var e=o(this),t=e.data("type"),n=o(".weixin-share-box");"weixin"===t?i(t,e):(n.hide(),i(t))})}),define("js/product/shop-index",["jquery","lazyload","handlebars","source-map","jquery-pjax"],function(e,t,n){function a(){var e=d.find(".shop-collect-ico"),t=d.find(".shop-collect-text"),n=e.hasClass("on"),a=window.cookie("needColloect");i.ajax({type:"post",url:"/shoplist/setFavorite",data:{isFavorite:n?0:1,needColloect:a,shopId:d.data("id")},success:function(i){200===i.code?(n?(e.removeClass("on"),t.html("收藏")):(e.addClass("on"),t.html("已收藏")),a&&(e.addClass("on"),t.html("已收藏"))):401===i.code&&(window.setCookie("needColloect","1",{path:"/",domain:".yohobuy.com",expires:90}),location.href=i.url)}})}var i=e("jquery"),o=e("lazyload"),s=e("js/product/product"),r=i(".shop-intro"),d=i(".shop-collect"),l=i(".slider-left"),c=i(".all-goods"),u=c.find(".fixed-area"),h=u.offset()?u.offset().top:0;e("jquery-pjax"),e("js/common/slider"),e("js/product/list"),s.init(4),o(i("img.lazy")),l.length&&l.slider(),r.on("click",function(){i(".pop-shop-intro").show(),i(".mask").show()}),i(".close-btn, .mask").on("click",function(){i(".pop-shop-intro").hide(),i(".mask").hide()}),d.on("click",function(){a()}),1*window.cookie("needColloect")===1&&window.getUid()&&(a(),window.setCookie("needColloect","",{path:"/",domain:".yohobuy.com",expires:1})),c.pjax("a.pjax",".goods-wrap",{timeout:5e3,scrollTo:!1}).on("pjax:end",function(){s.init(4),o(i("img.lazy")),u=c.find(".fixed-area"),i("html, body").animate({scrollTop:c.offset().top-30})}).on("click",".menu-list li",function(){var e=i(this);e.siblings().removeClass("on"),e.addClass("on")}),i(window).on("scroll",function(){var e=i(this).scrollTop();e>h?u.css({position:"fixed",top:0}):u.css({position:"static",top:0})})}),define("js/index/index",["jquery","lazyload","handlebars","source-map"],function(e,t,n){var a=e("jquery"),i=e("lazyload"),o=a(".home-page").data("page"),s=a(".logo-brand").data("url");e("js/common/slider"),e("js/common/slider2"),e("js/common/logo-brand"),e("js/common/accordion"),a(document).on("mouseenter",".imgopacity a img",function(){a(this).css("opacity",.8)}),a(document).on("mouseout",".imgopacity a img",function(){a(this).css("opacity",1)}),a.inArray(o,["boys","girls","kids","lifestyle"])>-1&&(e("js/common/new-arrivls")({type:o,url:"/common/getNewArrival",count:"boys"===o||"lifestyle"===o?5:4,rows:[5,3]}),window.setCookie("_Channel",o,{domain:".yohobuy.com",path:"/",expires:365})),i(a("img.lazy")),"boys"===o?a(".slide-container").slider({pagination:".thumb-pagination"}):(a(".center-col").slider(),a(".slide-container").slider()),"boys"===o?(a(".logo-brand").logoBrand({url:s}),a(".img-brand").slider2()):(a(".logo-brand").logoBrand({showNum:10,url:s}),a(".img-slider-wrapper").slider2())}),define("js/common/slider2",["jquery"],function(e,t,n){var a=e("jquery");!function(e){e.fn.slider2=function(t){function n(t,n,i){i===!0?(e(".next").trigger("click"),t===n-3?a(--t,n,!1):a(++t,n,!0)):(e(".prev").trigger("click"),0===t?a(++t,n,!0):a(--t,n,!1))}function a(t,a,i){window.setTimeout(n,e.fn.slider2.defaults.delaytime,t,a,i)}function i(t,n,a){var i=-(t*n);e(".img-list").animate({"margin-left":i+"px"},"slow",a)}return e.fn.slider2.defaults={index:0,shownum:3,autoplay:!1,delaytime:3e3},this.each(function(){var n=e.extend({},e.fn.slider2.defaults,t),o=parseInt(e(".img-item").css("margin-right")),s=e(".img-item"),r=[],d=s.outerWidth()+o,l=s.length,c=0;if(l<=3)return void e(this).find(".img-brand-switch").hide();for(c=0;c<s.length;c++)r.push(s[c]);l=r.length,e(this).find(".img-list").css({width:d*l}),e(this).find(".next").on("click",function(t){var n=0,a=null;t.preventDefault(),i(3,d,function(){for(n=0;n<3;n++)a=r.shift(),e(".img-item").parent().append(a.outerHTML),r.push(a);e(".img-item").first().remove(),e(".img-item").first().remove(),e(".img-item").first().remove(),e(".img-list").css({"margin-left":"0"})})}),e(this).find(".prev").on("click",function(t){var n=0,a=null,o="";for(t.preventDefault(),n=0;n<3;n++)a=r.pop(),e(".img-item").parent().prepend(a.outerHTML),r.unshift(a);o=3*d,e(".img-item").last().remove(),e(".img-item").last().remove(),e(".img-item").last().remove(),e(".img-list").css({"margin-left":-o+"px"}),i(0,d)}),n.autoplay===!0&&a(n.index,l,!0)})}}(a)}),define("js/common/accordion",["jquery"],function(e,t,n){function a(e){d.each(function(t){s(this).css("zIndex",t),t<=e?s(this).stop().animate({left:t*c},400):s(this).stop().animate({left:e*c+l+c*(t-e-1)},400)})}var i,o=e("js/common/yohoui/YH.slide"),s=e("jquery"),r=s(".slide-accordion"),d=r.find("li"),l=d.width(),c=1150===parseInt(s(".home-page").width())?125:107;a(0),i=new o({length:5,loop:!1,auto:!1,timeout:2,index:0}),i.on("change",function(e){a(e.to)}),d.mouseover(function(){i.go(s(this).index())}),i.init()}),define("js/common/yohoui/YH.slide",[],function(e,t,n){var a=e("js/common/yohoui/YH.base"),i=function(e){this.__lastTime=null,this.__isStop=!1,e=a.extend(this.defaults,e),i.superclass.constructor.call(this,e)};a.inherit(i,a.assembly),i.prototype.oninit=function(){var e=this,t=e.options;return t.auto&&e.play(),e.go(t.index),this},i.prototype.go=function(e,t){var n,a,i,o,s,r,d,l,c=this,u=c.options;c.__lastTime&&(clearTimeout(c.__lastTime),c.__lastTime=null),t="undefined"==typeof t?u.index:t,n=e===t?0:e>t?1:-1,a=u.loop,o=u.length-1,s=e,e=a?e>o?e-o-1:0>e?e+o+1:e:e>o?o:0>e?0:e,i=u.index=e,r={from:t,to:e,originalto:s,direction:n};for(d in c.registerEvent)if(c.registerEvent[d].length>0)for(l in c.registerEvent[d])c.registerEvent[d].hasOwnProperty(l)&&c.registerEvent[d][l](r);i!==o||e?!c.__isStop&&u.auto&&c.play():c.__lastTime&&clearTimeout(c.__lastTime)},i.prototype.play=function(){var e=this,t=e.options;return e.__lastTime=setTimeout(function(){e.next()},1e3*t.timeout),this},i.prototype.next=function(){var e=this,t=e.options,n=t.index,a=n+t.step;e.go(a,n)},i.prototype.prev=function(){var e=this,t=e.options,n=t.index,a=n-t.step;e.go(a,n)},i.prototype.pause=function(){var e=this;e.__lastTime&&clearTimeout(e.__lastTime),e.__isStop=!0},i.prototype.resume=function(){
+var e=this;e.__isStop=!1,e.play()},i.prototype.defaults={index:0,timeout:5,step:1,per:1,auto:!1,loop:!1},n.exports=i}),define("js/common/yohoui/YH.base",[],function(e,t,n){var a,i={"[object Array]":"array","[object Boolean]":"boolean","[object Date]":"date","[object Function]":"function","[object Number]":"number","[object Object]":"object","[object RegExp]":"regexp","[object String]":"string"},o={__Index:0,list:[],get:function(e){return void 0===e?this.list:this.list[e]},fn:function(){},inherit:function(e,t){var n=o.fn;n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e,e.superclass=t.prototype,e.prototype.constructor===Object.prototype.constructor&&(e.prototype.constructor=t)},extend:function(e,t){var n;for(n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);return e},copy:function(e,t,n){var a,i,s;if("object"!=typeof t)return t;if(a=t.valueOf(),t!==a)return new t.constructor(a);if(t instanceof t.constructor&&t.constructor!==Object){i=e?new e:o.clone(t.constructor.prototype);for(s in t)(e||t.hasOwnProperty(s))&&(i[s]=t[s])}else{i={};for(s in t)i.hasOwnProperty(s)&&(i[s]=t[s])}if(n)for(s in n)i.hasOwnProperty(s)&&(i[s]=n[s]);return i},clone:function(e){return o.__cloneFunc.prototype=e,new o.__cloneFunc},__cloneFunc:function(){},delegate:function(e,t){var n;return t=t||window,arguments.length>2?(n=Array.prototype.slice.call(arguments,2),function(){return e.apply(t,n)}):function(){return e.call(t)}},dom:function(e,t){var n,a,i=e,o={wrap:i},s=i[0].getElementsByTagName("*"),r=s.length;for(a=0;a<r;a++)n=s[a].className,n.indexOf(t)>-1&&(n=n.split(t)[1]),n&&(o[n]=i.find(s[a]));return o},template:function(){var e,t,n,a,i=arguments;if(i.length>0&&o.isString(i[0]))if(e=i[0],2===i.length&&o.isObject(i[1]))for(t in i[1])void 0!==i[1][t]&&(n=new RegExp("({"+t+"})","g"),e=e.replace(n,i[1][t]));else for(a=1;a<i.length;a++)void 0!==i[a]&&(n=new RegExp("({["+(a-1)+"]})","g"),e=e.replace(n,i[a]));return e},__type:function(e){return null==e?String(e):i[Object.prototype.toString.call(e)]||"object"},isObject:function(e){return this.isFunction(e)||!(!e||"object"!=typeof e)},isFunction:function(e){return"function"===this.__type(e)},isArray:Array.isArray||function(e){return"array"===this.__type(e)},isNum:function(e){return!isNaN(parseFloat(e))&&isFinite(e)},isString:function(e){return"string"===this.__type(e)},each:function(e,t,n){var a,i;if(o.isArray(e))for(a=0,i=e.length;a<i&&t.call(e[a],a,e[a],n)!==!1;a++);else for(a in e)if(t.call(e[a],a,e[a],n)===!1)break},funManager:{__loadList:{},__loadFun:function(e,t,n){e.methord&&o.isFunction(e.methord())&&(n=n||window,e.methord()(e,function(){t()},n))},load:function(e,t,n,a){a=a||0,e[a]&&o.funManager.__loadFun(e[a],function(){o.funManager.load(e,t,n,a+1)},n),t(a,n)},get:function(e){return this.__loadList[e]}},log:function(e){var t=window.console||{log:function(){}};t.log(e)},Event:{mousewheel:function(e){var t=e.originalEvent,n=t.detail?t.detail*-1:t.wheelDelta/40,a=n<0?-1:1;return{direction:a,unit:n}},__:function(e,t,n,a){var i;for(i in e)if(window[e[i].validator]){t[e[i].validator](e[i].prefix+n,a,!1);break}},add:function(e,t,n){var a=[{validator:"addEventListener",prefix:""},{validator:"attachEvent",prefix:"on"}];this.__(a,e,t,n)},remove:function(e,t,n){var a=[{validator:"removeEventListener",prefix:""},{validator:"detachEvent",prefix:"on"}];this.__(a,e,t,n)}},getUid:function(e){return o.template("me-{0}{1}-{2}",e,(new Date).getTime(),o.__Index++)},Browser:{isTouch:function(){var e=window.navigator&&window.navigator.msPointerEnabled&&window.MSGesture;return!!("ontouchstart"in window||e||window.DocumentTouch)},Prefix:function(){var e,t=["perspectiveProperty","WebkitPerspective","MozPerspective","OPerspective","msPerspective"],n=document.createElement("div");for(e in t)if(void 0!==n.style[t[e]])return o.template("-{0}-",t[e].replace("Perspective","").toLowerCase())},parseURL:function(e){var t,n,a,i,o,s=document.createElement("a");return s.href=e,{source:e,protocol:s.protocol.replace(":",""),host:s.hostname,port:s.port,query:s.search,params:function(){for(t={},n=s.search.replace(/^\?/,"").split("&"),a=n.length,i=0,o;i<a;i++)n[i]&&(o=n[i].split("="),t[o[0]]=o[1]);return t}(),file:(s.pathname.match(/\/([^\/?#]+)$/i)||[null,""])[1],hash:s.hash.replace("#",""),path:s.pathname.replace(/^([^\/])/,"/$1"),relative:(s.href.match(/tps?:\/\/[^\/]+(.+)/)||[null,""])[1],segments:s.pathname.replace(/^\//,"").split("/")}}},Array:{indexOf:function(e,t){var n;for(n=0;n<e.length;n++)if(this[n]===t)return n;return-1},remove:function(e,t){var n=this.indexOf(e,t);return n>-1&&e.splice(n,1),e}}};a=function(e){this.initialized=!1,this.registerEvent={before:[],change:[],after:[]},this.options=e,this.init(e)},a.output=function(){o.log(o.list)},a.prototype.oninit=o.fn,a.prototype.init=function(e){this.initialized=!0,this.__Uid=o.getUid("me"),this.oninit(e),o.list[this.__Uid]=this},a.prototype.destory=function(){this.initialized=!1,delete o.list[this.__Uid]},a.prototype.getUid=function(){return this.__Uid},a.prototype.getOptions=function(){return this.options},a.prototype.config=function(){if(!(arguments.length>0))return this.options;if("string"==typeof arguments[0]){if(!(arguments.length>1))return this.options[name];this.options[arguments[0]]=arguments[1]}},a.prototype.on=function(e,t){var n=this,a=n.registerEvent[e];return a&&a.push(t),a},a.prototype.off=function(e,t){var n=this,a=n.registerEvent[e],i=[];o.each(a,function(e,n){n===t&&i.push(e)}),o.each(i.reverse(),function(e,t){a.splice(t,1)})},o.assembly=a,n.exports=o}),define("js/common/new-arrivls",["jquery","lazyload","handlebars","source-map"],function(e,t,n){function a(e){var t={index:0,isload:!0,isrun:!0,offset:{height:null,width:null}};return this.registerEvent={before:[],change:[],after:[]},this.options=i.extend(!0,{},t,e),this}var i=e("jquery"),o=e("lazyload"),s=e("handlebars");a.prototype.on=function(e,t){var n=this,a=n.registerEvent[e];return a&&a.push(t),a},a.prototype.exect=function(e,t){var n,a=this;if(a.registerEvent[e]&&a.registerEvent[e].length>0)for(n in a.registerEvent[e])a.registerEvent[e].hasOwnProperty(n)&&a.registerEvent[e][n](t)},a.prototype.init=function(){function e(){n.isrun&&n.isload&&t.__directionCalculation()&&(n.isload=!1,n.index++,t.exect("after",n)),t.exect("change",n)}var t=this,n=this.options;t.exect("before",n),i(window).scroll(e)},a.prototype.emit=function(){var e=this.options;e.isload=!0},a.prototype.stop=function(){var e=this.options;e.isrun=!1,e.isload=!1},a.prototype.__directionCalculation=function(){var e=this.options;return!!(e.offset.height&&e.offset.height()>0&&i(window).scrollTop()+i(window).height()>=e.offset.height())},n.exports=function(e){var t,n=i("#newarrivals .goods-container"),r=i(".loading a"),d=new a({index:1,isload:!1,offset:{height:function(){return parseFloat(n.offset().top)+parseFloat(n.height())-200}}}),l=e.url,c=e.count,u=e.rows;e.pageIndex=0,delete e.url,delete e.count,delete e.rows,t=function(e,t,a){var l={type:"POST",url:e,success:function(e){var i,l,c,u=e.code;200===u?(l=e.goods.length%a,c=e.goods.length-l-1,e.goods.splice(c,l),i=s.compile(d.tpl),n.append(i(e.goods)),t.pageIndex=t.pageIndex+e.goods.length,o(n.find("img.lazy")),d.emit()):(d.stop(),r.html("查看更多"))},error:function(){d.stop(),r.html("网络断开连接了~")}};l.data=t,i.ajax(l)},d.on("after",function(n){e.pageCount=c*u[1],t(l,e)}),d.on("before",function(n){d.tpl="{{#each this}}",d.tpl+='<div class="good-info imgopacity" data-skn="{{skn}}">',d.tpl+='    <div class="tag-container clearfix">',d.tpl+="        {{# tags}}",d.tpl+="            {{# isNew}}",d.tpl+='                <span class="good-tag new-tag">NEW</span>',d.tpl+="            {{/ isNew}}",d.tpl+="            {{# isReNew}}",d.tpl+='                <span class="good-tag renew-tag">再到着</span>',d.tpl+="            {{/ isReNew}}",d.tpl+="            {{# isSale}}",d.tpl+='                <span class="good-tag sale-tag">SALE</span>',d.tpl+="            {{/ isSale}}",d.tpl+="            {{# isNewFestival}}",d.tpl+='                <span class="good-tag new-festival-tag">新品节</span>',d.tpl+="            {{/ isNewFestival}}",d.tpl+="            {{# isLimit}}",d.tpl+='                <span class="good-tag limit-tag">限量商品</span>',d.tpl+="            {{/ isLimit}}",d.tpl+="            {{# isYearEndPromotion}}",d.tpl+='                <span class="good-tag yep-tag">年终大促</span>',d.tpl+="            {{/ isYearEndPromotion}}",d.tpl+="            {{# isYearMidPromotion}}",d.tpl+='                <span class="good-tag ymp-tag">年中热促</span>',d.tpl+="            {{/ isYearMidPromotion}}",d.tpl+="        {{/ tags}}",d.tpl+="    </div>",d.tpl+='    <div class="good-detail-img">',d.tpl+='        <a class="good-thumb" href="{{url}}" target= "_blank">',d.tpl+='            <img class="lazy" data-original="{{thumb}}">',d.tpl+="        </a>",d.tpl+="        {{# isFew}}",d.tpl+='            <p class="few-tag">即将售罄</p>',d.tpl+="        {{/ isFew}}",d.tpl+="        {{#if showColBtn}}",d.tpl+='            <span class="col-btn iconfont{{#if coled}} coled{{/if}}">&#xe616;</span>',d.tpl+="        {{/if}}",d.tpl+="    </div>",d.tpl+='    <div class="good-detail-text">',d.tpl+='        <a href="{{url}}" target= "_blank">{{name}}</a>',d.tpl+='        <p class="price">',d.tpl+='            <span class="sale-price{{#unless marketPrice}}prime-cost{{/unless}}">',d.tpl+="                ¥{{salePrice}}",d.tpl+="            </span>",d.tpl+="            {{# marketPrice}}",d.tpl+='                <span class="market-price">¥{{.}}</span>',d.tpl+="            {{/ marketPrice}}",d.tpl+="        </p>",d.tpl+="    </div>",d.tpl+="</div>",d.tpl+="{{/each}}",e.pageCount=c*u[0],t(l,e,e.count)}),d.init()}}),define("js/brand/index",["jquery","lazyload","handlebars","source-map","dot"],function(e,t,n){var a=e("jquery"),i=e("lazyload");e("js/common/slider"),e("js/brand/brands"),i(a("img.lazy")),a(".slide-container").slider({orient:!0})}),define("js/brand/brands",["jquery","handlebars","source-map","dot"],function(e,t,n){function a(e){var t=new RegExp("(^|&)"+e+"=([^&]*)(&|$)"),n=window.location.search.substr(1).match(t);return null!=n?window.unescape(n[2]):null}function i(e,t,n){var a,i=e,o={width:i.width(),left:i.offset().left,right:parseFloat(l(window).width())-parseFloat(i.offset().left)-parseFloat(i.width())},s=i.parent("li");p.find(".brands-dialog").remove(),a=c.compile(n),s.append(a(t)),u(s.find(".right")),o.right-350<0&&s.find(".brands-layer").addClass("brands-layer-right").css("left",-330-o.width)}function o(){v.unbind("mouseenter").unbind("mouseleave").hover(function(){var e=l(this),t=e.attr("data-key"),n={url:"/brands/brandinfo",type:"get",data:{brandId:t},success:function(t){200===t.code&&t.brand&&(j.hasOwnProperty(t.brand.key)||(j[t.brand.key]=t.brand),i(e,j[t.brand.key],S))}};clearTimeout(r),r=setTimeout(function(){j.hasOwnProperty(t)?i(e,j[t],S):l.ajax(n)},200)},function(){clearTimeout(r),p.find(".brands-dialog").remove()})}var s,r,d,l=e("jquery"),c=e("handlebars"),u=e("dot"),h=l(".brands-tabs"),p=l(".brands-list"),f=l(".brands-category"),m=l(".news-txt ul"),g=p.find("dl.clearfix"),v=p.find("li>a"),y=f.find("a"),b=h.find("li>a"),w=h.find(".hoverarr"),C=y.height(),_=y.offset()?y.offset().top:0,x=m.height(),k=m.offset()?m.offset().top:0,j={},S='<div class="brands-dialog">';S+='    <div class="brands-layer">',S+='        <div class="layer-content">',S+='            <div class="title">{{title}}</div>',S+='            <div class="clearfix desc">',S+='                <img src="{{icon}}">',S+='                <p class="right">{{content}}</p>',S+="            </div> ",S+='            <div class="featured">',S+="                <p>{{subtitle}}</p> ",S+='                <div class="clearfix"> ',S+="                    {{#each imgs}}",S+='                    <img src="{{src}}">',S+="                    {{/each}}",S+="                </div>",S+="            </div>",S+="        </div>",S+="    </div>",S+="</div>",u(l(".brand-desc")),l.easing.easeOutQuint=function(e,t,n,a,i){return a*((t=t/i-1)*t*t*t*t+1)+n},m.length&&m.find("li").each(function(){var e=l(this),t=e.offset().top-k+e.height();t>x&&e.hide()}),b.eq(0).parent("li").find(".brands-content").css("z-index","1"),d=a("id")?a("id"):0,s=b.eq(d),s.find(".g-mask").addClass("g-mask-on"),d&&s.length&&w.css({left:parseFloat(s.offset().left)-parseFloat(h.offset().left)}),b.hover(function(){var e=l(this);clearTimeout(r),r=setTimeout(function(){var t=parseFloat(e.offset().left)-parseFloat(h.offset().left);w.animate({left:t},200,"easeOutQuint")},50),h.find(".brands-content").removeAttr("style"),e.parent("li").find(".brands-content").css("z-index","1")},function(){clearTimeout(r)}),l(window).scroll(function(){l(this).scrollTop()>=_?f.addClass("category-fix"):f.removeClass("category-fix")}),y.click(function(){var e=l(this).attr("href").split("#")[1],t=p.find("[name="+e+"]").offset().top-C;return f.hasClass("category-fix")||(t-=C),l("html,body").animate({scrollTop:t},200),!1}),g.length<26&&l.ajax({url:"/brands/brandList",type:"POST",data:{start:g.length?g.length+1:1},success:function(e){e&&(p.append(e),v=p.find("li>a"),o())}}),o()}),define("js/passport/entry",["jquery","jquery.placeholder"],function(e,t,n){e("js/passport/reg"),e("js/passport/back"),e("js/passport/login"),e("js/passport/reset"),e("js/passport/vertification"),e("js/passport/thirdlogin"),e("js/passport/third-pwd"),e("js/passport/relate")}),define("js/passport/reg",["jquery","jquery.placeholder"],function(e,t,n){function a(){var e=new Date,t=m(".captcha-img"),n=t.attr("src").split("?")[0];t.attr("src",n+"?t="+e.getTime())}function i(e,t){var n,i;"reg"===e?(n="/passport/register/checkmobile",i={mobile:I.val(),area:L.text().split("+")[1]}):"third"===e&&(n="/passport/autouserinfo/bindCheck",i={mobile:I.val(),area:L.text().split("+")[1],openId:m("#open-id").val(),sourceType:m("#source-type").val()}),q[0].message="err",q[0].status=!1,m.ajax({url:n,type:"POST",data:i}).then(function(e){if(e){switch(e.code){case 200:I.val()!==B&&""!==B&&(a(),S.addClass("disable").attr("disabled","disabled"),q[1].message="图形验证码错误",q[1].status=!1),B=I.val(),q[0].message="",q[0].status=!0;break;case 400:a(),q[0].message=e.message,q[0].status=!1}t()}})}function o(e,t){var n;"reg"===e?n="/passport/register/piccaptcha":"third"===e&&(n="/passport/autouserinfo/checkPicCode"),m.ajax({type:"POST",url:n,data:{verifyCode:U.val()}}).then(function(e){if(e){switch(e.code){case 200:q[1].message="",q[1].status=!0;break;case 400:a(),q[1].message="图形验证码错误",q[1].status=!1}t()}})}function s(e,t){var n;"reg"===e?n="/passport/register/msgcaptcha":"third"===e&&(n="/passport/autouserinfo/checkBindMsg"),m.ajax({type:"POST",url:n,data:{code:E.val(),mobile:I.val(),area:L.text().split("+")[1]}}).then(function(e){if(e){switch(e.code){case 200:q[2].message="",q[2].status=!0;break;case 400:q[2].message="短信验证码错误",q[2].status=!1}t()}})}function r(e,t,n){var a,r=m.trim(t.val());t.hasClass("phone-num")?(a=L.text(),""===r?(q[0].message="请输入手机号码",q[0].status=!1,n()):!/^[0-9]+$/.test(r)||"+86"===a&&!g.phoneRegx[a].test(r)?(q[0].message="手机号码格式不正确,请重新输入",q[0].status=!1,n()):i(e,n)):t.hasClass("captcha")?""===r?(q[1].message="请输入图形验证码",q[1].status=!1,n()):r.length<=3?(q[1].message="图形验证码为4位",q[1].status=!1,n()):q[0].status?o(e,n):(q[1].message="图形验证码错误",q[1].status=!1,n()):t.hasClass("msg-captcha")?""===r?(q[2].message="请输入短信验证码",q[2].status=!1,n()):r.length<=3?(q[2].message="短信验证码错误",q[2].status=!1,n()):q[1].status?s(e,n):(q[2].message="短信验证码错误",q[2].status=!1,n()):t.hasClass("pwd")?(""===r?(q[3].message="请输入密码",q[3].status=!1):r.length<6||r.length>20?(q[3].message="密码只支持6-20位字符",q[3].status=!1):z.test(t.val())?(q[3].message="",q[3].status=!0):(q[3].message="密码须字母和数字组合",q[3].status=!1),n()):t.hasClass("repwd")&&(""===r?(q[4].message="请输入密码确认",q[4].status=!1):A.val()!==r?(q[4].message="与密码不一致,请重新输入",q[4].status=!1):(q[4].message="",q[4].status=!0),n())}function d(){var e=f.offset();return C.css({top:e.top-40,left:e.left})}function l(){var e,t=!1,n=q.length;for(e=0;e<n;e++)t||(q[e].message&&"err"!==q[e].message?(C.find("span").text(q[e].message),f=m("#"+q[e].id),d().removeClass("hide"),t=!0):C.addClass("hide"))}function c(){var e,t,n=q.length;for(t=0;t<n;t++)q[t].message?(e=m("#"+q[t].id),e.addClass("error")):(e=m("#"+q[t].id),e.removeClass("error"))}function u(e){var t=e.val(),n=v(t),a=0;switch(a=0===n?0:n<=10?1:n<=20?2:3){case 0:O.removeClass("red yellow green"),P.removeClass("color");break;case 1:O.addClass("red").removeClass("yellow green"),P.filter(".low").addClass("color"),P.filter(".mid,.high").removeClass("color");break;case 2:O.addClass("yellow").removeClass("red green"),P.filter(".low,.mid").addClass("color"),P.filter(".high").removeClass("color");break;case 3:O.addClass("green").removeClass("yellow red"),P.addClass("color")}""===t?w.removeClass("red yes no").addClass("default"):t.length<6||t.length>20?w.removeClass("default yes").addClass("no red"):w.removeClass("default no red").addClass("yes")}var h,p,f,m=e("jquery"),g=e("js/passport/mail-phone-regx"),v=e("js/passport/pwd-strength"),y=m(".register-page"),b=m("#pwd-tips"),w=b.find("#pwd-tip1"),C=m("#err-tip"),_=m("#register-btn"),x=m("#count-down"),k=m(".success-btn"),j=5,S=m("#send-captcha"),T=4,q=[],I=m("#phone-num"),E=m("#msg-captcha"),A=m("#pwd"),F=m("#repwd"),U=m("#captcha"),D=0,P=m(".pwd-intensity"),O=P.closest(".pwd-intensity-container"),L=m("#country-code"),N=m("#region"),$=!1,z=g.pwdValidateRegx,B="";e("jquery.placeholder"),setTimeout(function(){I.val(""),E.val(""),A.val(""),F.val(""),U.val("")},0),U.attr("maxlength",T),A.focus(function(e){b.removeClass("hide"),$=!0,p=m(this).val()}).blur(function(){b.addClass("hide"),$=!1}),m("[placeholder]").placeholder(),q=[{id:"phone-num",message:"",status:!1},{id:"captcha",message:"",status:!1},{id:"msg-captcha",message:"",status:!1},{id:"pwd",message:"",status:!1},{id:"repwd",message:"",status:!1}],m(window).resize(function(){C.hasClass("hide")||d()}),t.init=function(e){m("#agree-terms").click(function(){var e,t=m(this),n=0;if(t.attr("notchecked")){for(t.removeAttr("notchecked"),e=0;e<q.length;e++)q[e].status&&n++;4===n&&_.removeClass("disable").removeAttr("disabled")}else _.addClass("disable").attr("disabled","disabled"),t.attr("notchecked","notchecked")}),y.on("keydown",function(e){var t=e.which;13===t&&_.click()}),y.find(".va").keyup(function(){var t,n=0,a=q.length,i=m(this);r(e,m(this),function(){for(l(),c(),t=0;t<a;t++)q[t].status&&n++;4!==n||m("#agree-terms").attr("notchecked")?_.addClass("disable").attr("disabled","disabled"):_.removeClass("disable").removeAttr("disabled"),q[1].status&&D<=0?S.removeClass("disable").removeAttr("disabled"):S.addClass("disable").attr("disabled","disabled")}),i.hasClass("pwd")&&u(i)}).blur(function(){}),N.change(function(){L.text(m("#region").val()),r(e,I,l)}),S.click(function(){var t,n;m(this).hasClass("disable")||(D=60,m("#msg-tip").removeClass("hide"),S.addClass("disable").attr("disabled","disabled"),S.val("60秒可重新发送"),t=setInterval(function(){return D<=0?(S.removeClass("disable").removeAttr("disabled").val("获取短信验证码"),void clearInterval(t)):void S.val(D--+"秒可重新发送")},1e3),"reg"===e?n="/passport/register/sendBindMsg":"third"===e&&(n="/passport/autouserinfo/sendBindMsg"),m.ajax({type:"POST",url:n,data:{area:L.text().split("+")[1],mobile:I.val(),verifyCode:U.val()}}))}),m(".success-box").length<=0&&(A[0].onpaste=function(){return!1}),_.click(function(){var t;"reg"===e?t="/passport/register/mobileregister":"third"===e&&(t="/passport/autouserinfo/bindMobile"),m(this).hasClass("disable")||m.ajax({type:"POST",url:t,data:{area:L.text().split("+")[1],mobile:I.val(),verifyCode:U.val(),code:E.val(),password:A.val()}}).then(function(e){var t,n,a=0;200===e.code?(n=e.data.href,t=setTimeout(function(){a++},1e3),m.ajax({type:"GET",url:e.data.session}).then(function(e){200===e.code&&t<3&&(clearInterval(t),location.href=n)}),t>=3&&(clearInterval(t),location.href=n)):console.log("网络超时~")})}),m(".change-captcha").click(function(){a()}),m(".success-box").length>0&&(h=setInterval(function(){0===j&&(window.location.href=k.attr("data-url"),clearInterval(h)),x.text(j--)},1e3))}}),define("js/passport/mail-phone-regx",[],function(e,t,n){var a={"+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]{1}[0-9]{8}$/,"+81":/^0[9|8|7][0-9]{9}$/,"+61":/^[0-9]{11}$/},i=/^[.\-_a-zA-Z0-9]+@[\-_a-zA-Z0-9]+\.[a-zA-Z0-9]/,o=/^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{6,20}$/;t.phoneRegx=a,t.emailRegx=i,t.pwdValidateRegx=o}),define("js/passport/pwd-strength",[],function(e,t,n){function a(e,t){return e.charCodeAt(t)>=48&&e.charCodeAt(t)<=57?1:e.charCodeAt(t)>=97&&e.charCodeAt(t)<=122?2:e.charCodeAt(t)>=65&&e.charCodeAt(t)<=90?3:4}function i(e,t,n){var a=e.charCodeAt(0),i=t.charCodeAt(0);return a-i===0||4!==n&&(a-i===1||a-i===-1)}function o(e,t){return 0===t||e===t?0:4===e||4===t?2:1}function s(e){var t,n,s=0,r=e.length,d="",l=0,c=0;for(c=0;c<r;c++)t=e.charAt(c),n=a(e,c),l===n&&i(t,d,n)||(s+=n+o(n,l)),d=t,l=n;return s}n.exports=s}),define("js/passport/back",["jquery","jquery.placeholder"],function(e,t,n){function a(){var e=new Date,t=d("#captcha-img"),n=t.attr("src").split("?")[0];d("#captcha-img").attr("src",n+"?t="+e.getTime())}function i(){_&&x?y.removeClass("disable").prop("disabled",!1):y.addClass("disable").prop("disabled",!0)}function o(){return _&&x?void d.ajax({type:"POST",url:"/passport/back/authcode",data:{verifyCode:d.trim(m.val()),phoneNum:f.val(),area:p.val()}}).then(function(e){200===e.code?x=!0:402===e.code?(_=!1,x=!0,b.removeClass("hide").find("em").text("该账号不存在"),f.addClass("error")):400===e.code&&(x=!1,a()),i()}):void i()}function s(e){var t=!0,n="";return e=d.trim(e),""!==e?/^[0-9]+$/.test(e)?u[p.val()].test(e)?t=!0:(n="手机号码格式不正确, 请重新输入",t=!1):c.test(e)?t=!0:(n="邮箱格式不正确, 请重新输入",t=!1):(n="账户名不能为空",t=!1),_=t,o(),{pass:t,errTxt:n}}function r(){var e=d.trim(m.val());return""===e||e.length<C?(x=!1,void i()):(x=!0,void o())}var d=e("jquery"),l=e("js/passport/mail-phone-regx"),c=l.emailRegx,u=l.phoneRegx,h=e("js/passport/ac-email"),p=d("#country-code-hide"),f=d("#phone-num"),m=d("#captcha"),g=d("#country-code-list"),v=d("#country-code"),y=d("#find-btn"),b=d("#account-err"),w=d("#captcha-err"),C=4,_=!1,x=!1;e("jquery.placeholder"),h(f,function(){var e=s(f.val());e.pass?(b.addClass("hide"),f.removeClass("error")):(b.removeClass("hide").find("em").text(e.errTxt),f.addClass("error"))}),m.attr("maxlength",C),d("input").placeholder(),d("#change-captcha, #captcha-img").on("click",function(){a()}),v.on("click",function(e){e.stopPropagation(),"block"===g.css("style")?g.slideUp("fast"):g.slideDown("fast")}),g.delegate("li","click",function(e){var t,n=d(this),a=n.data("cc");e.stopPropagation(),p.val(a),v.find("em").html(n.text()),""!==d.trim(f.val())&&(t=s(f.val()),i(),_?(b.addClass("hide"),f.removeClass("error")):(b.removeClass("hide").text(t.errTxt),f.addClass("error"))),g.slideUp("fast")}),d(document).click(function(){"block"===g.css("display")&&g.slideUp()}),f.keyup(function(){s(d.trim(d(this).val()))}).focus(function(){d(this).removeClass("error"),b.addClass("hide")}),m.blur(function(){var e=""===d.trim(m.val())?"验证码不能为空":"验证码不正确";x?(w.addClass("hide"),m.removeClass("error")):(w.removeClass("hide").find("em").text(e),m.addClass("error"),m.val()<C&&a())}).focus(function(){d(this).removeClass("error"),w.addClass("hide")}).keyup(function(){r()}),d("#find-btn").click(function(e){if(/^[0-9]+$/.test(d.trim(f.val()))&&d("#find-form").attr("action","/passport/back/mobile"),!d(this).hasClass("disable"))return x&&_?void 0:(e.preventDefault(),!0)})}),define("js/passport/ac-email",["jquery"],function(e,t,n){var a,i=e("jquery"),o={num:["qq.com","163.com","126.com","sina.com","gmail.com","sohu.com","hotmail.com","139.com","189.com"],other:["gmail.com","qq.com","163.com","126.com","sina.com","sohu.com","hotmail.com","139.com","189.com"]};n.exports=function(e,t){var n,s='<ul id="email-autocomplete" class="email-autocomplete hide"></ul>';e.parent().append(s),n=i("#email-autocomplete"),e.on("keyup",function(){var e,t,a,s,r=i.trim(i(this).val()),d="";if(r.indexOf("@")>0){for(e=r.match(/^[0-9]+@(.*)/),e?(a=o.num,t=e[1]):(a=o.other,t=r.match(/@(.*)/)[1]),s=0;s<a.length;s++)a[s].indexOf(t)>-1&&(d+="<li>"+r.slice(0,r.indexOf("@"))+"@"+a[s]+"</li>");""!==d&&/.com$/.test(r)===!1?n.html(d).removeClass("hide"):n.html("").addClass("hide")}}).on("blur",function(){a=setTimeout(function(){n.addClass("hide"),t&&t()},200)}),n.on("click","li",function(){clearTimeout(a),e.val(i(this).text()).focus(),n.addClass("hide"),t&&t()})}}),define("js/passport/login",["jquery","jquery.placeholder"],function(e,t,n){function a(){var e,t=!1,n=c.trim(u.val()),a=y.val();return""!==n?/^[0-9]+$/.test(n)?"+86"!==a||_.phoneRegx[a].test(n)?t=!0:(t=!1,e="手机号码不正确,请重新输入"):_.emailRegx.test(n)?t=!0:(t=!1,e="邮箱格式不正确,请重新输入"):e="请输入账户名",t?(f.addClass("hide"),u.removeClass("error")):(f.removeClass("hide").children("em").text(e),u.addClass("error")),t}function i(){var e,t=!1,n=c.trim(h.val());return""!==n?n.length<6?e="请输入长度为6-20字符的密码":t=!0:e="请输入密码",t?(m.addClass("hide"),h.removeClass("error")):(m.removeClass("hide").children("em").text(e),h.addClass("error")),t}function o(){var e,t=!1,n=c.trim(p.val());return!!S.is(":hidden")||(""!==n?4!==n.length?e="请输入长度为4字符的验证码":t=!0:e="请输入验证码",t?(g.addClass("hide"),p.removeClass("error")):(g.removeClass("hide").children("em").text(e),p.addClass("error")),t)}function s(){var e=!0,t=c.trim(u.val()),n=c.trim(h.val());return""!==t?e=a()&&i()&&o():(e=!1,u.addClass("error"),""===n?(f.addClass("both-error").removeClass("hide").children("em").text("请输入账户名和密码"),m.addClass("hide"),h.addClass("error")):f.removeClass("hide").children("em").text("请输入账户名")),e}function r(){T.attr("src",j+c.now()),p.val(""),S.removeClass("hide")}function d(){var e=s();e&&I===!1&&(I=!0,c.ajax({url:"/passport/login/auth",type:"POST",data:{areaCode:y.val().replace("+",""),account:c.trim(u.val()),password:c.trim(h.val()),captcha:c.trim(p.val()),isRemember:!!k.hasClass("checked")},success:function(e){200===e.code?e.data&&(location.href=e.data.session):("captcha"===e.data.errorType?(g.removeClass("hide").children("em").html(e.message),p.addClass("error").val("")):(m.removeClass("hide").children("em").html(e.message),h.addClass("error").val("")),e.data&&e.data.needCaptcha&&r())},complete:function(){I=!1}}))}var l,c=e("jquery"),u=c("#account"),h=c("#password"),p=c("#captcha"),f=u.siblings(".err-tip"),m=h.siblings(".err-tip"),g=p.siblings(".err-tip"),v=c("#caps-lock"),y=c("#country-code-hide"),b=c("#country-code > em"),w=c("#country-list"),C=c("#email-autocomplete"),_=e("js/passport/mail-phone-regx"),x=e("js/passport/ac-email"),k=c(".remember-me"),j="/passport/images?t=",S=c(".captcha-wrap"),p=S.find("#captcha"),T=S.find("#captcha-img"),g=S.find(".err-tip"),q={checked:"&#xe612;",unchecked:"&#xe613;"},I=!1;e("jquery.placeholder"),x(u,function(){a()&&c.ajax({url:"/passport/login/account",type:"GET",data:{account:c.trim(u.val())}}).then(function(e){e.data&&e.data.needCaptcha&&r()})}),c("[placeholder]").placeholder(),c("#country-code").on("click",function(){"none"===w.css("display")&&w.slideDown()}),w.on("click","li",function(){var e=c(this),t=e.data("cc");b.html(e.html()),y.val(t),w.slideUp()}),c(document).on("click",function(e){c(e.target).closest("#country-code").length>0||"block"===w.css("display")&&w.slideUp()}),h.on("blur",function(){i(),v.hasClass("hide")||v.addClass("hide")}).on("keypress",function(e){var t=e.which;return t>=65&&t<=90?void v.removeClass("hide"):void v.addClass("hide")}),p.on("blur",function(){o()}),C.on("click","li",function(){clearTimeout(l),u.val(c(this).text()).focus(),C.addClass("hide")}),k.on("click",function(){var e=c(this);e.toggleClass("checked"),e.hasClass("checked")?e.children("i").html(q.checked):e.children("i").html(q.unchecked)}),c(".va").on("focus",function(){var e=c(this);e.removeClass("error"),e.siblings(".err-tip").addClass("hide")}),S.on("click",".change-captcha, .captcha-img",function(){T.attr("src",j+c.now())}),c("#login-btn").on("click",d),c("input.va").on("keypress",function(e){13===e.which&&d()}),""===u.val()&&u.val()!==u.attr("placeholder")||""!==h.val()||h.focus()}),define("js/passport/reset",["jquery","jquery.placeholder"],function(e,t,n){function a(e,t){return e.charCodeAt(t)>=48&&e.charCodeAt(t)<=57?1:e.charCodeAt(t)>=97&&e.charCodeAt(t)<=122?2:e.charCodeAt(t)>=65&&e.charCodeAt(t)<=90?3:4}function i(e,t,n){var a=e.charCodeAt(0),i=t.charCodeAt(0);return a-i===0||4!==n&&(a-i===1||a-i===-1)}function o(e,t){return 0===t||e===t?0:4===e||4===t?2:1}function s(e){var t,n,s=0,r=e.length,d="",l=0,c=0;for(c=0;c<r;c++)t=e.charAt(c),n=a(e,c),l===n&&i(t,d,n)||(s+=n+o(n,l)),d=t,l=n;return s}function r(){var e=l.val(),t=s(e),n=0;switch(n=0===t?0:t<=10?1:t<=20?2:3){case 0:v.removeClass("red yellow green"),g.removeClass("color");break;case 1:v.addClass("red").removeClass("yellow green"),g.filter(".low").addClass("color"),g.filter(".mid,.high").removeClass("color");break;case 2:v.addClass("yellow").removeClass("red green"),g.filter(".low,.mid").addClass("color"),g.filter(".high").removeClass("color");break;case 3:v.addClass("green").removeClass("yellow red"),g.addClass("color")}""===e?y.removeClass("red yes no").addClass("default"):e.length<6||e.length>20?y.removeClass("default yes").addClass("no red"):y.removeClass("default no red").addClass("yes"),m=!!b.test(e)}var d=e("jquery"),l=d("#pwd"),c=d("#re-input"),u=d("#reset-pwd-btn"),h=d("#pwd-err"),p=d("#repwd-err"),f=d("#pwd-tips"),m=!1,g=d(".pwd-intensity"),v=g.closest(".pwd-intensity-container"),y=d("#pwd-tip1"),b=e("js/passport/mail-phone-regx").pwdValidateRegx;e("jquery.placeholder"),d("input").placeholder(),d(".va").keyup(function(){var e=!0;d(this).hasClass("pwd")?r():""===d(this).val()&&(e=!1),e=!(!e||!m||l.val()!==c.val()),e?u.removeClass("disable").prop("disabled",!1):u.addClass("disable").prop("disabled",!0)}).blur(function(){var e=d(this),t=e.val();e.hasClass("pwd")?""===t?(e.addClass("error"),h.removeClass("hide").find("em").text("请输入密码")):t.length<6||t.length>20?(e.addClass("error"),h.removeClass("hide").find("em").text("密码只支持6-20位")):b.test(t)?(h.addClass("hide"),""!==c.val()&&(t!==c.val()?(c.addClass("error"),p.removeClass("hide").find("em").text("两次密码输入不一致,请重新输入")):(c.removeClass("error"),p.addClass("hide")))):(e.addClass("error"),h.removeClass("hide").find("em").text("密码须字母和数字组合")):""===t?(e.addClass("error"),p.removeClass("hide").find("em").text("请输入密码确认")):""!==l.val()&&t!==l.val()?(e.addClass("error"),p.removeClass("hide").find("em").text("两次密码输入不一致,请重新输入")):(e.removeClass("error"),p.addClass("hide"))}).focus(function(){d(this).removeClass("error"),d(this).hasClass("pwd")?h.addClass("hide"):p.addClass("hide")}),l.focus(function(){h.addClass("hide"),f.removeClass("hide")}).blur(function(){f.addClass("hide")}),d("#pwd, #repwd").keydown(function(e){var t=e.keyCode||e.which;if(32===t)return void e.preventDefault()})}),define("js/passport/vertification",["jquery"],function(e,t,n){var a,i,o=e("jquery"),s=o("#send-captcha"),r=o("#captcha-tip"),d=o("#err-tip"),l=o("#next-step");s.click(function(){o.post("/passport/back/sendbackmobile",{mobile:o("#mobile").val(),area:o("#area").val(),verifyCode:o("#captchaPic").val()},function(e){if(200===e.code){if(d.hide(),o(this).hasClass("disable"))return;a=60,s.addClass("disable").attr("disabled",!0),r.removeClass("hide"),s.val(a--+"秒后可重新操作"),i=setInterval(function(){0===a?(clearInterval(i),s.val("发送验证码").removeClass("disable").removeAttr("disabled")):s.val(a--+"秒后可重新操作")},1e3)}else o(this).addClass("error"),d.removeClass("hide").text("发送失败")})}),a=60,s.addClass("disable").attr("disabled",!0),r.removeClass("hide"),s.val(a--+"秒后可重新操作"),i=setInterval(function(){0===a?(clearInterval(i),s.val("发送验证码").removeClass("disable").removeAttr("disabled")):s.val(a--+"秒后可重新操作")},1e3),o("#captcha").keyup(function(){var e=o.trim(o(this).val()),t=this;4===e.length?o.ajax({
+type:"POST",url:"/passport/back/backmobile",dataType:"json",data:{code:o("#captcha").val(),verifyCode:o("#captchaPic").val(),area:o("#area").val(),mobile:o("#mobile").val()},success:function(e){200===e.code?(l.removeClass("disable").attr("href",e.data),d.addClass("hide"),o(t).removeClass("error")):(l.addClass("disable"),d.removeClass("hide").find("em").text("验证码输入错误"),o(t).addClass("error"))}}):l.addClass("disable").attr("href","javascript:;")}).blur(function(){var e=o.trim(o(this).val());""===e&&(o(this).addClass("error"),d.removeClass("hide").text("请输入验证码"))}).focus(function(){o(this).removeClass("error")})}),define("js/passport/thirdlogin",["jquery"],function(e,t,n){function a(){b(".choosetag").on("change",function(){var e="#f02200";"checked"===b(this).attr("checked")?b(".choosewrapper").css({"background-image":'url("'+S+'")'}):(b(".choosewrapper").css({"background-image":"none"}),e="#CCCCCC"),I.css({"background-color":e})})}function i(){return"checked"===b(".choosetag").attr("checked")}function o(){b(".optionshow").on("click",function(){b(".optionslist").toggleClass("hide")})}function s(){var e="";b(document).on("keyup","#validatenum",function(){e=b(this).val(),4===e.length&&(k||(k=!0,b.ajax({type:"POST",url:"/passport/autouserinfo/checkBindMsg",data:{code:e,mobile:b("#mobile").val(),area:b("#areacode").val()}}).then(function(e){k=!1,200===e.code?j=!0:alert(e.message)})))}),b("#validatenum").focus(function(){b(this).removeAttr("placeholder")}).blur(function(){b(this).attr("placeholder","验证码")})}function r(){b(".optionitem").on("click",function(){var e=b(this),t=e.attr("areanum"),n=e.text();b("#areaname").text(n),b("#areanum").text(t),b("#areacode").val(t),b(".optionslist").addClass("hide")})}function d(){b(document).on("click","body",function(e){var t=b(e.target);t.hasClass("yohoselectarea")||t.hasClass("areaname")||t.hasClass("righttag")||t.hasClass("optionslist")||t.hasClass("optionitem")||b(".optionslist").addClass("hide")})}function l(){var e="",t="";b(".optionitem").each(function(){e=b(this),t=e.attr("areanum").replace(/\+/g,""),e.attr("areanum",t)})}function c(){var e;b(document).on("click","#alreayregist",function(t){e=b(t.target),(e.hasClass("mask")||e.hasClass("backdrop"))&&(b("#alreayregist").hide(),b(".backdrop").hide())}),b(document).on("click","#bindconfirm",function(t){e=b(t.target),(e.hasClass("mask")||e.hasClass("backdrop"))&&(b("#bindconfirm").hide(),b(".backdrop").hide())})}function u(){b(document).on("click","#yohobindbtn",function(e){b(".phonenum").val(""),b("#bindconfirm").hide(),b(".backdrop").hide()}),b(document).on("click","#yohobindbtn2",function(e){b(".phonenum").val(""),b("#alreayregist").hide(),b(".backdrop").hide()})}function h(){return x-=1,x<0?(x=60,void b(".validatewrapper").html(_)):(b(".second").text(x),void window.setTimeout(h,1e3))}function p(e){b(".validatewrapper").html(C),window.setTimeout(h,1e3)}function f(){b(document).on("click","#sendmessage",function(){"disabled"!==b("#sendmessage").attr("disabled")&&(p(b("#mobile").val()),b.ajax({type:"POST",url:"/passport/autouserinfo/sendBindMsg",data:{mobile:b("#mobile").val(),area:b("#areacode").val()}}).then(function(e){200!==e.code&&alert(e.message)}))})}function m(){var e="",t="";t=b("#areacode").val(),e=b("#mobile").val(),b.ajax({type:"POST",url:"/passport/autouserinfo/bindMobile",data:{area:t,openId:b("#openId").val(),sourceType:b("#sourceType").val(),mobile:e,code:b("#validatenum").val()}}).then(function(e){200===e.code?e.data&&e.data.refer?window.location.href=e.data.refer:window.location.href="/passport/thirdlogin/bindsuccess":alert(e.message)})}function g(){b(document).on("click","#gotobindphone",function(){j===!0?(b("#inarea").val(b("#areacode").val()),b("#inmobile").val(b("#mobile").val()),m()):alert("请输入正确验证码")})}function v(){var e="",t="",n="",a="",o="",s="";b("#bindfirststep").on("click",function(r){var d;if(r.preventDefault(),n=b(".phonenum").val(),a=b("#areanum").text(),d=w["+"+a],i()){if(""===n||!d||!d.test(n))return q.find("em").text("手机格式错误"),void q.removeClass("hide");e=b("#openId").val()||"29803EC6D4AAC3AAB8ABDB6AE829D579",t=b("#sourceType").val()||"qq",b.ajax({type:"post",url:"/passport/autouserinfo/bindCheck",data:{mobile:n,area:a,openId:e,sourceType:t},dataType:"json",success:function(e){var t=b(window).height();200===e.code?(b("#bindmobileform").attr("action",e.data.next),b("#bindmobileform").submit()):201===e.code?(o=e.data.user.username,s=e.data.user.headImg,b("#registphone").text(n),b("#username").text(o),""===s?b("#userphoto").attr("src","//img10.static.yhbimg.com/headimg/2013/11/28/09/01cae078abe5fe320c88cdf4c220212688.gif?imageView/2/w/100/h/100"):b("#userphoto").attr("src",s),b("#logindirectly2").attr("href",e.data.user.bindLogin),b(".backdrop").show(),b("#sendmessage").click(),b("#alreayregist .mask").css({"padding-top":t>440?t/2:217}),b("#alreayregist").show()):203===e.code?(b("#bindmobileform").attr("action",e.data.next),b("#bindmobileform").submit()):205===e.code?(o=e.data.user.username,s=e.data.user.headImg,b("#registphonetwo").text(n),b("#username1").text(o),""===s?b("#userphoto1").attr("src","//img10.static.yhbimg.com/headimg/2013/11/28/09/01cae078abe5fe320c88cdf4c220212688.gif?imageView/2/w/100/h/100"):b("#userphoto1").attr("src",s),b("#logindirectly").attr("href",e.data.user.bindLogin),b(".backdrop").show(),b("#bindconfirm .mask").css({"padding-top":t>440?t/2:217}),b("#bindconfirm").show()):402===e.code?(q.find("em").text("手机格式错误"),q.removeClass("hide")):e&&e.message&&alert(e.message)}})}})}function y(){l(),f(),a(),r(),o(),d(),v(),c(),u(),g(),s()}var b=e("jquery"),w=e("js/passport/mail-phone-regx").phoneRegx,C=b("#nopermissionmessage").html(),_=b(".validatewrapper").html(),x=+b(".second").text(),k=!1,j=!1,S="//cdn.yoho.cn/yohobuy/assets/img/passport/choosed.png",T=b(".bindwrapper"),q=T.find(".phone-err-tip"),I=T.find(".yohobindbtn");T.on("keydown",".phonenum",function(e){if(13===e.keyCode)return I.trigger("click"),!1}),y()}),define("js/passport/third-pwd",["jquery"],function(e,t,n){function a(e,t){return e.charCodeAt(t)>=48&&e.charCodeAt(t)<=57?1:e.charCodeAt(t)>=97&&e.charCodeAt(t)<=122?2:e.charCodeAt(t)>=65&&e.charCodeAt(t)<=90?3:4}function i(e,t,n){var a=e.charCodeAt(0),i=t.charCodeAt(0);return a-i===0||4!==n&&(a-i===1||a-i===-1)}function o(e,t){return 0===t||e===t?0:4===e||4===t?2:1}function s(e){var t=0,n=e.length,s="",r=0,d=0,l="",c="";for(d;d<n;d++)l=e.charAt(d),c=a(e,d),r===c&&i(l,s,c)||(t+=c+o(c,r)),s=l,r=c;return t}function r(e,t){e.find("em").text(t),e.removeClass("hide")}function d(){return j-=1,j<0?(j=60,void C(".validatewrapper").html(T)):(C(".second").text(j),void window.setTimeout(d,1e3))}function l(){C(".validatewrapper").html(S),window.setTimeout(d,1e3)}function c(){C(document).on("click","#sendmessage",function(){l(),C.ajax({type:"POST",url:"/passport/autouserinfo/sendBindMsg",data:{mobile:P,area:O}}).then(function(e){200!==e.code&&alert(e.message)})})}function u(){var e="";C(document).on("keyup","#validatenum",function(){C("#err-info").hide(),e=C(this).val(),4===e.length&&(_||(_=!0,C.ajax({type:"POST",url:"/passport/autouserinfo/checkBindMsg",data:{code:e,mobile:P,area:O}}).then(function(e){_=!1,200!==e.code?C("#err-info").show():x=!0})))})}function h(){var e=v.val(),t=s(e),n=0;switch(n=0===t?0:t<=10?1:t<=20?2:3){case 0:y.removeClass("red yellow green"),w.removeClass("color");break;case 1:y.addClass("red").removeClass("yellow green"),w.filter(".low").addClass("color"),w.filter(".mid,.high").removeClass("color");break;case 2:y.addClass("yellow").removeClass("red green"),w.filter(".low,.mid").addClass("color"),w.filter(".high").removeClass("color");break;case 3:y.addClass("green").removeClass("yellow red"),w.addClass("color")}""===e?(k=!1,b.removeClass("red yes no").addClass("default")):(e.length<6||e.length>20?(k=!1,b.removeClass("default yes").addClass("no red")):(k=!0,b.removeClass("default no red").addClass("yes")),/^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]*$/.test(e)?F.removeClass("default no red").addClass("yes"):F.removeClass("default yes").addClass("no red"))}function p(){C(document).on("keyup",".pwdcontent",function(){h(C(this))}),C(document).on("focus",".pwdcontent",function(){C("#pwd-tips").removeClass("hide")}),C(document).on("blur",".pwdcontent",function(){C("#pwd-tips").addClass("hide")})}function f(){var e="",t="";q||(q=!0,setTimeout(function(){q=!1},5e4),e=C("#pwd").val(),t=C("#validatenum").val(),C.ajax({type:"POST",url:"/passport/autouserinfo/bindMobile",data:{area:O,openId:C("#openId").val(),sourceType:C("#sourceType").val(),mobile:P,password:e,code:t}}).then(function(e){q=!1,200===e.code?e.data&&e.data.refer?window.location.href=e.data.refer:window.location.href="/passport/thirdlogin/bindsuccess":alert(e.message)}))}function m(){var e="",t="";C("#confirmsubmit").on("click",function(){var n=!0;e=C("#validatenum").val(),t=C("#pwd").val(),""===e?(r(E,"短信验证码不能为空"),n=!1):x===!1&&(r(E,"请输入正确的验证码"),n=!1),""===t?(r(A,"密码不能为空"),n=!1):t.length<6||t.length>20?(r(A,"密码只支持6-20位字符"),n=!1):D.test(t)?k===!1&&(r(A,"请输入符合强度的密码"),n=!1):(r(A,"密码须由字母和数字组合"),n=!1),n&&f()})}function g(){v=C("#pwd"),y=C(".safelevel"),w=C(".pwd-intensity"),b=C("#pwd-tip1"),c(),u(),p(),m(),P&&O&&U.click()}var v,y,b,w,C=e("jquery"),_=!1,x=!1,k=!1,j="",S="",T="",q=!1,I=C(".bindwrapper"),E=I.find(".code-err-tip"),A=I.find(".pwd-err-tip"),F=C("#pwd-tip2"),U=C("#sendmessage"),D=e("js/passport/mail-phone-regx").pwdValidateRegx,P=C("#mobile").val(),O=C("#area").val();S=C("#nopermissionmessage").html(),T=C(".validatewrapper").html(),j=+C(".second").text(),g()}),define("js/passport/relate",["jquery"],function(e,t,n){function a(){f.init(),o.ajax({type:"POST",url:"/passport/autouserinfo/sendBindMsg",data:{mobile:p.mobile,area:p.area}}).then(function(e){e&&200!==e.code&&(f.clearTime(),alert(e.message))})}function i(){var e=l.val();e&&o.ajax({type:"POST",url:"/passport/autouserinfo/relateMobile",data:{mobile:p.mobile,area:p.area,openId:p.openid,sourceType:p.source,code:e}}).then(function(e){200===e.code?window.location.href=e.data.refer:402===e.code?u.removeClass("hide"):(u.addClass("hide"),alert(e.message))})}var o=e("jquery"),s=o("#relate-main"),r=o("#code-validate"),d=r.find(".validate-wrapper"),l=r.find(".msg-code"),c=r.find(".count-down span"),u=r.find(".code-error"),h=o("#hide-info"),p={},f={};p=h.data(),h.remove(),f={init:function(){this.timer&&window.clearTimeout(this.timer),this.second=60,d.addClass("waiting"),this.changeTime()},changeTime:function(){var e=this;this.second&&this.second>0?(c.text(this.second),this.second--,this.timer=window.setTimeout(function(){e.changeTime()},1e3)):this.clearTime()},clearTime:function(){this.timer&&window.clearTimeout(this.timer),d.removeClass("waiting")}},o("#next-step-btn").click(function(){a(),s.addClass("hide"),u.addClass("hide"),r.removeClass("hide")}),r.on("keydown",".msg-code",function(e){if(13===e.keyCode)return i(),!1}),r.on("click",".get-code",function(){a()}),r.on("click",".perv-step",function(){f.clearTime(),s.removeClass("hide"),r.addClass("hide"),l.val("")}),o("#relate-btn").click(function(){i()})}),define("js/cart/cart",["jquery","handlebars","source-map"],function(e,t,n){function a(e){z.ajax({type:"POST",dataType:"json",url:"/cart/index/select",data:e,beforeSend:function(){z(".loading").css({top:z(document).scrollTop()+200}),z(".loading").show()}}).then(function(e){200===e.code&&window.history.go(0)})}function i(e,t){te=[],k={},w=e.attr("checked")?"Y":"N",z("."+t).each(function(){oe=!!z(this).data("promotionid"),z(this).data("id")&&te.push({product_sku:z(this).data("id"),selected:w,buy_number:z(this).data("productnum"),goods_type:z(this).data("goodstype"),promotion_id:z(this).data("promotionid")?z(this).data("promotionid"):0})}),k={skuList:JSON.stringify(te),hasPromotion:oe},a(k)}function o(e,t,n){z.ajax({type:"GET",dataType:"json",url:t,data:n}).then(function(t){200===t.code&&t.data.item&&t.data.item.length>0&&(e.html(" "),m=f(t.data),e.append(z(m)),z("#orderProduct li:last").addClass("end"),z(".gift").removeClass("none"))})}function s(e){z.ajax({type:"GET",dataType:"html",url:"/cart/index/getProductInfo",data:e}).then(function(e){K=0,Q.html(" "),Q.append(e),Q.show(),z(".detail-bigpic:not(.none) .con li:first").addClass("active"),z(".showSizeBox:not(.none) span").length<2&&z(".showSizeBox:not(.none) span:first").addClass("atcive"),1!==Number(z("#addToCart").val())&&z(".showSizeBox span").data("num",0),z.each(z(".showSizeBox span"),function(){z(this).data("num")<=0&&(z(this).addClass("null-atcivec"),console.log(z(".showSizeBox:not(.none) span:first")),z(".showSizeBox:not(.none) span:first").removeClass("atcive"))}),"undefined"!=typeof q&&(N=z(".detail-info .oldprice del").html()?z(".detail-info .oldprice del").html():$,O='<span class="oldprice">现价:<del>'+N+'</del></span><span class="newprice">活动价:<b class="promotion-price">'+q+"</b></span>",z(".detail-info .price").html(O)),z(".detail-bigpic:not(.none) .bigpic:gt(0)").hide(),z(".showSizeBox:not(.none)").find("span").each(function(){return z(this).hasClass("null-atcivec")?(z(".addcart").addClass("none"),void z(".btn_sellout").removeClass("none")):(z(".addcart").removeClass("none"),z(".btn_sellout").addClass("none"),!1)})})}function r(){Q.html(" "),Q.css({top:z(document).scrollTop()+30,left:z(document).width()/2-Q.width()/2})}function d(e){e.addClass("none").siblings("i").removeClass("none"),e.parents(".cart-product-num").siblings("div").toggleClass("fold"),e.siblings(".unfold-color").toggleClass("none"),e.siblings(".cart-page").toggleClass("none")}function l(e,t,n){z.ajax({type:"POST",dataType:"json",url:t,data:k,beforeSend:function(){z(".loading").css({top:z(document).scrollTop()+200}),z(".loading").show()}}).then(function(e){200===e.code?(n&&window.setCookie("cart-del-list",JSON.stringify(n),{domain:".yohobuy.com",path:"/"}),window.history.go(0)):300===e.code?(z(".loading").hide(),new W(e.message).show()):403===e.code&&e.data.url&&(window.location=e.data.url)})}function c(e){se=!0,z.ajax({type:"POST",dataType:"json",url:"/cart/index/modify",data:e}).then(function(e){200===e.code&&window.history.go(0),se=!1})}function u(e,t){z.ajax({type:"POST",url:"/cart/index/add",data:e}).then(function(e){200===e.code?(window.history.go(0),t&&window.setCookie("cart-del-list",JSON.stringify(t),{domain:".yohobuy.com",path:"/"})):500===e.code&&new W(e.message).show()})}function h(){z(".gift-wrapper .fold").show(),z(".pre-sell-box input:checked").length===z('.pre-sell-box input[type="checkbox"]').length&&z('.per-list input[type="checkbox"]').attr("checked",!0),z(".common-sell-box input:checked").length===z('.common-sell-box input[type="checkbox"]').length&&z('.common-list input[type="checkbox"]').attr("checked",!0),z('.common-list input[type="checkbox"]').attr("checked")&&(ie=!0),z('.per-list input[type="checkbox"]').attr("checked")&&(ae=!0),0!==z(".per-list").length&&0!==z(".common-list").length?ie&&ae&&z('.batch_div input[type="checkbox"]').attr("checked",!0):(ie||ae)&&z('.batch_div input[type="checkbox"]').attr("checked",!0),z(".cart-page").each(function(){1===z(this).data("pageall")?(z(".cart-btn-pre",this).hide(),z(".cart-btn-next",this).hide()):z(".cart-btn-pre",this).hide()}),z(".pre-sell-box input:checked").length>0&&z(".common-sell-box input:checked").length>0?(z(".go_cash_tips").show(),z(".btn_account_disabled").show(),z(".btn_account").hide()):(z(".go_cash_tips").hide(),z(".btn_account").show(),z(".btn_account_disabled").hide()),z(".pay-wapper tr").each(function(){z(this).data("pid")&&te.push(z(this).data("pid")+"")}),z.ajax({type:"POST",url:"/cart/index/checkFav",data:{pidList:JSON.stringify(te)}}).then(function(e){I='<span class="cart-yetremove-btn">已收藏</span>',E='<a href="javascript:void(0);" class="cart-remove-btn"><span>移入收藏</span></a>',z.each(e.data,function(e,t,n){z(".pay-wapper tr").each(function(){Number(z(this).data("pid"))===Number(e)&&(t?z(this).find(".cart-operation").append(I):z(this).find(".cart-operation").append(E))})})})}var p,f,m,g,v,y,b,w,C,_,x,k,j,S,T,q,I,E,A,F,U,D,P,O,L,N,$,z=e("jquery"),B=e("handlebars"),R=e("js/common/dialog"),M=R.Confirm,W=R.Alert,H=z(".cartnew-sum"),G=z(".cartnew-tips"),Y=z(".pay-wapper"),Q=z(".goods-detail"),X=z(".histroy"),V=z(".together"),Z=z(".shop-cart"),J=1,K=0,ee=1,te=[],ne=[],ae=!1,ie=!1,oe=!1,se=!1;G.find(".btn_close").click(function(){G.fadeOut()}),Y.one("click",'.common-sell-box input[type="checkbox"], .pre-sell-box input[type="checkbox"]',function(){w=z(this).attr("checked")?"Y":"N",te=[],te.push({product_sku:z(this).parents("tr").data("id"),selected:w,buy_number:z(this).parents("tr").data("productnum"),goods_type:z(this).parents("tr").data("goodstype"),promotion_id:z(this).parents("tr").data("promotionid")?z(this).parents("tr").data("promotionid"):0}),oe=!!z(this).parents("tr").promotion_id,k={skuList:JSON.stringify(te),hasPromotion:oe},a(k)}),H.one("click",'input[type="checkbox"]',function(){te=[],L={},k={},w=z(this).attr("checked")?"Y":"N",z(".pay-wapper:first tr").each(function(){z(this).data("promotionid")&&(oe=!0),z(this).data("id")&&te.push({product_sku:z(this).data("id"),selected:w,buy_number:z(this).data("productnum"),goods_type:z(this).data("goodstype"),promotion_id:z(this).data("promotionid")?z(this).data("promotionid"):0})}),k={skuList:JSON.stringify(te),hasPromotion:oe},a(k)}),z(".per-list").on("click",'input[type="checkbox"]',function(){i(z(this),"pre-sell-box")}),z(".common-list").on("click",'input[type="checkbox"]',function(){i(z(this),"common-sell-box")}),p=z("#togetherProduct").html(),f=B.compile(p),o(X,"/cart/index/getHistroyProduct"),o(V,"/cart/index/getTogetherProduct"),V.on("click",".pagenext, .pageprev",function(){o(V,"/cart/index/getTogetherProduct",{page:Math.ceil(100*Math.random())+1})}),Z.on("click",".icon-minus, .icon-add",function(){z(this).hasClass("icon-minus")?(z(this).parents(".title").next(".main").hide(),z(this).parents("h2").next(".right").hide()):(z(this).parents(".title").next(".main").show(),z(this).parents("h2").next(".right").show()),z(this).siblings("i").toggleClass("none"),z(this).toggleClass("none")}),X.on("click",".pagenext, .pageprev",function(){z(this).hasClass("pagenext")?J++:--J>0||(J=1),o(X,"/cart/index/getHistroyProduct",{page:J})}),Y.on("click",".cart-add-btn",function(){F=z(this).data("id"),T=z(this).parents("table").data("promotion"),q=z(this).parents("table").find(".subjoin-price").html(),$=z(this).parents("table").find(".wapper-price").html(),r(),s({productId:F})}),z(".clearfix").on("click",".btn_view_s",function(){F=z(this).data("id"),T=z(this).parents("table").data("promotion"),q=z(this).parents("table").find(".subjoin-price").html(),r(),s({productId:F})}),Q.on("click",".colse",function(){Q.hide(),Q.html(" "),ee=1}),Y.on("click",".icon-minusCart, .icon-addCart",function(){d(z(this))}),Y.on("click",".unfold-color",function(){d(z(this)),z(this).siblings(".icon-minusCart").removeClass("none"),z(this).siblings(".icon-addCart").addClass("none")}),Y.on("click",".cart-btn-next",function(){g=z(this).siblings("p").find(".f-red"),y=Number(z(this).siblings("p").find(".subjoinPageNum").html()),v=Number(g.html()),g.html(v+1),v>=y-1?z(this).hide():z(this).siblings("i").show(),b=z(this).parents(".cart-product-num").siblings("div").find("table"),b.addClass("none").eq(v).removeClass("none")}),Y.on("click",".cart-btn-pre",function(){g=z(this).siblings("p").find(".f-red"),y=Number(z(this).siblings("p").find(".subjoinPageNum").html()),v=Number(g.html()),g.html(v-1),v<=2?z(this).hide():z(this).siblings("i").show(),b=z(this).parents(".cart-product-num").siblings("div").find("table"),b.addClass("none").eq(v-2).removeClass("none")}),Q.on("click",".fav_count",function(){z.ajax({type:"POST",dataType:"json",url:"/product/item/togglecollect",data:{productId:F,type:"add"}}).then(function(e){200===e.code?new W(e.message).show():403===e.code?e.data.url&&(window.location=e.data.url):new W(e.message).show()})}),Y.on("click",".cart-del-btn",function(){k={},te=[],T=z(this).parents("tr").data("promotionid")?z(this).parents("tr").data("promotionid"):0,te.push({product_sku:z(this).parents("tr").data("id"),buy_number:z(this).parents("tr").data("productnum"),promotion_id:T}),oe=!!T,k={skuList:JSON.stringify(te),hasPromotion:oe},A="<div><span></span>删除商品</div><p>确定从购物车中删除此商品?</p>",z(this).data("gift")||(x={productPrice:z(this).parents("tr").find(".productPrice").text(),productTitle:z(this).parents("tr").find(".pay-pro-info a").text(),link:z(this).parents("tr").find(".pay-pro-info a").attr("href"),productNum:z(this).parents("tr").data("productnum"),productSku:z(this).parents("tr").data("id"),promotionId:z(this).parents("tr").data("promotionid")}),C="/cart/index/remove",new M({content:A,cb:function(){l(k,C,x)}}).show()}),Y.on("click",".cart-remove-btn",function(){k={},te=[],T=z(this).parents("tr").data("promotionid")?z(this).parents("tr").data("promotionid"):0,te.push({product_sku:z(this).parents("tr").data("id"),buy_number:z(this).parents("tr").data("productnum"),promotion_id:T}),oe=!!T,k={skuList:JSON.stringify(te),hasPromotion:oe},l(k,"/cart/index/fav")}),H.on("click",".delAll",function(){k={},x={},te=[],ne=[],z(".pay-wapper:first tr").each(function(){z(this).find('input[type="checkbox"]').attr("checked")&&(T=z(this).data("promotionid")?z(this).data("promotionid"):0,T&&(oe=!0),z(this).data("id")&&(z(this).find('input[type="checkbox"]').attr("checked")&&te.push({product_sku:z(this).data("id"),buy_number:z(this).data("productnum"),promotion_id:T}),x={productPrice:z(this).find(".productPrice").text(),productTitle:z(this).find(".pay-pro-info a").text(),link:z(this).find(".pay-pro-info a").attr("href"),productNum:z(this).data("productnum"),productSku:z(this).data("id"),promotionId:z(this).data("promotionid")},ne.push(x)))}),C="/cart/index/remove",A="<div><span></span>删除商品</div><p>确定从购物车中删除所有选中商品?</p>",k={skuList:JSON.stringify(te),hasPromotion:oe},z.isEmptyObject(te)?new W("请至少选择一件商品").show():new M({content:A,cb:function(){l(k,C,ne)}}).show()}),H.on("click",".removeAll",function(){k={},x={},te=[],z(".pay-wapper:first tr").each(function(){z(this).find('input[type="checkbox"]').attr("checked")&&(T=z(this).data("promotionid")?z(this).data("promotionid"):0,T&&(oe=!0),z(this).data("id")&&z(this).find('input[type="checkbox"]').attr("checked")&&te.push({product_sku:z(this).data("id"),buy_number:z(this).data("productnum"),promotion_id:T}))}),k={skuList:JSON.stringify(te),hasPromotion:oe},z.isEmptyObject(te)?new W("请至少选择一件商品").show():l(k,"/cart/index/fav")}),Y.on("click",".minus, .plus",function(){return x={},_=z(this).hasClass("minus")?"decreaseNum":"increaseNum",x[""+_]=1,!(se||"1"===z(this).siblings("input").val()&&z(this).hasClass("minus"))&&void c(z.extend(x,{sku:z(this).parents("tr").data("id")}))}),z(".gift").on("click",".up, .down",function(){z(this).siblings("i").toggleClass("none"),z(this).toggleClass("none")}),Q.on("click",".addcart",function(){return 0===z(".showSizeBox:not(.none) .atcive").length?(new W("请选择尺码").show(),!1):(j=z(".showSizeBox:not(.none) .atcive").data("num"),S=z(".showSizeBox:not(.none) .atcive").data("sku"),k={productSku:S,buyNumber:z("#mnum").val(),promotionId:T},void(z("#mnum").val()>j?new W("库存不足,目前还有"+j+"个库存").show():1===Number(z("#addToCart").val())?u(k):new W("该商品无法加入购物车").show()))}),Q.on("click",".cut, .add",function(){if(_=z(this).hasClass("minus")?"decreaseNum":"increaseNum",T)z(this).hasClass("cut")?new W("-_-,已经是最后一件,不能在减了!").show():new W("最多只能购买1,您好像购买的太多了!").show();else{if(z(this).hasClass("add")?ee++:ee--,ee<1)return new W("-_-,已经是最后一件,不能在减了!").show(),ee=1,!1;z("#mnum").val(ee)}}),Q.on("click",".color",function(){K=0,z(".color").find("p").removeClass("atcive"),z(this).find("p").addClass("atcive"),z(".showSizeBox").addClass("none").eq(z(this).index()).removeClass("none"),z(".showSizeBox:not(.none) span").length<2&&z(".showSizeBox:not(.none) span:first").addClass("atcive"),z(".detail-bigpic").addClass("none").eq(z(this).index()).removeClass("none"),z(".detail-bigpic").eq(z(this).index()).find(".bigpic").hide(),z(".detail-bigpic").eq(z(this).index()).find(".bigpic:first").show(),z(".detail-bigpic").eq(z(this).index()).find(".con li").removeClass("active"),z(".detail-bigpic").eq(z(this).index()).find(".con li:first").addClass("active"),z(".showSizeBox").eq(z(this).index()).find("span").each(function(){return z(this).hasClass("null-atcivec")?(z(".addcart").addClass("none"),void z(".btn_sellout").removeClass("none")):(z(".addcart").removeClass("none"),z(".btn_sellout").addClass("none"),!1)})}),Q.on("click",".showSizeBox span",function(){j=z(this).data("num"),z(this).data("num")>0?(z(".showSizeBox:not(.none) span").removeClass("atcivec atcive").eq(z(this).index()).addClass("atcive"),z(".addcart").removeClass("none"),z(".btn_sellout").addClass("none")):(z(".showSizeBox:not(.none) span").removeClass("atcivec atcive").eq(z(this).index()).addClass("atcivec"),z(".addcart").addClass("none"),z(".btn_sellout").removeClass("none"))}),z(".goBack").on("click",function(){k={},D=z(".dev-revocation .goBack").index(this),te=[],z(".dev-revocation tr").each(function(e){D!==e&&(x={productPrice:z(this).find(".productPrice").text(),productTitle:z(this).find(".title").text(),link:z(this).find(".title").attr("href"),productNum:z(this).data("productnum"),productSku:z(this).data("productsku"),promotionId:z(this).data("promotionid")},te.push(x))}),k={productSku:z(this).parents("tr").data("productsku"),promotionId:z(this).parents("tr").data("promotionid"),buyNumber:z(this).parents("tr").data("productnum")},u(k,te)}),Q.on("click",".piclist li",function(){K=z(this).index(),z(".detail-bigpic:not(.none) .piclist li").removeClass("active"),z(this).addClass("active"),z(".detail-bigpic:not(.none) .bigpic").hide().eq(z(this).index()).show()}),h(),Q.on("click",".pre, .next",function(){if(z(this).hasClass("next")){if(K>=z(this).siblings(".con").find("li").length-1)return!1;K++}else{if(K<1)return!1;K--}z(this).siblings(".con").find("li").removeClass("active").eq(K).addClass("active"),z(".detail-bigpic:not(.none) .bigpic").hide().eq(K).show()}),z(".btn_account").on("click",function(){P="",z(".pay-wapper input:checked").parents("tr").find(".tipNoStore").length>0?(U=z(".pay-wapper input:checked").parents("tr").find(".tipNoStore"),z.each(U.parents("tr").find(".pay-pro-info a"),function(){P+=z(this).html()}),new W(P+"库存不足").show()):z(".zp").length>0&&!z(this).attr("title")?(z(this).attr("title","1"),new W("您有赠品没有选择,请选择完再结算!").show()):z("input:checked").length>0?z(".pre-sell-box input:checked").length>0?window.location.href="/cart/index/orderEnsure?type=2":window.location.href="/cart/index/orderEnsure?type=1":new W("请至少选择一件商品").show()}),Y.on("selectstart",function(){return!1}),Q.on("selectstart",function(){return!1})}),define("js/guang/entry",["jquery","lazyload","dot","jquery-pjax"],function(e,t,n){e("js/guang/list"),e("js/guang/detail"),e("js/guang/index")}),define("js/guang/list",["jquery","lazyload","dot"],function(e,t,n){e("js/guang/msg"),e("js/guang/img-blink"),e("js/guang/right-side")}),define("js/guang/msg",["jquery","lazyload","dot"],function(e,t,n){function a(){o(".msg-title, .msg-content .content").dotdotdot({wrap:"letter"}),s(o("#msg-list img.lazy"))}var i,o=e("jquery"),s=e("lazyload");e("dot"),o(".guang-page").on("click",".like-icon",function(){var e,t=o(this),n=t.closest(".msg-content").data("id");i!==n&&(i=n,t.toggleClass("liked"),e=t.hasClass("liked")?"/guang/info/praise":"/guang/info/cancelPraise",o.ajax({type:"GET",url:e,data:{id:n,time:(new Date).getTime()}}).then(function(e){200===e.code&&(1*e.data===0?t.next("b").addClass("num-0").children(".num").html("0"):t.next("b").removeClass("num-0").children(".num").html(e.data)),i=!1}))}).on("mouseenter mouseleave",".like-icon",function(){o(this).closest(".like").toggleClass("hover")}),a(),t.dotLazy=a}),define("js/guang/img-blink",["jquery"],function(e,t,n){var a=e("jquery");a(".guang-page").on("mouseover","a img, a .bg-img",function(e){var t=a(e.target);t.closest(".slider").length>0||(t.addClass("blink"),setTimeout(function(){t.removeClass("blink")},100))})}),define("js/guang/right-side",["jquery","lazyload","dot"],function(e,t,n){var a=e("jquery"),i=e("lazyload");e("dot"),a(".ex-reco-context").dotdotdot({wrap:"letter"}),i(a(".ads img.lazy"))}),define("js/guang/detail",["jquery","lazyload","dot","jquery-pjax"],function(e,t,n){function a(){var e=o(".comments-list").find("li").length;0===e?(o(".commnets-resultwrapper").hide(),o(".comments-empty").show()):(o(".commnets-resultwrapper").show(),o(".comments-empty").hide())}function i(e){var t=o("#comment-info").val();return""===t?(alert("评论不能为空"),!1):(u=!0,void o.ajax({url:"/guang/info/comment",data:{id:e,comment:t},type:"post",success:function(e){switch(e.code){case 401:h=!0,location.href="//www.yohobuy.com/signin.html?refer="+window.escape(location.href+"#comment-info");break;case 400:alert(e.message);break;case 200:e.data&&(l.html(e.data.content),c.html(e.data.count),a(),o("#comment-info").val("").keyup())}u=!1}}))}var o=e("jquery"),s=e("lazyload"),r=o("#comment-area"),d=o(".detail-body").data("id"),l=r.find(".comments-wrap"),c=o("#article-comment > .comment-num"),u=!1,h=!1,p=o("#comment-btn"),f=100,m=o("#word-count-tip");e("js/guang/right-side"),e("js/guang/img-blink"),e("js/common/share"),e("jquery-pjax"),s({failure_limit:50}),o("#prise-btn").click(function(){var e,t=!1,n=o(this);t||(n.toggleClass("liked"),e=n.hasClass("liked")?"/guang/info/praise":"/guang/info/cancelPraise",t=!0,o.ajax({type:"GET",url:e,data:{id:d}}).then(function(e){200===e.code&&n.find(".like-num").html(e.data),t=!1}))}).bind("mouseenter mouseleave",function(){o(this).toggleClass("hover")}),o("#collect-btn").click(function(){var e,t,n=!1,a=o(this);n||(a.hasClass("collected")?(e="/guang/info/cancelcollect",t=0):(e="/guang/info/collect",t=1),n=!0,o.ajax({type:"GET",url:e,data:{id:d}}).then(function(e){var i;switch(e.code){case 401:i=/\?col=(1|0)/.test(location.href)?location.href.replace(/\?col=(1|0)/,"?col="+t):location.href+"?col="+t,location.href="//www.yohobuy.com/signin.html?refer="+encodeURI(i);break;case 400:break;case 200:/\?col=(1|0)/.test(location.href)?location.href=location.href.replace(/\?col=(1|0)/,""):a.toggleClass("collected")}n=!1}))}).bind("mouseenter mouseleave",function(){o(this).toggleClass("hover")}),a(),p.click(function(e){return!h&&!u&&void(o("#comment-info").val().length-f>0||(e.preventDefault(),i(d)))}),o(document).pjax(".comment-pager a","#pjax-container",{timeout:5e3}),o(document).on("pjax:end",function(){a(),o("html,body").scrollTop(o("#comment-info").offset().top)}),o("#comment-info").keyup(function(){var e,t=o(this).val().length;0===t?(m.html(""),p.addClass("disable")):t-f<=0?(e="还可以输入"+(f-t)+"字",p.removeClass("disable")):(e='已超过<span class="exceed-count">'+(t-f)+"</span>字",p.addClass("disable")),m.html(e)}),o("#comment-info").trigger("keyup")}),define("js/guang/index",["jquery","lazyload","dot","jquery-pjax"],function(e,t,n){var a=e("jquery"),i=e("js/guang/msg");e("jquery-pjax"),e("js/common/slider"),e("js/guang/img-blink"),e("js/guang/right-side"),a("#slider").slider(),a(document).pjax(".pjax-link, .msg-pager a","#pjax-container",{timeout:2e3}),a(document).on("pjax:end",function(){i.dotLazy()})}),define("js/home/entry",["jquery","handlebars","source-map","dot"],function(e,t,n){e("js/home/index"),e("js/home/orders"),e("js/home/favorite"),e("js/home/currency"),e("js/home/returns"),e("js/home/comment"),e("js/home/complaints"),e("js/home/message"),e("js/home/edit"),e("js/home/gift"),e("js/home/validate"),e("js/home/address"),e("js/home/common-address")}),define("js/home/index",["jquery","handlebars","source-map"],function(e,t,n){var a=e("jquery");e("js/home/order-block"),a("#close-message").click(function(){a(".message-tip").slideUp(200)}),function(){var e=a(".na-pager"),t=a(".new-arrival ul"),n=Math.ceil(t.children("li").length/5),i=t.children("li:last-child").outerWidth(),o=1;t.width(t.width()*n),e.click(function(){var e,s=a(this);s.hasClass("next")?(++o,2===o&&s.siblings().removeClass("no-visible"),o===n&&s.addClass("no-visible")):(--o,
+o===n-1&&s.siblings().removeClass("no-visible"),1===o&&s.addClass("no-visible")),e=-5*(o-1)*i,t.animate({marginLeft:e},400)})}()}),define("js/home/order-block",["jquery","handlebars","source-map"],function(e,t,n){function a(e){var t={mask:!1,btns:[{id:"cancel-sure",name:"确定并取消订单",btnClass:["cancel-sure"],cb:function(){var t=x(".cancel-dialog :checked"),n=x(".cancel-dialog .cancel-tip");return 0===t.length?void n.html("请选择要取消订单的原因"):void x.ajax({type:"POST",url:"/home/orders/cancelorder",data:{orderCode:e,reason:t.val()}}).then(function(e){200===e.code?(h.close(),history.go(0)):n.html(e.message)})}},{id:"cancel-no",name:"取消",btnClass:["cancel-no"],cb:function(){h.close()}}],content:E,className:"cancel-dialog"};return new S(t)}function i(e,t,n,a){var i=k.compile(A),o=i({messageIcon:e,messageTitle:t,messageSummary:n}),s={mask:!0,btns:[{id:"message-sure",name:"确定",btnClass:["message-sure"],cb:function(){h.close(),a&&a()}}],content:o,className:"message-dialog"};return new S(s)}function o(e){var t={mask:!0,btns:[{id:"edit-sure",name:"确定",btnClass:["edit-sure"],cb:function(){c(e)}},{id:"edit-no",name:"取消",btnClass:["edit-no"],cb:function(){h.close()}}],content:F.html(),className:"edit-order-dialog"};return new S(t)}function s(e,t){var n=!0,a=x(t).parents(".order"),i=n?"您确定要永久删除订单吗?":"您确定要删除订单吗?",o=n?"永久删除后,订单将无法恢复,您将无法对该订单的商品申请售后服务,请谨慎操作。":"删除后,您可以在订单回收站找回该订单,也可以做永久删除。",s=k.compile(I),r=s({deleteMessage:i,deleteTip:o}),d={mask:!1,btns:[{id:"delete-sure",name:"确定",btnClass:["delete-sure"],cb:function(){x.ajax({type:"POST",url:"/home/orders/delOrder",data:{orderCode:e,isFullyDelete:n}}).then(function(e){200===e.code?(h.close(),a.remove(),location.reload()):(h.close(),new j.Alert(e.message).show())})}},{id:"delete-no",name:"取消",btnClass:["delete-no"],cb:function(){h.close()}}],content:r,className:"delete-dialog"};return new S(d)}function r(e){var t,n,a=e||0,i=/[0-9]{2}/gi;p=x(".edit-order-dialog"),f=p.find('select[name="province"]'),m=p.find('select[name="city"]'),g=p.find('select[name="county"]'),v=p.find('select[name="province"],select[name="city"]'),y=p.find('.inp[name="name"]'),b=p.find('.inp[name="phone"]'),w=p.find('.inp[name="address"]'),C=p.find('.inp[name="tel-code"]'),_=p.find('.inp[name="tel"]');var o=u();t=f.data("areacode")+"",n=!!t&&t.match(i),d({id:a,type:"getProvince",selectId:n[0]},function(){var e=f.val();"0"!==e?(U=!0,d({id:e,type:"getCity",selectId:""+n[0]+n[1]},function(){var e=m.val();"0"!==e&&d({id:e,type:"getCounty",selectId:t})})):(p.find('select[name="city"]').html('<option value="0">请选择城市</option>'),p.find('select[name="county"]').html('<option value="0">请选择区县</option>'))}),v.change(function(){var e=x(this);"province"===e.attr("name")&&("0"===e.val()?(p.find('select[name="city"]').html('<option value="0">请选择城市</option>'),p.find('select[name="county"]').html('<option value="0">请选择区县</option>')):(d({id:e.val(),type:"getCity"},function(){U=!0}),p.find('select[name="county"]').html('<option value="0">请选择区县</option>'))),"city"===e.attr("name")&&U&&("0"===e.val()?p.find('select[name="county"]').html('<option value="0">请选择区县</option>'):d({id:e.val(),type:"getCounty"}))}),y.on("blur",function(){o.name(x.trim(y.val()))}),w.on("blur",function(){o.address(x.trim(w.val()))}),b.on("blur",function(){o.mobile(x.trim(b.val()))}),_.on("blur",function(){o.tel(x.trim(C.val()),x.trim(_.val()))}),g.on("change",function(){o.city(f.val(),m.val(),g.val())})}function d(e,t){var n,a=e.selectId;"getProvince"===e.type?n=f:"getCity"===e.type?n=m:"getCounty"===e.type&&(n=g),x.ajax({type:"GET",url:"/cart/index/getAreaList",dataType:"json",data:{id:1*e.id}}).then(function(e){l(n,e.data,a),"function"==typeof t&&t()})}function l(e,t,n){var a,i,o="",s="";for(a=0;a<t.length;a++)s="Y"===t[a].is_support_express?"*":"",o+=t[a].id===n?'<option selected value="'+t[a].id+'">'+s+t[a].caption+"</option>":'<option value="'+t[a].id+'">'+s+t[a].caption+"</option>";"province"===e.attr("name")?i='<option value="0">请选择省份</option>':"city"===e.attr("name")?i='<option value="0">请选择城市</option>':"county"===e.attr("name")&&(i='<option value="0">请选择区县</option>'),e.html(i+o)}function c(e){var t=y.val(),n=f.val(),a=m.val(),o=g.val(),s=w.val(),r=b.val(),d=C.val(),l=_.val(),c={orderCode:e,userName:t,areaCode:o,address:s,mobile:r,phoneCode:d,phoneNum:l},p=u();p.name(t)&&p.city(n,a,o)&&p.address(s)&&p.mobile(r)&&p.tel(d,l)&&x.ajax({type:"post",url:"/home/orders/modifyAddress",data:c}).then(function(e){200===e.code?(h.close(),h=i("icon-waiting","订单修改","您的订单正在尝试修改,请耐心等待。稍后可在订单详情页查看修改情况!",function(){location.reload(!0)}),h.show()):new j.Alert(e.message).show()})}function u(){var e=y.siblings(".error"),t=f.siblings(".error"),n=w.siblings(".error"),a=b.siblings(".error"),i=_.siblings(".error"),o=/^[\u4e00-\u9fa5]{2,5}$/,s=/^[a-zA-Z0-9-#()()\u4e00-\u9fa5]+$/,r=/^(13[0-9]|15[012356789]|17[678]|18[0-9]|14[57])[0-9]{8}$/,d=/^[0-9]{3,4}$/,l=/^[0-9]{8}$/,c='<i class="order-icon icon-right"></i>',u='<i class="order-icon icon-error"></i><b></b>';return{name:function(t){return o.test(t)?(e.html(c).show(),!0):(e.html(u),e.find("b").html("真实姓名至少2个中文,最多5个中文"),e.show(),!1)},city:function(e,n,a){return"0"===e||"0"===n||"0"===a?(t.html(u),t.find("b").html("请填写完整的省市区信息"),t.show(),!1):(t.html(c).show(),!0)},address:function(e){if(s.test(e))return n.html(c).show(),!0;var t="详细地址不能为空";return""!==x.trim(e)&&(t="只能包含数字、字母、汉字、#、-、()及其组合"),n.html(u),n.find("b").html(t),n.show(),!1},mobile:function(e){if(r.test(e))return a.html(c).show(),!0;var t="手机号码不能为空";return""!==x.trim(e)&&(t="你输入的联系电话格式不正确"),a.html(u),a.find("b").html(t),a.show(),!1},tel:function(e,t){return""===e&&""===t&&(c=""),e&&!d.test(e)||t&&!l.test(t)||d.test(e)&&!l.test(t)||!d.test(e)&&l.test(t)?(i.html(u),i.find("b").html("你输入的电话格式不正确"),i.show(),!1):(i.html(c).show(),!0)}}}var h,p,f,m,g,v,y,b,w,C,_,x=e("jquery"),k=e("handlebars"),j=e("js/common/dialog"),S=j.Dialog,T=j.Confirm,q=x("#cancel-dialog-tpl"),I='<div class="order-delete-confirm"><div class="header"><p>删除订单</p><a href="javascript:;" title="关闭"></a></div><div class="body"><p class="confirm-tip"><i class="icon-doubt"></i>{{deleteMessage}}</p><p class="delete-tip">{{deleteTip}}</p></div></div>',E=q.html(),A='<p class="message-title"><i class="order-icon {{messageIcon}}"></i>{{messageTitle}}</p><p class="message-summary">{{messageSummary}}</p>',F=x("#edit-dialog-tpl"),U=!1;q.remove(),F.remove(),x(".check-logistics").click(function(){x(this).siblings(".logistics").removeClass("hide")}),x(".close-logistics").click(function(){x(this).closest(".logistics").addClass("hide")}),x(".me-orders, .order-detail").on("click",".cancel-order",function(e){h=a(x(this).closest(".order, .order-detail").data("id")),h.show()}).on("click",".confirm-received",function(e){var t=x(this).closest(".order, .order-detail").data("id");h=new T({cb:function(){x.ajax({type:"POST",url:"/home/orders/confirmorder",data:{orderCode:t}}).then(function(e){200===e.code&&(h.close(),history.go(0))})},content:"您确定要确认收货吗?"}),h.show()}).on("click",".order-delete",function(){var e=x(this).closest(".order, .order-detail").data("id");h=s(e,this),h.show()}).on("click",".edit-order",function(){x(this).addClass("edit-order-active"),h=o(x(this).closest(".order, .order-detail").data("id")),h.show(),r(0)})}),define("js/home/orders",["jquery","handlebars","source-map"],function(e,t,n){function a(e,t,n,a){var i=1,o=1,s=0,r=!1;e.click(function(){r||("0px"===n.css("left")?s=0:(s+=o*a,r=!0),n.stop().animate({left:s},300,function(){r=!1}))}),t.click(function(){var e=n.parent().width()-n.width()+"px";r||(n.css("left")===e?n.css("left",e):(s+=-i*a,r=!0),n.stop().animate({left:s},300,function(){r=!1}))})}var i=e("jquery");e("js/home/order-block"),i(".why").click(function(){return i("#differentBag").show(),!1}),i("#differentBag").click(function(){return!1}),i(document).click(function(){i("#differentBag").hide()}),i(".bag").find("ul").each(function(){var e=i(this).parent().parent().find(".pre"),t=i(this).parent().parent().find(".next"),n=i(this).find("li").eq(0).width(),o=i(this).find("li").size(),s=n*o;i(this).css("width",s),o>5?(e.show(),t.show(),a(e,t,i(this),n)):(e.hide(),t.hide())})}),define("js/home/favorite",["jquery","handlebars","source-map","dot"],function(e,t,n){var a,i,o,s=e("jquery"),r=e("handlebars"),d=e("js/passport/mail-phone-regx").phoneRegx["+86"],l={on:"[ 降价通知 ]",off:"[ 取消通知 ]"},c=location.href.match(/type=(.*)[&]*/);e("dot"),function(){function e(e){y=1*e,u.text(e),f.find(".notice-num").text(5-e)}function t(){c.addClass("hide"),h.addClass("hide"),g.text("订阅成功")}function n(){var t=s(document).scrollTop()+s(window).height()/2;"undefined"==typeof c&&(s("body").append('<div class="body-mask hide"></div>'),c=s(".body-mask")),c.css({height:s(document).height(),width:s(document).width()}).removeClass("hide"),h.removeClass("error"),o.hasClass("noticed")?s.ajax({type:"GET",url:"/home/favorite/cancelnotice",data:{id:i}}).then(function(n){200===n.code?(e(n.data.num),p.addClass("hide"),f.removeClass("hide"),g.text("取消成功"),h.removeClass("hide").css({top:t}),o.closest(".reduction-products").length>0?o.closest(".fav-good").remove():o.removeClass("noticed").text(l.on)):n.message&&(m.text(n.message),h.removeClass("hide").addClass("error").css({top:t}))}):y>=5?(m.text("您的订阅数已经到达上限"),h.removeClass("hide").addClass("error").css({top:t})):(p.removeClass("hide"),f.addClass("hide"),h.removeClass("hide").css({top:t}))}var a,r,c,u,h,p,f,m,g,v,y,b={};0!==s(".fav-products").length&&(a=s(".default-sorts"),r=s(".all-sorts"),u=s(".reduction-notice span"),h=s(".price-notice"),p=s("#price-notice .content"),f=s("#price-notice .success"),m=s("#price-notice .error-message"),g=f.find(".subscribe-or-cancel"),v=s("#notice-phone-num"),b.phone=v.val(),b.change=!1,y=1*u.text(),s("#spread-sort").click(function(){a.slideUp(function(){r.slideDown()})}),s("#retract-sort").click(function(){r.slideUp(function(){a.slideDown()})}),s(".price-down-clock").click(function(){o=s(this),i=o.closest(".fav-good").data("id"),n()}),s('.reduction-filter input[type="checkbox"]').change(function(){location.href=s(this).parent().attr("href")}),s("#price-notice").on("click",".close",function(){t()}).on("click",".price-notice-sure",function(){var n,a;if(h.hasClass("error")||p.hasClass("hide"))t();else{if(n=s.trim(v.val()),""===n||!d.test(n))return a=""===n?"请输入手机号码":"手机号码格式不正确",v.addClass("error"),void s("#price-notice .err-text").removeClass("hide").find("em").html(a);if(v.removeClass("error"),s("#price-notice .err-text").addClass("hide"),""!==b.phone&&b.phone!==n&&!b.change)return s("#price-notice .phone-diff").removeClass("hide"),void(b.change=!0);s.ajax({type:"GET",url:"/home/favorite/notice",data:{mobile:n,id:i}}).then(function(t){200===t.code?(e(t.data.num),f.removeClass("hide"),p.addClass("hide"),b.phone=n,b.change=!1,s("#price-notice .phone-diff").addClass("hide"),o.toggleClass("noticed").text(l.off)):t.message&&(m.text(t.message),h.removeClass("hide").addClass("error"))})}}),s(".has-activity").click(function(){var e=s(this),t=e.next(".activites"),n=e.closest("li");t.hasClass("hide")?(t.removeClass("hide"),n.css("padding-bottom",t.outerHeight())):(t.addClass("hide"),n.css("padding-bottom",""))}))}(),function(){function e(e,t){var n=e.data("id"),i=e.find(".na-goods-ul"),o=a[n],s=o.cur?o.cur:1,r=Math.ceil(o.total/5),d=e.find(".na-pre"),l=e.find(".na-next");s+=t,d.removeClass("hidden"),l.removeClass("hidden"),1===s&&d.addClass("hidden"),s===r&&l.addClass("hidden"),i.animate({marginLeft:-(s-1)*i.parent(".na-goods").width()},200),o.cur=s}function t(e,t){e.css("padding-bottom",t.outerHeight()+10)}var n,a={};0!==s(".fav-brands").length&&(n=r.compile(s("#na-tpl").html()),s(".na-trigger").click(function(){var e,i=s(this),o=i.next(".na-list"),r=i.closest("li");return o.hasClass("hide")?(e=r.data("id"),a[e]&&a[e].cache?(o.removeClass("hide"),void t(r,o)):void s.ajax({type:"GET",url:"/home/favorite/newproduct",data:{id:e}}).then(function(i){var s,d,l;200===i.code&&(d=i.data,l=0===d.length?{}:{naGoods:d},s=n(l),o.removeClass("hide").find(".na-content").html(s),t(r,o),d.length>5&&r.find(".na-next").removeClass("hidden"),a[e]||(a[e]={}),a[e].cache=!0,a[e].total=d.length)})):(o.addClass("hide"),void r.css("padding-bottom",""))}),s(".na-content").on("click",".na-pre, .na-next",function(){var t=s(this),n=t.hasClass("na-pre")?-1:1;e(t.closest(".fav-brand"),n)}))}(),function(){s(".fav-articles").length<0||s(".fav-articles .desc").dotdotdot()}(),c&&c.length&&(a=c[1]),s("#me-checkall").click(function(){s('.checkbox input[type="checkbox"]').prop("checked",s(this).prop("checked"))}),s(".del-favorite").click(function(e){var t=s(this).closest(".fav-row").data("id"),n=s(this).closest(".fav-row").data("shopid"),i=s(this).closest(".fav-row").data("brandorshoptype");e.preventDefault(),s.ajax({type:"GET",url:"/home/favorite/cancel",data:{id:t,shopid:n,brandorshoptype:i,type:a}}).then(function(e){200===e.code&&history.go(0)})}),s("#me-del-checked").click(function(){var e=[],t="商品";if("brand"===a?t="品牌":"article"===a&&(t="文章"),confirm("您确定要删除您收藏的"+t+"吗?")){if(s('.checkbox input[type="checkbox"]:checked').each(function(){e.push(s(this).closest(".fav-row").data("id"))}),0===e.length)return void alert("请选中您要移除的"+t);s.ajax({type:"GET",url:"/home/favorite/cancel",data:{id:e.join(","),type:a}}).then(function(e){history.go(0)})}}),location.href.match(/is_reduction=(.*)[&]*/)&&s(".reductionChecked").attr("checked",!0),location.href.match(/is_promotion=(.*)[&]*/)&&s(".activityChecked").attr("checked",!0)}),define("js/home/currency",["jquery"],function(e,t,n){var a=e("jquery");a(".filter-select").change(function(){location.href=a(this).val()})}),define("js/home/returns",["jquery","handlebars","source-map"],function(e,t,n){e("js/home/returns-detail"),e("js/home/returns-apply")}),define("js/home/returns-detail",["jquery","handlebars","source-map"],function(e,t,n){function a(){w=C[y]?C[y]:"",g.html(w+" 快递单号:"+b),f.val(y),m.val(b)}function i(){var e={};if(e.number=m.val(),e.id=1*f.val(),e.id){if(e.number)return e;alert("请填入快递单号")}else alert("请选择快递公司");return!1}function o(){var e=i();e&&d.ajax({type:"POST",url:"/home/returns/setExpressNumber",data:{id:v,isChange:_,expressId:e.id,expressNumber:e.number,expressCompany:C[e.id]}}).then(function(t){200===t.code?(y=e.id,b=e.number,u.eq(2).addClass("act")):alert(t.message),a(),p.removeClass("in-edit")})}function s(e,t){var n=l.compile(k),a=n({messageIcon:"icon-warn",messageTitle:"取消申请",messageSummary:"您确定要请取消申请吗?"}),i={mask:!0,btns:[{id:"cancel-sure",name:"确定",btnClass:["cancel-sure"],cb:function(){d.ajax({type:"POST",url:t,data:{id:e}}).then(function(e){r.close(),200===e.code?location.reload():new c.Alert(e.message).show()})}},{id:"cancel-no",name:"取消",btnClass:["cancel-no"],cb:function(){r.close()}}],content:a,className:"cancel-dialog"};return new x(i)}var r,d=e("jquery"),l=e("handlebars"),c=e("js/common/dialog"),u=d(".visual-return-state li"),h=d(".detail-container"),p=d(".courier-code"),f=d("#express-company"),m=d("#express-number"),g=d(".express-view-box > span"),v=d("#return-id").val(),y=d("#express-old-id").val(),b=m.val(),w="",C={},_=!1,x=c.Dialog,k='<p class="message-title"><i class="{{messageIcon}}"></i>{{messageTitle}}</p><p class="message-summary">{{messageSummary}}</p>';h.parent().hasClass("exchange-detail")&&(_=!0),f.val(y),h.find(".company-list").each(function(){var e=d(this).data();C[e.id]=e.name}),d("#modify").click(function(){p.addClass("in-edit")}),d("#submit-btn").click(function(){o()}),d(".cancel-return").on("click",".cancel-trigger",function(){r=s(d(this).data("id"),d(this).data("url")),r.show()})}),define("js/home/returns-apply",["jquery","handlebars","source-map"],function(e,t,n){function a(e){c.ajax({type:"POST",url:"/home/returns/getDelivery",data:{areaCode:e}}).then(function(e){var t="";200===e.code&&(c.each(e.data,function(e,n){var a="";"Y"===n.is_default&&(a='checked="checked"'),t+='<input type="radio" name="delivery-tpye" value="'+n.id+'" '+a+'"">'+n.name}),S.html(t))})}function i(e){C.hide(),2===e?(_.show(),x.hide(),C.hide()):3===e?(x.show(),_.hide(),C.hide()):4===e&&(C.show(),_.hide(),x.hide())}function o(){var e=[],t="换货";return I&&(t="退货"),p.length||(D="没有可以"+t+"的商品"),p.each(function(){var n,a=c(this).parent().parent(),i=a.next();D.length||c(this).prop("checked")&&(n={product_skn:a.find('input[name="skn"]').val(),product_skc:a.find('input[name="skc"]').val(),product_sku:a.find('input[name="sku"]').val(),goods_type:a.find('input[name="typeid"]').val(),last_price:a.find('input[name="price"]').val(),reason:1*a.find(".return-reason").val()},I?n.returned_reason=n.reason:(n.exchange_reason=n.reason,n.new_goods_id=1*a.find(".exchange-color").val(),n.new_product_sku=1*a.find(".exchange-size").val(),D||n.new_goods_id||(D="请选择要换的颜色"),D||n.new_product_sku||(D="请选择要换的尺码")),D||n.reason||(D="请选择"+t+"原因"),4!==n.reason&&6!==n.reason&&8!==n.reason||(n.remark=c.trim(i.find("textarea").val()),n.evidence_images=[],i.find('input[name="imgs"]').each(function(){n.evidence_images.push(c(this).val())}),D||n.remark||(D="请填写"+t+"描述"),D||n.evidence_images.length||(D="请上传图片")),delete n.reason,e.push(n))}),D||e.length||(D="请选择要"+t+"的商品"),e}function s(){var e={};return e.goods=o(),e.payment={},g.each(function(){c(this).prop("checked")&&(e.payment.return_amount_mode=1*c(this).val())}),D||e.payment.return_amount_mode||(D="请选择退款方式"),2===e.payment.return_amount_mode?(e.payment.province=v.val(),e.payment.city=y.val(),e.payment.area_code=b.val(),!D&&1*!e.payment.area_code&&(D="请选择银行所在地"),e.payment.bank_name=c.trim(w.find('input[name="bank-name"]').val()),D||e.payment.bank_name||(D="请填写银行名称"),e.payment.payee_name=c.trim(w.find('input[name="payee-name"]').val()),D||e.payment.payee_name||(D="请填写收款人姓名"),e.payment.bank_card=c.trim(w.find('input[name="bank-card"]').val()),D||e.payment.bank_card||(D="请填写收款账户")):3===e.payment.return_amount_mode&&(e.payment.alipay_name=c.trim(w.find('input[name="alipay-name"]').val()),D||e.payment.alipay_name||(D="请填写收款人姓名"),e.payment.alipay_account=c.trim(w.find('input[name="alipay-account"]').val()),D||e.payment.alipay_account||(D="请填写收款账户")),e}function r(){var e={};return e.goods=o(),e.consigneeName=c.trim(k.find('input[name="name"]').val()),D||e.consigneeName||(D="请填写收货人姓名"),e.areaCode=b.val(),!D&&1*!e.areaCode&&(D="请选择地区"),e.address=c.trim(k.find('input[name="address"]').val()),D||e.address||(D="请填写详细地址"),e.mobile=c.trim(k.find('input[name="phone"]').val()),e.mobile===U?e.mobile=F:D||e.mobile||(D="请填写手机号"),e.zipCode=c.trim(k.find('input[name="postcode"]').val()),e.deliveryType=k.find('input[name="delivery-tpye"]:checked').val(),D||e.deliveryType||(D="请选择商品返回方式"),e}function d(e){var t="○";e?(T.addClass("applying"),l=setInterval(function(){q.text(t),t.length>3&&(t=""),t+="○"},600)):(T.removeClass("applying"),clearInterval(l))}var l,c=e("jquery"),u=e("js/home/common-address"),h=c("#goods-table"),p=h.find('input[type="checkbox"]'),f=h.find(".return-reason"),m=h.find("input[type=file]"),g=c('input[name="refund-type"]'),v=c("#province"),y=c("#city"),b=c("#area"),w=c("#refund-pay-info"),C=w.find(".type-yoho"),_=w.find(".type-bank"),x=w.find(".type-alipay"),k=c(".exchange-detail"),j=k.find('input[name="hide-phone"]'),S=k.find(".refund-mode"),T=c(".submit-box"),q=T.find(".wait-gif span"),I=0,E=c("#order-code").val(),A=k.find('input[name="hide-area"]').val(),F=j.val(),U="",D="",P={};e("plugin/jquery.qupload"),F&&(j.remove(),U=F.replace(/(\d{3})\d{4}(\d{4})/,"$1****$2"),k.find('input[name="phone"]').val(U)),h.on("mouseenter mouseleave",".doubt",function(e){var t=c(this),n=t.parents(".special-tip"),a=n.find(".special-content"),i=n.find("> span").width();"mouseenter"===e.type?a.css({left:i+10,zIndex:1}).show():"mouseleave"===e.type&&a.css({zIndxex:0}).hide()}),w.length?(I=1,g.each(function(){c(this).prop("checked")&&i(1*c(this).val())})):A&&a(A),A=A?A:"",u.loadAllData(A,{areaDomId:"area"}),h.find(".sizeinfo").each(function(){var e=[];c(this).children().each(function(){e.push(c(this).data())}),P[c(this).data().id]=e}),f.change(function(){var e=c(this).parent().parent(),t=1*c(this).val();4===t||6===t||8===t?e.next().show():e.next().hide()}),p.change(function(){var e=c(this).parent().parent();c(this).prop("checked")?e.find("select").prop("disabled",!1):(e.find("select").val(0).prop("disabled",!0),e.next().hide())}),h.on("change",".exchange-color",function(){var e=c(this).closest(".exchange-choose-wrap"),t='<option value="0">请选择尺码</option>',n=c(this).val();P[n]&&c.each(P[n],function(e,n){t+='<option value="'+n.id+'">'+n.name+"</option>"}),e.find(".exchange-size").html(t).val(0)}),h.on("click",".btn-del",function(){c(this).parent().empty()}),m.each(function(e){var t=c("#upload-img-"+e),n=t.closest(".problem-description");t.qupload({button_image_url:"",upload_url:"//www.yohobuy.com/home/returns/imgUpload",file_post_name:"fileData",button_text:'<span class="btn_upload_text">上传图片</span>',button_text_style:".btn_upload_text{color: #ffffff;}",button_width:116,button_height:33,button_text_left_padding:32,button_text_top_padding:8,button_action:window.SWFUpload.BUTTON_ACTION.SELECT_FILE,file_size_limit:"10240",file_types:"*.jpg;*.jpeg;*.png;*.bmp",uploadSuccessed:function(e){var t,a,i=n.find("li"),o=!1;t=JSON.parse(e).imgList[0],a='<span class="btn-del" title="删除"></span><img src="'+t[0]+'" width="126" height="126"><input type="hidden" name="imgs" value="'+t.imgRelUrl+'">',i.each(function(){o||c(this).find("img").length||(o=!0,c(this).html(a))})}})}),k.on("change","#area",function(){var e=1*c(this).val();e&&a(e)}),g.change(function(){var e=1*c(this).val();i(e)}),c(".save-btn").click(function(){var e,t;return D="",I?(e="/home/returns/saveRefund",t=s()):(e="/home/returns/saveExchange",t=r()),t.orderCode=E,D?void alert(D):(d(!0),void c.ajax({type:"POST",url:e,data:t}).then(function(e){200===e.code?e.data&&e.data.refer&&(window.location.href=e.data.refer):(alert(e.message),d(!1))}))})}),define("js/home/common-address",["jquery","handlebars","source-map"],function(e,t,n){var a=e("jquery"),i=e("js/common/dialog"),o=i.Alert,s={provinceDomId:"province",cityDomId:"city",areaDomId:"areaCode",initDomIds:function(e){var t=this;void 0!==e.provinceDomId&&(t.provinceDomId=e.provinceDomId),void 0!==e.cityDomId&&(t.cityDomId=e.cityDomId),void 0!==e.areaDomId&&(t.areaDomId=e.areaDomId)},loadAreaData:function(e,t,n,i){var s,r,d,l,c=this,u=a("#"+t),h=0,p="";u.empty(),e<91&&(a("#"+c.areaDomId).empty(),a("#county").attr("disabled","disabled")),a.ajax({type:"GET",url:"/home/address/area",data:"id="+e,success:function(e){if(e.code=200,200!==e.code)return s=new o("暂无数据"),s.show(),!1;u.append('<option value="0">'+n+"</option>");for(h in e.options)e.options[h]&&(r=e.options[h],p=t===c.areaDomId&&"Y"===r.is_support?"*":"",d=r.value,l="","undefined"!=typeof i&&0!==i&&d===i.substr(0,d.length)&&(l="selected"),u.append('<option value="'+d+'" '+l+">"+p+r.text+"</option>"))}})},bindAreaChange:function(e){var t=this;void 0===a("#"+t.provinceDomId).data("events")&&(a("#"+t.provinceDomId).change(function(){var n=a("#"+t.provinceDomId).val();"0"!==n&&(t.loadAreaData(n,t.cityDomId,"请选择城市",n),a("#"+t.areaDomId).hide(),t.showAreaSel(e.dispDomId))}),a("#"+this.cityDomId).change(function(){var n=a("#"+t.cityDomId).val();"0"!==n&&(t.loadAreaData(n,t.areaDomId,"请选择区县",n),a("#"+t.areaDomId).show(),t.showAreaSel(e.dispDomId))}),a("#"+t.areaDomId).change(function(){t.showAreaSel(e.dispDomId)}),t.showAreaSel(e.dispDomId))},showAreaSel:function(e){var t=this,n="",i=a("#"+t.provinceDomId).find("option:selected").text(),o=a("#"+t.cityDomId).find("option:selected").text(),s=a("#"+t.areaDomId).find("option:selected").text();void 0!==e&&""!==e&&(i.indexOf("选择")<0&&(n=i),""!==o&&o.indexOf("选择")<0&&(n+=","+o),""!==s&&s.indexOf("选择")<0&&(n+=","+s),a("#"+e).html(n))},loadAllData:function(e,t){var n=this;n.initDomIds(t),e+="",e<91?(n.loadAreaData(0,n.provinceDomId,"请选择省份",""),a("#"+n.areaDomId).hide(),a("#"+n.cityDomId).html('<option value="0">请选择市</option>')):4===e.length?(n.loadAreaData(0,n.provinceDomId,"请选择省份",e),n.loadAreaData(e.substr(0,2),n.cityDomId,"请选择城市",e),n.loadAreaData(e,n.areaDomId,"请选择区县",e),a("#"+n.areaDomId).show()):6===e.length&&(n.loadAreaData(0,n.provinceDomId,"请选择省份",e),n.loadAreaData(e.substr(0,2),n.cityDomId,"请选择城市",e),n.loadAreaData(e.substr(0,4),n.areaDomId,"请选择区县",e),a("#"+this.areaDomId).show()),n.bindAreaChange(t)}};n.exports=s}),define("plugin/jquery.qupload",["jquery"],function(e,t,n){function a(){0==l&&(s("body").append('<div id="progressDialog" style="display: none;width:370px;height:80px !important;"><div style="padding:10px 20px;"><span id="curUploadStatus">图片上传中……请稍等</span><div id="progress"></div></div></div>'),l=1)}function i(e,t){s("#uploadNum").html(e),s("#totalUploadNum").html(t)}function o(e,t){function n(e,n){this.options[e]=void 0==t[e]?n:t[e]}function a(e){try{}catch(t){this.debug(t)}}function o(e,t,n){var a;try{if(t===r.QUEUE_ERROR.QUEUE_LIMIT_EXCEEDED)return void alert("您尝试上传太多文件.\n"+(0===n?"您已达到上传限制.":"您最多还可以 "+(n>1?"上传 "+n+"文件.":"一个文件.")));switch(t){case r.QUEUE_ERROR.FILE_EXCEEDS_SIZE_LIMIT:a="文件超过"+C.file_size_limit/1024+"M",alert(a),this.debug("Error Code: File too big, File name: "+e.name+", File size: "+e.size+", Message: "+n);break;case r.QUEUE_ERROR.ZERO_BYTE_FILE:alert("请上传有内容的文件!"),this.debug("Error Code: Zero byte file, File name: "+e.name+", File size: "+e.size+", Message: "+n);break;case r.QUEUE_ERROR.INVALID_FILETYPE:alert("请上传指定类型的文件!"),this.debug("Error Code: Invalid File Type, File name: "+e.name+", File size: "+e.size+", Message: "+n);break;default:alert("上传文件失败,请稍后在试!"),this.debug("Error Code: "+t+", File name: "+e.name+", File size: "+e.size+", Message: "+n)}}catch(i){this.debug(i)}}function s(){null!=y&&y()}function l(e,t){try{e>0&&(b=e,w=1,i(w,b),this.startUpload())}catch(n){this.debug(n)}}function c(e){this.addPostParam("_key",v)}function u(e,t,n){Math.ceil(t/n*100)}function h(e,t){w++,i(w,b),null!=g&&g(t)}function p(e,t,n){try{if(t===r.QUEUE_ERROR.QUEUE_LIMIT_EXCEEDED)return void alert("您尝试上传太多文件.\n"+(0===n?"您已达到上传限制.":"您最多还可以 "+(n>1?"上传 "+n+"文件.":"一个文件.")));switch(t){case r.QUEUE_ERROR.FILE_EXCEEDS_SIZE_LIMIT:alert("Error Code: 文件太大。 文件名为: "+e.name+", 大小为: "+e.size+", Message: "+n);break;case r.QUEUE_ERROR.ZERO_BYTE_FILE:alert("Error Code: 文件为0, 文件名为: "+e.name+", 大小为: "+e.size+", Message: "+n);break;case r.QUEUE_ERROR.INVALID_FILETYPE:alert("Error Code: 文件类型不合要求, 文件名为: "+e.name+", 大小为: "+e.size+", Message: "+n);break;default:alert("上传出错Error Code: "+t+", File name: "+e.name+", File size: "+e.size+", Message: "+n)}}catch(a){this.debug(a)}}function f(e){}function m(e){}var g=null;void 0!=t.uploadSuccessed&&(g=t.uploadSuccessed);var v="";void 0!=t.uploadKey&&(v=t.uploadKey);var y=null;void 0!=t.preupload&&(y=t.preupload);var b=0,w=0;this.options=t;this.options.errmsg_box;n("flash_url","http://static.yohobuy.com/admin/js/swfupload/swfupload.swf"),n("upload_url","http://upload.yohobuy.com"),n("file_post_name","Filedata"),n("file_size_limit","2 MB"),n("file_types","*.*"),n("file_types_description","All Files"),n("file_upload_limit",d),n("file_queue_limit",0),n("button_image_url","http://static.yohobuy.com/admin/images/btn_swfupload.png"),n("button_width","104"),n("button_height","20"),n("button_text",'<span class="btn_upload_xzzp">选择本地照片</span>'),n("button_text_style",".btn_upload_xzzp{color:#ffffff}"),n("button_text_left_padding",24),n("button_text_top_padding",0),n("button_window_mode","TRANSPARENT"),n("button_cursor","-2");var C={flash_url:this.options.flash_url,upload_url:this.options.upload_url,file_post_name:this.options.file_post_name,file_size_limit:this.options.file_size_limit,file_types:this.options.file_types,file_types_description:this.options.file_types_description,file_upload_limit:this.options.file_upload_limit,file_queue_limit:this.options.file_queue_limit,prevent_swf_caching:!1,preserve_relative_urls:!1,custom_settings:{},debug:!1,button_image_url:this.options.button_image_url,button_width:this.options.button_width,button_height:this.options.button_height,button_placeholder_id:e,button_text:this.options.button_text,button_text_style:this.options.button_text_style,button_text_left_padding:this.options.button_text_left_padding,button_text_top_padding:this.options.button_text_top_padding,button_window_mode:this.options.button_window_mode,button_cursor:this.options.button_cursor,file_dialog_start_handler:s,file_queued_handler:a,file_queue_error_handler:o,file_dialog_complete_handler:l,upload_start_handler:c,upload_progress_handler:u,upload_error_handler:p,upload_success_handler:h,upload_complete_handler:f,queue_complete_handler:m,button_action:this.options.button_action};new r(C)}var s=e("jquery"),r=e("plugin/swfupload.queue").SWFUpload,d=6;s.fn.extend({qupload:function(e){a(),o(s(this).attr("id"),e)}});var l=0;window.SWFUpload=r}),define("plugin/swfupload.queue",[],function(e,t,n){var a=e("plugin/swfupload").SWFUpload;"function"==typeof a&&(a.queue={},a.prototype.initSettings=function(e){return function(){"function"==typeof e&&e.call(this),this.queueSettings={},this.queueSettings.queue_cancelled_flag=!1,this.queueSettings.queue_upload_count=0,this.queueSettings.user_upload_complete_handler=this.settings.upload_complete_handler,this.queueSettings.user_upload_start_handler=this.settings.upload_start_handler,this.settings.upload_complete_handler=a.queue.uploadCompleteHandler,this.settings.upload_start_handler=a.queue.uploadStartHandler,this.settings.queue_complete_handler=this.settings.queue_complete_handler||null}}(a.prototype.initSettings),a.prototype.startUpload=function(e){this.queueSettings.queue_cancelled_flag=!1,this.callFlash("StartUpload",[e])},a.prototype.cancelQueue=function(){this.queueSettings.queue_cancelled_flag=!0,this.stopUpload();for(var e=this.getStats();e.files_queued>0;)this.cancelUpload(),e=this.getStats()},a.queue.uploadStartHandler=function(e){var t;return"function"==typeof this.queueSettings.user_upload_start_handler&&(t=this.queueSettings.user_upload_start_handler.call(this,e)),t=t!==!1,this.queueSettings.queue_cancelled_flag=!t,t},a.queue.uploadCompleteHandler=function(e){var t,n=this.queueSettings.user_upload_complete_handler;if(e.filestatus===a.FILE_STATUS.COMPLETE&&this.queueSettings.queue_upload_count++,t="function"==typeof n?n.call(this,e)!==!1:e.filestatus!==a.FILE_STATUS.QUEUED){var i=this.getStats();i.files_queued>0&&this.queueSettings.queue_cancelled_flag===!1?this.startUpload():this.queueSettings.queue_cancelled_flag===!1?(this.queueEvent("queue_complete_handler",[this.queueSettings.queue_upload_count]),this.queueSettings.queue_upload_count=0):(this.queueSettings.queue_cancelled_flag=!1,this.queueSettings.queue_upload_count=0)}}),t.SWFUpload=a}),define("plugin/swfupload",[],function(require,exports,module){var SWFUpload;void 0==SWFUpload&&(SWFUpload=function(e){this.initSWFUpload(e)}),SWFUpload.prototype.initSWFUpload=function(e){try{this.customSettings={},this.settings=e,this.eventQueue=[],this.movieName="SWFUpload_"+SWFUpload.movieCount++,this.movieElement=null,SWFUpload.instances[this.movieName]=this,this.initSettings(),this.loadFlash(),this.displayDebugInfo()}catch(t){throw delete SWFUpload.instances[this.movieName],t}},SWFUpload.instances={},SWFUpload.movieCount=0,SWFUpload.version="2.2.0 2009-03-25",SWFUpload.QUEUE_ERROR={QUEUE_LIMIT_EXCEEDED:-100,FILE_EXCEEDS_SIZE_LIMIT:-110,ZERO_BYTE_FILE:-120,INVALID_FILETYPE:-130},SWFUpload.UPLOAD_ERROR={HTTP_ERROR:-200,MISSING_UPLOAD_URL:-210,IO_ERROR:-220,SECURITY_ERROR:-230,UPLOAD_LIMIT_EXCEEDED:-240,UPLOAD_FAILED:-250,SPECIFIED_FILE_ID_NOT_FOUND:-260,FILE_VALIDATION_FAILED:-270,FILE_CANCELLED:-280,UPLOAD_STOPPED:-290},SWFUpload.FILE_STATUS={QUEUED:-1,IN_PROGRESS:-2,ERROR:-3,COMPLETE:-4,CANCELLED:-5},SWFUpload.BUTTON_ACTION={SELECT_FILE:-100,SELECT_FILES:-110,START_UPLOAD:-120},SWFUpload.CURSOR={ARROW:-1,HAND:-2},SWFUpload.WINDOW_MODE={WINDOW:"window",TRANSPARENT:"transparent",OPAQUE:"opaque"},SWFUpload.completeURL=function(e){if("string"!=typeof e||e.match(/^https?:\/\//i)||e.match(/^\//))return e;var t=(window.location.protocol+"//"+window.location.hostname+(window.location.port?":"+window.location.port:""),
+window.location.pathname.lastIndexOf("/"));return t<=0?path="/":path=window.location.pathname.substr(0,t)+"/",path+e},SWFUpload.prototype.initSettings=function(){this.ensureDefault=function(e,t){this.settings[e]=void 0==this.settings[e]?t:this.settings[e]},this.ensureDefault("upload_url",""),this.ensureDefault("preserve_relative_urls",!1),this.ensureDefault("file_post_name","Filedata"),this.ensureDefault("post_params",{}),this.ensureDefault("use_query_string",!1),this.ensureDefault("requeue_on_error",!1),this.ensureDefault("http_success",[]),this.ensureDefault("assume_success_timeout",0),this.ensureDefault("file_types","*.*"),this.ensureDefault("file_types_description","All Files"),this.ensureDefault("file_size_limit",0),this.ensureDefault("file_upload_limit",0),this.ensureDefault("file_queue_limit",0),this.ensureDefault("flash_url","swfupload.swf"),this.ensureDefault("prevent_swf_caching",!0),this.ensureDefault("button_image_url",""),this.ensureDefault("button_width",1),this.ensureDefault("button_height",1),this.ensureDefault("button_text",""),this.ensureDefault("button_text_style","color: #000000; font-size: 16pt;"),this.ensureDefault("button_text_top_padding",0),this.ensureDefault("button_text_left_padding",0),this.ensureDefault("button_action",SWFUpload.BUTTON_ACTION.SELECT_FILES),this.ensureDefault("button_disabled",!1),this.ensureDefault("button_placeholder_id",""),this.ensureDefault("button_placeholder",null),this.ensureDefault("button_cursor",SWFUpload.CURSOR.ARROW),this.ensureDefault("button_window_mode",SWFUpload.WINDOW_MODE.WINDOW),this.ensureDefault("debug",!1),this.settings.debug_enabled=this.settings.debug,this.settings.return_upload_start_handler=this.returnUploadStart,this.ensureDefault("swfupload_loaded_handler",null),this.ensureDefault("file_dialog_start_handler",null),this.ensureDefault("file_queued_handler",null),this.ensureDefault("file_queue_error_handler",null),this.ensureDefault("file_dialog_complete_handler",null),this.ensureDefault("upload_start_handler",null),this.ensureDefault("upload_progress_handler",null),this.ensureDefault("upload_error_handler",null),this.ensureDefault("upload_success_handler",null),this.ensureDefault("upload_complete_handler",null),this.ensureDefault("debug_handler",this.debugMessage),this.ensureDefault("custom_settings",{}),this.customSettings=this.settings.custom_settings,this.settings.prevent_swf_caching&&(this.settings.flash_url=this.settings.flash_url+(this.settings.flash_url.indexOf("?")<0?"?":"&")+"preventswfcaching="+(new Date).getTime()),this.settings.preserve_relative_urls||(this.settings.upload_url=SWFUpload.completeURL(this.settings.upload_url),this.settings.button_image_url&&(this.settings.button_image_url=SWFUpload.completeURL(this.settings.button_image_url))),delete this.ensureDefault},SWFUpload.prototype.loadFlash=function(){var e,t;if(null!==document.getElementById(this.movieName))throw"ID "+this.movieName+" is already in use. The Flash Object could not be added";if(e=document.getElementById(this.settings.button_placeholder_id)||this.settings.button_placeholder,void 0==e)throw"Could not find the placeholder element: "+this.settings.button_placeholder_id;t=document.createElement("div"),t.innerHTML=this.getFlashHTML(),e.parentNode.replaceChild(t.firstChild,e),void 0==window[this.movieName]&&(window[this.movieName]=this.getMovieElement())},SWFUpload.prototype.getFlashHTML=function(){return['<object id="',this.movieName,'" type="application/x-shockwave-flash" data="',this.settings.flash_url,'" width="',this.settings.button_width,'" height="',this.settings.button_height,'" class="swfupload">','<param name="wmode" value="',this.settings.button_window_mode,'" />','<param name="movie" value="',this.settings.flash_url,'" />','<param name="quality" value="high" />','<param name="menu" value="false" />','<param name="allowScriptAccess" value="always" />','<param name="flashvars" value="'+this.getFlashVars()+'" />',"</object>"].join("")},SWFUpload.prototype.getFlashVars=function(){var e=this.buildParamString(),t=this.settings.http_success.join(",");return["movieName=",encodeURIComponent(this.movieName),"&amp;uploadURL=",encodeURIComponent(this.settings.upload_url),"&amp;useQueryString=",encodeURIComponent(this.settings.use_query_string),"&amp;requeueOnError=",encodeURIComponent(this.settings.requeue_on_error),"&amp;httpSuccess=",encodeURIComponent(t),"&amp;assumeSuccessTimeout=",encodeURIComponent(this.settings.assume_success_timeout),"&amp;params=",encodeURIComponent(e),"&amp;filePostName=",encodeURIComponent(this.settings.file_post_name),"&amp;fileTypes=",encodeURIComponent(this.settings.file_types),"&amp;fileTypesDescription=",encodeURIComponent(this.settings.file_types_description),"&amp;fileSizeLimit=",encodeURIComponent(this.settings.file_size_limit),"&amp;fileUploadLimit=",encodeURIComponent(this.settings.file_upload_limit),"&amp;fileQueueLimit=",encodeURIComponent(this.settings.file_queue_limit),"&amp;debugEnabled=",encodeURIComponent(this.settings.debug_enabled),"&amp;buttonImageURL=",encodeURIComponent(this.settings.button_image_url),"&amp;buttonWidth=",encodeURIComponent(this.settings.button_width),"&amp;buttonHeight=",encodeURIComponent(this.settings.button_height),"&amp;buttonText=",encodeURIComponent(this.settings.button_text),"&amp;buttonTextTopPadding=",encodeURIComponent(this.settings.button_text_top_padding),"&amp;buttonTextLeftPadding=",encodeURIComponent(this.settings.button_text_left_padding),"&amp;buttonTextStyle=",encodeURIComponent(this.settings.button_text_style),"&amp;buttonAction=",encodeURIComponent(this.settings.button_action),"&amp;buttonDisabled=",encodeURIComponent(this.settings.button_disabled),"&amp;buttonCursor=",encodeURIComponent(this.settings.button_cursor)].join("")},SWFUpload.prototype.getMovieElement=function(){if(void 0==this.movieElement&&(this.movieElement=document.getElementById(this.movieName)),null===this.movieElement)throw"Could not find Flash element";return this.movieElement},SWFUpload.prototype.buildParamString=function(){var e=this.settings.post_params,t=[];if("object"==typeof e)for(var n in e)e.hasOwnProperty(n)&&t.push(encodeURIComponent(n.toString())+"="+encodeURIComponent(e[n].toString()));return t.join("&amp;")},SWFUpload.prototype.destroy=function(){try{this.cancelUpload(null,!1);var e=null;if(e=this.getMovieElement(),e&&"unknown"==typeof e.CallFunction){for(var t in e)try{"function"==typeof e[t]&&(e[t]=null)}catch(n){}try{e.parentNode.removeChild(e)}catch(a){}}return window[this.movieName]=null,SWFUpload.instances[this.movieName]=null,delete SWFUpload.instances[this.movieName],this.movieElement=null,this.settings=null,this.customSettings=null,this.eventQueue=null,this.movieName=null,!0}catch(i){return!1}},SWFUpload.prototype.displayDebugInfo=function(){this.debug(["---SWFUpload Instance Info---\n","Version: ",SWFUpload.version,"\n","Movie Name: ",this.movieName,"\n","Settings:\n","\t","upload_url:               ",this.settings.upload_url,"\n","\t","flash_url:                ",this.settings.flash_url,"\n","\t","use_query_string:         ",this.settings.use_query_string.toString(),"\n","\t","requeue_on_error:         ",this.settings.requeue_on_error.toString(),"\n","\t","http_success:             ",this.settings.http_success.join(", "),"\n","\t","assume_success_timeout:   ",this.settings.assume_success_timeout,"\n","\t","file_post_name:           ",this.settings.file_post_name,"\n","\t","post_params:              ",this.settings.post_params.toString(),"\n","\t","file_types:               ",this.settings.file_types,"\n","\t","file_types_description:   ",this.settings.file_types_description,"\n","\t","file_size_limit:          ",this.settings.file_size_limit,"\n","\t","file_upload_limit:        ",this.settings.file_upload_limit,"\n","\t","file_queue_limit:         ",this.settings.file_queue_limit,"\n","\t","debug:                    ",this.settings.debug.toString(),"\n","\t","prevent_swf_caching:      ",this.settings.prevent_swf_caching.toString(),"\n","\t","button_placeholder_id:    ",this.settings.button_placeholder_id.toString(),"\n","\t","button_placeholder:       ",this.settings.button_placeholder?"Set":"Not Set","\n","\t","button_image_url:         ",this.settings.button_image_url.toString(),"\n","\t","button_width:             ",this.settings.button_width.toString(),"\n","\t","button_height:            ",this.settings.button_height.toString(),"\n","\t","button_text:              ",this.settings.button_text.toString(),"\n","\t","button_text_style:        ",this.settings.button_text_style.toString(),"\n","\t","button_text_top_padding:  ",this.settings.button_text_top_padding.toString(),"\n","\t","button_text_left_padding: ",this.settings.button_text_left_padding.toString(),"\n","\t","button_action:            ",this.settings.button_action.toString(),"\n","\t","button_disabled:          ",this.settings.button_disabled.toString(),"\n","\t","custom_settings:          ",this.settings.custom_settings.toString(),"\n","Event Handlers:\n","\t","swfupload_loaded_handler assigned:  ",("function"==typeof this.settings.swfupload_loaded_handler).toString(),"\n","\t","file_dialog_start_handler assigned: ",("function"==typeof this.settings.file_dialog_start_handler).toString(),"\n","\t","file_queued_handler assigned:       ",("function"==typeof this.settings.file_queued_handler).toString(),"\n","\t","file_queue_error_handler assigned:  ",("function"==typeof this.settings.file_queue_error_handler).toString(),"\n","\t","upload_start_handler assigned:      ",("function"==typeof this.settings.upload_start_handler).toString(),"\n","\t","upload_progress_handler assigned:   ",("function"==typeof this.settings.upload_progress_handler).toString(),"\n","\t","upload_error_handler assigned:      ",("function"==typeof this.settings.upload_error_handler).toString(),"\n","\t","upload_success_handler assigned:    ",("function"==typeof this.settings.upload_success_handler).toString(),"\n","\t","upload_complete_handler assigned:   ",("function"==typeof this.settings.upload_complete_handler).toString(),"\n","\t","debug_handler assigned:             ",("function"==typeof this.settings.debug_handler).toString(),"\n"].join(""))},SWFUpload.prototype.addSetting=function(e,t,n){return void 0==t?this.settings[e]=n:this.settings[e]=t},SWFUpload.prototype.getSetting=function(e){return void 0!=this.settings[e]?this.settings[e]:""},SWFUpload.prototype.callFlash=function(functionName,argumentArray){argumentArray=argumentArray||[];var movieElement=this.getMovieElement(),returnValue,returnString;try{returnString=movieElement.CallFunction('<invoke name="'+functionName+'" returntype="javascript">'+__flash__argumentsToXML(argumentArray,0)+"</invoke>"),returnValue=eval(returnString)}catch(ex){throw"Call to "+functionName+" failed"}return void 0!=returnValue&&"object"==typeof returnValue.post&&(returnValue=this.unescapeFilePostParams(returnValue)),returnValue},SWFUpload.prototype.selectFile=function(){this.callFlash("SelectFile")},SWFUpload.prototype.selectFiles=function(){this.callFlash("SelectFiles")},SWFUpload.prototype.startUpload=function(e){this.callFlash("StartUpload",[e])},SWFUpload.prototype.cancelUpload=function(e,t){t!==!1&&(t=!0),this.callFlash("CancelUpload",[e,t])},SWFUpload.prototype.stopUpload=function(){this.callFlash("StopUpload")},SWFUpload.prototype.getStats=function(){return this.callFlash("GetStats")},SWFUpload.prototype.setStats=function(e){this.callFlash("SetStats",[e])},SWFUpload.prototype.getFile=function(e){return"number"==typeof e?this.callFlash("GetFileByIndex",[e]):this.callFlash("GetFile",[e])},SWFUpload.prototype.addFileParam=function(e,t,n){return this.callFlash("AddFileParam",[e,t,n])},SWFUpload.prototype.removeFileParam=function(e,t){this.callFlash("RemoveFileParam",[e,t])},SWFUpload.prototype.setUploadURL=function(e){this.settings.upload_url=e.toString(),this.callFlash("SetUploadURL",[e])},SWFUpload.prototype.setPostParams=function(e){this.settings.post_params=e,this.callFlash("SetPostParams",[e])},SWFUpload.prototype.addPostParam=function(e,t){this.settings.post_params[e]=t,this.callFlash("SetPostParams",[this.settings.post_params])},SWFUpload.prototype.removePostParam=function(e){delete this.settings.post_params[e],this.callFlash("SetPostParams",[this.settings.post_params])},SWFUpload.prototype.setFileTypes=function(e,t){this.settings.file_types=e,this.settings.file_types_description=t,this.callFlash("SetFileTypes",[e,t])},SWFUpload.prototype.setFileSizeLimit=function(e){this.settings.file_size_limit=e,this.callFlash("SetFileSizeLimit",[e])},SWFUpload.prototype.setFileUploadLimit=function(e){this.settings.file_upload_limit=e,this.callFlash("SetFileUploadLimit",[e])},SWFUpload.prototype.setFileQueueLimit=function(e){this.settings.file_queue_limit=e,this.callFlash("SetFileQueueLimit",[e])},SWFUpload.prototype.setFilePostName=function(e){this.settings.file_post_name=e,this.callFlash("SetFilePostName",[e])},SWFUpload.prototype.setUseQueryString=function(e){this.settings.use_query_string=e,this.callFlash("SetUseQueryString",[e])},SWFUpload.prototype.setRequeueOnError=function(e){this.settings.requeue_on_error=e,this.callFlash("SetRequeueOnError",[e])},SWFUpload.prototype.setHTTPSuccess=function(e){"string"==typeof e&&(e=e.replace(" ","").split(",")),this.settings.http_success=e,this.callFlash("SetHTTPSuccess",[e])},SWFUpload.prototype.setAssumeSuccessTimeout=function(e){this.settings.assume_success_timeout=e,this.callFlash("SetAssumeSuccessTimeout",[e])},SWFUpload.prototype.setDebugEnabled=function(e){this.settings.debug_enabled=e,this.callFlash("SetDebugEnabled",[e])},SWFUpload.prototype.setButtonImageURL=function(e){void 0==e&&(e=""),this.settings.button_image_url=e,this.callFlash("SetButtonImageURL",[e])},SWFUpload.prototype.setButtonDimensions=function(e,t){this.settings.button_width=e,this.settings.button_height=t;var n=this.getMovieElement();void 0!=n&&(n.style.width=e+"px",n.style.height=t+"px"),this.callFlash("SetButtonDimensions",[e,t])},SWFUpload.prototype.setButtonText=function(e){this.settings.button_text=e,this.callFlash("SetButtonText",[e])},SWFUpload.prototype.setButtonTextPadding=function(e,t){this.settings.button_text_top_padding=t,this.settings.button_text_left_padding=e,this.callFlash("SetButtonTextPadding",[e,t])},SWFUpload.prototype.setButtonTextStyle=function(e){this.settings.button_text_style=e,this.callFlash("SetButtonTextStyle",[e])},SWFUpload.prototype.setButtonDisabled=function(e){this.settings.button_disabled=e,this.callFlash("SetButtonDisabled",[e])},SWFUpload.prototype.setButtonAction=function(e){this.settings.button_action=e,this.callFlash("SetButtonAction",[e])},SWFUpload.prototype.setButtonCursor=function(e){this.settings.button_cursor=e,this.callFlash("SetButtonCursor",[e])},SWFUpload.prototype.queueEvent=function(e,t){void 0==t?t=[]:t instanceof Array||(t=[t]);var n=this;if("function"==typeof this.settings[e])this.eventQueue.push(function(){this.settings[e].apply(this,t)}),setTimeout(function(){n.executeNextEvent()},0);else if(null!==this.settings[e])throw"Event handler "+e+" is unknown or is not a function"},SWFUpload.prototype.executeNextEvent=function(){var e=this.eventQueue?this.eventQueue.shift():null;"function"==typeof e&&e.apply(this)},SWFUpload.prototype.unescapeFilePostParams=function(e){var t,n=/[$]([0-9a-f]{4})/i,a={};if(void 0!=e){for(var i in e.post)if(e.post.hasOwnProperty(i)){t=i;for(var o;null!==(o=n.exec(t));)t=t.replace(o[0],String.fromCharCode(parseInt("0x"+o[1],16)));a[t]=e.post[i]}e.post=a}return e},SWFUpload.prototype.testExternalInterface=function(){try{return this.callFlash("TestExternalInterface")}catch(e){return!1}},SWFUpload.prototype.flashReady=function(){var e=this.getMovieElement();return e?(this.cleanUp(e),void this.queueEvent("swfupload_loaded_handler")):void this.debug("Flash called back ready but the flash movie can't be found.")},SWFUpload.prototype.cleanUp=function(e){try{if(this.movieElement&&"unknown"==typeof e.CallFunction){this.debug("Removing Flash functions hooks (this should only run in IE and should prevent memory leaks)");for(var t in e)try{"function"==typeof e[t]&&(e[t]=null)}catch(n){}}}catch(a){}window.__flash__removeCallback=function(e,t){try{e&&(e[t]=null)}catch(n){}}},SWFUpload.prototype.fileDialogStart=function(){this.queueEvent("file_dialog_start_handler")},SWFUpload.prototype.fileQueued=function(e){e=this.unescapeFilePostParams(e),this.queueEvent("file_queued_handler",e)},SWFUpload.prototype.fileQueueError=function(e,t,n){e=this.unescapeFilePostParams(e),this.queueEvent("file_queue_error_handler",[e,t,n])},SWFUpload.prototype.fileDialogComplete=function(e,t,n){this.queueEvent("file_dialog_complete_handler",[e,t,n])},SWFUpload.prototype.uploadStart=function(e){e=this.unescapeFilePostParams(e),this.queueEvent("return_upload_start_handler",e)},SWFUpload.prototype.returnUploadStart=function(e){var t;if("function"==typeof this.settings.upload_start_handler)e=this.unescapeFilePostParams(e),t=this.settings.upload_start_handler.call(this,e);else if(void 0!=this.settings.upload_start_handler)throw"upload_start_handler must be a function";void 0===t&&(t=!0),t=!!t,this.callFlash("ReturnUploadStart",[t])},SWFUpload.prototype.uploadProgress=function(e,t,n){e=this.unescapeFilePostParams(e),this.queueEvent("upload_progress_handler",[e,t,n])},SWFUpload.prototype.uploadError=function(e,t,n){e=this.unescapeFilePostParams(e),this.queueEvent("upload_error_handler",[e,t,n])},SWFUpload.prototype.uploadSuccess=function(e,t,n){e=this.unescapeFilePostParams(e),this.queueEvent("upload_success_handler",[e,t,n])},SWFUpload.prototype.uploadComplete=function(e){e=this.unescapeFilePostParams(e),this.queueEvent("upload_complete_handler",e)},SWFUpload.prototype.debug=function(e){this.queueEvent("debug_handler",e)},SWFUpload.prototype.debugMessage=function(e){if(this.settings.debug){var t,n=[];if("object"==typeof e&&"string"==typeof e.name&&"string"==typeof e.message){for(var a in e)e.hasOwnProperty(a)&&n.push(a+": "+e[a]);t=n.join("\n")||"",n=t.split("\n"),t="EXCEPTION: "+n.join("\nEXCEPTION: "),SWFUpload.Console.writeLine(t)}else SWFUpload.Console.writeLine(e)}},SWFUpload.Console={},SWFUpload.Console.writeLine=function(e){var t,n;try{t=document.getElementById("SWFUpload_Console"),t||(n=document.createElement("form"),document.getElementsByTagName("body")[0].appendChild(n),t=document.createElement("textarea"),t.id="SWFUpload_Console",t.style.fontFamily="monospace",t.setAttribute("wrap","off"),t.wrap="off",t.style.overflow="auto",t.style.width="700px",t.style.height="350px",t.style.margin="5px",n.appendChild(t)),t.value+=e+"\n",t.scrollTop=t.scrollHeight-t.clientHeight}catch(a){alert("Exception: "+a.name+" Message: "+a.message)}},exports.SWFUpload=SWFUpload}),define("js/home/comment",["jquery"],function(e,t,n){var a,i=e("jquery"),o=i(".comment-table"),s=o.find(".remark-btn"),r=i("#comment-dialog-widget"),d=r.find(".dialog-titlebar"),l=r.find("textarea"),c=i(document).width(),u=i(document).height(),h=i(window).height(),p={canmove:!1,offset:{},maxtop:0,maxleft:0},f={};s.each(function(){var e=i(this).next(),t=e.data(),n=t.orderid;f[n]={},f[n].productSkn=t.productskn,f[n].productId=t.productid,f[n].goodsId=t.goodsid,f[n].orderId=t.orderid,f[n].erpSkuId=t.erpskuid,e.remove(),i(this).data("code",n)}),s.click(function(){var e=i(document).scrollTop();a=i(this),l.val(""),r.removeClass("hide").css({top:e+(h-r.outerHeight())/2,left:(c-r.outerWidth())/2})}),d.bind("mousedown",function(e){i(e.target).hasClass("dialog-close-btn")||(p.canmove=!0,p.offset={x:e.offsetX,y:e.offsetY},p.maxtop=u-r.outerHeight(),p.maxleft=c-r.outerWidth())}),i(document).mousemove(function(e){var t,n;p.canmove&&(t=e.pageY-p.offset.y,n=e.pageX-p.offset.x,t=t<p.maxtop?t:p.maxtop,n=n<p.maxleft?n:p.maxleft,r.css({top:t>0?t:0,left:n>0?n:0}))}).mouseup(function(e){p.canmove=!1}),r.on("click",".dialog-save-btn",function(){var e,t=i.trim(l.val());return""===t?void alert("请添加评论内容"):void(a.length&&(e=f[a.data().code],e.content=t,i.ajax({type:"POST",url:"/home/comment/saveComment",data:e}).then(function(e){var n=a.parent();200===e.code?(n.prev().text(t),n.html('<span class="remarked">已评论!</span>'),a.length=0,r.addClass("hide")):alert(e.message)})))}),r.on("click",".dialog-close-btn",function(){a.length=0,r.addClass("hide")})}),define("js/home/complaints",["jquery"],function(e,t,n){function a(){return!!m||(m=!0,setTimeout(function(){m=!1},1e3),!1)}function i(e){var t=e.dom.siblings(".option-tip"),n=d.trim(e.dom.val()),a=n.length;return e.min&&a<e.min?(t.text(e.onmin),!1):e.max&&a>e.max?(t.text(e.onmax),!1):e.regexp&&!e.regexp.test(n)?(t.text(e.onerror),!1):(t.text("输入正确"),!0)}function o(){var e,t={};return d.each(g,function(n,a){i(a)?t[n]=d.trim(a.dom.val()):e||(e=n,a.dom.focus())}),t.complaintsType=h.val(),!e&&t}function s(){var e=o();!a()&&e&&d.ajax({type:"POST",url:"/home/complaints/addcomplaints",data:e}).then(function(e){m=!1,200===e.code?window.location.reload():alert(e.message)})}function r(e,t){var n=t;a()||d.ajax({type:"POST",url:"/home/complaints/cancelcomplaints",data:{id:e}}).then(function(e){m=!1,200===e.code?(n.prev().remove(),n.text("问题已撤销")):alert(e.message)})}var d=e("jquery"),l=d(".cancel-btn"),c=d("#title"),u=d("#customer"),h=d("#complaintsType"),p=d("#orderCode"),f=d("#content"),m=!1,g={title:{dom:c,min:1,max:10,onshow:"请输入您的投诉主题",onfocus:"请输入主题",onmin:"投诉主题不能为空",onmax:"输入投诉主题不能超过10个字"},customer:{dom:u,min:1,max:10,onshow:"请填写您要投诉的对象,比如:客服00*号、发货员...",onfocus:"请填写您要投诉的对象",onmin:"投诉对象不能为空",onmax:"输入投诉对象不能超过10个字"},orderCode:{dom:p,regexp:/^([0-9,]{9,})$/,onshow:"如果多个是多个订单号,请用英文逗号隔开,没有则不填",onfocus:"请输入订单号",onerror:"您输入的订单格式不对,如果多个是多个订单号,请用英文逗号隔开"},content:{dom:f,min:1,max:130,onshow:"输入您投诉的内容",onfocus:"请输入您投诉的内容",onmin:"投诉内容不能为空",onmax:"输入的投诉内容不能超过130个字"}};d.each(g,function(e,t){t.dom.focus(function(){t.dom.siblings(".option-tip").text(t.onfocus)}).blur(function(){i(t)})}),d("#complaint-submit").click(function(){s()}),l.click(function(){var e=d(this).data();e&&e.id&&r(e.id,d(this).parent())})}),define("js/home/message",["jquery"],function(e,t,n){function a(){var e=!1;o=r.find(".msg-check:checked"),c=[],o.each(function(){var t=s(this).parent().parent();c.push(s(this).val()),t.hasClass("new-msg")&&(e=!0)}),e?l.addClass("has-new"):l.removeClass("has-new")}function i(e,t){var n;switch(e){case"del":n="/home/message/delMessage";break;case"read":n="/home/message/readMessage"}s.ajax({type:"GET",url:n,data:t}).then(function(t){t.code?200===t.code?"read"===e&&(o.removeAttr("checked"),o.parent().parent().removeClass("new-msg"),a()):alert(t.message):"del"===e&&(r.html(t),d=r.find(".msg-check"),l=r.find(".read-choose-btn"))})}var o,s=e("jquery"),r=s("#message-main-container"),d=r.find(".msg-check"),l=r.find(".read-choose-btn"),c=[];e("js/home/message-content"),r.on("change",'input[type="checkbox"]',function(){var e=s(this).attr("checked");s(this).hasClass("choose-all")&&("checked"===e?d.attr("checked",!0):d.removeAttr("checked")),a()}),r.on("click",".del-btn",function(){confirm("您确定要删除这条短消息?")&&i("del",s(this).data())}),r.on("click",".del-choose-btn",function(){return c.length?void(confirm("确定要删除您选中的消息")&&i("del",{id:c.join(",")})):void alert("请选中您要删除的消息")}),r.on("click",".read-choose-btn",function(){s(this).hasClass("has-new")&&i("read",{id:c.join(",")})})}),define("js/home/message-content",["jquery"],function(e,t,n){var a=e("jquery"),i=a(".pick-coupon-btn"),o=!1;i.click(function(){var e=a(this).data();o||(o=!0,a.ajax({type:"GET",url:"/home/message/pickCoupon",data:e}).then(function(e){var t=e.message;200===e.code&&(t="领取成功",a(this).removeClass("pick-coupon-btn")),o=!1,alert(t)}))})}),define("js/home/edit",["jquery","handlebars","source-map"],function(e,t,n){function a(){var e=u("#nickname").val().length,t=u("#username").val().length,n=u('input[name="gender"]'),a=u("#year"),i=u("#month"),o=u("#day");return 0===e?(alert("请输入昵称"),!1):0===t?(alert("请输入用户名"),!1):e>=20?(alert("昵称最长为20个字符"),!1):n.is(":checked")?"0"!==a.val()&&"0"!==i.val()&&"0"!==o.val()||(alert("请选择出生年月日"),!1):(alert("请选择性别"),!1)}function i(){return"0"===u("#province").val()||"0"===u("#city").val()||"0"===u("#areaCode").val()?(alert("请选择所在区域"),!1):null===u("#province").val()||null===u("#city").val()||null===u("#areaCode").val()?(alert("请选择所在区域"),!1):0===u("#phone").val().length&&0===u("#mobile").val().length?(alert("电话和手机号码不能同时为空,请填写!"),!1):0===u("#fullAddress").val().length?(alert("请填写地址"),!1):!(0===u("#zipCode").val().length||u("#zipCode").val().length<2)||(alert("请填写邮编"),!1)}function o(){return!!u(".user-habbit-info input").is(":checked")||(alert("请填写购物&着装习惯"),!1)}function s(){return""!==u("#likebrand").val()||(alert("请选择品牌"),!1)}function r(e){var t=u("#likebrand").val();return 0!==parseInt(e)&&(u("#likebrand").val(t.replace(","+e+",",",")),u("#pp-"+e).attr("checked",!1),void u("#brand-"+e).remove())}function d(e,t,n){var a='<li id="brand-'+t+'">'+n+'<a href="javascript:void(0);" class="btn-del"></a></li>',i=u("#brand-"+t).html(),o=u("#likebrand").val(),s=u("#brand-box");return 0!==parseInt(t)&&("undefined"!=typeof e&&""!==e&&e.checked===!1?(r(t),!1):i?(alert("您已经选择了该品牌."),!1):(s.append(a),s.find("li>a").off("click").on("click",function(){r(u(this).closest("li").attr("id").substr(6))}),o+=t+",",void u("#likebrand").val(o)))}function l(){var e={brandName:u("#keywords").val()};u.post("/home/user/isbrandname",e,function(e){return 200===e.code?e.data.id&&e.data.brand_name?(d("",e.data.id,e.data.brand_name),u("#keywords").val(""),!0):(alert("网络异常,请重试"),!1):(alert(e.message),!1)},"json")}function c(e,t){var n=u("#"+t).closest("form");u.post(e,n.serialize(),function(e){return 200===e.code?(alert(e.message),setTimeout(function(){n.closest("div").next().find("h2").click()},100),!0):(alert(e.message),!1)},"json")}var u=e("jquery"),h=u(".userinfo-edit form"),p=e("js/home/common-address"),f={init:function(e,t,n){var a=u("#year"),i=u("#month"),o=u("#day"),s=this;this.createDay(a.val(),i.val(),o.val()),a.on("change",function(){s.update()}),i.on("change",function(){s.update()})},update:function(){this.createDay(u("#year").val(),u("#month").val(),u("#day").val())},createDay:function(e,t,n){var a,i,o='<select name="day" id="day">',s=new Array(4,6,9,11),r=31;if(e=parseInt(e),t=parseInt(t),0===e&&(e=0),0===t&&(t=0),u("#year").val(e.toString()),u("#month").val(t.toString()),o+='<option value="0">日</option>',e>0&&t>0)for(u.inArray(t,s)!==-1?r=30:2===t&&(r=28,0!==e%4||e%100===0&&e%400!==0||(r=29)),i=1;i<=r;i++)a="",parseInt(n)===i&&(a="selected"),o+='<option value="'+i+'" '+a+">"+i+"</option>";o+="</select>",u("#day").replaceWith(o)}};u(".userinfo-edit h2").on("click",function(){var e=u(this).next();h.slideUp("fast"),"none"===e.css("display")?e.slideDown("slow"):null}),u("#base-info").on("click",function(){a()&&c("/home/user/edituserinfo/","base-info")}),u("#contact-info").on("click",function(){i()&&c("/home/user/editusercontactinfo/","contact-info")}),u("#shopping-info").on("click",function(){o()&&c("/home/user/edituserhabitsinfo/","shopping-info")}),u("#favorite-brand").on("click",function(){s()&&u.ajax({url:"/home/user/edituserlikebrand/",type:"post",datatype:"json",data:{brand:u("#likebrand").val()},success:function(e){return 200===e.code?(alert(e.message),!0):(alert(e.message),!1)},error:function(e){alert("网络异常")}})}),u("#add-brand-btn").on("click",function(){l()}),u('.user-favorite-info input[type="checkbox"]').on("click",function(){var e=u(this);d(this,e.attr("id").substr(3),e.parent().text())}),function(){var e=u("#brand-box li");e.length>0&&e.find("a").on("click",function(){r(u(this).closest("li").attr("id").substr(6))})}(),f.init(),function(){u("#province").val()?p.bindAreaChange({provinceDomId:"province",cityDomId:"city",areaDomId:"areaCode"}):p.loadAllData(0,{provinceDomId:"province",cityDomId:"city",areaDomId:"areaCode"})}()}),define("js/home/gift",["jquery","handlebars","source-map"],function(e,t,n){function a(){var e=new Date;return o("#imgcode").attr("src","/passport/images?t="+e.getTime()),!1}var i,o=e("jquery"),s=e("js/common/dialog"),r=s.Alert,d=o(".giftCardCode").find(".gift-error"),l=o(".captchaCode").find(".gift-error"),c="",u="",h=1,p={suc:[!1,!1,!1,!1],checkCard:function(e){if(c=/^[0-9a-zA-Z]{4,4}$/,c.test(o("#giftCardCode"+e).val())){for(h=1;h<=3;h++)c.test(o("#giftCardCode"+h).val())?(d.html(""),p.suc[h]=!0):(d.html("您输入的兑换码有误,兑换码必须为数字或字母,每个文本框里只能输入四个兑换码!"),p.suc[h]=!1);3!==e&&o("#giftCardCode"+(e+1)).focus()}else d.html("您输入的兑换码有误,兑换码必须为数字或字母,每个文本框里只能输入四个兑换码!"),p.suc[e-1]=!1},bindGiftCardForm:function(){o("#giftCardCode1").bind("blur keyup",function(){p.checkCard(1)}),o("#giftCardCode2").bind("blur keyup",function(){p.checkCard(2)}),o("#giftCardCode3").bind("blur keyup",function(){p.checkCard(3)}),o("#captchaCode").bind("blur keyup",function(){u=o("#captchaCode").val(),u.length<=0?(l.html("请输入验证码!"),p.suc[3]=!1):(l.html(""),p.suc[3]=!0)})},checkForm:function(){return c.test(o("#giftCardCode1").val())&&c.test(o("#giftCardCode2").val())&&c.test(o("#giftCardCode3").val())?""!==o.trim(o("#captchaCode").val())||(l.html("请输入验证码!"),!1):(d.html("您输入的兑换码有误,兑换码必须为数字或字母,每个文本框里只能输入四个兑换码!"),!1)}};o("#sub-gift").on("click",function(){return!!p.checkForm()&&void o.post("/home/gift/exchange",o("#giftCardForm").serialize(),function(e){200===e.code?window.location.href="/home/gift?type=1":400===e.code?(i=new r(e.message),i.show(),a()):window.location.href="/home/gift?type=2"},"json")}),o(document).on("click","#imgcode,.check-img",function(){a()}),o(function(){a(),p.bindGiftCardForm()})}),define("js/home/validate",["jquery","handlebars","source-map"],function(e,t,n){function a(e,t){return e.$checkInfo.html('<div class="form-error">'+t+"</div>"),"code"!==e.dom.attr("name")&&"verifyCode"!==e.dom.attr("name")&&e.dom.addClass("input-error"),!1}function i(e){return e.$checkInfo.html('<div class="form-success">&nbsp;</div>'),"code"!==e.dom.attr("name")&&"verifyCode"!==e.dom.attr("name")&&e.dom.removeClass("input-error"),!0}function o(e){var t;return v.post(e.url,e.data,function(n){"undefined"!=typeof n.code&&200===n.code?t=i(e.opt):(e.txt=""!==e.txt&&null!==e.txt?e.txt:n.message,t=a(e.opt,e.txt))}),t}function s(e){var t=e.val(),n=t.length,s=e.parent(),r=s.find(".check-info"),d=e.attr("name"),l="",c="",u="",h={$checkInfo:r,dom:e},p={opt:h};return r.html(""),"password"===d?0===n?a(h,"密码不能为空!"):(v.extend(p,{url:"/home/account/checkpassword",data:{password:t},txt:"密码错误!"}),o(p)):"verifyCode"===d?(v.extend(p,{url:"/home/account/checkverifycode",data:{verifyCode:t},txt:"验证码错误!"}),o(p)):"email"===d?(l=b.emailRegx,null===t.match(l)?a(h,"邮箱错误!"):(v.extend(p,{url:"/home/account/checkemail",data:{email:t},txt:""}),o(p))):"mobile"===d?(l=b.phoneRegx,c=t.split("-"),l=1===c.length?t.match("^1[35847]{1}[0-9]{9}"):l["+"+c[0]].test(c[1]),0===n?a(h,"手机号不能为空!"):null!==l&&l?(v.extend(p,{url:"/home/account/checkmobile",data:{mobile:t},txt:"手机号已经存在!"}),o(p)):a(h,"手机号错误!")):"newPwd"===d?(l=b.pwdValidateRegx,l.test(t)?i(h):a(h,"建议6~20个数字+字母组合!")):"confirm_password"===d?v("#newPwd").val()!==t?a(h,"两次密码不一致!"):i(h):"code"!==d||(u=v("#realAccount").length>0?v("#realAccount").val():v("#mobilevalue").val(),""!==t?(v.extend(p,{url:"/home/account/checkmobilemsg",data:{mobile:u,code:v("#inputcode").val()},txt:"验证码错误!"}),o(p)):void 0)}function r(){var e=[];return k=!1,v.each(_,function(t,n){e[t]=s(v(n))}),!(e.indexOf(!1)>=0)||(k=!0,!1)}function d(){var e=(new Date).getTime();v("#the-code-img").attr("src","/passport/images?len=6&time="+e)}function l(){var e="";j>0?(e="重新发送"+j+"秒",v("#sendButton").text(e),j-=1):(j=60,v("#sendButton").text("发送验证码"),clearInterval(m),x=!0)}function c(e){var t=v("#inputcode"),n=t.parent().find("check-info");v.post("/home/account/sendmobilemsg",{mobile:e},function(e){"undefined"!=typeof e.code&&200===e.code?(x=!1,m=setInterval(function(){l()},1e3),n.html("")):n.html('<div class="form-error">验证码发送失败</div>')})}function u(){var e,t,n,a=v("#mobilevalue");if(a.length>0?(e=a.next(),t=a.val(),n=t.split("-"),n=1===n.length?t.match("^1[35847]{1}[0-9]{9}"):b.phoneRegx["+"+n[0]].test(n[1])):t=v("#realAccount").val(),
+!x)return!1;if(a.length>0){if(null===n||!n)return e.html('<div class="form-error">手机号错误!</div>'),a.addClass("input-error"),!1;e.find(".form-success").length>0&&c(t)}v("#realAccount").length>0&&c(t)}function h(){window.location.href="/home/account"}function p(e,t){v.post(e.url,e.data,function(n){return 200!==n.code?(k=!0,g=new w(n.message),g.show(),!1):(t&&(e.hrefUrl+="&checkCode="+n.data),void(window.location.href=e.hrefUrl))},"json")}function f(){var e=v(".progress-bar .cur").index(),t=v("#verifyType").val(),n="",a={};v(".email").length>0&&(n="email"),v(".mobile").length>0&&(n="mobile"),v(".userpwd").length>0&&(n="userpwd"),0===e?"1"===t?(a={url:"/home/account/verifypassword",data:v("#pwdform").serialize(),hrefUrl:"/home/account/"+n+"?step=2"},p(a,"step1")):"2"===t?(a={url:"/home/account/sendemail",data:{checkType:n,email:v("#realAccount").val()},hrefUrl:"/home/account/sendemailsuccess?email="+v("#realAccount").val()+"&type=1&checkType="+n},p(a)):(a={url:"/home/account/checkmobilemsg",data:{mobile:v("#realAccount").val(),code:v("#inputcode").val()},hrefUrl:"/home/account/"+n+"?step=2"},p(a,"step1")):1===e&&("userpwd"===n?(a={url:"/home/account/modifypwd",data:v("#pwdform").serialize(),hrefUrl:"/home/account/userpwd?step=3&success=true"},p(a)):"email"===n?(a={url:"/home/account/modifyemail",data:{email:v("#email").val()},hrefUrl:"/home/account/sendemailsuccess?email="+v("#email").val()+"&type=2&checkType=email"},p(a)):(a={url:"/home/account/modifymobile",data:{mobile:v("#mobilevalue").val(),code:v("#inputcode").val()},hrefUrl:"/home/account/mobile?step=3&success=true"},p(a)))}var m,g,v=e("jquery"),y=e("js/common/dialog"),b=e("js/passport/mail-phone-regx"),w=y.Alert,C=v(".check-user"),_=C.find("input").not("input[type=button],input[type=hidden],input[type=reset]"),x=!0,k=!0,j=60;v.ajaxSetup({async:!1}),Array.prototype.indexOf||(Array.prototype.indexOf=function(e,t){var n,a;for(n=t||0,a=this.length;n<a;n++)if(this[n]===e)return n;return-1}),v(function(){var e=null;v(".res-info").length>0&&(e=setTimeout(function(){h()},5e3)),d(),v("#pwdform").submit(function(){return!1}),_.blur(function(){s(v(this))}),v(".sub-btn").on("click",function(){return k!==!1&&(!!r()&&void f())}),v("input[name=verifyCode]").keydown(function(e){if(13===e.keyCode){if(k===!1)return!1;if(!r())return!1;f()}}),v(".the-code").on("click",function(){d()}),v("#send-mobile-code").on("click",function(){u()}),v("#newPwd").length>0&&v("#newPwd").on("input",function(e){var t=v("input[name=confirm_password]"),n=t.val(),i=v("#newPwd").val(),o={dom:t,$checkInfo:t.next()};n.length>0&&i!==n&&a(o,"两次密码不一致!")})})}),define("js/home/address",["jquery","handlebars","source-map"],function(e,t,n){function a(e){var t=e.parents(".address-content"),n=t.attr("addressId");return n}function i(e){var t="";"addressName"===e.inputName&&(t="真实姓名在2到5个汉字之间"),"address"===e.inputName&&(t="请填写详细地址"),"zipCode"===e.inputName&&(t="请输入收货人所在地邮编号"),"phone"===e.inputName&&(t="格式例如:0577-88888888"),"mobile"===e.inputName&&(t="请输入手机号,如1360000000"),"email"===e.inputName&&(t="用来接收订单提醒邮件,便于您及时了解订单状态"),e.$checkInfo.removeClass("form-prompt").addClass("form-focus").html(t)}function o(e){var t="",n=!0,a="输入正确",i="form-info form-success",o=e.val;return"addressName"===e.inputName&&(t=/^[\u4e00-\u9fa5]{2,5}$/,e.len<1||e.len>12?(a="真实姓名在2到5个汉字之间,请确认",n=!1,i="form-info form-error"):t.test(e.val)===!1&&(a="真实姓名至少2个中文,最多5个中文",n=!1,i="form-info form-error")),"address"===e.inputName&&e.len<2&&(a="请填写详细地址",n=!1,i="form-info form-error"),"zipCode"===e.inputName&&(t=/^[0-9]{6}$/,0===e.len?(a="请输入收货人所在地邮编号",n=!1,i="form-info form-error"):t.test(e.val)===!1&&(a="你输入的邮编式不正确",n=!1,i="form-info form-error")),"phone"===e.inputName&&(t=/^(0[0-9]{2,3}\-)?([2-9][0-9]{6,7})+(\-[0-9]{1,4})?$/,0===e.len?(a="你真的不想留联系电话了吗?",n=!0,i="form-info form-success"):t.test(e.val)===!1&&(a="你输入的联系电话格式不正确",n=!1,i="form-info form-error")),"mobile"===e.inputName&&(t=/^1[3|4|5|8|7][0-9]{9}$/,11!==e.len?(a="手机号码必须是11位的,请确认",n=!1,i="form-info form-error"):t.test(e.val)===!1&&(a="您输入的手机号格式不正确",n=!1,i="form-info form-error")),"email"===e.inputName&&(t="^[a-z0-9_-]+(.[_a-z0-9-]+)*@([_a-z0-9-]+.)+([a-z]{2}|aero|arpa|biz|com|coop|edu|gov|info|int|jobs|mil|museum|name|nato|net|org|pro|travel)$",null!==o.match(t)&&0!==e.len||(a="你输入的邮件地址格式不正确",n=!1,i="form-info form-error")),e.$checkInfo.removeClass().addClass(i).html(a),n}function s(e,t){var n=e.val(),a=e.parent(),s={val:n,len:n.length,$domParent:e.parent(),$checkInfo:a.find("span"),inputName:e.attr("name")};if("focus"===t&&i(s),"blur"===t)return o(s)}function r(){var e=c("#phone").next(),t=c("#mobile").next();return t.hasClass("form-success")&&!e.hasClass("form-error")&&0===c("#phone").val().length?(e.removeClass().addClass("form-prompt form-info").html("请输入你的联系电话,可以为空哦"),!0):"输入正确"!==e.html()||t.hasClass("form-error")||0!==c("#mobile").val().length?t.hasClass("form-success")||"输入正确"===e.html()?void 0:(e.removeClass().addClass("form-success form-info").html("你真的不想留联系电话了吗?"),t.removeClass().addClass("form-prompt form-info").html("填写手机号便于接收发货和收货通知"),c("#mobile").focus(),!1):(t.removeClass().addClass("form-prompt form-info").html("填写手机号便于接收发货和收货通知"),!0)}function d(){var e=[];return c.each(g,function(t,n){e.push(s(c(n),"blur"))}),e.push(r()),c.each(c(".form-info"),function(e,t){if(c(t).hasClass("form-error"))return c(t).prev().focus(),!1}),e.indexOf(!1)===-1}var l,c=e("jquery"),u=e("js/home/common-address"),h=e("js/common/dialog"),p=h.Alert,f=c(".address-del"),m=c(".address-modify"),g=c(".input-1"),v={evil:function(e){var t=Function;return new t("return "+e)()},clearAddrForm:function(){c("#addressName").val(""),c("#address").val(""),c("#zipCode").val(""),c("#phone").val(""),c("#mobile").val(""),c("#email").val(""),c("#addrId").val(0),c("#province").val(0),c("#city").val(0),c("#areaCode").val(0).hide(),c("#btn-reset").hide(),c("#form-status").html("添加新地址")},editAddr:function(e){c.getJSON("/home/address/editAddress?id="+e,function(e){200===e.code&&(c("#form-status").html("修改地址"),c("#addressName").val(e.data.consignee),u.loadAllData(e.data.area_code,{}),c("#address").val(e.data.address),c("#email").val(e.data.email),c("#phone").val(e.data.phone),c("#mobile").val(e.data.mobile),c("#zipCode").val(e.data.zip_code),c("#addrId").val(e.data.address_id),c("#btn-reset").show())})},saveAddr:function(e){c.post("/home/address/saveAddress",c("#address-form").serialize(),function(e){200===e.code?location.reload():(l=new p(e.message),l.show())},"json")},delAddr:function(e){c.getJSON("/home/address/delAddress?id="+e,function(t){200===t.code?(c(".address-list").find("li[addressId="+e+"]").remove(),e===c("#addrId").val()&&v.clearAddrForm()):(l=new p("删除失败"),l.show())})},setDefaultAddr:function(e){var t=c(".address-list").find(".default-btn"),n=c(".address-list").find(".default-btn").parents("li"),a=c(".address-list").find("li[addressId="+e+"]"),i=a.find(".set-default-btn");c.getJSON("/home/address/defaultAddress?id="+e,function(e){200===e.code?(t.attr("class","btn-c3 set-default-btn"),n.removeClass("preferred"),t.html("<span>设为常用地址</span>"),i.attr("class","btn-c2 default-btn"),t.html("<span>设为常用地址</span>"),a.addClass("preferred")):(l=new p("设置失败"),l.show())})}};Array.prototype.indexOf||(Array.prototype.indexOf=function(e,t){var n,a;for(n=t||0,a=this.length;n<a;n++)if(this[n]===e)return n;return-1}),c(document).on("click",".set-default-btn",function(){var e=a(c(this));v.setDefaultAddr(e)}),f.on("click",function(){var e=a(c(this));v.delAddr(e)}),m.on("click",function(){var e=a(c(this));v.editAddr(e),c("#btn-reset").show()}),g.on("focus",function(){s(c(this),"focus")}),g.on("blur",function(){s(c(this),"blur")}),c("#address-info").on("click",function(){d()&&v.saveAddr()}),c(document).ready(function(){u.loadAllData(0,{provinceDomId:"province",cityDomId:"city",areaDomId:"areaCode"}),v.clearAddrForm(),c("#btn-reset").click(function(){v.clearAddrForm()})})}),define("js/help/entry",["jquery","handlebars","source-map"],function(e,t,n){e("js/help/search")}),define("js/help/search",["jquery","handlebars","source-map"],function(e,t,n){var a=e("jquery"),i=e("handlebars"),o=a(".search-content"),s=a("#help-dialog-widget"),r=a("#help-dialog-bg"),d=a(document).width(),l=a(window).height(),c='<div class="dialog-titlebar"><span class="dialog-close-btn"></span></div><div class="dialog-content"><p class="ask">问:<br>{{ask}}</p><p class="answer">答:<br>{{answer}}</p></div>',u=i.compile(c);o.on("click",".faqs",function(){var e=a(this).data(),t=a(document).scrollTop();s.html(u(e)).removeClass("hide"),r.removeClass("hide"),s.html(u(e)).css({top:t+(l-s.outerHeight())/2,left:(d-s.outerWidth())/2})}),s.on("click",".dialog-close-btn",function(){s.addClass("hide"),r.addClass("hide")})}),define("js/order/ensure",["jquery","handlebars","source-map"],function(e,t,n){function a(e,t,n,a){var i=1,o=1,s=0,r=!1;e.click(function(){r||("0px"===n.css("left")?s=0:(s+=o*a,r=!0),n.stop().animate({left:s},300,function(){r=!1}))}),t.click(function(){var e=n.parent().width()-n.width()+"px";r||(n.css("left")===e?n.css("left",e):(s+=-i*a,r=!0),n.stop().animate({left:s},300,function(){r=!1}))})}var i=e("jquery"),o=e("js/order/address"),s=e("js/common/dialog"),r=function(e,t){var n=0,a=e.toString(),i=t.toString();try{n+=a.split(".")[1].length}catch(o){}try{n+=i.split(".")[1].length}catch(o){}return Number(a.replace(".",""))*Number(i.replace(".",""))/Math.pow(10,n)},d={Data:{product:0,activity:0,carriage:0,juan:0,yohocoin:0},UI:{e:{$pan:i(".pan"),$jc:i("#juancode"),$bp:i("#biprice"),$statistics:i("li",".play-total"),$tobi:i("p em",".play-bi-pan .play-pan"),$cancel:i(".cancel",".btn-group"),$total:i("em",".to-play"),$tbody:i("table tbody",".pay-wapper"),$orderSelectionSave:i(".address-list h2 span"),$addAddress:i(".add-address"),$addressManage:i(".address-manage"),$spanPayTypeLegend:i("span.pay-type-legend"),$supportType:i(".support-type"),$existAddressListWrap:i(".exist-address-list"),$existAddressList:i(".exist-address-list").find("li"),$existAddress:i(".exist-address-list").find('input[name="exist-address"]'),$payTimeModify:i(".pay-time-modify"),$switchPayModify:i(".switch-pay-modify"),$modityPayInfo:i(".modity-pay-info"),$payTotal:i(".play-total"),$toPay:i(".to-play em"),$redEnvelopes:i(".red-envelopes"),$useEnvelopes:i(".use-envelopes"),$hasEnvelopes:i(".has-envelopes span"),$useEnvelopesInput:i(".use-envelopes").find("input"),$expressFee:i(".express-fee")},init:function(){var e=this.e,t=d.Data,n=d.Common;e.$tbody.find("tr").each(function(a){var o=i(this).find("td"),s=e.$tbody.find("tr").length,r=parseFloat(o.eq(1).html())*parseInt(o.eq(3).html());o.eq(1).html("¥"+o.eq(1).html()),o.hasClass("xforone")?(o.eq(4).find("del").html("¥"+n.strFixed(r)),r=0):o.eq(4).html("¥"+n.strFixed(r)),t.product+=r,a?o.last().remove():o.last().attr("rowspan",s),a===s-1&&e.$tbody.find("tr").eq(0).find("td").last().html("<strong>¥"+n.strFixed(t.product)+"</strong>")}),e.$pan.find("dt").click(function(){var e=i(this).parent("dl.pan");e.find("dd").is(":hidden")?(n.winShow(e),i(this).addClass("active")):(n.winHide(e),i(this).removeClass("active"))}),e.$orderSelectionSave.click(function(){var t=0,n=i(".exist-address-list li"),a=n.length,o=0;if(i(this).attr("expand")){for(t=0;t<a;t++)n.eq(t).hasClass("address_select")&&o++,n.eq(t).hasClass("address_select")||n.eq(t).addClass("hide");0===o&&(i('.exist-address-list li:not(".use-new-address")').removeClass("hide"),i(".use-new-address input").removeAttr("checked")),i(".address-list-inner li.address_select input").attr("checked","checked"),i(".address-list-inner li").removeClass("active"),i(".address-list-inner li.address_select").addClass("active"),i(this).removeAttr("expand").text("[修改]"),i(".save-btn").addClass("hide"),e.$existAddressListWrap.removeClass("address-expand"),e.$addressManage.addClass("hide")}else i(this).attr("expand","expand").text("[不保存并关闭]"),i(".exist-address-list li").removeClass("hide"),i(".save-btn").removeClass("hide"),e.$existAddressListWrap.addClass("address-expand"),1===a&&e.$addressManage.removeClass("hide")}),e.$switchPayModify.click(function(){e.$payTimeModify.hasClass("hide")?(e.$payTimeModify.removeClass("hide"),e.$modityPayInfo.addClass("hide"),i(this).text("[不保存并关闭]")):(e.$payTimeModify.addClass("hide"),e.$modityPayInfo.removeClass("hide"),i(this).text("[修改]"),e.$payTimeModify.find('input[name="pay-type"]').filter(".checked").attr("checked","checked"),e.$payTimeModify.find('input[name="pay-time-radio"]').filter(".checked").attr("checked","checked"),e.$payTimeModify.find('input[name="call-me"]').filter(".checked").attr("checked","checked"))}),e.$spanPayTypeLegend.click(function(){i(this).toggleClass("active"),e.$supportType.toggleClass("hide")}),i(document).on("click",".exist-address-list li",function(){i(".exist-address-list li").removeClass("active"),i(this).addClass("active"),i(this).find("input").attr("checked","checked"),i(this).hasClass("use-new-address")&&(e.$addressManage.removeClass("hide"),i(".address-manage input").val(""),i(".save-btn").removeAttr("data-id"),o.newAddress(0,"000000"))})},render:function(e,t){var n,a,o,s=this.e,d=e.promotion_formula_list,l=e.package_list,c="",u="";for(a=t?t:"",n=0;n<d.length;n++)"优惠券:"===d[n].promotion&&(d[n].promotion=(a?a:"优惠券")+'<span class="juan-modify">[修改]</span>:'),"YOHO币:"===d[n].promotion&&(d[n].promotion='YOHO币<span class="bi-modify">[修改]</span>:'),u=d[n].isExpress?"total-express-w":"",c+='<li class="'+u+'"><label>'+d[n].promotion+"</label><em>"+d[n].promotion_amount+"</em></li>";s.$payTotal.html(c),s.$toPay.html(e.last_order_amount.toFixed(2)),i("#biprice").val(r(100,e.use_yoho_coin)),0===~~e.use_yoho_coin?i(".errbitip").text(""):i(".errbitip").text("抵扣"+e.use_yoho_coin.toFixed(2)+"元"),o=s.$useEnvelopesInput.data("all")-e.use_red_envelopes,~~e.use_red_envelopes>0?(s.$useEnvelopes.find("span").html("-¥"+e.use_red_envelopes.toFixed(2)),s.$useEnvelopes.find("input").attr("data-use",e.use_red_envelopes)):(s.$useEnvelopes.find("span").html("-¥0.00"),s.$hasEnvelopes.html("¥"+(1*s.$useEnvelopesInput.attr("data-all")).toFixed(2)),s.$redEnvelopes.removeClass("active"),s.$useEnvelopesInput.prop("checked",!1)),s.$hasEnvelopes.html("¥"+o.toFixed(2)),l&&s.$expressFee.each(function(e,t){var n=l[e].shopping_orig_cost,a=l[e].shopping_cut_cost,o=l[e].shopping_cost,s=0===parseInt(n)?"运费:¥0.00元":"运费:¥"+o+"元(原价"+n+"元,优惠"+a+")元";i(t).text(s)})}},Common:{enterNUM:function(e,t){return e=e.replace(/[^\d]/g,""),e&&t&&(e=parseInt(e),t=parseInt(t),e>t&&(e=t)),e},calucate:function(){var e=d.Data;return i.each(d.Data,function(t,n){e[t]=parseFloat(d.Data[t])}),e.product-e.activity+e.carriage-e.juan-e.yohocoin},winShow:function(e){e.find("dt").show(),e.find("dd").show(),e.attr("class").match(/(-bi-)|(-juan-)/g)&&e.find("dt").hide()},winHide:function(e){e.find("dt").show(),e.find("dd").hide()},strFixed:function(e){return parseFloat(e).toFixed(2)}},Bll:{e:{$juanok:i("#juansubmit"),$juantip:i(".errtip",".play-juan-pan"),$biok:i("#bisubmit"),$carriageGroup:i('input[name="carriagegroup"]'),$selectExpress:i(".express-list input"),$bp:i("#biprice"),$errorTip:i(".errbitip"),$useEnvelopes:i(".use-envelopes"),$hasEnvelopes:i(".has-envelopes span"),$useEnvelopesInput:i(".use-envelopes").find("input"),$redEnvelopes:i(".red-envelopes"),$loading:i(".loading")},init:function(){function e(e){var t,n=i('.play-juan.is-select input[name="juangroup"]:checked'),a=i('.express-list input[name="carriagegroup"]:checked').val(),o=i("#biprice.is-select").val(),s=n.val(),r=i(".address-manage").attr("cart-type"),d=i(".use-envelopes input:checked").attr("data-use");s=s?s:n.closest("li").find("#juancode").val(),t={cartType:r,deliveryWay:a,couponCode:s,yohoCoin:o},d&&(t.redEnvelopes=d),e(t)}function t(e,t){var n=e;n.keyup(function(){n.val().length>t&&n.val(n.val().substr(0,t))})}var n,a,o=this.e,r=d.UI,l=d.Common;o.$selectExpress.click(function(){var t=i(this).val();o.$loading.show(),e(function(e){e.deliveryWay=t,n={type:"POST",url:"/cart/index/orderCompute",data:e,success:function(e){o.$loading.hide(),200===e.code?(r.render(e.data),"1"===t?i(".express-list.sf").addClass("hide"):"2"===t&&i(".express-list.sf").removeClass("hide")):new s.Alert(e.message).show()}},i.ajax(n)})}),o.$juanok.click(function(){var t=i(this).parents("dl.pan"),a="";i(".play-juan").addClass("is-select"),e(function(e){var s=e.couponCode;s?(o.$loading.show(),n={type:"POST",url:"/cart/index/orderCompute",data:e,success:function(e){o.$loading.hide(),200===e.code?(a=i('.play-juan input[value="'+s+'"]').next().text(),r.render(e.data,a),l.winHide(t),o.$juantip.html("")):(o.$juantip.html(e.message),i(".play-juan").removeClass("is-select"))}},i.ajax(n)):(o.$juantip.html("请选择或填写一个优惠券"),i(".play-juan").removeClass("is-select"))})}),i(document).on("click",".juan-modify",function(){var e=i(".play-juan-pan");l.winShow(e)}),o.$biok.click(function(){var t,a=i(this).parents("dl.pan");i("#biprice").addClass("is-select"),e(function(e){e.couponCode&&(t=i('.play-juan input[value="'+e.couponCode+'"]').next().text()),/^\d+$/.test(e.yohoCoin+"")&&1*e.yohoCoin!==0?1*e.yohoCoin>1*i(".play-pan em").text()?(i(".errbitip").html("您的YOHO币不足"),i("#biprice").removeClass("is-select")):(o.$loading.show(),n={type:"POST",url:"/cart/index/orderCompute",data:e,success:function(e){o.$loading.hide(),200===e.code?(r.render(e.data,t),l.winHide(a)):(i(".errbitip").html(e.message),i("#biprice").removeClass("is-select"))}},i.ajax(n)):(i(".errbitip").html("请输入一个正整数"),i("#biprice").removeClass("is-select"))})}),i(document).on("click",".bi-modify",function(){var e=i(".play-bi-pan");l.winShow(e)}),o.$bp.keyup(function(){var e=i(this).val();/^\d+$/.test(e+"")?1*e>1*i(this).data("bi")?o.$errorTip.html("您的YOHO币不足"):o.$errorTip.html("抵扣"+(e/100).toFixed(2)+"元"):o.$errorTip.html("请输入一个正整数")}),i(".cancel-bi").click(function(){var t,a=i(".play-bi-pan");i(".errbitip").html(""),i("#biprice").hasClass("is-select")?(o.$loading.show(),e(function(e){e.yohoCoin=0,e.couponCode&&(t=i('.play-juan input[value="'+e.couponCode+'"]').next().text()),n={type:"POST",url:"/cart/index/orderCompute",data:e,success:function(e){o.$loading.hide(),200===e.code?(r.render(e.data,t),l.winHide(a),i("#biprice").val("0"),i("#biprice").removeClass("is-select"),i(".errbitip").html("")):i(".errbitip").html(e.message)}},i.ajax(n)})):(l.winHide(a),i("#biprice").val("0"))}),i(".cancel-code").click(function(){var t=i(".play-juan-pan");i(".play-juan").hasClass("is-select")?(o.$loading.show(),e(function(e){e.couponCode="",n={type:"POST",url:"/cart/index/orderCompute",data:e,success:function(e){o.$loading.hide(),200===e.code?(r.render(e.data),l.winHide(t),i(".play-juan").removeClass("is-select"),i("#juancode").val("").siblings('input[name="juangroup"]').attr("checked","checked")):o.$juantip.html(e.message)}},i.ajax(n)})):l.winHide(t)}),a=o.$useEnvelopesInput.data("all")-o.$useEnvelopesInput.data("use"),o.$hasEnvelopes.text("¥"+a.toFixed(2)),o.$useEnvelopes.find("input").click(function(){var t,a=i(this);o.$loading.show(),a.attr("disabled","disabled"),e(function(e){a.attr("checked")?e.redEnvelopes=a.data("use"):e.redEnvelopes=0,t=i('.play-juan input[value="'+e.couponCode+'"]').next().text(),n={type:"POST",url:"/cart/index/orderCompute",data:e,success:function(e){o.$loading.hide(),200===e.code?(r.render(e.data,t),a.removeAttr("disabled"),a.attr("checked")?o.$redEnvelopes.addClass("active"):(o.$useEnvelopes.find("span").html("-¥0.00"),o.$hasEnvelopes.html("¥"+(1*a.attr("data-all")).toFixed(2)),o.$redEnvelopes.removeClass("active"))):new s.Alert(e.message).show()}},i.ajax(n)})}),t(i("#piaodesc"),30),t(i("#notedesc"),100)}}};d.Data.activity=0,d.Data.carriage=0,d.UI.init(),d.Bll.init(),o.getUserAddressList(),o.newAddress(0,"000000"),o.modifyAddress(),o.saveAddress(),i(".why").click(function(){return i("#differentBag").show(),!1}),i("#differentBag").click(function(){return!1}),i(document).click(function(){i("#differentBag").hide()}),i(".bag").find("ul").each(function(){var e=i(this).parent().parent().find(".pre"),t=i(this).parent().parent().find(".next"),n=i(this).find("li").eq(0).width(),o=i(this).find("li").size(),s=n*o;i(this).css("width",s),o>5?(e.show(),t.show(),a(e,t,i(this),n)):(e.hide(),t.hide())})}),define("js/order/address",["jquery","handlebars","source-map"],function(e,t,n){function a(e,t,n){var a,i,o="",s="";for(a=0;a<t.length;a++)s="Y"===t[a].is_support_express?"*":"",o+=t[a].id===n?'<option selected value="'+t[a].id+'">'+s+t[a].caption+"</option>":'<option value="'+t[a].id+'">'+s+t[a].caption+"</option>";"province"===e.attr("name")?i='<option value="0">请选择省份</option>':"city"===e.attr("name")?i='<option value="0">请选择城市</option>':"county"===e.attr("name")&&(i='<option value="0">请选择区县</option>'),e.html(i+o)}function i(e,t){var n,i=e.selectId;"getProvince"===e.type?n=f:"getCity"===e.type?n=m:"getCounty"===e.type&&(n=g),c.ajax({type:"GET",url:"/cart/index/getAreaList",dataType:"json",data:{id:1*e.id}}).then(function(e){a(n,e.data,i),"function"==typeof t&&t()})}function o(e){return e.replace(/^(\d{3}).*(\d{4})$/,"$1****$2")}function s(e){b.val(e.attr("data-name")),b.attr("data-id",e.attr("data-id")),_.val(e.attr("data-addressDesc")),w.val(e.attr("data-mobile")),C.val(e.attr("data-email")),x.val(e.attr("data-zipcode")),j.val(e.attr("data-phoneCode")),S.val(e.attr("data-phoneNum"))}function r(){T.removeClass("active"),q.find('li:not(".active")').addClass("hide"),q.find("li.active").addClass("address_select"),p.addClass("hide"),k.addClass("hide").removeAttr("data-id"),q.removeClass("address-expand"),c(".address-list h2 span").text("[修改]")}function d(){var e,t,n,a=c(".play-juan ul"),i="";c.ajax({type:"GET",dataType:"json",url:"/cart/index/getCouponList"}).then(function(o){if(200===o.code){for(t=o.data,e=t.length,n=0;n<e;n++)i+='<li><input name="juangroup" type="radio" value="'+t[n].code+'" '+(t[n].valid?"":'disabled="disabled"')+"><label>"+t[n].desc+"</label></li>";a.prepend(c(i))}})}function l(e){return"N"!==e}var c=e("jquery"),u=e("js/common/dialog"),h=!1,p=c(".address-manage"),f=p.find('.text-input[name="province"]'),m=p.find('.text-input[name="city"]'),g=p.find('.text-input[name="county"]'),v=p.find('.text-input[name="province"], .text-input[name="city"]'),y=c(".address-list"),b=p.find('.text-input[name="name"]'),w=p.find('.text-input[name="phone"]'),C=p.find('.text-input[name="mail"]'),_=p.find('.text-input[name="address"]'),x=p.find('.text-input[name="code"]'),k=c(".save-btn"),j=p.find('.text-input[name="tel-code"]'),S=p.find('.text-input[name="tel"]'),T=c(".use-new-address"),q=c(".exist-address-list"),I=c(".loading"),E=c("#order-edit-main"),A=p.attr("cart-type");I.show(),t.getUserAddressList=function(){var e,t,n="",a="",i="",o="",s=0;c.ajax({type:"GET",url:"/cart/index/getAddress",dataType:"json"}).then(function(r){if(I.hide(),200===r.code){if(e=r.data.list,!e)return E.attr("data-new")&&(k.addClass("new-user-btn").html("下一步:选择支付及送货时间"),c(".pay-btn").addClass("new-user-pay").html("下一步:发票和备注"),c(".switch-pay-modify").html("")),y.find(">h2").find("span").click(),c(".exist-address-list li").click(),void c(".use-new-address").removeClass("active");for(t=0;t<e.length;t++)e[t].checked?(a="checked",i="active address_select",s++,o="默认地址"):(a="",i="hide",o="设为默认地址"),n+='<li data-id="'+e[t].id+'" class="'+i+'" data-express="'+e[t].isSupport+'"><input data-name="'+e[t].user+'" data-areaCode="'+e[t].areaCode+'" data-addressDesc="'+e[t].addressDesc+'" data-mobile="'+e[t].mobile+'" data-phoneNum="'+e[t].phoneNum+'" data-phoneCode="'+e[t].phoneCode+'" data-zipCode="'+e[t].zipCode+'" data-email="'+e[t].email+'" class="radio" type="radio" name="address" '+a+' /><label for=""><strong>'+e[t].user+"</strong>"+e[t].address+'<a href="javascript:void(0);" class="default-address">'+o+'</a><div class="order-modify-btn"><span class="address-modify">[修改]</span><span class="address-del">[删除]</span></div></label></li>';c(".use-new-address").before(c(n)),0===s&&c(".address-list h2 span").click(),"N"===c(".active.address_select").attr("data-express")?(c('.express-list input[name="carriagegroup"][value="2"]').attr("disabled","disabled"),c('.express-list input[name="carriagegroup"][value="1"]').attr("checked","checked"),c(".express-list.sf").addClass("hide"),c(".is-sup").removeClass("hide")):(c('.express-list input[name="carriagegroup"][value="2"]').removeAttr("disabled"),c(".express-list.sf").removeClass("hide"),c(".is-sup").addClass("hide"))}})},t.newAddress=function(e,t){var n=e||0,a=/[0-9]{2}/gi,o=!!t&&t.match(a);i({id:n,type:"getProvince",selectId:o[0]},function(){var e=f.val();"0"!==e?i({id:e,type:"getCity",selectId:""+o[0]+o[1]},function(){var e=m.val();"0"!==e&&i({id:e,type:"getCounty",selectId:t})}):(p.find('select[name="city"]').html('<option value="0">请选择城市</option>'),p.find('select[name="county"]').html('<option value="0">请选择区县</option>'))}),v.change(function(){var e=c(this);"province"===e.attr("name")&&("0"===e.val()?(p.find('select[name="city"]').html('<option value="0">请选择城市</option>'),p.find('select[name="county"]').html('<option value="0">请选择区县</option>')):(i({id:e.val(),type:"getCity"},function(){h=!0}),p.find('select[name="county"]').html('<option value="0">请选择区县</option>'))),"city"===e.attr("name")&&h&&("0"===e.val()?p.find('select[name="county"]').html('<option value="0">请选择区县</option>'):i({id:e.val(),type:"getCounty"}))})},t.modifyAddress=function(){y.click(function(e){var n=c(e.target),a=n.closest("li").attr("data-id"),i=n.closest("li").find(".radio").attr("data-areaCode");n.hasClass("address-modify")?(p.removeClass("hide"),t.newAddress(0,i),s(n.closest("li").find(".radio")),c(".address-list-inner .save-btn").removeClass("hide"),k.attr("data-id",a),h=!0):n.hasClass("address-del")?(I.show(),c.ajax({type:"POST",url:"/cart/index/delAddress",data:{id:a}}).then(function(e){I.hide(),200===e.code?n.closest("li").remove():new u.Alert(e.message).show()}).fail(function(){})):n.hasClass("default-address")&&!n.parents("li").hasClass("address_select")&&(I.show(),c.ajax({type:"post",url:"/cart/index/setDefaultAddress",data:{id:a}}).then(function(e){I.hide(),200===e.code?(c(".exist-address-list li").removeClass("address_select").find(".default-address").text("设为默认地址"),n.parents("li").addClass("address_select"),n.text("默认地址")):new u.Alert(e.message).show()}))})},t.saveAddress=function(){k.click(function(){function e(e){return e===y?e?e+"-":" ":e?e+" ":" "}var t,n,a,i=c(this),s=b.val(),d=f.val(),l=m.val(),h=g.val(),p=_.val(),v=w.val(),y=j.val(),T=S.val(),q=C.val(),I=x.val(),E=f.find('option[value="'+d+'"]').text().replace(/\*/,""),A=m.find('option[value="'+l+'"]').text().replace(/\*/,""),F=g.find('option[value="'+h+'"]').text().replace(/\*/,""),U={consignee:s,areaCode:h,address:p,email:q,mobile:v,zipCode:I,phoneCode:y,phoneNum:T},D=/^[\u4e00-\u9fa5]{2,5}$/,P=/^[\s\S]{2,100}$/,O=/^(13[0-9]|15[012356789]|17[678]|18[0-9]|14[57])[0-9]{8}$/,L=/^[0-9]{6}$/,N=/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/,$=/^[0-9]{3,5}$/,z=/^[0-9]{5,10}$/;if(a=c('.exist-address-list li:not(".use-new-address")').find('input[name="address"]:checked').length>0,c(".add-address").attr("checked")||!a||c(".save-btn").attr("data-id")||(c(".exist-address-list li").removeClass("address_select"),c(".exist-address-list li.active").addClass("address_select").find('input[name="address"]').attr("checked","checked"),c(".address-list span").removeAttr("expand"),r()),!c(".address-manage").hasClass("hide")){if(!D.test(s))return void new u.Alert("真实姓名至少2个中文,最多5个中文").show();if(!P.test(p))return void new u.Alert("你输入的地址格式不正确").show();if(!O.test(v))return void new u.Alert("你输入的联系电话格式不正确").show();if(y&&!$.test(y)||T&&!z.test(T)||$.test(y)&&!z.test(T)||!$.test(y)&&z.test(T))return void new u.Alert("你输入的电话格式不正确").show();if(q&&!N.test(q))return void new u.Alert("你输入的邮箱格式不正确").show();if(I&&!L.test(I))return void new u.Alert("你输入的邮编格式不正确").show();k.attr("data-id")&&(U.id=k.attr("data-id")),c.ajax({type:"post",url:"/cart/index/saveAddress",data:U}).then(function(a){var d;200===a.code?(d=a.data,"Y"===d.is_support?(c('.express-list input[name="carriagegroup"][value="2"]').removeAttr("disabled"),c(".express-list.sf").removeClass("hide"),c(".is-sup").addClass("hide")):(c('.express-list input[name="carriagegroup"][value="2"]').attr("disabled","disabled"),c('.express-list input[name="carriagegroup"][value="1"]').attr("checked","checked"),c(".express-list.sf").addClass("hide"),c(".is-sup").removeClass("hide")),t=U.id?'<li class="active" data-id="'+U.id+'" data-express="'+d.is_support+'"><input data-name="'+U.consignee+'" data-areaCode="'+U.areaCode+'" data-addressDesc="'+U.address+'" data-mobile="'+U.mobile+'" data-phoneNum="'+U.phoneNum+'" data-phoneCode="'+U.phoneCode+'" data-zipCode="'+U.zipCode+'" data-email="'+U.email+'" checked="checked" class="radio" type="radio" name="address" /><label><strong>'+s+"</strong><span>"+E+" "+A+" "+F+" "+p+" "+e(I)+o(v)+e(y)+e(T)+'</span><a href="javascript:void(0);" class="default-address">设为默认地址</a><div class="order-modify-btn"><span class="address-modify">[修改]</span><span class="address-del">[删除]</span></div></label></li>':'<li class="active" data-id="'+d.id+'" data-express="'+d.is_support+'"><input data-name="'+d.consignee+'" data-areaCode="'+d.area_code+'" data-addressDesc="'+d.address+'" data-mobile="'+d.mobile+'" data-phoneNum="'+U.phoneNum+'" data-phoneCode="'+U.phoneCode+'" data-zipCode="'+d.zip_code+'" data-email="'+d.email+'" checked="checked" class="radio" type="radio" name="address" /><label><strong>'+s+"</strong><span>"+E+" "+A+" "+F+" "+p+" "+e(I)+o(v)+e(y)+e(T)+'</span><a href="javascript:void(0);" class="default-address">设为默认地址</a><div class="order-modify-btn"><span class="address-modify">[修改]</span><span class="address-del">[删除]</span></div></label></li>',i.attr("data-id")?(n=c('.exist-address-list li[data-id="'+i.attr("data-id")+'"]'),n.after(c(t)).remove()):c(".use-new-address").before(c(t)),c(".address-list span").removeAttr("expand"),r()):new u.Alert(a.message).show()})}return 0===c(".exist-address-list li").find('input[name="address"]:checked').length?void new u.Alert("请选择一个地址").show():("N"===c(".exist-address-list li").find('input[name="address"]:checked').closest("li").attr("data-express")?(c('.express-list input[name="carriagegroup"][value="2"]').attr("disabled","disabled"),c('.express-list input[name="carriagegroup"][value="1"]').attr("checked","checked"),c(".express-list.sf").addClass("hide"),c(".is-sup").removeClass("hide")):(c('.express-list input[name="carriagegroup"][value="2"]').removeAttr("disabled"),c(".express-list.sf").removeClass("hide"),c(".is-sup").addClass("hide")),void(i.hasClass("new-user-btn")&&c(".switch-pay-modify").click()))})},c(".pay-time-modify .pay-btn").click(function(){var e=c(this),t=c(".modity-pay-info"),n=c(".pay-time-modify"),a=n.find('input[name="pay-type"]:checked').val(),i=n.find('input[name="pay-type"]:checked').next("label").text(),o=n.find('input[name="pay-time-radio"]:checked').next("label").text(),s=n.find('input[name="pay-time-radio"]:checked').val(),r=n.find('input[name="call-me"]:checked').next("label").text(),d=n.find('input[name="call-me"]:checked').val();I.show(),c.ajax({type:"POST",url:"/cart/index/orderCompute",dataType:"json",data:{cartType:A,paymentType:a}}).then(function(n){I.hide(),200===n.code?(t.find("li").eq(0).find("span").text(i),t.find("li").eq(1).find("span").text(o),t.find("li").eq(2).find("span").text(r),c(".pay-time-modify").addClass("hide").find('input[name="pay-type"][value='+a+"]").addClass("checked").end().find('input[name="pay-time-radio"][value='+s+"]").addClass("checked").end().find('input[name="call-me"][value='+d+"]").addClass("checked"),c(".modity-pay-info").removeClass("hide"),c(".switch-pay-modify").text("[修改]"),e.hasClass("new-user-pay")&&(c(".play-piao-pan dd").css({display:"block"}),c(".play-piao-pan dt").addClass("active"))):new u.Alert(n.message).show()})}),d(),c(".to-play input.submit").click(function(){var e=c(this),t=c('.exist-address-list input[name="address"]:checked').closest("li").attr("data-id"),n=c('.pay-time-modify input[name="pay-time-radio"]:checked').val(),a=c('.select-express input[name="carriagegroup"]:checked').val(),i=c("#piaodesc").val(),o=c("#piaotype").val(),s=c('.pay-time-modify input[name="pay-type"]:checked').val(),r=c('.pay-time-modify input[name="pay-type"]:checked').data("pay"),d=c("#notedesc").val(),h=c("#biprice").val(),p=c('.pay-time-modify input[name="call-me"]:checked').val(),f=c('.play-pan input[name="isPP"]:checked').val(),m=c(".use-envelopes input:checked").attr("data-use"),g=c('.play-juan.is-select input[name="juangroup"]:checked'),v=g.val(),y=v?v:g.closest("li").find("#juancode").val();
+I.show(),e.attr("disabled")||(e.attr("disabled","disabled"),c.ajax({type:"POST",dataType:"json",url:"/cart/index/orderSub",data:{addressId:t,cartType:A,deliveryTimeId:n,deliveryWayId:a,invoiceTitle:i,invoiceId:o,paymentId:r,paymentType:s,remark:d,couponCode:y,yohoCoin:h,isPreContact:l(p),isPrintPrice:l(f),redEnvelopes:m}}).then(function(e){I.hide(),200===e.code?window.location.href=e.data.payUrl:new u.Alert(e.message).show()}).always(function(){e.removeAttr("disabled")}))})}),define("js/shopping/pay",["jquery"],function(e,t,n){function a(){v?u('.mode div[id="'+v+'"]').addClass("choosed-tag").parent().addClass("choose-type"):(p.eq(0).addClass("choose-type").show(),p.eq(0).find("div").addClass("choosed-tag")),m.attr("value","前往"+u("#"+y).attr("alt")),f.attr("src",u("#"+y).attr("src"))}function i(e,t){u.ajax({type:"get",url:"/common/addpaymentinterval",dataType:"json",data:{orderCode:t,payment:e}})}var o,s,r,d,l,c,u=e("jquery"),h=u(".mode div"),p=u(".mode"),f=u("#show-pay-img"),m=u("#btnby"),g=u(".light-box"),v=u("#choosePay").val(),y=u('.mode div[id="'+v+'"]').parent().data("value"),b=v?y:u(".mode").eq(0).data("value"),w=u("#payUrl").val();u.jqtab=function(e,t){u(e+" li").click(function(){return s=u(this).find("a").attr("tab"),u(e+" li").removeClass("thistab"),u(this).addClass("thistab"),u(t).hide(),u("#"+s).fadeIn(),!1})},u.jqtab("#tabs",".tab-con"),a(),p.click(function(){return o=u(this).data(),b=o.value,r=u("#"+b).attr("alt"),d=u("#"+b).attr("src"),p.removeClass("choose-type"),u(this).addClass("choose-type"),h.removeClass("choosed-tag"),u(this).find(".borer-tag").addClass("choosed-tag"),m.attr("value","前往"+r),f.attr("src",d),!1}),u(".close").click(function(){g.hide()}),u(".change").click(function(){g.hide()}),u("#btnby").click(function(){c=u(".choose-type").attr("data-id"),l=u(".order-num").text(),i(c,l),window.open(w+"?order_code="+l+"&payment_type="+b),g.show()}),u(".pay-over").unbind("click").bind("click",function(){var e=this;u.post("/shopping/pay/sendPay",{orderCode:l,paymentId:c},function(){window.location.href=u(e).data("url")})})}),define("js/pay/wechatqrcode",["jquery"],function(e,t,n){function a(){i.ajax({url:s,dataType:"jsonp",success:function(e){"success"===e.message&&(window.location.href=r)}})}var i=e("jquery"),o=i(".w-odetail"),s=i("#payHost").val(),r=i("#paySuccessUrl").val(),d=i(".w-p-erm");e("plugin/jquery.qrcode"),o.click(function(){i(".w-addrinfo").slideToggle("slow"),o.find("i").hasClass("up")?o.html('收起详情<i class="down"></i>'):o.html('订单详情<i class="up"></i>')}),d.qrcode({render:"table",text:d.data("url")}),setInterval(a,3e3)}),define("plugin/jquery.qrcode",["jquery"],function(e,t,n){var a=e("jquery");!function(e){e.fn.qrcode=function(t){function n(e){this.mode=d,this.data=e}function i(e,t){this.typeNumber=e,this.errorCorrectLevel=t,this.modules=null,this.moduleCount=0,this.dataCache=null,this.dataList=[]}function o(e,t){if(void 0==e.length)throw Error(e.length+"/"+t);for(var n=0;n<e.length&&0==e[n];)n++;this.num=Array(e.length-n+t);for(var a=0;a<e.length-n;a++)this.num[a]=e[a+n]}function s(e,t){this.totalCount=e,this.dataCount=t}function r(){this.buffer=[],this.length=0}var d;n.prototype={getLength:function(){return this.data.length},write:function(e){for(var t=0;t<this.data.length;t++)e.put(this.data.charCodeAt(t),8)}},i.prototype={addData:function(e){this.dataList.push(new n(e)),this.dataCache=null},isDark:function(e,t){if(0>e||this.moduleCount<=e||0>t||this.moduleCount<=t)throw Error(e+","+t);return this.modules[e][t]},getModuleCount:function(){return this.moduleCount},make:function(){if(1>this.typeNumber){for(var e=1,e=1;40>e;e++){for(var t=s.getRSBlocks(e,this.errorCorrectLevel),n=new r,a=0,i=0;i<t.length;i++)a+=t[i].dataCount;for(i=0;i<this.dataList.length;i++)t=this.dataList[i],n.put(t.mode,4),n.put(t.getLength(),l.getLengthInBits(t.mode,e)),t.write(n);if(n.getLengthInBits()<=8*a)break}this.typeNumber=e}this.makeImpl(!1,this.getBestMaskPattern())},makeImpl:function(e,t){this.moduleCount=4*this.typeNumber+17,this.modules=Array(this.moduleCount);for(var n=0;n<this.moduleCount;n++){this.modules[n]=Array(this.moduleCount);for(var a=0;a<this.moduleCount;a++)this.modules[n][a]=null}this.setupPositionProbePattern(0,0),this.setupPositionProbePattern(this.moduleCount-7,0),this.setupPositionProbePattern(0,this.moduleCount-7),this.setupPositionAdjustPattern(),this.setupTimingPattern(),this.setupTypeInfo(e,t),7<=this.typeNumber&&this.setupTypeNumber(e),null==this.dataCache&&(this.dataCache=i.createData(this.typeNumber,this.errorCorrectLevel,this.dataList)),this.mapData(this.dataCache,t)},setupPositionProbePattern:function(e,t){for(var n=-1;7>=n;n++)if(!(-1>=e+n||this.moduleCount<=e+n))for(var a=-1;7>=a;a++)-1>=t+a||this.moduleCount<=t+a||(this.modules[e+n][t+a]=0<=n&&6>=n&&(0==a||6==a)||0<=a&&6>=a&&(0==n||6==n)||2<=n&&4>=n&&2<=a&&4>=a)},getBestMaskPattern:function(){for(var e=0,t=0,n=0;8>n;n++){this.makeImpl(!0,n);var a=l.getLostPoint(this);(0==n||e>a)&&(e=a,t=n)}return t},createMovieClip:function(e,t,n){for(e=e.createEmptyMovieClip(t,n),this.make(),t=0;t<this.modules.length;t++)for(var n=1*t,a=0;a<this.modules[t].length;a++){var i=1*a;this.modules[t][a]&&(e.beginFill(0,100),e.moveTo(i,n),e.lineTo(i+1,n),e.lineTo(i+1,n+1),e.lineTo(i,n+1),e.endFill())}return e},setupTimingPattern:function(){for(var e=8;e<this.moduleCount-8;e++)null==this.modules[e][6]&&(this.modules[e][6]=0==e%2);for(e=8;e<this.moduleCount-8;e++)null==this.modules[6][e]&&(this.modules[6][e]=0==e%2)},setupPositionAdjustPattern:function(){for(var e=l.getPatternPosition(this.typeNumber),t=0;t<e.length;t++)for(var n=0;n<e.length;n++){var a=e[t],i=e[n];if(null==this.modules[a][i])for(var o=-2;2>=o;o++)for(var s=-2;2>=s;s++)this.modules[a+o][i+s]=-2==o||2==o||-2==s||2==s||0==o&&0==s}},setupTypeNumber:function(e){for(var t=l.getBCHTypeNumber(this.typeNumber),n=0;18>n;n++){var a=!e&&1==(t>>n&1);this.modules[Math.floor(n/3)][n%3+this.moduleCount-8-3]=a}for(n=0;18>n;n++)a=!e&&1==(t>>n&1),this.modules[n%3+this.moduleCount-8-3][Math.floor(n/3)]=a},setupTypeInfo:function(e,t){for(var n=l.getBCHTypeInfo(this.errorCorrectLevel<<3|t),a=0;15>a;a++){var i=!e&&1==(n>>a&1);6>a?this.modules[a][8]=i:8>a?this.modules[a+1][8]=i:this.modules[this.moduleCount-15+a][8]=i}for(a=0;15>a;a++)i=!e&&1==(n>>a&1),8>a?this.modules[8][this.moduleCount-a-1]=i:9>a?this.modules[8][15-a-1+1]=i:this.modules[8][15-a-1]=i;this.modules[this.moduleCount-8][8]=!e},mapData:function(e,t){for(var n=-1,a=this.moduleCount-1,i=7,o=0,s=this.moduleCount-1;0<s;s-=2)for(6==s&&s--;;){for(var r=0;2>r;r++)if(null==this.modules[a][s-r]){var d=!1;o<e.length&&(d=1==(e[o]>>>i&1)),l.getMask(t,a,s-r)&&(d=!d),this.modules[a][s-r]=d,i--,-1==i&&(o++,i=7)}if(a+=n,0>a||this.moduleCount<=a){a-=n,n=-n;break}}}},i.PAD0=236,i.PAD1=17,i.createData=function(e,t,n){for(var t=s.getRSBlocks(e,t),a=new r,o=0;o<n.length;o++){var d=n[o];a.put(d.mode,4),a.put(d.getLength(),l.getLengthInBits(d.mode,e)),d.write(a)}for(o=e=0;o<t.length;o++)e+=t[o].dataCount;if(a.getLengthInBits()>8*e)throw Error("code length overflow. ("+a.getLengthInBits()+">"+8*e+")");for(a.getLengthInBits()+4<=8*e&&a.put(0,4);0!=a.getLengthInBits()%8;)a.putBit(!1);for(;!(a.getLengthInBits()>=8*e)&&(a.put(i.PAD0,8),!(a.getLengthInBits()>=8*e));)a.put(i.PAD1,8);return i.createBytes(a,t)},i.createBytes=function(e,t){for(var n=0,a=0,i=0,s=Array(t.length),r=Array(t.length),d=0;d<t.length;d++){var c=t[d].dataCount,u=t[d].totalCount-c,a=Math.max(a,c),i=Math.max(i,u);s[d]=Array(c);for(var h=0;h<s[d].length;h++)s[d][h]=255&e.buffer[h+n];for(n+=c,h=l.getErrorCorrectPolynomial(u),c=new o(s[d],h.getLength()-1).mod(h),r[d]=Array(h.getLength()-1),h=0;h<r[d].length;h++)u=h+c.getLength()-r[d].length,r[d][h]=0<=u?c.get(u):0}for(h=d=0;h<t.length;h++)d+=t[h].totalCount;for(n=Array(d),h=c=0;h<a;h++)for(d=0;d<t.length;d++)h<s[d].length&&(n[c++]=s[d][h]);for(h=0;h<i;h++)for(d=0;d<t.length;d++)h<r[d].length&&(n[c++]=r[d][h]);return n},d=4;for(var l={PATTERN_POSITION_TABLE:[[],[6,18],[6,22],[6,26],[6,30],[6,34],[6,22,38],[6,24,42],[6,26,46],[6,28,50],[6,30,54],[6,32,58],[6,34,62],[6,26,46,66],[6,26,48,70],[6,26,50,74],[6,30,54,78],[6,30,56,82],[6,30,58,86],[6,34,62,90],[6,28,50,72,94],[6,26,50,74,98],[6,30,54,78,102],[6,28,54,80,106],[6,32,58,84,110],[6,30,58,86,114],[6,34,62,90,118],[6,26,50,74,98,122],[6,30,54,78,102,126],[6,26,52,78,104,130],[6,30,56,82,108,134],[6,34,60,86,112,138],[6,30,58,86,114,142],[6,34,62,90,118,146],[6,30,54,78,102,126,150],[6,24,50,76,102,128,154],[6,28,54,80,106,132,158],[6,32,58,84,110,136,162],[6,26,54,82,110,138,166],[6,30,58,86,114,142,170]],G15:1335,G18:7973,G15_MASK:21522,getBCHTypeInfo:function(e){for(var t=e<<10;0<=l.getBCHDigit(t)-l.getBCHDigit(l.G15);)t^=l.G15<<l.getBCHDigit(t)-l.getBCHDigit(l.G15);return(e<<10|t)^l.G15_MASK},getBCHTypeNumber:function(e){for(var t=e<<12;0<=l.getBCHDigit(t)-l.getBCHDigit(l.G18);)t^=l.G18<<l.getBCHDigit(t)-l.getBCHDigit(l.G18);return e<<12|t},getBCHDigit:function(e){for(var t=0;0!=e;)t++,e>>>=1;return t},getPatternPosition:function(e){return l.PATTERN_POSITION_TABLE[e-1]},getMask:function(e,t,n){switch(e){case 0:return 0==(t+n)%2;case 1:return 0==t%2;case 2:return 0==n%3;case 3:return 0==(t+n)%3;case 4:return 0==(Math.floor(t/2)+Math.floor(n/3))%2;case 5:return 0==t*n%2+t*n%3;case 6:return 0==(t*n%2+t*n%3)%2;case 7:return 0==(t*n%3+(t+n)%2)%2;default:throw Error("bad maskPattern:"+e)}},getErrorCorrectPolynomial:function(e){for(var t=new o([1],0),n=0;n<e;n++)t=t.multiply(new o([1,c.gexp(n)],0));return t},getLengthInBits:function(e,t){if(1<=t&&10>t)switch(e){case 1:return 10;case 2:return 9;case d:return 8;case 8:return 8;default:throw Error("mode:"+e)}else if(27>t)switch(e){case 1:return 12;case 2:return 11;case d:return 16;case 8:return 10;default:throw Error("mode:"+e)}else{if(!(41>t))throw Error("type:"+t);switch(e){case 1:return 14;case 2:return 13;case d:return 16;case 8:return 12;default:throw Error("mode:"+e)}}},getLostPoint:function(e){for(var t=e.getModuleCount(),n=0,a=0;a<t;a++)for(var i=0;i<t;i++){for(var o=0,s=e.isDark(a,i),r=-1;1>=r;r++)if(!(0>a+r||t<=a+r))for(var d=-1;1>=d;d++)0>i+d||t<=i+d||0==r&&0==d||s==e.isDark(a+r,i+d)&&o++;5<o&&(n+=3+o-5)}for(a=0;a<t-1;a++)for(i=0;i<t-1;i++)o=0,e.isDark(a,i)&&o++,e.isDark(a+1,i)&&o++,e.isDark(a,i+1)&&o++,e.isDark(a+1,i+1)&&o++,(0==o||4==o)&&(n+=3);for(a=0;a<t;a++)for(i=0;i<t-6;i++)e.isDark(a,i)&&!e.isDark(a,i+1)&&e.isDark(a,i+2)&&e.isDark(a,i+3)&&e.isDark(a,i+4)&&!e.isDark(a,i+5)&&e.isDark(a,i+6)&&(n+=40);for(i=0;i<t;i++)for(a=0;a<t-6;a++)e.isDark(a,i)&&!e.isDark(a+1,i)&&e.isDark(a+2,i)&&e.isDark(a+3,i)&&e.isDark(a+4,i)&&!e.isDark(a+5,i)&&e.isDark(a+6,i)&&(n+=40);for(i=o=0;i<t;i++)for(a=0;a<t;a++)e.isDark(a,i)&&o++;return e=Math.abs(100*o/t/t-50)/5,n+10*e}},c={glog:function(e){if(1>e)throw Error("glog("+e+")");return c.LOG_TABLE[e]},gexp:function(e){for(;0>e;)e+=255;for(;256<=e;)e-=255;return c.EXP_TABLE[e]},EXP_TABLE:Array(256),LOG_TABLE:Array(256)},u=0;8>u;u++)c.EXP_TABLE[u]=1<<u;for(u=8;256>u;u++)c.EXP_TABLE[u]=c.EXP_TABLE[u-4]^c.EXP_TABLE[u-5]^c.EXP_TABLE[u-6]^c.EXP_TABLE[u-8];for(u=0;255>u;u++)c.LOG_TABLE[c.EXP_TABLE[u]]=u;return o.prototype={get:function(e){return this.num[e]},getLength:function(){return this.num.length},multiply:function(e){for(var t=Array(this.getLength()+e.getLength()-1),n=0;n<this.getLength();n++)for(var a=0;a<e.getLength();a++)t[n+a]^=c.gexp(c.glog(this.get(n))+c.glog(e.get(a)));return new o(t,0)},mod:function(e){if(0>this.getLength()-e.getLength())return this;for(var t=c.glog(this.get(0))-c.glog(e.get(0)),n=Array(this.getLength()),a=0;a<this.getLength();a++)n[a]=this.get(a);for(a=0;a<e.getLength();a++)n[a]^=c.gexp(c.glog(e.get(a))+t);return new o(n,0).mod(e)}},s.RS_BLOCK_TABLE=[[1,26,19],[1,26,16],[1,26,13],[1,26,9],[1,44,34],[1,44,28],[1,44,22],[1,44,16],[1,70,55],[1,70,44],[2,35,17],[2,35,13],[1,100,80],[2,50,32],[2,50,24],[4,25,9],[1,134,108],[2,67,43],[2,33,15,2,34,16],[2,33,11,2,34,12],[2,86,68],[4,43,27],[4,43,19],[4,43,15],[2,98,78],[4,49,31],[2,32,14,4,33,15],[4,39,13,1,40,14],[2,121,97],[2,60,38,2,61,39],[4,40,18,2,41,19],[4,40,14,2,41,15],[2,146,116],[3,58,36,2,59,37],[4,36,16,4,37,17],[4,36,12,4,37,13],[2,86,68,2,87,69],[4,69,43,1,70,44],[6,43,19,2,44,20],[6,43,15,2,44,16],[4,101,81],[1,80,50,4,81,51],[4,50,22,4,51,23],[3,36,12,8,37,13],[2,116,92,2,117,93],[6,58,36,2,59,37],[4,46,20,6,47,21],[7,42,14,4,43,15],[4,133,107],[8,59,37,1,60,38],[8,44,20,4,45,21],[12,33,11,4,34,12],[3,145,115,1,146,116],[4,64,40,5,65,41],[11,36,16,5,37,17],[11,36,12,5,37,13],[5,109,87,1,110,88],[5,65,41,5,66,42],[5,54,24,7,55,25],[11,36,12],[5,122,98,1,123,99],[7,73,45,3,74,46],[15,43,19,2,44,20],[3,45,15,13,46,16],[1,135,107,5,136,108],[10,74,46,1,75,47],[1,50,22,15,51,23],[2,42,14,17,43,15],[5,150,120,1,151,121],[9,69,43,4,70,44],[17,50,22,1,51,23],[2,42,14,19,43,15],[3,141,113,4,142,114],[3,70,44,11,71,45],[17,47,21,4,48,22],[9,39,13,16,40,14],[3,135,107,5,136,108],[3,67,41,13,68,42],[15,54,24,5,55,25],[15,43,15,10,44,16],[4,144,116,4,145,117],[17,68,42],[17,50,22,6,51,23],[19,46,16,6,47,17],[2,139,111,7,140,112],[17,74,46],[7,54,24,16,55,25],[34,37,13],[4,151,121,5,152,122],[4,75,47,14,76,48],[11,54,24,14,55,25],[16,45,15,14,46,16],[6,147,117,4,148,118],[6,73,45,14,74,46],[11,54,24,16,55,25],[30,46,16,2,47,17],[8,132,106,4,133,107],[8,75,47,13,76,48],[7,54,24,22,55,25],[22,45,15,13,46,16],[10,142,114,2,143,115],[19,74,46,4,75,47],[28,50,22,6,51,23],[33,46,16,4,47,17],[8,152,122,4,153,123],[22,73,45,3,74,46],[8,53,23,26,54,24],[12,45,15,28,46,16],[3,147,117,10,148,118],[3,73,45,23,74,46],[4,54,24,31,55,25],[11,45,15,31,46,16],[7,146,116,7,147,117],[21,73,45,7,74,46],[1,53,23,37,54,24],[19,45,15,26,46,16],[5,145,115,10,146,116],[19,75,47,10,76,48],[15,54,24,25,55,25],[23,45,15,25,46,16],[13,145,115,3,146,116],[2,74,46,29,75,47],[42,54,24,1,55,25],[23,45,15,28,46,16],[17,145,115],[10,74,46,23,75,47],[10,54,24,35,55,25],[19,45,15,35,46,16],[17,145,115,1,146,116],[14,74,46,21,75,47],[29,54,24,19,55,25],[11,45,15,46,46,16],[13,145,115,6,146,116],[14,74,46,23,75,47],[44,54,24,7,55,25],[59,46,16,1,47,17],[12,151,121,7,152,122],[12,75,47,26,76,48],[39,54,24,14,55,25],[22,45,15,41,46,16],[6,151,121,14,152,122],[6,75,47,34,76,48],[46,54,24,10,55,25],[2,45,15,64,46,16],[17,152,122,4,153,123],[29,74,46,14,75,47],[49,54,24,10,55,25],[24,45,15,46,46,16],[4,152,122,18,153,123],[13,74,46,32,75,47],[48,54,24,14,55,25],[42,45,15,32,46,16],[20,147,117,4,148,118],[40,75,47,7,76,48],[43,54,24,22,55,25],[10,45,15,67,46,16],[19,148,118,6,149,119],[18,75,47,31,76,48],[34,54,24,34,55,25],[20,45,15,61,46,16]],s.getRSBlocks=function(e,t){var n=s.getRsBlockTable(e,t);if(void 0==n)throw Error("bad rs block @ typeNumber:"+e+"/errorCorrectLevel:"+t);for(var a=n.length/3,i=[],o=0;o<a;o++)for(var r=n[3*o+0],d=n[3*o+1],l=n[3*o+2],c=0;c<r;c++)i.push(new s(d,l));return i},s.getRsBlockTable=function(e,t){switch(t){case 1:return s.RS_BLOCK_TABLE[4*(e-1)+0];case 0:return s.RS_BLOCK_TABLE[4*(e-1)+1];case 3:return s.RS_BLOCK_TABLE[4*(e-1)+2];case 2:return s.RS_BLOCK_TABLE[4*(e-1)+3]}},r.prototype={get:function(e){return 1==(this.buffer[Math.floor(e/8)]>>>7-e%8&1)},put:function(e,t){for(var n=0;n<t;n++)this.putBit(1==(e>>>t-n-1&1))},getLengthInBits:function(){return this.length},putBit:function(e){var t=Math.floor(this.length/8);this.buffer.length<=t&&this.buffer.push(0),e&&(this.buffer[t]|=128>>>this.length%8),this.length++}},"string"==typeof t&&(t={text:t}),t=e.extend({},{render:"canvas",width:256,height:256,typeNumber:-1,correctLevel:2,background:"#ffffff",foreground:"#000000"},t),this.each(function(){var n;if("canvas"==t.render){n=new i(t.typeNumber,t.correctLevel),n.addData(t.text),n.make();var o=document.createElement("canvas");o.width=t.width,o.height=t.height;for(var s=o.getContext("2d"),r=t.width/n.getModuleCount(),d=t.height/n.getModuleCount(),l=0;l<n.getModuleCount();l++)for(var c=0;c<n.getModuleCount();c++){s.fillStyle=n.isDark(l,c)?t.foreground:t.background;var u=Math.ceil((c+1)*r)-Math.floor(c*r),h=Math.ceil((l+1)*r)-Math.floor(l*r);s.fillRect(Math.round(c*r),Math.round(l*d),u,h)}}else for(n=new i(t.typeNumber,t.correctLevel),n.addData(t.text),n.make(),o=e("<table></table>").css("width",t.width+"px").css("height",t.height+"px").css("border","0px").css("border-collapse","collapse").css("background-color",t.background),s=t.width/n.getModuleCount(),r=t.height/n.getModuleCount(),d=0;d<n.getModuleCount();d++)for(l=e("<tr></tr>").css("height",r+"px").appendTo(o),c=0;c<n.getModuleCount();c++)e("<td></td>").css("width",s+"px").css("background-color",n.isDark(d,c)?t.foreground:t.background).appendTo(l);n=o,a(n).appendTo(this)})}}(a)}),define("js/about/entry",["jquery","jquery.placeholder","handlebars","source-map"],function(e,t,n){e("js/about/settled")}),define("js/about/settled",["jquery","jquery.placeholder","handlebars","source-map"],function(e,t,n){var a=e("jquery"),i=e("js/passport/mail-phone-regx");e("jquery.placeholder"),e("plugin/jquery.qupload"),function(){function e(){var e=a(window).height();n.removeClass("hide"),i.css({"max-height":e-60}).removeClass("hide")}function t(){n.addClass("hide"),i.addClass("hide")}var n,i;0!==a(".settled-page").length&&(n=a("#mask"),i=a("#notice-container"),a("#fake-link").click(e),a("#fake-close").click(t),a("#mask").click(t))}(),function(){function t(e){a.each(e,function(e,t){a("#"+t.dom).qupload({uploadKey:w,button_image_url:"",button_text:'<span class="btn_upload_text">上传</span>',button_text_style:".btn_upload_text{color:#000;margin-left:30px;line-height: 2em;font-size:14px;}",button_text_left_padding:32,button_text_top_padding:8,button_width:160,button_height:35,button_action:x.BUTTON_ACTION.SELECT_FILE,file_size_limit:"10240",file_types:t.type,uploadSuccessed:function(e){var n=JSON.parse(e);return 12!==n.code?(alert(n.message),!1):void t.callback(n.data.hit.Filedata.return_file_path)}})})}function n(){var e=!0,t=/[0-9]\d{5}(?!\d)/,n=i.emailRegx,o=i.phoneRegx["+86"],s=/^(0|[1-9][0-9]*)$/;return a(".va, .category-item select, .for-other, .category-item").removeClass("error"),a(".va-null").each(function(){""===a(this).val()&&(a(this).addClass("error"),e=!1)}),""!==f.val()&&t.test(f.val())||(f.addClass("error"),e=!1),""!==m.val()&&n.test(m.val())||(m.addClass("error"),e=!1),""!==g.val()&&o.test(g.val())||(g.addClass("error"),e=!1),""!==y.val()&&s.test(y.val())||(y.addClass("error"),e=!1),a(".category-item").each(function(){0===a(this).get(0).selectedIndex&&(a(this).addClass("error"),e=!1)}),3===a('input[name="seller-role"]:checked').index()&&""===r.val()&&(e=!1,r.addClass("error")),5===a('input[name="new_cycle"]:checked').index()&&""===d.val()&&(e=!1,d.addClass("error")),5===a('input[name="supply_cycle"]:checked').index()&&""===l.val()&&(e=!1,l.addClass("error")),e}function o(){c.closest("tr").removeClass("hide"),c.append("<li>"+C+"</li>")}function s(){var e=a(this).val(),t=a(this).parent().find(".category-two"),n="<option>选择二级分类</option>";return""===e?void t.html(n):void a.ajax({url:"/shop/settled/getTwoCategory",type:"GET",data:{id:e}}).then(function(e){var a,i=[];if(200===e.code)for(i=e.data,a=0;a<i.length;a++)n+='<option value="'+i[a].id+'" >'+i[a].name+"</option>";t.html(n)})}var r,d,l,c,u,h,p,f,m,g,v,y,b,w,C=a("#category-tpl").html(),_=e("js/common/dialog").Dialog,x=window.SWFUpload;if(!(a(".settled-apply-page").length<0)){if(a("[placeholder]").placeholder(),r=a("#other-brand-relation"),d=a("#other-new-period"),l=a("#other-replenishment-period"),c=a("#category-list"),u=a("#shop-list"),h=a("#shops"),p=a("#mask, #submit-success"),f=a("#postcode"),m=a("#email"),g=a("#phone-number"),v=a("#upload-key"),y=a("#style-count"),w=v.val(),v.remove(),t([{dom:"upload-brand-material",type:"*.ppt;*.pdf;*.zip;*.rar",callback:function(e){a("#brand-material").val(e),a(".brand-tip").html("上传成功"),alert("上传成功!")}},{dom:"upload-goods-material",type:"*.xls;*.xlsx;*.zip;*.rar",callback:function(e){a("#goods-material").val(e),a(".goods-tip").html("上传成功"),alert("上传成功!")}}]),location.search.indexOf("state=1")>-1)return b=new _({className:"settled-success",closeIcon:!1,content:'<h1 class="main-title">恭喜您已提交成功</h1><h2 class="sub-title">我们将尽快与您联系</h2>',btns:[{id:"apply-success-ok",btnClass:["apply-success-ok"],name:"确认",cb:function(){location.href="/shop/settled/index"}}]}),void b.show();a('input[name="seller_role"]').change(function(){3===a(this).index()?r.removeClass("hide"):r.addClass("hide")}),a('input[name="new-cycle"]').change(function(){5===a(this).index()?d.removeClass("hide"):d.addClass("hide")}),a('input[name="supply-cycle"]').change(function(){5===a(this).index()?l.removeClass("hide"):l.addClass("hide")}),a('input[name="have-store"]').change(function(){1===a(this).index()?u.addClass("hide"):u.removeClass("hide")}),a(".form-container").on("change",".category-one",s),a("#category-add").click(o),h.delegate(".shop-add","click",function(){h.append('<li><input class="shop-addres" name="store-address[]" type="text" placeholder="输入店铺地址"><span>月均销售:</span><input class="shop-sales-volume" type="text" name="store-sales-volume[]" placeholder="输入价格"><span>元</span></li>')}),a("#apply-post").click(function(){var e;n()?(p.removeClass("hide"),a("form").submit()):(a(".error").first().focus(),e=a(".error").first().offset().top,a(window).scrollTop(e-10))}),navigator.userAgent.indexOf("MSIE")>=0&&a("[placeholder]").focus(function(){var e=a(this);e.removeClass("placeholder")}).blur(function(){var e=a(this);""===e.val()&&e.addClass("placeholder")})}}()}),define("js/coupon/entry",["jquery","lazyload","handlebars","source-map"],function(e,t,n){e("js/coupon/coupon")}),define("js/coupon/coupon",["jquery","lazyload","handlebars","source-map"],function(e,t,n){function a(e){var t=new l(e);t.show()}function i(t){r.ajax({type:"GET",url:"/coupon/sendcoupon",data:{id:t},success:function(e){var t=e.code;e.url&&e.url.length>0&&c[t]&&c[t](e.url+"?"+location.href.split("?")[1]),s[t]?s[t]():s[400]()},error:function(t){var n=e("js/common/dialog").Alert;new n("网络异常").show()}})}var o,s,r=e("jquery"),d=e("lazyload"),l=e("js/common/dialog").Dialog,c={gunangSrc:null,checkCouponSrc:null,goToGuang:function(){window.location.href=this.gunangSrc},goToCheck:function(){window.location.href=this.checkCouponSrc},403:function(e){window.location.href=e},200:function(e){this.checkCouponSrc=e}};d(r("img.lazy")),e("js/common/slider"),r(".slide-container").slider(),o={success:{content:"恭喜您,成功领取优惠券",subContents:["特殊情况下到账有延时","请耐心等待"],className:"subcontent-dialog",refreshOnClose:!0,btns:[{id:1,name:"去购物啦",btnClass:["black","btn-close"],cb:function(){c.goToGuang()}},{id:2,name:"查看优惠券",btnClass:["btn-close"],cb:function(){c.goToCheck()}}]},alreadyGot:{content:"您已领取过优惠券",subContent:"快去选购心仪的潮品吧",className:"subcontent-dialog",btns:[{id:1,name:"去使用",btnClass:["btn-close"],cb:function(){c.goToGuang()}}]},expired:{content:"优惠券已过期",subContent:"去领最新的优惠券吧",className:"subcontent-dialog",btns:[{id:1,name:"关闭",btnClass:["btn-close"]}]},failed:{content:"领取失败",subContents:["请刷新重试,","多次无效请联系客服"],className:"subcontent-dialog",btns:[{id:1,name:"刷新",btnClass:["btn-close"],cb:function(){window.location.reload()}}]}},s={200:function(){a(o.success)},401:function(){a(o.alreadyGot)},315:function(){a(o.expired)},400:function(){a(o.failed)},403:function(){}},r(".enable .info").on("click",function(e){e.preventDefault(),i(r(this).closest("a").data("id")),c.gunangSrc=r(this).closest("a").get(0).href})});
\ No newline at end of file
diff --git a/web-static/dist/yohobuy/4.7.2/lib.js b/web-static/dist/yohobuy/4.7.2/lib.js
new file mode 100644
index 0000000..59a7c0d
--- /dev/null
+++ b/web-static/dist/yohobuy/4.7.2/lib.js
@@ -0,0 +1,7 @@
+!function(e,t){function n(e){return function(t){return{}.toString.call(t)=="[object "+e+"]"}}function r(){return E++}function i(e){return e.match(T)[0]}function o(e){for(e=e.replace(P,"/");e.match(L);)e=e.replace(L,"/");return e=e.replace(j,"$1/")}function a(e){var t=e.length-1,n=e.charAt(t);return"#"===n?e.substring(0,t):".js"===e.substring(t-2)||e.indexOf("?")>0||".css"===e.substring(t-3)||"/"===n?e:e+".js"}function s(e){var t=w.alias;return t&&k(t[e])?t[e]:e}function l(e){var t,n=w.paths;return n&&(t=e.match(O))&&k(n[t[1]])&&(e=n[t[1]]+t[2]),e}function u(e){var t=w.vars;return t&&e.indexOf("{")>-1&&(e=e.replace(M,function(e,n){return k(t[n])?t[n]:e})),e}function c(e){var t=w.map,n=e;if(t)for(var r=0,i=t.length;i>r;r++){var o=t[r];if(n=_(o)?o(e)||e:e.replace(o[0],o[1]),n!==e)break}return n}function p(e,t){var n,r=e.charAt(0);if(D.test(e))n=e;else if("."===r)n=o((t?i(t):w.cwd)+e);else if("/"===r){var a=w.cwd.match(H);n=a?a[0]+e.substring(1):e}else n=w.base+e;return 0===n.indexOf("//")&&(n=location.protocol+n),n}function h(e,t){if(!e)return"";e=s(e),e=l(e),e=u(e),e=a(e);var n=p(e,t);return n=c(n)}function f(e){return e.hasAttribute?e.src:e.getAttribute("src",4)}function d(e,t,n){var r=V.test(e),i=I.createElement(r?"link":"script");if(n){var o=_(n)?n(e):n;o&&(i.charset=o)}g(i,t,r,e),r?(i.rel="stylesheet",i.href=e):(i.async=!0,i.src=e),q=i,z?U.insertBefore(i,z):U.appendChild(i),q=null}function g(e,n,r,i){function o(){e.onload=e.onerror=e.onreadystatechange=null,r||w.debug||U.removeChild(e),e=null,n()}var a="onload"in e;return!r||!G&&a?(a?(e.onload=o,e.onerror=function(){N("error",{uri:i,node:e}),o()}):e.onreadystatechange=function(){/loaded|complete/.test(e.readyState)&&o()},t):(setTimeout(function(){m(e,n)},1),t)}function m(e,t){var n,r=e.sheet;if(G)r&&(n=!0);else if(r)try{r.cssRules&&(n=!0)}catch(i){"NS_ERROR_DOM_SECURITY_ERR"===i.name&&(n=!0)}setTimeout(function(){n?t():m(e,t)},20)}function v(){if(q)return q;if(W&&"interactive"===W.readyState)return W;for(var e=U.getElementsByTagName("script"),t=e.length-1;t>=0;t--){var n=e[t];if("interactive"===n.readyState)return W=n}}function y(e){var t=[];return e.replace(K,"").replace(J,function(e,n,r){r&&t.push(r)}),t}function b(e,t){this.uri=e,this.dependencies=t||[],this.exports=null,this.status=0,this._waitings={},this._remain=0}if(!e.seajs){var x=e.seajs={version:"2.2.0"},w=x.data={},S=n("Object"),k=n("String"),C=Array.isArray||n("Array"),_=n("Function"),E=0,A=w.events={};x.on=function(e,t){var n=A[e]||(A[e]=[]);return n.push(t),x},x.off=function(e,t){if(!e&&!t)return A=w.events={},x;var n=A[e];if(n)if(t)for(var r=n.length-1;r>=0;r--)n[r]===t&&n.splice(r,1);else delete A[e];return x};var N=x.emit=function(e,t){var n,r=A[e];if(r)for(r=r.slice();n=r.shift();)n(t);return x},T=/[^?#]*\//,P=/\/\.\//g,L=/\/[^\/]+\/\.\.\//,j=/([^:\/])\/\//g,O=/^([^\/:]+)(\/.+)$/,M=/{([^{]+)}/g,D=/^\/\/.|:\//,H=/^.*?\/\/.*?\//,I=document,R=i(I.URL),B=I.scripts,$=I.getElementById("seajsnode")||B[B.length-1],F=i(f($)||R);x.resolve=h;var q,W,U=I.head||I.getElementsByTagName("head")[0]||I.documentElement,z=U.getElementsByTagName("base")[0],V=/\.css(?:\?|$)/i,G=+navigator.userAgent.replace(/.*AppleWebKit\/(\d+)\..*/,"$1")<536;x.request=d;var X,J=/"(?:\\"|[^"])*"|'(?:\\'|[^'])*'|\/\*[\S\s]*?\*\/|\/(?:\\\/|[^\/\r\n])+\/(?=[^\/])|\/\/.*|\.\s*require|(?:^|[^$])\brequire\s*\(\s*(["'])(.+?)\1\s*\)/g,K=/\\\\/g,Y=x.cache={},Q={},Z={},ee={},te=b.STATUS={FETCHING:1,SAVED:2,LOADING:3,LOADED:4,EXECUTING:5,EXECUTED:6};b.prototype.resolve=function(){for(var e=this,t=e.dependencies,n=[],r=0,i=t.length;i>r;r++)n[r]=b.resolve(t[r],e.uri);return n},b.prototype.load=function(){var e=this;if(!(e.status>=te.LOADING)){e.status=te.LOADING;var n=e.resolve();N("load",n);for(var r,i=e._remain=n.length,o=0;i>o;o++)r=b.get(n[o]),r.status<te.LOADED?r._waitings[e.uri]=(r._waitings[e.uri]||0)+1:e._remain--;if(0===e._remain)return e.onload(),t;var a={};for(o=0;i>o;o++)r=Y[n[o]],r.status<te.FETCHING?r.fetch(a):r.status===te.SAVED&&r.load();for(var s in a)a.hasOwnProperty(s)&&a[s]()}},b.prototype.onload=function(){var e=this;e.status=te.LOADED,e.callback&&e.callback();var t,n,r=e._waitings;for(t in r)r.hasOwnProperty(t)&&(n=Y[t],n._remain-=r[t],0===n._remain&&n.onload());delete e._waitings,delete e._remain},b.prototype.fetch=function(e){function n(){x.request(a.requestUri,a.onRequest,a.charset)}function r(){delete Q[s],Z[s]=!0,X&&(b.save(o,X),X=null);var e,t=ee[s];for(delete ee[s];e=t.shift();)e.load()}var i=this,o=i.uri;i.status=te.FETCHING;var a={uri:o};N("fetch",a);var s=a.requestUri||o;return!s||Z[s]?(i.load(),t):Q[s]?(ee[s].push(i),t):(Q[s]=!0,ee[s]=[i],N("request",a={uri:o,requestUri:s,onRequest:r,charset:w.charset}),a.requested||(e?e[a.requestUri]=n:n()),t)},b.prototype.exec=function(){function e(t){return b.get(e.resolve(t)).exec()}var n=this;if(n.status>=te.EXECUTING)return n.exports;n.status=te.EXECUTING;var i=n.uri;e.resolve=function(e){return b.resolve(e,i)},e.async=function(t,n){return b.use(t,n,i+"_async_"+r()),e};var o=n.factory,a=_(o)?o(e,n.exports={},n):o;return a===t&&(a=n.exports),delete n.factory,n.exports=a,n.status=te.EXECUTED,N("exec",n),a},b.resolve=function(e,t){var n={id:e,refUri:t};return N("resolve",n),n.uri||x.resolve(n.id,t)},b.define=function(e,n,r){var i=arguments.length;1===i?(r=e,e=t):2===i&&(r=n,C(e)?(n=e,e=t):n=t),!C(n)&&_(r)&&(n=y(""+r));var o={id:e,uri:b.resolve(e),deps:n,factory:r};if(!o.uri&&I.attachEvent){var a=v();a&&(o.uri=a.src)}N("define",o),o.uri?b.save(o.uri,o):X=o},b.save=function(e,t){var n=b.get(e);n.status<te.SAVED&&(n.id=t.id||e,n.dependencies=t.deps||[],n.factory=t.factory,n.status=te.SAVED)},b.get=function(e,t){return Y[e]||(Y[e]=new b(e,t))},b.use=function(t,n,r){var i=b.get(r,C(t)?t:[t]);i.callback=function(){for(var t=[],r=i.resolve(),o=0,a=r.length;a>o;o++)t[o]=Y[r[o]].exec();n&&n.apply(e,t),delete i.callback},i.load()},b.preload=function(e){var t=w.preload,n=t.length;n?b.use(t,function(){t.splice(0,n),b.preload(e)},w.cwd+"_preload_"+r()):e()},x.use=function(e,t){return b.preload(function(){b.use(e,t,w.cwd+"_use_"+r())}),x},b.define.cmd={},e.define=b.define,x.Module=b,w.fetchedList=Z,w.cid=r,x.require=function(e){var t=b.get(b.resolve(e));return t.status<te.EXECUTING&&(t.onload(),t.exec()),t.exports};var ne=/^(.+?\/)(\?\?)?(seajs\/)+/;w.base=(F.match(ne)||["",F])[1],w.dir=F,w.cwd=R,w.charset="utf-8",w.preload=function(){var e=[],t=location.search.replace(/(seajs-\w+)(&|$)/g,"$1=1$2");return t+=" "+I.cookie,t.replace(/(seajs-\w+)=1/g,function(t,n){e.push(n)}),e}(),x.config=function(e){for(var t in e){var n=e[t],r=w[t];if(r&&S(r))for(var i in n)r[i]=n[i];else C(r)?n=r.concat(n):"base"===t&&("/"!==n.slice(-1)&&(n+="/"),n=p(n)),w[t]=n}return N("config",e),x}}}(this),define("lazyload",[],function(e,t,n){var r=e("jquery");e("lib/jquery.lazyload"),n.exports=function(e,t){var n,i={effect:"fadeIn",effect_speed:10,placeholder:"data:image/gif;base64,R0lGODlhAQABAJEAAAAAAP///93d3f///yH5BAEAAAMALAAAAAABAAEAAAICVAEAOw==",skip_invisible:!1},o=arguments.length;!function(){switch(o){case 0:n=r("img.lazy");break;case 1:e instanceof r?n=e:(n=r("img.lazy"),r.extend(i,e));break;case 2:n=e,i=r.extend(i,t)}}(),n.lazyload(i)}}),define("jquery",[],function(e,t,n){!function(e,t){function r(e){var t=ge[e]={};return Z.each(e.split(ne),function(e,n){t[n]=!0}),t}function i(e,n,r){if(r===t&&1===e.nodeType){var i="data-"+n.replace(ve,"-$1").toLowerCase();if(r=e.getAttribute(i),"string"==typeof r){try{r="true"===r||"false"!==r&&("null"===r?null:+r+""===r?+r:me.test(r)?Z.parseJSON(r):r)}catch(o){}Z.data(e,n,r)}else r=t}return r}function o(e){var t;for(t in e)if(("data"!==t||!Z.isEmptyObject(e[t]))&&"toJSON"!==t)return!1;return!0}function a(){return!1}function s(){return!0}function l(e){return!e||!e.parentNode||11===e.parentNode.nodeType}function u(e,t){do e=e[t];while(e&&1!==e.nodeType);return e}function c(e,t,n){if(t=t||0,Z.isFunction(t))return Z.grep(e,function(e,r){var i=!!t.call(e,r,e);return i===n});if(t.nodeType)return Z.grep(e,function(e,r){return e===t===n});if("string"==typeof t){var r=Z.grep(e,function(e){return 1===e.nodeType});if(Ie.test(t))return Z.filter(t,r,!n);t=Z.filter(t,r)}return Z.grep(e,function(e,r){return Z.inArray(e,t)>=0===n})}function p(e){var t=$e.split("|"),n=e.createDocumentFragment();if(n.createElement)for(;t.length;)n.createElement(t.pop());return n}function h(e,t){return e.getElementsByTagName(t)[0]||e.appendChild(e.ownerDocument.createElement(t))}function f(e,t){if(1===t.nodeType&&Z.hasData(e)){var n,r,i,o=Z._data(e),a=Z._data(t,o),s=o.events;if(s){delete a.handle,a.events={};for(n in s)for(r=0,i=s[n].length;r<i;r++)Z.event.add(t,n,s[n][r])}a.data&&(a.data=Z.extend({},a.data))}}function d(e,t){var n;1===t.nodeType&&(t.clearAttributes&&t.clearAttributes(),t.mergeAttributes&&t.mergeAttributes(e),n=t.nodeName.toLowerCase(),"object"===n?(t.parentNode&&(t.outerHTML=e.outerHTML),Z.support.html5Clone&&e.innerHTML&&!Z.trim(t.innerHTML)&&(t.innerHTML=e.innerHTML)):"input"===n&&Ke.test(e.type)?(t.defaultChecked=t.checked=e.checked,t.value!==e.value&&(t.value=e.value)):"option"===n?t.selected=e.defaultSelected:"input"===n||"textarea"===n?t.defaultValue=e.defaultValue:"script"===n&&t.text!==e.text&&(t.text=e.text),t.removeAttribute(Z.expando))}function g(e){return"undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName("*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll("*"):[]}function m(e){Ke.test(e.type)&&(e.defaultChecked=e.checked)}function v(e,t){if(t in e)return t;for(var n=t.charAt(0).toUpperCase()+t.slice(1),r=t,i=yt.length;i--;)if(t=yt[i]+n,t in e)return t;return r}function y(e,t){return e=t||e,"none"===Z.css(e,"display")||!Z.contains(e.ownerDocument,e)}function b(e,t){for(var n,r,i=[],o=0,a=e.length;o<a;o++)n=e[o],n.style&&(i[o]=Z._data(n,"olddisplay"),t?(i[o]||"none"!==n.style.display||(n.style.display=""),""===n.style.display&&y(n)&&(i[o]=Z._data(n,"olddisplay",k(n.nodeName)))):(r=rt(n,"display"),i[o]||"none"===r||Z._data(n,"olddisplay",r)));for(o=0;o<a;o++)n=e[o],n.style&&(t&&"none"!==n.style.display&&""!==n.style.display||(n.style.display=t?i[o]||"":"none"));return e}function x(e,t,n){var r=pt.exec(t);return r?Math.max(0,r[1]-(n||0))+(r[2]||"px"):t}function w(e,t,n,r){for(var i=n===(r?"border":"content")?4:"width"===t?1:0,o=0;i<4;i+=2)"margin"===n&&(o+=Z.css(e,n+vt[i],!0)),r?("content"===n&&(o-=parseFloat(rt(e,"padding"+vt[i]))||0),"margin"!==n&&(o-=parseFloat(rt(e,"border"+vt[i]+"Width"))||0)):(o+=parseFloat(rt(e,"padding"+vt[i]))||0,"padding"!==n&&(o+=parseFloat(rt(e,"border"+vt[i]+"Width"))||0));return o}function S(e,t,n){var r="width"===t?e.offsetWidth:e.offsetHeight,i=!0,o=Z.support.boxSizing&&"border-box"===Z.css(e,"boxSizing");if(r<=0||null==r){if(r=rt(e,t),(r<0||null==r)&&(r=e.style[t]),ht.test(r))return r;i=o&&(Z.support.boxSizingReliable||r===e.style[t]),r=parseFloat(r)||0}return r+w(e,t,n||(o?"border":"content"),i)+"px"}function k(e){if(dt[e])return dt[e];var t=Z("<"+e+">").appendTo(q.body),n=t.css("display");return t.remove(),"none"!==n&&""!==n||(it=q.body.appendChild(it||Z.extend(q.createElement("iframe"),{frameBorder:0,width:0,height:0})),ot&&it.createElement||(ot=(it.contentWindow||it.contentDocument).document,ot.write("<!doctype html><html><body>"),ot.close()),t=ot.body.appendChild(ot.createElement(e)),n=rt(t,"display"),q.body.removeChild(it)),dt[e]=n,n}function C(e,t,n,r){var i;if(Z.isArray(t))Z.each(t,function(t,i){n||wt.test(e)?r(e,i):C(e+"["+("object"==typeof i?t:"")+"]",i,n,r)});else if(n||"object"!==Z.type(t))r(e,t);else for(i in t)C(e+"["+i+"]",t[i],n,r)}function _(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var r,i,o,a=t.toLowerCase().split(ne),s=0,l=a.length;if(Z.isFunction(n))for(;s<l;s++)r=a[s],o=/^\+/.test(r),o&&(r=r.substr(1)||"*"),i=e[r]=e[r]||[],i[o?"unshift":"push"](n)}}function E(e,n,r,i,o,a){o=o||n.dataTypes[0],a=a||{},a[o]=!0;for(var s,l=e[o],u=0,c=l?l.length:0,p=e===It;u<c&&(p||!s);u++)s=l[u](n,r,i),"string"==typeof s&&(!p||a[s]?s=t:(n.dataTypes.unshift(s),s=E(e,n,r,i,s,a)));return!p&&s||a["*"]||(s=E(e,n,r,i,"*",a)),s}function A(e,n){var r,i,o=Z.ajaxSettings.flatOptions||{};for(r in n)n[r]!==t&&((o[r]?e:i||(i={}))[r]=n[r]);i&&Z.extend(!0,e,i)}function N(e,n,r){var i,o,a,s,l=e.contents,u=e.dataTypes,c=e.responseFields;for(o in c)o in r&&(n[c[o]]=r[o]);for(;"*"===u[0];)u.shift(),i===t&&(i=e.mimeType||n.getResponseHeader("content-type"));if(i)for(o in l)if(l[o]&&l[o].test(i)){u.unshift(o);break}if(u[0]in r)a=u[0];else{for(o in r){if(!u[0]||e.converters[o+" "+u[0]]){a=o;break}s||(s=o)}a=a||s}if(a)return a!==u[0]&&u.unshift(a),r[a]}function T(e,t){var n,r,i,o,a=e.dataTypes.slice(),s=a[0],l={},u=0;if(e.dataFilter&&(t=e.dataFilter(t,e.dataType)),a[1])for(n in e.converters)l[n.toLowerCase()]=e.converters[n];for(;i=a[++u];)if("*"!==i){if("*"!==s&&s!==i){if(n=l[s+" "+i]||l["* "+i],!n)for(r in l)if(o=r.split(" "),o[1]===i&&(n=l[s+" "+o[0]]||l["* "+o[0]])){n===!0?n=l[r]:l[r]!==!0&&(i=o[0],a.splice(u--,0,i));break}if(n!==!0)if(n&&e["throws"])t=n(t);else try{t=n(t)}catch(c){return{state:"parsererror",error:n?c:"No conversion from "+s+" to "+i}}}s=i}return{state:"success",data:t}}function P(){try{return new e.XMLHttpRequest}catch(t){}}function L(){try{return new e.ActiveXObject("Microsoft.XMLHTTP")}catch(t){}}function j(){return setTimeout(function(){Xt=t},0),Xt=Z.now()}function O(e,t){Z.each(t,function(t,n){for(var r=(en[t]||[]).concat(en["*"]),i=0,o=r.length;i<o;i++)if(r[i].call(e,t,n))return})}function M(e,t,n){var r,i=0,o=Zt.length,a=Z.Deferred().always(function(){delete s.elem}),s=function(){for(var t=Xt||j(),n=Math.max(0,l.startTime+l.duration-t),r=n/l.duration||0,i=1-r,o=0,s=l.tweens.length;o<s;o++)l.tweens[o].run(i);return a.notifyWith(e,[l,i,n]),i<1&&s?n:(a.resolveWith(e,[l]),!1)},l=a.promise({elem:e,props:Z.extend({},t),opts:Z.extend(!0,{specialEasing:{}},n),originalProperties:t,originalOptions:n,startTime:Xt||j(),duration:n.duration,tweens:[],createTween:function(t,n,r){var i=Z.Tween(e,l.opts,t,n,l.opts.specialEasing[t]||l.opts.easing);return l.tweens.push(i),i},stop:function(t){for(var n=0,r=t?l.tweens.length:0;n<r;n++)l.tweens[n].run(1);return t?a.resolveWith(e,[l,t]):a.rejectWith(e,[l,t]),this}}),u=l.props;for(D(u,l.opts.specialEasing);i<o;i++)if(r=Zt[i].call(l,e,u,l.opts))return r;return O(l,u),Z.isFunction(l.opts.start)&&l.opts.start.call(e,l),Z.fx.timer(Z.extend(s,{anim:l,queue:l.opts.queue,elem:e})),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always)}function D(e,t){var n,r,i,o,a;for(n in e)if(r=Z.camelCase(n),i=t[r],o=e[n],Z.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),a=Z.cssHooks[r],a&&"expand"in a){o=a.expand(o),delete e[r];for(n in o)n in e||(e[n]=o[n],t[n]=i)}else t[r]=i}function H(e,t,n){var r,i,o,a,s,l,u,c,p,h=this,f=e.style,d={},g=[],m=e.nodeType&&y(e);n.queue||(c=Z._queueHooks(e,"fx"),null==c.unqueued&&(c.unqueued=0,p=c.empty.fire,c.empty.fire=function(){c.unqueued||p()}),c.unqueued++,h.always(function(){h.always(function(){c.unqueued--,Z.queue(e,"fx").length||c.empty.fire()})})),1===e.nodeType&&("height"in t||"width"in t)&&(n.overflow=[f.overflow,f.overflowX,f.overflowY],"inline"===Z.css(e,"display")&&"none"===Z.css(e,"float")&&(Z.support.inlineBlockNeedsLayout&&"inline"!==k(e.nodeName)?f.zoom=1:f.display="inline-block")),n.overflow&&(f.overflow="hidden",Z.support.shrinkWrapBlocks||h.done(function(){f.overflow=n.overflow[0],f.overflowX=n.overflow[1],f.overflowY=n.overflow[2]}));for(r in t)if(o=t[r],Kt.exec(o)){if(delete t[r],l=l||"toggle"===o,o===(m?"hide":"show"))continue;g.push(r)}if(a=g.length){s=Z._data(e,"fxshow")||Z._data(e,"fxshow",{}),"hidden"in s&&(m=s.hidden),l&&(s.hidden=!m),m?Z(e).show():h.done(function(){Z(e).hide()}),h.done(function(){var t;Z.removeData(e,"fxshow",!0);for(t in d)Z.style(e,t,d[t])});for(r=0;r<a;r++)i=g[r],u=h.createTween(i,m?s[i]:0),d[i]=s[i]||Z.style(e,i),i in s||(s[i]=u.start,m&&(u.end=u.start,u.start="width"===i||"height"===i?1:0))}}function I(e,t,n,r,i){return new I.prototype.init(e,t,n,r,i)}function R(e,t){var n,r={height:e},i=0;for(t=t?1:0;i<4;i+=2-t)n=vt[i],r["margin"+n]=r["padding"+n]=e;return t&&(r.opacity=r.width=e),r}function B(e){return Z.isWindow(e)?e:9===e.nodeType&&(e.defaultView||e.parentWindow)}var $,F,q=e.document,W=e.location,U=e.navigator,z=e.jQuery,V=e.$,G=Array.prototype.push,X=Array.prototype.slice,J=Array.prototype.indexOf,K=Object.prototype.toString,Y=Object.prototype.hasOwnProperty,Q=String.prototype.trim,Z=function(e,t){return new Z.fn.init(e,t,$)},ee=/[\-+]?(?:\d*\.|)\d+(?:[eE][\-+]?\d+|)/.source,te=/\S/,ne=/\s+/,re=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,ie=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,oe=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,ae=/^[\],:{}\s]*$/,se=/(?:^|:|,)(?:\s*\[)+/g,le=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,ue=/"[^"\\\r\n]*"|true|false|null|-?(?:\d\d*\.|)\d+(?:[eE][\-+]?\d+|)/g,ce=/^-ms-/,pe=/-([\da-z])/gi,he=function(e,t){return(t+"").toUpperCase()},fe=function(){q.addEventListener?(q.removeEventListener("DOMContentLoaded",fe,!1),Z.ready()):"complete"===q.readyState&&(q.detachEvent("onreadystatechange",fe),Z.ready())},de={};Z.fn=Z.prototype={constructor:Z,init:function(e,n,r){var i,o,a;if(!e)return this;if(e.nodeType)return this.context=this[0]=e,this.length=1,this;if("string"==typeof e){if(i="<"===e.charAt(0)&&">"===e.charAt(e.length-1)&&e.length>=3?[null,e,null]:ie.exec(e),!i||!i[1]&&n)return!n||n.jquery?(n||r).find(e):this.constructor(n).find(e);if(i[1])return n=n instanceof Z?n[0]:n,a=n&&n.nodeType?n.ownerDocument||n:q,e=Z.parseHTML(i[1],a,!0),oe.test(i[1])&&Z.isPlainObject(n)&&this.attr.call(e,n,!0),Z.merge(this,e);if(o=q.getElementById(i[2]),o&&o.parentNode){if(o.id!==i[2])return r.find(e);this.length=1,this[0]=o}return this.context=q,this.selector=e,this}return Z.isFunction(e)?r.ready(e):(e.selector!==t&&(this.selector=e.selector,this.context=e.context),Z.makeArray(e,this))},selector:"",jquery:"1.8.3",length:0,size:function(){return this.length},toArray:function(){return X.call(this)},get:function(e){return null==e?this.toArray():e<0?this[this.length+e]:this[e]},pushStack:function(e,t,n){var r=Z.merge(this.constructor(),e);return r.prevObject=this,r.context=this.context,"find"===t?r.selector=this.selector+(this.selector?" ":"")+n:t&&(r.selector=this.selector+"."+t+"("+n+")"),r},each:function(e,t){return Z.each(this,e,t)},ready:function(e){return Z.ready.promise().done(e),this},eq:function(e){return e=+e,e===-1?this.slice(e):this.slice(e,e+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(X.apply(this,arguments),"slice",X.call(arguments).join(","))},map:function(e){return this.pushStack(Z.map(this,function(t,n){return e.call(t,n,t)}))},end:function(){return this.prevObject||this.constructor(null)},push:G,sort:[].sort,splice:[].splice},Z.fn.init.prototype=Z.fn,Z.extend=Z.fn.extend=function(){var e,n,r,i,o,a,s=arguments[0]||{},l=1,u=arguments.length,c=!1;for("boolean"==typeof s&&(c=s,s=arguments[1]||{},l=2),"object"==typeof s||Z.isFunction(s)||(s={}),u===l&&(s=this,--l);l<u;l++)if(null!=(e=arguments[l]))for(n in e)r=s[n],i=e[n],s!==i&&(c&&i&&(Z.isPlainObject(i)||(o=Z.isArray(i)))?(o?(o=!1,a=r&&Z.isArray(r)?r:[]):a=r&&Z.isPlainObject(r)?r:{},s[n]=Z.extend(c,a,i)):i!==t&&(s[n]=i));return s},Z.extend({noConflict:function(t){return e.$===Z&&(e.$=V),t&&e.jQuery===Z&&(e.jQuery=z),Z},isReady:!1,readyWait:1,holdReady:function(e){e?Z.readyWait++:Z.ready(!0)},ready:function(e){if(e===!0?!--Z.readyWait:!Z.isReady){if(!q.body)return setTimeout(Z.ready,1);Z.isReady=!0,e!==!0&&--Z.readyWait>0||(F.resolveWith(q,[Z]),Z.fn.trigger&&Z(q).trigger("ready").off("ready"))}},isFunction:function(e){return"function"===Z.type(e)},isArray:Array.isArray||function(e){return"array"===Z.type(e)},isWindow:function(e){return null!=e&&e==e.window},isNumeric:function(e){return!isNaN(parseFloat(e))&&isFinite(e)},type:function(e){return null==e?String(e):de[K.call(e)]||"object"},isPlainObject:function(e){if(!e||"object"!==Z.type(e)||e.nodeType||Z.isWindow(e))return!1;try{if(e.constructor&&!Y.call(e,"constructor")&&!Y.call(e.constructor.prototype,"isPrototypeOf"))return!1}catch(n){return!1}var r;for(r in e);return r===t||Y.call(e,r)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},error:function(e){throw new Error(e)},parseHTML:function(e,t,n){var r;return e&&"string"==typeof e?("boolean"==typeof t&&(n=t,t=0),t=t||q,(r=oe.exec(e))?[t.createElement(r[1])]:(r=Z.buildFragment([e],t,n?null:[]),Z.merge([],(r.cacheable?Z.clone(r.fragment):r.fragment).childNodes))):null},parseJSON:function(t){return t&&"string"==typeof t?(t=Z.trim(t),e.JSON&&e.JSON.parse?e.JSON.parse(t):ae.test(t.replace(le,"@").replace(ue,"]").replace(se,""))?new Function("return "+t)():void Z.error("Invalid JSON: "+t)):null},parseXML:function(n){var r,i;if(!n||"string"!=typeof n)return null;try{e.DOMParser?(i=new DOMParser,r=i.parseFromString(n,"text/xml")):(r=new ActiveXObject("Microsoft.XMLDOM"),r.async="false",r.loadXML(n))}catch(o){r=t}return r&&r.documentElement&&!r.getElementsByTagName("parsererror").length||Z.error("Invalid XML: "+n),r},noop:function(){},globalEval:function(t){t&&te.test(t)&&(e.execScript||function(t){e.eval.call(e,t)})(t)},camelCase:function(e){return e.replace(ce,"ms-").replace(pe,he)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,n,r){var i,o=0,a=e.length,s=a===t||Z.isFunction(e);if(r)if(s){for(i in e)if(n.apply(e[i],r)===!1)break}else for(;o<a&&n.apply(e[o++],r)!==!1;);else if(s){for(i in e)if(n.call(e[i],i,e[i])===!1)break}else for(;o<a&&n.call(e[o],o,e[o++])!==!1;);return e},trim:Q&&!Q.call("\ufeff ")?function(e){return null==e?"":Q.call(e)}:function(e){return null==e?"":(e+"").replace(re,"")},makeArray:function(e,t){var n,r=t||[];return null!=e&&(n=Z.type(e),null==e.length||"string"===n||"function"===n||"regexp"===n||Z.isWindow(e)?G.call(r,e):Z.merge(r,e)),r},inArray:function(e,t,n){var r;if(t){if(J)return J.call(t,e,n);for(r=t.length,n=n?n<0?Math.max(0,r+n):n:0;n<r;n++)if(n in t&&t[n]===e)return n}return-1},merge:function(e,n){var r=n.length,i=e.length,o=0;if("number"==typeof r)for(;o<r;o++)e[i++]=n[o];else for(;n[o]!==t;)e[i++]=n[o++];return e.length=i,e},grep:function(e,t,n){var r,i=[],o=0,a=e.length;for(n=!!n;o<a;o++)r=!!t(e[o],o),n!==r&&i.push(e[o]);return i},map:function(e,n,r){var i,o,a=[],s=0,l=e.length,u=e instanceof Z||l!==t&&"number"==typeof l&&(l>0&&e[0]&&e[l-1]||0===l||Z.isArray(e));if(u)for(;s<l;s++)i=n(e[s],s,r),null!=i&&(a[a.length]=i);else for(o in e)i=n(e[o],o,r),null!=i&&(a[a.length]=i);return a.concat.apply([],a)},guid:1,proxy:function(e,n){var r,i,o;return"string"==typeof n&&(r=e[n],n=e,e=r),Z.isFunction(e)?(i=X.call(arguments,2),o=function(){return e.apply(n,i.concat(X.call(arguments)))},o.guid=e.guid=e.guid||Z.guid++,o):t},access:function(e,n,r,i,o,a,s){var l,u=null==r,c=0,p=e.length;if(r&&"object"==typeof r){for(c in r)Z.access(e,n,c,r[c],1,a,i);o=1}else if(i!==t){if(l=s===t&&Z.isFunction(i),u&&(l?(l=n,n=function(e,t,n){return l.call(Z(e),n)}):(n.call(e,i),n=null)),n)for(;c<p;c++)n(e[c],r,l?i.call(e[c],c,n(e[c],r)):i,s);o=1}return o?e:u?n.call(e):p?n(e[0],r):a},now:function(){return(new Date).getTime()}}),Z.ready.promise=function(t){if(!F)if(F=Z.Deferred(),"complete"===q.readyState)setTimeout(Z.ready,1);else if(q.addEventListener)q.addEventListener("DOMContentLoaded",fe,!1),e.addEventListener("load",Z.ready,!1);else{q.attachEvent("onreadystatechange",fe),e.attachEvent("onload",Z.ready);var n=!1;try{n=null==e.frameElement&&q.documentElement}catch(r){}n&&n.doScroll&&!function i(){if(!Z.isReady){try{n.doScroll("left")}catch(e){return setTimeout(i,50)}Z.ready()}}()}return F.promise(t)},Z.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(e,t){de["[object "+t+"]"]=t.toLowerCase()}),$=Z(q);var ge={};Z.Callbacks=function(e){e="string"==typeof e?ge[e]||r(e):Z.extend({},e);var n,i,o,a,s,l,u=[],c=!e.once&&[],p=function(t){for(n=e.memory&&t,i=!0,l=a||0,a=0,s=u.length,o=!0;u&&l<s;l++)if(u[l].apply(t[0],t[1])===!1&&e.stopOnFalse){n=!1;break}o=!1,u&&(c?c.length&&p(c.shift()):n?u=[]:h.disable())},h={add:function(){if(u){var t=u.length;!function r(t){Z.each(t,function(t,n){var i=Z.type(n);"function"===i?e.unique&&h.has(n)||u.push(n):n&&n.length&&"string"!==i&&r(n)})}(arguments),o?s=u.length:n&&(a=t,p(n))}return this},remove:function(){return u&&Z.each(arguments,function(e,t){for(var n;(n=Z.inArray(t,u,n))>-1;)u.splice(n,1),o&&(n<=s&&s--,n<=l&&l--)}),this},has:function(e){return Z.inArray(e,u)>-1},empty:function(){return u=[],this},disable:function(){return u=c=n=t,this},disabled:function(){return!u},lock:function(){return c=t,n||h.disable(),this},locked:function(){return!c},fireWith:function(e,t){return t=t||[],t=[e,t.slice?t.slice():t],!u||i&&!c||(o?c.push(t):p(t)),this},fire:function(){return h.fireWith(this,arguments),this},fired:function(){return!!i}};return h},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")]],n="pending",r={state:function(){return n},always:function(){return i.done(arguments).fail(arguments),this},then:function(){var e=arguments;return Z.Deferred(function(n){Z.each(t,function(t,r){var o=r[0],a=e[t];i[r[1]](Z.isFunction(a)?function(){var e=a.apply(this,arguments);e&&Z.isFunction(e.promise)?e.promise().done(n.resolve).fail(n.reject).progress(n.notify):n[o+"With"](this===i?n:this,[e])}:n[o])}),e=null}).promise()},promise:function(e){return null!=e?Z.extend(e,r):r}},i={};return r.pipe=r.then,Z.each(t,function(e,o){var a=o[2],s=o[3];r[o[1]]=a.add,s&&a.add(function(){n=s},t[1^e][2].disable,t[2][2].lock),i[o[0]]=a.fire,i[o[0]+"With"]=a.fireWith}),r.promise(i),e&&e.call(i,i),i},when:function(e){var t,n,r,i=0,o=X.call(arguments),a=o.length,s=1!==a||e&&Z.isFunction(e.promise)?a:0,l=1===s?e:Z.Deferred(),u=function(e,n,r){return function(i){n[e]=this,r[e]=arguments.length>1?X.call(arguments):i,r===t?l.notifyWith(n,r):--s||l.resolveWith(n,r)}};if(a>1)for(t=new Array(a),n=new Array(a),r=new Array(a);i<a;i++)o[i]&&Z.isFunction(o[i].promise)?o[i].promise().done(u(i,r,o)).fail(l.reject).progress(u(i,n,t)):--s;return s||l.resolveWith(r,o),l.promise()}}),Z.support=function(){var t,n,r,i,o,a,s,l,u,c,p,h=q.createElement("div");if(h.setAttribute("className","t"),h.innerHTML="  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",n=h.getElementsByTagName("*"),r=h.getElementsByTagName("a")[0],!n||!r||!n.length)return{};i=q.createElement("select"),o=i.appendChild(q.createElement("option")),a=h.getElementsByTagName("input")[0],r.style.cssText="top:1px;float:left;opacity:.5",t={leadingWhitespace:3===h.firstChild.nodeType,tbody:!h.getElementsByTagName("tbody").length,htmlSerialize:!!h.getElementsByTagName("link").length,style:/top/.test(r.getAttribute("style")),hrefNormalized:"/a"===r.getAttribute("href"),opacity:/^0.5/.test(r.style.opacity),cssFloat:!!r.style.cssFloat,checkOn:"on"===a.value,optSelected:o.selected,getSetAttribute:"t"!==h.className,enctype:!!q.createElement("form").enctype,html5Clone:"<:nav></:nav>"!==q.createElement("nav").cloneNode(!0).outerHTML,boxModel:"CSS1Compat"===q.compatMode,submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0,boxSizingReliable:!0,pixelPosition:!1},a.checked=!0,t.noCloneChecked=a.cloneNode(!0).checked,i.disabled=!0,t.optDisabled=!o.disabled;try{delete h.test}catch(f){t.deleteExpando=!1}if(!h.addEventListener&&h.attachEvent&&h.fireEvent&&(h.attachEvent("onclick",p=function(){t.noCloneEvent=!1}),h.cloneNode(!0).fireEvent("onclick"),h.detachEvent("onclick",p)),a=q.createElement("input"),a.value="t",a.setAttribute("type","radio"),t.radioValue="t"===a.value,a.setAttribute("checked","checked"),a.setAttribute("name","t"),h.appendChild(a),s=q.createDocumentFragment(),s.appendChild(h.lastChild),t.checkClone=s.cloneNode(!0).cloneNode(!0).lastChild.checked,t.appendChecked=a.checked,s.removeChild(a),s.appendChild(h),h.attachEvent)for(u in{submit:!0,change:!0,focusin:!0})l="on"+u,c=l in h,c||(h.setAttribute(l,"return;"),c="function"==typeof h[l]),t[u+"Bubbles"]=c;return Z(function(){var n,r,i,o,a="padding:0;margin:0;border:0;display:block;overflow:hidden;",s=q.getElementsByTagName("body")[0];s&&(n=q.createElement("div"),n.style.cssText="visibility:hidden;border:0;width:0;height:0;position:static;top:0;margin-top:1px",s.insertBefore(n,s.firstChild),r=q.createElement("div"),n.appendChild(r),r.innerHTML="<table><tr><td></td><td>t</td></tr></table>",i=r.getElementsByTagName("td"),i[0].style.cssText="padding:0;margin:0;border:0;display:none",c=0===i[0].offsetHeight,i[0].style.display="",i[1].style.display="none",t.reliableHiddenOffsets=c&&0===i[0].offsetHeight,r.innerHTML="",r.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;",t.boxSizing=4===r.offsetWidth,t.doesNotIncludeMarginInBodyOffset=1!==s.offsetTop,e.getComputedStyle&&(t.pixelPosition="1%"!==(e.getComputedStyle(r,null)||{}).top,t.boxSizingReliable="4px"===(e.getComputedStyle(r,null)||{width:"4px"}).width,o=q.createElement("div"),o.style.cssText=r.style.cssText=a,o.style.marginRight=o.style.width="0",r.style.width="1px",r.appendChild(o),t.reliableMarginRight=!parseFloat((e.getComputedStyle(o,null)||{}).marginRight)),"undefined"!=typeof r.style.zoom&&(r.innerHTML="",r.style.cssText=a+"width:1px;padding:1px;display:inline;zoom:1",t.inlineBlockNeedsLayout=3===r.offsetWidth,r.style.display="block",r.style.overflow="visible",r.innerHTML="<div></div>",r.firstChild.style.width="5px",t.shrinkWrapBlocks=3!==r.offsetWidth,n.style.zoom=1),s.removeChild(n),n=r=i=o=null)}),s.removeChild(h),n=r=i=o=a=s=h=null,t}();var me=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,ve=/([A-Z])/g;Z.extend({cache:{},deletedIds:[],uuid:0,expando:"jQuery"+(Z.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(e){return e=e.nodeType?Z.cache[e[Z.expando]]:e[Z.expando],!!e&&!o(e)},data:function(e,n,r,i){if(Z.acceptData(e)){var o,a,s=Z.expando,l="string"==typeof n,u=e.nodeType,c=u?Z.cache:e,p=u?e[s]:e[s]&&s;if(p&&c[p]&&(i||c[p].data)||!l||r!==t)return p||(u?e[s]=p=Z.deletedIds.pop()||Z.guid++:p=s),c[p]||(c[p]={},u||(c[p].toJSON=Z.noop)),"object"!=typeof n&&"function"!=typeof n||(i?c[p]=Z.extend(c[p],n):c[p].data=Z.extend(c[p].data,n)),o=c[p],i||(o.data||(o.data={}),o=o.data),r!==t&&(o[Z.camelCase(n)]=r),l?(a=o[n],null==a&&(a=o[Z.camelCase(n)])):a=o,a}},removeData:function(e,t,n){if(Z.acceptData(e)){var r,i,a,s=e.nodeType,l=s?Z.cache:e,u=s?e[Z.expando]:Z.expando;if(l[u]){if(t&&(r=n?l[u]:l[u].data)){Z.isArray(t)||(t in r?t=[t]:(t=Z.camelCase(t),t=t in r?[t]:t.split(" ")));for(i=0,a=t.length;i<a;i++)delete r[t[i]];if(!(n?o:Z.isEmptyObject)(r))return}(n||(delete l[u].data,o(l[u])))&&(s?Z.cleanData([e],!0):Z.support.deleteExpando||l!=l.window?delete l[u]:l[u]=null)}}},_data:function(e,t,n){return Z.data(e,t,n,!0)},acceptData:function(e){var t=e.nodeName&&Z.noData[e.nodeName.toLowerCase()];return!t||t!==!0&&e.getAttribute("classid")===t}}),Z.fn.extend({data:function(e,n){var r,o,a,s,l,u=this[0],c=0,p=null;if(e===t){if(this.length&&(p=Z.data(u),1===u.nodeType&&!Z._data(u,"parsedAttrs"))){for(a=u.attributes,l=a.length;c<l;c++)s=a[c].name,s.indexOf("data-")||(s=Z.camelCase(s.substring(5)),i(u,s,p[s]));Z._data(u,"parsedAttrs",!0)}return p}return"object"==typeof e?this.each(function(){Z.data(this,e)}):(r=e.split(".",2),r[1]=r[1]?"."+r[1]:"",o=r[1]+"!",Z.access(this,function(n){return n===t?(p=this.triggerHandler("getData"+o,[r[0]]),p===t&&u&&(p=Z.data(u,e),p=i(u,e,p)),p===t&&r[1]?this.data(r[0]):p):(r[1]=n,void this.each(function(){var t=Z(this);t.triggerHandler("setData"+o,r),Z.data(this,e,n),t.triggerHandler("changeData"+o,r);
+}))},null,n,arguments.length>1,null,!1))},removeData:function(e){return this.each(function(){Z.removeData(this,e)})}}),Z.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=Z._data(e,t),n&&(!r||Z.isArray(n)?r=Z._data(e,t,Z.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=Z.queue(e,t),r=n.length,i=n.shift(),o=Z._queueHooks(e,t),a=function(){Z.dequeue(e,t)};"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,a,o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return Z._data(e,n)||Z._data(e,n,{empty:Z.Callbacks("once memory").add(function(){Z.removeData(e,t+"queue",!0),Z.removeData(e,n,!0)})})}}),Z.fn.extend({queue:function(e,n){var r=2;return"string"!=typeof e&&(n=e,e="fx",r--),arguments.length<r?Z.queue(this[0],e):n===t?this:this.each(function(){var t=Z.queue(this,e,n);Z._queueHooks(this,e),"fx"===e&&"inprogress"!==t[0]&&Z.dequeue(this,e)})},dequeue:function(e){return this.each(function(){Z.dequeue(this,e)})},delay:function(e,t){return e=Z.fx?Z.fx.speeds[e]||e:e,t=t||"fx",this.queue(t,function(t,n){var r=setTimeout(t,e);n.stop=function(){clearTimeout(r)}})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,n){var r,i=1,o=Z.Deferred(),a=this,s=this.length,l=function(){--i||o.resolveWith(a,[a])};for("string"!=typeof e&&(n=e,e=t),e=e||"fx";s--;)r=Z._data(a[s],e+"queueHooks"),r&&r.empty&&(i++,r.empty.add(l));return l(),o.promise(n)}});var ye,be,xe,we=/[\t\r\n]/g,Se=/\r/g,ke=/^(?:button|input)$/i,Ce=/^(?:button|input|object|select|textarea)$/i,_e=/^a(?:rea|)$/i,Ee=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,Ae=Z.support.getSetAttribute;Z.fn.extend({attr:function(e,t){return Z.access(this,Z.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){Z.removeAttr(this,e)})},prop:function(e,t){return Z.access(this,Z.prop,e,t,arguments.length>1)},removeProp:function(e){return e=Z.propFix[e]||e,this.each(function(){try{this[e]=t,delete this[e]}catch(n){}})},addClass:function(e){var t,n,r,i,o,a,s;if(Z.isFunction(e))return this.each(function(t){Z(this).addClass(e.call(this,t,this.className))});if(e&&"string"==typeof e)for(t=e.split(ne),n=0,r=this.length;n<r;n++)if(i=this[n],1===i.nodeType)if(i.className||1!==t.length){for(o=" "+i.className+" ",a=0,s=t.length;a<s;a++)o.indexOf(" "+t[a]+" ")<0&&(o+=t[a]+" ");i.className=Z.trim(o)}else i.className=e;return this},removeClass:function(e){var n,r,i,o,a,s,l;if(Z.isFunction(e))return this.each(function(t){Z(this).removeClass(e.call(this,t,this.className))});if(e&&"string"==typeof e||e===t)for(n=(e||"").split(ne),s=0,l=this.length;s<l;s++)if(i=this[s],1===i.nodeType&&i.className){for(r=(" "+i.className+" ").replace(we," "),o=0,a=n.length;o<a;o++)for(;r.indexOf(" "+n[o]+" ")>=0;)r=r.replace(" "+n[o]+" "," ");i.className=e?Z.trim(r):""}return this},toggleClass:function(e,t){var n=typeof e,r="boolean"==typeof t;return Z.isFunction(e)?this.each(function(n){Z(this).toggleClass(e.call(this,n,this.className,t),t)}):this.each(function(){if("string"===n)for(var i,o=0,a=Z(this),s=t,l=e.split(ne);i=l[o++];)s=r?s:!a.hasClass(i),a[s?"addClass":"removeClass"](i);else"undefined"!==n&&"boolean"!==n||(this.className&&Z._data(this,"__className__",this.className),this.className=this.className||e===!1?"":Z._data(this,"__className__")||"")})},hasClass:function(e){for(var t=" "+e+" ",n=0,r=this.length;n<r;n++)if(1===this[n].nodeType&&(" "+this[n].className+" ").replace(we," ").indexOf(t)>=0)return!0;return!1},val:function(e){var n,r,i,o=this[0];{if(arguments.length)return i=Z.isFunction(e),this.each(function(r){var o,a=Z(this);1===this.nodeType&&(o=i?e.call(this,r,a.val()):e,null==o?o="":"number"==typeof o?o+="":Z.isArray(o)&&(o=Z.map(o,function(e){return null==e?"":e+""})),n=Z.valHooks[this.type]||Z.valHooks[this.nodeName.toLowerCase()],n&&"set"in n&&n.set(this,o,"value")!==t||(this.value=o))});if(o)return n=Z.valHooks[o.type]||Z.valHooks[o.nodeName.toLowerCase()],n&&"get"in n&&(r=n.get(o,"value"))!==t?r:(r=o.value,"string"==typeof r?r.replace(Se,""):null==r?"":r)}}}),Z.extend({valHooks:{option:{get:function(e){var t=e.attributes.value;return!t||t.specified?e.value:e.text}},select:{get:function(e){for(var t,n,r=e.options,i=e.selectedIndex,o="select-one"===e.type||i<0,a=o?null:[],s=o?i+1:r.length,l=i<0?s:o?i:0;l<s;l++)if(n=r[l],(n.selected||l===i)&&(Z.support.optDisabled?!n.disabled:null===n.getAttribute("disabled"))&&(!n.parentNode.disabled||!Z.nodeName(n.parentNode,"optgroup"))){if(t=Z(n).val(),o)return t;a.push(t)}return a},set:function(e,t){var n=Z.makeArray(t);return Z(e).find("option").each(function(){this.selected=Z.inArray(Z(this).val(),n)>=0}),n.length||(e.selectedIndex=-1),n}}},attrFn:{},attr:function(e,n,r,i){var o,a,s,l=e.nodeType;if(e&&3!==l&&8!==l&&2!==l)return i&&Z.isFunction(Z.fn[n])?Z(e)[n](r):"undefined"==typeof e.getAttribute?Z.prop(e,n,r):(s=1!==l||!Z.isXMLDoc(e),s&&(n=n.toLowerCase(),a=Z.attrHooks[n]||(Ee.test(n)?be:ye)),r!==t?null===r?void Z.removeAttr(e,n):a&&"set"in a&&s&&(o=a.set(e,r,n))!==t?o:(e.setAttribute(n,r+""),r):a&&"get"in a&&s&&null!==(o=a.get(e,n))?o:(o=e.getAttribute(n),null===o?t:o))},removeAttr:function(e,t){var n,r,i,o,a=0;if(t&&1===e.nodeType)for(r=t.split(ne);a<r.length;a++)i=r[a],i&&(n=Z.propFix[i]||i,o=Ee.test(i),o||Z.attr(e,i,""),e.removeAttribute(Ae?i:n),o&&n in e&&(e[n]=!1))},attrHooks:{type:{set:function(e,t){if(ke.test(e.nodeName)&&e.parentNode)Z.error("type property can't be changed");else if(!Z.support.radioValue&&"radio"===t&&Z.nodeName(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}},value:{get:function(e,t){return ye&&Z.nodeName(e,"button")?ye.get(e,t):t in e?e.value:null},set:function(e,t,n){return ye&&Z.nodeName(e,"button")?ye.set(e,t,n):void(e.value=t)}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(e,n,r){var i,o,a,s=e.nodeType;if(e&&3!==s&&8!==s&&2!==s)return a=1!==s||!Z.isXMLDoc(e),a&&(n=Z.propFix[n]||n,o=Z.propHooks[n]),r!==t?o&&"set"in o&&(i=o.set(e,r,n))!==t?i:e[n]=r:o&&"get"in o&&null!==(i=o.get(e,n))?i:e[n]},propHooks:{tabIndex:{get:function(e){var n=e.getAttributeNode("tabindex");return n&&n.specified?parseInt(n.value,10):Ce.test(e.nodeName)||_e.test(e.nodeName)&&e.href?0:t}}}}),be={get:function(e,n){var r,i=Z.prop(e,n);return i===!0||"boolean"!=typeof i&&(r=e.getAttributeNode(n))&&r.nodeValue!==!1?n.toLowerCase():t},set:function(e,t,n){var r;return t===!1?Z.removeAttr(e,n):(r=Z.propFix[n]||n,r in e&&(e[r]=!0),e.setAttribute(n,n.toLowerCase())),n}},Ae||(xe={name:!0,id:!0,coords:!0},ye=Z.valHooks.button={get:function(e,n){var r;return r=e.getAttributeNode(n),r&&(xe[n]?""!==r.value:r.specified)?r.value:t},set:function(e,t,n){var r=e.getAttributeNode(n);return r||(r=q.createAttribute(n),e.setAttributeNode(r)),r.value=t+""}},Z.each(["width","height"],function(e,t){Z.attrHooks[t]=Z.extend(Z.attrHooks[t],{set:function(e,n){if(""===n)return e.setAttribute(t,"auto"),n}})}),Z.attrHooks.contenteditable={get:ye.get,set:function(e,t,n){""===t&&(t="false"),ye.set(e,t,n)}}),Z.support.hrefNormalized||Z.each(["href","src","width","height"],function(e,n){Z.attrHooks[n]=Z.extend(Z.attrHooks[n],{get:function(e){var r=e.getAttribute(n,2);return null===r?t:r}})}),Z.support.style||(Z.attrHooks.style={get:function(e){return e.style.cssText.toLowerCase()||t},set:function(e,t){return e.style.cssText=t+""}}),Z.support.optSelected||(Z.propHooks.selected=Z.extend(Z.propHooks.selected,{get:function(e){var t=e.parentNode;return t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex),null}})),Z.support.enctype||(Z.propFix.enctype="encoding"),Z.support.checkOn||Z.each(["radio","checkbox"],function(){Z.valHooks[this]={get:function(e){return null===e.getAttribute("value")?"on":e.value}}}),Z.each(["radio","checkbox"],function(){Z.valHooks[this]=Z.extend(Z.valHooks[this],{set:function(e,t){if(Z.isArray(t))return e.checked=Z.inArray(Z(e).val(),t)>=0}})});var Ne=/^(?:textarea|input|select)$/i,Te=/^([^\.]*|)(?:\.(.+)|)$/,Pe=/(?:^|\s)hover(\.\S+|)\b/,Le=/^key/,je=/^(?:mouse|contextmenu)|click/,Oe=/^(?:focusinfocus|focusoutblur)$/,Me=function(e){return Z.event.special.hover?e:e.replace(Pe,"mouseenter$1 mouseleave$1")};Z.event={add:function(e,n,r,i,o){var a,s,l,u,c,p,h,f,d,g,m;if(3!==e.nodeType&&8!==e.nodeType&&n&&r&&(a=Z._data(e))){for(r.handler&&(d=r,r=d.handler,o=d.selector),r.guid||(r.guid=Z.guid++),l=a.events,l||(a.events=l={}),s=a.handle,s||(a.handle=s=function(e){return"undefined"==typeof Z||e&&Z.event.triggered===e.type?t:Z.event.dispatch.apply(s.elem,arguments)},s.elem=e),n=Z.trim(Me(n)).split(" "),u=0;u<n.length;u++)c=Te.exec(n[u])||[],p=c[1],h=(c[2]||"").split(".").sort(),m=Z.event.special[p]||{},p=(o?m.delegateType:m.bindType)||p,m=Z.event.special[p]||{},f=Z.extend({type:p,origType:c[1],data:i,handler:r,guid:r.guid,selector:o,needsContext:o&&Z.expr.match.needsContext.test(o),namespace:h.join(".")},d),g=l[p],g||(g=l[p]=[],g.delegateCount=0,m.setup&&m.setup.call(e,i,h,s)!==!1||(e.addEventListener?e.addEventListener(p,s,!1):e.attachEvent&&e.attachEvent("on"+p,s))),m.add&&(m.add.call(e,f),f.handler.guid||(f.handler.guid=r.guid)),o?g.splice(g.delegateCount++,0,f):g.push(f),Z.event.global[p]=!0;e=null}},global:{},remove:function(e,t,n,r,i){var o,a,s,l,u,c,p,h,f,d,g,m=Z.hasData(e)&&Z._data(e);if(m&&(h=m.events)){for(t=Z.trim(Me(t||"")).split(" "),o=0;o<t.length;o++)if(a=Te.exec(t[o])||[],s=l=a[1],u=a[2],s){for(f=Z.event.special[s]||{},s=(r?f.delegateType:f.bindType)||s,d=h[s]||[],c=d.length,u=u?new RegExp("(^|\\.)"+u.split(".").sort().join("\\.(?:.*\\.|)")+"(\\.|$)"):null,p=0;p<d.length;p++)g=d[p],!i&&l!==g.origType||n&&n.guid!==g.guid||u&&!u.test(g.namespace)||r&&r!==g.selector&&("**"!==r||!g.selector)||(d.splice(p--,1),g.selector&&d.delegateCount--,f.remove&&f.remove.call(e,g));0===d.length&&c!==d.length&&(f.teardown&&f.teardown.call(e,u,m.handle)!==!1||Z.removeEvent(e,s,m.handle),delete h[s])}else for(s in h)Z.event.remove(e,s+t[o],n,r,!0);Z.isEmptyObject(h)&&(delete m.handle,Z.removeData(e,"events",!0))}},customEvent:{getData:!0,setData:!0,changeData:!0},trigger:function(n,r,i,o){if(!i||3!==i.nodeType&&8!==i.nodeType){var a,s,l,u,c,p,h,f,d,g,m=n.type||n,v=[];if(!Oe.test(m+Z.event.triggered)&&(m.indexOf("!")>=0&&(m=m.slice(0,-1),s=!0),m.indexOf(".")>=0&&(v=m.split("."),m=v.shift(),v.sort()),i&&!Z.event.customEvent[m]||Z.event.global[m]))if(n="object"==typeof n?n[Z.expando]?n:new Z.Event(m,n):new Z.Event(m),n.type=m,n.isTrigger=!0,n.exclusive=s,n.namespace=v.join("."),n.namespace_re=n.namespace?new RegExp("(^|\\.)"+v.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,p=m.indexOf(":")<0?"on"+m:"",i){if(n.result=t,n.target||(n.target=i),r=null!=r?Z.makeArray(r):[],r.unshift(n),h=Z.event.special[m]||{},!h.trigger||h.trigger.apply(i,r)!==!1){if(d=[[i,h.bindType||m]],!o&&!h.noBubble&&!Z.isWindow(i)){for(g=h.delegateType||m,u=Oe.test(g+m)?i:i.parentNode,c=i;u;u=u.parentNode)d.push([u,g]),c=u;c===(i.ownerDocument||q)&&d.push([c.defaultView||c.parentWindow||e,g])}for(l=0;l<d.length&&!n.isPropagationStopped();l++)u=d[l][0],n.type=d[l][1],f=(Z._data(u,"events")||{})[n.type]&&Z._data(u,"handle"),f&&f.apply(u,r),f=p&&u[p],f&&Z.acceptData(u)&&f.apply&&f.apply(u,r)===!1&&n.preventDefault();return n.type=m,o||n.isDefaultPrevented()||h._default&&h._default.apply(i.ownerDocument,r)!==!1||"click"===m&&Z.nodeName(i,"a")||!Z.acceptData(i)||p&&i[m]&&("focus"!==m&&"blur"!==m||0!==n.target.offsetWidth)&&!Z.isWindow(i)&&(c=i[p],c&&(i[p]=null),Z.event.triggered=m,i[m](),Z.event.triggered=t,c&&(i[p]=c)),n.result}}else{a=Z.cache;for(l in a)a[l].events&&a[l].events[m]&&Z.event.trigger(n,r,a[l].handle.elem,!0)}}},dispatch:function(n){n=Z.event.fix(n||e.event);var r,i,o,a,s,l,u,c,p,h=(Z._data(this,"events")||{})[n.type]||[],f=h.delegateCount,d=X.call(arguments),g=!n.exclusive&&!n.namespace,m=Z.event.special[n.type]||{},v=[];if(d[0]=n,n.delegateTarget=this,!m.preDispatch||m.preDispatch.call(this,n)!==!1){if(f&&(!n.button||"click"!==n.type))for(o=n.target;o!=this;o=o.parentNode||this)if(o.disabled!==!0||"click"!==n.type){for(s={},u=[],r=0;r<f;r++)c=h[r],p=c.selector,s[p]===t&&(s[p]=c.needsContext?Z(p,this).index(o)>=0:Z.find(p,this,null,[o]).length),s[p]&&u.push(c);u.length&&v.push({elem:o,matches:u})}for(h.length>f&&v.push({elem:this,matches:h.slice(f)}),r=0;r<v.length&&!n.isPropagationStopped();r++)for(l=v[r],n.currentTarget=l.elem,i=0;i<l.matches.length&&!n.isImmediatePropagationStopped();i++)c=l.matches[i],(g||!n.namespace&&!c.namespace||n.namespace_re&&n.namespace_re.test(c.namespace))&&(n.data=c.data,n.handleObj=c,a=((Z.event.special[c.origType]||{}).handle||c.handler).apply(l.elem,d),a!==t&&(n.result=a,a===!1&&(n.preventDefault(),n.stopPropagation())));return m.postDispatch&&m.postDispatch.call(this,n),n.result}},props:"attrChange attrName relatedNode srcElement 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 fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(e,n){var r,i,o,a=n.button,s=n.fromElement;return null==e.pageX&&null!=n.clientX&&(r=e.target.ownerDocument||q,i=r.documentElement,o=r.body,e.pageX=n.clientX+(i&&i.scrollLeft||o&&o.scrollLeft||0)-(i&&i.clientLeft||o&&o.clientLeft||0),e.pageY=n.clientY+(i&&i.scrollTop||o&&o.scrollTop||0)-(i&&i.clientTop||o&&o.clientTop||0)),!e.relatedTarget&&s&&(e.relatedTarget=s===e.target?n.toElement:s),e.which||a===t||(e.which=1&a?1:2&a?3:4&a?2:0),e}},fix:function(e){if(e[Z.expando])return e;var t,n,r=e,i=Z.event.fixHooks[e.type]||{},o=i.props?this.props.concat(i.props):this.props;for(e=Z.Event(r),t=o.length;t;)n=o[--t],e[n]=r[n];return e.target||(e.target=r.srcElement||q),3===e.target.nodeType&&(e.target=e.target.parentNode),e.metaKey=!!e.metaKey,i.filter?i.filter(e,r):e},special:{load:{noBubble:!0},focus:{delegateType:"focusin"},blur:{delegateType:"focusout"},beforeunload:{setup:function(e,t,n){Z.isWindow(this)&&(this.onbeforeunload=n)},teardown:function(e,t){this.onbeforeunload===t&&(this.onbeforeunload=null)}}},simulate:function(e,t,n,r){var i=Z.extend(new Z.Event,n,{type:e,isSimulated:!0,originalEvent:{}});r?Z.event.trigger(i,null,t):Z.event.dispatch.call(t,i),i.isDefaultPrevented()&&n.preventDefault()}},Z.event.handle=Z.event.dispatch,Z.removeEvent=q.removeEventListener?function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n,!1)}:function(e,t,n){var r="on"+t;e.detachEvent&&("undefined"==typeof e[r]&&(e[r]=null),e.detachEvent(r,n))},Z.Event=function(e,t){return this instanceof Z.Event?(e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||e.returnValue===!1||e.getPreventDefault&&e.getPreventDefault()?s:a):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={preventDefault:function(){this.isDefaultPrevented=s;var e=this.originalEvent;e&&(e.preventDefault?e.preventDefault():e.returnValue=!1)},stopPropagation:function(){this.isPropagationStopped=s;var e=this.originalEvent;e&&(e.stopPropagation&&e.stopPropagation(),e.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=s,this.stopPropagation()},isDefaultPrevented:a,isPropagationStopped:a,isImmediatePropagationStopped:a},Z.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(e,t){Z.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,i=e.relatedTarget,o=e.handleObj;o.selector;return i&&(i===r||Z.contains(r,i))||(e.type=o.origType,n=o.handler.apply(this,arguments),e.type=t),n}}}),Z.support.submitBubbles||(Z.event.special.submit={setup:function(){return!Z.nodeName(this,"form")&&void Z.event.add(this,"click._submit keypress._submit",function(e){var n=e.target,r=Z.nodeName(n,"input")||Z.nodeName(n,"button")?n.form:t;r&&!Z._data(r,"_submit_attached")&&(Z.event.add(r,"submit._submit",function(e){e._submit_bubble=!0}),Z._data(r,"_submit_attached",!0))})},postDispatch:function(e){e._submit_bubble&&(delete e._submit_bubble,this.parentNode&&!e.isTrigger&&Z.event.simulate("submit",this.parentNode,e,!0))},teardown:function(){return!Z.nodeName(this,"form")&&void Z.event.remove(this,"._submit")}}),Z.support.changeBubbles||(Z.event.special.change={setup:function(){return Ne.test(this.nodeName)?("checkbox"!==this.type&&"radio"!==this.type||(Z.event.add(this,"propertychange._change",function(e){"checked"===e.originalEvent.propertyName&&(this._just_changed=!0)}),Z.event.add(this,"click._change",function(e){this._just_changed&&!e.isTrigger&&(this._just_changed=!1),Z.event.simulate("change",this,e,!0)})),!1):void Z.event.add(this,"beforeactivate._change",function(e){var t=e.target;Ne.test(t.nodeName)&&!Z._data(t,"_change_attached")&&(Z.event.add(t,"change._change",function(e){!this.parentNode||e.isSimulated||e.isTrigger||Z.event.simulate("change",this.parentNode,e,!0)}),Z._data(t,"_change_attached",!0))})},handle:function(e){var t=e.target;if(this!==t||e.isSimulated||e.isTrigger||"radio"!==t.type&&"checkbox"!==t.type)return e.handleObj.handler.apply(this,arguments)},teardown:function(){return Z.event.remove(this,"._change"),!Ne.test(this.nodeName)}}),Z.support.focusinBubbles||Z.each({focus:"focusin",blur:"focusout"},function(e,t){var n=0,r=function(e){Z.event.simulate(t,e.target,Z.event.fix(e),!0)};Z.event.special[t]={setup:function(){0===n++&&q.addEventListener(e,r,!0)},teardown:function(){0===--n&&q.removeEventListener(e,r,!0)}}}),Z.fn.extend({on:function(e,n,r,i,o){var s,l;if("object"==typeof e){"string"!=typeof n&&(r=r||n,n=t);for(l in e)this.on(l,n,r,e[l],o);return this}if(null==r&&null==i?(i=n,r=n=t):null==i&&("string"==typeof n?(i=r,r=t):(i=r,r=n,n=t)),i===!1)i=a;else if(!i)return this;return 1===o&&(s=i,i=function(e){return Z().off(e),s.apply(this,arguments)},i.guid=s.guid||(s.guid=Z.guid++)),this.each(function(){Z.event.add(this,e,i,r,n)})},one:function(e,t,n,r){return this.on(e,t,n,r,1)},off:function(e,n,r){var i,o;if(e&&e.preventDefault&&e.handleObj)return i=e.handleObj,Z(e.delegateTarget).off(i.namespace?i.origType+"."+i.namespace:i.origType,i.selector,i.handler),this;if("object"==typeof e){for(o in e)this.off(o,n,e[o]);return this}return n!==!1&&"function"!=typeof n||(r=n,n=t),r===!1&&(r=a),this.each(function(){Z.event.remove(this,e,r,n)})},bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},live:function(e,t,n){return Z(this.context).on(e,this.selector,t,n),this},die:function(e,t){return Z(this.context).off(e,this.selector||"**",t),this},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},trigger:function(e,t){return this.each(function(){Z.event.trigger(e,t,this)})},triggerHandler:function(e,t){if(this[0])return Z.event.trigger(e,t,this[0],!0)},toggle:function(e){var t=arguments,n=e.guid||Z.guid++,r=0,i=function(n){var i=(Z._data(this,"lastToggle"+e.guid)||0)%r;return Z._data(this,"lastToggle"+e.guid,i+1),n.preventDefault(),t[i].apply(this,arguments)||!1};for(i.guid=n;r<t.length;)t[r++].guid=n;return this.click(i)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),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,n){return null==n&&(n=e,e=null),arguments.length>0?this.on(t,null,e,n):this.trigger(t)},Le.test(t)&&(Z.event.fixHooks[t]=Z.event.keyHooks),je.test(t)&&(Z.event.fixHooks[t]=Z.event.mouseHooks)}),function(e,t){function n(e,t,n,r){n=n||[],t=t||L;var i,o,a,s,l=t.nodeType;if(!e||"string"!=typeof e)return n;if(1!==l&&9!==l)return[];if(a=w(t),!a&&!r&&(i=ne.exec(e)))if(s=i[1]){if(9===l){if(o=t.getElementById(s),!o||!o.parentNode)return n;if(o.id===s)return n.push(o),n}else if(t.ownerDocument&&(o=t.ownerDocument.getElementById(s))&&S(t,o)&&o.id===s)return n.push(o),n}else{if(i[2])return H.apply(n,I.call(t.getElementsByTagName(e),0)),n;if((s=i[3])&&he&&t.getElementsByClassName)return H.apply(n,I.call(t.getElementsByClassName(s),0)),n}return g(e.replace(Y,"$1"),t,n,r,a)}function r(e){return function(t){var n=t.nodeName.toLowerCase();return"input"===n&&t.type===e}}function i(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function o(e){return B(function(t){return t=+t,B(function(n,r){for(var i,o=e([],n.length,t),a=o.length;a--;)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))})})}function a(e,t,n){if(e===t)return n;for(var r=e.nextSibling;r;){if(r===t)return-1;r=r.nextSibling}return 1}function s(e,t){var r,i,o,a,s,l,u,c=q[T][e+" "];if(c)return t?0:c.slice(0);for(s=e,l=[],u=b.preFilter;s;){r&&!(i=Q.exec(s))||(i&&(s=s.slice(i[0].length)||s),l.push(o=[])),r=!1,(i=ee.exec(s))&&(o.push(r=new P(i.shift())),s=s.slice(r.length),r.type=i[0].replace(Y," "));for(a in b.filter)!(i=se[a].exec(s))||u[a]&&!(i=u[a](i))||(o.push(r=new P(i.shift())),s=s.slice(r.length),r.type=a,r.matches=i);if(!r)break}return t?s.length:s?n.error(e):q(e,l).slice(0)}function l(e,t,n){var r=t.dir,i=n&&"parentNode"===t.dir,o=M++;return t.first?function(t,n,o){for(;t=t[r];)if(i||1===t.nodeType)return e(t,n,o)}:function(t,n,a){if(a){for(;t=t[r];)if((i||1===t.nodeType)&&e(t,n,a))return t}else for(var s,l=O+" "+o+" ",u=l+v;t=t[r];)if(i||1===t.nodeType){if((s=t[T])===u)return t.sizset;if("string"==typeof s&&0===s.indexOf(l)){if(t.sizset)return t}else{if(t[T]=u,e(t,n,a))return t.sizset=!0,t;t.sizset=!1}}}}function u(e){return e.length>1?function(t,n,r){for(var i=e.length;i--;)if(!e[i](t,n,r))return!1;return!0}:e[0]}function c(e,t,n,r,i){for(var o,a=[],s=0,l=e.length,u=null!=t;s<l;s++)(o=e[s])&&(n&&!n(o,r,i)||(a.push(o),u&&t.push(s)));return a}function p(e,t,n,r,i,o){return r&&!r[T]&&(r=p(r)),i&&!i[T]&&(i=p(i,o)),B(function(o,a,s,l){var u,p,h,f=[],g=[],m=a.length,v=o||d(t||"*",s.nodeType?[s]:s,[]),y=!e||!o&&t?v:c(v,f,e,s,l),b=n?i||(o?e:m||r)?[]:a:y;if(n&&n(y,b,s,l),r)for(u=c(b,g),r(u,[],s,l),p=u.length;p--;)(h=u[p])&&(b[g[p]]=!(y[g[p]]=h));if(o){if(i||e){if(i){for(u=[],p=b.length;p--;)(h=b[p])&&u.push(y[p]=h);i(null,b=[],u,l)}for(p=b.length;p--;)(h=b[p])&&(u=i?R.call(o,h):f[p])>-1&&(o[u]=!(a[u]=h))}}else b=c(b===a?b.splice(m,b.length):b),i?i(null,a,b,l):H.apply(a,b)})}function h(e){for(var t,n,r,i=e.length,o=b.relative[e[0].type],a=o||b.relative[" "],s=o?1:0,c=l(function(e){return e===t},a,!0),f=l(function(e){return R.call(t,e)>-1},a,!0),d=[function(e,n,r){return!o&&(r||n!==E)||((t=n).nodeType?c(e,n,r):f(e,n,r))}];s<i;s++)if(n=b.relative[e[s].type])d=[l(u(d),n)];else{if(n=b.filter[e[s].type].apply(null,e[s].matches),n[T]){for(r=++s;r<i&&!b.relative[e[r].type];r++);return p(s>1&&u(d),s>1&&e.slice(0,s-1).join("").replace(Y,"$1"),n,s<r&&h(e.slice(s,r)),r<i&&h(e=e.slice(r)),r<i&&e.join(""))}d.push(n)}return u(d)}function f(e,t){var r=t.length>0,i=e.length>0,o=function(a,s,l,u,p){var h,f,d,g=[],m=0,y="0",x=a&&[],w=null!=p,S=E,k=a||i&&b.find.TAG("*",p&&s.parentNode||s),C=O+=null==S?1:Math.E;for(w&&(E=s!==L&&s,v=o.el);null!=(h=k[y]);y++){if(i&&h){for(f=0;d=e[f];f++)if(d(h,s,l)){u.push(h);break}w&&(O=C,v=++o.el)}r&&((h=!d&&h)&&m--,a&&x.push(h))}if(m+=y,r&&y!==m){for(f=0;d=t[f];f++)d(x,g,s,l);if(a){if(m>0)for(;y--;)x[y]||g[y]||(g[y]=D.call(u));g=c(g)}H.apply(u,g),w&&!a&&g.length>0&&m+t.length>1&&n.uniqueSort(u)}return w&&(O=C,E=S),x};return o.el=0,r?B(o):o}function d(e,t,r){for(var i=0,o=t.length;i<o;i++)n(e,t[i],r);return r}function g(e,t,n,r,i){var o,a,l,u,c,p=s(e);p.length;if(!r&&1===p.length){if(a=p[0]=p[0].slice(0),a.length>2&&"ID"===(l=a[0]).type&&9===t.nodeType&&!i&&b.relative[a[1].type]){if(t=b.find.ID(l.matches[0].replace(ae,""),t,i)[0],!t)return n;e=e.slice(a.shift().length)}for(o=se.POS.test(e)?-1:a.length-1;o>=0&&(l=a[o],!b.relative[u=l.type]);o--)if((c=b.find[u])&&(r=c(l.matches[0].replace(ae,""),re.test(a[0].type)&&t.parentNode||t,i))){if(a.splice(o,1),e=r.length&&a.join(""),!e)return H.apply(n,I.call(r,0)),n;break}}return k(e,p)(r,t,i,n,re.test(e)),n}function m(){}var v,y,b,x,w,S,k,C,_,E,A=!0,N="undefined",T=("sizcache"+Math.random()).replace(".",""),P=String,L=e.document,j=L.documentElement,O=0,M=0,D=[].pop,H=[].push,I=[].slice,R=[].indexOf||function(e){for(var t=0,n=this.length;t<n;t++)if(this[t]===e)return t;return-1},B=function(e,t){return e[T]=null==t||t,e},$=function(){var e={},t=[];return B(function(n,r){return t.push(n)>b.cacheLength&&delete e[t.shift()],e[n+" "]=r},e)},F=$(),q=$(),W=$(),U="[\\x20\\t\\r\\n\\f]",z="(?:\\\\.|[-\\w]|[^\\x00-\\xa0])+",V=z.replace("w","w#"),G="([*^$|!~]?=)",X="\\["+U+"*("+z+")"+U+"*(?:"+G+U+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+V+")|)|)"+U+"*\\]",J=":("+z+")(?:\\((?:(['\"])((?:\\\\.|[^\\\\])*?)\\2|([^()[\\]]*|(?:(?:"+X+")|[^:]|\\\\.)*|.*))\\)|)",K=":(even|odd|eq|gt|lt|nth|first|last)(?:\\("+U+"*((?:-\\d)?\\d*)"+U+"*\\)|)(?=[^-]|$)",Y=new RegExp("^"+U+"+|((?:^|[^\\\\])(?:\\\\.)*)"+U+"+$","g"),Q=new RegExp("^"+U+"*,"+U+"*"),ee=new RegExp("^"+U+"*([\\x20\\t\\r\\n\\f>+~])"+U+"*"),te=new RegExp(J),ne=/^(?:#([\w\-]+)|(\w+)|\.([\w\-]+))$/,re=/[\x20\t\r\n\f]*[+~]/,ie=/h\d/i,oe=/input|select|textarea|button/i,ae=/\\(?!\\)/g,se={ID:new RegExp("^#("+z+")"),CLASS:new RegExp("^\\.("+z+")"),NAME:new RegExp("^\\[name=['\"]?("+z+")['\"]?\\]"),TAG:new RegExp("^("+z.replace("w","w*")+")"),ATTR:new RegExp("^"+X),PSEUDO:new RegExp("^"+J),POS:new RegExp(K,"i"),CHILD:new RegExp("^:(only|nth|first|last)-child(?:\\("+U+"*(even|odd|(([+-]|)(\\d*)n|)"+U+"*(?:([+-]|)"+U+"*(\\d+)|))"+U+"*\\)|)","i"),needsContext:new RegExp("^"+U+"*[>+~]|"+K,"i")},le=function(e){var t=L.createElement("div");try{return e(t)}catch(n){return!1}finally{t=null}},ue=le(function(e){return e.appendChild(L.createComment("")),!e.getElementsByTagName("*").length}),ce=le(function(e){return e.innerHTML="<a href='#'></a>",e.firstChild&&typeof e.firstChild.getAttribute!==N&&"#"===e.firstChild.getAttribute("href")}),pe=le(function(e){e.innerHTML="<select></select>";var t=typeof e.lastChild.getAttribute("multiple");return"boolean"!==t&&"string"!==t}),he=le(function(e){return e.innerHTML="<div class='hidden e'></div><div class='hidden'></div>",!(!e.getElementsByClassName||!e.getElementsByClassName("e").length)&&(e.lastChild.className="e",2===e.getElementsByClassName("e").length)}),fe=le(function(e){e.id=T+0,e.innerHTML="<a name='"+T+"'></a><div name='"+T+"'></div>",j.insertBefore(e,j.firstChild);var t=L.getElementsByName&&L.getElementsByName(T).length===2+L.getElementsByName(T+0).length;return y=!L.getElementById(T),j.removeChild(e),t});try{I.call(j.childNodes,0)[0].nodeType}catch(de){I=function(e){for(var t,n=[];t=this[e];e++)n.push(t);return n}}n.matches=function(e,t){return n(e,null,null,t)},n.matchesSelector=function(e,t){return n(t,null,null,[e]).length>0},x=n.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=x(e)}else if(3===i||4===i)return e.nodeValue}else for(;t=e[r];r++)n+=x(t);return n},w=n.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return!!t&&"HTML"!==t.nodeName},S=n.contains=j.contains?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!!(r&&1===r.nodeType&&n.contains&&n.contains(r))}:j.compareDocumentPosition?function(e,t){return t&&!!(16&e.compareDocumentPosition(t))}:function(e,t){for(;t=t.parentNode;)if(t===e)return!0;return!1},n.attr=function(e,t){var n,r=w(e);return r||(t=t.toLowerCase()),(n=b.attrHandle[t])?n(e):r||pe?e.getAttribute(t):(n=e.getAttributeNode(t),n?"boolean"==typeof e[t]?e[t]?t:null:n.specified?n.value:null:null)},b=n.selectors={cacheLength:50,createPseudo:B,match:se,attrHandle:ce?{}:{href:function(e){return e.getAttribute("href",2)},type:function(e){return e.getAttribute("type")}},find:{ID:y?function(e,t,n){if(typeof t.getElementById!==N&&!n){var r=t.getElementById(e);return r&&r.parentNode?[r]:[]}}:function(e,n,r){if(typeof n.getElementById!==N&&!r){var i=n.getElementById(e);return i?i.id===e||typeof i.getAttributeNode!==N&&i.getAttributeNode("id").value===e?[i]:t:[]}},TAG:ue?function(e,t){if(typeof t.getElementsByTagName!==N)return t.getElementsByTagName(e)}:function(e,t){var n=t.getElementsByTagName(e);if("*"===e){for(var r,i=[],o=0;r=n[o];o++)1===r.nodeType&&i.push(r);return i}return n},NAME:fe&&function(e,t){if(typeof t.getElementsByName!==N)return t.getElementsByName(name)},CLASS:he&&function(e,t,n){if(typeof t.getElementsByClassName!==N&&!n)return t.getElementsByClassName(e)}},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(ae,""),e[3]=(e[4]||e[5]||"").replace(ae,""),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1]?(e[2]||n.error(e[0]),e[3]=+(e[3]?e[4]+(e[5]||1):2*("even"===e[2]||"odd"===e[2])),e[4]=+(e[6]+e[7]||"odd"===e[2])):e[2]&&n.error(e[0]),e},PSEUDO:function(e){var t,n;return se.CHILD.test(e[0])?null:(e[3]?e[2]=e[3]:(t=e[4])&&(te.test(t)&&(n=s(t,!0))&&(n=t.indexOf(")",t.length-n)-t.length)&&(t=t.slice(0,n),e[0]=e[0].slice(0,n)),e[2]=t),e.slice(0,3))}},filter:{ID:y?function(e){return e=e.replace(ae,""),function(t){return t.getAttribute("id")===e}}:function(e){return e=e.replace(ae,""),function(t){var n=typeof t.getAttributeNode!==N&&t.getAttributeNode("id");return n&&n.value===e}},TAG:function(e){return"*"===e?function(){return!0}:(e=e.replace(ae,"").toLowerCase(),function(t){return t.nodeName&&t.nodeName.toLowerCase()===e})},CLASS:function(e){var t=F[T][e+" "];return t||(t=new RegExp("(^|"+U+")"+e+"("+U+"|$)"))&&F(e,function(e){return t.test(e.className||typeof e.getAttribute!==N&&e.getAttribute("class")||"")})},ATTR:function(e,t,r){return function(i,o){var a=n.attr(i,e);return null==a?"!="===t:!t||(a+="","="===t?a===r:"!="===t?a!==r:"^="===t?r&&0===a.indexOf(r):"*="===t?r&&a.indexOf(r)>-1:"$="===t?r&&a.substr(a.length-r.length)===r:"~="===t?(" "+a+" ").indexOf(r)>-1:"|="===t&&(a===r||a.substr(0,r.length+1)===r+"-"))}},CHILD:function(e,t,n,r){return"nth"===e?function(e){var t,i,o=e.parentNode;if(1===n&&0===r)return!0;if(o)for(i=0,t=o.firstChild;t&&(1!==t.nodeType||(i++,e!==t));t=t.nextSibling);return i-=r,i===n||i%n===0&&i/n>=0}:function(t){var n=t;switch(e){case"only":case"first":for(;n=n.previousSibling;)if(1===n.nodeType)return!1;if("first"===e)return!0;n=t;case"last":for(;n=n.nextSibling;)if(1===n.nodeType)return!1;return!0}}},PSEUDO:function(e,t){var r,i=b.pseudos[e]||b.setFilters[e.toLowerCase()]||n.error("unsupported pseudo: "+e);return i[T]?i(t):i.length>1?(r=[e,e,"",t],b.setFilters.hasOwnProperty(e.toLowerCase())?B(function(e,n){for(var r,o=i(e,t),a=o.length;a--;)r=R.call(e,o[a]),e[r]=!(n[r]=o[a])}):function(e){return i(e,0,r)}):i}},pseudos:{not:B(function(e){var t=[],n=[],r=k(e.replace(Y,"$1"));return r[T]?B(function(e,t,n,i){for(var o,a=r(e,null,i,[]),s=e.length;s--;)(o=a[s])&&(e[s]=!(t[s]=o))}):function(e,i,o){return t[0]=e,r(t,null,o,n),!n.pop()}}),has:B(function(e){return function(t){return n(e,t).length>0}}),contains:B(function(e){return function(t){return(t.textContent||t.innerText||x(t)).indexOf(e)>-1}}),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},parent:function(e){return!b.pseudos.empty(e)},empty:function(e){var t;for(e=e.firstChild;e;){if(e.nodeName>"@"||3===(t=e.nodeType)||4===t)return!1;e=e.nextSibling}return!0},header:function(e){return ie.test(e.nodeName)},text:function(e){var t,n;return"input"===e.nodeName.toLowerCase()&&"text"===(t=e.type)&&(null==(n=e.getAttribute("type"))||n.toLowerCase()===t)},radio:r("radio"),checkbox:r("checkbox"),file:r("file"),password:r("password"),image:r("image"),submit:i("submit"),reset:i("reset"),button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},input:function(e){return oe.test(e.nodeName)},focus:function(e){var t=e.ownerDocument;return e===t.activeElement&&(!t.hasFocus||t.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},active:function(e){return e===e.ownerDocument.activeElement},first:o(function(){return[0]}),last:o(function(e,t){return[t-1]}),eq:o(function(e,t,n){return[n<0?n+t:n]}),even:o(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:o(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:o(function(e,t,n){for(var r=n<0?n+t:n;--r>=0;)e.push(r);return e}),gt:o(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}},C=j.compareDocumentPosition?function(e,t){return e===t?(_=!0,0):(e.compareDocumentPosition&&t.compareDocumentPosition?4&e.compareDocumentPosition(t):e.compareDocumentPosition)?-1:1}:function(e,t){if(e===t)return _=!0,0;if(e.sourceIndex&&t.sourceIndex)return e.sourceIndex-t.sourceIndex;var n,r,i=[],o=[],s=e.parentNode,l=t.parentNode,u=s;if(s===l)return a(e,t);if(!s)return-1;if(!l)return 1;for(;u;)i.unshift(u),u=u.parentNode;for(u=l;u;)o.unshift(u),u=u.parentNode;n=i.length,r=o.length;for(var c=0;c<n&&c<r;c++)if(i[c]!==o[c])return a(i[c],o[c]);return c===n?a(e,o[c],-1):a(i[c],t,1)},[0,0].sort(C),A=!_,n.uniqueSort=function(e){var t,n=[],r=1,i=0;if(_=A,e.sort(C),_){for(;t=e[r];r++)t===e[r-1]&&(i=n.push(r));for(;i--;)e.splice(n[i],1)}return e},n.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},k=n.compile=function(e,t){var n,r=[],i=[],o=W[T][e+" "];if(!o){for(t||(t=s(e)),n=t.length;n--;)o=h(t[n]),o[T]?r.push(o):i.push(o);o=W(e,f(i,r))}return o},L.querySelectorAll&&!function(){var e,t=g,r=/'|\\/g,i=/\=[\x20\t\r\n\f]*([^'"\]]*)[\x20\t\r\n\f]*\]/g,o=[":focus"],a=[":active"],l=j.matchesSelector||j.mozMatchesSelector||j.webkitMatchesSelector||j.oMatchesSelector||j.msMatchesSelector;le(function(e){e.innerHTML="<select><option selected=''></option></select>",e.querySelectorAll("[selected]").length||o.push("\\["+U+"*(?:checked|disabled|ismap|multiple|readonly|selected|value)"),e.querySelectorAll(":checked").length||o.push(":checked")}),le(function(e){e.innerHTML="<p test=''></p>",e.querySelectorAll("[test^='']").length&&o.push("[*^$]="+U+"*(?:\"\"|'')"),e.innerHTML="<input type='hidden'/>",e.querySelectorAll(":enabled").length||o.push(":enabled",":disabled")}),o=new RegExp(o.join("|")),g=function(e,n,i,a,l){if(!a&&!l&&!o.test(e)){var u,c,p=!0,h=T,f=n,d=9===n.nodeType&&e;if(1===n.nodeType&&"object"!==n.nodeName.toLowerCase()){for(u=s(e),(p=n.getAttribute("id"))?h=p.replace(r,"\\$&"):n.setAttribute("id",h),h="[id='"+h+"'] ",c=u.length;c--;)u[c]=h+u[c].join("");f=re.test(e)&&n.parentNode||n,d=u.join(",")}if(d)try{return H.apply(i,I.call(f.querySelectorAll(d),0)),i}catch(g){}finally{p||n.removeAttribute("id")}}return t(e,n,i,a,l)},l&&(le(function(t){e=l.call(t,"div");try{l.call(t,"[test!='']:sizzle"),a.push("!=",J)}catch(n){}}),a=new RegExp(a.join("|")),n.matchesSelector=function(t,r){if(r=r.replace(i,"='$1']"),!w(t)&&!a.test(r)&&!o.test(r))try{var s=l.call(t,r);if(s||e||t.document&&11!==t.document.nodeType)return s}catch(u){}return n(r,null,null,[t]).length>0})}(),b.pseudos.nth=b.pseudos.eq,b.filters=m.prototype=b.pseudos,b.setFilters=new m,n.attr=Z.attr,Z.find=n,Z.expr=n.selectors,Z.expr[":"]=Z.expr.pseudos,Z.unique=n.uniqueSort,Z.text=n.getText,Z.isXMLDoc=n.isXML,Z.contains=n.contains}(e);var De=/Until$/,He=/^(?:parents|prev(?:Until|All))/,Ie=/^.[^:#\[\.,]*$/,Re=Z.expr.match.needsContext,Be={children:!0,contents:!0,next:!0,prev:!0};Z.fn.extend({find:function(e){var t,n,r,i,o,a,s=this;if("string"!=typeof e)return Z(e).filter(function(){for(t=0,n=s.length;t<n;t++)if(Z.contains(s[t],this))return!0});for(a=this.pushStack("","find",e),t=0,n=this.length;t<n;t++)if(r=a.length,Z.find(e,this[t],a),t>0)for(i=r;i<a.length;i++)for(o=0;o<r;o++)if(a[o]===a[i]){a.splice(i--,1);break}return a},has:function(e){var t,n=Z(e,this),r=n.length;return this.filter(function(){for(t=0;t<r;t++)if(Z.contains(this,n[t]))return!0})},not:function(e){return this.pushStack(c(this,e,!1),"not",e)},filter:function(e){return this.pushStack(c(this,e,!0),"filter",e)},is:function(e){return!!e&&("string"==typeof e?Re.test(e)?Z(e,this.context).index(this[0])>=0:Z.filter(e,this).length>0:this.filter(e).length>0)},closest:function(e,t){for(var n,r=0,i=this.length,o=[],a=Re.test(e)||"string"!=typeof e?Z(e,t||this.context):0;r<i;r++)for(n=this[r];n&&n.ownerDocument&&n!==t&&11!==n.nodeType;){if(a?a.index(n)>-1:Z.find.matchesSelector(n,e)){o.push(n);break}n=n.parentNode}return o=o.length>1?Z.unique(o):o,this.pushStack(o,"closest",e)},index:function(e){return e?"string"==typeof e?Z.inArray(this[0],Z(e)):Z.inArray(e.jquery?e[0]:e,this):this[0]&&this[0].parentNode?this.prevAll().length:-1},add:function(e,t){var n="string"==typeof e?Z(e,t):Z.makeArray(e&&e.nodeType?[e]:e),r=Z.merge(this.get(),n);return this.pushStack(l(n[0])||l(r[0])?r:Z.unique(r))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),Z.fn.andSelf=Z.fn.addBack,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,n){return Z.dir(e,"parentNode",n)},next:function(e){return u(e,"nextSibling")},prev:function(e){return u(e,"previousSibling")},nextAll:function(e){return Z.dir(e,"nextSibling")},prevAll:function(e){return Z.dir(e,"previousSibling")},nextUntil:function(e,t,n){return Z.dir(e,"nextSibling",n)},prevUntil:function(e,t,n){return Z.dir(e,"previousSibling",n)},siblings:function(e){return Z.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return Z.sibling(e.firstChild)},contents:function(e){return Z.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:Z.merge([],e.childNodes)}},function(e,t){Z.fn[e]=function(n,r){var i=Z.map(this,t,n);return De.test(e)||(r=n),r&&"string"==typeof r&&(i=Z.filter(r,i)),i=this.length>1&&!Be[e]?Z.unique(i):i,this.length>1&&He.test(e)&&(i=i.reverse()),this.pushStack(i,e,X.call(arguments).join(","))}}),Z.extend({filter:function(e,t,n){return n&&(e=":not("+e+")"),1===t.length?Z.find.matchesSelector(t[0],e)?[t[0]]:[]:Z.find.matches(e,t)},dir:function(e,n,r){for(var i=[],o=e[n];o&&9!==o.nodeType&&(r===t||1!==o.nodeType||!Z(o).is(r));)1===o.nodeType&&i.push(o),o=o[n];return i},sibling:function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n}});var $e="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",Fe=/ jQuery\d+="(?:null|\d+)"/g,qe=/^\s+/,We=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,Ue=/<([\w:]+)/,ze=/<tbody/i,Ve=/<|&#?\w+;/,Ge=/<(?:script|style|link)/i,Xe=/<(?:script|object|embed|option|style)/i,Je=new RegExp("<(?:"+$e+")[\\s/>]","i"),Ke=/^(?:checkbox|radio)$/,Ye=/checked\s*(?:[^=]|=\s*.checked.)/i,Qe=/\/(java|ecma)script/i,Ze=/^\s*<!(?:\[CDATA\[|\-\-)|[\]\-]{2}>\s*$/g,et={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]},tt=p(q),nt=tt.appendChild(q.createElement("div"));et.optgroup=et.option,et.tbody=et.tfoot=et.colgroup=et.caption=et.thead,et.th=et.td,Z.support.htmlSerialize||(et._default=[1,"X<div>","</div>"]),Z.fn.extend({text:function(e){return Z.access(this,function(e){return e===t?Z.text(this):this.empty().append((this[0]&&this[0].ownerDocument||q).createTextNode(e))},null,e,arguments.length)},wrapAll:function(e){if(Z.isFunction(e))return this.each(function(t){Z(this).wrapAll(e.call(this,t))});if(this[0]){var 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.firstChild&&1===e.firstChild.nodeType;)e=e.firstChild;return e}).append(this)}return 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),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=Z.isFunction(e);return this.each(function(n){Z(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){Z.nodeName(this,"body")||Z(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(e){1!==this.nodeType&&11!==this.nodeType||this.appendChild(e)})},prepend:function(){return this.domManip(arguments,!0,function(e){1!==this.nodeType&&11!==this.nodeType||this.insertBefore(e,this.firstChild)})},before:function(){if(!l(this[0]))return this.domManip(arguments,!1,function(e){this.parentNode.insertBefore(e,this)});if(arguments.length){var e=Z.clean(arguments);return this.pushStack(Z.merge(e,this),"before",this.selector)}},after:function(){if(!l(this[0]))return this.domManip(arguments,!1,function(e){this.parentNode.insertBefore(e,this.nextSibling)});if(arguments.length){var e=Z.clean(arguments);return this.pushStack(Z.merge(this,e),"after",this.selector)}},remove:function(e,t){for(var n,r=0;null!=(n=this[r]);r++)e&&!Z.filter(e,[n]).length||(t||1!==n.nodeType||(Z.cleanData(n.getElementsByTagName("*")),Z.cleanData([n])),n.parentNode&&n.parentNode.removeChild(n));return this},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)for(1===e.nodeType&&Z.cleanData(e.getElementsByTagName("*"));e.firstChild;)e.removeChild(e.firstChild);return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return Z.clone(this,e,t)})},html:function(e){return Z.access(this,function(e){var n=this[0]||{},r=0,i=this.length;if(e===t)return 1===n.nodeType?n.innerHTML.replace(Fe,""):t;if("string"==typeof e&&!Ge.test(e)&&(Z.support.htmlSerialize||!Je.test(e))&&(Z.support.leadingWhitespace||!qe.test(e))&&!et[(Ue.exec(e)||["",""])[1].toLowerCase()]){e=e.replace(We,"<$1></$2>");try{for(;r<i;r++)n=this[r]||{},1===n.nodeType&&(Z.cleanData(n.getElementsByTagName("*")),n.innerHTML=e);n=0}catch(o){}}n&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(e){return l(this[0])?this.length?this.pushStack(Z(Z.isFunction(e)?e():e),"replaceWith",e):this:Z.isFunction(e)?this.each(function(t){var n=Z(this),r=n.html();n.replaceWith(e.call(this,t,r))}):("string"!=typeof e&&(e=Z(e).detach()),this.each(function(){var t=this.nextSibling,n=this.parentNode;Z(this).remove(),t?Z(t).before(e):Z(n).append(e)}))},detach:function(e){return this.remove(e,!0)},domManip:function(e,n,r){e=[].concat.apply([],e);var i,o,a,s,l=0,u=e[0],c=[],p=this.length;if(!Z.support.checkClone&&p>1&&"string"==typeof u&&Ye.test(u))return this.each(function(){Z(this).domManip(e,n,r)});if(Z.isFunction(u))return this.each(function(i){var o=Z(this);e[0]=u.call(this,i,n?o.html():t),o.domManip(e,n,r)});if(this[0]){if(i=Z.buildFragment(e,this,c),a=i.fragment,o=a.firstChild,1===a.childNodes.length&&(a=o),o)for(n=n&&Z.nodeName(o,"tr"),s=i.cacheable||p-1;l<p;l++)r.call(n&&Z.nodeName(this[l],"table")?h(this[l],"tbody"):this[l],l===s?a:Z.clone(a,!0,!0));a=o=null,c.length&&Z.each(c,function(e,t){t.src?Z.ajax?Z.ajax({url:t.src,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0}):Z.error("no ajax"):Z.globalEval((t.text||t.textContent||t.innerHTML||"").replace(Ze,"")),t.parentNode&&t.parentNode.removeChild(t)})}return this}}),Z.buildFragment=function(e,n,r){var i,o,a,s=e[0];return n=n||q,n=!n.nodeType&&n[0]||n,n=n.ownerDocument||n,!(1===e.length&&"string"==typeof s&&s.length<512&&n===q&&"<"===s.charAt(0))||Xe.test(s)||!Z.support.checkClone&&Ye.test(s)||!Z.support.html5Clone&&Je.test(s)||(o=!0,i=Z.fragments[s],a=i!==t),i||(i=n.createDocumentFragment(),Z.clean(e,n,i,r),o&&(Z.fragments[s]=a&&i)),{fragment:i,cacheable:o}},Z.fragments={},Z.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){Z.fn[e]=function(n){var r,i=0,o=[],a=Z(n),s=a.length,l=1===this.length&&this[0].parentNode;if((null==l||l&&11===l.nodeType&&1===l.childNodes.length)&&1===s)return a[t](this[0]),this;for(;i<s;i++)r=(i>0?this.clone(!0):this).get(),Z(a[i])[t](r),o=o.concat(r);return this.pushStack(o,e,a.selector)}}),Z.extend({clone:function(e,t,n){var r,i,o,a;if(Z.support.html5Clone||Z.isXMLDoc(e)||!Je.test("<"+e.nodeName+">")?a=e.cloneNode(!0):(nt.innerHTML=e.outerHTML,nt.removeChild(a=nt.firstChild)),!(Z.support.noCloneEvent&&Z.support.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||Z.isXMLDoc(e)))for(d(e,a),r=g(e),i=g(a),o=0;r[o];++o)i[o]&&d(r[o],i[o]);if(t&&(f(e,a),n))for(r=g(e),i=g(a),o=0;r[o];++o)f(r[o],i[o]);return r=i=null,a},clean:function(e,t,n,r){var i,o,a,s,l,u,c,h,f,d,g,v=t===q&&tt,y=[];for(t&&"undefined"!=typeof t.createDocumentFragment||(t=q),i=0;null!=(a=e[i]);i++)if("number"==typeof a&&(a+=""),a){if("string"==typeof a)if(Ve.test(a)){for(v=v||p(t),c=t.createElement("div"),v.appendChild(c),a=a.replace(We,"<$1></$2>"),s=(Ue.exec(a)||["",""])[1].toLowerCase(),l=et[s]||et._default,u=l[0],c.innerHTML=l[1]+a+l[2];u--;)c=c.lastChild;if(!Z.support.tbody)for(h=ze.test(a),f="table"!==s||h?"<table>"!==l[1]||h?[]:c.childNodes:c.firstChild&&c.firstChild.childNodes,o=f.length-1;o>=0;--o)Z.nodeName(f[o],"tbody")&&!f[o].childNodes.length&&f[o].parentNode.removeChild(f[o]);!Z.support.leadingWhitespace&&qe.test(a)&&c.insertBefore(t.createTextNode(qe.exec(a)[0]),c.firstChild),a=c.childNodes,c.parentNode.removeChild(c)}else a=t.createTextNode(a);a.nodeType?y.push(a):Z.merge(y,a)}if(c&&(a=c=v=null),!Z.support.appendChecked)for(i=0;null!=(a=y[i]);i++)Z.nodeName(a,"input")?m(a):"undefined"!=typeof a.getElementsByTagName&&Z.grep(a.getElementsByTagName("input"),m);if(n)for(d=function(e){if(!e.type||Qe.test(e.type))return r?r.push(e.parentNode?e.parentNode.removeChild(e):e):n.appendChild(e)},i=0;null!=(a=y[i]);i++)Z.nodeName(a,"script")&&d(a)||(n.appendChild(a),"undefined"!=typeof a.getElementsByTagName&&(g=Z.grep(Z.merge([],a.getElementsByTagName("script")),d),y.splice.apply(y,[i+1,0].concat(g)),i+=g.length));return y},cleanData:function(e,t){for(var n,r,i,o,a=0,s=Z.expando,l=Z.cache,u=Z.support.deleteExpando,c=Z.event.special;null!=(i=e[a]);a++)if((t||Z.acceptData(i))&&(r=i[s],n=r&&l[r])){if(n.events)for(o in n.events)c[o]?Z.event.remove(i,o):Z.removeEvent(i,o,n.handle);l[r]&&(delete l[r],u?delete i[s]:i.removeAttribute?i.removeAttribute(s):i[s]=null,Z.deletedIds.push(r))}}}),function(){var e,t;Z.uaMatch=function(e){e=e.toLowerCase();var t=/(chrome)[ \/]([\w.]+)/.exec(e)||/(webkit)[ \/]([\w.]+)/.exec(e)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(e)||/(msie) ([\w.]+)/.exec(e)||e.indexOf("compatible")<0&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(e)||[];return{browser:t[1]||"",version:t[2]||"0"}},e=Z.uaMatch(U.userAgent),t={},e.browser&&(t[e.browser]=!0,t.version=e.version),t.chrome?t.webkit=!0:t.webkit&&(t.safari=!0),Z.browser=t,Z.sub=function(){function e(t,n){return new e.fn.init(t,n)}Z.extend(!0,e,this),e.superclass=this,e.fn=e.prototype=this(),e.fn.constructor=e,e.sub=this.sub,e.fn.init=function(n,r){return r&&r instanceof Z&&!(r instanceof e)&&(r=e(r)),Z.fn.init.call(this,n,r,t)},e.fn.init.prototype=e.fn;var t=e(q);return e}}();var rt,it,ot,at=/alpha\([^)]*\)/i,st=/opacity=([^)]*)/,lt=/^(top|right|bottom|left)$/,ut=/^(none|table(?!-c[ea]).+)/,ct=/^margin/,pt=new RegExp("^("+ee+")(.*)$","i"),ht=new RegExp("^("+ee+")(?!px)[a-z%]+$","i"),ft=new RegExp("^([-+])=("+ee+")","i"),dt={BODY:"block"},gt={position:"absolute",visibility:"hidden",display:"block"},mt={letterSpacing:0,fontWeight:400},vt=["Top","Right","Bottom","Left"],yt=["Webkit","O","Moz","ms"],bt=Z.fn.toggle;Z.fn.extend({css:function(e,n){return Z.access(this,function(e,n,r){return r!==t?Z.style(e,n,r):Z.css(e,n)},e,n,arguments.length>1)},show:function(){return b(this,!0)},hide:function(){return b(this)},toggle:function(e,t){var n="boolean"==typeof e;return Z.isFunction(e)&&Z.isFunction(t)?bt.apply(this,arguments):this.each(function(){(n?e:y(this))?Z(this).show():Z(this).hide()})}}),Z.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=rt(e,"opacity");return""===n?"1":n}}}},cssNumber:{fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":Z.support.cssFloat?"cssFloat":"styleFloat"},style:function(e,n,r,i){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var o,a,s,l=Z.camelCase(n),u=e.style;if(n=Z.cssProps[l]||(Z.cssProps[l]=v(u,l)),s=Z.cssHooks[n]||Z.cssHooks[l],r===t)return s&&"get"in s&&(o=s.get(e,!1,i))!==t?o:u[n];if(a=typeof r,"string"===a&&(o=ft.exec(r))&&(r=(o[1]+1)*o[2]+parseFloat(Z.css(e,n)),a="number"),!(null==r||"number"===a&&isNaN(r)||("number"!==a||Z.cssNumber[l]||(r+="px"),s&&"set"in s&&(r=s.set(e,r,i))===t)))try{u[n]=r}catch(c){}}},css:function(e,n,r,i){var o,a,s,l=Z.camelCase(n);return n=Z.cssProps[l]||(Z.cssProps[l]=v(e.style,l)),s=Z.cssHooks[n]||Z.cssHooks[l],s&&"get"in s&&(o=s.get(e,!0,i)),o===t&&(o=rt(e,n)),"normal"===o&&n in mt&&(o=mt[n]),r||i!==t?(a=parseFloat(o),r||Z.isNumeric(a)?a||0:o):o},swap:function(e,t,n){var r,i,o={};for(i in t)o[i]=e.style[i],e.style[i]=t[i];r=n.call(e);for(i in t)e.style[i]=o[i];return r}}),e.getComputedStyle?rt=function(t,n){var r,i,o,a,s=e.getComputedStyle(t,null),l=t.style;return s&&(r=s.getPropertyValue(n)||s[n],""!==r||Z.contains(t.ownerDocument,t)||(r=Z.style(t,n)),ht.test(r)&&ct.test(n)&&(i=l.width,o=l.minWidth,a=l.maxWidth,l.minWidth=l.maxWidth=l.width=r,r=s.width,l.width=i,l.minWidth=o,l.maxWidth=a)),r}:q.documentElement.currentStyle&&(rt=function(e,t){var n,r,i=e.currentStyle&&e.currentStyle[t],o=e.style;return null==i&&o&&o[t]&&(i=o[t]),ht.test(i)&&!lt.test(t)&&(n=o.left,r=e.runtimeStyle&&e.runtimeStyle.left,r&&(e.runtimeStyle.left=e.currentStyle.left),o.left="fontSize"===t?"1em":i,i=o.pixelLeft+"px",o.left=n,r&&(e.runtimeStyle.left=r)),""===i?"auto":i}),Z.each(["height","width"],function(e,t){Z.cssHooks[t]={get:function(e,n,r){if(n)return 0===e.offsetWidth&&ut.test(rt(e,"display"))?Z.swap(e,gt,function(){return S(e,t,r)}):S(e,t,r)},set:function(e,n,r){return x(e,n,r?w(e,t,r,Z.support.boxSizing&&"border-box"===Z.css(e,"boxSizing")):0)}}}),Z.support.opacity||(Z.cssHooks.opacity={get:function(e,t){return st.test((t&&e.currentStyle?e.currentStyle.filter:e.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":t?"1":""},set:function(e,t){var n=e.style,r=e.currentStyle,i=Z.isNumeric(t)?"alpha(opacity="+100*t+")":"",o=r&&r.filter||n.filter||"";n.zoom=1,t>=1&&""===Z.trim(o.replace(at,""))&&n.removeAttribute&&(n.removeAttribute("filter"),r&&!r.filter)||(n.filter=at.test(o)?o.replace(at,i):o+" "+i)}}),Z(function(){Z.support.reliableMarginRight||(Z.cssHooks.marginRight={get:function(e,t){return Z.swap(e,{display:"inline-block"},function(){if(t)return rt(e,"marginRight")})}}),!Z.support.pixelPosition&&Z.fn.position&&Z.each(["top","left"],function(e,t){Z.cssHooks[t]={get:function(e,n){if(n){var r=rt(e,t);return ht.test(r)?Z(e).position()[t]+"px":r}}}})}),Z.expr&&Z.expr.filters&&(Z.expr.filters.hidden=function(e){return 0===e.offsetWidth&&0===e.offsetHeight||!Z.support.reliableHiddenOffsets&&"none"===(e.style&&e.style.display||rt(e,"display"))},Z.expr.filters.visible=function(e){return!Z.expr.filters.hidden(e)}),Z.each({margin:"",padding:"",border:"Width"},function(e,t){Z.cssHooks[e+t]={expand:function(n){var r,i="string"==typeof n?n.split(" "):[n],o={};for(r=0;r<4;r++)o[e+vt[r]+t]=i[r]||i[r-2]||i[0];return o}},ct.test(e)||(Z.cssHooks[e+t].set=x)});var xt=/%20/g,wt=/\[\]$/,St=/\r?\n/g,kt=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,Ct=/^(?:select|textarea)/i;Z.fn.extend({serialize:function(){return Z.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?Z.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||Ct.test(this.nodeName)||kt.test(this.type))}).map(function(e,t){var n=Z(this).val();return null==n?null:Z.isArray(n)?Z.map(n,function(e,n){return{name:t.name,value:e.replace(St,"\r\n")}}):{name:t.name,value:n.replace(St,"\r\n")}}).get()}}),Z.param=function(e,n){var r,i=[],o=function(e,t){t=Z.isFunction(t)?t():null==t?"":t,i[i.length]=encodeURIComponent(e)+"="+encodeURIComponent(t)};if(n===t&&(n=Z.ajaxSettings&&Z.ajaxSettings.traditional),Z.isArray(e)||e.jquery&&!Z.isPlainObject(e))Z.each(e,function(){o(this.name,this.value)});else for(r in e)C(r,e[r],n,o);return i.join("&").replace(xt,"+")};var _t,Et,At=/#.*$/,Nt=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,Tt=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,Pt=/^(?:GET|HEAD)$/,Lt=/^\/\//,jt=/\?/,Ot=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,Mt=/([?&])_=[^&]*/,Dt=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,Ht=Z.fn.load,It={},Rt={},Bt=["*/"]+["*"];try{Et=W.href}catch($t){Et=q.createElement("a"),Et.href="",Et=Et.href}_t=Dt.exec(Et.toLowerCase())||[],Z.fn.load=function(e,n,r){if("string"!=typeof e&&Ht)return Ht.apply(this,arguments);if(!this.length)return this;var i,o,a,s=this,l=e.indexOf(" ");return l>=0&&(i=e.slice(l,e.length),e=e.slice(0,l)),Z.isFunction(n)?(r=n,n=t):n&&"object"==typeof n&&(o="POST"),Z.ajax({url:e,type:o,dataType:"html",data:n,complete:function(e,t){r&&s.each(r,a||[e.responseText,t,e])}}).done(function(e){a=arguments,s.html(i?Z("<div>").append(e.replace(Ot,"")).find(i):e)}),this},Z.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(e,t){Z.fn[t]=function(e){return this.on(t,e)}}),Z.each(["get","post"],function(e,n){Z[n]=function(e,r,i,o){return Z.isFunction(r)&&(o=o||i,i=r,r=t),Z.ajax({type:n,url:e,data:r,success:i,dataType:o})}}),Z.extend({getScript:function(e,n){return Z.get(e,t,n,"script")},getJSON:function(e,t,n){return Z.get(e,t,n,"json")},ajaxSetup:function(e,t){return t?A(e,Z.ajaxSettings):(t=e,e=Z.ajaxSettings),A(e,t),e},ajaxSettings:{url:Et,isLocal:Tt.test(_t[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded; charset=UTF-8",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":Bt},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":e.String,"text html":!0,"text json":Z.parseJSON,"text xml":Z.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:_(It),ajaxTransport:_(Rt),ajax:function(e,n){function r(e,n,r,a){var u,p,y,b,w,k=n;2!==x&&(x=2,l&&clearTimeout(l),s=t,o=a||"",S.readyState=e>0?4:0,r&&(b=N(h,S,r)),e>=200&&e<300||304===e?(h.ifModified&&(w=S.getResponseHeader("Last-Modified"),w&&(Z.lastModified[i]=w),w=S.getResponseHeader("Etag"),w&&(Z.etag[i]=w)),304===e?(k="notmodified",u=!0):(u=T(h,b),k=u.state,p=u.data,y=u.error,u=!y)):(y=k,k&&!e||(k="error",e<0&&(e=0))),S.status=e,S.statusText=(n||k)+"",u?g.resolveWith(f,[p,k,S]):g.rejectWith(f,[S,k,y]),S.statusCode(v),v=t,c&&d.trigger("ajax"+(u?"Success":"Error"),[S,h,u?p:y]),m.fireWith(f,[S,k]),c&&(d.trigger("ajaxComplete",[S,h]),--Z.active||Z.event.trigger("ajaxStop")))}"object"==typeof e&&(n=e,e=t),n=n||{};var i,o,a,s,l,u,c,p,h=Z.ajaxSetup({},n),f=h.context||h,d=f!==h&&(f.nodeType||f instanceof Z)?Z(f):Z.event,g=Z.Deferred(),m=Z.Callbacks("once memory"),v=h.statusCode||{},y={},b={},x=0,w="canceled",S={readyState:0,setRequestHeader:function(e,t){if(!x){var n=e.toLowerCase();e=b[n]=b[n]||e,y[e]=t}return this},getAllResponseHeaders:function(){return 2===x?o:null},getResponseHeader:function(e){var n;if(2===x){if(!a)for(a={};n=Nt.exec(o);)a[n[1].toLowerCase()]=n[2];n=a[e.toLowerCase()]}return n===t?null:n},overrideMimeType:function(e){return x||(h.mimeType=e),this},abort:function(e){return e=e||w,s&&s.abort(e),r(0,e),this}};if(g.promise(S),S.success=S.done,S.error=S.fail,S.complete=m.add,S.statusCode=function(e){if(e){var t;if(x<2)for(t in e)v[t]=[v[t],e[t]];else t=e[S.status],S.always(t)}return this},h.url=((e||h.url)+"").replace(At,"").replace(Lt,_t[1]+"//"),h.dataTypes=Z.trim(h.dataType||"*").toLowerCase().split(ne),null==h.crossDomain&&(u=Dt.exec(h.url.toLowerCase()),h.crossDomain=!(!u||u[1]===_t[1]&&u[2]===_t[2]&&(u[3]||("http:"===u[1]?80:443))==(_t[3]||("http:"===_t[1]?80:443)))),h.data&&h.processData&&"string"!=typeof h.data&&(h.data=Z.param(h.data,h.traditional)),E(It,h,n,S),2===x)return S;if(c=h.global,h.type=h.type.toUpperCase(),h.hasContent=!Pt.test(h.type),c&&0===Z.active++&&Z.event.trigger("ajaxStart"),!h.hasContent&&(h.data&&(h.url+=(jt.test(h.url)?"&":"?")+h.data,delete h.data),i=h.url,h.cache===!1)){var k=Z.now(),C=h.url.replace(Mt,"$1_="+k);h.url=C+(C===h.url?(jt.test(h.url)?"&":"?")+"_="+k:"")}(h.data&&h.hasContent&&h.contentType!==!1||n.contentType)&&S.setRequestHeader("Content-Type",h.contentType),h.ifModified&&(i=i||h.url,Z.lastModified[i]&&S.setRequestHeader("If-Modified-Since",Z.lastModified[i]),Z.etag[i]&&S.setRequestHeader("If-None-Match",Z.etag[i])),S.setRequestHeader("Accept",h.dataTypes[0]&&h.accepts[h.dataTypes[0]]?h.accepts[h.dataTypes[0]]+("*"!==h.dataTypes[0]?", "+Bt+"; q=0.01":""):h.accepts["*"]);for(p in h.headers)S.setRequestHeader(p,h.headers[p]);if(h.beforeSend&&(h.beforeSend.call(f,S,h)===!1||2===x))return S.abort();w="abort";for(p in{success:1,error:1,complete:1})S[p](h[p]);if(s=E(Rt,h,n,S)){S.readyState=1,c&&d.trigger("ajaxSend",[S,h]),h.async&&h.timeout>0&&(l=setTimeout(function(){S.abort("timeout")},h.timeout));try{x=1,s.send(y,r)}catch(_){if(!(x<2))throw _;r(-1,_)}}else r(-1,"No Transport");return S},active:0,lastModified:{},etag:{}});var Ft=[],qt=/\?/,Wt=/(=)\?(?=&|$)|\?\?/,Ut=Z.now();Z.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Ft.pop()||Z.expando+"_"+Ut++;return this[e]=!0,e}}),Z.ajaxPrefilter("json jsonp",function(n,r,i){var o,a,s,l=n.data,u=n.url,c=n.jsonp!==!1,p=c&&Wt.test(u),h=c&&!p&&"string"==typeof l&&!(n.contentType||"").indexOf("application/x-www-form-urlencoded")&&Wt.test(l);if("jsonp"===n.dataTypes[0]||p||h)return o=n.jsonpCallback=Z.isFunction(n.jsonpCallback)?n.jsonpCallback():n.jsonpCallback,a=e[o],p?n.url=u.replace(Wt,"$1"+o):h?n.data=l.replace(Wt,"$1"+o):c&&(n.url+=(qt.test(u)?"&":"?")+n.jsonp+"="+o),n.converters["script json"]=function(){return s||Z.error(o+" was not called"),s[0]},n.dataTypes[0]="json",e[o]=function(){s=arguments},i.always(function(){e[o]=a,n[o]&&(n.jsonpCallback=r.jsonpCallback,Ft.push(o)),s&&Z.isFunction(a)&&a(s[0]),s=a=t}),"script"}),Z.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(e){return Z.globalEval(e),e}}}),Z.ajaxPrefilter("script",function(e){e.cache===t&&(e.cache=!1),e.crossDomain&&(e.type="GET",e.global=!1)}),Z.ajaxTransport("script",function(e){if(e.crossDomain){var n,r=q.head||q.getElementsByTagName("head")[0]||q.documentElement;return{send:function(i,o){n=q.createElement("script"),n.async="async",e.scriptCharset&&(n.charset=e.scriptCharset),n.src=e.url,n.onload=n.onreadystatechange=function(e,i){(i||!n.readyState||/loaded|complete/.test(n.readyState))&&(n.onload=n.onreadystatechange=null,r&&n.parentNode&&r.removeChild(n),n=t,i||o(200,"success"))},r.insertBefore(n,r.firstChild)},abort:function(){n&&n.onload(0,1)}}}});var zt,Vt=!!e.ActiveXObject&&function(){for(var e in zt)zt[e](0,1)},Gt=0;Z.ajaxSettings.xhr=e.ActiveXObject?function(){return!this.isLocal&&P()||L()}:P,function(e){Z.extend(Z.support,{ajax:!!e,cors:!!e&&"withCredentials"in e})}(Z.ajaxSettings.xhr()),Z.support.ajax&&Z.ajaxTransport(function(n){if(!n.crossDomain||Z.support.cors){var r;return{send:function(i,o){var a,s,l=n.xhr();if(n.username?l.open(n.type,n.url,n.async,n.username,n.password):l.open(n.type,n.url,n.async),n.xhrFields)for(s in n.xhrFields)l[s]=n.xhrFields[s];n.mimeType&&l.overrideMimeType&&l.overrideMimeType(n.mimeType),n.crossDomain||i["X-Requested-With"]||(i["X-Requested-With"]="XMLHttpRequest");try{for(s in i)l.setRequestHeader(s,i[s])}catch(u){}l.send(n.hasContent&&n.data||null),r=function(e,i){var s,u,c,p,h;try{if(r&&(i||4===l.readyState))if(r=t,a&&(l.onreadystatechange=Z.noop,Vt&&delete zt[a]),i)4!==l.readyState&&l.abort();else{s=l.status,c=l.getAllResponseHeaders(),p={},h=l.responseXML,h&&h.documentElement&&(p.xml=h);try{p.text=l.responseText}catch(f){}try{u=l.statusText}catch(f){u=""}s||!n.isLocal||n.crossDomain?1223===s&&(s=204):s=p.text?200:404}}catch(d){i||o(-1,d)}p&&o(s,u,p,c)},n.async?4===l.readyState?setTimeout(r,0):(a=++Gt,Vt&&(zt||(zt={},Z(e).unload(Vt)),zt[a]=r),l.onreadystatechange=r):r()},abort:function(){r&&r(0,1)}}}});var Xt,Jt,Kt=/^(?:toggle|show|hide)$/,Yt=new RegExp("^(?:([-+])=|)("+ee+")([a-z%]*)$","i"),Qt=/queueHooks$/,Zt=[H],en={"*":[function(e,t){var n,r,i=this.createTween(e,t),o=Yt.exec(t),a=i.cur(),s=+a||0,l=1,u=20;if(o){if(n=+o[2],r=o[3]||(Z.cssNumber[e]?"":"px"),"px"!==r&&s){s=Z.css(i.elem,e,!0)||n||1;do l=l||".5",s/=l,Z.style(i.elem,e,s+r);while(l!==(l=i.cur()/a)&&1!==l&&--u)}i.unit=r,i.start=s,i.end=o[1]?s+(o[1]+1)*n:n}return i}]};Z.Animation=Z.extend(M,{tweener:function(e,t){Z.isFunction(e)?(t=e,e=["*"]):e=e.split(" ");for(var n,r=0,i=e.length;r<i;r++)n=e[r],en[n]=en[n]||[],en[n].unshift(t)},prefilter:function(e,t){t?Zt.unshift(e):Zt.push(e)}}),Z.Tween=I,I.prototype={constructor:I,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||"swing",this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(Z.cssNumber[n]?"":"px")},cur:function(){var e=I.propHooks[this.prop];return e&&e.get?e.get(this):I.propHooks._default.get(this)},run:function(e){var t,n=I.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),n&&n.set?n.set(this):I.propHooks._default.set(this),this}},I.prototype.init.prototype=I.prototype,I.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,!1,""),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}}},I.propHooks.scrollTop=I.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},Z.each(["toggle","show","hide"],function(e,t){var n=Z.fn[t];Z.fn[t]=function(r,i,o){return null==r||"boolean"==typeof r||!e&&Z.isFunction(r)&&Z.isFunction(i)?n.apply(this,arguments):this.animate(R(t,!0),r,i,o)}}),Z.fn.extend({fadeTo:function(e,t,n,r){return this.filter(y).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(e,t,n,r){var i=Z.isEmptyObject(e),o=Z.speed(t,n,r),a=function(){var t=M(this,Z.extend({},e),o);i&&t.stop(!0)};return i||o.queue===!1?this.each(a):this.queue(o.queue,a)},stop:function(e,n,r){var i=function(e){var t=e.stop;delete e.stop,t(r)};return"string"!=typeof e&&(r=n,n=e,e=t),n&&e!==!1&&this.queue(e||"fx",[]),this.each(function(){var t=!0,n=null!=e&&e+"queueHooks",o=Z.timers,a=Z._data(this);if(n)a[n]&&a[n].stop&&i(a[n]);else for(n in a)a[n]&&a[n].stop&&Qt.test(n)&&i(a[n]);for(n=o.length;n--;)o[n].elem!==this||null!=e&&o[n].queue!==e||(o[n].anim.stop(r),
+t=!1,o.splice(n,1));!t&&r||Z.dequeue(this,e)})}}),Z.each({slideDown:R("show"),slideUp:R("hide"),slideToggle:R("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,t){Z.fn[e]=function(e,n,r){return this.animate(t,e,n,r)}}),Z.speed=function(e,t,n){var r=e&&"object"==typeof e?Z.extend({},e):{complete:n||!n&&t||Z.isFunction(e)&&e,duration:e,easing:n&&t||t&&!Z.isFunction(t)&&t};return r.duration=Z.fx.off?0:"number"==typeof r.duration?r.duration:r.duration in Z.fx.speeds?Z.fx.speeds[r.duration]:Z.fx.speeds._default,null!=r.queue&&r.queue!==!0||(r.queue="fx"),r.old=r.complete,r.complete=function(){Z.isFunction(r.old)&&r.old.call(this),r.queue&&Z.dequeue(this,r.queue)},r},Z.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2}},Z.timers=[],Z.fx=I.prototype.init,Z.fx.tick=function(){var e,n=Z.timers,r=0;for(Xt=Z.now();r<n.length;r++)e=n[r],e()||n[r]!==e||n.splice(r--,1);n.length||Z.fx.stop(),Xt=t},Z.fx.timer=function(e){e()&&Z.timers.push(e)&&!Jt&&(Jt=setInterval(Z.fx.tick,Z.fx.interval))},Z.fx.interval=13,Z.fx.stop=function(){clearInterval(Jt),Jt=null},Z.fx.speeds={slow:600,fast:200,_default:400},Z.fx.step={},Z.expr&&Z.expr.filters&&(Z.expr.filters.animated=function(e){return Z.grep(Z.timers,function(t){return e===t.elem}).length});var tn=/^(?:body|html)$/i;Z.fn.offset=function(e){if(arguments.length)return e===t?this:this.each(function(t){Z.offset.setOffset(this,e,t)});var n,r,i,o,a,s,l,u={top:0,left:0},c=this[0],p=c&&c.ownerDocument;if(p)return(r=p.body)===c?Z.offset.bodyOffset(c):(n=p.documentElement,Z.contains(n,c)?("undefined"!=typeof c.getBoundingClientRect&&(u=c.getBoundingClientRect()),i=B(p),o=n.clientTop||r.clientTop||0,a=n.clientLeft||r.clientLeft||0,s=i.pageYOffset||n.scrollTop,l=i.pageXOffset||n.scrollLeft,{top:u.top+s-o,left:u.left+l-a}):u)},Z.offset={bodyOffset:function(e){var t=e.offsetTop,n=e.offsetLeft;return Z.support.doesNotIncludeMarginInBodyOffset&&(t+=parseFloat(Z.css(e,"marginTop"))||0,n+=parseFloat(Z.css(e,"marginLeft"))||0),{top:t,left:n}},setOffset:function(e,t,n){var r=Z.css(e,"position");"static"===r&&(e.style.position="relative");var i,o,a=Z(e),s=a.offset(),l=Z.css(e,"top"),u=Z.css(e,"left"),c=("absolute"===r||"fixed"===r)&&Z.inArray("auto",[l,u])>-1,p={},h={};c?(h=a.position(),i=h.top,o=h.left):(i=parseFloat(l)||0,o=parseFloat(u)||0),Z.isFunction(t)&&(t=t.call(e,n,s)),null!=t.top&&(p.top=t.top-s.top+i),null!=t.left&&(p.left=t.left-s.left+o),"using"in t?t.using.call(e,p):a.css(p)}},Z.fn.extend({position:function(){if(this[0]){var e=this[0],t=this.offsetParent(),n=this.offset(),r=tn.test(t[0].nodeName)?{top:0,left:0}:t.offset();return n.top-=parseFloat(Z.css(e,"marginTop"))||0,n.left-=parseFloat(Z.css(e,"marginLeft"))||0,r.top+=parseFloat(Z.css(t[0],"borderTopWidth"))||0,r.left+=parseFloat(Z.css(t[0],"borderLeftWidth"))||0,{top:n.top-r.top,left:n.left-r.left}}},offsetParent:function(){return this.map(function(){for(var e=this.offsetParent||q.body;e&&!tn.test(e.nodeName)&&"static"===Z.css(e,"position");)e=e.offsetParent;return e||q.body})}}),Z.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,n){var r=/Y/.test(n);Z.fn[e]=function(i){return Z.access(this,function(e,i,o){var a=B(e);return o===t?a?n in a?a[n]:a.document.documentElement[i]:e[i]:void(a?a.scrollTo(r?Z(a).scrollLeft():o,r?o:Z(a).scrollTop()):e[i]=o)},e,i,arguments.length,null)}}),Z.each({Height:"height",Width:"width"},function(e,n){Z.each({padding:"inner"+e,content:n,"":"outer"+e},function(r,i){Z.fn[i]=function(i,o){var a=arguments.length&&(r||"boolean"!=typeof i),s=r||(i===!0||o===!0?"margin":"border");return Z.access(this,function(n,r,i){var o;return Z.isWindow(n)?n.document.documentElement["client"+e]:9===n.nodeType?(o=n.documentElement,Math.max(n.body["scroll"+e],o["scroll"+e],n.body["offset"+e],o["offset"+e],o["client"+e])):i===t?Z.css(n,r,i,s):Z.style(n,r,i,s)},n,a?i:t,a,null)}})}),"object"==typeof n&&n&&"object"==typeof n.exports?n.exports=Z:(e.jQuery=e.$=Z,"function"==typeof define&&define.amd&&define("jquery",[],function(){return Z}))}(window)}),define("lib/jquery.lazyload",[],function(e,t,n){var r=e("jquery");!function(e,t,n,r){var i=e(t);e.fn.lazyload=function(o){function a(){var t=0;l.each(function(){var n=e(this);if(!u.skip_invisible||n.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 n.trigger("appear"),t=0})}var s,l=this,u={threshold:0,failure_limit:0,event:"scroll",effect:"show",container:t,data_attribute:"original",skip_invisible:!0,appear:null,load:null,placeholder:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB/AAffA0nNPuCLAAAAAElFTkSuQmCC"};return o&&(r!==o.failurelimit&&(o.failure_limit=o.failurelimit,delete o.failurelimit),r!==o.effectspeed&&(o.effect_speed=o.effectspeed,delete o.effectspeed),e.extend(u,o)),s=u.container===r||u.container===t?i:e(u.container),0===u.event.indexOf("scroll")&&s.bind(u.event,function(){return a()}),this.each(function(){var t=this,n=e(t);t.loaded=!1,n.attr("src")!==r&&n.attr("src")!==!1||n.is("img")&&n.attr("src",u.placeholder),n.one("appear",function(){if(!this.loaded){if(u.appear){var r=l.length;u.appear.call(t,r,u)}e("<img />").bind("load",function(){var r=n.attr("data-"+u.data_attribute);n.hide(),n.is("img")?n.attr("src",r):n.css("background-image","url('"+r+"')"),n[u.effect](u.effect_speed),t.loaded=!0;var i=e.grep(l,function(e){return!e.loaded});if(l=e(i),u.load){var o=l.length;u.load.call(t,o,u)}}).attr("src",n.attr("data-"+u.data_attribute))}}),0!==u.event.indexOf("scroll")&&n.bind(u.event,function(){t.loaded||n.trigger("appear")})}),i.bind("resize",function(){a()}),/(?:iphone|ipod|ipad).*os 5/gi.test(navigator.appVersion)&&i.bind("pageshow",function(t){t.originalEvent&&t.originalEvent.persisted&&l.each(function(){e(this).trigger("appear")})}),e(n).ready(function(){a()}),this},e.belowthefold=function(n,o){var a;return a=o.container===r||o.container===t?(t.innerHeight?t.innerHeight:i.height())+i.scrollTop():e(o.container).offset().top+e(o.container).height(),a<=e(n).offset().top-o.threshold},e.rightoffold=function(n,o){var a;return a=o.container===r||o.container===t?i.width()+i.scrollLeft():e(o.container).offset().left+e(o.container).width(),a<=e(n).offset().left-o.threshold},e.abovethetop=function(n,o){var a;return a=o.container===r||o.container===t?i.scrollTop():e(o.container).offset().top,a>=e(n).offset().top+o.threshold+e(n).height()},e.leftofbegin=function(n,o){var a;return a=o.container===r||o.container===t?i.scrollLeft():e(o.container).offset().left,a>=e(n).offset().left+o.threshold+e(n).width()},e.inviewport=function(t,n){return!(e.rightoffold(t,n)||e.leftofbegin(t,n)||e.belowthefold(t,n)||e.abovethetop(t,n))},e.extend(e.expr[":"],{"below-the-fold":function(t){return e.belowthefold(t,{threshold:0})},"above-the-top":function(t){return!e.belowthefold(t,{threshold:0})},"right-of-screen":function(t){return e.rightoffold(t,{threshold:0})},"left-of-screen":function(t){return!e.rightoffold(t,{threshold:0})},"in-viewport":function(t){return e.inviewport(t,{threshold:0})},"above-the-fold":function(t){return!e.belowthefold(t,{threshold:0})},"right-of-fold":function(t){return e.rightoffold(t,{threshold:0})},"left-of-fold":function(t){return!e.rightoffold(t,{threshold:0})}})}(r,window,document)}),define("handlebars",[],function(e,t,n){!function(e,r){"object"==typeof t&&"object"==typeof n?n.exports=r():"function"==typeof define&&define.amd?define(r):"object"==typeof t?t.Handlebars=r():e.Handlebars=r()}(this,function(){return function(e){function t(r){if(n[r])return n[r].exports;var i=n[r]={exports:{},id:r,loaded:!1};return e[r].call(i.exports,i,i.exports,t),i.loaded=!0,i.exports}var n={};return t.m=e,t.c=n,t.p="",t(0)}([function(e,t,n){"use strict";function r(){var e=v();return e.compile=function(t,n){return c.compile(t,n,e)},e.precompile=function(t,n){return c.precompile(t,n,e)},e.AST=l["default"],e.Compiler=c.Compiler,e.JavaScriptCompiler=h["default"],e.Parser=u.parser,e.parse=u.parse,e}var i=n(8)["default"];t.__esModule=!0;var o=n(1),a=i(o),s=n(2),l=i(s),u=n(3),c=n(4),p=n(5),h=i(p),f=n(6),d=i(f),g=n(7),m=i(g),v=a["default"].create,y=r();y.create=r,m["default"](y),y.Visitor=d["default"],y["default"]=y,t["default"]=y,e.exports=t["default"]},function(e,t,n){"use strict";function r(){var e=new s.HandlebarsEnvironment;return f.extend(e,s),e.SafeString=u["default"],e.Exception=p["default"],e.Utils=f,e.escapeExpression=f.escapeExpression,e.VM=g,e.template=function(t){return g.template(t,e)},e}var i=n(9)["default"],o=n(8)["default"];t.__esModule=!0;var a=n(10),s=i(a),l=n(11),u=o(l),c=n(12),p=o(c),h=n(13),f=i(h),d=n(14),g=i(d),m=n(7),v=o(m),y=r();y.create=r,v["default"](y),y["default"]=y,t["default"]=y,e.exports=t["default"]},function(e,t,n){"use strict";t.__esModule=!0;var r={Program:function(e,t,n,r){this.loc=r,this.type="Program",this.body=e,this.blockParams=t,this.strip=n},MustacheStatement:function(e,t,n,r,i,o){this.loc=o,this.type="MustacheStatement",this.path=e,this.params=t||[],this.hash=n,this.escaped=r,this.strip=i},BlockStatement:function(e,t,n,r,i,o,a,s,l){this.loc=l,this.type="BlockStatement",this.path=e,this.params=t||[],this.hash=n,this.program=r,this.inverse=i,this.openStrip=o,this.inverseStrip=a,this.closeStrip=s},PartialStatement:function(e,t,n,r,i){this.loc=i,this.type="PartialStatement",this.name=e,this.params=t||[],this.hash=n,this.indent="",this.strip=r},ContentStatement:function(e,t){this.loc=t,this.type="ContentStatement",this.original=this.value=e},CommentStatement:function(e,t,n){this.loc=n,this.type="CommentStatement",this.value=e,this.strip=t},SubExpression:function(e,t,n,r){this.loc=r,this.type="SubExpression",this.path=e,this.params=t||[],this.hash=n},PathExpression:function(e,t,n,r,i){this.loc=i,this.type="PathExpression",this.data=e,this.original=r,this.parts=n,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,n){this.loc=n,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&&!r.helpers.scopedId(e)&&!e.depth}}};t["default"]=r,e.exports=t["default"]},function(e,t,n){"use strict";function r(e,t){if("Program"===e.type)return e;s["default"].yy=g,g.locInfo=function(e){return new g.SourceLocation(t&&t.srcName,e)};var n=new p["default"];return n.accept(s["default"].parse(e))}var i=n(8)["default"],o=n(9)["default"];t.__esModule=!0,t.parse=r;var a=n(15),s=i(a),l=n(2),u=i(l),c=n(16),p=i(c),h=n(17),f=o(h),d=n(13);t.parser=s["default"];var g={};d.extend(g,f,u["default"])},function(e,t,n){"use strict";function r(){}function i(e,t,n){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 r=n.parse(e,t),i=(new n.Compiler).compile(r,t);return(new n.JavaScriptCompiler).compile(i,t)}function o(e,t,n){function r(){var t=n.parse(e,o),r=(new n.Compiler).compile(t,o),i=(new n.JavaScriptCompiler).compile(r,o,void 0,!0);return n.template(i)}function i(e,t){return a||(a=r()),a.call(this,e,t)}var o=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 o||(o.data=!0),o.compat&&(o.useDepths=!0);var a=void 0;return i._setup=function(e){return a||(a=r()),a._setup(e)},i._child=function(e,t,n,i){return a||(a=r()),a._child(e,t,n,i)},i}function a(e,t){if(e===t)return!0;if(p.isArray(e)&&p.isArray(t)&&e.length===t.length){for(var n=0;n<e.length;n++)if(!a(e[n],t[n]))return!1;return!0}}function s(e){if(!e.path.parts){var t=e.path;e.path=new f["default"].PathExpression((!1),0,[t.original+""],t.original+"",t.loc)}}var l=n(8)["default"];t.__esModule=!0,t.Compiler=r,t.precompile=i,t.compile=o;var u=n(12),c=l(u),p=n(13),h=n(2),f=l(h),d=[].slice;r.prototype={compiler:r,equals:function(e){var t=this.opcodes.length;if(e.opcodes.length!==t)return!1;for(var n=0;n<t;n++){var r=this.opcodes[n],i=e.opcodes[n];if(r.opcode!==i.opcode||!a(r.args,i.args))return!1}t=this.children.length;for(var n=0;n<t;n++)if(!this.children[n].equals(e.children[n]))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 n=t.knownHelpers;if(t.knownHelpers={helperMissing:!0,blockHelperMissing:!0,each:!0,"if":!0,unless:!0,"with":!0,log:!0,lookup:!0},n)for(var r in n)r in n&&(t.knownHelpers[r]=n[r]);return this.accept(e)},compileProgram:function(e){var t=new this.compiler,n=t.compile(e,this.options),r=this.guid++;return this.usePartial=this.usePartial||n.usePartial,this.children[r]=n,this.useDepths=this.useDepths||n.useDepths,r},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,n=t.length,r=0;r<n;r++)this.accept(t[r]);return this.options.blockParams.shift(),this.isSimple=1===n,this.blockParams=e.blockParams?e.blockParams.length:0,this},BlockStatement:function(e){s(e);var t=e.program,n=e.inverse;t=t&&this.compileProgram(t),n=n&&this.compileProgram(n);var r=this.classifySexpr(e);"helper"===r?this.helperSexpr(e,t,n):"simple"===r?(this.simpleSexpr(e),this.opcode("pushProgram",t),this.opcode("pushProgram",n),this.opcode("emptyHash"),this.opcode("blockValue",e.path.original)):(this.ambiguousSexpr(e,t,n),this.opcode("pushProgram",t),this.opcode("pushProgram",n),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 n=e.name.original,r="SubExpression"===e.name.type;r&&this.accept(e.name),this.setupFullMustacheParams(e,void 0,void 0,!0);var i=e.indent||"";this.options.preventIndent&&i&&(this.opcode("appendContent",i),i=""),this.opcode("invokePartial",r,n,i),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){s(e);var t=this.classifySexpr(e);"simple"===t?this.simpleSexpr(e):"helper"===t?this.helperSexpr(e):this.ambiguousSexpr(e)},ambiguousSexpr:function(e,t,n){var r=e.path,i=r.parts[0],o=null!=t||null!=n;this.opcode("getContext",r.depth),this.opcode("pushProgram",t),this.opcode("pushProgram",n),this.accept(r),this.opcode("invokeAmbiguous",i,o)},simpleSexpr:function(e){this.accept(e.path),this.opcode("resolvePossibleLambda")},helperSexpr:function(e,t,n){var r=this.setupFullMustacheParams(e,t,n),i=e.path,o=i.parts[0];if(this.options.knownHelpers[o])this.opcode("invokeKnownHelper",r.length,o);else{if(this.options.knownHelpersOnly)throw new c["default"]("You specified knownHelpersOnly, but used the unknown helper "+o,e);i.falsy=!0,this.accept(i),this.opcode("invokeHelper",r.length,i.original,f["default"].helpers.simpleId(i))}},PathExpression:function(e){this.addDepth(e.depth),this.opcode("getContext",e.depth);var t=e.parts[0],n=f["default"].helpers.scopedId(e),r=!e.depth&&!n&&this.blockParamIndex(t);r?this.opcode("lookupBlockParam",r,e.parts):t?e.data?(this.options.data=!0,this.opcode("lookupData",e.depth,e.parts)):this.opcode("lookupOnContext",e.parts,e.falsy,n):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,n=0,r=t.length;for(this.opcode("pushHash");n<r;n++)this.pushParam(t[n].value);for(;n--;)this.opcode("assignToHash",t[n].key);this.opcode("popHash")},opcode:function(e){this.opcodes.push({opcode:e,args:d.call(arguments,1),loc:this.sourceNode[0].loc})},addDepth:function(e){e&&(this.useDepths=!0)},classifySexpr:function(e){var t=f["default"].helpers.simpleId(e.path),n=t&&!!this.blockParamIndex(e.path.parts[0]),r=!n&&f["default"].helpers.helperExpression(e),i=!n&&(r||t);if(i&&!r){var o=e.path.parts[0],a=this.options;a.knownHelpers[o]?r=!0:a.knownHelpersOnly&&(i=!1)}return r?"helper":i?"ambiguous":"simple"},pushParams:function(e){for(var t=0,n=e.length;t<n;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 n=void 0;if(!e.parts||f["default"].helpers.scopedId(e)||e.depth||(n=this.blockParamIndex(e.parts[0])),n){var r=e.parts.slice(1).join(".");this.opcode("pushId","BlockParam",n,r)}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,n,r){var i=e.params;return this.pushParams(i),this.opcode("pushProgram",t),this.opcode("pushProgram",n),e.hash?this.accept(e.hash):this.opcode("emptyHash",r),i},blockParamIndex:function(e){for(var t=0,n=this.options.blockParams.length;t<n;t++){var r=this.options.blockParams[t],i=r&&p.indexOf(r,e);if(r&&i>=0)return[t,i]}}}},function(e,t,n){"use strict";function r(e){this.value=e}function i(){}function o(e,t,n,r){var i=t.popStack(),o=0,a=n.length;for(e&&a--;o<a;o++)i=t.nameLookup(i,n[o],r);return e?[t.aliasable("this.strict"),"(",i,", ",t.quotedString(n[o]),")"]:i}var a=n(8)["default"];t.__esModule=!0;var s=n(10),l=n(12),u=a(l),c=n(13),p=n(18),h=a(p);i.prototype={nameLookup:function(e,t){return i.isValidJavaScriptVariableName(t)?[e,".",t]:[e,"['",t,"']"]},depthedLookup:function(e){return[this.aliasable("this.lookup"),'(depths, "',e,'")']},compilerInfo:function(){var e=s.COMPILER_REVISION,t=s.REVISION_CHANGES[e];return[e,t]},appendToBuffer:function(e,t,n){return c.isArray(e)||(e=[e]),e=this.source.wrap(e,t),this.environment.isSimple?["return ",e,";"]:n?["buffer += ",e,";"]:(e.appendToBuffer=!0,e)},initializeBuffer:function(){return this.quotedString("")},compile:function(e,t,n,r){this.environment=e,this.options=t,this.stringParams=this.options.stringParams,this.trackIds=this.options.trackIds,this.precompile=!r,this.name=this.environment.name,this.isChild=!!n,this.context=n||{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 i=e.opcodes,o=void 0,a=void 0,s=void 0,l=void 0;for(s=0,l=i.length;s<l;s++)o=i[s],this.source.currentLocation=o.loc,a=a||o.loc,this[o.opcode].apply(this,o.args);if(this.source.currentLocation=a,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(r);if(this.isChild)return c;var p={compiler:this.compilerInfo(),main:c},h=this.context.programs;for(s=0,l=h.length;s<l;s++)h[s]&&(p[s]=h[s]);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),r?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="",n=this.stackVars.concat(this.registers.list);n.length>0&&(t+=", "+n.join(", "));var r=0;for(var i in this.aliases){var o=this.aliases[i];this.aliases.hasOwnProperty(i)&&o.children&&o.referenceCount>1&&(t+=", alias"+ ++r+"="+i,o.children[0]="alias"+r)}var a=["depth0","helpers","partials","data"];(this.useBlockParams||this.useDepths)&&a.push("blockParams"),this.useDepths&&a.push("depths");var s=this.mergeSource(t);return e?(a.push(s),Function.apply(this,a)):this.source.wrap(["function(",a.join(","),") {\n  ",s,"}"])},mergeSource:function(e){var t=this.environment.isSimple,n=!this.forceBuffer,r=void 0,i=void 0,o=void 0,a=void 0;return this.source.each(function(e){e.appendToBuffer?(o?e.prepend("  + "):o=e,a=e):(o&&(i?o.prepend("buffer += "):r=!0,a.add(";"),o=a=void 0),i=!0,t||(n=!1))}),n?o?(o.prepend("return "),a.add(";")):i||this.source.push('return "";'):(e+=", buffer = "+(r?"":this.initializeBuffer()),o?(o.prepend("return buffer + "),a.add(";")):this.source.push("return buffer;")),e&&this.source.prepend("var "+e.substring(2)+(r?"":";\n")),this.source.merge()},blockValue:function(e){var t=this.aliasable("helpers.blockHelperMissing"),n=[this.contextName(0)];this.setupHelperArgs(e,0,n);var r=this.popStack();n.splice(1,0,r),this.push(this.source.functionCall(t,"call",n))},ambiguousBlockValue:function(){var e=this.aliasable("helpers.blockHelperMissing"),t=[this.contextName(0)];this.setupHelperArgs("",0,t,!0),this.flushInline();var n=this.topStack();t.splice(1,0,n),this.pushSource(["if (!",this.lastHelper,") { ",n," = ",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,n){var r=0;n||!this.options.compat||this.lastContext?this.pushContext():this.push(this.depthedLookup(e[r++])),this.resolvePath("context",e,r,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,n,r){var i=this;if(this.options.strict||this.options.assumeObjects)return void this.push(o(this.options.strict,this,t,e));for(var a=t.length;n<a;n++)this.replaceStack(function(o){var a=i.nameLookup(o,t[n],e);return r?[" && ",a]:[" != null ? ",a," : ",o]})},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,n){var r=this.popStack(),i=this.setupHelper(e,t),o=n?[i.name," || "]:"",a=["("].concat(o,r);this.options.strict||a.push(" || ",this.aliasable("helpers.helperMissing")),a.push(")"),this.push(this.source.functionCall(a,"call",i.callParams))},invokeKnownHelper:function(e,t){var n=this.setupHelper(e,t);this.push(this.source.functionCall(n.name,"call",n.callParams))},invokeAmbiguous:function(e,t){this.useRegister("helper");var n=this.popStack();this.emptyHash();var r=this.setupHelper(0,e,t),i=this.lastHelper=this.nameLookup("helpers",e,"helper"),o=["(","(helper = ",i," || ",n,")"];this.options.strict||(o[0]="(helper = ",o.push(" != null ? helper : ",this.aliasable("helpers.helperMissing"))),this.push(["(",o,r.paramsInit?["),(",r.paramsInit]:[],"),","(typeof helper === ",this.aliasable('"function"')," ? ",this.source.functionCall("helper","call",r.callParams)," : helper))"])},invokePartial:function(e,t,n){var r=[],i=this.setupParams(t,1,r,!1);e&&(t=this.popStack(),delete i.name),n&&(i.indent=JSON.stringify(n)),i.helpers="helpers",i.partials="partials",e?r.unshift(t):r.unshift(this.nameLookup("partials",t,"partial")),this.options.compat&&(i.depths="depths"),i=this.objectLiteral(i),r.push(i),this.push(this.source.functionCall("this.invokePartial","",r))},assignToHash:function(e){var t=this.popStack(),n=void 0,r=void 0,i=void 0;this.trackIds&&(i=this.popStack()),this.stringParams&&(r=this.popStack(),n=this.popStack());var o=this.hash;n&&(o.contexts[e]=n),r&&(o.types[e]=r),i&&(o.ids[e]=i),o.values[e]=t},pushId:function(e,t,n){"BlockParam"===e?this.pushStackLiteral("blockParams["+t[0]+"].path["+t[1]+"]"+(n?" + "+JSON.stringify("."+n):"")):"PathExpression"===e?this.pushString(t):"SubExpression"===e?this.pushStackLiteral("true"):this.pushStackLiteral("null")},compiler:i,compileChildren:function(e,t){for(var n=e.children,r=void 0,i=void 0,o=0,a=n.length;o<a;o++){r=n[o],i=new this.compiler;var s=this.matchExistingProgram(r);null==s?(this.context.programs.push(""),s=this.context.programs.length,r.index=s,r.name="program"+s,this.context.programs[s]=i.compile(r,t,this.context,!this.precompile),this.context.environments[s]=r,this.useDepths=this.useDepths||i.useDepths,this.useBlockParams=this.useBlockParams||i.useBlockParams):(r.index=s,r.name="program"+s,this.useDepths=this.useDepths||r.useDepths,this.useBlockParams=this.useBlockParams||r.useBlockParams)}},matchExistingProgram:function(e){for(var t=0,n=this.context.environments.length;t<n;t++){var r=this.context.environments[t];if(r&&r.equals(e))return t}},programExpression:function(e){var t=this.environment.children[e],n=[t.index,"data",t.blockParams];return(this.useBlockParams||this.useDepths)&&n.push("blockParams"),this.useDepths&&n.push("depths"),"this.program("+n.join(", ")+")"},useRegister:function(e){this.registers[e]||(this.registers[e]=!0,this.registers.list.push(e))},push:function(e){return e instanceof r||(e=this.source.wrap(e)),this.inlineStack.push(e),e},pushStackLiteral:function(e){this.push(new r(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=["("],n=void 0,i=void 0,o=void 0;if(!this.isInline())throw new u["default"]("replaceStack on non-inline");var a=this.popStack(!0);if(a instanceof r)n=[a.value],t=["(",n],o=!0;else{i=!0;var s=this.incrStack();t=["((",this.push(s)," = ",a,")"],n=this.topStack()}var l=e.call(this,n);o||this.popStack(),i&&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,n=e.length;t<n;t++){var i=e[t];if(i instanceof r)this.compileStack.push(i);else{var o=this.incrStack();this.pushSource([o," = ",i,";"]),this.compileStack.push(o)}}},isInline:function(){return this.inlineStack.length},popStack:function(e){var t=this.isInline(),n=(t?this.inlineStack:this.compileStack).pop();if(!e&&n instanceof r)return n.value;if(!t){if(!this.stackSlot)throw new u["default"]("Invalid stack pop");this.stackSlot--}return n},topStack:function(){var e=this.isInline()?this.inlineStack:this.compileStack,t=e[e.length-1];return t instanceof r?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,n){var r=[],i=this.setupHelperArgs(t,e,r,n),o=this.nameLookup("helpers",t,"helper");return{params:r,paramsInit:i,name:o,callParams:[this.contextName(0)].concat(r)}},setupParams:function(e,t,n){var r={},i=[],o=[],a=[],s=void 0;r.name=this.quotedString(e),r.hash=this.popStack(),this.trackIds&&(r.hashIds=this.popStack()),this.stringParams&&(r.hashTypes=this.popStack(),r.hashContexts=this.popStack());var l=this.popStack(),u=this.popStack();(u||l)&&(r.fn=u||"this.noop",r.inverse=l||"this.noop");for(var c=t;c--;)s=this.popStack(),n[c]=s,this.trackIds&&(a[c]=this.popStack()),this.stringParams&&(o[c]=this.popStack(),i[c]=this.popStack());return this.trackIds&&(r.ids=this.source.generateArray(a)),this.stringParams&&(r.types=this.source.generateArray(o),r.contexts=this.source.generateArray(i)),this.options.data&&(r.data="data"),this.useBlockParams&&(r.blockParams="blockParams"),r},setupHelperArgs:function(e,t,n,r){var i=this.setupParams(e,t,n,!0);return i=this.objectLiteral(i),r?(this.useRegister("options"),n.push("options"),["options=",i]):(n.push(i),"")}},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=i.RESERVED_WORDS={},n=0,r=e.length;n<r;n++)t[e[n]]=!0}(),i.isValidJavaScriptVariableName=function(e){return!i.RESERVED_WORDS[e]&&/^[a-zA-Z_$][0-9a-zA-Z_$]*$/.test(e)},t["default"]=i,e.exports=t["default"]},function(e,t,n){"use strict";function r(){this.parents=[]}var i=n(8)["default"];t.__esModule=!0;var o=n(12),a=i(o),s=n(2),l=i(s);r.prototype={constructor:r,mutating:!1,acceptKey:function(e,t){var n=this.accept(e[t]);if(this.mutating){if(n&&(!n.type||!l["default"][n.type]))throw new a["default"]('Unexpected node type "'+n.type+'" found when accepting '+t+" on "+e.type);
+e[t]=n}},acceptRequired:function(e,t){if(this.acceptKey(e,t),!e[t])throw new a["default"](e.type+" requires "+t)},acceptArray:function(e){for(var t=0,n=e.length;t<n;t++)this.acceptKey(e,t),e[t]||(e.splice(t,1),t--,n--)},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"]=r,e.exports=t["default"]},function(e,t,n){(function(n){"use strict";t.__esModule=!0,t["default"]=function(e){var t="undefined"!=typeof n?n:window,r=t.Handlebars;e.noConflict=function(){t.Handlebars===e&&(t.Handlebars=r)}},e.exports=t["default"]}).call(t,function(){return this}())},function(e,t,n){"use strict";t["default"]=function(e){return e&&e.__esModule?e:{"default":e}},t.__esModule=!0},function(e,t,n){"use strict";t["default"]=function(e){if(e&&e.__esModule)return e;var t={};if("object"==typeof e&&null!==e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t["default"]=e,t},t.__esModule=!0},function(e,t,n){"use strict";function r(e,t){this.helpers=e||{},this.partials=t||{},i(this)}function i(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,n){var r=n.inverse,i=n.fn;if(t===!0)return i(this);if(t===!1||null==t)return r(this);if(g(t))return t.length>0?(n.ids&&(n.ids=[n.name]),e.helpers.each(t,n)):r(this);if(n.data&&n.ids){var a=o(n.data);a.contextPath=u.appendContextPath(n.data.contextPath,n.name),n={data:a}}return i(t,n)}),e.registerHelper("each",function(e,t){function n(t,n,i){l&&(l.key=t,l.index=n,l.first=0===n,l.last=!!i,c&&(l.contextPath=c+t)),s+=r(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 r=t.fn,i=t.inverse,a=0,s="",l=void 0,c=void 0;if(t.data&&t.ids&&(c=u.appendContextPath(t.data.contextPath,t.ids[0])+"."),m(e)&&(e=e.call(this)),t.data&&(l=o(t.data)),e&&"object"==typeof e)if(g(e))for(var h=e.length;a<h;a++)n(a,a,a===e.length-1);else{var f=void 0;for(var d in e)e.hasOwnProperty(d)&&(f&&n(f,a-1),f=d,a++);f&&n(f,a-1,!0)}return 0===a&&(s=i(this)),s}),e.registerHelper("if",function(e,t){return m(e)&&(e=e.call(this)),!t.hash.includeZero&&!e||u.isEmpty(e)?t.inverse(this):t.fn(this)}),e.registerHelper("unless",function(t,n){return e.helpers["if"].call(this,t,{fn:n.inverse,inverse:n.fn,hash:n.hash})}),e.registerHelper("with",function(e,t){m(e)&&(e=e.call(this));var n=t.fn;if(u.isEmpty(e))return t.inverse(this);if(t.data&&t.ids){var r=o(t.data);r.contextPath=u.appendContextPath(t.data.contextPath,t.ids[0]),t={data:r}}return n(e,t)}),e.registerHelper("log",function(t,n){var r=n.data&&null!=n.data.level?parseInt(n.data.level,10):1;e.log(r,t)}),e.registerHelper("lookup",function(e,t){return e&&e[t]})}function o(e){var t=u.extend({},e);return t._parent=e,t}var a=n(9)["default"],s=n(8)["default"];t.__esModule=!0,t.HandlebarsEnvironment=r,t.createFrame=o;var l=n(13),u=a(l),c=n(12),p=s(c),h="3.0.1";t.VERSION=h;var f=6;t.COMPILER_REVISION=f;var d={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=d;var g=u.isArray,m=u.isFunction,v=u.toString,y="[object Object]";r.prototype={constructor:r,logger:b,log:x,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 b={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&&b.level<=e){var n=b.methodMap[e];(console[n]||console.log).call(console,t)}}};t.logger=b;var x=b.log;t.log=x},function(e,t,n){"use strict";function r(e){this.string=e}t.__esModule=!0,r.prototype.toString=r.prototype.toHTML=function(){return""+this.string},t["default"]=r,e.exports=t["default"]},function(e,t,n){"use strict";function r(e,t){var n=t&&t.loc,o=void 0,a=void 0;n&&(o=n.start.line,a=n.start.column,e+=" - "+o+":"+a);for(var s=Error.prototype.constructor.call(this,e),l=0;l<i.length;l++)this[i[l]]=s[i[l]];Error.captureStackTrace&&Error.captureStackTrace(this,r),n&&(this.lineNumber=o,this.column=a)}t.__esModule=!0;var i=["description","fileName","lineNumber","message","name","number","stack"];r.prototype=new Error,t["default"]=r,e.exports=t["default"]},function(e,t,n){"use strict";function r(e){return c[e]}function i(e){for(var t=1;t<arguments.length;t++)for(var n in arguments[t])Object.prototype.hasOwnProperty.call(arguments[t],n)&&(e[n]=arguments[t][n]);return e}function o(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1}function a(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,r):e}function s(e){return!e&&0!==e||!(!g(e)||0!==e.length)}function l(e,t){return e.path=t,e}function u(e,t){return(e?e+".":"")+t}t.__esModule=!0,t.extend=i,t.indexOf=o,t.escapeExpression=a,t.isEmpty=s,t.blockParams=l,t.appendContextPath=u;var c={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;","`":"&#x60;"},p=/[&<>"'`]/g,h=/[&<>"'`]/,f=Object.prototype.toString;t.toString=f;var d=function(e){return"function"==typeof e};d(/x/)&&(t.isFunction=d=function(e){return"function"==typeof e&&"[object Function]"===f.call(e)});var d;t.isFunction=d;var g=Array.isArray||function(e){return!(!e||"object"!=typeof e)&&"[object Array]"===f.call(e)};t.isArray=g},function(e,t,n){"use strict";function r(e){var t=e&&e[0]||1,n=m.COMPILER_REVISION;if(t!==n){if(t<n){var r=m.REVISION_CHANGES[n],i=m.REVISION_CHANGES[t];throw new g["default"]("Template was precompiled with an older version of Handlebars than the current runtime. Please update your precompiler to a newer version ("+r+") or downgrade your runtime to an older version ("+i+").")}throw new g["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 i(e,t){function n(n,r,i){i.hash&&(r=f.extend({},r,i.hash)),n=t.VM.resolvePartial.call(this,n,r,i);var o=t.VM.invokePartial.call(this,n,r,i);if(null==o&&t.compile&&(i.partials[i.name]=t.compile(n,e.compilerOptions,t),o=i.partials[i.name](r,i)),null!=o){if(i.indent){for(var a=o.split("\n"),s=0,l=a.length;s<l&&(a[s]||s+1!==l);s++)a[s]=i.indent+a[s];o=a.join("\n")}return o}throw new g["default"]("The partial "+i.name+" could not be compiled when running in runtime-only mode")}function r(t){var n=void 0===arguments[1]?{}:arguments[1],o=n.data;r._setup(n),!n.partial&&e.useData&&(o=u(t,o));var a=void 0,s=e.useBlockParams?[]:void 0;return e.useDepths&&(a=n.depths?[t].concat(n.depths):[t]),e.main.call(i,t,i.helpers,i.partials,o,s,a)}if(!t)throw new g["default"]("No environment passed to template");if(!e||!e.main)throw new g["default"]("Unknown template object: "+typeof e);t.VM.checkRevision(e.compiler);var i={strict:function(e,t){if(!(t in e))throw new g["default"]('"'+t+'" not defined in '+e);return e[t]},lookup:function(e,t){for(var n=e.length,r=0;r<n;r++)if(e[r]&&null!=e[r][t])return e[r][t]},lambda:function(e,t){return"function"==typeof e?e.call(t):e},escapeExpression:f.escapeExpression,invokePartial:n,fn:function(t){return e[t]},programs:[],program:function(e,t,n,r,i){var a=this.programs[e],s=this.fn(e);return t||i||r||n?a=o(this,e,s,t,n,r,i):a||(a=this.programs[e]=o(this,e,s)),a},data:function(e,t){for(;e&&t--;)e=e._parent;return e},merge:function(e,t){var n=e||t;return e&&t&&e!==t&&(n=f.extend({},t,e)),n},noop:t.VM.noop,compilerInfo:e.compiler};return r.isTop=!0,r._setup=function(n){n.partial?(i.helpers=n.helpers,i.partials=n.partials):(i.helpers=i.merge(n.helpers,t.helpers),e.usePartial&&(i.partials=i.merge(n.partials,t.partials)))},r._child=function(t,n,r,a){if(e.useBlockParams&&!r)throw new g["default"]("must pass block params");if(e.useDepths&&!a)throw new g["default"]("must pass parent depths");return o(i,t,e[t],n,0,r,a)},r}function o(e,t,n,r,i,o,a){function s(t){var i=void 0===arguments[1]?{}:arguments[1];return n.call(e,t,e.helpers,e.partials,i.data||r,o&&[i.blockParams].concat(o),a&&[t].concat(a))}return s.program=t,s.depth=a?a.length:0,s.blockParams=i||0,s}function a(e,t,n){return e?e.call||n.name||(n.name=e,e=n.partials[e]):e=n.partials[n.name],e}function s(e,t,n){if(n.partial=!0,void 0===e)throw new g["default"]("The partial "+n.name+" could not be found");if(e instanceof Function)return e(t,n)}function l(){return""}function u(e,t){return t&&"root"in t||(t=t?m.createFrame(t):{},t.root=e),t}var c=n(9)["default"],p=n(8)["default"];t.__esModule=!0,t.checkRevision=r,t.template=i,t.wrapProgram=o,t.resolvePartial=a,t.invokePartial=s,t.noop=l;var h=n(13),f=c(h),d=n(12),g=p(d),m=n(10)},function(e,t,n){"use strict";t.__esModule=!0;var r=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,n,r,i,o,a){var s=o.length-1;switch(i){case 1:return o[s-1];case 2:this.$=new r.Program(o[s],null,{},r.locInfo(this._$));break;case 3:this.$=o[s];break;case 4:this.$=o[s];break;case 5:this.$=o[s];break;case 6:this.$=o[s];break;case 7:this.$=o[s];break;case 8:this.$=new r.CommentStatement(r.stripComment(o[s]),r.stripFlags(o[s],o[s]),r.locInfo(this._$));break;case 9:this.$=new r.ContentStatement(o[s],r.locInfo(this._$));break;case 10:this.$=r.prepareRawBlock(o[s-2],o[s-1],o[s],this._$);break;case 11:this.$={path:o[s-3],params:o[s-2],hash:o[s-1]};break;case 12:this.$=r.prepareBlock(o[s-3],o[s-2],o[s-1],o[s],!1,this._$);break;case 13:this.$=r.prepareBlock(o[s-3],o[s-2],o[s-1],o[s],!0,this._$);break;case 14:this.$={path:o[s-4],params:o[s-3],hash:o[s-2],blockParams:o[s-1],strip:r.stripFlags(o[s-5],o[s])};break;case 15:this.$={path:o[s-4],params:o[s-3],hash:o[s-2],blockParams:o[s-1],strip:r.stripFlags(o[s-5],o[s])};break;case 16:this.$={path:o[s-4],params:o[s-3],hash:o[s-2],blockParams:o[s-1],strip:r.stripFlags(o[s-5],o[s])};break;case 17:this.$={strip:r.stripFlags(o[s-1],o[s-1]),program:o[s]};break;case 18:var l=r.prepareBlock(o[s-2],o[s-1],o[s],o[s],!1,this._$),u=new r.Program([l],null,{},r.locInfo(this._$));u.chained=!0,this.$={strip:o[s-2].strip,program:u,chain:!0};break;case 19:this.$=o[s];break;case 20:this.$={path:o[s-1],strip:r.stripFlags(o[s-2],o[s])};break;case 21:this.$=r.prepareMustache(o[s-3],o[s-2],o[s-1],o[s-4],r.stripFlags(o[s-4],o[s]),this._$);break;case 22:this.$=r.prepareMustache(o[s-3],o[s-2],o[s-1],o[s-4],r.stripFlags(o[s-4],o[s]),this._$);break;case 23:this.$=new r.PartialStatement(o[s-3],o[s-2],o[s-1],r.stripFlags(o[s-4],o[s]),r.locInfo(this._$));break;case 24:this.$=o[s];break;case 25:this.$=o[s];break;case 26:this.$=new r.SubExpression(o[s-3],o[s-2],o[s-1],r.locInfo(this._$));break;case 27:this.$=new r.Hash(o[s],r.locInfo(this._$));break;case 28:this.$=new r.HashPair(r.id(o[s-2]),o[s],r.locInfo(this._$));break;case 29:this.$=r.id(o[s-1]);break;case 30:this.$=o[s];break;case 31:this.$=o[s];break;case 32:this.$=new r.StringLiteral(o[s],r.locInfo(this._$));break;case 33:this.$=new r.NumberLiteral(o[s],r.locInfo(this._$));break;case 34:this.$=new r.BooleanLiteral(o[s],r.locInfo(this._$));break;case 35:this.$=new r.UndefinedLiteral(r.locInfo(this._$));break;case 36:this.$=new r.NullLiteral(r.locInfo(this._$));break;case 37:this.$=o[s];break;case 38:this.$=o[s];break;case 39:this.$=r.preparePath(!0,o[s],this._$);break;case 40:this.$=r.preparePath(!1,o[s],this._$);break;case 41:o[s-2].push({part:r.id(o[s]),original:o[s],separator:o[s-1]}),this.$=o[s-2];break;case 42:this.$=[{part:r.id(o[s]),original:o[s]}];break;case 43:this.$=[];break;case 44:o[s-1].push(o[s]);break;case 45:this.$=[];break;case 46:o[s-1].push(o[s]);break;case 53:this.$=[];break;case 54:o[s-1].push(o[s]);break;case 59:this.$=[];break;case 60:o[s-1].push(o[s]);break;case 65:this.$=[];break;case 66:o[s-1].push(o[s]);break;case 73:this.$=[];break;case 74:o[s-1].push(o[s]);break;case 77:this.$=[];break;case 78:o[s-1].push(o[s]);break;case 81:this.$=[];break;case 82:o[s-1].push(o[s]);break;case 85:this.$=[];break;case 86:o[s-1].push(o[s]);break;case 89:this.$=[o[s]];break;case 90:o[s-1].push(o[s]);break;case 91:this.$=[o[s]];break;case 92:o[s-1].push(o[s])}},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=n.lexer.lex()||1,"number"!=typeof e&&(e=n.symbols_[e]||e),e}var n=this,r=[0],i=[null],o=[],a=this.table,s="",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;o.push(p);var h=this.lexer.options&&this.lexer.options.ranges;"function"==typeof this.yy.parseError&&(this.parseError=this.yy.parseError);for(var f,d,g,m,v,y,b,x,w,S={};;){if(g=r[r.length-1],this.defaultActions[g]?m=this.defaultActions[g]:(null!==f&&"undefined"!=typeof f||(f=t()),m=a[g]&&a[g][f]),"undefined"==typeof m||!m.length||!m[0]){var k="";if(!c){w=[];for(y in a[g])this.terminals_[y]&&y>2&&w.push("'"+this.terminals_[y]+"'");k=this.lexer.showPosition?"Parse error on line "+(l+1)+":\n"+this.lexer.showPosition()+"\nExpecting "+w.join(", ")+", got '"+(this.terminals_[f]||f)+"'":"Parse error on line "+(l+1)+": Unexpected "+(1==f?"end of input":"'"+(this.terminals_[f]||f)+"'"),this.parseError(k,{text:this.lexer.match,token:this.terminals_[f]||f,line:this.lexer.yylineno,loc:p,expected:w})}}if(m[0]instanceof Array&&m.length>1)throw new Error("Parse Error: multiple actions possible at state: "+g+", token: "+f);switch(m[0]){case 1:r.push(f),i.push(this.lexer.yytext),o.push(this.lexer.yylloc),r.push(m[1]),f=null,d?(f=d,d=null):(u=this.lexer.yyleng,s=this.lexer.yytext,l=this.lexer.yylineno,p=this.lexer.yylloc,c>0&&c--);break;case 2:if(b=this.productions_[m[1]][1],S.$=i[i.length-b],S._$={first_line:o[o.length-(b||1)].first_line,last_line:o[o.length-1].last_line,first_column:o[o.length-(b||1)].first_column,last_column:o[o.length-1].last_column},h&&(S._$.range=[o[o.length-(b||1)].range[0],o[o.length-1].range[1]]),v=this.performAction.call(S,s,u,l,this.yy,m[1],i,o),"undefined"!=typeof v)return v;b&&(r=r.slice(0,-1*b*2),i=i.slice(0,-1*b),o=o.slice(0,-1*b)),r.push(this.productions_[m[1]][0]),i.push(S.$),o.push(S._$),x=a[r[r.length-2]][r[r.length-1]],r.push(x);break;case 3:return!0}}return!0}},n=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,n=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 r=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),n.length-1&&(this.yylineno-=n.length-1);var i=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:n?(n.length===r.length?this.yylloc.first_column:0)+r[r.length-n.length].length-n[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[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,n,r,i;this._more||(this.yytext="",this.match="");for(var o=this._currentRules(),a=0;a<o.length&&(n=this._input.match(this.rules[o[a]]),!n||t&&!(n[0].length>t[0].length)||(t=n,r=a,this.options.flex));a++);return t?(i=t[0].match(/(?:\r\n?|\n).*/g),i&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.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,o[r],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,n,r){function i(e,n){return t.yytext=t.yytext.substr(e,t.yyleng-n)}switch(n){case 0:if("\\\\"===t.yytext.slice(-2)?(i(0,1),this.begin("mu")):"\\"===t.yytext.slice(-1)?(i(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=i(1,2).replace(/\\"/g,'"'),74;case 30:return t.yytext=i(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=n,e.prototype=t,t.Parser=e,new e}();t["default"]=r,e.exports=t["default"]},function(e,t,n){"use strict";function r(){}function i(e,t,n){void 0===t&&(t=e.length);var r=e[t-1],i=e[t-2];return r?"ContentStatement"===r.type?(i||!n?/\r?\n\s*?$/:/(^|\r?\n)\s*?$/).test(r.original):void 0:n}function o(e,t,n){void 0===t&&(t=-1);var r=e[t+1],i=e[t+2];return r?"ContentStatement"===r.type?(i||!n?/^\s*?\r?\n/:/^\s*?(\r?\n|$)/).test(r.original):void 0:n}function a(e,t,n){var r=e[null==t?0:t+1];if(r&&"ContentStatement"===r.type&&(n||!r.rightStripped)){var i=r.value;r.value=r.value.replace(n?/^\s+/:/^[ \t]*\r?\n?/,""),r.rightStripped=r.value!==i}}function s(e,t,n){var r=e[null==t?e.length-1:t-1];if(r&&"ContentStatement"===r.type&&(n||!r.leftStripped)){var i=r.value;return r.value=r.value.replace(n?/\s+$/:/[ \t]+$/,""),r.leftStripped=r.value!==i,r.leftStripped}}var l=n(8)["default"];t.__esModule=!0;var u=n(6),c=l(u);r.prototype=new c["default"],r.prototype.Program=function(e){var t=!this.isRootSeen;this.isRootSeen=!0;for(var n=e.body,r=0,l=n.length;r<l;r++){var u=n[r],c=this.accept(u);if(c){var p=i(n,r,t),h=o(n,r,t),f=c.openStandalone&&p,d=c.closeStandalone&&h,g=c.inlineStandalone&&p&&h;c.close&&a(n,r,!0),c.open&&s(n,r,!0),g&&(a(n,r),s(n,r)&&"PartialStatement"===u.type&&(u.indent=/([ \t]+$)/.exec(n[r-1].original)[1])),f&&(a((u.program||u.inverse).body),s(n,r)),d&&(a(n,r),s((u.inverse||u.program).body))}}return e},r.prototype.BlockStatement=function(e){this.accept(e.program),this.accept(e.inverse);var t=e.program||e.inverse,n=e.program&&e.inverse,r=n,l=n;if(n&&n.chained)for(r=n.body[0].program;l.chained;)l=l.body[l.body.length-1].program;var u={open:e.openStrip.open,close:e.closeStrip.close,openStandalone:o(t.body),closeStandalone:i((r||t).body)};if(e.openStrip.close&&a(t.body,null,!0),n){var c=e.inverseStrip;c.open&&s(t.body,null,!0),c.close&&a(r.body,null,!0),e.closeStrip.open&&s(l.body,null,!0),i(t.body)&&o(r.body)&&(s(t.body),a(r.body))}else e.closeStrip.open&&s(t.body,null,!0);return u},r.prototype.MustacheStatement=function(e){return e.strip},r.prototype.PartialStatement=r.prototype.CommentStatement=function(e){var t=e.strip||{};return{inlineStandalone:!0,open:t.open,close:t.close}},t["default"]=r,e.exports=t["default"]},function(e,t,n){"use strict";function r(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 i(e){return/^\[.*\]$/.test(e)?e.substr(1,e.length-2):e}function o(e,t){return{open:"~"===e.charAt(2),close:"~"===t.charAt(t.length-3)}}function a(e){return e.replace(/^\{\{~?\!-?-?/,"").replace(/-?-?~?\}\}$/,"")}function s(e,t,n){n=this.locInfo(n);for(var r=e?"@":"",i=[],o=0,a="",s=0,l=t.length;s<l;s++){var u=t[s].part,c=t[s].original!==u;if(r+=(t[s].separator||"")+u,c||".."!==u&&"."!==u&&"this"!==u)i.push(u);else{if(i.length>0)throw new f["default"]("Invalid path: "+r,{loc:n});".."===u&&(o++,a+="../")}}return new this.PathExpression(e,o,i,r,n)}function l(e,t,n,r,i,o){var a=r.charAt(3)||r.charAt(2),s="{"!==a&&"&"!==a;return new this.MustacheStatement(e,t,n,s,i,this.locInfo(o))}function u(e,t,n,r){if(e.path.original!==n){var i={loc:e.path.loc};throw new f["default"](e.path.original+" doesn't match "+n,i)}r=this.locInfo(r);var o=new this.Program([t],null,{},r);return new this.BlockStatement(e.path,e.params,e.hash,o,(void 0),{},{},{},r)}function c(e,t,n,r,i,o){if(r&&r.path&&e.path.original!==r.path.original){var a={loc:e.path.loc};throw new f["default"](e.path.original+" doesn't match "+r.path.original,a)}t.blockParams=e.blockParams;var s=void 0,l=void 0;return n&&(n.chain&&(n.program.body[0].closeStrip=r.strip),l=n.strip,s=n.program),i&&(i=s,s=t,t=i),new this.BlockStatement(e.path,e.params,e.hash,t,s,e.strip,l,r&&r.strip,this.locInfo(o))}var p=n(8)["default"];t.__esModule=!0,t.SourceLocation=r,t.id=i,t.stripFlags=o,t.stripComment=a,t.preparePath=s,t.prepareMustache=l,t.prepareRawBlock=u,t.prepareBlock=c;var h=n(12),f=p(h)},function(e,t,n){"use strict";function r(e,t,n){if(o.isArray(e)){for(var r=[],i=0,a=e.length;i<a;i++)r.push(t.wrap(e[i],n));return r}return"boolean"==typeof e||"number"==typeof e?e+"":e}function i(e){this.srcFile=e,this.source=[]}t.__esModule=!0;var o=n(13),a=void 0;try{}catch(s){}a||(a=function(e,t,n,r){this.src="",r&&this.add(r)},a.prototype={add:function(e){o.isArray(e)&&(e=e.join("")),this.src+=e},prepend:function(e){o.isArray(e)&&(e=e.join("")),this.src=e+this.src},toStringWithSourceMap:function(){return{code:this.toString()}},toString:function(){return this.src}}),i.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,n=this.source.length;t<n;t++)e(this.source[t])},empty:function(){var e=void 0===arguments[0]?this.currentLocation||{start:{}}:arguments[0];return new a(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 a?e:(e=r(e,this,t),new a(t.start.line,t.start.column,this.srcFile,e))},functionCall:function(e,t,n){return n=this.generateList(n),this.wrap([e,t?"."+t+"(":"(",n,")"])},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 n in e)if(e.hasOwnProperty(n)){var i=r(e[n],this);"undefined"!==i&&t.push([this.quotedString(n),":",i])}var o=this.generateList(t);return o.prepend("{"),o.add("}"),o},generateList:function(e,t){for(var n=this.empty(t),i=0,o=e.length;i<o;i++)i&&n.add(","),n.add(r(e[i],this,t));return n},generateArray:function(e,t){var n=this.generateList(e,t);return n.prepend("["),n.add("]"),n}},t["default"]=i,e.exports=t["default"]}])})}),define("source-map",[],function(e,t,n){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,n){define(function(e,t,n){function r(e){e||(e={}),this._file=o.getArg(e,"file",null),this._sourceRoot=o.getArg(e,"sourceRoot",null),this._sources=new a,this._names=new a,this._mappings=[],this._sourcesContents=null}var i=e("source-map/base64-vlq"),o=e("source-map/util"),a=e("source-map/array-set").ArraySet;r.prototype._version=3,r.fromSourceMap=function(e){var t=e.sourceRoot,n=new r({file:e.file,sourceRoot:t});return e.eachMapping(function(e){var r={generated:{line:e.generatedLine,column:e.generatedColumn}};null!=e.source&&(r.source=e.source,null!=t&&(r.source=o.relative(t,r.source)),r.original={line:e.originalLine,column:e.originalColumn},null!=e.name&&(r.name=e.name)),n.addMapping(r)}),e.sources.forEach(function(t){var r=e.sourceContentFor(t);null!=r&&n.setSourceContent(t,r)}),n},r.prototype.addMapping=function(e){var t=o.getArg(e,"generated"),n=o.getArg(e,"original",null),r=o.getArg(e,"source",null),i=o.getArg(e,"name",null);this._validateMapping(t,n,r,i),null==r||this._sources.has(r)||this._sources.add(r),null==i||this._names.has(i)||this._names.add(i),this._mappings.push({generatedLine:t.line,generatedColumn:t.column,originalLine:null!=n&&n.line,originalColumn:null!=n&&n.column,source:r,name:i})},r.prototype.setSourceContent=function(e,t){var n=e;null!=this._sourceRoot&&(n=o.relative(this._sourceRoot,n)),null!=t?(this._sourcesContents||(this._sourcesContents={}),this._sourcesContents[o.toSetString(n)]=t):this._sourcesContents&&(delete this._sourcesContents[o.toSetString(n)],0===Object.keys(this._sourcesContents).length&&(this._sourcesContents=null))},r.prototype.applySourceMap=function(e,t,n){var r=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.');r=e.file}var i=this._sourceRoot;null!=i&&(r=o.relative(i,r));var s=new a,l=new a;this._mappings.forEach(function(t){if(t.source===r&&null!=t.originalLine){var a=e.originalPositionFor({line:t.originalLine,column:t.originalColumn});null!=a.source&&(t.source=a.source,null!=n&&(t.source=o.join(n,t.source)),null!=i&&(t.source=o.relative(i,t.source)),t.originalLine=a.line,t.originalColumn=a.column,null!=a.name&&(t.name=a.name))}var u=t.source;null==u||s.has(u)||s.add(u);var c=t.name;null==c||l.has(c)||l.add(c)},this),this._sources=s,this._names=l,e.sources.forEach(function(t){var r=e.sourceContentFor(t);null!=r&&(null!=n&&(t=o.join(n,t)),null!=i&&(t=o.relative(i,t)),this.setSourceContent(t,r))},this)},r.prototype._validateMapping=function(e,t,n,r){if((!(e&&"line"in e&&"column"in e&&e.line>0&&e.column>=0)||t||n||r)&&!(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&&n))throw new Error("Invalid mapping: "+JSON.stringify({generated:e,source:n,original:t,name:r}))},r.prototype._serializeMappings=function(){var e,t=0,n=1,r=0,a=0,s=0,l=0,u="";this._mappings.sort(o.compareByGeneratedPositions);for(var c=0,p=this._mappings.length;c<p;c++){if(e=this._mappings[c],e.generatedLine!==n)for(t=0;e.generatedLine!==n;)u+=";",n++;else if(c>0){if(!o.compareByGeneratedPositions(e,this._mappings[c-1]))continue;u+=","}u+=i.encode(e.generatedColumn-t),t=e.generatedColumn,null!=e.source&&(u+=i.encode(this._sources.indexOf(e.source)-l),l=this._sources.indexOf(e.source),u+=i.encode(e.originalLine-1-a),a=e.originalLine-1,u+=i.encode(e.originalColumn-r),r=e.originalColumn,null!=e.name&&(u+=i.encode(this._names.indexOf(e.name)-s),s=this._names.indexOf(e.name)))}return u},r.prototype._generateSourcesContent=function(e,t){return e.map(function(e){if(!this._sourcesContents)return null;null!=t&&(e=o.relative(t,e));var n=o.toSetString(e);return Object.prototype.hasOwnProperty.call(this._sourcesContents,n)?this._sourcesContents[n]:null},this)},r.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},r.prototype.toString=function(){return JSON.stringify(this)},t.SourceMapGenerator=r})}),define("source-map/base64-vlq",[],function(e,t,n){define(function(e,t,n){function r(e){return e<0?(-e<<1)+1:(e<<1)+0}function i(e){var t=1===(1&e),n=e>>1;return t?-n:n}var o=e("source-map/base64"),a=5,s=1<<a,l=s-1,u=s;t.encode=function(e){var t,n="",i=r(e);do t=i&l,i>>>=a,i>0&&(t|=u),n+=o.encode(t);while(i>0);return n},t.decode=function(e,t){var n,r,s=0,c=e.length,p=0,h=0;do{if(s>=c)throw new Error("Expected more digits in base 64 VLQ value.");r=o.decode(e.charAt(s++)),n=!!(r&u),r&=l,p+=r<<h,h+=a}while(n);t.value=i(p),t.rest=e.slice(s)}})}),define("source-map/base64",[],function(e,t,n){define(function(e,t,n){var r={},i={};"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split("").forEach(function(e,t){r[e]=t,i[t]=e}),t.encode=function(e){if(e in i)return i[e];throw new TypeError("Must be between 0 and 63: "+e)},t.decode=function(e){if(e in r)return r[e];throw new TypeError("Not a valid base 64 digit: "+e)}})}),define("source-map/util",[],function(e,t,n){define(function(e,t,n){function r(e,t,n){if(t in e)return e[t];if(3===arguments.length)return n;throw new Error('"'+t+'" is a required argument.')}function i(e){var t=e.match(d);return t?{scheme:t[1],auth:t[2],host:t[3],port:t[4],path:t[5]}:null}function o(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 a(e){var t=e,n=i(e);if(n){if(!n.path)return e;t=n.path}for(var r,a="/"===t.charAt(0),s=t.split(/\/+/),l=0,u=s.length-1;u>=0;u--)r=s[u],"."===r?s.splice(u,1):".."===r?l++:l>0&&(""===r?(s.splice(u+1,l),l=0):(s.splice(u,2),l--));return t=s.join("/"),""===t&&(t=a?"/":"."),n?(n.path=t,o(n)):t}function s(e,t){""===e&&(e="."),""===t&&(t=".");var n=i(t),r=i(e);if(r&&(e=r.path||"/"),n&&!n.scheme)return r&&(n.scheme=r.scheme),o(n);if(n||t.match(g))return t;if(r&&!r.host&&!r.path)return r.host=t,o(r);var s="/"===t.charAt(0)?t:a(e.replace(/\/+$/,"")+"/"+t);return r?(r.path=s,o(r)):s}function l(e,t){""===e&&(e="."),e=e.replace(/\/$/,"");var n=i(e);return"/"==t.charAt(0)&&n&&"/"==n.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 n=e||"",r=t||"";return(n>r)-(n<r)}function h(e,t,n){var r;return(r=p(e.source,t.source))?r:(r=e.originalLine-t.originalLine)?r:(r=e.originalColumn-t.originalColumn,r||n?r:(r=p(e.name,t.name))?r:(r=e.generatedLine-t.generatedLine,r?r:e.generatedColumn-t.generatedColumn))}function f(e,t,n){var r;return(r=e.generatedLine-t.generatedLine)?r:(r=e.generatedColumn-t.generatedColumn,r||n?r:(r=p(e.source,t.source))?r:(r=e.originalLine-t.originalLine)?r:(r=e.originalColumn-t.originalColumn,r?r:p(e.name,t.name)))}t.getArg=r;var d=/^(?:([\w+\-.]+):)?\/\/(?:(\w+:\w+)@)?([\w.]*)(?::(\d+))?(\S*)$/,g=/^data:.+\,.+$/;t.urlParse=i,t.urlGenerate=o,t.normalize=a,t.join=s,t.relative=l,t.toSetString=u,t.fromSetString=c,t.compareByOriginalPositions=h,t.compareByGeneratedPositions=f})}),define("source-map/array-set",[],function(e,t,n){define(function(e,t,n){function r(){this._array=[],this._set={}}var i=e("source-map/util");r.fromArray=function(e,t){for(var n=new r,i=0,o=e.length;i<o;i++)n.add(e[i],t);return n},r.prototype.add=function(e,t){var n=this.has(e),r=this._array.length;n&&!t||this._array.push(e),n||(this._set[i.toSetString(e)]=r)},r.prototype.has=function(e){return Object.prototype.hasOwnProperty.call(this._set,i.toSetString(e))},r.prototype.indexOf=function(e){if(this.has(e))return this._set[i.toSetString(e)];throw new Error('"'+e+'" is not in the set.')},r.prototype.at=function(e){if(e>=0&&e<this._array.length)return this._array[e];throw new Error("No element indexed by "+e)},r.prototype.toArray=function(){return this._array.slice()},t.ArraySet=r})}),define("source-map/source-map-consumer",[],function(e,t,n){define(function(e,t,n){function r(e){var t=e;"string"==typeof e&&(t=JSON.parse(e.replace(/^\)\]\}'/,"")));var n=i.getArg(t,"version"),r=i.getArg(t,"sources"),o=i.getArg(t,"names",[]),s=i.getArg(t,"sourceRoot",null),l=i.getArg(t,"sourcesContent",null),u=i.getArg(t,"mappings"),c=i.getArg(t,"file",null);if(n!=this._version)throw new Error("Unsupported version: "+n);r=r.map(i.normalize),this._names=a.fromArray(o,!0),this._sources=a.fromArray(r,!0),this.sourceRoot=s,this.sourcesContent=l,this._mappings=u,this.file=c}var i=e("source-map/util"),o=e("source-map/binary-search"),a=e("source-map/array-set").ArraySet,s=e("source-map/base64-vlq");r.fromSourceMap=function(e){var t=Object.create(r.prototype);return t._names=a.fromArray(e._names.toArray(),!0),t._sources=a.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(i.compareByGeneratedPositions),t.__originalMappings=e._mappings.slice().sort(i.compareByOriginalPositions),t},r.prototype._version=3,Object.defineProperty(r.prototype,"sources",{get:function(){return this._sources.toArray().map(function(e){return null!=this.sourceRoot?i.join(this.sourceRoot,e):e},this)}}),r.prototype.__generatedMappings=null,Object.defineProperty(r.prototype,"_generatedMappings",{get:function(){return this.__generatedMappings||(this.__generatedMappings=[],this.__originalMappings=[],this._parseMappings(this._mappings,this.sourceRoot)),this.__generatedMappings}}),r.prototype.__originalMappings=null,Object.defineProperty(r.prototype,"_originalMappings",{get:function(){return this.__originalMappings||(this.__generatedMappings=[],this.__originalMappings=[],this._parseMappings(this._mappings,this.sourceRoot)),this.__originalMappings}}),r.prototype._nextCharIsMappingSeparator=function(e){var t=e.charAt(0);return";"===t||","===t},r.prototype._parseMappings=function(e,t){for(var n,r=1,o=0,a=0,l=0,u=0,c=0,p=e,h={};p.length>0;)if(";"===p.charAt(0))r++,p=p.slice(1),o=0;else if(","===p.charAt(0))p=p.slice(1);else{if(n={},n.generatedLine=r,s.decode(p,h),n.generatedColumn=o+h.value,o=n.generatedColumn,p=h.rest,p.length>0&&!this._nextCharIsMappingSeparator(p)){if(s.decode(p,h),n.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(s.decode(p,h),n.originalLine=a+h.value,a=n.originalLine,n.originalLine+=1,p=h.rest,0===p.length||this._nextCharIsMappingSeparator(p))throw new Error("Found a source and line, but no column");s.decode(p,h),n.originalColumn=l+h.value,l=n.originalColumn,p=h.rest,p.length>0&&!this._nextCharIsMappingSeparator(p)&&(s.decode(p,h),n.name=this._names.at(c+h.value),c+=h.value,p=h.rest)}this.__generatedMappings.push(n),"number"==typeof n.originalLine&&this.__originalMappings.push(n)}this.__generatedMappings.sort(i.compareByGeneratedPositions),this.__originalMappings.sort(i.compareByOriginalPositions)},r.prototype._findMapping=function(e,t,n,r,i){if(e[n]<=0)throw new TypeError("Line must be greater than or equal to 1, got "+e[n]);if(e[r]<0)throw new TypeError("Column must be greater than or equal to 0, got "+e[r]);return o.search(e,t,i)},r.prototype.computeColumnSpans=function(){for(var e=0;e<this._generatedMappings.length;++e){var t=this._generatedMappings[e];if(e+1<this._generatedMappings.length){var n=this._generatedMappings[e+1];if(t.generatedLine===n.generatedLine){t.lastGeneratedColumn=n.generatedColumn-1;continue}}t.lastGeneratedColumn=1/0}},r.prototype.originalPositionFor=function(e){var t={generatedLine:i.getArg(e,"line"),generatedColumn:i.getArg(e,"column")},n=this._findMapping(t,this._generatedMappings,"generatedLine","generatedColumn",i.compareByGeneratedPositions);if(n>=0){var r=this._generatedMappings[n];if(r.generatedLine===t.generatedLine){var o=i.getArg(r,"source",null);return null!=o&&null!=this.sourceRoot&&(o=i.join(this.sourceRoot,o)),{source:o,line:i.getArg(r,"originalLine",null),column:i.getArg(r,"originalColumn",null),name:i.getArg(r,"name",null)}}}return{source:null,line:null,column:null,name:null}},r.prototype.sourceContentFor=function(e){if(!this.sourcesContent)return null;if(null!=this.sourceRoot&&(e=i.relative(this.sourceRoot,e)),this._sources.has(e))return this.sourcesContent[this._sources.indexOf(e)];var t;if(null!=this.sourceRoot&&(t=i.urlParse(this.sourceRoot))){var n=e.replace(/^file:\/\//,"");if("file"==t.scheme&&this._sources.has(n))return this.sourcesContent[this._sources.indexOf(n)];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.')},r.prototype.generatedPositionFor=function(e){var t={source:i.getArg(e,"source"),originalLine:i.getArg(e,"line"),originalColumn:i.getArg(e,"column")};null!=this.sourceRoot&&(t.source=i.relative(this.sourceRoot,t.source));var n=this._findMapping(t,this._originalMappings,"originalLine","originalColumn",i.compareByOriginalPositions);if(n>=0){var r=this._originalMappings[n];return{line:i.getArg(r,"generatedLine",null),column:i.getArg(r,"generatedColumn",null),lastColumn:i.getArg(r,"lastGeneratedColumn",null)}}return{line:null,column:null,lastColumn:null}},r.prototype.allGeneratedPositionsFor=function(e){var t={source:i.getArg(e,"source"),originalLine:i.getArg(e,"line"),originalColumn:1/0};null!=this.sourceRoot&&(t.source=i.relative(this.sourceRoot,t.source));var n=[],r=this._findMapping(t,this._originalMappings,"originalLine","originalColumn",i.compareByOriginalPositions);if(r>=0)for(var o=this._originalMappings[r];o&&o.originalLine===t.originalLine;)n.push({line:i.getArg(o,"generatedLine",null),column:i.getArg(o,"generatedColumn",null),lastColumn:i.getArg(o,"lastGeneratedColumn",null)}),o=this._originalMappings[--r];return n.reverse()},r.GENERATED_ORDER=1,r.ORIGINAL_ORDER=2,r.prototype.eachMapping=function(e,t,n){var o,a=t||null,s=n||r.GENERATED_ORDER;switch(s){case r.GENERATED_ORDER:o=this._generatedMappings;break;case r.ORIGINAL_ORDER:o=this._originalMappings;break;default:throw new Error("Unknown order of iteration.")}var l=this.sourceRoot;o.map(function(e){var t=e.source;return null!=t&&null!=l&&(t=i.join(l,t)),{source:t,generatedLine:e.generatedLine,generatedColumn:e.generatedColumn,originalLine:e.originalLine,originalColumn:e.originalColumn,name:e.name}}).forEach(e,a)},t.SourceMapConsumer=r})}),define("source-map/binary-search",[],function(e,t,n){define(function(e,t,n){function r(e,t,n,i,o){var a=Math.floor((t-e)/2)+e,s=o(n,i[a],!0);return 0===s?a:s>0?t-a>1?r(a,t,n,i,o):a:a-e>1?r(e,a,n,i,o):e<0?-1:e}t.search=function(e,t,n){return 0===t.length?-1:r(-1,t.length,e,t,n)}})}),define("source-map/source-node",[],function(e,t,n){define(function(e,t,n){function r(e,t,n,r,i){this.children=[],this.sourceContents={},this.line=null==e?null:e,this.column=null==t?null:t,this.source=null==n?null:n,this.name=null==i?null:i,this[l]=!0,null!=r&&this.add(r)}var i=e("source-map/source-map-generator").SourceMapGenerator,o=e("source-map/util"),a=/(\r?\n)/,s=/\r\n|[\s\S]/g,l="$$$isSourceNode$$$";r.fromStringWithSourceMap=function(e,t,n){function i(e,t){if(null===e||void 0===e.source)s.add(t);else{var i=n?o.join(n,e.source):e.source;s.add(new r(e.originalLine,e.originalColumn,i,t,e.name))}}var s=new r,l=e.split(a),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],n=t.substr(0,e.generatedColumn-p);return l[0]=t.substr(e.generatedColumn-p),p=e.generatedColumn,i(h,n),void(h=e)}var n="";i(h,u()),c++,p=0}for(;c<e.generatedLine;)s.add(u()),c++;if(p<e.generatedColumn){var t=l[0];s.add(t.substr(0,e.generatedColumn)),l[0]=t.substr(e.generatedColumn),p=e.generatedColumn}h=e},this),l.length>0&&(h&&i(h,u()),s.add(l.join(""))),t.sources.forEach(function(e){var r=t.sourceContentFor(e);null!=r&&(null!=n&&(e=o.join(n,e)),s.setSourceContent(e,r))}),s},r.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},r.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},r.prototype.walk=function(e){for(var t,n=0,r=this.children.length;n<r;n++)t=this.children[n],t[l]?t.walk(e):""!==t&&e(t,{source:this.source,line:this.line,column:this.column,name:this.name})},r.prototype.join=function(e){var t,n,r=this.children.length;if(r>0){for(t=[],n=0;n<r-1;n++)t.push(this.children[n]),t.push(e);t.push(this.children[n]),this.children=t}return this},r.prototype.replaceRight=function(e,t){var n=this.children[this.children.length-1];return n[l]?n.replaceRight(e,t):"string"==typeof n?this.children[this.children.length-1]=n.replace(e,t):this.children.push("".replace(e,t)),this},r.prototype.setSourceContent=function(e,t){this.sourceContents[o.toSetString(e)]=t},r.prototype.walkSourceContents=function(e){for(var t=0,n=this.children.length;t<n;t++)this.children[t][l]&&this.children[t].walkSourceContents(e);for(var r=Object.keys(this.sourceContents),t=0,n=r.length;t<n;t++)e(o.fromSetString(r[t]),this.sourceContents[r[t]])},r.prototype.toString=function(){var e="";return this.walk(function(t){e+=t}),e},r.prototype.toStringWithSourceMap=function(e){var t={code:"",line:1,column:0},n=new i(e),r=!1,o=null,l=null,u=null,c=null;return this.walk(function(e,i){t.code+=e,null!==i.source&&null!==i.line&&null!==i.column?(o===i.source&&l===i.line&&u===i.column&&c===i.name||n.addMapping({source:i.source,original:{line:i.line,column:i.column},generated:{line:t.line,column:t.column},name:i.name}),o=i.source,l=i.line,u=i.column,c=i.name,r=!0):r&&(n.addMapping({generated:{line:t.line,column:t.column}}),o=null,r=!1),e.match(s).forEach(function(e,s,l){a.test(e)?(t.line++,t.column=0,s+1===l.length?(o=null,r=!1):r&&n.addMapping({source:i.source,original:{line:i.line,column:i.column},generated:{line:t.line,column:t.column},name:i.name})):t.column+=e.length})}),this.walkSourceContents(function(e,t){n.setSourceContent(e,t)}),{code:t.code,map:n}},t.SourceNode=r})}),define("index",[],function(require,exports,module){"object"!=typeof JSON&&(JSON={}),function(){"use strict";function f(e){return e<10?"0"+e:e}function quote(e){return escapable.lastIndex=0,escapable.test(e)?'"'+e.replace(escapable,function(e){var t=meta[e];return"string"==typeof t?t:"\\u"+("0000"+e.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+e+'"'}function str(e,t){var n,r,i,o,a,s=gap,l=t[e];switch(l&&"object"==typeof l&&"function"==typeof l.toJSON&&(l=l.toJSON(e)),"function"==typeof rep&&(l=rep.call(t,e,l)),typeof l){case"string":return quote(l);case"number":return isFinite(l)?String(l):"null";case"boolean":case"null":return String(l);case"object":if(!l)return"null";if(gap+=indent,a=[],"[object Array]"===Object.prototype.toString.apply(l)){for(o=l.length,n=0;n<o;n+=1)a[n]=str(n,l)||"null";return i=0===a.length?"[]":gap?"[\n"+gap+a.join(",\n"+gap)+"\n"+s+"]":"["+a.join(",")+"]",gap=s,i}if(rep&&"object"==typeof rep)for(o=rep.length,n=0;n<o;n+=1)"string"==typeof rep[n]&&(r=rep[n],i=str(r,l),i&&a.push(quote(r)+(gap?": ":":")+i));else for(r in l)Object.prototype.hasOwnProperty.call(l,r)&&(i=str(r,l),i&&a.push(quote(r)+(gap?": ":":")+i));return i=0===a.length?"{}":gap?"{\n"+gap+a.join(",\n"+gap)+"\n"+s+"}":"{"+a.join(",")+"}",gap=s,i}}"function"!=typeof Date.prototype.toJSON&&(Date.prototype.toJSON=function(){return isFinite(this.valueOf())?this.getUTCFullYear()+"-"+f(this.getUTCMonth()+1)+"-"+f(this.getUTCDate())+"T"+f(this.getUTCHours())+":"+f(this.getUTCMinutes())+":"+f(this.getUTCSeconds())+"Z":null},String.prototype.toJSON=Number.prototype.toJSON=Boolean.prototype.toJSON=function(){return this.valueOf()});var cx,escapable,gap,indent,meta,rep;"function"!=typeof JSON.stringify&&(escapable=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,meta={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},JSON.stringify=function(e,t,n){var r;if(gap="",indent="","number"==typeof n)for(r=0;r<n;r+=1)indent+=" ";else"string"==typeof n&&(indent=n);if(rep=t,t&&"function"!=typeof t&&("object"!=typeof t||"number"!=typeof t.length))throw new Error("JSON.stringify");return str("",{"":e})}),"function"!=typeof JSON.parse&&(cx=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,JSON.parse=function(text,reviver){function walk(e,t){var n,r,i=e[t];if(i&&"object"==typeof i)for(n in i)Object.prototype.hasOwnProperty.call(i,n)&&(r=walk(i,n),void 0!==r?i[n]=r:delete i[n]);return reviver.call(e,t,i)}var j;if(text=String(text),cx.lastIndex=0,cx.test(text)&&(text=text.replace(cx,function(e){return"\\u"+("0000"+e.charCodeAt(0).toString(16)).slice(-4)})),/^[\],:{}\s]*$/.test(text.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:\s*\[)+/g,"")))return j=eval("("+text+")"),"function"==typeof reviver?walk({"":j},""):j;throw new SyntaxError("JSON.parse")})}(),module.exports=JSON}),define("jquery-pjax",[],function(e,t,n){var r=e("jquery");!function(e){function t(t,r,i){var o=this;return this.on("click.pjax",t,function(t){var a=e.extend({},v(r,i));a.container||(a.container=e(this).attr("data-pjax")||o),n(t,a)})}function n(t,n,r){r=v(n,r);var i=t.currentTarget;if("A"!==i.tagName.toUpperCase())throw"$.fn.pjax or $.pjax.click requires an anchor element";if(!(t.which>1||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||location.protocol!==i.protocol||location.hostname!==i.hostname||i.href.indexOf("#")>-1&&m(i)==m(location)||t.isDefaultPrevented())){var a={url:i.href,container:e(i).attr("data-pjax"),target:i},s=e.extend({},a,r),l=e.Event("pjax:click");e(i).trigger(l,[s]),l.isDefaultPrevented()||(o(s),t.preventDefault(),e(i).trigger("pjax:clicked",[s]))}}function i(t,n,r){r=v(n,r);var i=t.currentTarget;if("FORM"!==i.tagName.toUpperCase())throw"$.pjax.submit requires a form element";var a={type:i.method.toUpperCase(),url:i.action,container:e(i).attr("data-pjax"),target:i};if("GET"!==a.type&&void 0!==window.FormData)a.data=new FormData(i),a.processData=!1,a.contentType=!1;else{if(e(i).find(":file").length)return;a.data=e(i).serializeArray()}o(e.extend({},a,r)),t.preventDefault()}function o(t){function n(t,n,i){i||(i={}),i.relatedTarget=r;var o=e.Event(t,i);return a.trigger(o,n),!o.isDefaultPrevented()}t=e.extend(!0,{},e.ajaxSettings,o.defaults,t),e.isFunction(t.url)&&(t.url=t.url());var r=t.target,i=g(t.url).hash,a=t.context=y(t.container);t.data||(t.data={}),e.isArray(t.data)?t.data.push({name:"_pjax",value:a.selector}):t.data._pjax=a.selector;var l;t.beforeSend=function(e,r){if("GET"!==r.type&&(r.timeout=0),e.setRequestHeader("X-PJAX","true"),e.setRequestHeader("X-PJAX-Container",a.selector),!n("pjax:beforeSend",[e,r]))return!1;r.timeout>0&&(l=setTimeout(function(){n("pjax:timeout",[e,t])&&e.abort("timeout")},r.timeout),r.timeout=0);var o=g(r.url);o.hash=i,t.requestUrl=d(o.href);
+},t.complete=function(e,r){l&&clearTimeout(l),n("pjax:complete",[e,r,t]),n("pjax:end",[e,t])},t.error=function(e,r,i){var o=w("",e,t),a=n("pjax:error",[e,r,i,t]);"GET"==t.type&&"abort"!==r&&a&&s(o.url)},t.success=function(r,l,u){var c=o.state,h="function"==typeof e.pjax.defaults.version?e.pjax.defaults.version():e.pjax.defaults.version,f=u.getResponseHeader("X-PJAX-Version"),d=w(r,u,t),m=g(d.url);if(i&&(m.hash=i,d.url=m.href),h&&f&&h!==f)return void s(d.url);if(!d.contents)return void s(d.url);o.state={id:t.id||p(),url:d.url,title:d.title,container:a.selector,fragment:t.fragment,timeout:t.timeout},(t.push||t.replace)&&window.history.replaceState(o.state,d.title,d.url);try{document.activeElement.blur()}catch(v){}d.title&&(document.title=d.title),n("pjax:beforeReplace",[d.contents,t],{state:o.state,previousState:c}),a.html(d.contents);var y=a.find("input[autofocus], textarea[autofocus]").last()[0];y&&document.activeElement!==y&&y.focus(),S(d.scripts);var b=t.scrollTo;if(i){var x=decodeURIComponent(i.slice(1)),k=document.getElementById(x)||document.getElementsByName(x)[0];k&&(b=e(k).offset().top)}"number"==typeof b&&e(window).scrollTop(b),n("pjax:success",[r,l,u,t])},o.state||(o.state={id:p(),url:window.location.href,title:document.title,container:a.selector,fragment:t.fragment,timeout:t.timeout},window.history.replaceState(o.state,document.title)),c(o.xhr),o.options=t;var u=o.xhr=e.ajax(t);return u.readyState>0&&(t.push&&!t.replace&&(k(o.state.id,h(a)),window.history.pushState(null,"",t.requestUrl)),n("pjax:start",[u,t]),n("pjax:send",[u,t])),o.xhr}function a(t,n){var r={url:window.location.href,push:!1,replace:!0,scrollTo:!1};return o(e.extend(r,v(t,n)))}function s(e){window.history.replaceState(null,"",o.state.url),window.location.replace(e)}function l(t){T||c(o.xhr);var n=o.state,r=t.state;if(r&&r.container){if(T&&P==r.url)return;var i,a=r.container;if(n){if(n.id===r.id)return;i=n.id<r.id?"forward":"back","back"==i&&(a=n.container)}var l=e(a);if(l.length){var u=j[r.id];n&&C(i,n.id,h(l));var p=e.Event("pjax:popstate",{state:r,direction:i});l.trigger(p);var f={id:r.id,url:r.url,container:l,push:!1,fragment:r.fragment,timeout:r.timeout,scrollTo:!1};if(u){l.trigger("pjax:start",[null,f]),o.state=r,r.title&&(document.title=r.title);var d=e.Event("pjax:beforeReplace",{state:r,previousState:n});l.trigger(d,[u,f]),l.html(u),l.trigger("pjax:end",[null,f])}else o(f);l[0].offsetHeight}else s(location.href)}T=!1}function u(t){var n=e.isFunction(t.url)?t.url():t.url,r=t.type?t.type.toUpperCase():"GET",i=e("<form>",{method:"GET"===r?"GET":"POST",action:n,style:"display:none"});"GET"!==r&&"POST"!==r&&i.append(e("<input>",{type:"hidden",name:"_method",value:r.toLowerCase()}));var o=t.data;if("string"==typeof o)e.each(o.split("&"),function(t,n){var r=n.split("=");i.append(e("<input>",{type:"hidden",name:r[0],value:r[1]}))});else if(e.isArray(o))e.each(o,function(t,n){i.append(e("<input>",{type:"hidden",name:n.name,value:n.value}))});else if("object"==typeof o){var a;for(a in o)i.append(e("<input>",{type:"hidden",name:a,value:o[a]}))}e(document.body).append(i),i.submit()}function c(t){t&&t.readyState<4&&(t.onreadystatechange=e.noop,t.abort())}function p(){return(new Date).getTime()}function h(e){var t=e.clone();return t.find("script").each(function(){this.src||r._data(this,"globalEval",!1)}),t.contents()}function f(e,t){return e.replace(new RegExp("[?&]"+t+"=[^&#]*"),"").replace(/[?&]($|#)/,"").replace(/[?&]/,"?")}function d(e){return e=f(e,"_pjax"),e=f(e,"_")}function g(e){var t=document.createElement("a");return t.href=e,t}function m(e){return e.href.replace(/#.*/,"")}function v(t,n){return t&&n?n.container=t:n=e.isPlainObject(t)?t:{container:t},n.container&&(n.container=y(n.container)),n}function y(t){if(t=e(t),t.length){if(""!==t.selector&&t.context===document)return t;if(t.attr("id"))return e("#"+t.attr("id"));throw"cant get selector for pjax container!"}throw"no pjax container for "+t.selector}function b(e,t){return e.filter(t).add(e.find(t))}function x(t){return e.parseHTML(t,document,!0)}function w(t,n,r){var i={},o=/<html/i.test(t),a=n.getResponseHeader("X-PJAX-URL");if(i.url=a?d(a):r.requestUrl,o)var s=e(x(t.match(/<head[^>]*>([\s\S.]*)<\/head>/i)[0])),l=e(x(t.match(/<body[^>]*>([\s\S.]*)<\/body>/i)[0]));else var s=l=e(x(t));if(0===l.length)return i;if(i.title=b(s,"title").last().text(),r.fragment){if("body"===r.fragment)var u=l;else var u=b(l,r.fragment).first();u.length&&(i.contents="body"===r.fragment?u:u.contents(),i.title||(i.title=u.attr("title")||u.data("title")))}else o||(i.contents=l);return i.contents&&(i.contents=i.contents.not(function(){return e(this).is("title")}),i.contents.find("title").remove(),i.scripts=b(i.contents,"script[src]").remove(),i.contents=i.contents.not(i.scripts)),i.title&&(i.title=e.trim(i.title)),i}function S(t){if(t){var n=e("script[src]");t.each(function(){var t=this.src,r=n.filter(function(){return this.src===t});if(!r.length){var i=document.createElement("script"),o=e(this).attr("type");o&&(i.type=o),i.src=e(this).attr("src"),document.head.appendChild(i)}})}}function k(e,t){j[e]=t,M.push(e),_(O,0),_(M,o.defaults.maxCacheLength)}function C(e,t,n){var r,i;j[t]=n,"forward"===e?(r=M,i=O):(r=O,i=M),r.push(t),(t=i.pop())&&delete j[t],_(r,o.defaults.maxCacheLength)}function _(e,t){for(;e.length>t;)delete j[e.shift()]}function E(){return e("meta").filter(function(){var t=e(this).attr("http-equiv");return t&&"X-PJAX-VERSION"===t.toUpperCase()}).attr("content")}function A(){e.fn.pjax=t,e.pjax=o,e.pjax.enable=e.noop,e.pjax.disable=N,e.pjax.click=n,e.pjax.submit=i,e.pjax.reload=a,e.pjax.defaults={timeout:650,push:!0,replace:!1,type:"GET",dataType:"html",scrollTo:0,maxCacheLength:20,version:E},e(window).on("popstate.pjax",l)}function N(){e.fn.pjax=function(){return this},e.pjax=u,e.pjax.enable=A,e.pjax.disable=e.noop,e.pjax.click=e.noop,e.pjax.submit=e.noop,e.pjax.reload=function(){window.location.reload()},e(window).off("popstate.pjax",l)}var T=!0,P=window.location.href,L=window.history.state;L&&L.container&&(o.state=L),"state"in window.history&&(T=!1);var j={},O=[],M=[];e.inArray("state",e.event.props)<0&&e.event.props.push("state"),e.support.pjax=window.history&&window.history.pushState&&window.history.replaceState&&!navigator.userAgent.match(/((iPod|iPhone|iPad).+\bOS\s+[1-4]\D|WebApps\/.+CFNetwork)/),e.support.pjax?A():N()}(r)}),define("dot",[],function(e,t,n){e("lib/jquery.dotdotdot"),n.exports=function(e){e.dotdotdot({wrap:"letter"})}}),define("lib/jquery.dotdotdot",[],function(e,t,n){var r=e("jquery");!function(e,t){function n(e,t,n){var r=e.children(),i=!1;e.empty();for(var a=0,s=r.length;a<s;a++){var l=r.eq(a);if(e.append(l),n&&e.append(n),o(e,t)){l.remove(),i=!0;break}n&&n.detach()}return i}function r(t,n,a,s,l){var u=!1,c="a, table, thead, tbody, tfoot, tr, col, colgroup, object, embed, param, ol, ul, dl, blockquote, select, optgroup, option, textarea, script, style",p="script, .dotdotdot-keep";return t.contents().detach().each(function(){var h=this,f=e(h);if("undefined"==typeof h)return!0;if(f.is(p))t.append(f);else{if(u)return!0;t.append(f),!l||f.is(s.after)||f.find(s.after).length||t[t.is(c)?"after":"append"](l),o(a,s)&&(u=3==h.nodeType?i(f,n,a,s,l):r(f,n,a,s,l),u||(f.detach(),u=!0)),u||l&&l.detach()}}),n.addClass("is-truncated"),u}function i(t,n,r,i,s){var c=t[0];if(!c)return!1;var h=u(c),f=h.indexOf(" ")!==-1?" ":" ",d="letter"==i.wrap?"":f,g=h.split(d),m=-1,v=-1,y=0,b=g.length-1;for(i.fallbackToLetter&&0==y&&0==b&&(d="",g=h.split(d),b=g.length-1);y<=b&&(0!=y||0!=b);){var x=Math.floor((y+b)/2);if(x==v)break;v=x,l(c,g.slice(0,v+1).join(d)+i.ellipsis),o(r,i)?(b=v,i.fallbackToLetter&&0==y&&0==b&&(d="",g=g[0].split(d),m=-1,v=-1,y=0,b=g.length-1)):(m=v,y=v)}if(m==-1||1==g.length&&0==g[0].length){var w=t.parent();t.detach();var S=s&&s.closest(w).length?s.length:0;w.contents().length>S?c=p(w.contents().eq(-1-S),n):(c=p(w,n,!0),S||w.detach()),c&&(h=a(u(c),i),l(c,h),S&&s&&e(c).parent().append(s))}else h=a(g.slice(0,m+1).join(d),i),l(c,h);return!0}function o(e,t){return e.innerHeight()>t.maxHeight}function a(t,n){for(;e.inArray(t.slice(-1),n.lastCharacter.remove)>-1;)t=t.slice(0,-1);return e.inArray(t.slice(-1),n.lastCharacter.noEllipsis)<0&&(t+=n.ellipsis),t}function s(e){return{width:e.innerWidth(),height:e.innerHeight()}}function l(e,t){e.innerText?e.innerText=t:e.nodeValue?e.nodeValue=t:e.textContent&&(e.textContent=t)}function u(e){return e.innerText?e.innerText:e.nodeValue?e.nodeValue:e.textContent?e.textContent:""}function c(e){do e=e.previousSibling;while(e&&1!==e.nodeType&&3!==e.nodeType);return e}function p(t,n,r){var i,o=t&&t[0];if(o){if(!r){if(3===o.nodeType)return o;if(e.trim(t.text()))return p(t.contents().last(),n)}for(i=c(o);!i;){if(t=t.parent(),t.is(n)||!t.length)return!1;i=c(t[0])}if(i)return p(e(i),n)}return!1}function h(t,n){return!!t&&("string"==typeof t?(t=e(t,n),!!t.length&&t):!!t.jquery&&t)}function f(e){for(var t=e.innerHeight(),n=["paddingTop","paddingBottom"],r=0,i=n.length;r<i;r++){var o=parseInt(e.css(n[r]),10);isNaN(o)&&(o=0),t-=o}return t}if(!e.fn.dotdotdot){e.fn.dotdotdot=function(t){if(0==this.length)return e.fn.dotdotdot.debug('No element found for "'+this.selector+'".'),this;if(this.length>1)return this.each(function(){e(this).dotdotdot(t)});var i=this;i.data("dotdotdot")&&i.trigger("destroy.dot"),i.data("dotdotdot-style",i.attr("style")||""),i.css("word-wrap","break-word"),"nowrap"===i.css("white-space")&&i.css("white-space","normal"),i.bind_events=function(){return i.bind("update.dot",function(t,s){i.removeClass("is-truncated"),t.preventDefault(),t.stopPropagation(),l.maxHeight="number"==typeof l.height?l.height:f(i),l.maxHeight+=l.tolerance,"undefined"!=typeof s&&(("string"==typeof s||"nodeType"in s&&1===s.nodeType)&&(s=e("<div />").append(s).contents()),s instanceof e&&(a=s)),g=i.wrapInner('<div class="dotdotdot" />').children(),g.contents().detach().end().append(a.clone(!0)).find("br").replaceWith("  <br />  ").end().css({height:"auto",width:"auto",border:"none",padding:0,margin:0});var c=!1,p=!1;return u.afterElement&&(c=u.afterElement.clone(!0),c.show(),u.afterElement.detach()),o(g,l)&&(p="children"==l.wrap?n(g,l,c):r(g,i,g,l,c)),g.replaceWith(g.contents()),g=null,e.isFunction(l.callback)&&l.callback.call(i[0],p,a),u.isTruncated=p,p}).bind("isTruncated.dot",function(e,t){return e.preventDefault(),e.stopPropagation(),"function"==typeof t&&t.call(i[0],u.isTruncated),u.isTruncated}).bind("originalContent.dot",function(e,t){return e.preventDefault(),e.stopPropagation(),"function"==typeof t&&t.call(i[0],a),a}).bind("destroy.dot",function(e){e.preventDefault(),e.stopPropagation(),i.unwatch().unbind_events().contents().detach().end().append(a).attr("style",i.data("dotdotdot-style")||"").data("dotdotdot",!1)}),i},i.unbind_events=function(){return i.unbind(".dot"),i},i.watch=function(){if(i.unwatch(),"window"==l.watch){var t=e(window),n=t.width(),r=t.height();t.bind("resize.dot"+u.dotId,function(){n==t.width()&&r==t.height()&&l.windowResizeFix||(n=t.width(),r=t.height(),p&&clearInterval(p),p=setTimeout(function(){i.trigger("update.dot")},100))})}else c=s(i),p=setInterval(function(){if(i.is(":visible")){var e=s(i);c.width==e.width&&c.height==e.height||(i.trigger("update.dot"),c=e)}},500);return i},i.unwatch=function(){return e(window).unbind("resize.dot"+u.dotId),p&&clearInterval(p),i};var a=i.contents(),l=e.extend(!0,{},e.fn.dotdotdot.defaults,t),u={},c={},p=null,g=null;return l.lastCharacter.remove instanceof Array||(l.lastCharacter.remove=e.fn.dotdotdot.defaultArrays.lastCharacter.remove),l.lastCharacter.noEllipsis instanceof Array||(l.lastCharacter.noEllipsis=e.fn.dotdotdot.defaultArrays.lastCharacter.noEllipsis),u.afterElement=h(l.after,i),u.isTruncated=!1,u.dotId=d++,i.data("dotdotdot",!0).bind_events().trigger("update.dot"),l.watch&&i.watch(),i},e.fn.dotdotdot.defaults={ellipsis:"... ",wrap:"word",fallbackToLetter:!0,lastCharacter:{},tolerance:0,callback:null,after:null,height:null,watch:!1,windowResizeFix:!0},e.fn.dotdotdot.defaultArrays={lastCharacter:{remove:[" "," ",",",";",".","!","?"],noEllipsis:[]}},e.fn.dotdotdot.debug=function(e){};var d=1,g=e.fn.html;e.fn.html=function(n){return n!=t&&!e.isFunction(n)&&this.data("dotdotdot")?this.trigger("update",[n]):g.apply(this,arguments)};var m=e.fn.text;e.fn.text=function(n){return n!=t&&!e.isFunction(n)&&this.data("dotdotdot")?(n=e("<div />").text(n).html(),this.trigger("update",[n])):m.apply(this,arguments)}}}(r)}),define("jquery.placeholder",[],function(e,t,n){var r=e("jquery");!function(e){function t(t){var n={},r=/^jQuery\d+$/;return e.each(t.attributes,function(e,t){t.specified&&!r.test(t.name)&&(n[t.name]=t.value)}),n}function n(t,n){var r=this,o=e(this);if(r.value===o.attr(s?"placeholder-x":"placeholder")&&o.hasClass(f.customClass))if(r.value="",o.removeClass(f.customClass),o.data("placeholder-password")){if(o=o.hide().nextAll('input[type="password"]:first').show().attr("id",o.removeAttr("id").data("placeholder-id")),t===!0)return o[0].value=n,n;o.focus()}else r==i()&&r.select()}function r(r){var i,o=this,a=e(this),l=o.id;if(!r||"blur"!==r.type||!a.hasClass(f.customClass))if(""===o.value){if("password"===o.type){if(!a.data("placeholder-textinput")){try{i=a.clone().prop({type:"text"})}catch(u){i=e("<input>").attr(e.extend(t(this),{type:"text"}))}i.removeAttr("name").data({"placeholder-enabled":!0,"placeholder-password":a,"placeholder-id":l}).bind("focus.placeholder",n),a.data({"placeholder-textinput":i,"placeholder-id":l}).before(i)}o.value="",a=a.removeAttr("id").hide().prevAll('input[type="text"]:first').attr("id",a.data("placeholder-id")).show()}else{var c=a.data("placeholder-password");c&&(c[0].value="",a.attr("id",a.data("placeholder-id")).show().nextAll('input[type="password"]:last').hide().removeAttr("id"))}a.addClass(f.customClass),a[0].value=a.attr(s?"placeholder-x":"placeholder")}else a.removeClass(f.customClass)}function i(){try{return document.activeElement}catch(e){}}var o,a,s=!1,l="[object OperaMini]"===Object.prototype.toString.call(window.operamini),u="placeholder"in document.createElement("input")&&!l&&!s,c="placeholder"in document.createElement("textarea")&&!l&&!s,p=e.valHooks,h=e.propHooks,f={};u&&c?(a=e.fn.placeholder=function(){return this},a.input=!0,a.textarea=!0):(a=e.fn.placeholder=function(t){var i={customClass:"placeholder"};return f=e.extend({},i,t),this.filter((u?"textarea":":input")+"["+(s?"placeholder-x":"placeholder")+"]").not("."+f.customClass).not(":radio, :checkbox, :hidden").bind({"focus.placeholder":n,"blur.placeholder":r}).data("placeholder-enabled",!0).trigger("blur.placeholder")},a.input=u,a.textarea=c,o={get:function(t){var n=e(t),r=n.data("placeholder-password");return r?r[0].value:n.data("placeholder-enabled")&&n.hasClass(f.customClass)?"":t.value},set:function(t,o){var a,s,l=e(t);return""!==o&&(a=l.data("placeholder-textinput"),s=l.data("placeholder-password"),a?(n.call(a[0],!0,o)||(t.value=o),a[0].value=o):s&&(n.call(t,!0,o)||(s[0].value=o),t.value=o)),l.data("placeholder-enabled")?(""===o?(t.value=o,t!=i()&&r.call(t)):(l.hasClass(f.customClass)&&n.call(t),t.value=o),l):(t.value=o,l)}},u||(p.input=o,h.value=o),c||(p.textarea=o,h.value=o),e(function(){e(document).delegate("form","submit.placeholder",function(){var t=e("."+f.customClass,this).each(function(){n.call(this,!0,"")});setTimeout(function(){t.each(r)},10)})}),e(window).bind("beforeunload.placeholder",function(){var t=!0;try{"javascript:void(0)"===document.activeElement.toString()&&(t=!1)}catch(n){}t&&e("."+f.customClass).each(function(){this.value=""})}))}(r)});
\ No newline at end of file
diff --git a/web-static/dist/yohobuy/assets/img/home/close.png b/web-static/dist/yohobuy/assets/img/home/close.png
new file mode 100755
index 0000000..d99c357
Binary files /dev/null and b/web-static/dist/yohobuy/assets/img/home/close.png differ
diff --git a/web-static/dist/yohobuy/assets/img/home/doubt.png b/web-static/dist/yohobuy/assets/img/home/doubt.png
new file mode 100755
index 0000000..e2ba44f
Binary files /dev/null and b/web-static/dist/yohobuy/assets/img/home/doubt.png differ
diff --git a/web-static/dist/yohobuy/assets/img/home/icon-warn.png b/web-static/dist/yohobuy/assets/img/home/icon-warn.png
new file mode 100644
index 0000000..029f7a9
Binary files /dev/null and b/web-static/dist/yohobuy/assets/img/home/icon-warn.png differ
diff --git a/web-static/dist/yohobuy/assets/img/home/onlineservice.png b/web-static/dist/yohobuy/assets/img/home/onlineservice.png
new file mode 100644
index 0000000..94ab817
Binary files /dev/null and b/web-static/dist/yohobuy/assets/img/home/onlineservice.png differ
diff --git a/web-static/dist/yohobuy/assets/img/home/recyclebin.png b/web-static/dist/yohobuy/assets/img/home/recyclebin.png
new file mode 100755
index 0000000..b448813
Binary files /dev/null and b/web-static/dist/yohobuy/assets/img/home/recyclebin.png differ
diff --git a/web-static/dist/yohobuy/assets/img/home/return-arrow.png b/web-static/dist/yohobuy/assets/img/home/return-arrow.png
new file mode 100644
index 0000000..b84c736
Binary files /dev/null and b/web-static/dist/yohobuy/assets/img/home/return-arrow.png differ
diff --git a/web-static/dist/yohobuy/assets/img/home/return-doubt.png b/web-static/dist/yohobuy/assets/img/home/return-doubt.png
new file mode 100644
index 0000000..0a0d7ea
Binary files /dev/null and b/web-static/dist/yohobuy/assets/img/home/return-doubt.png differ
diff --git a/web-static/dist/yohobuy/assets/img/order/invoice-star.png b/web-static/dist/yohobuy/assets/img/order/invoice-star.png
new file mode 100644
index 0000000..03301a9
Binary files /dev/null and b/web-static/dist/yohobuy/assets/img/order/invoice-star.png differ
diff --git a/web-static/img/.DS_Store b/web-static/img/.DS_Store
new file mode 100644
index 0000000..d77b702
Binary files /dev/null and b/web-static/img/.DS_Store differ
diff --git a/web-static/img/home/close.png b/web-static/img/home/close.png
new file mode 100755
index 0000000..d99c357
Binary files /dev/null and b/web-static/img/home/close.png differ
diff --git a/web-static/img/home/doubt.png b/web-static/img/home/doubt.png
new file mode 100755
index 0000000..e2ba44f
Binary files /dev/null and b/web-static/img/home/doubt.png differ
diff --git a/web-static/img/home/icon-warn.png b/web-static/img/home/icon-warn.png
new file mode 100644
index 0000000..029f7a9
Binary files /dev/null and b/web-static/img/home/icon-warn.png differ
diff --git a/web-static/img/home/onlineservice.png b/web-static/img/home/onlineservice.png
new file mode 100644
index 0000000..94ab817
Binary files /dev/null and b/web-static/img/home/onlineservice.png differ
diff --git a/web-static/img/home/recyclebin.png b/web-static/img/home/recyclebin.png
new file mode 100755
index 0000000..b448813
Binary files /dev/null and b/web-static/img/home/recyclebin.png differ
diff --git a/web-static/img/home/return-arrow.png b/web-static/img/home/return-arrow.png
new file mode 100644
index 0000000..b84c736
Binary files /dev/null and b/web-static/img/home/return-arrow.png differ
diff --git a/web-static/img/home/return-doubt.png b/web-static/img/home/return-doubt.png
new file mode 100644
index 0000000..0a0d7ea
Binary files /dev/null and b/web-static/img/home/return-doubt.png differ
diff --git a/web-static/img/order/invoice-star.png b/web-static/img/order/invoice-star.png
new file mode 100644
index 0000000..03301a9
Binary files /dev/null and b/web-static/img/order/invoice-star.png differ
diff --git a/web-static/img/product/.DS_Store b/web-static/img/product/.DS_Store
new file mode 100644
index 0000000..62b1c5c
Binary files /dev/null and b/web-static/img/product/.DS_Store differ
diff --git a/web-static/img/product/hotrank/.DS_Store b/web-static/img/product/hotrank/.DS_Store
new file mode 100644
index 0000000..d839e52
Binary files /dev/null and b/web-static/img/product/hotrank/.DS_Store differ
diff --git a/web-static/js/common.js b/web-static/js/common.js
index e34d477..5de9a8d 100644
--- a/web-static/js/common.js
+++ b/web-static/js/common.js
@@ -99,7 +99,7 @@ function getShoppingKey() {
     a.async = 1;
     a.src = j;
     m.parentNode.insertBefore(a, m);
-})(window, document, 'script', 'http://cdn.yoho.cn/yas-jssdk/1.0.14/yas.js', '_yas');
+})(window, document, 'script', ('https:' == document.location.protocol ? 'https' : 'http') + '://' + 'cdn.yoho.cn/yas-jssdk/1.0.17/yas.js', '_yas');
 
 (function() {
     var uid = getUid();
@@ -109,7 +109,7 @@ function getShoppingKey() {
     window._ozuid = uid; //暴露ozuid
 
     if (window._yas) {
-        window._yas(1 * new Date(), '1.0.14', 'yohobuy_web', uid, '', '');
+        window._yas(1 * new Date(), '1.0.17', 'yohobuy_web', uid, '', '');
     }
 }());
 
diff --git a/web-static/js/common/share.js b/web-static/js/common/share.js
index b58a6a9..572ce80 100644
--- a/web-static/js/common/share.js
+++ b/web-static/js/common/share.js
@@ -22,6 +22,18 @@ function shareBase(options) {
 
     defOption = $.extend(defOption, options);
 
+    if (defOption.image && defOption.image.substr(0, 2) === '//') {
+        defOption.image = 'http:' + defOption.image;
+    }
+
+    if (defOption.weixinUrl && defOption.weixinUrl.substr(0, 2) === '//') {
+        defOption.weixinUrl = 'http:' + defOption.weixinUrl;
+    }
+
+    if (defOption.url && defOption.url.substr(0, 2) === '//') {
+        defOption.url = 'http:' + defOption.url;
+    }
+
     if ($.inArray(defOption.channel, shareChannels) === -1) {
         alert('不存在的分享平台!');
         return false;
@@ -56,7 +68,7 @@ function shareBase(options) {
                 defOption.desc + '&pic=' + defOption.image;
             break;
         case 'douban':
-            openUrl = 'http://www.douban.com/share/service?href=' + defOption.url + '&text=' +
+            openUrl = '//www.douban.com/share/service?href=' + defOption.url + '&text=' +
                 defOption.desc + '&image=' + defOption.image + '&title=' + defOption.title + '&comment=';
             break;
     }
diff --git a/web-static/js/footer.js b/web-static/js/footer.js
index 4e56ca9..5d56a49 100644
--- a/web-static/js/footer.js
+++ b/web-static/js/footer.js
@@ -33,7 +33,7 @@ function actionSubscription() {
         if (email !== '' && emailReg.test(email)) {
             try {
                 $.ajax({
-                    url: 'http://www.yohobuy.com/common/emailSubscriber',
+                    url: '//www.yohobuy.com/common/emailSubscriber',
                     dataType: 'jsonp',
                     data: {
                         email: email,
@@ -94,7 +94,7 @@ function actionhomeFootChange() {
         });
 
         $.ajax({
-            url: 'http://www.yohobuy.com/common/suggestFeedback',
+            url: '//www.yohobuy.com/common/suggestFeedback',
             dataType: 'jsonp',
             data: {
                 feedback_id: _feedback || 0,
diff --git a/web-static/js/guang/detail.js b/web-static/js/guang/detail.js
index c11ee03..467b118 100644
--- a/web-static/js/guang/detail.js
+++ b/web-static/js/guang/detail.js
@@ -112,7 +112,7 @@ $('#collect-btn').click(function() {
                 } else {
                     hrefUrl = location.href + '?col=' + col;
                 }
-                location.href = 'http://www.yohobuy.com/signin.html?refer=' + encodeURI(hrefUrl);
+                location.href = '//www.yohobuy.com/signin.html?refer=' + encodeURI(hrefUrl);
                 break;
             case 400:
 
@@ -167,7 +167,7 @@ function comment(id) {
             switch (data.code) {
                 case 401:
                     locating = true;
-                    location.href = 'http://www.yohobuy.com/signin.html?refer=' +
+                    location.href = '//www.yohobuy.com/signin.html?refer=' +
                                     window.escape(location.href + '#comment-info');
                     break;
                 case 400:
diff --git a/web-static/js/header.js b/web-static/js/header.js
index d931eb7..749daf3 100644
--- a/web-static/js/header.js
+++ b/web-static/js/header.js
@@ -66,7 +66,7 @@ var bannerMap = {
 };
 var cookieMap = {};
 
-var bannerApi = 'http://new.yohobuy.com/common/getbanner?content_code=';
+var bannerApi = '//new.yohobuy.com/common/getbanner?content_code=';
 
 $('#api-domain').remove(); //删除信息表单
 
@@ -97,7 +97,7 @@ window.submitSearch = function() {
         location.href = link.replace('\'', '');
     } else {
         if (reg.test($keywordinput) && $keywordinput !== '') {
-            location.href = 'http://search.yohobuy.com/error?query=' + $keywordinput + '&result=error';
+            location.href = '//search.yohobuy.com/error?query=' + $keywordinput + '&result=error';
         } else {
             if ($keywordinput === '') {
                 $('#query_key').val($defaultsearch);
@@ -304,7 +304,7 @@ handlebars.registerHelper('timestamp', function() {
 handlebars.registerHelper('headerimg', function(headerimg) {
 
     if (headerimg === '') {
-        return 'http://img10.static.yhbimg.com/headimg/2013/11/28/09/01cae078abe5fe320c88cdf4c220212688.gif' +
+        return '//img10.static.yhbimg.com/headimg/2013/11/28/09/01cae078abe5fe320c88cdf4c220212688.gif' +
             '?imageView/2/w/100/h/100';
     } else {
         return headerimg;
@@ -515,10 +515,10 @@ function tsAnimate() {
     });
     if (logoanimationstart / 90 % 2 === 1) {
         if (isen) {
-            $logotrans.css('background-image', 'url(http://static.yohobuy.com/newheader/img/logo1.png)');
+            $logotrans.css('background-image', 'url(//static.yohobuy.com/newheader/img/logo1.png)');
             isen = false;
         } else {
-            $logotrans.css('background-image', 'url(http://static.yohobuy.com/newheader/img/logo_e.png)');
+            $logotrans.css('background-image', 'url(//static.yohobuy.com/newheader/img/logo_e.png)');
             isen = true;
         }
     }
@@ -546,14 +546,14 @@ function fadeAnimate() {
     $logotrans.fadeOut(loopdurationtime, function() {
         isen = false;
 
-        $logotrans.css('background-image', 'url(http://static.yohobuy.com/newheader/img/logo.png)');
+        $logotrans.css('background-image', 'url(//static.yohobuy.com/newheader/img/logo.png)');
         $logotrans.fadeIn(loopdurationtime, function() {
             onetimeoout = window.setTimeout(function() {
                 $logotrans.fadeOut(loopdurationtime, function() {
                     window.clearTimeout(onetimeoout);
                     isen = true;
                     $logotrans.css('background-image',
-                        'url(http://static.yohobuy.com/newheader/img/logo_e.png)');
+                        'url(//static.yohobuy.com/newheader/img/logo_e.png)');
                     $logotrans.fadeIn(loopdurationtime, function() {
                         globaltimeout = window.setTimeout(fadeAnimate, 1 * 60 * 1000);
                     });
@@ -843,9 +843,9 @@ function actionCover() {
     var containertop;
     var length = '';
 
-    if (window.location.href === 'http://www.yohobuy.com/' &&
+    if (window.location.host === 'www.yohobuy.com' &&
         (typeof gender === 'undefined' || gender === '' || gender === null)) {
-        $.get('http://www.yohobuy.com/index/guide', function(data) {
+        $.get('//www.yohobuy.com/index/guide', function(data) {
             newMask = document.createElement('div');
             newMask.id = 'cover';
             newMask.innerHTML = data;
@@ -1109,7 +1109,7 @@ function loadCartData() {
         shoppingData,
         strK;
 
-    $.getData('http://www.yohobuy.com/common/shoppingCart', '', function(jsonData) {
+    $.getData('//www.yohobuy.com/common/shoppingCart', '', function(jsonData) {
         if (cartTpl === '') {
             cartTpl = handlebars.compile($('#mini-cart-tpl').html());
         }
@@ -1144,7 +1144,7 @@ function loadCartData() {
  */
 function delCartGoods(productSku, promotionId, productNum) {
 
-    $.getData('http://www.yohobuy.com/common/delCartGoods', {
+    $.getData('//www.yohobuy.com/common/delCartGoods', {
 
         // shopping_key: $.getShoppingKey(),
         product_sku: productSku,
@@ -1199,7 +1199,7 @@ function actionListenCartMore() {
  */
 function actionClickMiniCartBox() {
     var $target;
-    var shopcarurl = 'http://www.yohobuy.com/shopping/cart';
+    var shopcarurl = '//www.yohobuy.com/shopping/cart';
 
     $('#miniCartBox').on('click', function(e) {
         $target = $(e.target);
@@ -1376,7 +1376,7 @@ function actionExeTemplate() {
  * @return {[type]} [description]
  */
 function actionSearch() {
-    var searchDomain = 'http://search.yohobuy.com/api/suggest';
+    var searchDomain = '//search.yohobuy.com/api/suggest';
 
     $('#query_key').search(searchDomain);
 }
@@ -1386,16 +1386,16 @@ function actionSearch() {
  */
 function actionLoginState(_data) {
     var timestamp = new Date().getTime();
-    var noLoginHtml = '<span>Hi~</span>[<a href="http://www.yohobuy.com/signin.html" class="list-a login-out ">' +
+    var noLoginHtml = '<span>Hi~</span>[<a href="//www.yohobuy.com/signin.html" class="list-a login-out ">' +
         '请登录</a>]&nbsp;' +
-        '[<a href="http://www.yohobuy.com/reg.html" class="list-a login-out" onclick="">免费注册</a>]';
-    var loginHtml = '<span>Hi~<a href="http://www.yohobuy.com/home?t=' + timestamp +
+        '[<a href="//www.yohobuy.com/reg.html" class="list-a login-out" onclick="">免费注册</a>]';
+    var loginHtml = '<span>Hi~<a href="//www.yohobuy.com/home?t=' + timestamp +
         '">{{user_name}}</a></span>&nbsp;' +
         '{{#if islogin}}' +
         '[<a href="{{logout}}" class="list-a login-out">退出</a>]' +
         '{{/if}}{{#unless islogin}}' +
-        '[<a href="http://www.yohobuy.com/signin.html" class="list-a login-out">请登录</a>]&nbsp;' +
-        '[<a href="http://www.yohobuy.com/reg.html" onclick="" class="list-a login-out">免费注册</a>]' +
+        '[<a href="//www.yohobuy.com/signin.html" class="list-a login-out">请登录</a>]&nbsp;' +
+        '[<a href="//www.yohobuy.com/reg.html" onclick="" class="list-a login-out">免费注册</a>]' +
         '{{/unless}}';
     var $boxObj = $('#loginBox');
     var info = window.cookie('_UID');
@@ -1405,7 +1405,7 @@ function actionLoginState(_data) {
     var char = '';
     var user = info.split('::');
     var userName = user[0] || ' ';
-    var _logout = 'http://www.yohobuy.com/logout.html';
+    var _logout = '//www.yohobuy.com/logout.html';
     var islogin = '1';
     var _num = 0;
     var data = {
@@ -1461,7 +1461,7 @@ function actionLoginState(_data) {
     if (/http:\/\//.test(user[3])) {
         _logout = user[3].replace('www.yohobuy.com', 'www.yohobuy.com');
     } else {
-        _logout = 'http://www.yohobuy.com/logout.html';
+        _logout = '//www.yohobuy.com/logout.html';
     }
     if (_data.result === -1) {
         islogin = '-1';
@@ -1519,7 +1519,7 @@ function actionVipInfo(_data) {
  * @return {[type]} [description]
  */
 function actionLoginInfo() {
-    $.getData('http://www.yohobuy.com/common/passport', '', function(_data) {
+    $.getData('//www.yohobuy.com/common/passport', '', function(_data) {
         if (_data && _data.result !== -1) {
             actionLoginState(_data); // 更改登录状态
             actionVipInfo(_data); //获得vip;
diff --git a/web-static/js/home/favorite.js b/web-static/js/home/favorite.js
index ab1bebe..c7997bd 100644
--- a/web-static/js/home/favorite.js
+++ b/web-static/js/home/favorite.js
@@ -443,9 +443,7 @@ $('#me-del-checked').click(function() {
                 type: favType
             }
         }).then(function(data) {
-            if (data.code === 200) {
-                history.go(0);
-            }
+            history.go(0);
         });
     }
 });
diff --git a/web-static/js/home/order-block.js b/web-static/js/home/order-block.js
old mode 100644
new mode 100755
index 57318da..f34c08e
--- a/web-static/js/home/order-block.js
+++ b/web-static/js/home/order-block.js
@@ -13,52 +13,51 @@ var Dialog = dialog.Dialog;
 var Confirm = dialog.Confirm;
 
 var $tpl = $('#cancel-dialog-tpl');
-
+var deleteDialog = '<div class="order-delete-confirm">' +
+    '<div class="header">' +
+    '<p>删除订单</p>' +
+    '<a href="javascript:;" title="关闭"></a>' +
+    '</div>' +
+    '<div class="body">' +
+    '<p class="confirm-tip"><i class="icon-doubt"></i>{{deleteMessage}}</p>' +
+    '<p class="delete-tip">{{deleteTip}}</p>' +
+    '</div>' +
+    '</div>';
 var html = $tpl.html();
 
 var active;
-
 var dialogMessage = '<p class="message-title"><i class="order-icon {{messageIcon}}"></i>{{messageTitle}}</p><p class="message-summary">{{messageSummary}}</p>';
 var $dialogEdit = $('#edit-dialog-tpl');
 var $addressManage, $province, $city, $county, $selectList, $name, $phone, $address, $telCode, $tel, isProvinceChecked = false;
-;
 
 function cancelFactory(id) {
     var options = {
-        mask: true,
+        mask: false,
         btns: [
             {
                 id: 'cancel-sure',
                 name: '确定并取消订单',
                 btnClass: ['cancel-sure'],
-                cb: function() {
+                cb: function () {
                     var $checked = $('.cancel-dialog :checked');
                     var $tip = $('.cancel-dialog .cancel-tip');
-                    var text = '';
-                    if ($checked.val() === '10') {
-                        text = $checked.parent().find('#reason_other').val();
-                    } else {
-                        text = $checked.siblings('label').text();
-                    }
+
                     if ($checked.length === 0) {
                         $tip.html('请选择要取消订单的原因');
                         return;
                     }
+
                     $.ajax({
                         type: 'POST',
                         url: '/home/orders/cancelorder',
                         data: {
                             orderCode: id,
-                            reasonId: $checked.val(),
-                            reason: text
+                            reason: $checked.val()
                         }
-                    }).then(function(data) {
+                    }).then(function (data) {
                         if (data.code === 200) {
                             active.close();
-                            active = showMessgaeDialog('icon-success', '订单修改', '您已成功取消了该订单', function() {
-                                location.reload(true);
-                            });
-                            active.show();
+                            history.go(0);
                         } else {
                             $tip.html(data.message);
                         }
@@ -67,9 +66,9 @@ function cancelFactory(id) {
             },
             {
                 id: 'cancel-no',
-                name: '暂不取消',
+                name: '取消',
                 btnClass: ['cancel-no'],
-                cb: function() {
+                cb: function () {
                     active.close();
                 }
             }
@@ -80,7 +79,6 @@ function cancelFactory(id) {
 
     return new Dialog(options);
 }
-
 function showMessgaeDialog(message_icon, message_title, message_summary, cb) {
     var template = Handlebars.compile(dialogMessage);
     var html = template({messageIcon: message_icon, messageTitle: message_title, messageSummary: message_summary});
@@ -104,7 +102,6 @@ function showMessgaeDialog(message_icon, message_title, message_summary, cb) {
     return new Dialog(options);
 
 }
-
 // 编辑订单
 function editOrder(id) {
     var options = {
@@ -138,34 +135,34 @@ $tpl.remove();
 $dialogEdit.remove();
 
 //查看物流
-$('.check-logistics').click(function() {
+$('.check-logistics').click(function () {
     $(this).siblings('.logistics').removeClass('hide');
 });
 
-$('.close-logistics').click(function() {
+$('.close-logistics').click(function () {
     $(this).closest('.logistics').addClass('hide');
 });
 
 
 //订单列表&订单详情【取消订单和确认收货】
-$('.me-orders, .order-detail').on('click', '.cancel-order', function(e) {
+$('.me-orders, .order-detail').on('click', '.cancel-order', function (e) {
 
     //取消订单
     active = cancelFactory($(this).closest('.order, .order-detail').data('id'));
     active.show();
-}).on('click', '.confirm-received', function(e) {
+}).on('click', '.confirm-received', function (e) {
     var id = $(this).closest('.order, .order-detail').data('id');
 
     //确认收货
     active = new Confirm({
-        cb: function() {
+        cb: function () {
             $.ajax({
                 type: 'POST',
                 url: '/home/orders/confirmorder',
                 data: {
                     orderCode: id
                 }
-            }).then(function(data) {
+            }).then(function (data) {
                 if (data.code === 200) {
                     active.close();
                     history.go(0);
@@ -175,6 +172,10 @@ $('.me-orders, .order-detail').on('click', '.cancel-order', function(e) {
         content: '您确定要确认收货吗?'
     });
     active.show();
+}).on('click', '.order-delete', function () {
+    var id = $(this).closest('.order, .order-detail').data('id');
+    active = deleteOrder(id, this);
+    active.show();
 }).on('click', '.edit-order', function() {
     $(this).addClass('edit-order-active');
     active = editOrder($(this).closest('.order, .order-detail').data('id'))
@@ -198,6 +199,55 @@ function buyAgain(id){
         }
     })
 }
+function deleteOrder(id, obj) {
+    // 是否为彻底删除
+    var isFullyDelete = true;
+    var $order = $(obj).parents(".order");
+    var deleteMessage = isFullyDelete ? "您确定要永久删除订单吗?" : "您确定要删除订单吗?";
+    var deleteTip = isFullyDelete ? "永久删除后,订单将无法恢复,您将无法对该订单的商品申请售后服务,请谨慎操作。" : "删除后,您可以在订单回收站找回该订单,也可以做永久删除。";
+    var insert = Handlebars.compile(deleteDialog);
+    var html = insert({deleteMessage: deleteMessage, deleteTip: deleteTip});
+    var options = {
+        mask: false,
+        btns: [
+            {
+                id: 'delete-sure',
+                name: '确定',
+                btnClass: ['delete-sure'],
+                cb: function () {
+                    $.ajax({
+                        type: 'POST',
+                        url: '/home/orders/delOrder',
+                        data: {
+                            orderCode: id,
+                            isFullyDelete: isFullyDelete,
+                        }
+                    }).then(function (data) {
+                        if (data.code === 200) {
+                            active.close();
+                            $order.remove();
+                            location.reload();
+                        }else{
+                            active.close();
+                            new dialog.Alert(data.message).show();
+                        }
+                    });
+                }
+            },
+            {
+                id: 'delete-no',
+                name: '取消',
+                btnClass: ['delete-no'],
+                cb: function () {
+                    active.close();
+                }
+            }
+        ],
+        content: html,
+        className: 'delete-dialog',
+    };
+    return new Dialog(options);
+}
 // 地址操作
 function newAddress(id) {
     var code, codeId;
@@ -419,7 +469,7 @@ function saveAddress(id) {
 
     $.ajax({
         type: 'post',
-        url: '/home/orders/modifyAddress', 
+        url: '/home/orders/modifyAddress',
         data: postData
     }).then(function(d) {
         if (d.code === 200) {
diff --git a/web-static/js/home/returns-apply.js b/web-static/js/home/returns-apply.js
old mode 100644
new mode 100755
index 5cb556b..f5038fe
--- a/web-static/js/home/returns-apply.js
+++ b/web-static/js/home/returns-apply.js
@@ -44,6 +44,19 @@ if (defaultPhone) {
     $exchange.find('input[name="phone"]').val(disPhone);
 }
 
+$goodsTable.on('mouseenter mouseleave', '.doubt', function(e) {
+    var $this = $(this);
+    var $tipwrapper = $this.parents('.special-tip');
+    var $tipcontent = $tipwrapper.find('.special-content');
+    var width = $tipwrapper.find('> span').width();
+    if(e.type === 'mouseenter'){
+        $tipcontent.css({left: width+10,zIndex:1}).show();
+    }else if(e.type ==='mouseleave'){
+        $tipcontent.css({zIndxex:0}).hide();
+    }
+
+});
+
 function syncRefundMode(code) {
     $.ajax({
         type: 'POST',
@@ -158,7 +171,7 @@ $file.each(function(e) {
 
     $this.qupload({
         button_image_url: '',
-        upload_url: window.location.origin + '/home/returns/imgUpload',
+        upload_url: '//www.yohobuy.com/home/returns/imgUpload',
         file_post_name: 'fileData',
         button_text: '<span class="btn_upload_text">上传图片</span>',
         button_text_style: '.btn_upload_text{color: #ffffff;}',
@@ -176,7 +189,7 @@ $file.each(function(e) {
 
             img = JSON.parse(data).imgList[0];
             _html = '<span class="btn-del" title="删除"></span>' +
-                '<img src="' + img.imgUrl + '" width="126" height="126">' +
+                '<img src="' + img[0] + '" width="126" height="126">' +
                 '<input type="hidden" name="imgs" value="' + img.imgRelUrl + '">';
             $imgList.each(function() {
                 if (!isShow && !$(this).find('img').length) {
diff --git a/web-static/js/home/returns-detail.js b/web-static/js/home/returns-detail.js
old mode 100644
new mode 100755
index fb1c18f..ba06e4e
--- a/web-static/js/home/returns-detail.js
+++ b/web-static/js/home/returns-detail.js
@@ -4,7 +4,9 @@
  * @date: 2016/2/26
  */
 
-var $ = require('yoho.jquery');
+var $ = require('yoho.jquery'),
+    Handlebars = require('yoho.handlebars'),
+    dialog = require('../common/dialog');
 
 var $returnState = $('.visual-return-state li'),
     $detail = $('.detail-container'),
@@ -20,6 +22,10 @@ var returnId = $('#return-id').val(),
     expList = {},
     isChange = false;
 
+var Dialog = dialog.Dialog,
+    active,
+    cancelApplyDialog = '<p class="message-title"><i class="{{messageIcon}}"></i>{{messageTitle}}</p><p class="message-summary">{{messageSummary}}</p>';;
+
 function syncExpressInfo() {
     expCompany = expList[expId] ? expList[expId] : '';
     $expressViewBox.html(expCompany + ' 快递单号:' + expNumber);
@@ -74,6 +80,49 @@ function sendExpressCode() {
     });
 }
 
+function cancelApply(id, url) {
+    var template = Handlebars.compile(cancelApplyDialog);
+    var html = template({messageIcon: 'icon-warn', messageTitle: '取消申请', messageSummary: '您确定要请取消申请吗?'});
+    var options = {
+        mask: true,
+        btns: [
+            {
+                id: 'cancel-sure',
+                name: '确定',
+                btnClass: ['cancel-sure'],
+                cb: function() {
+                    $.ajax({
+                        type: 'POST',
+                        url: url,
+                        data: {
+                            id: id
+                        }
+                    }).then(function(data) {
+                        active.close();
+                        if (data.code === 200) {
+                            location.reload();
+                        } else {
+                            new dialog.Alert(data.message).show();
+                        }
+                    });
+                }
+            },
+            {
+                id: 'cancel-no',
+                name: '取消',
+                btnClass: ['cancel-no'],
+                cb: function() {
+                    active.close();
+                }
+            }
+        ],
+        content: html,
+        className: 'cancel-dialog'
+    };
+    return new Dialog(options);
+}
+
+
 if ($detail.parent().hasClass('exchange-detail')) {
     isChange = true;
 }
@@ -92,4 +141,9 @@ $('#modify').click(function() {
 
 $('#submit-btn').click(function() {
     sendExpressCode();
-});
\ No newline at end of file
+});
+
+$('.cancel-return').on('click', '.cancel-trigger', function() {
+    active = cancelApply($(this).data('id'), $(this).data('url'));
+    active.show();
+})
\ No newline at end of file
diff --git a/web-static/js/home/validate.js b/web-static/js/home/validate.js
index 0069a65..5206c13 100644
--- a/web-static/js/home/validate.js
+++ b/web-static/js/home/validate.js
@@ -198,6 +198,7 @@ function checkAllForm() {
     });
 
     if (arr.indexOf(false) >= 0) {
+        canFlag = true;
         return false;
     } else {
         return true;
diff --git a/web-static/js/order/ensure.js b/web-static/js/order/ensure.js
old mode 100644
new mode 100755
index d646305..4f70b18
--- a/web-static/js/order/ensure.js
+++ b/web-static/js/order/ensure.js
@@ -21,8 +21,8 @@ var dialog = require('../common/dialog');
 
 var accMul = function(arg1, arg2) {
     var m = 0,
- s1 = arg1.toString(),
- s2 = arg2.toString();
+    s1 = arg1.toString(),
+    s2 = arg2.toString();
 
     try {
         m += s1.split('.')[1].length;
diff --git a/web-static/js/passport/enablePerfectInformation.js b/web-static/js/passport/enablePerfectInformation.js
index deb3cc6..0e442f6 100644
--- a/web-static/js/passport/enablePerfectInformation.js
+++ b/web-static/js/passport/enablePerfectInformation.js
@@ -60,7 +60,7 @@ function getcomplex(curType, preType) {
 
 
 /**
- * @desc: 计算密码复杂度(from:http://www.oschina.net/code/snippet_127301_17269)
+ * @desc: 计算密码复杂度(from://www.oschina.net/code/snippet_127301_17269)
  * @author: xuqi(qi.xu@yoho.cn)
  * @date: 2015/5/6
  */
diff --git a/web-static/js/passport/reg.js b/web-static/js/passport/reg.js
index 19381a5..85d9ea6 100644
--- a/web-static/js/passport/reg.js
+++ b/web-static/js/passport/reg.js
@@ -253,7 +253,7 @@ function validateRule(page, $element, callback) {
 
 
 
-    // 根据需求http://redmine.yoho.cn/issues/3117改成上边的正则
+    // 根据需求//redmine.yoho.cn/issues/3117改成上边的正则
     // 对应的错误提示语也改了,感觉要不了多久就会改回来
     // pwdReg = /^([a-zA-Z0-9\-\+_!@\#$%\^&\*\(\)\:\;\.=\[\]\\\',\?]){6,20}$/gi;
 
diff --git a/web-static/js/passport/third-pwd.js b/web-static/js/passport/third-pwd.js
index 8249837..585b1da 100644
--- a/web-static/js/passport/third-pwd.js
+++ b/web-static/js/passport/third-pwd.js
@@ -71,7 +71,7 @@ function getcomplex(curType, preType) {
 
 
 /**
- * @desc: 计算密码复杂度(from:http://www.oschina.net/code/snippet_127301_17269)
+ * @desc: 计算密码复杂度(from://www.oschina.net/code/snippet_127301_17269)
  * @author: xuqi(qi.xu@yoho.cn)
  * @date: 2015/5/6
  */
diff --git a/web-static/js/passport/thirdlogin.js b/web-static/js/passport/thirdlogin.js
index 1c95f1e..80cd6d9 100644
--- a/web-static/js/passport/thirdlogin.js
+++ b/web-static/js/passport/thirdlogin.js
@@ -11,7 +11,7 @@ var sendmessagehtml = $('.validatewrapper').html(); //发送短信dom
 var second = +$('.second').text(); //倒计时秒数
 var dovalidate = false; //校验验证码标识
 var validatecode = false; //验证码是否通过
-var choosedpic = 'http://cdn.yoho.cn/yohobuy/assets/img/passport/choosed.png';//已选择图片
+var choosedpic = '//cdn.yoho.cn/yohobuy/assets/img/passport/choosed.png';//已选择图片
 
 var $wrapper = $('.bindwrapper'),
     $phoneTip = $wrapper.find('.phone-err-tip'),
@@ -336,7 +336,7 @@ function nextStep() {
                     $('#registphone').text(mobile);
                     $('#username').text(username);
                     if (headImg === '') {
-                        $('#userphoto').attr('src', 'http://img10.static.yhbimg.com/headimg/2013/11/28/09/' +
+                        $('#userphoto').attr('src', '//img10.static.yhbimg.com/headimg/2013/11/28/09/' +
                             '01cae078abe5fe320c88cdf4c220212688.gif?imageView/2/w/100/h/100');
                     } else {
                         $('#userphoto').attr('src', headImg);
@@ -361,7 +361,7 @@ function nextStep() {
                     $('#registphonetwo').text(mobile);
                     $('#username1').text(username);
                     if (headImg === '') {
-                        $('#userphoto1').attr('src', 'http://img10.static.yhbimg.com/headimg/2013/11/28/09/' +
+                        $('#userphoto1').attr('src', '//img10.static.yhbimg.com/headimg/2013/11/28/09/' +
                             '01cae078abe5fe320c88cdf4c220212688.gif?imageView/2/w/100/h/100');
                     } else {
                         $('#userphoto1').attr('src', headImg);
diff --git a/web-static/js/product/latest-walk.js b/web-static/js/product/latest-walk.js
index d972753..cf853c3 100644
--- a/web-static/js/product/latest-walk.js
+++ b/web-static/js/product/latest-walk.js
@@ -20,7 +20,7 @@ var $latestWalkCount = $('#latest-walk-count');
     tpl = Handlebars.compile($('#latest-walk-tpl').html());
 
     $.ajax({
-        url: 'http://www.yohobuy.com/common/recentReview',
+        url: '//www.yohobuy.com/common/recentReview',
         dataType: 'jsonp',
         data: {
             limit: $latestWalkCount.val()
diff --git a/web-static/js/simple-header.js b/web-static/js/simple-header.js
index f01773c..cfe0ef2 100644
--- a/web-static/js/simple-header.js
+++ b/web-static/js/simple-header.js
@@ -70,12 +70,12 @@ function setLoginStatus(data) {
     if (data.result !== -1) {
         name = formatUsernName(info.profile_name);
         loginHtml = '<span>Hi~</span>' +
-                    '<a href="http://www.yohobuy.com/home?t=' + info.random + '">' + name + '</a>&nbsp;' +
-                    '<a href="http://www.yohobuy.com/logout.html">[退出]</a>';
+                    '<a href="//www.yohobuy.com/home?t=' + info.random + '">' + name + '</a>&nbsp;' +
+                    '<a href="//www.yohobuy.com/logout.html">[退出]</a>';
     } else {
         loginHtml = '<span>Hi~</span>&nbsp;' +
-                    '<a href="http://www.yohobuy.com/signin.html">[请登录]</a>&nbsp;' +
-                    '<a href="http://www.yohobuy.com/reg.html">[免费注册]</a>';
+                    '<a href="//www.yohobuy.com/signin.html">[请登录]</a>&nbsp;' +
+                    '<a href="//www.yohobuy.com/reg.html">[免费注册]</a>';
     }
     $('.header-tool li').eq(0).html(loginHtml);
 }
@@ -89,7 +89,7 @@ function actionLoginInfo() {
             return_type: 'jsonp'
         };
 
-    $.getJSON('http://www.yohobuy.com/common/passport' + '/?callback=?', param, function(_data) {
+    $.getJSON('//www.yohobuy.com/common/passport' + '/?callback=?', param, function(_data) {
         if (_data && _data.data) {
             setLoginStatus(_data.data);
         }
diff --git a/web-static/package.json b/web-static/package.json
index c6cd49f..1b880bb 100644
--- a/web-static/package.json
+++ b/web-static/package.json
@@ -1,6 +1,6 @@
 {
   "name": "web-yohobuy",
-  "version": "4.6.2",
+  "version": "4.7.3",
   "description": "web yohobuy static",
   "keywords": [],
   "homepage": "",
diff --git a/web-static/sass/home/_order-block.css b/web-static/sass/home/_order-block.css
old mode 100644
new mode 100755
index d42e71e..0278228
--- a/web-static/sass/home/_order-block.css
+++ b/web-static/sass/home/_order-block.css
@@ -32,6 +32,16 @@
         background: #efefef;
         padding: 0 5px;
         border-bottom: 1px solid #e6e6e6;
+        .order-time{
+            margin-left: 25px;
+        }
+        .order-delete{
+            margin-right:15px;
+            color: #999;
+            &:hover{
+                text-decoration:underline;
+            }
+        }
     }
 
     .order {
@@ -162,6 +172,14 @@
             line-height: 18px;
             color: #999;
         }
+        .return-order{
+            display: inline-block;
+            padding: 3px 10px;
+            background: #FF7C48;
+            border-radius: 9px;
+            color: #fff;
+            text-align: center;
+        }
 
         .op-item {
             display: block;
@@ -318,10 +336,11 @@
             height: 28px;
             line-height: 28px;
             font-size: 14px;
+            white-space: nowrap;
         }
 
         label {
-            padding-left: 10px;
+            padding-left: 3px;
         }
 
         input[type="text"] {
@@ -387,10 +406,66 @@
             color:  #d70400;
             font-family: SimSun;
             font-size: 16px;
-            margin-right: 10px;
-            vertical-align: -6px;
+            margin-right: 13px;
+            vertical-align: middle;
+            margin-left: 5px;
+        }
+    }
+}
+
+/* 删除订单对话框 */
+.delete-dialog{
+    padding: 0 0 20px 0;
+    border:1px solid #000;
+    background:#fff;
+    .header{
+        padding:0 10px;
+        height:32px;
+        background: #444;
+        line-height:32px;
+        color:#fff;
+        text-align: left;
+    }
+    .close{
+        color:#fff;
+        .iconfont{
+            font-size: 20px;
+            font-weight:700;
+        }
+    }
+    .order-delete-confirm{
+        width:400px;
+        line-height:1.5;
+    }
+    .body{
+        padding:20px;
+        margin-top: 30px;
+    }
+    .confirm-tip{
+        font-size:18px;
+        word-wrap:break-word;
+        i{
+            display:inline-block;
+            width: 30px;
+            height:30px;
+            margin-right: 12px;
+            background: resolve(/home/doubt.png) no-repeat;
+            vertical-align:middle;
         }
     }
+    .delete-tip{
+        padding-left:20px;
+        margin:15px 0;
+        font-size:13px;
+        word-wrap:break-word;
+    }
+    .delete-sure{
+        background:#efefef;
+    }
+    .delete-no{
+        margin-left:60px;
+        border-color: #cdcdcd;
+    }
 }
 .message-dialog{
     width: 350px;
@@ -460,14 +535,13 @@
             margin:20px 0;
             line-height: 26px;
             font-size: 14px;
-            white-space: nowrap;
         }
         .form-required{
             color:  #d70400;
             font-family: SimSun;
             font-size: 16px;
             margin-right: 10px;
-            vertical-align: -6px;
+            vertical-align: middle;
         }
         label {
             display:inline-block;
@@ -507,7 +581,7 @@
     }
     .error{
         display: none;
-        margin-left:10px;
+        margin-left:20px;
         color:#db3d50;
         font-size:12px;
         .icon-error{
@@ -575,13 +649,8 @@
     height: 15px;
     background-position:0 -33px;
 }
-.icon-right{
-    width:15px;
-    height:15px;
-    background-position: -50px -33px;
-}
 .icon-recycle{
     width: 15px;
     height: 17px;
     background-position: -18px -33px;
-}
\ No newline at end of file
+}
diff --git a/web-static/sass/home/_returns-apply.css b/web-static/sass/home/_returns-apply.css
index 2eb1b99..1669c39 100644
--- a/web-static/sass/home/_returns-apply.css
+++ b/web-static/sass/home/_returns-apply.css
@@ -40,6 +40,14 @@
                     margin-bottom: 15px;
                 }
             }
+            .icon-onlineservice{
+                display: inline-block;
+                width: 16px;
+                height: 16px;
+                margin-left: 10px;
+                background: resolve(home/onlineservice.png) no-repeat;
+                vertical-align: text-bottom;
+            }
         }
         h2 {
             height: 21px;
@@ -91,6 +99,39 @@
                     color: #999;
                 }
             }
+            .special-tip{
+                position:relative;
+                span {
+                    color: #3a3a3a;
+                }
+                .doubt{
+                    display: inline-block;
+                    margin-left: 5px;
+                    width: 14px;
+                    height: 14px;
+                    background:resolve(home/return-doubt.png) no-repeat;
+                    vertical-align: text-bottom;
+                }
+                .special-content{
+                    display:none;
+                    position: absolute;
+                    top:0;
+                    width: 280px;
+                    padding: 10px 15px;
+                    border: 1px solid #3a3a3a;
+                    background: #fff;
+                    color: #3a3a3a;
+                    word-break: break-word;
+                    i.arrow{
+                        position: absolute;
+                        top: 5px;
+                        left: -7px;
+                        width: 7px;
+                        height: 12px;
+                        background: resolve(home/return-arrow.png) no-repeat;
+                    }
+                }
+            }
             .exchange-choose-wrap {
                 width: 185px;
                 border: 1px solid #e6e6e6;
diff --git a/web-static/sass/home/_returns-detail.css b/web-static/sass/home/_returns-detail.css
index 7746992..916583b 100644
--- a/web-static/sass/home/_returns-detail.css
+++ b/web-static/sass/home/_returns-detail.css
@@ -30,6 +30,22 @@
             background: resolve(/home/detail-act.png) no-repeat top center
         }
     }
+    .cancel-return{
+        height: 26px;
+        margin: 0 10px;
+        padding-top: 10px;
+        padding-left: 10px;
+        line-height: 26px;
+        border-top: 1px solid #e0e0e0;
+        a{
+            display: inline-block;
+            padding: 0 10px;
+            margin-left: 2px;
+            color: #fff;
+            background: #3a3a3a;
+            text-align: center;
+        }
+    }
     .detail-container {
         padding: 10px;
 
diff --git a/web-static/sass/home/_returns.css b/web-static/sass/home/_returns.css
index b24de4a..463c184 100644
--- a/web-static/sass/home/_returns.css
+++ b/web-static/sass/home/_returns.css
@@ -60,4 +60,64 @@
         }
     }
 
-}
\ No newline at end of file
+}
+.cancel-dialog{
+    width: 350px;
+    background: #fff;
+    padding: 20px 30px 35px 30px;
+    .message-title{
+        margin-top: 40px;
+        margin-bottom: 27px;
+        font-size: 24px;
+        font-weight: 700;
+    }
+    .message-summary{
+        width: 250px;
+        margin: 0 auto 22px;
+        font-size: 14px;
+        word-wrap: break-word;
+        line-height: 20px;
+        color: #444;
+    }
+    .btns {
+        padding: 15px 30px 0;
+        text-align: center;
+
+        .btn {
+            height: 35px;
+            font-size: 15px;
+            line-height: 35px;
+        }
+
+        .cancel-sure {
+            width: 130px;
+            color: #fff;
+            background: #000;
+            border: none;
+        }
+
+        .cancel-no {
+            margin-left: 30px;
+            background: #fff;
+            color: #000;
+            border-color: #000;
+            width: 126px;
+        }
+    }
+    .close{
+        top: 15px;
+        right: 15px;
+        .iconfont{
+            font-size: 30px;
+        }
+    }
+    .icon-warn{
+        display: inline-block;
+        margin-right: 10px;
+        background: resolve(/home/icon-warn.png) no-repeat;
+        width: 30px;
+        height: 30px;
+        vertical-align: -6px;
+    }
+}
+
diff --git a/yohobuy/www.yohobuy.com/application/Bootstrap.php b/yohobuy/www.yohobuy.com/application/Bootstrap.php
index f2bf1e3..a7d492f 100644
--- a/yohobuy/www.yohobuy.com/application/Bootstrap.php
+++ b/yohobuy/www.yohobuy.com/application/Bootstrap.php
@@ -5,7 +5,7 @@
  * @name Bootstrap
  * @author fei.hong
  * @desc 所有在Bootstrap类中, 以_init开头的方法, 都会被Yaf调用,
- * @see http://www.php.net/manual/en/class.yaf-bootstrap-abstract.php
+ * @see //www.php.net/manual/en/class.yaf-bootstrap-abstract.php
  * 这些方法, 都接受一个参数:Yaf_Dispatcher $dispatcher
  * 调用的次序, 和申明的次序相同
  */
diff --git a/yohobuy/www.yohobuy.com/application/controllers/Brands.php b/yohobuy/www.yohobuy.com/application/controllers/Brands.php
index 086d7d3..9a69d98 100644
--- a/yohobuy/www.yohobuy.com/application/controllers/Brands.php
+++ b/yohobuy/www.yohobuy.com/application/controllers/Brands.php
@@ -167,7 +167,7 @@ class BrandsController extends WebAction
             foreach ($brandIds as $brandId) {
                 if (isset($brandsInfo[$brandId])) {
                     $list[$brandId]['desc'] = $brandsInfo[$brandId]['desc'];
-                    $list[$brandId]['url'] = $brandsInfo[$brandId]['url'] . '?gender=' . $gender;
+                    $list[$brandId]['url'] = Helpers::getUrlSafe($brandsInfo[$brandId]['url'] . '?gender=' . $gender);
                 }
                 $brands[] = $list[$brandId];
             }
diff --git a/yohobuy/www.yohobuy.com/application/controllers/Common.php b/yohobuy/www.yohobuy.com/application/controllers/Common.php
index dfffc31..1fd36a2 100644
--- a/yohobuy/www.yohobuy.com/application/controllers/Common.php
+++ b/yohobuy/www.yohobuy.com/application/controllers/Common.php
@@ -128,7 +128,7 @@ class CommonController extends WebAction
                         $height = 60;
                     }
                     $banner['src'] = Images::getImageUrl($banner['src'], $width, $height, 2);
-                    //str_replace('?imageView/{mode}/w/{width}/h/{height}', '', $banner['src']);
+                    $banner['url'] = Helpers::getUrlSafe($banner['url']);
                 }
             }
             return $this->helpJsonCallbackResult($callback, $data['code'], $data['message'], $banner);
@@ -220,7 +220,7 @@ class CommonController extends WebAction
                 'user' => $username,
                 'href' => $tool,
                 'logo' => array(
-                    'img' => 'http://static.yohobuy.com/newheader/img/logo_e.png',
+                    'img' => '//static.yohobuy.com/newheader/img/logo_e.png',
                     'url' => SITE_MAIN
                 ),
             );
diff --git a/yohobuy/www.yohobuy.com/application/controllers/Coupon.php b/yohobuy/www.yohobuy.com/application/controllers/Coupon.php
index ce6b359..88de0d7 100644
--- a/yohobuy/www.yohobuy.com/application/controllers/Coupon.php
+++ b/yohobuy/www.yohobuy.com/application/controllers/Coupon.php
@@ -2,6 +2,7 @@
 
 use Action\WebAction;
 use WebPlugin\Helpers;
+use WebPlugin\Encryption;
 use Index\HomeModel;
 use Index\CouponModel;
 use LibModels\Web\Home\CouponData;
@@ -29,7 +30,7 @@ class CouponController extends WebAction
      * 领券页面控制器
      */
     public function indexAction()
-    { 
+    {
         $channel = Helpers::getChannelNameByCookie();
         //领券频道头部
         $this->setWebNavHeader($channel);
@@ -52,6 +53,11 @@ class CouponController extends WebAction
                 break;
             }
             $couponId = $this->get('id', '');
+            if (empty($couponId)) {
+                break;
+            }
+            //解密
+            $couponId = Encryption::decrypt($couponId);
             $uid = $this->getUid();
             if (!$uid) {
                 $playUrl = Helpers::url('/coupon/index');
diff --git a/yohobuy/www.yohobuy.com/application/controllers/Error.php b/yohobuy/www.yohobuy.com/application/controllers/Error.php
index 837e6ac..80306eb 100644
--- a/yohobuy/www.yohobuy.com/application/controllers/Error.php
+++ b/yohobuy/www.yohobuy.com/application/controllers/Error.php
@@ -5,7 +5,7 @@
  * 
  * @name ErrorController
  * @desc 错误控制器, 在发生未捕获的异常时刻被调用
- * @see http://www.php.net/manual/en/yaf-dispatcher.catchexception.php
+ * @see //www.php.net/manual/en/yaf-dispatcher.catchexception.php
  */
 use Action\WebAction;
 use WebPlugin\Helpers;
diff --git a/yohobuy/www.yohobuy.com/application/controllers/Help.php b/yohobuy/www.yohobuy.com/application/controllers/Help.php
index d00f215..d434add 100644
--- a/yohobuy/www.yohobuy.com/application/controllers/Help.php
+++ b/yohobuy/www.yohobuy.com/application/controllers/Help.php
@@ -2,7 +2,6 @@
 
 use Action\WebAction;
 use Index\HelpModel;
-//use LibModels\Web\Home\HelpData;
 use WebPlugin\Helpers;
 use WebPlugin\Paging;
 
diff --git a/yohobuy/www.yohobuy.com/application/controllers/Tools.php b/yohobuy/www.yohobuy.com/application/controllers/Tools.php
index 37eae2d..1e00d8a 100644
--- a/yohobuy/www.yohobuy.com/application/controllers/Tools.php
+++ b/yohobuy/www.yohobuy.com/application/controllers/Tools.php
@@ -42,12 +42,12 @@ class ToolsController extends WebAction
      */
     public function indexAction()
     {
-        $html = '<link href="http://cdn.bootcss.com/bootstrap/2.3.2/css/bootstrap.min.css" rel="stylesheet"><div style="margin-left:100px;"><br/><h2>工具首页</h2>';
+        $html = '<link href="//cdn.bootcss.com/bootstrap/2.3.2/css/bootstrap.min.css" rel="stylesheet"><div style="margin-left:100px;"><br/><h2>工具首页</h2>';
         $channels = array(
             'JAVA API' => '/tools/javaapi', 
             '缓存页面' => '/tools/cache',
             '服务器配置' =>'/tools/serverinfo',
-            '服务器'=>'/tools/server',
+            '服务器'=>'/tools/server',
         );
         $html.='<ol>';
         foreach ($channels as $name => $url) {
@@ -62,7 +62,7 @@ class ToolsController extends WebAction
      */
     public function javaapiAction()
     {
-        $html = '<script src="http://cdn.bootcss.com/jquery/1.11.1/jquery.min.js"></script><link href="http://cdn.bootcss.com/bootstrap/2.3.2/css/bootstrap.min.css" rel="stylesheet">
+        $html = '<script src="//cdn.bootcss.com/jquery/1.11.1/jquery.min.js"></script><link href="//cdn.bootcss.com/bootstrap/2.3.2/css/bootstrap.min.css" rel="stylesheet">
             <div style="margin-left:100px;"><h3 style="color:blue;">java api测试</h3>';
         $channels = array('获取资源位' => $this->getResourceUrl(), '获取最新上架' => '');
         foreach ($channels as $name => $url) {
@@ -115,7 +115,7 @@ class ToolsController extends WebAction
                $params = array_merge($params, Yohobuy::param());
                unset($params['client_secret']);
                $client_type = 'web';
-               $url = Yohobuy::API_URL;
+               $url = API_URL;
                if(isset($params['client_type'])) {
                    $client_type = $params['client_type'];
                }
@@ -145,7 +145,7 @@ class ToolsController extends WebAction
         $params['client_type'] = $client_type;
         $params['private_key'] = Yohobuy::$privateKeyList[$client_type];
         $params['client_secret'] = Sign::getSign($params);
-        return Yohobuy::httpBuildQuery(Yohobuy::SERVICE_URL . IndexData::URL_OPERATIONS_RESOURCE_GET, $params);
+        return Yohobuy::httpBuildQuery(SERVICE_URL . IndexData::URL_OPERATIONS_RESOURCE_GET, $params);
     }
 
     /**
@@ -167,7 +167,7 @@ class ToolsController extends WebAction
             '品牌一览-潮童' => WebCacheConfig::KEY_WEB_BRAND_INDEX_VIEW_TOP_DATA . '_' . BrandsModel::KIDS,
             '品牌一览-创意生活' => WebCacheConfig::KEY_WEB_BRAND_INDEX_VIEW_TOP_DATA . '_' . BrandsModel::LIFESTYLE,
         );
-        $html = '<link href="http://cdn.bootcss.com/bootstrap/2.3.2/css/bootstrap.min.css" rel="stylesheet"><br/>
+        $html = '<link href="//cdn.bootcss.com/bootstrap/2.3.2/css/bootstrap.min.css" rel="stylesheet"><br/>
             <div style="margin-left:100px;"><h3 style="color:red;">缓存页面</h3>';
         $html.='<ul>';
         foreach ($channels as $key => $val) {
diff --git a/yohobuy/www.yohobuy.com/application/models/Guang/Index.php b/yohobuy/www.yohobuy.com/application/models/Guang/Index.php
index 9d42aa3..b4a9cba 100644
--- a/yohobuy/www.yohobuy.com/application/models/Guang/Index.php
+++ b/yohobuy/www.yohobuy.com/application/models/Guang/Index.php
@@ -50,7 +50,7 @@ class IndexModel
                 $list = current($resource['data']);
                 foreach($list['data'] as $val) {
                     $data [] = array( 'img' => Images::getImageUrl($val['src'], 830, 327, 1),
-                        'url' => $val['url']); 
+                        'url' => Helpers::getUrlSafe($val['url'])); 
                 }
                 //格式化数据
                 Cache::set($key, $data, 3600);
@@ -190,7 +190,7 @@ class IndexModel
                 $list = current($resource['data']);
                 foreach($list['data'] as $val) {
                     $data [] = array( 'img' => Images::getImageUrl($val['src'], 640,640, 1),
-                        'url' => $val['url']);
+                        'url' => Helpers::getUrlSafe($val['url']));
                 }
                 //最多取5个
                 $data = array_slice($data, 0, 5);
diff --git a/yohobuy/www.yohobuy.com/application/models/Guang/Info.php b/yohobuy/www.yohobuy.com/application/models/Guang/Info.php
index 280a7c5..2a5960d 100644
--- a/yohobuy/www.yohobuy.com/application/models/Guang/Info.php
+++ b/yohobuy/www.yohobuy.com/application/models/Guang/Info.php
@@ -74,14 +74,14 @@ class InfoModel
         $result['pathNav'] = self::getCenterCrumb($article['article_title'], $channel);
         //文章头部信息
         $result['header']['title'] = $article['article_title'];
-        $result['header']['avatar'] = isset($data['author']['avatar']) && !empty($data['author']['avatar']) ? $data['author']['avatar'] : '';
+        $result['header']['avatar'] = isset($data['author']['avatar']) && !empty($data['author']['avatar']) ? Helpers::getUrlSafe($data['author']['avatar']) : '';
         $result['header']['name'] = isset($data['author']['name']) && !empty($data['author']['name']) ? $data['author']['name'] : '';
         $result['header']['authorUrl'] = isset($data['author']['name']) && !empty($data['author']['name']) ? Helpers::url('/Index/editor', array('author_id'=>$article['author_id']), 'guang') : '';
         $result['header']['intro'] = isset($data['author']['author_desc']) && !empty($data['author']['author_desc']) ? $data['author']['author_desc'] : '';
         $result['header']['time'] = date('Y年m月d日 H:i', $article['publish_time']);
         $result['header']['click'] = $article['pageViews'];
         $result['header']['commentNum'] = $data['comments']['total'];
-        $result['header']['shareImg'] = Images::getImageUrl($article['cover_image'], 600, 600);
+        $result['header']['shareImg'] = 'http:' . Images::getImageUrl($article['cover_image'], 600, 600);
         $result['header']['desc'] = $article['article_summary'];
         $result['header']['weixinUrl'] = $article['url'];
         //文章详细
@@ -91,7 +91,9 @@ class InfoModel
                     if ($type === 'goods') {
                         $goods = array_merge_recursive($goods, self::goods($con['data']));
                     } elseif ($type === 'goodsGroup') {
-                        $goodsGroup = array_merge_recursive($goodsGroup, self::goodsGroup($con['data']));
+                        foreach (self::goodsGroup($con['data']) as $key => $val) {
+                            $goodsGroup = array_merge_recursive($goodsGroup, $val['recos']);
+                        }
                     } else {
                         $other = is_callable("self::$type") ? self::$type($con['data']) : '';
                         array_push($result['content'], $other);
@@ -103,7 +105,7 @@ class InfoModel
             $result['content'][]['relatedReco'] = array('recos'=>$goods);
         }
         if (!empty($goodsGroup)) {
-            $result['content'][]['relatedReco'] = $goodsGroup;
+            $result['content'][]['relatedReco'] = array('recos'=>$goodsGroup);
         }
         //赞、收藏
         if (isset($data['baseInfo']) && !empty($data['baseInfo'])) {
@@ -119,8 +121,13 @@ class InfoModel
             }
         }
         //相关品牌
+        $result['brands'] = array();
         if (isset($data['brands']) && !empty($data['brands'])) {
-            $result['brands'] = $data['brands'];
+            $result['brands'] = array_map(function($val) {
+                    $val['thumb'] = Helpers::getUrlSafe($val['thumb']);
+                    $val['url'] = Helpers::getUrlSafe($val['url']);
+                    return $val;
+                }, $data['brands']);
         }
         //相关文章
         if (isset($data['relate']) && !empty($data['relate'])) {
diff --git a/yohobuy/www.yohobuy.com/application/models/Home/Comment.php b/yohobuy/www.yohobuy.com/application/models/Home/Comment.php
index 7db4e4d..fb6bed5 100644
--- a/yohobuy/www.yohobuy.com/application/models/Home/Comment.php
+++ b/yohobuy/www.yohobuy.com/application/models/Home/Comment.php
@@ -133,7 +133,7 @@ class CommentModel
             $result['count'] = $total;
             $result['curPage'] = $page;
             $result['totalPages'] = $totalPage;
-            $result['pagerHtml'] = HelperSearch::pager($total, $limit);;
+            $result['pagerHtml'] = HelperSearch::pager($total, $limit);
         }
         return $result;
     }
diff --git a/yohobuy/www.yohobuy.com/application/models/Home/Coupons.php b/yohobuy/www.yohobuy.com/application/models/Home/Coupons.php
index 37c81cc..cebf62f 100644
--- a/yohobuy/www.yohobuy.com/application/models/Home/Coupons.php
+++ b/yohobuy/www.yohobuy.com/application/models/Home/Coupons.php
@@ -38,7 +38,7 @@ class CouponsModel
                 $result[$k]['beginTime'] = date('Y-m-d', date_timestamp_get(date_create_from_format('Y.m.d', $dates[0])));
                 $result[$k]['endTime'] = date('Y-m-d', date_timestamp_get(date_create_from_format('Y.m.d', $dates[1])));
                 if (empty($v['couponImageUrl'])) {
-                    $result[$k]['img'] = 'http://static.yohobuy.com/images/v2/activity/default_coupon.jpg';
+                    $result[$k]['img'] = '//static.yohobuy.com/images/v2/activity/default_coupon.jpg';
                 } else {
                     $result[$k]['img'] = $v['couponImageUrl'];
                 }
diff --git a/yohobuy/www.yohobuy.com/application/models/Home/Currency.php b/yohobuy/www.yohobuy.com/application/models/Home/Currency.php
index 374b1d4..d0e2fd8 100644
--- a/yohobuy/www.yohobuy.com/application/models/Home/Currency.php
+++ b/yohobuy/www.yohobuy.com/application/models/Home/Currency.php
@@ -28,7 +28,7 @@ class CurrencyModel
         $currency = self::currencyList($uid, $condition);
         $result['currency'] = $currency['list'];
         $result['pager'] = $currency['pager'];
-        $result['coinHelperUrl'] = 'http://www.yohobuy.com/help/?category_id=87';//yoho币帮助
+        $result['coinHelperUrl'] = '//www.yohobuy.com/help/?category_id=87';//yoho币帮助
         $result['tabs'] = self::currencyTabs($condition['queryType']);
         $result['options'] = self::currencyOptions($condition);
         return $result;
diff --git a/yohobuy/www.yohobuy.com/application/models/Home/Index.php b/yohobuy/www.yohobuy.com/application/models/Home/Index.php
index 898e3fc..d5ceb77 100644
--- a/yohobuy/www.yohobuy.com/application/models/Home/Index.php
+++ b/yohobuy/www.yohobuy.com/application/models/Home/Index.php
@@ -104,7 +104,7 @@ class IndexModel
 
         $banner = BrandData::getByNodeContent($code);
         if (isset($banner['code']) && !empty($banner['data'])) {
-            return $banner['data'];
+            return strtr($banner['data'], array('http://' =>  '//'));
         }
     }
 }
diff --git a/yohobuy/www.yohobuy.com/application/models/Home/Order.php b/yohobuy/www.yohobuy.com/application/models/Home/Order.php
old mode 100644
new mode 100755
index f478600..c133ad5
--- a/yohobuy/www.yohobuy.com/application/models/Home/Order.php
+++ b/yohobuy/www.yohobuy.com/application/models/Home/Order.php
@@ -32,6 +32,11 @@ class OrderModel
             foreach ($orderInfo['data']['order_list'] as $orderK => $orderV) {
                 $orders[$orderK]['orderNum'] = $orderV['order_code']; //订单标识
                 $orders[$orderK]['orderTime'] = date("Y-m-d H:i:s", $orderV['create_time']); //下单时间
+//                $orders[$orderK]['hasDelete'] = true; //彻底删除                
+                //删除订单
+                if($orderV['is_cancel'] == 'Y' || $orderV['status'] === 6) {
+                    $orders[$orderK]['canDelete'] = true; //删除订单
+                }
                 $statusInfo = self::getOrderStatus($orderV['is_cancel'], $orderV['status'], $orderV['payment_type'], $orderV['payment_status']);
                 //订单状态
                 if ($statusInfo['cancel']) {
@@ -64,6 +69,7 @@ class OrderModel
                         $goods[$gokey]['count'] = $buyNum;
                         $refundStatus = ($refundNum > 0) ? true : false; //只要发生一件退换,退换过的标记
                         $goods[$gokey]['refundStatus'] = $refundStatus;
+                        $goods[$gokey]['goRefundUrl'] = Helpers::url('/home/returns');
                         $refundFlag[] = (($buyNum == $refundNum) && $refundNum > 0) ? 'finished' : 'unfinished'; //某一件商品全部退换结束
                         $goods[$gokey]['arrivalDate'] = $goval['expect_arrival_time'];
                         $goodsTagName = self::getGoodsTag($orderV['attribute'], $goval['goods_type']);
@@ -80,6 +86,11 @@ class OrderModel
                 }
                 //操作
                 $orders[$orderK]['operation'] = self::getOperateInfo($orderV['attribute'], $orderV['is_cancel'], $orderV['status'], $orderV['payment_status'], $orderV['update_time'], $orderV['order_type'], $orderV['refund_status'], $orderV['payment_type'], $orderV['order_code'], $opRefundStatus);
+
+                // tar add 160701 换货订单标记
+                if ($orderV['order_type'] === 7) {
+                    $orders[$orderK]['isExchanged'] = true;
+                }
             }
             if ($isPage) {
                 $orders['pager']['total'] = $orderInfo['data']['total'];
@@ -345,7 +356,7 @@ class OrderModel
         if (isset($orderCode) && is_numeric($uid)) {
             $logistics = OrderData::getLogisticsData($orderCode, $uid);
             if (isset($logistics['data']) && $logistics['data']) {
-                $result['logisticsUrl'] = isset($logistics['data']['url']) ? $logistics['data']['url'] : '';
+                $result['logisticsUrl'] = isset($logistics['data']['url']) ? Helpers::getUrlSafe($logistics['data']['url']) : '';
                 $result['logisticsImg'] = isset($logistics['data']['logo']) ? $logistics['data']['logo'] : '';
                 $result['logisticsCompany'] = isset($logistics['data']['caption']) ? $logistics['data']['caption'] : '';
                 $result['courierNumbe'] = isset($logistics['data']['express_number']) ? $logistics['data']['express_number'] : '';
@@ -614,6 +625,7 @@ class OrderModel
         if ($status >= 6 && $time < 86400 * $orderRefundLimitTime && $attribute != 3 && $isCancel == 'N') {
             $operation[] = array('href' => $refundUrl, 'name' => '申请退货', 'optDis' => $opRefundStatus);
         }
+
         return $operation;
     }
 
diff --git a/yohobuy/www.yohobuy.com/application/models/Home/Returns.php b/yohobuy/www.yohobuy.com/application/models/Home/Returns.php
old mode 100644
new mode 100755
index b773509..48ca168
--- a/yohobuy/www.yohobuy.com/application/models/Home/Returns.php
+++ b/yohobuy/www.yohobuy.com/application/models/Home/Returns.php
@@ -34,25 +34,32 @@ class ReturnsModel
         if (isset($returnsData['code']) && $returnsData['code'] == 200 && !empty($returnsData['data']['list'])) {
             //设置分页
             $pager = self::setPager($returnsData['data']['page'], $returnsData['data']['total'], $returnsData['data']['total_page'], $limit);
-            foreach($returnsData['data']['list'] as $key => $value){
+            foreach ($returnsData['data']['list'] as $key => $value) {
+                $param = array(
+                    'id' => $value['id']
+                );
+                $list[$key]['returnId'] = $value['id'];
                 $list[$key]['orderNum'] = $value['order_code'];
-                $list[$key]['orderTime'] = str_replace('-','/',$value['order_create_time']);
+                $list[$key]['orderTime'] = str_replace('-', '/', $value['order_create_time']);
                 $list[$key]['returnTime'] = $value['create_time'];
-                if ($value['refund_type'] == 1) {
+                if ($value['refund_type'] == 1) { // tar note 160624 终止退货
                     $list[$key]['isChange'] = false;
                     $uri = '/home/returns/refundDetail';
-                }elseif ($value['refund_type'] == 2) {
+                    if ($value['canCancel'] === 'Y') {
+                        $list[$key]['canCancelUrl'] = Helpers::url('/home/returns/cancelRefund');
+                    }
+                } elseif ($value['refund_type'] == 2) { // tar note 160624 终止换货
                     $list[$key]['isChange'] = true;
                     $uri = '/home/returns/exchangeDetail';
+                    if ($value['canCancel'] === 'Y') {
+                        $list[$key]['canCancelUrl'] = Helpers::url('/home/returns/cancelChange');
+                    }
                 }
                 $list[$key]['returnStatus'] = $value['status_name'];
-                $param = array(
-                    'id' => $value['id']
-                );
-                $list[$key]['moreHref'] = helpers::url($uri,$param);
+                $list[$key]['moreHref'] = helpers::url($uri, $param);
                 $list[$key]['goods'] = self::getGoodsData($value['goods']);
             }
-        }else{
+        } else {
             $list = array(
                 'empty' => '您没有退/换货订单'
             );
@@ -62,8 +69,8 @@ class ReturnsModel
         $path = UserModel::getCenterCrumb('退货/换货');
         $leftNav = UserModel::getCenterLeftNav('我的退/换货', $uid);
         $data = array(
-            'path'=>$path,
-            'homeNav'=>$leftNav,
+            'path' => $path,
+            'homeNav' => $leftNav,
             'orders' => $list,
             'userThumb' => UserModel::getUserHeadImg($uid),
             'pager' => $pager
@@ -97,13 +104,17 @@ class ReturnsModel
                 $detail['express']['number'] = isset($res['notice']['express_number']) ? $res['notice']['express_number'] : '';
                 $detail['express']['id'] = isset($res['notice']['express_id']) ? $res['notice']['express_id'] : '';
             }
-            foreach($res['statusList'] as $key=>$value){
-                $detail['statusList'][$key]['act'] = ($value['act'  ] == 'Y') ? true : false;
+            foreach ($res['statusList'] as $key => $value) {
+                $detail['statusList'][$key]['act'] = ($value['act'] == 'Y') ? true : false;
                 $detail['statusList'][$key]['name'] = $value['name'];
             }
             $detail['goods'] = self::getDetailGoods($res['goods_list']);
             $detail['expressList'] = self::getExpressCompany();
-        }else{
+
+            if ($res['canCancel'] === 'Y') {
+                $detail['canCancelUrl'] = Helpers::url('/home/returns/cancelChange');
+            }
+        } else {
             return false;
         }
 
@@ -111,10 +122,10 @@ class ReturnsModel
         $path = UserModel::getCenterCrumb('退货/换货');
         $leftNav = UserModel::getCenterLeftNav('我的退/换货', $uid);
         $data = array(
-            'path'=>$path,
-            'homeNav'=>$leftNav,
+            'path' => $path,
+            'homeNav' => $leftNav,
             'userThumb' => UserModel::getUserHeadImg($uid),
-            'detail'=>$detail
+            'detail' => $detail
         );
 
         return $data;
@@ -145,7 +156,7 @@ class ReturnsModel
                 $detail['express']['company'] = isset($res['notice']['express_company']) ? $res['notice']['express_company'] : '';
                 $detail['express']['number'] = isset($res['notice']['express_number']) ? $res['notice']['express_number'] : '';
             }
-            foreach($res['statusList'] as $key=>$value){
+            foreach ($res['statusList'] as $key => $value) {
                 $detail['statusList'][$key]['act'] = ($value['act'] == 'Y') ? true : false;
                 $detail['statusList'][$key]['name'] = $value['name'];
             }
@@ -153,17 +164,21 @@ class ReturnsModel
             $detail['backMode'] = isset($res['return_amount_mode_name']) ? $res['return_amount_mode_name'] : '';
             $detail['goods'] = self::getDetailGoods($res['goods_list']);
             $detail['expressList'] = self::getExpressCompany();
-        }else{
+
+            if ($res['canCancel'] === 'Y') {
+                $detail['canCancelUrl'] = Helpers::url('/home/returns/cancelRefund');
+            }
+        } else {
             return false;
         }
         //面包屑-左侧导航
         $path = UserModel::getCenterCrumb('退货/换货');
         $leftNav = UserModel::getCenterLeftNav('我的退/换货', $uid);
         $data = array(
-            'path'=>$path,
-            'homeNav'=>$leftNav,
+            'path' => $path,
+            'homeNav' => $leftNav,
             'userThumb' => UserModel::getUserHeadImg($uid),
-            'detail'=>$detail
+            'detail' => $detail
         );
 
         return $data;
@@ -184,7 +199,7 @@ class ReturnsModel
                 $cnAlphabet = $value['cn_alphabet'];
             }
             $result[$key]['href'] = Helpers::getUrlBySkc($value['product_id'], $value['goods_id'], $cnAlphabet);
-            $result[$key]['thumb'] = Helpers::getImageUrl($value['goods_image'],60,60);
+            $result[$key]['thumb'] = Helpers::getImageUrl($value['goods_image'], 60, 60);
             $result[$key]['name'] = $value['product_name'];
             $result[$key]['color'] = $value['color_name'];
             $result[$key]['size'] = $value['size_name'];
@@ -241,7 +256,7 @@ class ReturnsModel
         $expressList = ReturnsData::getExpressCompany();
         if (isset($expressList['code']) && $expressList['code'] == 200) {
             $result = array_values($expressList['data']);
-            foreach($result as $key=>$value){
+            foreach ($result as $key => $value) {
                 $res = array_merge_recursive($res, $value);
             }
         }
@@ -260,9 +275,9 @@ class ReturnsModel
      * @param $isChange
      * @return mixed
      */
-    public static function setExpressNumber($id, $expressId, $expressNumber,$uid, $expressCompany, $isChange)
+    public static function setExpressNumber($id, $expressId, $expressNumber, $uid, $expressCompany, $isChange)
     {
-        $data = ReturnsData::setExpressNumber($id, $expressId, $expressNumber,$uid, $expressCompany, $isChange);
+        $data = ReturnsData::setExpressNumber($id, $expressId, $expressNumber, $uid, $expressCompany, $isChange);
         return $data;
     }
 
@@ -282,13 +297,13 @@ class ReturnsModel
         //调用接口成功,封装数据
         if (isset($data['code']) && $data['code'] == 200 && isset($data['data']['goods_list']) && !empty($data['data']['goods_list'])) {
             $amount = '';
-            foreach($data['data']['goods_list'] as $key=>$value){
+            foreach ($data['data']['goods_list'] as $key => $value) {
                 $cnAlphabet = '';
                 if (!empty($value['cn_alphabet'])) {
                     $cnAlphabet = $value['cn_alphabet'];
                 }
                 $result['goods'][$key]['href'] = Helpers::getUrlBySkc($value['product_id'], $value['goods_id'], $cnAlphabet);
-                $result['goods'][$key]['thumb'] = Helpers::getImageUrl($value['goods_image'],60,60);
+                $result['goods'][$key]['thumb'] = Helpers::getImageUrl($value['goods_image'], 60, 60);
                 $result['goods'][$key]['name'] = $value['product_name'];
                 $result['goods'][$key]['color'] = $value['color_name'];
                 $result['goods'][$key]['size'] = $value['size_name'];
@@ -299,19 +314,42 @@ class ReturnsModel
                 $result['goods'][$key]['goods_type_id'] = $value['goods_type_id'];
                 $result['goods'][$key]['goods_type'] = $value['goods_type'];
                 $amount += $value['last_price'];//所以商品价格加起来,等于订单总价
+
+                $result['goods'][$key]['reason'] = $data['data']['return_reason'];
+
+                // tar note 为每个特殊商品都添加标识
+                if ($value['is_limit_skn'] === 'Y') {
+                    $remarks = explode('   ', $data['data']['special_notice']['remark'], 2); // 使用3个空格拆分
+                    $result['goods'][$key]['specialNoticeBo']['title'] = $data['data']['special_notice']['title'];
+                    $result['goods'][$key]['specialNoticeBo']['remark1'] = $remarks[0];
+                    $result['goods'][$key]['specialNoticeBo']['remark2'] = $remarks[1];
+                    
+                    // tar note 对数组做处理,为不显示的添加 inactive
+                    if (isset($data['data']['special_return_reason'])) {
+                        foreach ($result['goods'][$key]['reason'] as $subKey => $item) {
+                            if (!in_array($item, $data['data']['special_return_reason'])) {
+                                $result['goods'][$key]['reason'][$subKey]['inactive'] = true;
+                            }
+                        }
+                    }
+                }
+
+                // 对原因排序
+                asort($result['goods'][$key]['reason']);
+
                 //商品中有鞋类,传给前端标识
                 if ($value['hasShoes']) {
                     $result['tips']['footwear'] = true;
                 }
             }
             $result['orderCode'] = $orderCode;
-            $result['reason'] = $data['data']['return_reason'];
+
             //计算相关支付细节
             $result['amount'] = $amount - $data['data']['yoho_coin_num'] - $data['data']['coupon_amount'];
             $result['yohoCoin'] = $data['data']['yoho_coin_num'];
             $result['coupon'] = $data['data']['coupon_amount'];
             $result['cash'] = $amount;
-            foreach($data['data']['return_amount_mode'] as &$value){
+            foreach ($data['data']['return_amount_mode'] as &$value) {
                 if ($value['is_default'] == 'Y') {
                     $value['default'] = true;
                 }
@@ -324,8 +362,8 @@ class ReturnsModel
         $leftNav = UserModel::getCenterLeftNav('我的退/换货', $uid);
         $pager = array();
         $data = array(
-            'path'=>$path,
-            'homeNav'=>$leftNav,
+            'path' => $path,
+            'homeNav' => $leftNav,
             'refund' => $result,
             'pager' => $pager
         );
@@ -346,16 +384,18 @@ class ReturnsModel
         //调用接口,根据订单号获取订单可换货商品信息
         $data = ReturnsData::getChangeGoodsData($orderCode, $uid);
 
+        $isLimited = false;
+
         $productSkn = array();
         //数据获取成功,封装数据
         if (isset($data['code']) && $data['code'] == 200 && isset($data['data']) && !empty($data['data'])) {
-            foreach ($data['data']['goods_list'] as $key=>$value) {
+            foreach ($data['data']['goods_list'] as $key => $value) {
                 $cnAlphabet = '';
                 if (!empty($value['cn_alphabet'])) {
                     $cnAlphabet = $value['cn_alphabet'];
                 }
                 $result['goods'][$key]['href'] = Helpers::getUrlBySkc($value['product_id'], $value['goods_id'], $cnAlphabet);
-                $result['goods'][$key]['thumb'] = Helpers::getImageUrl($value['goods_image'],60,60);
+                $result['goods'][$key]['thumb'] = Helpers::getImageUrl($value['goods_image'], 60, 60);
                 $result['goods'][$key]['name'] = $value['product_name'];
                 $result['goods'][$key]['color'] = $value['color_name'];
                 $result['goods'][$key]['size'] = $value['size_name'];
@@ -364,13 +404,36 @@ class ReturnsModel
                 $result['goods'][$key]['skc'] = $value['product_skc'];
                 $result['goods'][$key]['sku'] = $value['product_sku'];
                 $result['goods'][$key]['goods_type_id'] = $value['goods_type_id'];
+
+                $result['goods'][$key]['reason'] = $data['data']['exchange_reason'];
+
+                // tar note 为每个特殊商品都添加标识
+                if ($value['is_limit_skn'] === 'Y') {
+                    $remarks = explode('   ', $data['data']['specialNoticeBo']['remark'], 2); // 使用3个空格拆分
+                    $result['goods'][$key]['specialNoticeBo']['title'] = $data['data']['specialNoticeBo']['title'];
+                    $result['goods'][$key]['specialNoticeBo']['remark1'] = $remarks[0];
+                    $result['goods'][$key]['specialNoticeBo']['remark2'] = $remarks[1];
+
+                    // tar note 对数组做处理,为不显示的添加 inactive
+                    if (isset($data['data']['special_exchange_reason'])) {
+                        foreach ($result['goods'][$key]['reason'] as $subKey => $item) {
+                            if (!in_array($item, $data['data']['special_exchange_reason'])) {
+                                $result['goods'][$key]['reason'][$subKey]['inactive'] = true;
+                            }
+                        }
+                    }
+                }
+
+                // 对原因排序
+                asort($result['goods'][$key]['reason']);
+
                 //给前端标识出鞋类
                 if ($value['hasShoes']) {
                     $result['tips']['footwear'] = true;
                 }
                 $productSkn[] += $value['product_skn'];
             }
-            $result['reason'] = $data['data']['exchange_reason'];
+
             $result['orderCode'] = $orderCode;
 
             //换货地址相关数据(邮编为可空参数)
@@ -393,8 +456,8 @@ class ReturnsModel
 
         foreach ($product as $key => $value) {//遍历得到每件商品
             $num = '0';//初始化每件商品的库存为0
-            foreach ($value['goods_list'] as $k=>$v) {//遍历商品得到每个颜色
-                foreach ($v['size_list'] as $k1=>$v1) {//遍历颜色得到每个尺码
+            foreach ($value['goods_list'] as $k => $v) {//遍历商品得到每个颜色
+                foreach ($v['size_list'] as $k1 => $v1) {//遍历颜色得到每个尺码
                     $num += $v1['storage_number'];//将商品颜色对应尺码下的每个商品的库存相加
                     if ($v1['storage_number'] > 0) {//当某个尺码下有库存时,将该颜色及其对应的尺码加入该商品选项下
                         $result['goods'][$key]['colorSize'][$k]['color'] = $v['color_name'];
@@ -412,14 +475,14 @@ class ReturnsModel
                 $result['goods'][$key]['banMsg'] = '库存不足不能换货';
             }
         }
-        
+
         //面包屑-左侧导航
         $path = UserModel::getCenterCrumb('退货/换货');
         $leftNav = UserModel::getCenterLeftNav('我的退/换货', $uid);
         $pager = array();
         $data = array(
-            'path'=>$path,
-            'homeNav'=>$leftNav,
+            'path' => $path,
+            'homeNav' => $leftNav,
             'exchange' => $result,
             'pager' => $pager
         );
@@ -435,7 +498,7 @@ class ReturnsModel
      */
     public static function getSizeList($sizeList)
     {
-        foreach ($sizeList as $key=>$value) {
+        foreach ($sizeList as $key => $value) {
             if ($value['storage_number'] <= 0) {
                 unset($sizeList[$key]);
             }
@@ -498,7 +561,7 @@ class ReturnsModel
         //调取接口查询订单详情
         $order = OrderData::viewOrderData($orderCode, $uid, '');
         if (empty($order)) {
-            return array('code'=>403,'message'=>'没有找到该订单');
+            return array('code' => 403, 'message' => '没有找到该订单');
         }
 //        //订单7天后不能退款
 //        if (isset($order['code']) && $order['code'] == 200) {
@@ -538,7 +601,7 @@ class ReturnsModel
         //调取接口查询订单详情
         $order = OrderData::viewOrderData($orderCode, $uid, '');
         if (empty($order)) {
-            return array('code'=>403,'message'=>'没有找到该订单');
+            return array('code' => 403, 'message' => '没有找到该订单');
         }
 //        //订单15天后不能换货
 //        if (isset($order['code']) && $order['code'] == 200) {
@@ -573,15 +636,15 @@ class ReturnsModel
         $path = UserModel::getCenterCrumb('退货/换货');
         $leftNav = UserModel::getCenterLeftNav('我的退/换货', $uid);
         $data = array(
-            'path'=>$path,
-            'homeNav'=>$leftNav,
+            'path' => $path,
+            'homeNav' => $leftNav,
             'save' => array(
                 'type' => '退货',
                 'ordersHref' => Helpers::url('/home/orders'),
                 'returnsHref' => Helpers::url('/home/returns'),
                 'refund' => array(  // 退货时传退货收件地址
-                    'address' => '南京市江宁区江宁经济技术开发区苏源大道87号YOHO!BUY 有货物流中心东一楼',
-                    'name' => 'YOHO!BUY 有货',
+                    'address' => '南京市江宁区江宁经济技术开发区苏源大道87号YOHO!有货物流中心东一楼',
+                    'name' => 'YOHO!有货',
                     'phone' => '400-889-9646',
                     'postcode' => '211106'
                 )
@@ -603,8 +666,8 @@ class ReturnsModel
         $path = UserModel::getCenterCrumb('退货/换货');
         $leftNav = UserModel::getCenterLeftNav('我的退/换货', $uid);
         $data = array(
-            'path'=>$path,
-            'homeNav'=>$leftNav,
+            'path' => $path,
+            'homeNav' => $leftNav,
             'save' => array(
                 'type' => '换货',
                 'ordersHref' => Helpers::url('/home/orders'),
diff --git a/yohobuy/www.yohobuy.com/application/models/Home/VIP.php b/yohobuy/www.yohobuy.com/application/models/Home/VIP.php
index 2abfe4f..98aa32b 100644
--- a/yohobuy/www.yohobuy.com/application/models/Home/VIP.php
+++ b/yohobuy/www.yohobuy.com/application/models/Home/VIP.php
@@ -9,7 +9,7 @@
 namespace Home;
 
 use LibModels\Web\Home\UserData;
-
+use \WebPlugin\Helpers;
 class VIPModel
 {
     /**
@@ -44,7 +44,7 @@ class VIPModel
             foreach ($enjoyPreferences as $k => $v) {
                 $preferences[$k]['id'] = $v['id'];
                 $preferences[$k]['favTxt'] = $v['title'];
-                $preferences[$k]['imgType'] = $v['pic'];
+                $preferences[$k]['imgType'] = Helpers::getUrlSafe($v['pic']);
                 $preferences[$k]['description'] = $v['description'];
             }
         }
diff --git a/yohobuy/www.yohobuy.com/application/models/Index/Brands.php b/yohobuy/www.yohobuy.com/application/models/Index/Brands.php
index d47eb30..09ae668 100644
--- a/yohobuy/www.yohobuy.com/application/models/Index/Brands.php
+++ b/yohobuy/www.yohobuy.com/application/models/Index/Brands.php
@@ -65,7 +65,7 @@ class BrandsModel
                 $brandAds[$tbk] = array(
                     'name' => $tbv['name'],
                     'src' => Helpers::getImageUrl($tbv['src'], 80, 50, 3),
-                    'url' => $tbv['url'],
+                    'url' => Helpers::getUrlSafe($tbv['url']),
                 );
             }
         }
@@ -82,7 +82,7 @@ class BrandsModel
                 $brandLogos[$tk] = array(
                     'name' => $tv['title'],
                     'src' => $srcUrl,
-                    'url' => $tv['url']
+                    'url' => Helpers::getUrlSafe($tv['url'])
                 );
             }
         }
@@ -351,7 +351,7 @@ class BrandsModel
                         $val['url'] = Helpers::url('/brands/plusstar?id=' . $id);
                     }
                     if (isset($resource[0]['data'][$pos])) {
-                        $val['url'] = $resource[0]['data'][$pos]['url'];
+                        $val['url'] = Helpers::getUrlSafe($resource[0]['data'][$pos]['url']);
                         $val['src'] = Images::getImageUrl($resource[0]['data'][$pos]['src'], 222, 180, 1);
                         $val['name'] = $resource[0]['data'][$pos]['title'];
                     }
@@ -476,7 +476,7 @@ class BrandsModel
                 if (isset($news[$id])) {
                     $val['img'] = Images::getImageUrl($news[$id]['src'], 764, 436, 1);
                     $val['tips'] = $news[$id]['title'];
-                    $val['href'] = $news[$id]['url'];
+                    $val['href'] = Helpers::getUrlSafe($news[$id]['url']);
                 }
                 else {
                     unset($newsList['pics']['list'][$key]);
@@ -492,7 +492,7 @@ class BrandsModel
                 if (isset($news[$id])) {
                     $val['img'] = Images::getImageUrl($news[$id]['src'], 280, 160, 1);
                     $val['name'] = $news[$id]['title'];
-                    $val['href'] = $news[$id]['url'];
+                    $val['href'] = Helpers::getUrlSafe($news[$id]['url']);
                     //  $val['des'] = $news[$id]['summary'];
                 }
                 else {
diff --git a/yohobuy/www.yohobuy.com/application/models/Index/Coupon.php b/yohobuy/www.yohobuy.com/application/models/Index/Coupon.php
index cc284e9..74cb43d 100644
--- a/yohobuy/www.yohobuy.com/application/models/Index/Coupon.php
+++ b/yohobuy/www.yohobuy.com/application/models/Index/Coupon.php
@@ -4,6 +4,7 @@ namespace Index;
 
 use WebPlugin\Helpers;
 use WebPlugin\Images;
+use WebPlugin\Encryption;
 use Index\HomeModel;
 use LibModels\Web\Home\CouponData;
 
@@ -44,7 +45,7 @@ class CouponModel
                 if (isset($couponlistval['templateName']) && $couponlistval['templateName'] == 'focus') {
                     foreach ($couponlistval['data'] as $focus) {
                         $result['slide']['list'][] = array(
-                            'href' => $focus['url'], //banner跳转链接
+                            'href' => Helpers::getUrlSafe($focus['url']), //banner跳转链接
                             'img' => Images::getForceSourceUrl($focus['src'])//banner图片
                         );
                     }
@@ -60,9 +61,9 @@ class CouponModel
                     );
                     foreach ($couponlistval['data'] as $couponskey => $couponsval) {
                         $result['categories'][$i]['coupons'][$couponskey] = array(
-                            'id' => $couponsval['couponID'], //优惠券号
+                            'id' => Encryption::encrypt($couponsval['couponID']), //加密优惠券号
                             'img' => Images::getForceSourceUrl($couponsval['image']['src']), //优惠券图片
-                            'url' => $couponsval['image']['url']    //去逛逛链接
+                            'url' =>  Helpers::getUrlSafe($couponsval['image']['url'])    //去逛逛链接
                         );
 
                         //领取状态判断
diff --git a/yohobuy/www.yohobuy.com/application/models/Index/Home.php b/yohobuy/www.yohobuy.com/application/models/Index/Home.php
index de3e8fe..ded1a4f 100644
--- a/yohobuy/www.yohobuy.com/application/models/Index/Home.php
+++ b/yohobuy/www.yohobuy.com/application/models/Index/Home.php
@@ -82,8 +82,8 @@ class HomeModel
                     $item = array(
                         'name_cn' => $val['sort_name'], // 父级
                         'name_en' => $val['sort_name_en'],
-                        'link' => $val['sort_url'],
-                        'icon' => $val['sort_ico'],
+                        'link' =>  Helpers::getUrlSafe($val['sort_url']),
+                        'icon' => Helpers::getUrlSafe($val['sort_ico']),
                         'classname' => str_replace(' ', '', strtolower($val['sort_name_en'])) == $channel ? $channel .' cure' : '',
                         'index_main' => $indexMain ++,
                         'content_code' => $val['content_code'],
@@ -100,11 +100,14 @@ class HomeModel
                     };
 
                     $indexSub = 0;
+
+                    //判断sub变量是否存在
+                    $val['sub'] = empty($val['sub']) ? array() : $val['sub'];
                     foreach ($val['sub'] as $sub) { // 二级
                         $subnav = array(
                             'name' => $sub['sort_name'],
                             'name_en' => $sub['sort_name_en'],
-                            'link' => $sub['sort_url'],
+                            'link' =>  Helpers::getUrlSafe($sub['sort_url']),
                             'is_hot' => $sub['is_hot'] == 'Y' ? true : false,
                             'is_new' => $sub['is_new'] == 'Y' ? true : false,
                             'content_code' => $sub['content_code'],
@@ -117,7 +120,7 @@ class HomeModel
                                 $thirdnav = array(
                                     'title' => $thirdsub['sort_name'],
                                     'name_en' => $thirdsub['sort_name_en'],
-                                    'link' => $thirdsub['sort_url'],
+                                    'link' =>  Helpers::getUrlSafe($thirdsub['sort_url']),
                                     'content_code' => $thirdsub['content_code'],
                                     //       'branditems' => array()
                                 );
@@ -125,7 +128,7 @@ class HomeModel
                                     foreach ($thirdsub['sub'] as $fourthnav) { // 四级
                                         $thirdnav['branditems'][] = array(
                                             'brandname' => $fourthnav['sort_name'],
-                                            'link' => $fourthnav['sort_url'],
+                                            'link' =>  Helpers::getUrlSafe($fourthnav['sort_url']),
                                             'hot' => $fourthnav['is_hot'] == 'Y' ? 'hot' : ''
                                         );
                                     }
@@ -375,7 +378,7 @@ class HomeModel
                     $channel = str_replace(' ', '', strtolower($nav['sort_name_en']));
                     $list[] = array(
                         'channel' => $channel,
-                        'url' => $nav['sort_url'],
+                        'url' =>  Helpers::getUrlSafe($nav['sort_url']),
                         'sort_name' => $nav['sort_name'],
                         'sort_name_en' => $nav['sort_name_en'],
                         'content_code' => $nav['content_code'],
diff --git a/yohobuy/www.yohobuy.com/application/models/Passport/Passport.php b/yohobuy/www.yohobuy.com/application/models/Passport/Passport.php
index 6f27dc2..1db7349 100644
--- a/yohobuy/www.yohobuy.com/application/models/Passport/Passport.php
+++ b/yohobuy/www.yohobuy.com/application/models/Passport/Passport.php
@@ -50,7 +50,7 @@ class PassportModel
             if (!isset($resource['data'][0])) {
                 $ret = Cache::get($key, 'slave');
                 if (empty($ret)) {
-                    $ret = array('img' => 'http://img12.static.yhbimg.com/yhb-img01/2015/12/01/07/020a0b6e7ff908d0c2bc4045b4fef42b9f.png?imageView/2/w/252/h/190', 'url' => '');
+                    $ret = array('img' => '//img12.static.yhbimg.com/yhb-img01/2015/12/01/07/020a0b6e7ff908d0c2bc4045b4fef42b9f.png?imageView/2/w/252/h/190', 'url' => '');
                 }
                 break;
             }
@@ -62,7 +62,7 @@ class PassportModel
                 $val = $resource['data'][0]['data'];
             }
             $ret['img'] = Images::getImageUrl($val['src'], 252, 190);
-            $ret['url'] = $val['url'];
+            $ret['url'] =  Helpers::getUrlSafe($val['url']);
 
             // 设置缓存
             Cache::set($key, $ret);
diff --git a/yohobuy/www.yohobuy.com/application/models/Product/Brands.php b/yohobuy/www.yohobuy.com/application/models/Product/Brands.php
index 3d6a2c4..66552f5 100644
--- a/yohobuy/www.yohobuy.com/application/models/Product/Brands.php
+++ b/yohobuy/www.yohobuy.com/application/models/Product/Brands.php
@@ -163,7 +163,7 @@ class BrandsModel
         if (!empty($brandInfo['data']) && $brandInfo['code'] == 200) {
             $result['brandId'] = isset($brandInfo['data']['id']) ? $brandInfo['data']['id'] : '';
             $result['node'] = isset($brandInfo['data']['static_content_code']) ? $brandInfo['data']['static_content_code'] : false;
-            $result['brandBanner'] = isset($brandInfo['data']['brand_banner']) ? $brandInfo['data']['brand_banner'] : '';
+            $result['brandBanner'] = isset($brandInfo['data']['brand_banner']) ? Helpers::getUrlSafe($brandInfo['data']['brand_banner']) : '';
             $result['brandNameEn'] = isset($brandInfo['data']['brand_name_en']) ? $brandInfo['data']['brand_name_en'] : '';
             $result['brandNameCn'] = isset($brandInfo['data']['brand_name_cn']) ? $brandInfo['data']['brand_name_cn'] : '';
             $result['brandAbout'] = isset($brandInfo['data']['brand_intro']) ? $brandInfo['data']['brand_intro'] : '';
@@ -197,7 +197,7 @@ class BrandsModel
         if (isset($series['data']) && $series['code'] === 200) {
             foreach ($series['data'] as $value) {
                 $result['list'][$index]['href'] = '?series=' . $value['id'];
-                $result['list'][$index]['src'] = $value['series_banner'];
+                $result['list'][$index]['src'] = Helpers::getUrlSafe($value['series_banner']);
                 ++ $index;
             }
             //title设置为经典系列
@@ -207,7 +207,7 @@ class BrandsModel
         if (isset($advNav['data']) && $advNav['code'] === 200) {
             foreach ($advNav['data'] as $value) {
                 $result['list'][$index]['href'] = '?folder_id=' . $value['id'];
-                $result['list'][$index]['src'] = $value['brand_sort_ico'];
+                $result['list'][$index]['src'] = Helpers::getUrlSafe($value['brand_sort_ico']);
                 ++ $index;
             }
             //title设置为经典系列
diff --git a/yohobuy/www.yohobuy.com/application/models/Product/Index.php b/yohobuy/www.yohobuy.com/application/models/Product/Index.php
index 98b11df..4fee1dc 100644
--- a/yohobuy/www.yohobuy.com/application/models/Product/Index.php
+++ b/yohobuy/www.yohobuy.com/application/models/Product/Index.php
@@ -71,8 +71,8 @@ class IndexModel
         if (isset($ads['code']) && $ads['code'] == 200 && !empty($ads['data'])) {
             $res = array();
             foreach($ads['data'] as $key=>$value) {
-                $res['picLink']['list'][$key]['href'] = isset($value['ads_url']) ? $value['ads_url'] : '';
-                $res['picLink']['list'][$key]['src'] = isset($value['ads_image']) ? $value['ads_image'] : '';
+                $res['picLink']['list'][$key]['href'] = isset($value['ads_url']) ?  Helpers::getUrlSafe($value['ads_url']) : '';
+                $res['picLink']['list'][$key]['src'] = isset($value['ads_image']) ?  Helpers::getUrlSafe($value['ads_image']) : '';
             }
             $result['leftContent'][] = $res;
         }
@@ -95,7 +95,7 @@ class IndexModel
         $banner['img'] = $bannerData['logo'];
         foreach($bannerData['keyword'] as $key => $vo){
             $banner['keyEntry'][$key]['name'] = $vo['word'];
-            $banner['keyEntry'][$key]['url'] = $vo['url'];
+            $banner['keyEntry'][$key]['url'] = Helpers::getUrlSafe($vo['url']);
         }
         
         return $banner;
diff --git a/yohobuy/www.yohobuy.com/application/models/Product/Item.php b/yohobuy/www.yohobuy.com/application/models/Product/Item.php
old mode 100644
new mode 100755
index 1841636..8caf4de
--- a/yohobuy/www.yohobuy.com/application/models/Product/Item.php
+++ b/yohobuy/www.yohobuy.com/application/models/Product/Item.php
@@ -1,16 +1,17 @@
 <?php
 namespace Product;
-use LibModels\Web\Product\ItemData;
-use WebPlugin\Helpers;
-use WebPlugin\Images;
-use LibModels\Web\Product\SearchData;
-use LibModels\Web\Product\FavoriteData;
+
 use Api\Yohobuy;
-use WebPlugin\Cache;
-use Configs\WebCacheConfig;
 use Configs\ChannelConfig;
+use Configs\WebCacheConfig;
 use LibModels\Web\Product\BrandData;
-use Product\BrandsModel;
+use LibModels\Web\Product\FavoriteData;
+use LibModels\Web\Product\ItemData;
+use LibModels\Web\Product\SearchData;
+use WebPlugin\Cache;
+use WebPlugin\Helpers;
+use WebPlugin\Images;
+
 class ItemModel
 {
     /**
@@ -35,7 +36,7 @@ class ItemModel
         $statGoodsInfo = array();
         $banner = array();
         $baseInfo = ItemData::baseInfo($productId, $uid, $productSkn);
-        if(empty($baseInfo['productName']) && empty($baseInfo['erpProductId']) && empty($baseInfo['productPriceBo'])) {
+        if (empty($baseInfo['productName']) && empty($baseInfo['erpProductId']) && empty($baseInfo['productPriceBo'])) {
             return array();
         }
         $baseInfo['uid'] = $uid;
@@ -50,7 +51,7 @@ class ItemModel
         $brandId = 0;
         //设置并发请求数据
         self::setMultiResourceByProductBaseInfo($baseInfo);
-        if(isset($baseInfo['brand']['id'])) {
+        if (isset($baseInfo['brand']['id'])) {
             $brandId = $baseInfo['brand']['id'];
         }
         //收藏喜欢
@@ -69,12 +70,13 @@ class ItemModel
             $goodsInfo['isOutlets'] = $baseInfo['isOutlets'] == 'Y' ? 'outlets' : '';
         }
         
+
         // 商品价格
         if (isset($baseInfo['productPriceBo'])) {
             $goodsInfo['marketPrice'] = $baseInfo['productPriceBo']['formatMarketPrice'];
             $goodsInfo['hasOtherPrice'] = true;//非市场价格
             $goodsInfo['salePrice'] = $baseInfo['productPriceBo']['formatSalesPrice'];
-            if($goodsInfo['marketPrice'] == $goodsInfo['salePrice']) {//价格相同,只显示市场价格
+            if ($goodsInfo['marketPrice'] == $goodsInfo['salePrice']) {//价格相同,只显示市场价格
                 unset($goodsInfo['salePrice']);
                 $goodsInfo['hasOtherPrice'] = false;
             }
@@ -82,15 +84,32 @@ class ItemModel
 
         //VIP数据
         $goodsInfo['vipPrice'] = self::getVipDataByProductBaseInfo($baseInfo, $vipLevel, $uid);
-        //促销活动banner
-        $goodsInfo['activity'] = self::getActivityDataByProductBaseInfo($baseInfo);
+
+        // 促销信息声明
+        $goodsInfo['activity'] = array();
+
+        // 促销 banner
+        $promotionBanner = self::getProductActivityBanner($baseInfo['id']);
+        if (!empty($promotionBanner)) {
+            $goodsInfo['activity'][] = $promotionBanner;
+        }
+
+        // 促销活动,另外调用接口获取
+        $activityOrigin = ItemData::promotion($baseInfo['productPriceBo']['productSkn']);
+
+        if ($activityOrigin['code'] === 200) {
+            $activityList = self::getActivityDataByProductBaseInfo($activityOrigin['data']);
+
+            if (!empty($activityList)) {
+                $goodsInfo['activity'] = array_merge($goodsInfo['activity'], $activityList);
+            }
+        }
 
         if (isset($baseInfo['productPriceBo']['yohoCoinNum']) && $baseInfo['productPriceBo']['yohoCoinNum'] !== 0) {
             array_push($goodsInfo['activity'],
                 array('type' => '返YOHO币', 'des' => '每件返 ' . $baseInfo['productPriceBo']['yohoCoinNum'] . '个 YOHO币')
             );
         }
-
         // 上市期
         if (isset($baseInfo['expectArrivalTime']) && !empty($baseInfo['expectArrivalTime'])) {
             $goodsInfo['arrivalDate'] = $baseInfo['expectArrivalTime'] . '月';
@@ -103,11 +122,11 @@ class ItemModel
         $consultComment = self::getConsultCommentDataByProductInfo($baseInfo);
         // 品牌信息
         if (!empty($baseInfo['brand'])) {
-            $goodsInfo['brandImg'] =  Helpers::getImageUrl($baseInfo['brand']['brandIco'], 47, 47);
+            $goodsInfo['brandImg'] = Helpers::getImageUrl($baseInfo['brand']['brandIco'], 47, 47);
             $goodsInfo['brandName'] = $baseInfo['brand']['brandName'];
             $goodsInfo['brandUrl'] = Helpers::url('', array(), $baseInfo['brand']['brandDomain']);
             $banner = self::getBrandDataByProductBaseInfo($baseInfo);
-            if(isset($banner['isCollect']) && isset($favoriteData['brand'])) {
+            if (isset($banner['isCollect']) && isset($favoriteData['brand'])) {
                 $banner['isCollect'] = $favoriteData['brand'];
             }
         }
@@ -133,12 +152,12 @@ class ItemModel
             $fashTopGoods = self::getFashionTopGoodsStatus($uid, $showStatus, $isBeginSale);
             //潮流尖货状态
             $goodsInfo['fashionTopGoods'] = array(
-                        'getLimitedCode' => $fashTopGoods['getLimitedCode'],//限购码状态
-                        'hasLimitedCode' => $fashTopGoods['hasLimitedCode'],//是否已经获取限购码
-                        'limitedCodeSoldOut'=> $fashTopGoods['limitedCodeSoldOut'],//限购码是否已经抢光
-                        'getLimitedCodeDis' => $fashTopGoods['getLimitedCodeDis'],//限购码是否失效
-                     );
-            if($fashTopGoods['soldOut']) {
+                'getLimitedCode' => $fashTopGoods['getLimitedCode'],//限购码状态
+                'hasLimitedCode' => $fashTopGoods['hasLimitedCode'],//是否已经获取限购码
+                'limitedCodeSoldOut' => $fashTopGoods['limitedCodeSoldOut'],//限购码是否已经抢光
+                'getLimitedCodeDis' => $fashTopGoods['getLimitedCodeDis'],//限购码是否失效
+            );
+            if ($fashTopGoods['soldOut']) {
                 $goodsInfo['soldOut'] = $fashTopGoods['soldOut'];
                 $totalStorageNum = 0;//改总数为已售磬
             } else {
@@ -152,39 +171,40 @@ class ItemModel
         $notForSale = $baseInfo['attribute'] == 2;//非卖品
         $virtualGoods = $baseInfo['attribute'] == 3;//虚拟商品
         if (!$soldOut && !$notForSale && !$virtualGoods) {
-             $goodsInfo['addToCart'] = true;
-           //立即购买或者即将开售存在
-            if((isset($goodsInfo['buyNow']) && $goodsInfo['buyNow'])  ||
-               (isset($goodsInfo['openSoon']) && $goodsInfo['openSoon'])) {
+            $goodsInfo['addToCart'] = true;
+            //立即购买或者即将开售存在
+            if ((isset($goodsInfo['buyNow']) && $goodsInfo['buyNow']) ||
+                (isset($goodsInfo['openSoon']) && $goodsInfo['openSoon'])
+            ) {
                 unset($goodsInfo['addToCart']);
             }
-        }// 非卖品
+        }
+        // 非卖品
         elseif ($notForSale) {
             $goodsInfo['notForSale'] = true;
-        }
+        } 
         // 已售磬
         elseif ($soldOut) {
             $goodsInfo['soldOut'] = true;
             unset($goodsInfo['fashionTopGoods']);
-        }
-        //虚拟商品
-        else if($virtualGoods) {
+        } //虚拟商品
+        else if ($virtualGoods) {
             $goodsInfo['buyNow'] = true;//是否立即购买
             $goodsInfo['buyNowBase'] = Helpers::url('/ticket', array(), 'shopping');
             $goodsInfo['virtualGoods'] = $virtualGoods;
-            if(isset($goodsInfo['salePrice'])) {
+            if (isset($goodsInfo['salePrice'])) {
                 $goodsInfo['advancePrice'] = $goodsInfo['salePrice'];//先行价格
                 unset($goodsInfo['salePrice']);
             }
         }
         //去掉即将售罄
-        if(empty($totalStorageNum) || $soldOut) {
-            if(isset($goodsInfo['tags']['isFew'])) {
+        if (empty($totalStorageNum) || $soldOut) {
+            if (isset($goodsInfo['tags']['isFew'])) {
                 unset($goodsInfo['tags']['isFew']);//去掉即将售罄
             }
         }
         //分享相关
-        $goodsInfo['weixinUrl'] = Helpers::url($_SERVER['REQUEST_URI'], array(),'item');
+        $goodsInfo['weixinUrl'] = Helpers::url($_SERVER['REQUEST_URI'], array(), 'item');
         $goodsInfo['sharedTitle'] = $goodsInfo['name'];
         $goodsInfo['shareImg'] = $goodsInfo['img'];
         $goodsInfo['shareDesc'] = $baseInfo['phrase'];
@@ -193,10 +213,10 @@ class ItemModel
         $statGoodsInfo['uid'] = $uid;
         $statGoodsInfo['skn'] = $baseInfo['erpProductId'];
         $statGoodsInfo['productId'] = $productId;
-        $statGoodsInfo['productName'] = str_replace("'", "’",$goodsInfo['name']);
-        $statGoodsInfo['brandName'] = empty($goodsInfo['brandName'])? '' : str_replace("'", "’", $goodsInfo['brandName']);
+        $statGoodsInfo['productName'] = str_replace("'", "’", $goodsInfo['name']);
+        $statGoodsInfo['brandName'] = empty($goodsInfo['brandName']) ? '' : str_replace("'", "’", $goodsInfo['brandName']);
         $statGoodsInfo['marketPrice'] = str_replace('¥', '', $goodsInfo['marketPrice']);
-        if(isset($goodsInfo['salePrice'])) {
+        if (isset($goodsInfo['salePrice'])) {
             $statGoodsInfo['salePrice'] = str_replace('¥', '', $goodsInfo['salePrice']);
         } else {
             $statGoodsInfo['salePrice'] = str_replace('¥', '', $goodsInfo['marketPrice']);
@@ -227,7 +247,7 @@ class ItemModel
         $statGoodsInfo['productUrl'] = $goodsInfo['weixinUrl'];
         $statGoodsInfo['smallSortId'] = $goodsInfo['smallSortId'];
         $statGoodsInfo['soldOut'] = intval($soldOut);
-        return array('goodsInfo'=> $goodsInfo,'consultComment' => $consultComment, 'banner'=> $banner,'statGoodsInfo' => $statGoodsInfo);
+        return array('goodsInfo' => $goodsInfo, 'consultComment' => $consultComment, 'banner' => $banner, 'statGoodsInfo' => $statGoodsInfo);
     }
 
     /**
@@ -242,11 +262,11 @@ class ItemModel
         if (is_numeric($productSkn)) {
             //并发资源中是否存在数据
             $sizeInfo = self::getMultiDataByResourceName('ItemData::sizeInfo');
-            if(empty($sizeInfo)) {
+            if (empty($sizeInfo)) {
                 //获取尺码
                 $sizeInfo = ItemData::sizeInfo($productSkn);
             }
-            if(empty($sizeInfo)) {
+            if (empty($sizeInfo)) {
                 return array();
             }
             $productId = $sizeInfo['productBo']['id'];
@@ -266,15 +286,14 @@ class ItemModel
             $fittingReport = self::getProductModelTry($productSkn);
             //获取尺寸说明
             $sizeAttr = array();
-            if(!empty($sizeInfo['sizeInfoBo'])) {
+            if (!empty($sizeInfo['sizeInfoBo'])) {
                 //根据最大分类ID获取尺寸属性
                 $sizeAttr = self::getSizeAttrByMaxSortId($maxSortId, $sizeInfo['sizeInfoBo']);
             }
-            return array('material'=> $material, 'size'=> $size, 'reference'=> $reference,
-                'modelCards'=> $modelCards,'details'=> $details,'fittingReport' =>$fittingReport,
-                'description'=> $description,'sizeTitleJson' => json_encode($sizeAttr));
-        }
-        else {
+            return array('material' => $material, 'size' => $size, 'reference' => $reference,
+                'modelCards' => $modelCards, 'details' => $details, 'fittingReport' => $fittingReport,
+                'description' => $description, 'sizeTitleJson' => json_encode($sizeAttr));
+        } else {
             return array();
         }
 
@@ -293,8 +312,8 @@ class ItemModel
         $goodsInfo = array();
         $size = array();
         $baseInfo = ItemData::baseInfo($productId, $uid);
-        if(!empty($baseInfo)) {
-            if(empty($baseInfo['productName']) && empty($baseInfo['erpProductId']) && empty($baseInfo['productPriceBo'])) {
+        if (!empty($baseInfo)) {
+            if (empty($baseInfo['productName']) && empty($baseInfo['erpProductId']) && empty($baseInfo['productPriceBo'])) {
                 return array();
             }
             $goodsInfo['name'] = $baseInfo['productName'];
@@ -310,7 +329,7 @@ class ItemModel
                 $goodsInfo['marketPrice'] = Helpers::transPrice($baseInfo['productPriceBo']['marketPrice']);
                 $goodsInfo['salePrice'] = Helpers::transPrice($baseInfo['productPriceBo']['salesPrice']);
                 $goodsInfo['hasOtherPrice'] = true;//非市场价格
-                if($goodsInfo['marketPrice'] == $goodsInfo['salePrice']) {//价格相同,只显示市场价格
+                if ($goodsInfo['marketPrice'] == $goodsInfo['salePrice']) {//价格相同,只显示市场价格
                     unset($goodsInfo['salePrice']);
                     $goodsInfo['hasOtherPrice'] = false;
                 }
@@ -333,9 +352,9 @@ class ItemModel
             $goodsInfo['img'] = $skuData['defaultImage'];
             $goodsInfo['colors'] = $skuData['skuGoods'];
             $favoriteData = FavoriteData::getUidProductFav($uid, $productId);
-            $goodsInfo['isCollect'] = $favoriteData['code'] == 200 && $favoriteData['data'] ? true:false;
+            $goodsInfo['isCollect'] = $favoriteData['code'] == 200 && $favoriteData['data'] ? true : false;
             $sizeInfo = ItemData::sizeInfo($baseInfo['erpProductId']);
-            if(!empty($sizeInfo)) {
+            if (!empty($sizeInfo)) {
                 $size = self::getSizeDataBySizeInfo($sizeInfo);
                 $goodsInfo['size'] = $size;
             }
@@ -355,10 +374,10 @@ class ItemModel
                 $goodsInfo['fashionTopGoods'] = array(
                     'getLimitedCode' => $fashTopGoods['getLimitedCode'],//限购码状态
                     'hasLimitedCode' => $fashTopGoods['hasLimitedCode'],//是否已经获取限购码
-                    'limitedCodeSoldOut'=> $fashTopGoods['limitedCodeSoldOut'],//限购码是否已经抢光
+                    'limitedCodeSoldOut' => $fashTopGoods['limitedCodeSoldOut'],//限购码是否已经抢光
                     'getLimitedCodeDis' => $fashTopGoods['getLimitedCodeDis'],//限购码是否失效
                 );
-                if($fashTopGoods['soldOut']) {
+                if ($fashTopGoods['soldOut']) {
                     $goodsInfo['soldOut'] = $fashTopGoods['soldOut'];
                     $totalStorageNum = 0;//改总数为已售磬
                 } else {
@@ -375,24 +394,23 @@ class ItemModel
             if (!$soldOut && !$notForSale && !$virtualGoods) {
                 $goodsInfo['addToCart'] = true;
                 //立即购买或者即将开售存在
-                if((isset($goodsInfo['buyNow']) && $goodsInfo['buyNow'])  ||
-                    (isset($goodsInfo['openSoon']) && $goodsInfo['openSoon'])) {
-                        unset($goodsInfo['addToCart']);
-                    }
+                if ((isset($goodsInfo['buyNow']) && $goodsInfo['buyNow']) ||
+                    (isset($goodsInfo['openSoon']) && $goodsInfo['openSoon'])
+                ) {
+                    unset($goodsInfo['addToCart']);
+                }
             }// 非卖品
             elseif ($notForSale) {
                 //$goodsInfo['notForSale'] = true;
                 $goodsInfo['addToCart'] = true;//赠品
-            }
-            // 已售磬
+            } // 已售磬
             elseif ($soldOut) {
                 $goodsInfo['soldOut'] = true;
-            }
-            else if($virtualGoods) {
+            } else if ($virtualGoods) {
                 $goodsInfo['buyNow'] = true;//是否立即购买
                 $goodsInfo['buyNowBase'] = Helpers::url('/ticket', array(), 'shopping');
                 $goodsInfo['virtualGoods'] = $virtualGoods;
-                if(isset($goodsInfo['salePrice'])) {
+                if (isset($goodsInfo['salePrice'])) {
                     $goodsInfo['advancePrice'] = $goodsInfo['salePrice'];//先行价格
                     unset($goodsInfo['salePrice']);
                 }
@@ -410,19 +428,19 @@ class ItemModel
      */
     public static function getSortNav($smallSortId)
     {
-        $key = WebCacheConfig::KEY_WEB_ITEM_SORT_DATA.'_'.$smallSortId;
+        $key = WebCacheConfig::KEY_WEB_ITEM_SORT_DATA . '_' . $smallSortId;
         $navs = Cache::get($key);
-        if(empty($navs)) {
-            $data = SearchData::getSortByCondition(array('sort'=> $smallSortId));
-            if(!empty($data['data'])) {
+        if (empty($navs)) {
+            $data = SearchData::getSortByCondition(array('sort' => $smallSortId));
+            if (!empty($data['data'])) {
                 $sort = current($data['data']['sort']);
                 //一级分类
-                $navs[] = array('href' => Helpers::url('', array('msort'=> $sort['sort_id'],
-                    'gender' => Helpers::getGenderByCookie()),'list'), 'name' => $sort['sort_name'],'pathTitle' => $sort['sort_name']);
-                if(!empty($sort['sub'])) {//二级分类
+                $navs[] = array('href' => Helpers::url('', array('msort' => $sort['sort_id'],
+                    'gender' => Helpers::getGenderByCookie()), 'list'), 'name' => $sort['sort_name'], 'pathTitle' => $sort['sort_name']);
+                if (!empty($sort['sub'])) {//二级分类
                     $subSort = current($sort['sub']);
-                    $navs[] = array('href' => Helpers::url('', array('msort'=> $sort['sort_id'],'misort'=>$subSort['sort_id'],
-                        'gender' => Helpers::getGenderByCookie()),'list'), 'name' => $subSort['sort_name'], 'pathTitle' => $subSort['sort_name']);
+                    $navs[] = array('href' => Helpers::url('', array('msort' => $sort['sort_id'], 'misort' => $subSort['sort_id'],
+                        'gender' => Helpers::getGenderByCookie()), 'list'), 'name' => $subSort['sort_name'], 'pathTitle' => $subSort['sort_name']);
                 }
                 Cache::set($key, $navs);
             }
@@ -459,7 +477,7 @@ class ItemModel
                     $build['like'] = intval($value['like']);
                     $build['isUseful'] = $value['is_useful'] === 'Y';
                     $build['useful'] = intval($value['useful']);
-                    $build['total']= $value['total'];
+                    $build['total'] = $value['total'];
                     $result[] = $build;
                 }
             }
@@ -484,8 +502,8 @@ class ItemModel
                 $build = array();
                 foreach ($commentList['data'] as $value) {
                     $headIco = ChannelConfig::$itemHeadDefaultImgIco;
-                    if(!empty($value['head_ico'])) {
-                        if(preg_match('@http://@', $value['head_ico'])) {
+                    if (!empty($value['head_ico'])) {
+                        if (preg_match('@http://@', $value['head_ico'])) {
                             $headIco = preg_replace('@http:\/\/img(.+)\.static\.yhbimg\.com\/headimg@', 'http://head.static.yhbimg.com/yhb-head/', $value['head_ico']);
                             $headIco = Images::getImageUrl($headIco, 30, 30);
                         }
@@ -501,7 +519,7 @@ class ItemModel
                 }
             }
         }
-        return  $result;
+        return $result;
     }
 
     /**
@@ -514,13 +532,12 @@ class ItemModel
     {
         $result = array();
         $data = self::getMultiDataByResourceName('ItemData::getProductBanner');
-        if(empty($data)) {
+        if (empty($data)) {
             $data = ItemData::getProductBanner($productId);
         }
-        if(isset($data['code']) && $data['code'] == 200 && !empty($data['data']))
-        {
+        if (isset($data['code']) && $data['code'] == 200 && !empty($data['data'])) {
             $result['activityImg'] = Images::getImageUrl($data['data']['bannerImg'], 260, 64);
-            $result['url'] = $data['data']['promotionUrl'];
+            $result['url'] = Helpers::getUrlSafe($data['data']['promotionUrl']);
         }
         return $result;
     }
@@ -535,20 +552,20 @@ class ItemModel
     {
         $result = array();
         $data = ItemData::getProductHotArea($productId);
-        if(isset($data['code']) && $data['code'] == 200) {
-            if(!empty($data['data'])) {
+        if (isset($data['code']) && $data['code'] == 200) {
+            if (!empty($data['data'])) {
                 foreach ($data['data'] as $area) {
                     $temp = array();
                     $pos = 1;
-                    if(isset($area['imageUrl'])) {
+                    if (isset($area['imageUrl'])) {
                         $temp['img'] = Images::getForceSourceUrl($area['imageUrl']);
                     }
-                    foreach($area['infos'] as $val) {
-                        if(isset($val['product'])) {
-                            $point = array('label' => $pos++,'height' => $val['height'],
-                                'left' => $val['left'],'top' => $val['top'],
-                                'width'=> $val['width'],'product' => array());
-                            if(!empty($val['product']['goodsList'])) {
+                    foreach ($area['infos'] as $val) {
+                        if (isset($val['product'])) {
+                            $point = array('label' => $pos++, 'height' => $val['height'],
+                                'left' => $val['left'], 'top' => $val['top'],
+                                'width' => $val['width'], 'product' => array());
+                            if (!empty($val['product']['goodsList'])) {
                                 $goods = current($val['product']['goodsList']);
                                 //封面图
                                 $point['img'] = Images::getImageUrl($goods['colorImage'], 60, 60);
@@ -563,11 +580,11 @@ class ItemModel
                                 $point['href'] = $point['product']['href'];
                             }
                         }
-                        if(!empty($point)) {
+                        if (!empty($point)) {
                             $temp['list'][] = $point;
                         }
                     }
-                    if(!empty($temp)) {
+                    if (!empty($temp)) {
                         $result[] = $temp;
                     }
                 }
@@ -586,13 +603,13 @@ class ItemModel
     {
         $result = array();
         $data = self::getMultiDataByResourceName('ItemData::getProductModelCard');
-        if(empty($data)) {
+        if (empty($data)) {
             $data = ItemData::getProductModelCard($productId);
         }
-        if(isset($data['code']) && $data['code'] == 200) {
-            foreach($data['data'] as $val) {
+        if (isset($data['code']) && $data['code'] == 200) {
+            foreach ($data['data'] as $val) {
                 $result[] = array(
-                    'url' => Images::getForceSourceUrl($val['modelImg']),
+                    'url' => Helpers::getUrlSafe(Images::getForceSourceUrl($val['modelImg'])),
                     'size' => $val['size'],
                     'name' => $val['modelName']
                 );
@@ -624,15 +641,15 @@ class ItemModel
     {
         $result = array();
         $comfort = self::getMultiDataByResourceName('ItemData::getProductComfort');
-        if(empty($comfort)) {
+        if (empty($comfort)) {
             $comfort = ItemData::getProductComfort($productId);
         }
-        if(!empty($comfort['data'])) {
-            foreach($comfort['data'] as $val) {
+        if (!empty($comfort['data'])) {
+            foreach ($comfort['data'] as $val) {
                 $blocks = array();
                 $flag = false;
-                for($i =1;$i<=5; $i++) {
-                    if($i == $val['wearSense']['value']) {
+                for ($i = 1; $i <= 5; $i++) {
+                    if ($i == $val['wearSense']['value']) {
                         $flag = true;
                         $blocks[] = array('cur' => true);
                     } else {
@@ -640,12 +657,12 @@ class ItemModel
                     }
                 }
                 //存在,添加
-                if($flag) {
+                if ($flag) {
                     $result[] = array(
                         'name' => $val['caption']['caption'],
-                        'minDes'=> $val['caption']['low'],
-                        'blocks'=> $blocks,
-                        'maxDes'=>$val['caption']['high']
+                        'minDes' => $val['caption']['low'],
+                        'blocks' => $blocks,
+                        'maxDes' => $val['caption']['high']
                     );
                 }
             }
@@ -663,15 +680,15 @@ class ItemModel
     public static function getProductFavoriteData($uid, $productId, $brandId)
     {
         $result = array('product' => false, 'brand' => false);
-        if(!empty($uid)) {
-            if(!empty($productId)) {
+        if (!empty($uid)) {
+            if (!empty($productId)) {
                 $productData = self::getMultiDataByResourceName('FavoriteData::getUidProductFav');
-                if(empty($productData)) {
+                if (empty($productData)) {
                     $productData = FavoriteData::getUidProductFav($uid, $productId);
                 }
                 $result['product'] = $productData['code'] == 200 && $productData['data'] ? true : false;
             }
-            if(!empty($brandId)) {
+            if (!empty($brandId)) {
                 $brandData = FavoriteData::isFavoriteBrand($uid, $brandId);
                 $result['brand'] = isset($brandData['code']) && $brandData['code'] == 200 ? true : false;
             }
@@ -699,7 +716,7 @@ class ItemModel
         $multiResourcesUrl['ItemData::getProductModelCard'] = ItemData::getProductModelCard($productId, $isOnlyUrl);
         $multiResourcesUrl['ItemData::getProductModelTry'] = ItemData::getProductModelTry($skn, $isOnlyUrl);
         $multiResourcesUrl['BrandData::getBannerInfo'] = BrandData::getBannerInfo($brandId, $isOnlyUrl);
-        if(!empty($uid)) {
+        if (!empty($uid)) {
             $multiResourcesUrl['FavoriteData::getUidProductFav'] = FavoriteData::getUidProductFav($uid, $productId, $isOnlyUrl);
         }
         self::$multiResources = Yohobuy::getMulti($multiResourcesUrl, array(), false, 5, true);
@@ -713,7 +730,7 @@ class ItemModel
      */
     private static function getMultiDataByResourceName($resourceName)
     {
-        if(isset(self::$multiResources[$resourceName])) {
+        if (isset(self::$multiResources[$resourceName])) {
             return self::$multiResources[$resourceName];
         } else {
             return false;
@@ -744,21 +761,21 @@ class ItemModel
         $sizeInfos = array();
         $attributeNames = array();
         //获取属性名称
-        foreach($sizeList['sizeAttributeBos'] as $size) {
+        foreach ($sizeList['sizeAttributeBos'] as $size) {
             $attributeNames[$size['id']] = $size['attributeName'];
         }
 
-        foreach($sizeList['sizeBoList'] as $size) {
+        foreach ($sizeList['sizeBoList'] as $size) {
             $sizeValues = array();
-            foreach($size['sortAttributes'] as $sort) {
-                if(in_array($sort['id'], $attributeIds)) {
-                    if(!empty($sort['sizeValue'])) {
-                        $sizeValues[] = $attributeNames[$sort['id']].' '.$sort['sizeValue'].'cm';
+            foreach ($size['sortAttributes'] as $sort) {
+                if (in_array($sort['id'], $attributeIds)) {
+                    if (!empty($sort['sizeValue'])) {
+                        $sizeValues[] = $attributeNames[$sort['id']] . ' ' . $sort['sizeValue'] . 'cm';
                     }
                 }
             }
             //获取尺寸属性
-            if(!empty($sizeValues)) {
+            if (!empty($sizeValues)) {
                 $sizeInfos[$size['sizeName']] = implode(' / ', $sizeValues);
             }
         }
@@ -791,14 +808,14 @@ class ItemModel
             }
             // 判断是否显示参考尺码
             $showReference = ($boyReference && !empty($sizeInfo['sizeInfoBo']['sizeBoList'][0]['boyReferSize'])) ||
-            ($girlReference && !empty($sizeInfo['sizeInfoBo']['sizeBoList'][0]['girlReferSize']) );
+                ($girlReference && !empty($sizeInfo['sizeInfoBo']['sizeBoList'][0]['girlReferSize']));
 
             if (!empty($sizeInfo['sizeInfoBo']['sizeAttributeBos'])) {
                 //尺码信息头部
                 $size['thead'] = array(0 => array('name' => '吊牌尺码', 'id' => ''));
                 //显示参考尺码
                 if ($showReference) {
-                    $size['thead'][1] = array('name' => $referenceName,'id' => '');
+                    $size['thead'][1] = array('name' => $referenceName, 'id' => '');
                 }
                 foreach ($sizeInfo['sizeInfoBo']['sizeAttributeBos'] as $attr) {
                     $size['thead'][] = array('name' => empty($attr['attributeName']) ? ' ' : $attr['attributeName'], 'id' => $attr['id']);
@@ -809,11 +826,11 @@ class ItemModel
                     $sizes = array($value['sizeName']);
                     //判断是否显示参考尺码
                     if ($boyReference && ($gender == 1 || $gender == 3) && $showReference) {
-                        $sizes[] =  empty($value['boyReferSize']['referenceName']) ? ' ' : $value['boyReferSize']['referenceName'];
-                    } else if ($girlReference && ($gender == 2 || $gender == 3)  && $showReference) {
+                        $sizes[] = empty($value['boyReferSize']['referenceName']) ? ' ' : $value['boyReferSize']['referenceName'];
+                    } else if ($girlReference && ($gender == 2 || $gender == 3) && $showReference) {
                         $sizes[] = empty($value['girlReferSize']['referenceName']) ? ' ' : $value['girlReferSize']['referenceName'];
                     } else {
-                        if(isset($size['thead'][1]) && $showReference) {
+                        if (isset($size['thead'][1]) && $showReference) {
                             $size['thead'][1] = array();
                         }
                     }
@@ -825,7 +842,7 @@ class ItemModel
                     $size['tbody'][] = $sizes;
                 }
                 //参考尺码为空
-                if(isset($size['thead'][1]) && empty($size['thead'][1]) && $showReference) {
+                if (isset($size['thead'][1]) && empty($size['thead'][1]) && $showReference) {
                     unset($size['thead'][1]);
                     $size['thead'] = array_values($size['thead']);
                 }
@@ -834,7 +851,7 @@ class ItemModel
 
         // 测量方式
         if (!empty($sizeInfo['sizeImage'])) {
-            $size['sizeImg'] = $sizeInfo['sizeImage'];
+            $size['sizeImg'] = Helpers::getUrlSafe($sizeInfo['sizeImage']);
         }
         return $size;
     }
@@ -883,21 +900,21 @@ class ItemModel
             //模特信息
             $reference['tbody'] = array();
             $reference['thead'] = array(
-                array('name' => ''), array('name' => '模特', 'modelCol'=> true),
-                array('name' => '身高'),array('name' => '体重'),
-                array('name' => '三围'),array('name' => '吊牌尺码'),
+                array('name' => ''), array('name' => '模特', 'modelCol' => true),
+                array('name' => '身高'), array('name' => '体重'),
+                array('name' => '三围'), array('name' => '吊牌尺码'),
                 array('name' => '试穿描述'),
             );
             //模特数据
-            foreach($sizeInfo['modelBos'] as $value) {
+            foreach ($sizeInfo['modelBos'] as $value) {
                 $modelValue = array(Images::getForceSourceUrl($value['avatar']),
-                    $value['modelName'],$value['height'],$value['weight'],$value['vitalStatistics'],
-                    $value['fitModelBo']['fit_size'],$value['fitModelBo']['feel']
+                    $value['modelName'], $value['height'], $value['weight'], $value['vitalStatistics'],
+                    $value['fitModelBo']['fit_size'], $value['fitModelBo']['feel']
                 );
                 //是否有备注
                 if (!empty($value['fitModelBo']['fit_remark'])) {
                     $modelValue[] = $value['fitModelBo']['fit_remark'];
-                    $reference['thead'][7] = array('name' => '备注','remarkCol' => true);
+                    $reference['thead'][7] = array('name' => '备注', 'remarkCol' => true);
                 }
                 $reference['tbody'][] = $modelValue;
             }
@@ -918,7 +935,8 @@ class ItemModel
         if (!empty($sizeInfo['washTipsBoList'])) {
             $material['wash'] = array();
             foreach ($sizeInfo['washTipsBoList'] as $value) {
-                $material['wash'][] = array('name' => $value['caption'],'img' => $value['img']);
+                //$material['wash'][] = array('name' => $value['caption'], 'img' => $value['img']);
+                $material['wash'][] = array('name' => $value['caption'],'img' => Helpers::getUrlSafe($value['img']));
             }
         }
 
@@ -927,7 +945,7 @@ class ItemModel
             $material['materialDetail'] = array();
             foreach ($sizeInfo['productMaterialList'] as $value) {
                 $material['materialDetail'][] = array(
-                    'img' => $value['imageUrl'],
+                    'img' => Helpers::getUrlSafe($value['imageUrl']),
                     'name' => $value['caption'],
                     'enName' => $value['encaption'],
                     'text' => $value['remark']
@@ -957,12 +975,12 @@ class ItemModel
                     $sex = '女款';
                     break;
             }
-            $description['basic'][] = array('key' =>'编号','value' => $sizeInfo['productDescBo']['erpProductId']);
-            $description['basic'][] = array('key' =>'颜色','value' => $sizeInfo['productDescBo']['colorName'], 'dColor' => true);
-            $description['basic'][] = array('key' =>'性别','value' => $sex);
+            $description['basic'][] = array('key' => '编号', 'value' => $sizeInfo['productDescBo']['erpProductId']);
+            $description['basic'][] = array('key' => '颜色', 'value' => $sizeInfo['productDescBo']['colorName'], 'dColor' => true);
+            $description['basic'][] = array('key' => '性别', 'value' => $sex);
             if (!empty($sizeInfo['productDescBo']['standardBos'])) {
                 foreach ($sizeInfo['productDescBo']['standardBos'] as $value) {
-                    $description['basic'][] = array('key' => $value['standardName'],  'value'=> $value['standardVal']);
+                    $description['basic'][] = array('key' => $value['standardName'], 'value' => $value['standardVal']);
                 }
             }
             $description['comfort'] = self::getProductComfort($sizeInfo['productBo']['id']);
@@ -989,6 +1007,7 @@ class ItemModel
             $details .= strtr($sizeInfo['productIntroBo']['productIntro'], array(
                 '<img src=' => "<img class=\"lazy\" src=\"data:image/gif;base64,R0lGODlhAQABAJEAAAAAAP///93d3f///yH5BAEAAAMALAAAAAABAAEAAAICVAEAOw==\" data-original=",
                 '<img border="0" src=' => "<img border=\"0\" class=\"lazy\" src=\"data:image/gif;base64,R0lGODlhAQABAJEAAAAAAP///93d3f///yH5BAEAAAMALAAAAAABAAEAAAICVAEAOw==\" data-original=",
+                'http://' => '//'
             ));
         }
         return $details;
@@ -1010,8 +1029,8 @@ class ItemModel
             $goodsGroup = array();
             foreach ($baseInfo['goodsList'] as $pos => $value) {
 
-                // 如果status为0,即skc下架时就跳过该商品$value['status'] === 0
-                if (empty($value['colorImage']) ) {
+                // 如果status为0,即skc下架时就跳过该商品$value['status'] === 0 
+                if (empty($value['colorImage'])) {
                     continue;
                 }
                 if (isset($value['goodsImagesList'])) {
@@ -1019,52 +1038,52 @@ class ItemModel
                     $goodsGroup = array(
                         'productSkc' => $value['productSkc'],
                         'src' => Images::getImageUrl($value['colorImage'], 40, 40),
-                        'title' => trim($baseInfo['productName']).' '.$value['colorName'],
+                        'title' => trim($baseInfo['productName']) . ' ' . $value['colorName'],
                         'name' => $value['colorName'],
-                        'focus'=> false,
+                        'focus' => false,
                         'total' => 0,
                         'thumbs' => array(),
                         'size' => array(),
                     );
 
                     foreach ($value['goodsImagesList'] as $goods) {
-                        if(!empty($goods['imageUrl'])) {
+                        if (!empty($goods['imageUrl'])) {
                             $goodsGroup['thumbs'][] = array(
-                                'url' => '','shower' => Images::getImageUrl($goods['imageUrl'], 420, 560),
+                                'url' => '', 'shower' => Images::getImageUrl($goods['imageUrl'], 420, 560),
                                 'img' => Images::getImageUrl($goods['imageUrl'], 75, 100),
                             );
                         }
                     }
 
                     //缩略图空,不显示
-                    if(empty($goodsGroup['thumbs'])) {
+                    if (empty($goodsGroup['thumbs'])) {
                         continue;
                     }
 
                     //默认第一张图片
-                    if($pos == 0)  {
+                    if ($pos == 0) {
                         $defaultImage = Images::getImageUrl($value['colorImage'], 420, 560);
                     }
 
                     //商品的尺码列表
                     foreach ($value['goodsSizeBoList'] as $size) {
-                        if($baseInfo['attribute'] == 3 ) { //虚拟商品,增加为一件
-                            $size['goodsSizeStorageNum'] = $size['goodsSizeStorageNum'] > 1 ? 1: 0;
+                        if ($baseInfo['attribute'] == 3) { //虚拟商品,增加为一件
+                            $size['goodsSizeStorageNum'] = $size['goodsSizeStorageNum'] > 1 ? 1 : 0;
                         }
                         //如果status为0,即skc下架时就跳过该商品
                         if ($value['status'] === 0) {
-                           $size['goodsSizeStorageNum'] = 0;
+                            $size['goodsSizeStorageNum'] = 0;
                         }
                         $goodsGroup['size'][] = array(
                             'name' => $size['sizeName'],
                             'sku' => $size['goodsSizeSkuId'],
                             'num' => intval($size['goodsSizeStorageNum']),
-                            'goodsId'=> $size['goodsId']
+                            'goodsId' => $size['goodsId']
                         );
                         //单个sku商品的总数
                         $goodsGroup['total'] += intval($size['goodsSizeStorageNum']);
 
-                        if($goodsGroup['total']> 0 && !$chooseSkuFlag) { //默认选中该sku商品
+                        if ($goodsGroup['total'] > 0 && !$chooseSkuFlag) { //默认选中该sku商品
                             $goodsGroup['focus'] = true;
                             $chooseSkuFlag = true;//选中sku商品
                         }
@@ -1073,11 +1092,11 @@ class ItemModel
                 }
                 $skuGoods[] = $goodsGroup;
             }
-            if(!empty($skuGoods) && !$chooseSkuFlag) {//没有选中一个sku商品,默认选中第一个sku商品
+            if (!empty($skuGoods) && !$chooseSkuFlag) {//没有选中一个sku商品,默认选中第一个sku商品
                 $skuGoods[0]['focus'] = true;
             }
         }
-        return array('skuGoods' => $skuGoods,'totalStorageNum' => $totalStorageNum,
+        return array('skuGoods' => $skuGoods, 'totalStorageNum' => $totalStorageNum,
             'defaultImage' => $defaultImage);
     }
 
@@ -1089,7 +1108,7 @@ class ItemModel
      */
     private static function getBrandDataByProductBaseInfo(array &$baseInfo)
     {
-        if(empty($baseInfo['brand'])) {
+        if (empty($baseInfo['brand'])) {
             return array();
         }
         $brandId = $baseInfo['brand']['id'];
@@ -1097,38 +1116,37 @@ class ItemModel
         $logo = '';
         $bannerInfo = array();
         $result = self::getMultiDataByResourceName('BrandData::getBannerInfo');
-        if(empty($result)) {
+        if (empty($result)) {
             $result = BrandData::getBannerInfo($brandId);//品牌banner
         }
-        if(!empty($baseInfo['brand']['brandIco'])) {
+        if (!empty($baseInfo['brand']['brandIco'])) {
             $logo = Images::getForceSourceUrl($baseInfo['brand']['brandIco']);
         }
-        if(isset($result['code']) && $result['code'] == 200 && !empty($result['data'])) {
+        if (isset($result['code']) && $result['code'] == 200 && !empty($result['data'])) {
             $bannerInfo = $result['data'];
-            if(!empty($bannerInfo['bannerUrl'])) {
+            if (!empty($bannerInfo['bannerUrl'])) {
                 $bgImg = Images::getForceSourceUrl($bannerInfo['bannerUrl']);
             }
         }
         //banner的logo
-        if(!empty($bannerInfo['logo']))
-        {
+        if (!empty($bannerInfo['logo'])) {
             $logo = Images::getForceSourceUrl($bannerInfo['logo']);
         }
         $homeUrl = 'javascript:void(0)';
-        if(!empty($baseInfo['brand']['brandDomain'])){
+        if (!empty($baseInfo['brand']['brandDomain'])) {
             $homeUrl = Helpers::url('', array(), $baseInfo['brand']['brandDomain']);
         }
         //导航的品牌banner
         return array(
             'brandId' => $baseInfo['brand']['id'],
-            'bgColor' => !empty($bannerInfo['colorValue']) ? $bannerInfo['colorValue']: '#000000',
-            'bgImg'=> $bgImg,
-            'logo'=> $logo,
+            'bgColor' => !empty($bannerInfo['colorValue']) ? $bannerInfo['colorValue'] : '#000000',
+            'bgImg' => $bgImg,
+            'logo' => $logo,
             'alt' => $baseInfo['brand']['brandName'],
             'brandName' => $baseInfo['brand']['brandName'],
             'brandDomain' => $baseInfo['brand']['brandDomain'],
-            'homeUrl'=> $homeUrl,
-            'isCollect'=> false
+            'homeUrl' => $homeUrl,
+            'isCollect' => false
         );
     }
 
@@ -1146,7 +1164,7 @@ class ItemModel
         if (!empty($baseInfo['productPriceBo']['vipPrices'])) {
             $build = array();
             //不是普通会员
-            if($vipLevel > 0) {
+            if ($vipLevel > 0) {
                 foreach ($baseInfo['productPriceBo']['vipPrices'] as $value) {
                     $build['level'] = $value['vipLevel'];
                     $build['price'] = $value['vipPrice'];
@@ -1157,10 +1175,10 @@ class ItemModel
             }
             $vipData['unLogin'] = false;
             //登录状态
-            if(empty($uid)) {
+            if (empty($uid)) {
                 $vipData['unLogin'] = Helpers::url('/signin.html', array());
             }
-            if(empty($vipLevel) && !empty($uid)) {
+            if (empty($vipLevel) && !empty($uid)) {
                 $vipData['normalUser'] = true;
             }
             //查看vip进度
@@ -1175,23 +1193,14 @@ class ItemModel
      * @param array $baseInfo
      * @return array
      */
-    private static function getActivityDataByProductBaseInfo(array &$baseInfo)
+    private static function getActivityDataByProductBaseInfo(array &$activityData)
     {
         $activity = array();
-        //促销活动banner
-        $activityBanner = self::getProductActivityBanner($baseInfo['id']);
-
-        if(!empty($activityBanner)) {
-            $activity[] = $activityBanner;
-        }
-        // 促销信息活动
-        if (isset($baseInfo['promotionBoList'])) {
-            $build = array();
-            foreach ($baseInfo['promotionBoList'] as $value) {
-                $build['type'] =  $value['promotionType'];
-                $build['des'] = $value['promotionTitle'];
-                $activity[] = $build;
-            }
+        $build = array();
+        foreach ($activityData as $value) {
+            $build['type'] = $value['promotionType'];
+            $build['des'] = $value['promotionTitle'];
+            $activity[] = $build;
         }
         return $activity;
     }
@@ -1248,23 +1257,24 @@ class ItemModel
     {
         $modelTry = array();
         $result = self::getMultiDataByResourceName('ItemData::getProductModelTry');
-        if(empty($result)) {
+        if (empty($result)) {
             $result = ItemData::getProductModelTry($productSkn);
         }
-        if(isset($result['code']) && $result['code'] == 200 && !empty($result['data'])) {
+        if (isset($result['code']) && $result['code'] == 200 && !empty($result['data'])) {
             //先显示模特信息
-            if(isset($result['data']['modelTryBoList']) && !empty($result['data']['modelTryBoList'])) {
-                $modelTry['thead'] = array('模特','身高','体重','三围','试穿尺码','试穿描述');
+            if (isset($result['data']['modelTryBoList']) && !empty($result['data']['modelTryBoList'])) {
+                $modelTry['thead'] = array('模特', '身高', '体重', '三围', '试穿尺码', '试穿描述');
                 $modelTry['tbody'] = array();
-                foreach($result['data']['modelTryBoList'] as $val) {
-                    if(isset($val['modelBo']) && isset($val['sizeBo']) &&
-                        isset($val['modelBo']['modelName']) && isset($val['sizeBo']['sizeName'])) {
+                foreach ($result['data']['modelTryBoList'] as $val) {
+                    if (isset($val['modelBo']) && isset($val['sizeBo']) &&
+                        isset($val['modelBo']['modelName']) && isset($val['sizeBo']['sizeName'])
+                    ) {
                         $modelTry['tbody'][] = array($val['modelBo']['modelName'],
-                            $val['modelBo']['height'],$val['modelBo']['weight'],$val['modelBo']['vitalStatistics'],
+                            $val['modelBo']['height'], $val['modelBo']['weight'], $val['modelBo']['vitalStatistics'],
                             $val['sizeBo']['sizeName'], $val['tryDesc']);
                     }
                 }
-            } else if(isset($result['data']['modelTryImgBoList']) && !empty($result['data']['modelTryImgBoList'])) {//后显示模特图
+            } else if (isset($result['data']['modelTryImgBoList']) && !empty($result['data']['modelTryImgBoList'])) {//后显示模特图
                 $tryImg = current($result['data']['modelTryImgBoList']);
                 $modelTry['frImg'] = Images::getForceSourceUrl($tryImg['tryImg']);
             }
@@ -1290,10 +1300,10 @@ class ItemModel
         //buyNow  //是否立即购买
         $result = array('getLimitedCode' => false, 'hasLimitedCode' => false,
             'limitedCodeSoldOut' => false, 'openSoon' => false, 'dis' => false,
-            'buyNow' => false, 'soldOut'=> false, 'getLimitedCodeDis'=> false);
+            'buyNow' => false, 'soldOut' => false, 'getLimitedCodeDis' => false);
         // 显示获取限购码按钮
         $result['getLimitedCode'] = true;
-        switch($showStatus) {
+        switch ($showStatus) {
             case 1: // 开售前/后,立即分享获得限购码(用户未领取限购码)
                 if ($isBeginSale) { // 开售后
                     $result['buyNow'] = true;
@@ -1318,7 +1328,7 @@ class ItemModel
                 $result['buyNow'] = true;
                 $result['dis'] = false;
                 $result['hasLimitedCode'] = true;
-                if(!empty($uid)) {//限购码失效
+                if (!empty($uid)) {//限购码失效
                     $result['getLimitedCodeDis'] = true;
                 }
                 break;
@@ -1332,7 +1342,7 @@ class ItemModel
             case 6: // 开售前,即将开售(用户已领取限购码)
                 $result['openSoon'] = true;
                 $result['hasLimitedCode'] = true;
-                if(!empty($uid)) {//限购码失效
+                if (!empty($uid)) {//限购码失效
                     $result['getLimitedCodeDis'] = true;
                 }
                 break;
@@ -1340,7 +1350,7 @@ class ItemModel
                 $result['buyNow'] = true;
                 $result['dis'] = true;
                 $result['hasLimitedCode'] = true;
-                if(!empty($uid)) {//限购码失效
+                if (!empty($uid)) {//限购码失效
                     $result['getLimitedCodeDis'] = true;
                 }
             default:
@@ -1375,4 +1385,4 @@ class ItemModel
         return $consultComment;
     }
 
-}
+}
\ No newline at end of file
diff --git a/yohobuy/www.yohobuy.com/application/models/Product/Search.php b/yohobuy/www.yohobuy.com/application/models/Product/Search.php
index 4598f8c..681b275 100644
--- a/yohobuy/www.yohobuy.com/application/models/Product/Search.php
+++ b/yohobuy/www.yohobuy.com/application/models/Product/Search.php
@@ -367,7 +367,7 @@ class SearchModel
             'searchListPage' => true,
             'search' => array(
                 'keyWord' => $keyword,
-                'searchActionUrl' => 'http://search.yohobuy.com',
+                'searchActionUrl' => '//search.yohobuy.com',
                 'latestWalk' => 7,
                 'pathNav' => Array(
                     '0'=>array(
diff --git a/yohobuy/www.yohobuy.com/application/models/Product/Shop.php b/yohobuy/www.yohobuy.com/application/models/Product/Shop.php
index c48f880..926cd6f 100644
--- a/yohobuy/www.yohobuy.com/application/models/Product/Shop.php
+++ b/yohobuy/www.yohobuy.com/application/models/Product/Shop.php
@@ -342,7 +342,7 @@ class ShopModel
 
                 $temp = array(
                     'img' => self::imageView2($val['src'], 300, 175),
-                    'url' => $val['url'],
+                    'url' => Helpers::getUrlSafe($val['url']),
                 );
 
                 if ($key === 0) {
@@ -374,7 +374,7 @@ class ShopModel
             foreach ($resource['data'] as $val) {
                 $result[] = array(
                     'img' => self::imageView2($val['src'], 660, 360),
-                    'url' => $val['url'],
+                    'url' =>  Helpers::getUrlSafe($val['url']),
                 );
             }
         }
@@ -397,9 +397,15 @@ class ShopModel
                     Helpers::substrEllipsis($resource['enName'], 5) : Helpers::substrEllipsis($resource['enName'], 10),
                 'name' => Helpers::isChinese($resource['name']) ?
                     Helpers::substrEllipsis($resource['name'], 5) : Helpers::substrEllipsis($resource['name'], 6),
+<<<<<<< HEAD
                 'img' => self::imageView2($resource['src'], 50, 50),
                 'title' => $resource['title'],
                 'url' => $resource['url'],
+=======
+                'img'=> self::imageView2($resource['src'], 50, 50),
+                'title'=> $resource['title'],
+                'url'=>  Helpers::getUrlSafe($resource['url']),
+>>>>>>> master
             );
         }
         if (empty($result)) {
@@ -423,9 +429,9 @@ class ShopModel
 
         foreach ($data['resource_data'] as $resource) {
             $result[] = array(
-                'img' => self::imageView2($resource['src'], 160, 240),
-                'title' => $resource['title'],
-                'url' => $resource['url'],
+                'img'=> self::imageView2($resource['src'], 160, 240),
+                'title'=> $resource['title'],
+                'url'=>  Helpers::getUrlSafe($resource['url']),
             );
         }
         if (empty($result)) {
@@ -453,8 +459,13 @@ class ShopModel
 
             foreach ($resource['data'] as $val) {
                 $result[] = array(
+<<<<<<< HEAD
                     'img' => self::imageView2($val['src'], 160, 240),
                     'url' => $val['url'],
+=======
+                    'img'=> self::imageView2($val['src'], 160, 240),
+                    'url'=>  Helpers::getUrlSafe($val['url']),
+>>>>>>> master
                 );
             }
         }
@@ -523,7 +534,7 @@ class ShopModel
                 }
                 $result['hot'][] = array(
                     'name' => $val['name'],
-                    'href' => 'http://' . trim($val['url'], 'http://'),
+                    'href' => Helpers::getUrlSafe($val['url']),
                 );
             }
         }
@@ -535,7 +546,7 @@ class ShopModel
                 }
                 $result['new'][] = array(
                     'name' => $val['name'],
-                    'href' => 'http://' . trim($val['url'], 'http://'),
+                    'href' => Helpers::getUrlSafe($val['url']),
                 );
             }
         }
@@ -678,7 +689,7 @@ class ShopModel
     {
         $src .= strstr($src, '?') ? '&' : '?';
 
-        return "{$src}imageView2/1/w/{$width}/h/{$heigh}";
+        return Helpers::getUrlSafe("{$src}imageView2/1/w/{$width}/h/{$heigh}");
     }
 
     /**
diff --git a/yohobuy/www.yohobuy.com/application/models/Shopping/Cart.php b/yohobuy/www.yohobuy.com/application/models/Shopping/Cart.php
index 39417c4..5369450 100644
--- a/yohobuy/www.yohobuy.com/application/models/Shopping/Cart.php
+++ b/yohobuy/www.yohobuy.com/application/models/Shopping/Cart.php
@@ -12,6 +12,7 @@ use WebPlugin\Images;
 use Configs\WebCacheConfig;
 use Hood\Core\Security\AuthCode;
 use WebPlugin\UdpLog;
+use WebPlugin\Encryption;
 use Configs\ChannelConfig;
 
 /**
@@ -221,11 +222,17 @@ class CartModel
     {
         $result = array('code' => 400, 'message' => self::ERROR_400_MESSAGE);
 
+        if (empty($productSku)) {
+            return $result;
+        }
+
         $addCart = CartData::addToCart($productSku, $buyNumber, $goodsType, $isEdit, $promotionId, $uid, $shoppingKey);
         if ($addCart && isset($addCart['code'])) {
             $result = $addCart;
-        } else {
-            UdpLog::info('【购物车】校验参数传递auth', 'productSku:' . $productSku . 'buyNumber:' . $buyNumber . 'goodsType:' . $goodsType, 'isEdit:' . $isEdit . 'promotionId:' . $promotionId . 'uid:' . $uid . 'shoppingKey:' . $shoppingKey);
+        }
+
+        if (empty($addCart) || (isset($addCart['code']) && $addCart['code'] !== 200) ) {
+            UdpLog::info('【购物车】校验参数传递auth','productSku:'.$productSku.'buyNumber:'.$buyNumber.'goodsType:'.$goodsType,'isEdit:'.$isEdit.'promotionId:'.$promotionId.'uid:'.$uid.'shoppingKey:'.$shoppingKey);
         }
 
         return $result;
@@ -394,7 +401,7 @@ class CartModel
                 $build = array();
                 $build['id'] = $value['id'];
                 $build['skn'] = $value['product_skn'];
-                $build['href'] = $value['url'];
+                $build['href'] = Helpers::getUrlSafe($value['url']);
                 $build['title'] = $value['product_name'];
                 $build['img'] = Helpers::getImageUrl($value['default_pic'], 100, 100);
                 $build['alt'] = $value['product_name'];
@@ -760,36 +767,36 @@ class CartModel
 
             // 支付支持的平台
             $result['supportLine'] = array(
-                array('src' => 'http://static.yohobuy.com/images/pay/icon/zhifubao.png'),
-                array('src' => 'http://static.yohobuy.com/images/pay/icon/zaixianzhifu.png'),
-                array('src' => 'http://static.yohobuy.com/images/pay/icon/weixinzhifu.png'),
-                array('src' => 'http://static.yohobuy.com/images/pay/icon/wangyinzaixian.png'),
-                array('src' => 'http://static.yohobuy.com/images/pay/icon/caifutong.png'),
-                array('src' => 'http://static.yohobuy.com/images/pay/icon/shengfutong.png'),
-                array('src' => 'http://static.yohobuy.com/images/pay/icon/tonglianzhifu.png'),
+                array('src' => '//static.yohobuy.com/images/pay/icon/zhifubao.png'),
+                array('src' => '//static.yohobuy.com/images/pay/icon/zaixianzhifu.png'),
+                array('src' => '//static.yohobuy.com/images/pay/icon/weixinzhifu.png'),
+                array('src' => '//static.yohobuy.com/images/pay/icon/wangyinzaixian.png'),
+                array('src' => '//static.yohobuy.com/images/pay/icon/caifutong.png'),
+                array('src' => '//static.yohobuy.com/images/pay/icon/shengfutong.png'),
+                array('src' => '//static.yohobuy.com/images/pay/icon/tonglianzhifu.png'),
             );
             // 支付支持的银行
             $result['supportBank'] = array(
-                array('src' => 'http://static.yohobuy.com/images/bankico/BOC.gif'),
-                array('src' => 'http://static.yohobuy.com/images/bankico/ICBC.gif'),
-                array('src' => 'http://static.yohobuy.com/images/bankico/CMB.gif'),
-                array('src' => 'http://static.yohobuy.com/images/bankico/CCB.gif'),
-                array('src' => 'http://static.yohobuy.com/images/bankico/ABC.gif'),
-                array('src' => 'http://static.yohobuy.com/images/bankico/SPDB.gif'),
-                array('src' => 'http://static.yohobuy.com/images/bankico/CIB.gif'),
-                array('src' => 'http://static.yohobuy.com/images/bankico/GDB.gif'),
-                array('src' => 'http://static.yohobuy.com/images/bankico/SDB.gif'),
-                array('src' => 'http://static.yohobuy.com/images/bankico/CMBC.gif'),
-                array('src' => 'http://static.yohobuy.com/images/bankico/COMM.gif'),
-                array('src' => 'http://static.yohobuy.com/images/bankico/CITIC.gif'),
-                array('src' => 'http://static.yohobuy.com/images/bankico/HZCBB2C.gif'),
-                array('src' => 'http://static.yohobuy.com/images/bankico/CEB.gif'),
-                array('src' => 'http://static.yohobuy.com/images/bankico/SHBANK.gif'),
-                array('src' => 'http://static.yohobuy.com/images/bankico/NBBANK.gif'),
-                array('src' => 'http://static.yohobuy.com/images/bankico/SZPAB.gif'),
-                array('src' => 'http://static.yohobuy.com/images/bankico/BJRCB.gif'),
-                array('src' => 'http://static.yohobuy.com/images/bankico/FDB.gif'),
-                array('src' => 'http://static.yohobuy.com/images/bankico/PSBC.gif'),
+                array('src' => '//static.yohobuy.com/images/bankico/BOC.gif'),
+                array('src' => '//static.yohobuy.com/images/bankico/ICBC.gif'),
+                array('src' => '//static.yohobuy.com/images/bankico/CMB.gif'),
+                array('src' => '//static.yohobuy.com/images/bankico/CCB.gif'),
+                array('src' => '//static.yohobuy.com/images/bankico/ABC.gif'),
+                array('src' => '//static.yohobuy.com/images/bankico/SPDB.gif'),
+                array('src' => '//static.yohobuy.com/images/bankico/CIB.gif'),
+                array('src' => '//static.yohobuy.com/images/bankico/GDB.gif'),
+                array('src' => '//static.yohobuy.com/images/bankico/SDB.gif'),
+                array('src' => '//static.yohobuy.com/images/bankico/CMBC.gif'),
+                array('src' => '//static.yohobuy.com/images/bankico/COMM.gif'),
+                array('src' => '//static.yohobuy.com/images/bankico/CITIC.gif'),
+                array('src' => '//static.yohobuy.com/images/bankico/HZCBB2C.gif'),
+                array('src' => '//static.yohobuy.com/images/bankico/CEB.gif'),
+                array('src' => '//static.yohobuy.com/images/bankico/SHBANK.gif'),
+                array('src' => '//static.yohobuy.com/images/bankico/NBBANK.gif'),
+                array('src' => '//static.yohobuy.com/images/bankico/SZPAB.gif'),
+                array('src' => '//static.yohobuy.com/images/bankico/BJRCB.gif'),
+                array('src' => '//static.yohobuy.com/images/bankico/FDB.gif'),
+                array('src' => '//static.yohobuy.com/images/bankico/PSBC.gif'),
             );
 
             /* 快递方式 */
@@ -1088,7 +1095,7 @@ class CartModel
                 $mobile = substr($mobile, 0, 3) . '****' . substr($mobile, 7);
 
                 $build = array();
-                $build['id'] = $value['address_id'];
+                $build['id'] = Encryption::encrypt($value['address_id']);
                 $build['user'] = $value['consignee'];
                 $build['address'] = $value['area'] . $value['address'] . ' ' . $value['zip_code'] . ' ' . $mobile . ' ' . $value['phone'];
                 $build['checked'] = $value['is_default'] === 'Y';
@@ -1204,6 +1211,10 @@ class CartModel
             // 处理返回结果
             if (isset($address['code']) && $address['code'] == 200) {
                 $result = $address;
+                if ($result['data']['address_id']) {
+                    $result['data']['address_id'] = Encryption::encrypt($result['data']['address_id']);
+                    $result['data']['id'] = Encryption::encrypt($result['data']['id']);
+                }
             }
         }
 
@@ -1429,45 +1440,78 @@ class CartModel
         $cartType = array('advance_cart_data', 'ordinary_cart_data');
         $cartData = CartData::cartData($uid, $shoppingKey);
         foreach ($cartType as $dataKey) {
-            if (!isset($cartData['data'][$dataKey]['goods_list']) || empty($cartData['data'][$dataKey]['goods_list'])) {
-                continue;
-            }
             //购物车商品
-            foreach ($cartData['data'][$dataKey]['goods_list'] as $val) {
-                $goods['product_url'] = Helpers::getUrlBySkc($val['product_id'], $val['goods_id'], $val['cn_alphabet']);
-                $goods['is_advance'] = $val['is_advance'];
-                $goods['default_img'] = Helpers::getImageUrl($val['goods_images'], 46, 62);
-                $goods['product_name'] = $val['product_name'];
-                $goods['color_name'] = $val['color_name'];
-                $goods['size_name'] = $val['size_name'];
-                $goods['show_price'] = $val['real_price'];
-                $goods['buy_number'] = $val['buy_number'];
-                $goods['goods_incart_id'] = $val['shopping_cart_id'];
-                $goods['product_sku'] = $val['product_sku'];
-                $goods['promotion_id'] = $val['promotion_id'];
-                $result['main_goods'][] = $goods;
-            }
-            if (empty($cartData['data'][$dataKey]['promotion_info'])) {
-                continue;
+            if (isset($cartData['data'][$dataKey]['goods_list']) && !empty($cartData['data'][$dataKey]['goods_list'])) {
+                foreach ($cartData['data'][$dataKey]['goods_list'] as $val) {
+                    $goods['product_url'] = Helpers::getUrlBySkc($val['product_id'], $val['goods_id'], $val['cn_alphabet']);
+                    $goods['is_advance'] = $val['is_advance'];
+                    $goods['default_img'] = Helpers::getImageUrl($val['goods_images'], 46, 62);
+                    $goods['product_name'] = $val['product_name'];
+                    $goods['color_name'] = $val['color_name'];
+                    $goods['size_name'] = $val['size_name'];
+                    $goods['show_price'] = $val['real_price'];
+                    $goods['buy_number'] = $val['buy_number'];
+                    $goods['goods_incart_id'] = $val['shopping_cart_id'];
+                    $goods['product_sku'] = $val['product_sku'];
+                    $goods['promotion_id'] = $val['promotion_id'];
+                    $result['main_goods'][] = $goods;
+                }
             }
-            //活动
-            foreach ($cartData['data'][$dataKey]['promotion_info'] as $key => $val) {
-                //包邮
-                if ($val['promotion_type'] == 'FreeShippingCost') {
-                    preg_match('/\d+/', $val['promotion_title'], $arr);
-                    $result['fit_free_shipping'] = $arr[0];
-                    continue;
+            //下架购物车商品
+            if (isset($cartData['data'][$dataKey]['off_shelves_goods_list']) && !empty($cartData['data'][$dataKey]['off_shelves_goods_list'])) {
+                foreach ($cartData['data'][$dataKey]['off_shelves_goods_list'] as $val) {
+                    $goods['product_url'] = Helpers::getUrlBySkc($val['product_id'], $val['goods_id'], $val['cn_alphabet']);
+                    $goods['is_advance'] = $val['is_advance'];
+                    $goods['default_img'] = Helpers::getImageUrl($val['goods_images'], 46, 62);
+                    $goods['product_name'] = $val['product_name'];
+                    $goods['color_name'] = $val['color_name'];
+                    $goods['size_name'] = $val['size_name'];
+                    $goods['show_price'] = $val['real_price'];
+                    $goods['buy_number'] = $val['buy_number'];
+                    $goods['goods_incart_id'] = $val['shopping_cart_id'];
+                    $goods['product_sku'] = $val['product_sku'];
+                    $goods['promotion_id'] = $val['promotion_id'];
+                    $result['main_goods'][] = $goods;
+                }
+            }
+            //售罄购物车商品
+            if (isset($cartData['data'][$dataKey]['sold_out_goods_list']) && !empty($cartData['data'][$dataKey]['sold_out_goods_list'])) {
+                foreach ($cartData['data'][$dataKey]['sold_out_goods_list'] as $val) {
+                    $goods['product_url'] = Helpers::getUrlBySkc($val['product_id'], $val['goods_id'], $val['cn_alphabet']);
+                    $goods['is_advance'] = $val['is_advance'];
+                    $goods['default_img'] = Helpers::getImageUrl($val['goods_images'], 46, 62);
+                    $goods['product_name'] = $val['product_name'];
+                    $goods['color_name'] = $val['color_name'];
+                    $goods['size_name'] = $val['size_name'];
+                    $goods['show_price'] = $val['real_price'];
+                    $goods['buy_number'] = $val['buy_number'];
+                    $goods['goods_incart_id'] = $val['shopping_cart_id'];
+                    $goods['product_sku'] = $val['product_sku'];
+                    $goods['promotion_id'] = $val['promotion_id'];
+                    $result['main_goods'][] = $goods;
                 }
-                //打折
-                if (!isset($result['first_promotions'])) {
-                    $result['has_promotion'] = true;
-                    $result['has_first_promotion'] = true;
-                    $result['first_promotions']['promotion_id'] = $val['promotion_id'];
-                    $result['first_promotions']['promotion_title'] = $val['promotion_title'];
-                } else {
-                    $result['has_other_promotion'] = true;
-                    $result['other_promotions'][$key]['promotion_id'] = $val['promotion_id'];
-                    $result['other_promotions'][$key]['promotion_title'] = $val['promotion_title'];
+            }
+
+            //活动
+            if (isset($cartData['data'][$dataKey]['promotion_info']) && !empty($cartData['data'][$dataKey]['promotion_info'])) {
+                foreach ($cartData['data'][$dataKey]['promotion_info'] as $key => $val) {
+                    //包邮
+                    if ($val['promotion_type'] == 'FreeShippingCost') {
+                        preg_match('/\d+/', $val['promotion_title'], $arr);
+                        $result['fit_free_shipping'] = $arr[0];
+                        continue;
+                    }
+                    //打折
+                    if (!isset($result['first_promotions'])) {
+                        $result['has_promotion'] = true;
+                        $result['has_first_promotion'] = true;
+                        $result['first_promotions']['promotion_id'] = $val['promotion_id'];
+                        $result['first_promotions']['promotion_title'] = $val['promotion_title'];
+                    } else {
+                        $result['has_other_promotion'] = true;
+                        $result['other_promotions'][$key]['promotion_id'] = $val['promotion_id'];
+                        $result['other_promotions'][$key]['promotion_title'] = $val['promotion_title'];
+                    }
                 }
             }
         }
diff --git a/yohobuy/www.yohobuy.com/application/models/Shopping/Pay.php b/yohobuy/www.yohobuy.com/application/models/Shopping/Pay.php
index 0f85fca..056393e 100644
--- a/yohobuy/www.yohobuy.com/application/models/Shopping/Pay.php
+++ b/yohobuy/www.yohobuy.com/application/models/Shopping/Pay.php
@@ -411,7 +411,7 @@ class PayModel
                 'tellphoneNum' => $orderData['mobile'],
                 'tradeName' => $firstGoods['product_name'],
                 'choosePayUrl' => Helpers::url('/shopping/pay', array('order_code' => $orderData['order_code'])),
-                'qrcodeUrl' => $payResult['code_url'] // 'http://paysdk.weixin.qq.com/example/qrcode.php?data=' . $result['code_url']
+                'qrcodeUrl' => $payResult['code_url'] // '//paysdk.weixin.qq.com/example/qrcode.php?data=' . $result['code_url']
             );
 
         } while (false);
diff --git a/yohobuy/www.yohobuy.com/application/models/Shopping/Payment.php b/yohobuy/www.yohobuy.com/application/models/Shopping/Payment.php
index 70713bb..cffc6c4 100644
--- a/yohobuy/www.yohobuy.com/application/models/Shopping/Payment.php
+++ b/yohobuy/www.yohobuy.com/application/models/Shopping/Payment.php
@@ -364,7 +364,7 @@ class PaymentModel
                 'tellphoneNum' => $orderData['mobile'],
                 'tradeName' => $firstGoods['product_name'],
                 'choosePayUrl' => Helpers::url('/shopping/pay', array('order_code' => $orderData['order_code'])),
-                'qrcodeUrl' => isset($payResult['code_url']) ? $payResult['code_url'] : '' // 'http://paysdk.weixin.qq.com/example/qrcode.php?data=' . $result['code_url']
+                'qrcodeUrl' => isset($payResult['code_url']) ? $payResult['code_url'] : '' // '//paysdk.weixin.qq.com/example/qrcode.php?data=' . $result['code_url']
             );
 
         } while (false);
diff --git a/yohobuy/www.yohobuy.com/application/modules/Cart/controllers/Index.php b/yohobuy/www.yohobuy.com/application/modules/Cart/controllers/Index.php
index 484cebf..e80f807 100644
--- a/yohobuy/www.yohobuy.com/application/modules/Cart/controllers/Index.php
+++ b/yohobuy/www.yohobuy.com/application/modules/Cart/controllers/Index.php
@@ -4,6 +4,7 @@ use Action\WebAction;
 use WebPlugin\Helpers;
 use Shopping\CartModel;
 use WebPlugin\UdpLog;
+use WebPlugin\Encryption;
 
 /**
  * 购物车相关的控制器
@@ -292,6 +293,8 @@ class IndexController extends WebAction
         if ($this->isAjax()) {
             $uid = $this->getUid(false);
             $addressId = $this->post('id');
+            //解密
+            $addressId = intval(Encryption::decrypt($addressId));
             $result = CartModel::setDefaultAddress($uid, $addressId);
         }
 
@@ -318,7 +321,11 @@ class IndexController extends WebAction
 
         if ($this->isAjax()) {
             $uid = $this->getUid(false);
-            $id = $this->post('id', null);
+            $id = $this->post('id', null); //TODO
+            if ($id) {
+                //解密
+                $id = intval(Encryption::decrypt($id));
+            }
             $address = $this->post('address', '');
             $areaCode = $this->post('areaCode', '');
             $consignee = $this->post('consignee', '');
@@ -350,7 +357,8 @@ class IndexController extends WebAction
 
         if ($this->isAjax()) {
             $uid = $this->getUid(false);
-            $addressId = $this->post('id');
+            $addressId = $this->post('id');// TODO
+            $addressId = intval(Encryption::decrypt($addressId));
             $result = CartModel::delAddress($uid, $addressId);
         }
 
@@ -458,7 +466,9 @@ class IndexController extends WebAction
                 break;
             }
 
-            $addressId = $this->post('addressId', null);
+            $addressId = $this->post('addressId', null);//TODO
+            //解密
+            $addressId = intval(Encryption::decrypt($addressId));
             $cartType = $this->post('cartType', 'ordinary'); // 默认普通购物车
             $deliveryTimeId = $this->post('deliveryTimeId', 1); // 默认只工作日配送
             $deliveryWayId = $this->post('deliveryWayId', 1); // 默认普通快递
diff --git a/yohobuy/www.yohobuy.com/application/modules/Home/controllers/Email.php b/yohobuy/www.yohobuy.com/application/modules/Home/controllers/Email.php
index f2fc157..c7eb795 100644
--- a/yohobuy/www.yohobuy.com/application/modules/Home/controllers/Email.php
+++ b/yohobuy/www.yohobuy.com/application/modules/Home/controllers/Email.php
@@ -56,7 +56,7 @@ class EmailController extends WebAction
             'returnInfo' => false,
             'sendEmail' => array(
                 'emailInfo' => '92****65@qq.com',
-                'emailUrl' => 'http://mail.qq.com'
+                'emailUrl' => '//mail.qq.com'
             ),
             'formInfo' => array(
                 'ischeckEmail' => $checkStatus['ischeckEmail'],
@@ -224,7 +224,7 @@ class EmailController extends WebAction
             'returnInfo' => true,
             'sendEmail' => array(
                 'emailInfo' => '92****65@qq.com',
-                'emailUrl' => 'http://mail.qq.com'
+                'emailUrl' => '//mail.qq.com'
             )
         );
 
@@ -273,7 +273,7 @@ class EmailController extends WebAction
             'returnInfo' => true,
             'sendEmail' => array(
                 'emailInfo' => '92****65@qq.com',
-                'emailUrl' => 'http://mail.qq.com'
+                'emailUrl' => '//mail.qq.com'
             )
         );
 
diff --git a/yohobuy/www.yohobuy.com/application/modules/Home/controllers/Exchange.php b/yohobuy/www.yohobuy.com/application/modules/Home/controllers/Exchange.php
index 0bdbfcf..bb43435 100644
--- a/yohobuy/www.yohobuy.com/application/modules/Home/controllers/Exchange.php
+++ b/yohobuy/www.yohobuy.com/application/modules/Home/controllers/Exchange.php
@@ -19,14 +19,14 @@ class exchangeController extends WebAction{
                     'name' => 'YOHO!BUY 有货首页'
                 ),
                 array(
-                    'href' => 'www.yohobuy.com/home',
+                    'href' => '//www.yohobuy.com/home',
                     'name' => '个人中心'
                 ),
                 array(
                     'name' => '订单中心'
                 )
             ),
-            'userThumb' => 'http://img10.static.yhbimg.com/headimg/2013/11/28/09/01cae078abe5fe320c88cdf4c220212688.gif?imageView/2/w/100/h/100',
+            'userThumb' => '//img10.static.yhbimg.com/headimg/2013/11/28/09/01cae078abe5fe320c88cdf4c220212688.gif?imageView/2/w/100/h/100',
             'homeNav' => array(
                 array(
                     'title' => '服务中心',
diff --git a/yohobuy/www.yohobuy.com/application/modules/Home/controllers/Orders.php b/yohobuy/www.yohobuy.com/application/modules/Home/controllers/Orders.php
index bcfa89d..e3c22c2 100644
--- a/yohobuy/www.yohobuy.com/application/modules/Home/controllers/Orders.php
+++ b/yohobuy/www.yohobuy.com/application/modules/Home/controllers/Orders.php
@@ -94,7 +94,6 @@ class OrdersController extends WebAction
             $orderCode = $this->get('order_code', '');
         }
         $detail = OrderModel::getOrderDetail($uid, $orderCode);
-//        print_r($detail);
         //取消订单原因列表
         $resons = OrderData::closeReasons();
         $cancelReason = isset($resons['data']) ? $resons['data'] : '';
@@ -309,4 +308,64 @@ class OrdersController extends WebAction
         $this->echoJson($result);
     }
 
+    /**
+     * 还原订单
+     */
+    public function restoreOrderAction()
+    {
+        $data = array('code' => 400, 'message' => '', 'data' => '');
+
+        do {
+            /* 判断是不是AJAX请求 */
+            if (!$this->isAjax()) {
+                break;
+            }
+            $uid = $this->auditJumpLogin();
+            $orderCode = trim($this->post('orderCode', ''));
+//            $data = OrderData::confirmUserOrder($uid, $orderCode);
+            $data = array('code' => 400, 'message' => '订单还原成功', 'data' => '');
+            if (!isset($data['code'])) {
+                break;
+            }
+        }
+        while (false);
+
+        $this->echoJson($data);
+    }
+
+    /*
+     * 我的订单-删除订单
+     */
+
+    public function delOrderAction()
+    {
+
+        $result = array('code' => 400, 'message' => '删除失败', 'data' => '');
+
+        do {
+            /* 判断是不是AJAX请求 */
+            if (!$this->isAjax()) {
+                break;
+            }
+
+            //传入orderCode删除订单
+            $orderCode = $this->post('orderCode','');
+            $gender = Helpers::getGenderByCookie();
+            $channel = Helpers::getChannelByCookie();
+            $uid = $this->getUid(true);
+            if (!$orderCode || !$uid) {
+                $result = array('code' => 400, 'message' => '缺失必填项', 'data' => '');
+                break;
+            }
+            //调用接口删除订单,并返回订单删除状态
+            $result = OrderData::deleteOrderData($orderCode, $uid, $gender, $channel);
+            if (!isset($result['code'])) {
+                break;
+            }
+        }
+        while (false);
+
+        $this->echoJson($result);
+    }
+
 }
diff --git a/yohobuy/www.yohobuy.com/application/modules/Home/controllers/Refund.php b/yohobuy/www.yohobuy.com/application/modules/Home/controllers/Refund.php
index 2234072..45f9baf 100644
--- a/yohobuy/www.yohobuy.com/application/modules/Home/controllers/Refund.php
+++ b/yohobuy/www.yohobuy.com/application/modules/Home/controllers/Refund.php
@@ -23,18 +23,18 @@ class RefundController extends WebAction
         $data = array(
             'path' => array(
                 array(
-                    'href' => 'www.yohobuy.com',
+                    'href' => '//www.yohobuy.com',
                     'name' => 'YOHO!BUY 有货首页'
                 ),
                 array(
-                    'href' => 'www.yohobuy.com/home',
+                    'href' => '//www.yohobuy.com/home',
                     'name' => '个人中心'
                 ),
                 array(
                     'name' => '订单中心'
                 )
             ),
-            'userThumb' => 'http://img10.static.yhbimg.com/headimg/2013/11/28/09/01cae078abe5fe320c88cdf4c220212688.gif?imageView/2/w/100/h/100',
+            'userThumb' => '//img10.static.yhbimg.com/headimg/2013/11/28/09/01cae078abe5fe320c88cdf4c220212688.gif?imageView/2/w/100/h/100',
             'homeNav' => array(
                 array(
                     'title' => '服务中心',
@@ -83,18 +83,18 @@ class RefundController extends WebAction
         $data = array(
             'path' => array(
                 array(
-                    'href' => 'www.yohobuy.com',
+                    'href' => '//www.yohobuy.com',
                     'name' => 'YOHO!BUY 有货首页'
                 ),
                 array(
-                    'href' => 'www.yohobuy.com/home',
+                    'href' => '//www.yohobuy.com/home',
                     'name' => '个人中心'
                 ),
                 array(
                     'name' => '订单中心'
                 )
             ),
-            'userThumb' => 'http://img10.static.yhbimg.com/headimg/2013/11/28/09/01cae078abe5fe320c88cdf4c220212688.gif?imageView/2/w/100/h/100',
+            'userThumb' => '//img10.static.yhbimg.com/headimg/2013/11/28/09/01cae078abe5fe320c88cdf4c220212688.gif?imageView/2/w/100/h/100',
             'homeNav' => array(
                 array(
                     'title' => '交易管理',
diff --git a/yohobuy/www.yohobuy.com/application/modules/Home/controllers/Returns.php b/yohobuy/www.yohobuy.com/application/modules/Home/controllers/Returns.php
old mode 100644
new mode 100755
index ee07d58..6926dc5
--- a/yohobuy/www.yohobuy.com/application/modules/Home/controllers/Returns.php
+++ b/yohobuy/www.yohobuy.com/application/modules/Home/controllers/Returns.php
@@ -2,6 +2,7 @@
 use Action\WebAction;
 use Home\ReturnsModel;
 use WebPlugin\Helpers;
+use LibModels\Web\Home\ReturnsData;
 
 class ReturnsController extends WebAction
 {
@@ -53,7 +54,7 @@ class ReturnsController extends WebAction
     {
         /* 判断是不是AJAX请求 */
         if (!$this->isAjax()) {
-           return;
+            return;
         }
         $areaCode = $this->post('areaCode');
         //获取必要参数
@@ -82,14 +83,14 @@ class ReturnsController extends WebAction
         $uid = $this->getUid();
         $goods = $this->post('goods');
         $payment = $this->post('payment');
-        if (empty($orderCode) || $orderCode<1 || empty($goods) || empty($payment)) {
-            $this->echoJson(array('code'=>203,'message'=>'非法提交'));
+        if (empty($orderCode) || $orderCode < 1 || empty($goods) || empty($payment)) {
+            $this->echoJson(array('code' => 203, 'message' => '非法提交'));
         }
         //调用模型提交退货申请
         $res = ReturnsModel::saveRefund($orderCode, $uid, $goods, $payment);
         //退货申请成功,返回前端相应格式,并返回退货成功页跳转地址
         if (isset($res['code']) && $res['code'] == 200) {
-            $successUrl = Helpers::url('/home/returns/refundSuccess', array('orderCode'=>$orderCode));
+            $successUrl = Helpers::url('/home/returns/refundSuccess', array('orderCode' => $orderCode));
             $res['data']['refer'] = $successUrl;
         }
         $this->echoJson($res);
@@ -117,8 +118,8 @@ class ReturnsController extends WebAction
         $deliveryType = $this->post('deliveryType');
 
         //判断参数合法性
-        if (empty($orderCode) || $orderCode<1 || empty($goods) || empty($deliveryType) || empty($consigneeName) || empty($areaCode) || empty($address) || empty($mobile)) {
-            $this->echoJson(array('code'=>203,'message'=>'非法提交'));
+        if (empty($orderCode) || $orderCode < 1 || empty($goods) || empty($deliveryType) || empty($consigneeName) || empty($areaCode) || empty($address) || empty($mobile)) {
+            $this->echoJson(array('code' => 203, 'message' => '非法提交'));
             return;
         }
         //调用模型提交换货申请
@@ -126,7 +127,7 @@ class ReturnsController extends WebAction
 
         //换货成功,返回前端相应格式,并返回换货成功页跳转链接
         if (isset($res['code']) && $res['code'] == '200') {
-            $successUrl = Helpers::url('/home/returns/exchangeSuccess', array('orderCode'=>$orderCode));
+            $successUrl = Helpers::url('/home/returns/exchangeSuccess', array('orderCode' => $orderCode));
             $res['data']['refer'] = $successUrl;
         }
 
@@ -204,6 +205,7 @@ class ReturnsController extends WebAction
         //头部导航
         $channel = Helpers::getChannelNameByCookie();
         $this->setWebNavHeader($channel);
+
         $this->_view->display('returns-detail', array('meReturnsPage' => true, 'returns' => $data));
     }
 
@@ -224,6 +226,7 @@ class ReturnsController extends WebAction
         //头部导航
         $channel = Helpers::getChannelNameByCookie();
         $this->setWebNavHeader($channel);
+
         $this->_view->display('returns-detail', array('meReturnsPage' => true, 'returns' => $data));
     }
 
@@ -246,11 +249,11 @@ class ReturnsController extends WebAction
         $expressNumber = $this->post('expressNumber');
         $uid = $this->getUid();
         $expressCompany = $this->post('expressCompany');
-        $res = array('code'=>201,'message'=>'请求失败');
+        $res = array('code' => 201, 'message' => '请求失败');
         if (!isset($id) || !isset($expressId) || !isset($expressNumber) || !isset($uid) || !isset($expressCompany) || !isset($isChange)) {
             return $res;
         }
-        $res = ReturnsModel::setExpressNumber($id, $expressId, $expressNumber,$uid, $expressCompany, $isChange);
+        $res = ReturnsModel::setExpressNumber($id, $expressId, $expressNumber, $uid, $expressCompany, $isChange);
 
         $this->echoJson($res);
     }
@@ -263,7 +266,7 @@ class ReturnsController extends WebAction
     {
         //判断是否登录,未登录则退出
         if (!$this->getUid()) {
-            $this->echoJson(array('code'=>'400','message'=>'请登录'));
+            $this->echoJson(array('code' => '400', 'message' => '请登录'));
             exit;
         }
         $result = ReturnsModel::saveRefundImg('fileData');
@@ -271,7 +274,35 @@ class ReturnsController extends WebAction
         $this->echoJson($result);
     }
 
+    /**
+     * 取消退货申请
+     */
+    public function cancelRefundAction()
+    {
+        if (!$this->isAjax()) {
+            return;
+        }
+        $orderId = $this->post('id');
+        $uid = $this->getUid();
+        $result = ReturnsData::cancelRefund($orderId, $uid);
 
+        $this->echoJson($result);
+    }
+
+    /**
+     * 取消换货申请
+     */
+    public function cancelChangeAction()
+    {
+        if (!$this->isAjax()) {
+            return;
+        }
+        $orderId = $this->post('id');
+        $uid = $this->getUid();
+        $result = ReturnsData::cancelChange($orderId, $uid);
+
+        $this->echoJson($result);
+    }
 
     /**
      * 个人中心-根据商品skn,颜色,尺码返回商品的sku,goodsId(待用)
diff --git a/yohobuy/www.yohobuy.com/application/modules/Order/controllers/Ensure.php b/yohobuy/www.yohobuy.com/application/modules/Order/controllers/Ensure.php
index 46fa0f2..28bd682 100644
--- a/yohobuy/www.yohobuy.com/application/modules/Order/controllers/Ensure.php
+++ b/yohobuy/www.yohobuy.com/application/modules/Order/controllers/Ensure.php
@@ -9,7 +9,7 @@ class EnsureController extends AbstractAction
      */
     public function indexAction()
     {
-        $src="http://img04.static.yohobuy.com/thumb/2015/08/25/08/012622ad14f32470d56a0b1da5d533a7e2-0060x0060-2-goodsimg.jpg";
+        $src="//img04.static.yohobuy.com/thumb/2015/08/25/08/012622ad14f32470d56a0b1da5d533a7e2-0060x0060-2-goodsimg.jpg";
         $data = array(
             'orderEnsurePage' => true,
             'orderEnsure'=>array(
@@ -23,36 +23,36 @@ class EnsureController extends AbstractAction
                 ),
                 'supportLine' => array(
                     array(
-                        'src' => 'http://static.yohobuy.com/images/pay/icon/zhifubao.png'
+                        'src' => '//static.yohobuy.com/images/pay/icon/zhifubao.png'
                     ),
                     array(
-                        'src' => 'http://static.yohobuy.com/images/pay/icon/zhifubao.png'
+                        'src' => '//static.yohobuy.com/images/pay/icon/zhifubao.png'
                     ),
                     array(
-                        'src' => 'http://static.yohobuy.com/images/pay/icon/zhifubao.png'
+                        'src' => '//static.yohobuy.com/images/pay/icon/zhifubao.png'
                     ),
                     array(
-                        'src' => 'http://static.yohobuy.com/images/pay/icon/zhifubao.png'
+                        'src' => '//static.yohobuy.com/images/pay/icon/zhifubao.png'
                     ),
                     array(
-                        'src' => 'http://static.yohobuy.com/images/pay/icon/zhifubao.png'
+                        'src' => '//static.yohobuy.com/images/pay/icon/zhifubao.png'
                     ),
                     array(
-                        'src' => 'http://static.yohobuy.com/images/pay/icon/zhifubao.png'
+                        'src' => '//static.yohobuy.com/images/pay/icon/zhifubao.png'
                     ),
                     array(
-                        'src' => 'http://static.yohobuy.com/images/pay/icon/zhifubao.png'
+                        'src' => '//static.yohobuy.com/images/pay/icon/zhifubao.png'
                     ),
                     array(
-                        'src' => 'http://static.yohobuy.com/images/pay/icon/zhifubao.png'
+                        'src' => '//static.yohobuy.com/images/pay/icon/zhifubao.png'
                     )
                 ),
                 'supportBank' => array(
                     array(
-                        'src' => 'http://static.yohobuy.com/images/bankico/BOC.gif'
+                        'src' => '//static.yohobuy.com/images/bankico/BOC.gif'
                     ),
                     array(
-                        'src' => 'http://static.yohobuy.com/images/bankico/BOC.gif'
+                        'src' => '//static.yohobuy.com/images/bankico/BOC.gif'
                     )
                 ),
                 'carriagelist'=>array(
diff --git a/yohobuy/www.yohobuy.com/application/modules/Order/controllers/Save.php b/yohobuy/www.yohobuy.com/application/modules/Order/controllers/Save.php
index 842a2b3..734f947 100644
--- a/yohobuy/www.yohobuy.com/application/modules/Order/controllers/Save.php
+++ b/yohobuy/www.yohobuy.com/application/modules/Order/controllers/Save.php
@@ -9,7 +9,7 @@ class SaveController extends AbstractAction
      */
     public function indexAction()
     {
-        $src="http://img04.static.yohobuy.com/thumb/2015/08/25/08/012622ad14f32470d56a0b1da5d533a7e2-0060x0060-2-goodsimg.jpg";
+        $src="//img04.static.yohobuy.com/thumb/2015/08/25/08/012622ad14f32470d56a0b1da5d533a7e2-0060x0060-2-goodsimg.jpg";
         $data = array(
             'orderSavePage' => true,
             'orderSave'=>array(
@@ -23,36 +23,36 @@ class SaveController extends AbstractAction
                 ),
                 'supportLine' => array(
                     array(
-                        'src' => 'http://static.yohobuy.com/images/pay/icon/zhifubao.png'
+                        'src' => '//static.yohobuy.com/images/pay/icon/zhifubao.png'
                     ),
                     array(
-                        'src' => 'http://static.yohobuy.com/images/pay/icon/zhifubao.png'
+                        'src' => '//static.yohobuy.com/images/pay/icon/zhifubao.png'
                     ),
                     array(
-                        'src' => 'http://static.yohobuy.com/images/pay/icon/zhifubao.png'
+                        'src' => '//static.yohobuy.com/images/pay/icon/zhifubao.png'
                     ),
                     array(
-                        'src' => 'http://static.yohobuy.com/images/pay/icon/zhifubao.png'
+                        'src' => '//static.yohobuy.com/images/pay/icon/zhifubao.png'
                     ),
                     array(
-                        'src' => 'http://static.yohobuy.com/images/pay/icon/zhifubao.png'
+                        'src' => '//static.yohobuy.com/images/pay/icon/zhifubao.png'
                     ),
                     array(
-                        'src' => 'http://static.yohobuy.com/images/pay/icon/zhifubao.png'
+                        'src' => '//static.yohobuy.com/images/pay/icon/zhifubao.png'
                     ),
                     array(
-                        'src' => 'http://static.yohobuy.com/images/pay/icon/zhifubao.png'
+                        'src' => '//static.yohobuy.com/images/pay/icon/zhifubao.png'
                     ),
                     array(
-                        'src' => 'http://static.yohobuy.com/images/pay/icon/zhifubao.png'
+                        'src' => '//static.yohobuy.com/images/pay/icon/zhifubao.png'
                     )
                 ),
                 'supportBank' => array(
                     array(
-                        'src' => 'http://static.yohobuy.com/images/bankico/BOC.gif'
+                        'src' => '//static.yohobuy.com/images/bankico/BOC.gif'
                     ),
                     array(
-                        'src' => 'http://static.yohobuy.com/images/bankico/BOC.gif'
+                        'src' => '//static.yohobuy.com/images/bankico/BOC.gif'
                     )
                 ),
                 'carriagelist'=>array(
diff --git a/yohobuy/www.yohobuy.com/application/modules/Passport/controllers/Autouserinfo.php b/yohobuy/www.yohobuy.com/application/modules/Passport/controllers/Autouserinfo.php
index d1c71a5..d1a2463 100644
--- a/yohobuy/www.yohobuy.com/application/modules/Passport/controllers/Autouserinfo.php
+++ b/yohobuy/www.yohobuy.com/application/modules/Passport/controllers/Autouserinfo.php
@@ -43,7 +43,7 @@ class AutouserinfoController extends WebAction
                 'referUrl' => $refer,
                 'skipUrl' => SITE_MAIN,
                 'coverHref' => $cover['url'],
-                'coverImg' => !empty($cover['img']) ? $cover['img'] : 'http://img12.static.yhbimg.com/yhb-img01/2015/12/01/07/020a0b6e7ff908d0c2bc4045b4fef42b9f.png?imageView/2/w/252/h/190',
+                'coverImg' => !empty($cover['img']) ? $cover['img'] : '//img12.static.yhbimg.com/yhb-img01/2015/12/01/07/020a0b6e7ff908d0c2bc4045b4fef42b9f.png?imageView/2/w/252/h/190',
                 'regBtnText' => '完善信息',
                 'openId' => $openId,
                 'sourceType' => $sourceType
@@ -63,7 +63,7 @@ class AutouserinfoController extends WebAction
         $data = array(
             'passport' => array(
                 'coverHref' => $cover['url'],
-                'coverImg' => !empty($cover['img']) ? $cover['img'] : 'http://img12.static.yhbimg.com/yhb-img01/2015/12/01/07/020a0b6e7ff908d0c2bc4045b4fef42b9f.png?imageView/2/w/252/h/190',
+                'coverImg' => !empty($cover['img']) ? $cover['img'] : '//img12.static.yhbimg.com/yhb-img01/2015/12/01/07/020a0b6e7ff908d0c2bc4045b4fef42b9f.png?imageView/2/w/252/h/190',
                 'goShoppingUrl' => SITE_MAIN,
                 'completeInfoUrl' => Helpers::url('/passport/emailbind/index'),
             ),
diff --git a/yohobuy/www.yohobuy.com/application/modules/Passport/controllers/Back.php b/yohobuy/www.yohobuy.com/application/modules/Passport/controllers/Back.php
index f0b4e43..4798bf6 100644
--- a/yohobuy/www.yohobuy.com/application/modules/Passport/controllers/Back.php
+++ b/yohobuy/www.yohobuy.com/application/modules/Passport/controllers/Back.php
@@ -25,8 +25,8 @@ class BackController extends WebAction
         $data = array(
             'backPage' => true,
             'back' => array(
-                'coverHref' => $banner ['url'],
-                'coverImg' => $banner ['img'],
+                'coverHref' => Helpers::getUrlSafe($banner ['url']),
+                'coverImg' => Helpers::getUrlSafe($banner ['img']),
                 'countryCode' => '86',
                 'countryName' => '中国',
                 'captchaUrl' => Helpers::url('/passport/images', array('t' => time())),
@@ -159,8 +159,8 @@ class BackController extends WebAction
         $this->setSimpleHeader();
         $data = array(
             'sendEmail' => array(
-                'coverHref' => $banner ['url'],
-                'coverImg' => $banner ['img'],
+                'coverHref' => $banner['url'],
+                'coverImg' => $banner['img'],
                 'countrys' => array(),
                 'email' => $emailUrl
             )
@@ -267,8 +267,8 @@ class BackController extends WebAction
         $banner = PassportModel::getLeftBanner(PassportModel::BACK_LFFT_BANNER_CODE);
         $data = array(
             'resetSuccess' => array(
-                'coverHref' => $banner ['url'],
-                'coverImg' => $banner ['img'],
+                'coverHref' => Helpers::getUrlSafe($banner ['url']),
+                'coverImg' => Helpers::getUrlSafe($banner ['img']),
                 'countrys' => array()
             )
         );
@@ -295,8 +295,8 @@ class BackController extends WebAction
         $data = array(
             'vertificationPage' => true,
             'verification' => array(
-                'coverHref' => $banner ['url'],
-                'coverImg' => $banner ['img'],
+                'coverHref' => Helpers::getUrlSafe($banner ['url']),
+                'coverImg' => Helpers::getUrlSafe($banner ['img']),
                 'mobile' => $mobile,
                 'area' => $area,
                 'verifyCode' => $verifyCode,
diff --git a/yohobuy/www.yohobuy.com/application/modules/Passport/controllers/Login.php b/yohobuy/www.yohobuy.com/application/modules/Passport/controllers/Login.php
index b1db42d..6553fe2 100644
--- a/yohobuy/www.yohobuy.com/application/modules/Passport/controllers/Login.php
+++ b/yohobuy/www.yohobuy.com/application/modules/Passport/controllers/Login.php
@@ -41,7 +41,7 @@ class LoginController extends WebAction
         //登录后跳转页面
         $refer = $this->get('refer', $this->server('HTTP_REFERER', ''));
         //检查refer是否为绝对路径,补www.yohobuy.com
-        if (!strstr($refer, 'http')) {
+        if (substr($refer, 0, 2) !== '//' && !strstr($refer, 'http')) {
             $refer = SITE_MAIN . $refer;
         }
         if (!empty($refer)) {
@@ -69,8 +69,8 @@ class LoginController extends WebAction
         $data = array(
             'loginPage' => true,
             'passport' => array(
-                'coverHref' => $cover['url'],
-                'coverImg' => empty($cover['img']) ? ChannelConfig::$leftDefaultImg : $cover['img'],
+                'coverHref' => Helpers::getUrlSafe($cover['url']),
+                'coverImg' => empty($cover['img']) ? ChannelConfig::$leftDefaultImg : Helpers::getUrlSafe($cover['img']),
                 'countryCode' => $bindArea ? $bindArea : '+86',
                 'countryName' => $areaName ? $areaName : '中国',
                 'countryList' => $areaArr,
@@ -155,10 +155,10 @@ class LoginController extends WebAction
             $errLoginTimes = intval(Cache::get($errorLoginKey));
             $accountTimes = intval(Cache::get($accountKey));
             $ipTimes = intval(Cache::get($ipKey));
-            if ($ipTimes >= 100) {
-                $data = array('code' => 400, 'message' => '您尝试的次数过多,账号已被暂时锁定,请稍后再试', 'data' => '');
-                break;
-            }
+//            if ($ipTimes >= 100) {
+//                $data = array('code' => 400, 'message' => '您尝试的次数过多,账号已被暂时锁定,请稍后再试', 'data' => '');
+//                break;
+//            }
             if ($accountTimes >= 10) {
                 $data = array('code' => 400, 'message' => '您的账号已被暂时锁定,请稍后再试', 'data' => '');
                 break;
@@ -183,10 +183,10 @@ class LoginController extends WebAction
                 Cache::set($accountKey, $accountTimes, 1800);
                 Cache::set($ipKey, $ipTimes, 3600);
                 //再次校验
-                if ($ipTimes >= 100) {
-                    $data = array('code' => 400, 'message' => '您尝试的次数过多,账号已被暂时锁定,请稍后再试', 'data' => '');
-                    break;
-                }
+//                if ($ipTimes >= 100) {
+//                    $data = array('code' => 400, 'message' => '您尝试的次数过多,账号已被暂时锁定,请稍后再试', 'data' => '');
+//                    break;
+//                }
                 if ($accountTimes >= 10) {
                     $data = array('code' => 400, 'message' => '您的账号已被暂时锁定,请稍后再试', 'data' => '');
                     break;
diff --git a/yohobuy/www.yohobuy.com/application/modules/Passport/controllers/Register.php b/yohobuy/www.yohobuy.com/application/modules/Passport/controllers/Register.php
index 1c003da..c4e47cd 100644
--- a/yohobuy/www.yohobuy.com/application/modules/Passport/controllers/Register.php
+++ b/yohobuy/www.yohobuy.com/application/modules/Passport/controllers/Register.php
@@ -37,10 +37,10 @@ class RegisterController extends WebAction
                 'location' => '+86',
                 'captchaUrl' => Helpers::url('/passport/images', array('t' => time())),
                 'itemUrl' => Helpers::url('/help/', array('category_id' => 9)),
-                'referUrl' => $refer,
+                'referUrl' => Helpers::getUrlSafe($refer),
                 'loginUrl' => Helpers::url('/signin.html', array('refer' => rawurlencode($refer))),
-                'coverHref' => $cover['url'],
-                'coverImg' => $cover['img'],
+                'coverHref' => Helpers::getUrlSafe($cover['url']),
+                'coverImg' => Helpers::getUrlSafe($cover['img']),
                 'regBtnText' => '立即注册'
             )
         );
diff --git a/yohobuy/www.yohobuy.com/configs/application.developer.ini b/yohobuy/www.yohobuy.com/configs/application.developer.ini
index d869c2e..2ec3248 100644
--- a/yohobuy/www.yohobuy.com/configs/application.developer.ini
+++ b/yohobuy/www.yohobuy.com/configs/application.developer.ini
@@ -50,7 +50,7 @@ application.template.ext = ".phtml"
 application.assets.path = ROOT_PATH "/assets/web"
 
 ; 应用的版本号
-application.version = "4.6.2"
+application.version = "4.7.3"
 
 ; 网站SEO信息
 application.seo.title = "YOHO!BUY 有货 | 年轻人潮流购物中心,中国潮流购物风向标,官方授权正品保证"
diff --git a/yohobuy/www.yohobuy.com/configs/application.preview.ini b/yohobuy/www.yohobuy.com/configs/application.preview.ini
index e80ec2a..cee7dc5 100644
--- a/yohobuy/www.yohobuy.com/configs/application.preview.ini
+++ b/yohobuy/www.yohobuy.com/configs/application.preview.ini
@@ -50,7 +50,7 @@ application.template.ext = ".phtml"
 application.assets.path = ROOT_PATH "/assets/web"
 
 ; 应用的版本号
-application.version = "4.6.2"
+application.version = "4.7.3"
 
 ; 网站SEO信息
 application.seo.title = "YOHO!BUY 有货 | 年轻人潮流购物中心,中国潮流购物风向标,官方授权正品保证"
diff --git a/yohobuy/www.yohobuy.com/configs/application.production.ini b/yohobuy/www.yohobuy.com/configs/application.production.ini
index 98d383c..c73a271 100644
--- a/yohobuy/www.yohobuy.com/configs/application.production.ini
+++ b/yohobuy/www.yohobuy.com/configs/application.production.ini
@@ -50,7 +50,7 @@ application.template.ext = ".phtml"
 application.assets.path = ROOT_PATH "/assets/web"
 
 ; 应用的版本号
-application.version = "4.6.2"
+application.version = "4.7.3"
 
 ; 网站SEO信息
 application.seo.title = "YOHO!BUY 有货 | 年轻人潮流购物中心,中国潮流购物风向标,官方授权正品保证"
diff --git a/yohobuy/www.yohobuy.com/configs/application.testing.ini b/yohobuy/www.yohobuy.com/configs/application.testing.ini
index b11415f..3c4f331 100644
--- a/yohobuy/www.yohobuy.com/configs/application.testing.ini
+++ b/yohobuy/www.yohobuy.com/configs/application.testing.ini
@@ -50,7 +50,7 @@ application.template.ext = ".phtml"
 application.assets.path = ROOT_PATH "/assets/web"
 
 ; 应用的版本号
-application.version = "4.6.2"
+application.version = "4.7.3"
 
 ; 网站SEO信息
 application.seo.title = "YOHO!BUY 有货 | 年轻人潮流购物中心,中国潮流购物风向标,官方授权正品保证"
diff --git a/yohobuy/www.yohobuy.com/public/index-dev.php b/yohobuy/www.yohobuy.com/public/index-dev.php
index 79e5493..be67efd 100644
--- a/yohobuy/www.yohobuy.com/public/index-dev.php
+++ b/yohobuy/www.yohobuy.com/public/index-dev.php
@@ -1,7 +1,7 @@
 <?php
 use Yaf\Application;
-define('SITE_MAIN', 'http://web.dev.yohobuy.com'); // 网站主域名
-define('OLD_MAIN', 'http://www.yohobuy.com'); // 网站旧域名
+define('SITE_MAIN', '//web.dev.yohobuy.com'); // 网站主域名
+define('OLD_MAIN', '//www.yohobuy.com'); // 网站旧域名
 define('COOKIE_DOMAIN', '.yohobuy.com'); // COOKIE作用域
 define('SUB_DOMAIN', '.yohobuy.com'); // 子域名后缀
 define('USE_CACHE', false); // 缓存的开关
@@ -9,5 +9,11 @@ define('APPLICATION_PATH', dirname(__DIR__)); // 应用目录
 define('ROOT_PATH', dirname(dirname(APPLICATION_PATH))); // 根目录
 defined('APPLICATION_ENV') || define('APPLICATION_ENV', 'developer');
 
+define('API_URL', 'http://testapi.yoho.cn:28078/');
+define('SERVICE_URL', 'http://testservice.yoho.cn:28077/');
+define('YOHOBUY_URL', 'http://www.yohobuy.com/');
+define('SERVICE_NOTIFY', 'http://testservice.yoho.cn:28077/');
+define('API_OLD', 'http://test2.open.yohobuy.com/');
+
 $application = new Application(APPLICATION_PATH . '/configs/application.developer.ini');
 $application->bootstrap()->run();
\ No newline at end of file
diff --git a/yohobuy/www.yohobuy.com/public/index-old.php b/yohobuy/www.yohobuy.com/public/index-old.php
index 62c9498..ae791cb 100644
--- a/yohobuy/www.yohobuy.com/public/index-old.php
+++ b/yohobuy/www.yohobuy.com/public/index-old.php
@@ -1,8 +1,8 @@
 <?php
 use Yaf\Application;
 
-define('SITE_MAIN', 'http://www.yohobuy.com'); // 网站主域名
-define('OLD_MAIN', 'http://www.yohobuy.com'); // 网站旧域名
+define('SITE_MAIN', '//www.yohobuy.com'); // 网站主域名
+define('OLD_MAIN', '//www.yohobuy.com'); // 网站旧域名
 define('COOKIE_DOMAIN', '.yohobuy.com'); // COOKIE作用域
 define('SUB_DOMAIN', '.yohobuy.com'); // 子域名后缀
 define('USE_CACHE', true); // 缓存的开关
@@ -10,5 +10,11 @@ define('APPLICATION_PATH', dirname(__DIR__)); // 应用目录
 define('ROOT_PATH', dirname(dirname(APPLICATION_PATH))); // 根目录
 defined('APPLICATION_ENV') || define('APPLICATION_ENV', 'production');
 
+define('API_URL', 'http://api.yoho.yohoops.org/');
+define('SERVICE_URL', 'http://service.yoho.yohoops.org/');
+define('YOHOBUY_URL', 'http://www.yohobuy.com/');
+define('SERVICE_NOTIFY', 'http://service.yoho.cn/');
+define('API_OLD', 'http://api2.open.yohobuy.com/');
+
 $application = new Application(APPLICATION_PATH . '/configs/application.production.ini');
 $application->bootstrap()->run();
\ No newline at end of file
diff --git a/yohobuy/www.yohobuy.com/public/index-pre.php b/yohobuy/www.yohobuy.com/public/index-pre.php
index 906c90a..e2a3787 100644
--- a/yohobuy/www.yohobuy.com/public/index-pre.php
+++ b/yohobuy/www.yohobuy.com/public/index-pre.php
@@ -1,8 +1,8 @@
 <?php
 use Yaf\Application;
 
-define('SITE_MAIN', 'http://www.yohobuy.com'); // 网站主域名
-define('OLD_MAIN', 'http://www.yohobuy.com'); // 网站旧域名
+define('SITE_MAIN', '//www.yohobuy.com'); // 网站主域名
+define('OLD_MAIN', '//www.yohobuy.com'); // 网站旧域名
 define('COOKIE_DOMAIN', '.yohobuy.com'); // COOKIE作用域
 define('SUB_DOMAIN', '.yohobuy.com'); // 子域名后缀
 define('USE_CACHE', true); // 缓存的开关
@@ -10,5 +10,11 @@ define('APPLICATION_PATH', dirname(__DIR__)); // 应用目录
 define('ROOT_PATH', dirname(dirname(APPLICATION_PATH))); // 根目录
 defined('APPLICATION_ENV') || define('APPLICATION_ENV', 'preview');
 
+define('API_URL', 'http://api.yoho.yohoops.org/');
+define('SERVICE_URL', 'http://service.yoho.yohoops.org/');
+define('YOHOBUY_URL', 'http://www.yohobuy.com/');
+define('SERVICE_NOTIFY', 'http://service.yoho.cn/');
+define('API_OLD', 'http://api2.open.yohobuy.com/');
+
 $application = new Application(APPLICATION_PATH . '/configs/application.preview.ini');
 $application->bootstrap()->run();
\ No newline at end of file
diff --git a/yohobuy/www.yohobuy.com/public/index-test.php b/yohobuy/www.yohobuy.com/public/index-test.php
index b0a99ac..61e035f 100644
--- a/yohobuy/www.yohobuy.com/public/index-test.php
+++ b/yohobuy/www.yohobuy.com/public/index-test.php
@@ -1,8 +1,8 @@
 <?php
 use Yaf\Application;
 
-define('SITE_MAIN', 'http://www.yohobuy.com'); // 网站主域名
-define('OLD_MAIN', 'http://www.yohobuy.com'); // 网站旧域名
+define('SITE_MAIN', '//www.yohobuy.com'); // 网站主域名
+define('OLD_MAIN', '//www.yohobuy.com'); // 网站旧域名
 define('COOKIE_DOMAIN', '.yohobuy.com'); // COOKIE作用域
 define('SUB_DOMAIN', '.yohobuy.com'); // 子域名后缀
 define('USE_CACHE', true); // 缓存的开关
@@ -10,5 +10,11 @@ define('APPLICATION_PATH', dirname(__DIR__)); // 应用目录
 define('ROOT_PATH', dirname(dirname(APPLICATION_PATH))); // 根目录
 defined('APPLICATION_ENV') || define('APPLICATION_ENV', 'testing');
 
+define('API_URL', 'http://testapi.yoho.cn:28078/');
+define('SERVICE_URL', 'http://testservice.yoho.cn:28077/');
+define('YOHOBUY_URL', 'http://www.yohobuy.com/');
+define('SERVICE_NOTIFY', 'http://testservice.yoho.cn:28077/');
+define('API_OLD', 'http://test2.open.yohobuy.com/');
+
 $application = new Application(APPLICATION_PATH . '/configs/application.testing.ini');
 $application->bootstrap()->run();
\ No newline at end of file
diff --git a/yohobuy/www.yohobuy.com/public/index.php b/yohobuy/www.yohobuy.com/public/index.php
index 62c9498..ae791cb 100644
--- a/yohobuy/www.yohobuy.com/public/index.php
+++ b/yohobuy/www.yohobuy.com/public/index.php
@@ -1,8 +1,8 @@
 <?php
 use Yaf\Application;
 
-define('SITE_MAIN', 'http://www.yohobuy.com'); // 网站主域名
-define('OLD_MAIN', 'http://www.yohobuy.com'); // 网站旧域名
+define('SITE_MAIN', '//www.yohobuy.com'); // 网站主域名
+define('OLD_MAIN', '//www.yohobuy.com'); // 网站旧域名
 define('COOKIE_DOMAIN', '.yohobuy.com'); // COOKIE作用域
 define('SUB_DOMAIN', '.yohobuy.com'); // 子域名后缀
 define('USE_CACHE', true); // 缓存的开关
@@ -10,5 +10,11 @@ define('APPLICATION_PATH', dirname(__DIR__)); // 应用目录
 define('ROOT_PATH', dirname(dirname(APPLICATION_PATH))); // 根目录
 defined('APPLICATION_ENV') || define('APPLICATION_ENV', 'production');
 
+define('API_URL', 'http://api.yoho.yohoops.org/');
+define('SERVICE_URL', 'http://service.yoho.yohoops.org/');
+define('YOHOBUY_URL', 'http://www.yohobuy.com/');
+define('SERVICE_NOTIFY', 'http://service.yoho.cn/');
+define('API_OLD', 'http://api2.open.yohobuy.com/');
+
 $application = new Application(APPLICATION_PATH . '/configs/application.production.ini');
 $application->bootstrap()->run();
\ No newline at end of file