三江源数据门户前台页面设计
This commit is contained in:
parent
18a038cf37
commit
886e1098cf
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,32 @@
|
|||
|
||||
<!-- saved from url=(0090)chrome-extension://pioclpoplcdbaefihamjohnefbikjilc/content/share_tools/email_sharing.html -->
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<link rel="stylesheet" type="text/css" href="chrome-extension://pioclpoplcdbaefihamjohnefbikjilc/css/common.css">
|
||||
<link rel="stylesheet" type="text/css" href="chrome-extension://pioclpoplcdbaefihamjohnefbikjilc/content/auxiliary.css">
|
||||
<link rel="stylesheet" type="text/css" href="chrome-extension://pioclpoplcdbaefihamjohnefbikjilc/content/share_tools/email_sharing.css">
|
||||
<script type="text/javascript" src="chrome-extension://pioclpoplcdbaefihamjohnefbikjilc/third_party/port.js"></script>
|
||||
<script type="text/javascript" src="chrome-extension://pioclpoplcdbaefihamjohnefbikjilc/js/common/Browser.js"></script>
|
||||
<script type="text/javascript" src="chrome-extension://pioclpoplcdbaefihamjohnefbikjilc/js/GlobalUtils.js"></script>
|
||||
<script src="chrome-extension://pioclpoplcdbaefihamjohnefbikjilc/js/common/Log.js" type="text/javascript"></script>
|
||||
<script type="text/javascript" src="chrome-extension://pioclpoplcdbaefihamjohnefbikjilc/thrift/gen/Limits_types.js"></script>
|
||||
<script src="chrome-extension://pioclpoplcdbaefihamjohnefbikjilc/content/share_tools/email_sharing.js" type="text/javascript"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div id="main">
|
||||
<div id="subject"></div>
|
||||
<div id="sender"></div>
|
||||
<div id="to">
|
||||
<span id="recipientsHeader" class="header" message="sendTo">收件人:</span>
|
||||
<div id="recipientsContainer">
|
||||
<input id="recipients" tabindex="1">
|
||||
</div>
|
||||
<div id="contacts" style="width: 202px;"></div>
|
||||
</div>
|
||||
<textarea id="message" tabindex="2"></textarea>
|
||||
<div id="actions">
|
||||
<div id="cancel" class="button" message="regForm_cancel" tabindex="4">取消</div>
|
||||
<div id="send" class="button disabled" message="send" tabindex="3">发送</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</body></html>
|
|
@ -0,0 +1,52 @@
|
|||
|
||||
<!-- saved from url=(0090)chrome-extension://pioclpoplcdbaefihamjohnefbikjilc/content/filing_tools/filing_tools.html -->
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<link href="chrome-extension://pioclpoplcdbaefihamjohnefbikjilc/css/common.css" rel="stylesheet">
|
||||
<link rel="stylesheet" type="text/css" href="chrome-extension://pioclpoplcdbaefihamjohnefbikjilc/content/auxiliary.css">
|
||||
<link href="chrome-extension://pioclpoplcdbaefihamjohnefbikjilc/content/filing_tools/filing_tools.css" rel="stylesheet">
|
||||
<script src="chrome-extension://pioclpoplcdbaefihamjohnefbikjilc/third_party/port.js" type="text/javascript"></script>
|
||||
<script src="chrome-extension://pioclpoplcdbaefihamjohnefbikjilc/js/common/Browser.js" type="text/javascript"></script>
|
||||
<script src="chrome-extension://pioclpoplcdbaefihamjohnefbikjilc/js/GlobalUtils.js" type="text/javascript"></script>
|
||||
<script src="chrome-extension://pioclpoplcdbaefihamjohnefbikjilc/js/common/Log.js" type="text/javascript"></script>
|
||||
<script src="chrome-extension://pioclpoplcdbaefihamjohnefbikjilc/content/filing_tools/NotebookSelector.js" type="text/javascript"></script>
|
||||
<script src="chrome-extension://pioclpoplcdbaefihamjohnefbikjilc/content/filing_tools/TagEntryBox.js" type="text/javascript"></script>
|
||||
<script src="chrome-extension://pioclpoplcdbaefihamjohnefbikjilc/content/filing_tools/filing_tools.js" type="text/javascript"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div id="main">
|
||||
<div id="title">
|
||||
<div class="expandingArea">
|
||||
<pre><span></span><br></pre>
|
||||
<textarea maxlength="255" tabindex="1" placeholder="无标题笔记"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div id="notebook">
|
||||
<div class="search">
|
||||
<input tabindex="2" placeholder="查找笔记本">
|
||||
<span class="cancel"></span>
|
||||
</div>
|
||||
<div class="list"></div>
|
||||
</div>
|
||||
<div id="tags">
|
||||
<input maxlength="100" tabindex="3" placeholder="添加标签">
|
||||
<div id="tagsAutocompleteContainer">
|
||||
<div id="tagsAutocomplete"></div>
|
||||
</div>
|
||||
<div id="existingTags">
|
||||
<div id="clearTags"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="hidden">
|
||||
<div class="divider"></div>
|
||||
<div class="divider"></div>
|
||||
<div id="comment">
|
||||
<div class="expandingArea">
|
||||
<pre><span></span><br></pre>
|
||||
<textarea tabindex="4" placeholder="添加注释"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="url"></div>
|
||||
</div>
|
||||
|
||||
</body></html>
|
|
@ -0,0 +1,68 @@
|
|||
|
||||
<!-- saved from url=(0090)chrome-extension://pioclpoplcdbaefihamjohnefbikjilc/content/global_tools/global_tools.html -->
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<link href="chrome-extension://pioclpoplcdbaefihamjohnefbikjilc/css/common.css" rel="stylesheet">
|
||||
<link href="chrome-extension://pioclpoplcdbaefihamjohnefbikjilc/content/global_tools/global_tools.css" rel="stylesheet">
|
||||
<script src="chrome-extension://pioclpoplcdbaefihamjohnefbikjilc/third_party/port.js" type="text/javascript"></script>
|
||||
<script src="chrome-extension://pioclpoplcdbaefihamjohnefbikjilc/js/common/Browser.js" type="text/javascript"></script>
|
||||
<script src="chrome-extension://pioclpoplcdbaefihamjohnefbikjilc/js/GlobalUtils.js" type="text/javascript"></script>
|
||||
<script src="chrome-extension://pioclpoplcdbaefihamjohnefbikjilc/js/common/Log.js" type="text/javascript"></script>
|
||||
<script src="chrome-extension://pioclpoplcdbaefihamjohnefbikjilc/content/global_tools/global_tools.js" type="text/javascript"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div id="hideTab"></div>
|
||||
<div id="closeSidebar"></div>
|
||||
<div class="header" id="clipHeader"><span message="quickNote">选择保存的内容</span></div>
|
||||
<div class="clipper" id="article" message="articleClip">网页正文</div>
|
||||
<div class="clipper" id="clearly" message="simplifiedArticle">隐藏广告</div>
|
||||
<div class="clipper" id="fullPage" message="fullPageClip">整个页面</div>
|
||||
<div class="clipper" id="selection" message="selectionClip">选中部分</div>
|
||||
<div class="clipper" id="pdf" message="pdfClip">PDF</div>
|
||||
<div class="clipper" id="email" message="emailClip">电子邮件</div>
|
||||
<div class="clipper" id="url" message="urlClip">网址</div>
|
||||
<div class="clipper" id="screenshot" message="screenshotClip">屏幕截图</div>
|
||||
<div class="header" id="markupHeader"><span message="markup">添加喜欢的标注</span></div>
|
||||
<div class="skitch_pair">
|
||||
<div class="skitch" id="highlighter" tooltip="高亮"></div>
|
||||
<div class="skitch" id="marker" tooltip="涂鸦"></div>
|
||||
</div>
|
||||
<div class="skitch_pair">
|
||||
<div class="skitch expandable" id="arrow" tooltip="箭头"></div>
|
||||
<div class="subtool_panel shapes">
|
||||
<div class="subtool" tool="arrow"></div><div class="subtool" tool="line"></div><div class="subtool" tool="ellipse"></div><div class="subtool" tool="roundedRectangle"></div><div class="subtool" tool="rectangle"></div>
|
||||
</div>
|
||||
<div class="skitch" id="text" tooltip="文字"></div>
|
||||
</div>
|
||||
<div class="skitch_pair">
|
||||
<div class="skitch expandable" id="stampReject" tooltip="图章"></div>
|
||||
<div class="subtool_panel stamps">
|
||||
<div class="subtool" tool="stampReject"></div><div class="subtool" tool="stampExclaim"></div><div class="subtool" tool="stampQuestion"></div><div class="subtool" tool="stampAccept"></div><div class="subtool" tool="stampPerfect"></div>
|
||||
</div>
|
||||
<div class="skitch" id="pixelate" tooltip="马赛克"></div>
|
||||
</div>
|
||||
<div class="skitch_pair conditional hidden">
|
||||
<div class="skitch expandable" id="color" color="pink" tooltip="选择颜色"></div>
|
||||
<div class="subtool_panel colors">
|
||||
<div class="subtool" tool="green"></div><div class="subtool" tool="yellow"></div><div class="subtool" tool="orange"></div><div class="subtool" tool="red"></div><div class="subtool" tool="black"></div><div class="subtool" tool="white"></div><div class="subtool" tool="pink"></div><div class="subtool" tool="blue"></div>
|
||||
</div>
|
||||
<div class="skitch" id="crop" tooltip="裁剪"></div>
|
||||
</div>
|
||||
<div class="skitch_pair conditional hidden">
|
||||
<div class="skitch" id="zoomout" tooltip="缩小"></div>
|
||||
<div class="skitch" id="zoomin" tooltip="放大"></div>
|
||||
</div>
|
||||
<div class="header" id="fileHeader"><span message="file">选笔记本和标签</span></div>
|
||||
<div id="notebook"></div>
|
||||
<div id="tags" data-placeholder="添加标签"></div>
|
||||
<div class="button bottom" id="shareButton"><span message="share">分享</span></div>
|
||||
<div class="button bottom" id="saveButton" message="saveToEvernote">保存</div>
|
||||
<div class="divider bottom" id="userMenuDivider"></div>
|
||||
<div id="userMenu" class="bottom"></div>
|
||||
<div id="filingDialogSliver" class="dialogSliver"></div>
|
||||
<div id="filingDialogArrow" class="dialogArrow"></div>
|
||||
<div id="shareDialogSliver" class="dialogSliver"></div>
|
||||
<div id="shareDialogArrow" class="dialogArrow"></div>
|
||||
<div id="userToolsSliver" class="dialogSliver"></div>
|
||||
<div id="userToolsArrow" class="dialogArrow"></div>
|
||||
|
||||
</body></html>
|
|
@ -0,0 +1,41 @@
|
|||
|
||||
<!-- saved from url=(0088)chrome-extension://pioclpoplcdbaefihamjohnefbikjilc/content/share_tools/share_tools.html -->
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<link href="chrome-extension://pioclpoplcdbaefihamjohnefbikjilc/css/common.css" rel="stylesheet">
|
||||
<link rel="stylesheet" type="text/css" href="chrome-extension://pioclpoplcdbaefihamjohnefbikjilc/content/auxiliary.css">
|
||||
<link href="chrome-extension://pioclpoplcdbaefihamjohnefbikjilc/content/share_tools/share_tools.css" rel="stylesheet">
|
||||
<script src="chrome-extension://pioclpoplcdbaefihamjohnefbikjilc/third_party/port.js" type="text/javascript"></script>
|
||||
<script src="chrome-extension://pioclpoplcdbaefihamjohnefbikjilc/js/opera.js" type="text/javascript"></script>
|
||||
<script src="chrome-extension://pioclpoplcdbaefihamjohnefbikjilc/js/yandex.js" type="text/javascript"></script>
|
||||
<script src="chrome-extension://pioclpoplcdbaefihamjohnefbikjilc/js/common/Browser.js" type="text/javascript"></script>
|
||||
<script src="chrome-extension://pioclpoplcdbaefihamjohnefbikjilc/js/GlobalUtils.js" type="text/javascript"></script>
|
||||
<script type="text/javascript" src="chrome-extension://pioclpoplcdbaefihamjohnefbikjilc/js/common/Log.js"></script>
|
||||
<script type="text/javascript" src="chrome-extension://pioclpoplcdbaefihamjohnefbikjilc/thrift/gen/Limits_types.js"></script>
|
||||
<script src="chrome-extension://pioclpoplcdbaefihamjohnefbikjilc/content/share_tools/share_tools.js" type="text/javascript"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div id="main">
|
||||
<div id="status">
|
||||
<span class="icon"></span>
|
||||
<span class="text" message="savingClip">正在保存剪藏...</span>
|
||||
</div>
|
||||
<div id="title"></div>
|
||||
<div id="urlHeader" message="evernoteLink">印象笔记公开链接</div>
|
||||
<input id="url" readonly="">
|
||||
<div id="linkSwitcher" linktype="source" message="switchToEvernoteLink">切换到印象笔记公开链接</div>
|
||||
<div id="copiedConfirmation" message="urlCopied">公开链接已经复制到剪贴板</div>
|
||||
<div id="shareButtons">
|
||||
<div class="shareButton" id="facebook"></div><!--
|
||||
--><div class="shareButton" id="twitter"></div><!--
|
||||
--><div class="shareButton" id="weibo"></div><!--
|
||||
--><div class="shareButton" id="linkedin"></div><!--
|
||||
--><div class="shareButton" id="email"></div>
|
||||
</div>
|
||||
<div id="errorTitle"><span></span></div>
|
||||
<div id="errorDetails"></div>
|
||||
<div class="button" id="dismissMessage" message="notNow">现在不</div>
|
||||
<a class="button" id="upgrade" target="_blank"></a>
|
||||
<div class="button" id="dismissDialog" message="ok">确定</div>
|
||||
</div>
|
||||
|
||||
</body></html>
|
Binary file not shown.
After Width: | Height: | Size: 81 KiB |
Binary file not shown.
After Width: | Height: | Size: 134 KiB |
Binary file not shown.
After Width: | Height: | Size: 134 KiB |
|
@ -0,0 +1,303 @@
|
|||
|
||||
/* CSS Document */
|
||||
/* GLOBAL STYLES
|
||||
-------------------------------------------------- */
|
||||
/* Padding below the footer and lighter body text */
|
||||
|
||||
|
||||
body {
|
||||
padding-bottom: 40px;
|
||||
color: #5a5a5a;
|
||||
}
|
||||
/* Sidenav for Docs
|
||||
-------------------------------------------------- */
|
||||
|
||||
.bs-docs-sidenav {
|
||||
width: 270px;
|
||||
margin-bottom: 30px;
|
||||
padding: 0px;
|
||||
background-color: #fff;
|
||||
-webkit-border-radius: 6px;
|
||||
-moz-border-radius: 6px;
|
||||
border-radius: 6px;
|
||||
-webkit-box-shadow: 0 1px 4px rgba(0,0,0,.065);
|
||||
-moz-box-shadow: 0 1px 4px rgba(0,0,0,.065);
|
||||
box-shadow: 0 1px 4px rgba(0,0,0,.065);
|
||||
}
|
||||
.bs-docs-sidenav > li > a {
|
||||
display: block;
|
||||
width: 190px \9;
|
||||
margin: 0 0 -1px;
|
||||
padding: 8px 14px;
|
||||
border: 1px solid #e5e5e5;
|
||||
}
|
||||
.bs-docs-sidenav > li:first-child > a {
|
||||
-webkit-border-radius: 6px 6px 0 0;
|
||||
-moz-border-radius: 6px 6px 0 0;
|
||||
border-radius: 6px 6px 0 0;
|
||||
}
|
||||
.bs-docs-sidenav > li:last-child > a {
|
||||
-webkit-border-radius: 0 0 6px 6px;
|
||||
-moz-border-radius: 0 0 6px 6px;
|
||||
border-radius: 0 0 6px 6px;
|
||||
}
|
||||
.bs-docs-sidenav > .active > a {
|
||||
position: relative;
|
||||
z-index: 2;
|
||||
padding: 9px 15px;
|
||||
border: 0;
|
||||
text-shadow: 0 1px 0 rgba(0,0,0,.15);
|
||||
-webkit-box-shadow: inset 1px 0 0 rgba(0,0,0,.1), inset -1px 0 0 rgba(0,0,0,.1);
|
||||
-moz-box-shadow: inset 1px 0 0 rgba(0,0,0,.1), inset -1px 0 0 rgba(0,0,0,.1);
|
||||
box-shadow: inset 1px 0 0 rgba(0,0,0,.1), inset -1px 0 0 rgba(0,0,0,.1);
|
||||
}
|
||||
/* Chevrons */
|
||||
.bs-docs-sidenav .icon-chevron-right {
|
||||
float: right;
|
||||
margin-top: 2px;
|
||||
margin-right: -6px;
|
||||
opacity: .25;
|
||||
}
|
||||
.bs-docs-sidenav > li > a:hover {
|
||||
background-color: #f5f5f5;
|
||||
}
|
||||
.bs-docs-sidenav a:hover .icon-chevron-right {
|
||||
opacity: .5;
|
||||
}
|
||||
.bs-docs-sidenav .active .icon-chevron-right, .bs-docs-sidenav .active a:hover .icon-chevron-right {
|
||||
background-image: url(../img/glyphicons-halflings-white.png);
|
||||
opacity: 1;
|
||||
}
|
||||
.bs-docs-sidenav.affix {
|
||||
top: 40px;
|
||||
}
|
||||
.bs-docs-sidenav.affix-bottom {
|
||||
position: absolute;
|
||||
top: auto;
|
||||
bottom: 270px;
|
||||
}
|
||||
/* */
|
||||
/* */
|
||||
#logo, #search {
|
||||
}
|
||||
|
||||
.container .row-fluid .span12 .span9 .nav {
|
||||
float: right;
|
||||
padding-top: 15px;
|
||||
}
|
||||
|
||||
.container .span12 .row .span8 .nav {
|
||||
padding-top: 20px;
|
||||
}
|
||||
.marketing .box {
|
||||
border: 1px solid #EFEFEF;
|
||||
padding-top: 10px;
|
||||
padding-bottom: 20px;
|
||||
margin-bottom: 20px;
|
||||
padding-right: 10px;
|
||||
background-color: #fff;
|
||||
-webkit-border-radius: 6px;
|
||||
-moz-border-radius: 6px;
|
||||
border-radius: 6px;
|
||||
-webkit-box-shadow: 0 1px 4px rgba(0,0,0,.065);
|
||||
-moz-box-shadow: 0 1px 4px rgba(0,0,0,.065);
|
||||
box-shadow: 0 1px 4px rgba(0,0,0,.065);
|
||||
}
|
||||
.box-title {
|
||||
font-family: "微软雅黑";
|
||||
border-top-width: 4px;
|
||||
border-right-width: 4px;
|
||||
border-bottom-width: 4px;
|
||||
border-left-width: 4px;
|
||||
border-top-style: none;
|
||||
border-right-style: none;
|
||||
border-bottom-style: none;
|
||||
border-left-style: solid;
|
||||
border-top-color: #336699;
|
||||
border-right-color: #336699;
|
||||
border-bottom-color: #336699;
|
||||
border-left-color: #336699;
|
||||
padding-left: 10px;
|
||||
margin-left: 10px;
|
||||
}
|
||||
.marketing .row .span4.box .inline .more {
|
||||
padding-left: 260px;
|
||||
font-size: 9px;
|
||||
}
|
||||
.box ul li {
|
||||
width: 350px;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;/*禁止自动换行*/
|
||||
overflow: hidden;
|
||||
}
|
||||
/* Downsize the brand/project name a bit */
|
||||
.navbar .brand {
|
||||
padding: 14px 20px 16px; /* Increase vertical padding to match navbar links */
|
||||
font-size: 16px;
|
||||
font-weight: bold;
|
||||
text-shadow: 0 -1px 0 rgba(0,0,0,.5);
|
||||
}
|
||||
/* Navbar links: increase padding for taller navbar */
|
||||
.navbar .nav > li > a {
|
||||
padding: 15px 20px;
|
||||
}
|
||||
/* CUSTOMIZE THE CAROUSEL
|
||||
-------------------------------------------------- */
|
||||
|
||||
/* Carousel base class */
|
||||
.carousel {
|
||||
margin-bottom: 30px;
|
||||
}
|
||||
.carousel .container {
|
||||
position: relative;
|
||||
z-index: 9;
|
||||
}
|
||||
.carousel-control {
|
||||
height: 80px;
|
||||
margin-top: 0;
|
||||
font-size: 120px;
|
||||
text-shadow: 0 1px 1px rgba(0,0,0,.4);
|
||||
background-color: transparent;
|
||||
border: 0;
|
||||
z-index: 10;
|
||||
}
|
||||
.carousel .item {
|
||||
height: 280px;
|
||||
}
|
||||
.carousel img {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
min-width: 100%;
|
||||
height: 274px;
|
||||
}
|
||||
.carousel-caption {
|
||||
background-color: transparent;
|
||||
position: static;
|
||||
max-width: 1128px;
|
||||
padding: 0 20px;
|
||||
margin-top: 220px;
|
||||
}
|
||||
.carousel-caption h2, .carousel-caption .lead {
|
||||
margin: 0;
|
||||
line-height: 1.25;
|
||||
color: #fff;
|
||||
text-shadow: 0 1px 1px rgba(0,0,0,.4);
|
||||
text-align:center;
|
||||
}
|
||||
.carousel-caption .btn {
|
||||
margin-top: 10px;
|
||||
}
|
||||
/* MARKETING CONTENT
|
||||
-------------------------------------------------- */
|
||||
|
||||
/* Center align the text within the three columns below the carousel */
|
||||
.marketing .span4 {
|
||||
text-align: left;
|
||||
}
|
||||
.marketing h2 {
|
||||
font-weight: normal;
|
||||
}
|
||||
.marketing .row .span4 .inline h3 {
|
||||
display: inline-block;
|
||||
}
|
||||
.marketing .span4 p {
|
||||
margin-left: 10px;
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/* RESPONSIVE CSS
|
||||
-------------------------------------------------- */
|
||||
|
||||
@media (max-width: 979px) {
|
||||
.container.navbar-wrapper {
|
||||
margin-bottom: 0;
|
||||
width: auto;
|
||||
}
|
||||
.navbar-inner {
|
||||
border-radius: 0;
|
||||
margin: -20px 0;
|
||||
}
|
||||
.carousel .item {
|
||||
height: 500px;
|
||||
}
|
||||
.carousel img {
|
||||
width: auto;
|
||||
height: 500px;
|
||||
}
|
||||
.featurette {
|
||||
height: auto;
|
||||
padding: 0;
|
||||
}
|
||||
.featurette-image.pull-left, .featurette-image.pull-right {
|
||||
display: block;
|
||||
float: none;
|
||||
max-width: 40%;
|
||||
margin: 0 auto 20px;
|
||||
}
|
||||
}
|
||||
@media (max-width: 767px) {
|
||||
.navbar-inner {
|
||||
margin: -20px;
|
||||
}
|
||||
.carousel {
|
||||
margin-left: -20px;
|
||||
margin-right: -20px;
|
||||
}
|
||||
.carousel .container {
|
||||
}
|
||||
.carousel .item {
|
||||
height: 300px;
|
||||
}
|
||||
.carousel img {
|
||||
height: 300px;
|
||||
}
|
||||
.carousel-caption {
|
||||
width: 65%;
|
||||
padding: 0 70px;
|
||||
margin-top: 100px;
|
||||
}
|
||||
.carousel-caption h1 {
|
||||
font-size: 30px;
|
||||
}
|
||||
.carousel-caption .lead, .carousel-caption .btn {
|
||||
font-size: 18px;
|
||||
}
|
||||
.marketing .span4 + .span4 {
|
||||
margin-top: 40px;
|
||||
}
|
||||
.featurette-heading {
|
||||
font-size: 30px;
|
||||
}
|
||||
.featurette .lead {
|
||||
font-size: 18px;
|
||||
line-height: 1.5;
|
||||
}
|
||||
}
|
||||
.Lbox {
|
||||
border: 1px solid #EFEFEF;
|
||||
padding-right: 15px;
|
||||
padding-left: 15px;
|
||||
padding-top: 20px;
|
||||
padding-bottom: 30px;
|
||||
background-color: #fff;
|
||||
-webkit-border-radius: 6px;
|
||||
-moz-border-radius: 6px;
|
||||
border-radius: 6px;
|
||||
-webkit-box-shadow: 0 1px 4px rgba(0,0,0,.065);
|
||||
-moz-box-shadow: 0 1px 4px rgba(0,0,0,.065);
|
||||
box-shadow: 0 1px 4px rgba(0,0,0,.065);
|
||||
}
|
||||
.footer {
|
||||
border-top-width: 4px;
|
||||
border-top-style: solid;
|
||||
border-top-color: #336699;
|
||||
border-right-color: #336699;
|
||||
border-bottom-color: #336699;
|
||||
border-left-color: #336699;
|
||||
padding-top: 25px;
|
||||
margin-top: 40px;
|
||||
}
|
|
@ -0,0 +1,22 @@
|
|||
|
||||
<!-- saved from url=(0086)chrome-extension://pioclpoplcdbaefihamjohnefbikjilc/content/user_tools/user_tools.html -->
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<link href="chrome-extension://pioclpoplcdbaefihamjohnefbikjilc/css/common.css" rel="stylesheet">
|
||||
<link href="chrome-extension://pioclpoplcdbaefihamjohnefbikjilc/content/user_tools/user_tools.css" rel="stylesheet">
|
||||
<script src="chrome-extension://pioclpoplcdbaefihamjohnefbikjilc/third_party/port.js" type="text/javascript"></script>
|
||||
<script src="chrome-extension://pioclpoplcdbaefihamjohnefbikjilc/js/opera.js" type="text/javascript"></script>
|
||||
<script src="chrome-extension://pioclpoplcdbaefihamjohnefbikjilc/js/yandex.js" type="text/javascript"></script>
|
||||
<script src="chrome-extension://pioclpoplcdbaefihamjohnefbikjilc/js/common/Browser.js" type="text/javascript"></script>
|
||||
<script src="chrome-extension://pioclpoplcdbaefihamjohnefbikjilc/js/GlobalUtils.js" type="text/javascript"></script>
|
||||
<script src="chrome-extension://pioclpoplcdbaefihamjohnefbikjilc/js/options/Version.js" type="text/javascript"></script>
|
||||
<script type="text/javascript" src="chrome-extension://pioclpoplcdbaefihamjohnefbikjilc/js/common/Log.js"></script>
|
||||
<script src="chrome-extension://pioclpoplcdbaefihamjohnefbikjilc/content/user_tools/user_tools.js" type="text/javascript"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div id="version">版本 6.0.8: 9f8dc4e/1.0.2.250</div>
|
||||
<div id="tutorial" message="tutorial">剪藏使用指南</div>
|
||||
<div id="options" message="options_title">选项</div>
|
||||
<div id="logout"></div>
|
||||
<a id="premium" target="_blank" message="upgradeToPremium">升级到高级帐户</a>
|
||||
|
||||
</body></html>
|
Binary file not shown.
After Width: | Height: | Size: 669 KiB |
Binary file not shown.
After Width: | Height: | Size: 332 KiB |
Binary file not shown.
After Width: | Height: | Size: 288 KiB |
|
@ -0,0 +1,7 @@
|
|||
function udm_(a,b){var c="comScore=",d=document,e=d.cookie,f="",g="indexOf",h="substring",i="length",j=2048,k,l="&ns_",m="&",n,o,p,q,r=window,s=r.encodeURIComponent||escape;if(e[g](c)+1)for(p=0,o=e.split(";"),q=o[i];p<q;p++)n=o[p][g](c),n+1&&(f=m+unescape(o[p][h](n+c[i])));a+=l+"_t="+ +(new Date)+l+"c="+(d.characterSet||d.defaultCharset||"")+"&c8="+s(d.title)+f+"&c7="+s(d.URL)+"&c9="+s(d.referrer),a[i]>j&&a[g](m)>0&&(k=a[h](0,j-8).lastIndexOf(m),a=(a[h](0,k)+l+"cut="+s(a[h](k+1)))[h](0,j)),d.images?(n=new Image,r.ns_p||(ns_p=n),typeof b=="function"&&(n.onload=n.onerror=b),n.src=a):d.write("<","p","><",'img src="',a,'" height="1" width="1" alt="*"',"><","/p",">")}typeof _comscore=="undefined"&&(_comscore=[]),function(){var a="length",b=self,c=b.encodeURIComponent?encodeURIComponent:escape,d=".scorecardresearch.com",e="//app"+d+"/s2e/invite",f=Math,g="script",h="width",i=/c2=(\d*)&/,j,k=function(b){if(!!b){var e,f=[],g,h=0,i,j,k="";for(var l in b){g=typeof b[l];if(g=="string"||g=="number")f[f[a]]=l+"="+c(b[l]),l=="c2"?k=b[l]:l=="c1"&&(h=1)}if(f[a]<=0||k=="")return;j=b.options||{},j.d=j.d||document;if(typeof j.url_append=="string"){i=j.url_append.replace(/&/,"&").split("&");for(var l=0,n=i[a],o;l<n;l++)o=i[l].split("="),o[a]==2&&(f[f[a]]=o[0]+"="+c(o[1]))}e=["http",j.d.URL.charAt(4)=="s"?"s://sb":"://b",d,"/b?",h?"":"c1=2&",f.join("&").replace(/&$/,"")],udm_(e.join(""),function(){m(this,j)})}},l=function(b){b=b||_comscore;for(var c=0,d=b[a];c<d;c++)k(b[c]);b=_comscore=[]},m=function(a,b){if(!(a.src.indexOf("c1=2")<0||!b.d.createElement))if(b.force_script_extension||a[h]==2&&a.height>f.round(f.random()*100)){var c=b.d.createElement(g),d=b.d.getElementsByTagName(g)[0],j=[b.script_extension_url||e,"?","c2=",a.src.match(i)[1]].join("");d&&(c.src=j,c.async=!0,d.parentNode.insertBefore(c,d))}};l(),(j=b.COMSCORE)?(j.purge=l,j.beacon=k):COMSCORE={purge:l,beacon:k}}()
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,99 @@
|
|||
/* ==========================================================
|
||||
* bootstrap-alert.js v2.3.2
|
||||
* http://twbs.github.com/bootstrap/javascript.html#alerts
|
||||
* ==========================================================
|
||||
* Copyright 2013 Twitter, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
* ========================================================== */
|
||||
|
||||
|
||||
!function ($) {
|
||||
|
||||
"use strict"; // jshint ;_;
|
||||
|
||||
|
||||
/* ALERT CLASS DEFINITION
|
||||
* ====================== */
|
||||
|
||||
var dismiss = '[data-dismiss="alert"]'
|
||||
, Alert = function (el) {
|
||||
$(el).on('click', dismiss, this.close)
|
||||
}
|
||||
|
||||
Alert.prototype.close = function (e) {
|
||||
var $this = $(this)
|
||||
, selector = $this.attr('data-target')
|
||||
, $parent
|
||||
|
||||
if (!selector) {
|
||||
selector = $this.attr('href')
|
||||
selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7
|
||||
}
|
||||
|
||||
$parent = $(selector)
|
||||
|
||||
e && e.preventDefault()
|
||||
|
||||
$parent.length || ($parent = $this.hasClass('alert') ? $this : $this.parent())
|
||||
|
||||
$parent.trigger(e = $.Event('close'))
|
||||
|
||||
if (e.isDefaultPrevented()) return
|
||||
|
||||
$parent.removeClass('in')
|
||||
|
||||
function removeElement() {
|
||||
$parent
|
||||
.trigger('closed')
|
||||
.remove()
|
||||
}
|
||||
|
||||
$.support.transition && $parent.hasClass('fade') ?
|
||||
$parent.on($.support.transition.end, removeElement) :
|
||||
removeElement()
|
||||
}
|
||||
|
||||
|
||||
/* ALERT PLUGIN DEFINITION
|
||||
* ======================= */
|
||||
|
||||
var old = $.fn.alert
|
||||
|
||||
$.fn.alert = function (option) {
|
||||
return this.each(function () {
|
||||
var $this = $(this)
|
||||
, data = $this.data('alert')
|
||||
if (!data) $this.data('alert', (data = new Alert(this)))
|
||||
if (typeof option == 'string') data[option].call($this)
|
||||
})
|
||||
}
|
||||
|
||||
$.fn.alert.Constructor = Alert
|
||||
|
||||
|
||||
/* ALERT NO CONFLICT
|
||||
* ================= */
|
||||
|
||||
$.fn.alert.noConflict = function () {
|
||||
$.fn.alert = old
|
||||
return this
|
||||
}
|
||||
|
||||
|
||||
/* ALERT DATA-API
|
||||
* ============== */
|
||||
|
||||
$(document).on('click.alert.data-api', dismiss, Alert.prototype.close)
|
||||
|
||||
}(window.jQuery);
|
|
@ -0,0 +1,105 @@
|
|||
/* ============================================================
|
||||
* bootstrap-button.js v2.3.2
|
||||
* http://twbs.github.com/bootstrap/javascript.html#buttons
|
||||
* ============================================================
|
||||
* Copyright 2013 Twitter, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
* ============================================================ */
|
||||
|
||||
|
||||
!function ($) {
|
||||
|
||||
"use strict"; // jshint ;_;
|
||||
|
||||
|
||||
/* BUTTON PUBLIC CLASS DEFINITION
|
||||
* ============================== */
|
||||
|
||||
var Button = function (element, options) {
|
||||
this.$element = $(element)
|
||||
this.options = $.extend({}, $.fn.button.defaults, options)
|
||||
}
|
||||
|
||||
Button.prototype.setState = function (state) {
|
||||
var d = 'disabled'
|
||||
, $el = this.$element
|
||||
, data = $el.data()
|
||||
, val = $el.is('input') ? 'val' : 'html'
|
||||
|
||||
state = state + 'Text'
|
||||
data.resetText || $el.data('resetText', $el[val]())
|
||||
|
||||
$el[val](data[state] || this.options[state])
|
||||
|
||||
// push to event loop to allow forms to submit
|
||||
setTimeout(function () {
|
||||
state == 'loadingText' ?
|
||||
$el.addClass(d).attr(d, d) :
|
||||
$el.removeClass(d).removeAttr(d)
|
||||
}, 0)
|
||||
}
|
||||
|
||||
Button.prototype.toggle = function () {
|
||||
var $parent = this.$element.closest('[data-toggle="buttons-radio"]')
|
||||
|
||||
$parent && $parent
|
||||
.find('.active')
|
||||
.removeClass('active')
|
||||
|
||||
this.$element.toggleClass('active')
|
||||
}
|
||||
|
||||
|
||||
/* BUTTON PLUGIN DEFINITION
|
||||
* ======================== */
|
||||
|
||||
var old = $.fn.button
|
||||
|
||||
$.fn.button = function (option) {
|
||||
return this.each(function () {
|
||||
var $this = $(this)
|
||||
, data = $this.data('button')
|
||||
, options = typeof option == 'object' && option
|
||||
if (!data) $this.data('button', (data = new Button(this, options)))
|
||||
if (option == 'toggle') data.toggle()
|
||||
else if (option) data.setState(option)
|
||||
})
|
||||
}
|
||||
|
||||
$.fn.button.defaults = {
|
||||
loadingText: 'loading...'
|
||||
}
|
||||
|
||||
$.fn.button.Constructor = Button
|
||||
|
||||
|
||||
/* BUTTON NO CONFLICT
|
||||
* ================== */
|
||||
|
||||
$.fn.button.noConflict = function () {
|
||||
$.fn.button = old
|
||||
return this
|
||||
}
|
||||
|
||||
|
||||
/* BUTTON DATA-API
|
||||
* =============== */
|
||||
|
||||
$(document).on('click.button.data-api', '[data-toggle^=button]', function (e) {
|
||||
var $btn = $(e.target)
|
||||
if (!$btn.hasClass('btn')) $btn = $btn.closest('.btn')
|
||||
$btn.button('toggle')
|
||||
})
|
||||
|
||||
}(window.jQuery);
|
|
@ -0,0 +1,207 @@
|
|||
/* ==========================================================
|
||||
* bootstrap-carousel.js v2.3.2
|
||||
* http://twbs.github.com/bootstrap/javascript.html#carousel
|
||||
* ==========================================================
|
||||
* Copyright 2013 Twitter, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
* ========================================================== */
|
||||
|
||||
|
||||
!function ($) {
|
||||
|
||||
"use strict"; // jshint ;_;
|
||||
|
||||
|
||||
/* CAROUSEL CLASS DEFINITION
|
||||
* ========================= */
|
||||
|
||||
var Carousel = function (element, options) {
|
||||
this.$element = $(element)
|
||||
this.$indicators = this.$element.find('.carousel-indicators')
|
||||
this.options = options
|
||||
this.options.pause == 'hover' && this.$element
|
||||
.on('mouseenter', $.proxy(this.pause, this))
|
||||
.on('mouseleave', $.proxy(this.cycle, this))
|
||||
}
|
||||
|
||||
Carousel.prototype = {
|
||||
|
||||
cycle: function (e) {
|
||||
if (!e) this.paused = false
|
||||
if (this.interval) clearInterval(this.interval);
|
||||
this.options.interval
|
||||
&& !this.paused
|
||||
&& (this.interval = setInterval($.proxy(this.next, this), this.options.interval))
|
||||
return this
|
||||
}
|
||||
|
||||
, getActiveIndex: function () {
|
||||
this.$active = this.$element.find('.item.active')
|
||||
this.$items = this.$active.parent().children()
|
||||
return this.$items.index(this.$active)
|
||||
}
|
||||
|
||||
, to: function (pos) {
|
||||
var activeIndex = this.getActiveIndex()
|
||||
, that = this
|
||||
|
||||
if (pos > (this.$items.length - 1) || pos < 0) return
|
||||
|
||||
if (this.sliding) {
|
||||
return this.$element.one('slid', function () {
|
||||
that.to(pos)
|
||||
})
|
||||
}
|
||||
|
||||
if (activeIndex == pos) {
|
||||
return this.pause().cycle()
|
||||
}
|
||||
|
||||
return this.slide(pos > activeIndex ? 'next' : 'prev', $(this.$items[pos]))
|
||||
}
|
||||
|
||||
, pause: function (e) {
|
||||
if (!e) this.paused = true
|
||||
if (this.$element.find('.next, .prev').length && $.support.transition.end) {
|
||||
this.$element.trigger($.support.transition.end)
|
||||
this.cycle(true)
|
||||
}
|
||||
clearInterval(this.interval)
|
||||
this.interval = null
|
||||
return this
|
||||
}
|
||||
|
||||
, next: function () {
|
||||
if (this.sliding) return
|
||||
return this.slide('next')
|
||||
}
|
||||
|
||||
, prev: function () {
|
||||
if (this.sliding) return
|
||||
return this.slide('prev')
|
||||
}
|
||||
|
||||
, slide: function (type, next) {
|
||||
var $active = this.$element.find('.item.active')
|
||||
, $next = next || $active[type]()
|
||||
, isCycling = this.interval
|
||||
, direction = type == 'next' ? 'left' : 'right'
|
||||
, fallback = type == 'next' ? 'first' : 'last'
|
||||
, that = this
|
||||
, e
|
||||
|
||||
this.sliding = true
|
||||
|
||||
isCycling && this.pause()
|
||||
|
||||
$next = $next.length ? $next : this.$element.find('.item')[fallback]()
|
||||
|
||||
e = $.Event('slide', {
|
||||
relatedTarget: $next[0]
|
||||
, direction: direction
|
||||
})
|
||||
|
||||
if ($next.hasClass('active')) return
|
||||
|
||||
if (this.$indicators.length) {
|
||||
this.$indicators.find('.active').removeClass('active')
|
||||
this.$element.one('slid', function () {
|
||||
var $nextIndicator = $(that.$indicators.children()[that.getActiveIndex()])
|
||||
$nextIndicator && $nextIndicator.addClass('active')
|
||||
})
|
||||
}
|
||||
|
||||
if ($.support.transition && this.$element.hasClass('slide')) {
|
||||
this.$element.trigger(e)
|
||||
if (e.isDefaultPrevented()) return
|
||||
$next.addClass(type)
|
||||
$next[0].offsetWidth // force reflow
|
||||
$active.addClass(direction)
|
||||
$next.addClass(direction)
|
||||
this.$element.one($.support.transition.end, function () {
|
||||
$next.removeClass([type, direction].join(' ')).addClass('active')
|
||||
$active.removeClass(['active', direction].join(' '))
|
||||
that.sliding = false
|
||||
setTimeout(function () { that.$element.trigger('slid') }, 0)
|
||||
})
|
||||
} else {
|
||||
this.$element.trigger(e)
|
||||
if (e.isDefaultPrevented()) return
|
||||
$active.removeClass('active')
|
||||
$next.addClass('active')
|
||||
this.sliding = false
|
||||
this.$element.trigger('slid')
|
||||
}
|
||||
|
||||
isCycling && this.cycle()
|
||||
|
||||
return this
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
/* CAROUSEL PLUGIN DEFINITION
|
||||
* ========================== */
|
||||
|
||||
var old = $.fn.carousel
|
||||
|
||||
$.fn.carousel = function (option) {
|
||||
return this.each(function () {
|
||||
var $this = $(this)
|
||||
, data = $this.data('carousel')
|
||||
, options = $.extend({}, $.fn.carousel.defaults, typeof option == 'object' && option)
|
||||
, action = typeof option == 'string' ? option : options.slide
|
||||
if (!data) $this.data('carousel', (data = new Carousel(this, options)))
|
||||
if (typeof option == 'number') data.to(option)
|
||||
else if (action) data[action]()
|
||||
else if (options.interval) data.pause().cycle()
|
||||
})
|
||||
}
|
||||
|
||||
$.fn.carousel.defaults = {
|
||||
interval: 5000
|
||||
, pause: 'hover'
|
||||
}
|
||||
|
||||
$.fn.carousel.Constructor = Carousel
|
||||
|
||||
|
||||
/* CAROUSEL NO CONFLICT
|
||||
* ==================== */
|
||||
|
||||
$.fn.carousel.noConflict = function () {
|
||||
$.fn.carousel = old
|
||||
return this
|
||||
}
|
||||
|
||||
/* CAROUSEL DATA-API
|
||||
* ================= */
|
||||
|
||||
$(document).on('click.carousel.data-api', '[data-slide], [data-slide-to]', function (e) {
|
||||
var $this = $(this), href
|
||||
, $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) //strip for ie7
|
||||
, options = $.extend({}, $target.data(), $this.data())
|
||||
, slideIndex
|
||||
|
||||
$target.carousel(options)
|
||||
|
||||
if (slideIndex = $this.attr('data-slide-to')) {
|
||||
$target.data('carousel').pause().to(slideIndex).cycle()
|
||||
}
|
||||
|
||||
e.preventDefault()
|
||||
})
|
||||
|
||||
}(window.jQuery);
|
|
@ -0,0 +1,167 @@
|
|||
/* =============================================================
|
||||
* bootstrap-collapse.js v2.3.2
|
||||
* http://twbs.github.com/bootstrap/javascript.html#collapse
|
||||
* =============================================================
|
||||
* Copyright 2013 Twitter, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
* ============================================================ */
|
||||
|
||||
|
||||
!function ($) {
|
||||
|
||||
"use strict"; // jshint ;_;
|
||||
|
||||
|
||||
/* COLLAPSE PUBLIC CLASS DEFINITION
|
||||
* ================================ */
|
||||
|
||||
var Collapse = function (element, options) {
|
||||
this.$element = $(element)
|
||||
this.options = $.extend({}, $.fn.collapse.defaults, options)
|
||||
|
||||
if (this.options.parent) {
|
||||
this.$parent = $(this.options.parent)
|
||||
}
|
||||
|
||||
this.options.toggle && this.toggle()
|
||||
}
|
||||
|
||||
Collapse.prototype = {
|
||||
|
||||
constructor: Collapse
|
||||
|
||||
, dimension: function () {
|
||||
var hasWidth = this.$element.hasClass('width')
|
||||
return hasWidth ? 'width' : 'height'
|
||||
}
|
||||
|
||||
, show: function () {
|
||||
var dimension
|
||||
, scroll
|
||||
, actives
|
||||
, hasData
|
||||
|
||||
if (this.transitioning || this.$element.hasClass('in')) return
|
||||
|
||||
dimension = this.dimension()
|
||||
scroll = $.camelCase(['scroll', dimension].join('-'))
|
||||
actives = this.$parent && this.$parent.find('> .accordion-group > .in')
|
||||
|
||||
if (actives && actives.length) {
|
||||
hasData = actives.data('collapse')
|
||||
if (hasData && hasData.transitioning) return
|
||||
actives.collapse('hide')
|
||||
hasData || actives.data('collapse', null)
|
||||
}
|
||||
|
||||
this.$element[dimension](0)
|
||||
this.transition('addClass', $.Event('show'), 'shown')
|
||||
$.support.transition && this.$element[dimension](this.$element[0][scroll])
|
||||
}
|
||||
|
||||
, hide: function () {
|
||||
var dimension
|
||||
if (this.transitioning || !this.$element.hasClass('in')) return
|
||||
dimension = this.dimension()
|
||||
this.reset(this.$element[dimension]())
|
||||
this.transition('removeClass', $.Event('hide'), 'hidden')
|
||||
this.$element[dimension](0)
|
||||
}
|
||||
|
||||
, reset: function (size) {
|
||||
var dimension = this.dimension()
|
||||
|
||||
this.$element
|
||||
.removeClass('collapse')
|
||||
[dimension](size || 'auto')
|
||||
[0].offsetWidth
|
||||
|
||||
this.$element[size !== null ? 'addClass' : 'removeClass']('collapse')
|
||||
|
||||
return this
|
||||
}
|
||||
|
||||
, transition: function (method, startEvent, completeEvent) {
|
||||
var that = this
|
||||
, complete = function () {
|
||||
if (startEvent.type == 'show') that.reset()
|
||||
that.transitioning = 0
|
||||
that.$element.trigger(completeEvent)
|
||||
}
|
||||
|
||||
this.$element.trigger(startEvent)
|
||||
|
||||
if (startEvent.isDefaultPrevented()) return
|
||||
|
||||
this.transitioning = 1
|
||||
|
||||
this.$element[method]('in')
|
||||
|
||||
$.support.transition && this.$element.hasClass('collapse') ?
|
||||
this.$element.one($.support.transition.end, complete) :
|
||||
complete()
|
||||
}
|
||||
|
||||
, toggle: function () {
|
||||
this[this.$element.hasClass('in') ? 'hide' : 'show']()
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
/* COLLAPSE PLUGIN DEFINITION
|
||||
* ========================== */
|
||||
|
||||
var old = $.fn.collapse
|
||||
|
||||
$.fn.collapse = function (option) {
|
||||
return this.each(function () {
|
||||
var $this = $(this)
|
||||
, data = $this.data('collapse')
|
||||
, options = $.extend({}, $.fn.collapse.defaults, $this.data(), typeof option == 'object' && option)
|
||||
if (!data) $this.data('collapse', (data = new Collapse(this, options)))
|
||||
if (typeof option == 'string') data[option]()
|
||||
})
|
||||
}
|
||||
|
||||
$.fn.collapse.defaults = {
|
||||
toggle: true
|
||||
}
|
||||
|
||||
$.fn.collapse.Constructor = Collapse
|
||||
|
||||
|
||||
/* COLLAPSE NO CONFLICT
|
||||
* ==================== */
|
||||
|
||||
$.fn.collapse.noConflict = function () {
|
||||
$.fn.collapse = old
|
||||
return this
|
||||
}
|
||||
|
||||
|
||||
/* COLLAPSE DATA-API
|
||||
* ================= */
|
||||
|
||||
$(document).on('click.collapse.data-api', '[data-toggle=collapse]', function (e) {
|
||||
var $this = $(this), href
|
||||
, target = $this.attr('data-target')
|
||||
|| e.preventDefault()
|
||||
|| (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '') //strip for ie7
|
||||
, option = $(target).data('collapse') ? 'toggle' : $this.data()
|
||||
$this[$(target).hasClass('in') ? 'addClass' : 'removeClass']('collapsed')
|
||||
$(target).collapse(option)
|
||||
})
|
||||
|
||||
}(window.jQuery);
|
|
@ -0,0 +1,169 @@
|
|||
/* ============================================================
|
||||
* bootstrap-dropdown.js v2.3.2
|
||||
* http://twbs.github.com/bootstrap/javascript.html#dropdowns
|
||||
* ============================================================
|
||||
* Copyright 2013 Twitter, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
* ============================================================ */
|
||||
|
||||
|
||||
!function ($) {
|
||||
|
||||
"use strict"; // jshint ;_;
|
||||
|
||||
|
||||
/* DROPDOWN CLASS DEFINITION
|
||||
* ========================= */
|
||||
|
||||
var toggle = '[data-toggle=dropdown]'
|
||||
, Dropdown = function (element) {
|
||||
var $el = $(element).on('click.dropdown.data-api', this.toggle)
|
||||
$('html').on('click.dropdown.data-api', function () {
|
||||
$el.parent().removeClass('open')
|
||||
})
|
||||
}
|
||||
|
||||
Dropdown.prototype = {
|
||||
|
||||
constructor: Dropdown
|
||||
|
||||
, toggle: function (e) {
|
||||
var $this = $(this)
|
||||
, $parent
|
||||
, isActive
|
||||
|
||||
if ($this.is('.disabled, :disabled')) return
|
||||
|
||||
$parent = getParent($this)
|
||||
|
||||
isActive = $parent.hasClass('open')
|
||||
|
||||
clearMenus()
|
||||
|
||||
if (!isActive) {
|
||||
if ('ontouchstart' in document.documentElement) {
|
||||
// if mobile we we use a backdrop because click events don't delegate
|
||||
$('<div class="dropdown-backdrop"/>').insertBefore($(this)).on('click', clearMenus)
|
||||
}
|
||||
$parent.toggleClass('open')
|
||||
}
|
||||
|
||||
$this.focus()
|
||||
|
||||
return false
|
||||
}
|
||||
|
||||
, keydown: function (e) {
|
||||
var $this
|
||||
, $items
|
||||
, $active
|
||||
, $parent
|
||||
, isActive
|
||||
, index
|
||||
|
||||
if (!/(38|40|27)/.test(e.keyCode)) return
|
||||
|
||||
$this = $(this)
|
||||
|
||||
e.preventDefault()
|
||||
e.stopPropagation()
|
||||
|
||||
if ($this.is('.disabled, :disabled')) return
|
||||
|
||||
$parent = getParent($this)
|
||||
|
||||
isActive = $parent.hasClass('open')
|
||||
|
||||
if (!isActive || (isActive && e.keyCode == 27)) {
|
||||
if (e.which == 27) $parent.find(toggle).focus()
|
||||
return $this.click()
|
||||
}
|
||||
|
||||
$items = $('[role=menu] li:not(.divider):visible a', $parent)
|
||||
|
||||
if (!$items.length) return
|
||||
|
||||
index = $items.index($items.filter(':focus'))
|
||||
|
||||
if (e.keyCode == 38 && index > 0) index-- // up
|
||||
if (e.keyCode == 40 && index < $items.length - 1) index++ // down
|
||||
if (!~index) index = 0
|
||||
|
||||
$items
|
||||
.eq(index)
|
||||
.focus()
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
function clearMenus() {
|
||||
$('.dropdown-backdrop').remove()
|
||||
$(toggle).each(function () {
|
||||
getParent($(this)).removeClass('open')
|
||||
})
|
||||
}
|
||||
|
||||
function getParent($this) {
|
||||
var selector = $this.attr('data-target')
|
||||
, $parent
|
||||
|
||||
if (!selector) {
|
||||
selector = $this.attr('href')
|
||||
selector = selector && /#/.test(selector) && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7
|
||||
}
|
||||
|
||||
$parent = selector && $(selector)
|
||||
|
||||
if (!$parent || !$parent.length) $parent = $this.parent()
|
||||
|
||||
return $parent
|
||||
}
|
||||
|
||||
|
||||
/* DROPDOWN PLUGIN DEFINITION
|
||||
* ========================== */
|
||||
|
||||
var old = $.fn.dropdown
|
||||
|
||||
$.fn.dropdown = function (option) {
|
||||
return this.each(function () {
|
||||
var $this = $(this)
|
||||
, data = $this.data('dropdown')
|
||||
if (!data) $this.data('dropdown', (data = new Dropdown(this)))
|
||||
if (typeof option == 'string') data[option].call($this)
|
||||
})
|
||||
}
|
||||
|
||||
$.fn.dropdown.Constructor = Dropdown
|
||||
|
||||
|
||||
/* DROPDOWN NO CONFLICT
|
||||
* ==================== */
|
||||
|
||||
$.fn.dropdown.noConflict = function () {
|
||||
$.fn.dropdown = old
|
||||
return this
|
||||
}
|
||||
|
||||
|
||||
/* APPLY TO STANDARD DROPDOWN ELEMENTS
|
||||
* =================================== */
|
||||
|
||||
$(document)
|
||||
.on('click.dropdown.data-api', clearMenus)
|
||||
.on('click.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() })
|
||||
.on('click.dropdown.data-api' , toggle, Dropdown.prototype.toggle)
|
||||
.on('keydown.dropdown.data-api', toggle + ', [role=menu]' , Dropdown.prototype.keydown)
|
||||
|
||||
}(window.jQuery);
|
|
@ -0,0 +1,247 @@
|
|||
/* =========================================================
|
||||
* bootstrap-modal.js v2.3.2
|
||||
* http://twbs.github.com/bootstrap/javascript.html#modals
|
||||
* =========================================================
|
||||
* Copyright 2013 Twitter, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
* ========================================================= */
|
||||
|
||||
|
||||
!function ($) {
|
||||
|
||||
"use strict"; // jshint ;_;
|
||||
|
||||
|
||||
/* MODAL CLASS DEFINITION
|
||||
* ====================== */
|
||||
|
||||
var Modal = function (element, options) {
|
||||
this.options = options
|
||||
this.$element = $(element)
|
||||
.delegate('[data-dismiss="modal"]', 'click.dismiss.modal', $.proxy(this.hide, this))
|
||||
this.options.remote && this.$element.find('.modal-body').load(this.options.remote)
|
||||
}
|
||||
|
||||
Modal.prototype = {
|
||||
|
||||
constructor: Modal
|
||||
|
||||
, toggle: function () {
|
||||
return this[!this.isShown ? 'show' : 'hide']()
|
||||
}
|
||||
|
||||
, show: function () {
|
||||
var that = this
|
||||
, e = $.Event('show')
|
||||
|
||||
this.$element.trigger(e)
|
||||
|
||||
if (this.isShown || e.isDefaultPrevented()) return
|
||||
|
||||
this.isShown = true
|
||||
|
||||
this.escape()
|
||||
|
||||
this.backdrop(function () {
|
||||
var transition = $.support.transition && that.$element.hasClass('fade')
|
||||
|
||||
if (!that.$element.parent().length) {
|
||||
that.$element.appendTo(document.body) //don't move modals dom position
|
||||
}
|
||||
|
||||
that.$element.show()
|
||||
|
||||
if (transition) {
|
||||
that.$element[0].offsetWidth // force reflow
|
||||
}
|
||||
|
||||
that.$element
|
||||
.addClass('in')
|
||||
.attr('aria-hidden', false)
|
||||
|
||||
that.enforceFocus()
|
||||
|
||||
transition ?
|
||||
that.$element.one($.support.transition.end, function () { that.$element.focus().trigger('shown') }) :
|
||||
that.$element.focus().trigger('shown')
|
||||
|
||||
})
|
||||
}
|
||||
|
||||
, hide: function (e) {
|
||||
e && e.preventDefault()
|
||||
|
||||
var that = this
|
||||
|
||||
e = $.Event('hide')
|
||||
|
||||
this.$element.trigger(e)
|
||||
|
||||
if (!this.isShown || e.isDefaultPrevented()) return
|
||||
|
||||
this.isShown = false
|
||||
|
||||
this.escape()
|
||||
|
||||
$(document).off('focusin.modal')
|
||||
|
||||
this.$element
|
||||
.removeClass('in')
|
||||
.attr('aria-hidden', true)
|
||||
|
||||
$.support.transition && this.$element.hasClass('fade') ?
|
||||
this.hideWithTransition() :
|
||||
this.hideModal()
|
||||
}
|
||||
|
||||
, enforceFocus: function () {
|
||||
var that = this
|
||||
$(document).on('focusin.modal', function (e) {
|
||||
if (that.$element[0] !== e.target && !that.$element.has(e.target).length) {
|
||||
that.$element.focus()
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
, escape: function () {
|
||||
var that = this
|
||||
if (this.isShown && this.options.keyboard) {
|
||||
this.$element.on('keyup.dismiss.modal', function ( e ) {
|
||||
e.which == 27 && that.hide()
|
||||
})
|
||||
} else if (!this.isShown) {
|
||||
this.$element.off('keyup.dismiss.modal')
|
||||
}
|
||||
}
|
||||
|
||||
, hideWithTransition: function () {
|
||||
var that = this
|
||||
, timeout = setTimeout(function () {
|
||||
that.$element.off($.support.transition.end)
|
||||
that.hideModal()
|
||||
}, 500)
|
||||
|
||||
this.$element.one($.support.transition.end, function () {
|
||||
clearTimeout(timeout)
|
||||
that.hideModal()
|
||||
})
|
||||
}
|
||||
|
||||
, hideModal: function () {
|
||||
var that = this
|
||||
this.$element.hide()
|
||||
this.backdrop(function () {
|
||||
that.removeBackdrop()
|
||||
that.$element.trigger('hidden')
|
||||
})
|
||||
}
|
||||
|
||||
, removeBackdrop: function () {
|
||||
this.$backdrop && this.$backdrop.remove()
|
||||
this.$backdrop = null
|
||||
}
|
||||
|
||||
, backdrop: function (callback) {
|
||||
var that = this
|
||||
, animate = this.$element.hasClass('fade') ? 'fade' : ''
|
||||
|
||||
if (this.isShown && this.options.backdrop) {
|
||||
var doAnimate = $.support.transition && animate
|
||||
|
||||
this.$backdrop = $('<div class="modal-backdrop ' + animate + '" />')
|
||||
.appendTo(document.body)
|
||||
|
||||
this.$backdrop.click(
|
||||
this.options.backdrop == 'static' ?
|
||||
$.proxy(this.$element[0].focus, this.$element[0])
|
||||
: $.proxy(this.hide, this)
|
||||
)
|
||||
|
||||
if (doAnimate) this.$backdrop[0].offsetWidth // force reflow
|
||||
|
||||
this.$backdrop.addClass('in')
|
||||
|
||||
if (!callback) return
|
||||
|
||||
doAnimate ?
|
||||
this.$backdrop.one($.support.transition.end, callback) :
|
||||
callback()
|
||||
|
||||
} else if (!this.isShown && this.$backdrop) {
|
||||
this.$backdrop.removeClass('in')
|
||||
|
||||
$.support.transition && this.$element.hasClass('fade')?
|
||||
this.$backdrop.one($.support.transition.end, callback) :
|
||||
callback()
|
||||
|
||||
} else if (callback) {
|
||||
callback()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* MODAL PLUGIN DEFINITION
|
||||
* ======================= */
|
||||
|
||||
var old = $.fn.modal
|
||||
|
||||
$.fn.modal = function (option) {
|
||||
return this.each(function () {
|
||||
var $this = $(this)
|
||||
, data = $this.data('modal')
|
||||
, options = $.extend({}, $.fn.modal.defaults, $this.data(), typeof option == 'object' && option)
|
||||
if (!data) $this.data('modal', (data = new Modal(this, options)))
|
||||
if (typeof option == 'string') data[option]()
|
||||
else if (options.show) data.show()
|
||||
})
|
||||
}
|
||||
|
||||
$.fn.modal.defaults = {
|
||||
backdrop: true
|
||||
, keyboard: true
|
||||
, show: true
|
||||
}
|
||||
|
||||
$.fn.modal.Constructor = Modal
|
||||
|
||||
|
||||
/* MODAL NO CONFLICT
|
||||
* ================= */
|
||||
|
||||
$.fn.modal.noConflict = function () {
|
||||
$.fn.modal = old
|
||||
return this
|
||||
}
|
||||
|
||||
|
||||
/* MODAL DATA-API
|
||||
* ============== */
|
||||
|
||||
$(document).on('click.modal.data-api', '[data-toggle="modal"]', function (e) {
|
||||
var $this = $(this)
|
||||
, href = $this.attr('href')
|
||||
, $target = $($this.attr('data-target') || (href && href.replace(/.*(?=#[^\s]+$)/, ''))) //strip for ie7
|
||||
, option = $target.data('modal') ? 'toggle' : $.extend({ remote:!/#/.test(href) && href }, $target.data(), $this.data())
|
||||
|
||||
e.preventDefault()
|
||||
|
||||
$target
|
||||
.modal(option)
|
||||
.one('hide', function () {
|
||||
$this.focus()
|
||||
})
|
||||
})
|
||||
|
||||
}(window.jQuery);
|
|
@ -0,0 +1,114 @@
|
|||
/* ===========================================================
|
||||
* bootstrap-popover.js v2.3.2
|
||||
* http://twbs.github.com/bootstrap/javascript.html#popovers
|
||||
* ===========================================================
|
||||
* Copyright 2013 Twitter, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
* =========================================================== */
|
||||
|
||||
|
||||
!function ($) {
|
||||
|
||||
"use strict"; // jshint ;_;
|
||||
|
||||
|
||||
/* POPOVER PUBLIC CLASS DEFINITION
|
||||
* =============================== */
|
||||
|
||||
var Popover = function (element, options) {
|
||||
this.init('popover', element, options)
|
||||
}
|
||||
|
||||
|
||||
/* NOTE: POPOVER EXTENDS BOOTSTRAP-TOOLTIP.js
|
||||
========================================== */
|
||||
|
||||
Popover.prototype = $.extend({}, $.fn.tooltip.Constructor.prototype, {
|
||||
|
||||
constructor: Popover
|
||||
|
||||
, setContent: function () {
|
||||
var $tip = this.tip()
|
||||
, title = this.getTitle()
|
||||
, content = this.getContent()
|
||||
|
||||
$tip.find('.popover-title')[this.options.html ? 'html' : 'text'](title)
|
||||
$tip.find('.popover-content')[this.options.html ? 'html' : 'text'](content)
|
||||
|
||||
$tip.removeClass('fade top bottom left right in')
|
||||
}
|
||||
|
||||
, hasContent: function () {
|
||||
return this.getTitle() || this.getContent()
|
||||
}
|
||||
|
||||
, getContent: function () {
|
||||
var content
|
||||
, $e = this.$element
|
||||
, o = this.options
|
||||
|
||||
content = (typeof o.content == 'function' ? o.content.call($e[0]) : o.content)
|
||||
|| $e.attr('data-content')
|
||||
|
||||
return content
|
||||
}
|
||||
|
||||
, tip: function () {
|
||||
if (!this.$tip) {
|
||||
this.$tip = $(this.options.template)
|
||||
}
|
||||
return this.$tip
|
||||
}
|
||||
|
||||
, destroy: function () {
|
||||
this.hide().$element.off('.' + this.type).removeData(this.type)
|
||||
}
|
||||
|
||||
})
|
||||
|
||||
|
||||
/* POPOVER PLUGIN DEFINITION
|
||||
* ======================= */
|
||||
|
||||
var old = $.fn.popover
|
||||
|
||||
$.fn.popover = function (option) {
|
||||
return this.each(function () {
|
||||
var $this = $(this)
|
||||
, data = $this.data('popover')
|
||||
, options = typeof option == 'object' && option
|
||||
if (!data) $this.data('popover', (data = new Popover(this, options)))
|
||||
if (typeof option == 'string') data[option]()
|
||||
})
|
||||
}
|
||||
|
||||
$.fn.popover.Constructor = Popover
|
||||
|
||||
$.fn.popover.defaults = $.extend({} , $.fn.tooltip.defaults, {
|
||||
placement: 'right'
|
||||
, trigger: 'click'
|
||||
, content: ''
|
||||
, template: '<div class="popover"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'
|
||||
})
|
||||
|
||||
|
||||
/* POPOVER NO CONFLICT
|
||||
* =================== */
|
||||
|
||||
$.fn.popover.noConflict = function () {
|
||||
$.fn.popover = old
|
||||
return this
|
||||
}
|
||||
|
||||
}(window.jQuery);
|
|
@ -0,0 +1,162 @@
|
|||
/* =============================================================
|
||||
* bootstrap-scrollspy.js v2.3.2
|
||||
* http://twbs.github.com/bootstrap/javascript.html#scrollspy
|
||||
* =============================================================
|
||||
* Copyright 2013 Twitter, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
* ============================================================== */
|
||||
|
||||
|
||||
!function ($) {
|
||||
|
||||
"use strict"; // jshint ;_;
|
||||
|
||||
|
||||
/* SCROLLSPY CLASS DEFINITION
|
||||
* ========================== */
|
||||
|
||||
function ScrollSpy(element, options) {
|
||||
var process = $.proxy(this.process, this)
|
||||
, $element = $(element).is('body') ? $(window) : $(element)
|
||||
, href
|
||||
this.options = $.extend({}, $.fn.scrollspy.defaults, options)
|
||||
this.$scrollElement = $element.on('scroll.scroll-spy.data-api', process)
|
||||
this.selector = (this.options.target
|
||||
|| ((href = $(element).attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) //strip for ie7
|
||||
|| '') + ' .nav li > a'
|
||||
this.$body = $('body')
|
||||
this.refresh()
|
||||
this.process()
|
||||
}
|
||||
|
||||
ScrollSpy.prototype = {
|
||||
|
||||
constructor: ScrollSpy
|
||||
|
||||
, refresh: function () {
|
||||
var self = this
|
||||
, $targets
|
||||
|
||||
this.offsets = $([])
|
||||
this.targets = $([])
|
||||
|
||||
$targets = this.$body
|
||||
.find(this.selector)
|
||||
.map(function () {
|
||||
var $el = $(this)
|
||||
, href = $el.data('target') || $el.attr('href')
|
||||
, $href = /^#\w/.test(href) && $(href)
|
||||
return ( $href
|
||||
&& $href.length
|
||||
&& [[ $href.position().top + (!$.isWindow(self.$scrollElement.get(0)) && self.$scrollElement.scrollTop()), href ]] ) || null
|
||||
})
|
||||
.sort(function (a, b) { return a[0] - b[0] })
|
||||
.each(function () {
|
||||
self.offsets.push(this[0])
|
||||
self.targets.push(this[1])
|
||||
})
|
||||
}
|
||||
|
||||
, process: function () {
|
||||
var scrollTop = this.$scrollElement.scrollTop() + this.options.offset
|
||||
, scrollHeight = this.$scrollElement[0].scrollHeight || this.$body[0].scrollHeight
|
||||
, maxScroll = scrollHeight - this.$scrollElement.height()
|
||||
, offsets = this.offsets
|
||||
, targets = this.targets
|
||||
, activeTarget = this.activeTarget
|
||||
, i
|
||||
|
||||
if (scrollTop >= maxScroll) {
|
||||
return activeTarget != (i = targets.last()[0])
|
||||
&& this.activate ( i )
|
||||
}
|
||||
|
||||
for (i = offsets.length; i--;) {
|
||||
activeTarget != targets[i]
|
||||
&& scrollTop >= offsets[i]
|
||||
&& (!offsets[i + 1] || scrollTop <= offsets[i + 1])
|
||||
&& this.activate( targets[i] )
|
||||
}
|
||||
}
|
||||
|
||||
, activate: function (target) {
|
||||
var active
|
||||
, selector
|
||||
|
||||
this.activeTarget = target
|
||||
|
||||
$(this.selector)
|
||||
.parent('.active')
|
||||
.removeClass('active')
|
||||
|
||||
selector = this.selector
|
||||
+ '[data-target="' + target + '"],'
|
||||
+ this.selector + '[href="' + target + '"]'
|
||||
|
||||
active = $(selector)
|
||||
.parent('li')
|
||||
.addClass('active')
|
||||
|
||||
if (active.parent('.dropdown-menu').length) {
|
||||
active = active.closest('li.dropdown').addClass('active')
|
||||
}
|
||||
|
||||
active.trigger('activate')
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
/* SCROLLSPY PLUGIN DEFINITION
|
||||
* =========================== */
|
||||
|
||||
var old = $.fn.scrollspy
|
||||
|
||||
$.fn.scrollspy = function (option) {
|
||||
return this.each(function () {
|
||||
var $this = $(this)
|
||||
, data = $this.data('scrollspy')
|
||||
, options = typeof option == 'object' && option
|
||||
if (!data) $this.data('scrollspy', (data = new ScrollSpy(this, options)))
|
||||
if (typeof option == 'string') data[option]()
|
||||
})
|
||||
}
|
||||
|
||||
$.fn.scrollspy.Constructor = ScrollSpy
|
||||
|
||||
$.fn.scrollspy.defaults = {
|
||||
offset: 10
|
||||
}
|
||||
|
||||
|
||||
/* SCROLLSPY NO CONFLICT
|
||||
* ===================== */
|
||||
|
||||
$.fn.scrollspy.noConflict = function () {
|
||||
$.fn.scrollspy = old
|
||||
return this
|
||||
}
|
||||
|
||||
|
||||
/* SCROLLSPY DATA-API
|
||||
* ================== */
|
||||
|
||||
$(window).on('load', function () {
|
||||
$('[data-spy="scroll"]').each(function () {
|
||||
var $spy = $(this)
|
||||
$spy.scrollspy($spy.data())
|
||||
})
|
||||
})
|
||||
|
||||
}(window.jQuery);
|
|
@ -0,0 +1,144 @@
|
|||
/* ========================================================
|
||||
* bootstrap-tab.js v2.3.2
|
||||
* http://twbs.github.com/bootstrap/javascript.html#tabs
|
||||
* ========================================================
|
||||
* Copyright 2013 Twitter, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
* ======================================================== */
|
||||
|
||||
|
||||
!function ($) {
|
||||
|
||||
"use strict"; // jshint ;_;
|
||||
|
||||
|
||||
/* TAB CLASS DEFINITION
|
||||
* ==================== */
|
||||
|
||||
var Tab = function (element) {
|
||||
this.element = $(element)
|
||||
}
|
||||
|
||||
Tab.prototype = {
|
||||
|
||||
constructor: Tab
|
||||
|
||||
, show: function () {
|
||||
var $this = this.element
|
||||
, $ul = $this.closest('ul:not(.dropdown-menu)')
|
||||
, selector = $this.attr('data-target')
|
||||
, previous
|
||||
, $target
|
||||
, e
|
||||
|
||||
if (!selector) {
|
||||
selector = $this.attr('href')
|
||||
selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7
|
||||
}
|
||||
|
||||
if ( $this.parent('li').hasClass('active') ) return
|
||||
|
||||
previous = $ul.find('.active:last a')[0]
|
||||
|
||||
e = $.Event('show', {
|
||||
relatedTarget: previous
|
||||
})
|
||||
|
||||
$this.trigger(e)
|
||||
|
||||
if (e.isDefaultPrevented()) return
|
||||
|
||||
$target = $(selector)
|
||||
|
||||
this.activate($this.parent('li'), $ul)
|
||||
this.activate($target, $target.parent(), function () {
|
||||
$this.trigger({
|
||||
type: 'shown'
|
||||
, relatedTarget: previous
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
, activate: function ( element, container, callback) {
|
||||
var $active = container.find('> .active')
|
||||
, transition = callback
|
||||
&& $.support.transition
|
||||
&& $active.hasClass('fade')
|
||||
|
||||
function next() {
|
||||
$active
|
||||
.removeClass('active')
|
||||
.find('> .dropdown-menu > .active')
|
||||
.removeClass('active')
|
||||
|
||||
element.addClass('active')
|
||||
|
||||
if (transition) {
|
||||
element[0].offsetWidth // reflow for transition
|
||||
element.addClass('in')
|
||||
} else {
|
||||
element.removeClass('fade')
|
||||
}
|
||||
|
||||
if ( element.parent('.dropdown-menu') ) {
|
||||
element.closest('li.dropdown').addClass('active')
|
||||
}
|
||||
|
||||
callback && callback()
|
||||
}
|
||||
|
||||
transition ?
|
||||
$active.one($.support.transition.end, next) :
|
||||
next()
|
||||
|
||||
$active.removeClass('in')
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* TAB PLUGIN DEFINITION
|
||||
* ===================== */
|
||||
|
||||
var old = $.fn.tab
|
||||
|
||||
$.fn.tab = function ( option ) {
|
||||
return this.each(function () {
|
||||
var $this = $(this)
|
||||
, data = $this.data('tab')
|
||||
if (!data) $this.data('tab', (data = new Tab(this)))
|
||||
if (typeof option == 'string') data[option]()
|
||||
})
|
||||
}
|
||||
|
||||
$.fn.tab.Constructor = Tab
|
||||
|
||||
|
||||
/* TAB NO CONFLICT
|
||||
* =============== */
|
||||
|
||||
$.fn.tab.noConflict = function () {
|
||||
$.fn.tab = old
|
||||
return this
|
||||
}
|
||||
|
||||
|
||||
/* TAB DATA-API
|
||||
* ============ */
|
||||
|
||||
$(document).on('click.tab.data-api', '[data-toggle="tab"], [data-toggle="pill"]', function (e) {
|
||||
e.preventDefault()
|
||||
$(this).tab('show')
|
||||
})
|
||||
|
||||
}(window.jQuery);
|
|
@ -0,0 +1,361 @@
|
|||
/* ===========================================================
|
||||
* bootstrap-tooltip.js v2.3.2
|
||||
* http://twbs.github.com/bootstrap/javascript.html#tooltips
|
||||
* Inspired by the original jQuery.tipsy by Jason Frame
|
||||
* ===========================================================
|
||||
* Copyright 2013 Twitter, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
* ========================================================== */
|
||||
|
||||
|
||||
!function ($) {
|
||||
|
||||
"use strict"; // jshint ;_;
|
||||
|
||||
|
||||
/* TOOLTIP PUBLIC CLASS DEFINITION
|
||||
* =============================== */
|
||||
|
||||
var Tooltip = function (element, options) {
|
||||
this.init('tooltip', element, options)
|
||||
}
|
||||
|
||||
Tooltip.prototype = {
|
||||
|
||||
constructor: Tooltip
|
||||
|
||||
, init: function (type, element, options) {
|
||||
var eventIn
|
||||
, eventOut
|
||||
, triggers
|
||||
, trigger
|
||||
, i
|
||||
|
||||
this.type = type
|
||||
this.$element = $(element)
|
||||
this.options = this.getOptions(options)
|
||||
this.enabled = true
|
||||
|
||||
triggers = this.options.trigger.split(' ')
|
||||
|
||||
for (i = triggers.length; i--;) {
|
||||
trigger = triggers[i]
|
||||
if (trigger == 'click') {
|
||||
this.$element.on('click.' + this.type, this.options.selector, $.proxy(this.toggle, this))
|
||||
} else if (trigger != 'manual') {
|
||||
eventIn = trigger == 'hover' ? 'mouseenter' : 'focus'
|
||||
eventOut = trigger == 'hover' ? 'mouseleave' : 'blur'
|
||||
this.$element.on(eventIn + '.' + this.type, this.options.selector, $.proxy(this.enter, this))
|
||||
this.$element.on(eventOut + '.' + this.type, this.options.selector, $.proxy(this.leave, this))
|
||||
}
|
||||
}
|
||||
|
||||
this.options.selector ?
|
||||
(this._options = $.extend({}, this.options, { trigger: 'manual', selector: '' })) :
|
||||
this.fixTitle()
|
||||
}
|
||||
|
||||
, getOptions: function (options) {
|
||||
options = $.extend({}, $.fn[this.type].defaults, this.$element.data(), options)
|
||||
|
||||
if (options.delay && typeof options.delay == 'number') {
|
||||
options.delay = {
|
||||
show: options.delay
|
||||
, hide: options.delay
|
||||
}
|
||||
}
|
||||
|
||||
return options
|
||||
}
|
||||
|
||||
, enter: function (e) {
|
||||
var defaults = $.fn[this.type].defaults
|
||||
, options = {}
|
||||
, self
|
||||
|
||||
this._options && $.each(this._options, function (key, value) {
|
||||
if (defaults[key] != value) options[key] = value
|
||||
}, this)
|
||||
|
||||
self = $(e.currentTarget)[this.type](options).data(this.type)
|
||||
|
||||
if (!self.options.delay || !self.options.delay.show) return self.show()
|
||||
|
||||
clearTimeout(this.timeout)
|
||||
self.hoverState = 'in'
|
||||
this.timeout = setTimeout(function() {
|
||||
if (self.hoverState == 'in') self.show()
|
||||
}, self.options.delay.show)
|
||||
}
|
||||
|
||||
, leave: function (e) {
|
||||
var self = $(e.currentTarget)[this.type](this._options).data(this.type)
|
||||
|
||||
if (this.timeout) clearTimeout(this.timeout)
|
||||
if (!self.options.delay || !self.options.delay.hide) return self.hide()
|
||||
|
||||
self.hoverState = 'out'
|
||||
this.timeout = setTimeout(function() {
|
||||
if (self.hoverState == 'out') self.hide()
|
||||
}, self.options.delay.hide)
|
||||
}
|
||||
|
||||
, show: function () {
|
||||
var $tip
|
||||
, pos
|
||||
, actualWidth
|
||||
, actualHeight
|
||||
, placement
|
||||
, tp
|
||||
, e = $.Event('show')
|
||||
|
||||
if (this.hasContent() && this.enabled) {
|
||||
this.$element.trigger(e)
|
||||
if (e.isDefaultPrevented()) return
|
||||
$tip = this.tip()
|
||||
this.setContent()
|
||||
|
||||
if (this.options.animation) {
|
||||
$tip.addClass('fade')
|
||||
}
|
||||
|
||||
placement = typeof this.options.placement == 'function' ?
|
||||
this.options.placement.call(this, $tip[0], this.$element[0]) :
|
||||
this.options.placement
|
||||
|
||||
$tip
|
||||
.detach()
|
||||
.css({ top: 0, left: 0, display: 'block' })
|
||||
|
||||
this.options.container ? $tip.appendTo(this.options.container) : $tip.insertAfter(this.$element)
|
||||
|
||||
pos = this.getPosition()
|
||||
|
||||
actualWidth = $tip[0].offsetWidth
|
||||
actualHeight = $tip[0].offsetHeight
|
||||
|
||||
switch (placement) {
|
||||
case 'bottom':
|
||||
tp = {top: pos.top + pos.height, left: pos.left + pos.width / 2 - actualWidth / 2}
|
||||
break
|
||||
case 'top':
|
||||
tp = {top: pos.top - actualHeight, left: pos.left + pos.width / 2 - actualWidth / 2}
|
||||
break
|
||||
case 'left':
|
||||
tp = {top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left - actualWidth}
|
||||
break
|
||||
case 'right':
|
||||
tp = {top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left + pos.width}
|
||||
break
|
||||
}
|
||||
|
||||
this.applyPlacement(tp, placement)
|
||||
this.$element.trigger('shown')
|
||||
}
|
||||
}
|
||||
|
||||
, applyPlacement: function(offset, placement){
|
||||
var $tip = this.tip()
|
||||
, width = $tip[0].offsetWidth
|
||||
, height = $tip[0].offsetHeight
|
||||
, actualWidth
|
||||
, actualHeight
|
||||
, delta
|
||||
, replace
|
||||
|
||||
$tip
|
||||
.offset(offset)
|
||||
.addClass(placement)
|
||||
.addClass('in')
|
||||
|
||||
actualWidth = $tip[0].offsetWidth
|
||||
actualHeight = $tip[0].offsetHeight
|
||||
|
||||
if (placement == 'top' && actualHeight != height) {
|
||||
offset.top = offset.top + height - actualHeight
|
||||
replace = true
|
||||
}
|
||||
|
||||
if (placement == 'bottom' || placement == 'top') {
|
||||
delta = 0
|
||||
|
||||
if (offset.left < 0){
|
||||
delta = offset.left * -2
|
||||
offset.left = 0
|
||||
$tip.offset(offset)
|
||||
actualWidth = $tip[0].offsetWidth
|
||||
actualHeight = $tip[0].offsetHeight
|
||||
}
|
||||
|
||||
this.replaceArrow(delta - width + actualWidth, actualWidth, 'left')
|
||||
} else {
|
||||
this.replaceArrow(actualHeight - height, actualHeight, 'top')
|
||||
}
|
||||
|
||||
if (replace) $tip.offset(offset)
|
||||
}
|
||||
|
||||
, replaceArrow: function(delta, dimension, position){
|
||||
this
|
||||
.arrow()
|
||||
.css(position, delta ? (50 * (1 - delta / dimension) + "%") : '')
|
||||
}
|
||||
|
||||
, setContent: function () {
|
||||
var $tip = this.tip()
|
||||
, title = this.getTitle()
|
||||
|
||||
$tip.find('.tooltip-inner')[this.options.html ? 'html' : 'text'](title)
|
||||
$tip.removeClass('fade in top bottom left right')
|
||||
}
|
||||
|
||||
, hide: function () {
|
||||
var that = this
|
||||
, $tip = this.tip()
|
||||
, e = $.Event('hide')
|
||||
|
||||
this.$element.trigger(e)
|
||||
if (e.isDefaultPrevented()) return
|
||||
|
||||
$tip.removeClass('in')
|
||||
|
||||
function removeWithAnimation() {
|
||||
var timeout = setTimeout(function () {
|
||||
$tip.off($.support.transition.end).detach()
|
||||
}, 500)
|
||||
|
||||
$tip.one($.support.transition.end, function () {
|
||||
clearTimeout(timeout)
|
||||
$tip.detach()
|
||||
})
|
||||
}
|
||||
|
||||
$.support.transition && this.$tip.hasClass('fade') ?
|
||||
removeWithAnimation() :
|
||||
$tip.detach()
|
||||
|
||||
this.$element.trigger('hidden')
|
||||
|
||||
return this
|
||||
}
|
||||
|
||||
, fixTitle: function () {
|
||||
var $e = this.$element
|
||||
if ($e.attr('title') || typeof($e.attr('data-original-title')) != 'string') {
|
||||
$e.attr('data-original-title', $e.attr('title') || '').attr('title', '')
|
||||
}
|
||||
}
|
||||
|
||||
, hasContent: function () {
|
||||
return this.getTitle()
|
||||
}
|
||||
|
||||
, getPosition: function () {
|
||||
var el = this.$element[0]
|
||||
return $.extend({}, (typeof el.getBoundingClientRect == 'function') ? el.getBoundingClientRect() : {
|
||||
width: el.offsetWidth
|
||||
, height: el.offsetHeight
|
||||
}, this.$element.offset())
|
||||
}
|
||||
|
||||
, getTitle: function () {
|
||||
var title
|
||||
, $e = this.$element
|
||||
, o = this.options
|
||||
|
||||
title = $e.attr('data-original-title')
|
||||
|| (typeof o.title == 'function' ? o.title.call($e[0]) : o.title)
|
||||
|
||||
return title
|
||||
}
|
||||
|
||||
, tip: function () {
|
||||
return this.$tip = this.$tip || $(this.options.template)
|
||||
}
|
||||
|
||||
, arrow: function(){
|
||||
return this.$arrow = this.$arrow || this.tip().find(".tooltip-arrow")
|
||||
}
|
||||
|
||||
, validate: function () {
|
||||
if (!this.$element[0].parentNode) {
|
||||
this.hide()
|
||||
this.$element = null
|
||||
this.options = null
|
||||
}
|
||||
}
|
||||
|
||||
, enable: function () {
|
||||
this.enabled = true
|
||||
}
|
||||
|
||||
, disable: function () {
|
||||
this.enabled = false
|
||||
}
|
||||
|
||||
, toggleEnabled: function () {
|
||||
this.enabled = !this.enabled
|
||||
}
|
||||
|
||||
, toggle: function (e) {
|
||||
var self = e ? $(e.currentTarget)[this.type](this._options).data(this.type) : this
|
||||
self.tip().hasClass('in') ? self.hide() : self.show()
|
||||
}
|
||||
|
||||
, destroy: function () {
|
||||
this.hide().$element.off('.' + this.type).removeData(this.type)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
/* TOOLTIP PLUGIN DEFINITION
|
||||
* ========================= */
|
||||
|
||||
var old = $.fn.tooltip
|
||||
|
||||
$.fn.tooltip = function ( option ) {
|
||||
return this.each(function () {
|
||||
var $this = $(this)
|
||||
, data = $this.data('tooltip')
|
||||
, options = typeof option == 'object' && option
|
||||
if (!data) $this.data('tooltip', (data = new Tooltip(this, options)))
|
||||
if (typeof option == 'string') data[option]()
|
||||
})
|
||||
}
|
||||
|
||||
$.fn.tooltip.Constructor = Tooltip
|
||||
|
||||
$.fn.tooltip.defaults = {
|
||||
animation: true
|
||||
, placement: 'top'
|
||||
, selector: false
|
||||
, template: '<div class="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>'
|
||||
, trigger: 'hover focus'
|
||||
, title: ''
|
||||
, delay: 0
|
||||
, html: false
|
||||
, container: false
|
||||
}
|
||||
|
||||
|
||||
/* TOOLTIP NO CONFLICT
|
||||
* =================== */
|
||||
|
||||
$.fn.tooltip.noConflict = function () {
|
||||
$.fn.tooltip = old
|
||||
return this
|
||||
}
|
||||
|
||||
}(window.jQuery);
|
|
@ -0,0 +1,60 @@
|
|||
/* ===================================================
|
||||
* bootstrap-transition.js v2.3.2
|
||||
* http://twbs.github.com/bootstrap/javascript.html#transitions
|
||||
* ===================================================
|
||||
* Copyright 2013 Twitter, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
* ========================================================== */
|
||||
|
||||
|
||||
!function ($) {
|
||||
|
||||
"use strict"; // jshint ;_;
|
||||
|
||||
|
||||
/* CSS TRANSITION SUPPORT (http://www.modernizr.com/)
|
||||
* ======================================================= */
|
||||
|
||||
$(function () {
|
||||
|
||||
$.support.transition = (function () {
|
||||
|
||||
var transitionEnd = (function () {
|
||||
|
||||
var el = document.createElement('bootstrap')
|
||||
, transEndEventNames = {
|
||||
'WebkitTransition' : 'webkitTransitionEnd'
|
||||
, 'MozTransition' : 'transitionend'
|
||||
, 'OTransition' : 'oTransitionEnd otransitionend'
|
||||
, 'transition' : 'transitionend'
|
||||
}
|
||||
, name
|
||||
|
||||
for (name in transEndEventNames){
|
||||
if (el.style[name] !== undefined) {
|
||||
return transEndEventNames[name]
|
||||
}
|
||||
}
|
||||
|
||||
}())
|
||||
|
||||
return transitionEnd && {
|
||||
end: transitionEnd
|
||||
}
|
||||
|
||||
})()
|
||||
|
||||
})
|
||||
|
||||
}(window.jQuery);
|
|
@ -0,0 +1,335 @@
|
|||
/* =============================================================
|
||||
* bootstrap-typeahead.js v2.3.2
|
||||
* http://twbs.github.com/bootstrap/javascript.html#typeahead
|
||||
* =============================================================
|
||||
* Copyright 2013 Twitter, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
* ============================================================ */
|
||||
|
||||
|
||||
!function($){
|
||||
|
||||
"use strict"; // jshint ;_;
|
||||
|
||||
|
||||
/* TYPEAHEAD PUBLIC CLASS DEFINITION
|
||||
* ================================= */
|
||||
|
||||
var Typeahead = function (element, options) {
|
||||
this.$element = $(element)
|
||||
this.options = $.extend({}, $.fn.typeahead.defaults, options)
|
||||
this.matcher = this.options.matcher || this.matcher
|
||||
this.sorter = this.options.sorter || this.sorter
|
||||
this.highlighter = this.options.highlighter || this.highlighter
|
||||
this.updater = this.options.updater || this.updater
|
||||
this.source = this.options.source
|
||||
this.$menu = $(this.options.menu)
|
||||
this.shown = false
|
||||
this.listen()
|
||||
}
|
||||
|
||||
Typeahead.prototype = {
|
||||
|
||||
constructor: Typeahead
|
||||
|
||||
, select: function () {
|
||||
var val = this.$menu.find('.active').attr('data-value')
|
||||
this.$element
|
||||
.val(this.updater(val))
|
||||
.change()
|
||||
return this.hide()
|
||||
}
|
||||
|
||||
, updater: function (item) {
|
||||
return item
|
||||
}
|
||||
|
||||
, show: function () {
|
||||
var pos = $.extend({}, this.$element.position(), {
|
||||
height: this.$element[0].offsetHeight
|
||||
})
|
||||
|
||||
this.$menu
|
||||
.insertAfter(this.$element)
|
||||
.css({
|
||||
top: pos.top + pos.height
|
||||
, left: pos.left
|
||||
})
|
||||
.show()
|
||||
|
||||
this.shown = true
|
||||
return this
|
||||
}
|
||||
|
||||
, hide: function () {
|
||||
this.$menu.hide()
|
||||
this.shown = false
|
||||
return this
|
||||
}
|
||||
|
||||
, lookup: function (event) {
|
||||
var items
|
||||
|
||||
this.query = this.$element.val()
|
||||
|
||||
if (!this.query || this.query.length < this.options.minLength) {
|
||||
return this.shown ? this.hide() : this
|
||||
}
|
||||
|
||||
items = $.isFunction(this.source) ? this.source(this.query, $.proxy(this.process, this)) : this.source
|
||||
|
||||
return items ? this.process(items) : this
|
||||
}
|
||||
|
||||
, process: function (items) {
|
||||
var that = this
|
||||
|
||||
items = $.grep(items, function (item) {
|
||||
return that.matcher(item)
|
||||
})
|
||||
|
||||
items = this.sorter(items)
|
||||
|
||||
if (!items.length) {
|
||||
return this.shown ? this.hide() : this
|
||||
}
|
||||
|
||||
return this.render(items.slice(0, this.options.items)).show()
|
||||
}
|
||||
|
||||
, matcher: function (item) {
|
||||
return ~item.toLowerCase().indexOf(this.query.toLowerCase())
|
||||
}
|
||||
|
||||
, sorter: function (items) {
|
||||
var beginswith = []
|
||||
, caseSensitive = []
|
||||
, caseInsensitive = []
|
||||
, item
|
||||
|
||||
while (item = items.shift()) {
|
||||
if (!item.toLowerCase().indexOf(this.query.toLowerCase())) beginswith.push(item)
|
||||
else if (~item.indexOf(this.query)) caseSensitive.push(item)
|
||||
else caseInsensitive.push(item)
|
||||
}
|
||||
|
||||
return beginswith.concat(caseSensitive, caseInsensitive)
|
||||
}
|
||||
|
||||
, highlighter: function (item) {
|
||||
var query = this.query.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g, '\\$&')
|
||||
return item.replace(new RegExp('(' + query + ')', 'ig'), function ($1, match) {
|
||||
return '<strong>' + match + '</strong>'
|
||||
})
|
||||
}
|
||||
|
||||
, render: function (items) {
|
||||
var that = this
|
||||
|
||||
items = $(items).map(function (i, item) {
|
||||
i = $(that.options.item).attr('data-value', item)
|
||||
i.find('a').html(that.highlighter(item))
|
||||
return i[0]
|
||||
})
|
||||
|
||||
items.first().addClass('active')
|
||||
this.$menu.html(items)
|
||||
return this
|
||||
}
|
||||
|
||||
, next: function (event) {
|
||||
var active = this.$menu.find('.active').removeClass('active')
|
||||
, next = active.next()
|
||||
|
||||
if (!next.length) {
|
||||
next = $(this.$menu.find('li')[0])
|
||||
}
|
||||
|
||||
next.addClass('active')
|
||||
}
|
||||
|
||||
, prev: function (event) {
|
||||
var active = this.$menu.find('.active').removeClass('active')
|
||||
, prev = active.prev()
|
||||
|
||||
if (!prev.length) {
|
||||
prev = this.$menu.find('li').last()
|
||||
}
|
||||
|
||||
prev.addClass('active')
|
||||
}
|
||||
|
||||
, listen: function () {
|
||||
this.$element
|
||||
.on('focus', $.proxy(this.focus, this))
|
||||
.on('blur', $.proxy(this.blur, this))
|
||||
.on('keypress', $.proxy(this.keypress, this))
|
||||
.on('keyup', $.proxy(this.keyup, this))
|
||||
|
||||
if (this.eventSupported('keydown')) {
|
||||
this.$element.on('keydown', $.proxy(this.keydown, this))
|
||||
}
|
||||
|
||||
this.$menu
|
||||
.on('click', $.proxy(this.click, this))
|
||||
.on('mouseenter', 'li', $.proxy(this.mouseenter, this))
|
||||
.on('mouseleave', 'li', $.proxy(this.mouseleave, this))
|
||||
}
|
||||
|
||||
, eventSupported: function(eventName) {
|
||||
var isSupported = eventName in this.$element
|
||||
if (!isSupported) {
|
||||
this.$element.setAttribute(eventName, 'return;')
|
||||
isSupported = typeof this.$element[eventName] === 'function'
|
||||
}
|
||||
return isSupported
|
||||
}
|
||||
|
||||
, move: function (e) {
|
||||
if (!this.shown) return
|
||||
|
||||
switch(e.keyCode) {
|
||||
case 9: // tab
|
||||
case 13: // enter
|
||||
case 27: // escape
|
||||
e.preventDefault()
|
||||
break
|
||||
|
||||
case 38: // up arrow
|
||||
e.preventDefault()
|
||||
this.prev()
|
||||
break
|
||||
|
||||
case 40: // down arrow
|
||||
e.preventDefault()
|
||||
this.next()
|
||||
break
|
||||
}
|
||||
|
||||
e.stopPropagation()
|
||||
}
|
||||
|
||||
, keydown: function (e) {
|
||||
this.suppressKeyPressRepeat = ~$.inArray(e.keyCode, [40,38,9,13,27])
|
||||
this.move(e)
|
||||
}
|
||||
|
||||
, keypress: function (e) {
|
||||
if (this.suppressKeyPressRepeat) return
|
||||
this.move(e)
|
||||
}
|
||||
|
||||
, keyup: function (e) {
|
||||
switch(e.keyCode) {
|
||||
case 40: // down arrow
|
||||
case 38: // up arrow
|
||||
case 16: // shift
|
||||
case 17: // ctrl
|
||||
case 18: // alt
|
||||
break
|
||||
|
||||
case 9: // tab
|
||||
case 13: // enter
|
||||
if (!this.shown) return
|
||||
this.select()
|
||||
break
|
||||
|
||||
case 27: // escape
|
||||
if (!this.shown) return
|
||||
this.hide()
|
||||
break
|
||||
|
||||
default:
|
||||
this.lookup()
|
||||
}
|
||||
|
||||
e.stopPropagation()
|
||||
e.preventDefault()
|
||||
}
|
||||
|
||||
, focus: function (e) {
|
||||
this.focused = true
|
||||
}
|
||||
|
||||
, blur: function (e) {
|
||||
this.focused = false
|
||||
if (!this.mousedover && this.shown) this.hide()
|
||||
}
|
||||
|
||||
, click: function (e) {
|
||||
e.stopPropagation()
|
||||
e.preventDefault()
|
||||
this.select()
|
||||
this.$element.focus()
|
||||
}
|
||||
|
||||
, mouseenter: function (e) {
|
||||
this.mousedover = true
|
||||
this.$menu.find('.active').removeClass('active')
|
||||
$(e.currentTarget).addClass('active')
|
||||
}
|
||||
|
||||
, mouseleave: function (e) {
|
||||
this.mousedover = false
|
||||
if (!this.focused && this.shown) this.hide()
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
/* TYPEAHEAD PLUGIN DEFINITION
|
||||
* =========================== */
|
||||
|
||||
var old = $.fn.typeahead
|
||||
|
||||
$.fn.typeahead = function (option) {
|
||||
return this.each(function () {
|
||||
var $this = $(this)
|
||||
, data = $this.data('typeahead')
|
||||
, options = typeof option == 'object' && option
|
||||
if (!data) $this.data('typeahead', (data = new Typeahead(this, options)))
|
||||
if (typeof option == 'string') data[option]()
|
||||
})
|
||||
}
|
||||
|
||||
$.fn.typeahead.defaults = {
|
||||
source: []
|
||||
, items: 8
|
||||
, menu: '<ul class="typeahead dropdown-menu"></ul>'
|
||||
, item: '<li><a href="#"></a></li>'
|
||||
, minLength: 1
|
||||
}
|
||||
|
||||
$.fn.typeahead.Constructor = Typeahead
|
||||
|
||||
|
||||
/* TYPEAHEAD NO CONFLICT
|
||||
* =================== */
|
||||
|
||||
$.fn.typeahead.noConflict = function () {
|
||||
$.fn.typeahead = old
|
||||
return this
|
||||
}
|
||||
|
||||
|
||||
/* TYPEAHEAD DATA-API
|
||||
* ================== */
|
||||
|
||||
$(document).on('focus.typeahead.data-api', '[data-provide="typeahead"]', function (e) {
|
||||
var $this = $(this)
|
||||
if ($this.data('typeahead')) return
|
||||
$this.typeahead($this.data())
|
||||
})
|
||||
|
||||
}(window.jQuery);
|
|
@ -0,0 +1,25 @@
|
|||
(function(){var c={id:"3d143f0a07b6487f65609d8411e5464f",dm:["5ihaitao.com"],etrk:[],js:"tongji.baidu.com/hm-web/js/",icon:'',br:false,ctrk:false,align:-1,nv:-1,vdur:1800000,age:31536000000,rec:0,rp:0,rs:0,trust:0,vcard:0,se:[[1,'baidu.com','word|wd|w',1,'news,tieba,zhidao,,image,video,hi,baike,wenku,opendata,jingyan'],[2,'google.com','q',0,'tbm=isch,tbm=vid,tbm=nws|source=newssearch,tbm=blg,tbm=frm'],[4,'sogou.com','query|keyword',1,'news,mp3,pic,v,gouwu,zhishi,blogsearch'],[6,'search.yahoo.com','p',1,'news,images,video'],[7,'yahoo.cn','q',1,'news,image,music'],[8,'soso.com','w|key',1,'image,video,music,sobar,wenwen,news,baike'],[11,'youdao.com','q',1,'image,news,,mp3,video'],[12,'gougou.com','search',1,',movie,,,,,video'],[13,'bing.com','q',2,'images,videos,news'],[14,'so.com','q',1,'video,news'],[15,'jike.com','q',1,'news,image,video'],[16,'qihoo.com','kw',0,''],[17,'etao.com','q',1,'s,8'],[18,'soku.com','keyword',2,'a'],[19,'easou.com','q',0,''],[20,'glb.uc.cn','keyword|word|q',0,'']]};var l=!0,n=null,p=!1;function r(a,b,d){a.attachEvent?a.attachEvent("on"+b,function(b){d.call(a,b)}):a.addEventListener&&a.addEventListener(b,d,p)};(function(){function a(){if(!a.b){a.b=l;for(var b=0,d=e.length;b<d;b++)e[b]()}}function b(){try{document.documentElement.doScroll("left")}catch(d){setTimeout(b,1);return}a()}var d=p,e=[],f;document.addEventListener?f=function(){document.removeEventListener("DOMContentLoaded",f,p);a()}:document.attachEvent&&(f=function(){"complete"===document.readyState&&(document.detachEvent("onreadystatechange",f),a())});(function(){if(!d)if(d=l,"complete"===document.readyState)a.b=l;else if(document.addEventListener)document.addEventListener("DOMContentLoaded",
|
||||
f,p),window.addEventListener("load",a,p);else if(document.attachEvent){document.attachEvent("onreadystatechange",f);window.attachEvent("onload",a);var e=p;try{e=window.frameElement==n}catch(h){}document.documentElement.doScroll&&e&&b()}})();return function(b){a.b?b():e.push(b)}})().b=p;function s(a,b){if(window.sessionStorage)try{window.sessionStorage.setItem(a,b)}catch(d){}}function t(a){return window.sessionStorage?window.sessionStorage.getItem(a):n};function aa(a,b,d){var e;d.f&&(e=new Date,e.setTime(e.getTime()+d.f));document.cookie=a+"="+b+(d.domain?"; domain="+d.domain:"")+(d.path?"; path="+d.path:"")+(e?"; expires="+e.toGMTString():"")+(d.r?"; secure":"")};function z(a,b){var d=a.match(RegExp("(^|&|\\?|#)("+b+")=([^&#]*)(&|$|#)",""));return d?d[3]:n}function A(a){return(a=(a=a.match(/^(https?:\/\/)?([^\/\?#]*)/))?a[2].replace(/.*@/,""):n)?a.replace(/:\d+$/,""):a};function C(a,b){var d=new Image,e="mini_tangram_log_"+Math.floor(2147483648*Math.random()).toString(36);window[e]=d;d.onload=d.onerror=d.onabort=function(){d.onload=d.onerror=d.onabort=n;d=window[e]=n;b&&b(a)};d.src=a};function D(a,b){return"[object "+b+"]"==={}.toString.call(a)};var E=function(){function a(a){/["\\\x00-\x1f]/.test(a)&&(a=a.replace(/["\\\x00-\x1f]/g,function(a){var b=d[a];if(b)return b;b=a.charCodeAt();return"\\u00"+Math.floor(b/16).toString(16)+(b%16).toString(16)}));return'"'+a+'"'}function b(a){return 10>a?"0"+a:a}var d={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"};return function(d){switch(typeof d){case "undefined":return"undefined";case "number":return isFinite(d)?String(d):"null";case "string":return a(d);case "boolean":return String(d);
|
||||
default:if(d===n)return"null";if(d instanceof Array){var f=["["],k=d.length,h,g,m;for(g=0;g<k;g++)switch(m=d[g],typeof m){case "undefined":case "function":case "unknown":break;default:h&&f.push(","),f.push(E(m)),h=1}f.push("]");return f.join("")}if(d instanceof Date)return'"'+d.getFullYear()+"-"+b(d.getMonth()+1)+"-"+b(d.getDate())+"T"+b(d.getHours())+":"+b(d.getMinutes())+":"+b(d.getSeconds())+'"';h=["{"];for(k in d)if(Object.prototype.hasOwnProperty.call(d,k))switch(g=d[k],typeof g){case "undefined":case "unknown":case "function":break;
|
||||
default:f&&h.push(","),f=1,h.push(E(k)+":"+E(g))}h.push("}");return h.join("")}}}();var ba=navigator.cookieEnabled,ca=navigator.javaEnabled(),da=navigator.language||navigator.browserLanguage||navigator.systemLanguage||navigator.userLanguage||"",ea=window.screen.width+"x"+window.screen.height,fa=window.screen.colorDepth;var G;function H(){if(!G)try{G=document.createElement("input"),G.type="hidden",G.style.display="none",G.addBehavior("#default#userData"),document.getElementsByTagName("head")[0].appendChild(G)}catch(a){return p}return l}
|
||||
function ga(a,b,d){var e=new Date;e.setTime(e.getTime()+d||31536E6);try{window.localStorage?(b=e.getTime()+"|"+b,window.localStorage.setItem(a,b)):H()&&(G.expires=e.toUTCString(),G.load(document.location.hostname),G.setAttribute(a,b),G.save(document.location.hostname))}catch(f){}}
|
||||
function ma(a){if(window.localStorage){if(a=window.localStorage.getItem(a)){var b=a.indexOf("|"),d=a.substring(0,b)-0;if(d&&d>(new Date).getTime())return a.substring(b+1)}}else if(H())try{return G.load(document.location.hostname),G.getAttribute(a)}catch(e){}return n};c.se.push([14,"so.360.cn","q",1,",news"]);c.se.push([14,"v.360.cn","q",1,"so"]);var I=0,K=Math.round(+new Date/1E3),Q="https:"==document.location.protocol?"https:":"http:",na="cc cf ci ck cl cm cp cw ds ep et fl ja ln lo lt nv rnd sb se si st su sw sse v cv lv u api tt".split(" ");function oa(){if("undefined"==typeof window["_bdhm_loaded_"+c.id]){window["_bdhm_loaded_"+c.id]=l;var a=this;a.a={};a.q=[];a.p={push:function(){a.k.apply(a,arguments)}};a.c=0;a.h=p;pa(a)}}
|
||||
oa.prototype={getData:function(a){try{var b=RegExp("(^| )"+a+"=([^;]*)(;|$)").exec(document.cookie);return(b?b[2]:n)||t(a)||ma(a)}catch(d){}},setData:function(a,b,d){try{aa(a,b,{domain:qa(),path:ra(),f:d}),d?ga(a,b,d):s(a,b)}catch(e){}},k:function(a){if(D(a,"Array")){var b=function(a){return a.replace?a.replace(/'/g,"'0").replace(/\*/g,"'1").replace(/!/g,"'2"):a};switch(a[0]){case "_trackPageview":if(1<a.length&&a[1].charAt&&"/"==a[1].charAt(0)){this.a.api|=4;this.a.et=0;this.a.ep="";this.h?(this.a.nv=
|
||||
0,this.a.st=4):this.h=l;var b=this.a.u,d=this.a.su;this.a.u=Q+"//"+document.location.host+a[1];this.a.su=document.location.href;R(this);this.a.u=b;this.a.su=d}break;case "_trackEvent":2<a.length&&(this.a.api|=8,this.a.nv=0,this.a.st=4,this.a.et=4,this.a.ep=b(a[1])+"*"+b(a[2])+(a[3]?"*"+b(a[3]):"")+(a[4]?"*"+b(a[4]):""),R(this));break;case "_setCustomVar":if(4>a.length)break;var d=a[1],e=a[4]||3;if(0<d&&6>d&&0<e&&4>e){this.c++;for(var f=(this.a.cv||"*").split("!"),k=f.length;k<d-1;k++)f.push("*");
|
||||
f[d-1]=e+"*"+b(a[2])+"*"+b(a[3]);this.a.cv=f.join("!");a=this.a.cv.replace(/[^1](\*[^!]*){2}/g,"*").replace(/((^|!)\*)+$/g,"");""!==a?this.setData("Hm_cv_"+c.id,encodeURIComponent(a),c.age):sa()}break;case "_trackOrder":if(a=a[1],D(a,"Object")){var h=function(a){for(var b in a)if({}.hasOwnProperty.call(a,b)){var d=a[b];D(d,"Object")||D(d,"Array")?h(d):a[b]=String(d)}};h(a);this.a.api|=16;this.a.nv=0;this.a.st=4;this.a.et=94;this.a.ep=E(a);R(this)}}}}};
|
||||
function ta(){var a=t("Hm_unsent_"+c.id);if(a)for(var a=a.split(","),b=0,d=a.length;b<d;b++)C(Q+"//"+decodeURIComponent(a[b]).replace(/^https?:\/\//,""),function(a){S(a)})}function S(a){var b=t("Hm_unsent_"+c.id)||"";b&&((b=b.replace(RegExp(encodeURIComponent(a.replace(/^https?:\/\//,"")).replace(/([\*\(\)])/g,"\\$1")+"(%26u%3D[^,]*)?,?","g"),"").replace(/,$/,""))?s("Hm_unsent_"+c.id,b):window.sessionStorage&&window.sessionStorage.removeItem("Hm_unsent_"+c.id))}
|
||||
function va(a,b){var d=t("Hm_unsent_"+c.id)||"",e=a.a.u?"":"&u="+encodeURIComponent(document.location.href),d=encodeURIComponent(b.replace(/^https?:\/\//,"")+e)+(d?","+d:"");s("Hm_unsent_"+c.id,d)}function R(a){a.a.rnd=Math.round(2147483647*Math.random());a.a.api=a.a.api||a.c?a.a.api+"_"+a.c:"";var b=Q+"//hm.baidu.com/hm.gif?"+wa(a);a.a.api=0;a.c=0;va(a,b);C(b,function(a){S(a)})}
|
||||
function xa(a){return function(){a.a.nv=0;a.a.st=4;a.a.et=3;a.a.ep=(new Date).getTime()-a.e.j+","+((new Date).getTime()-a.e.d+a.e.i);R(a)}}
|
||||
function pa(a){try{var b,d,e,f,k,h,g;I=a.getData("Hm_lpvt_"+c.id)||0;13==I.length&&(I=Math.round(I/1E3));a:if(document.referrer){for(var m=0,ua=c.se.length;m<ua;m++)if(RegExp("(^|\\.)"+c.se[m][1].replace(/\./g,"\\.")).test(A(document.referrer))){var y=z(document.referrer,c.se[m][2])||"";if(y||!(2!=c.se[m][0]&&14!=c.se[m][0]&&17!=c.se[m][0])){1==c.se[m][0]&&-1<document.referrer.indexOf("cpro.baidu.com")&&(y="");a.a.se=c.se[m][0];for(var za=a.a,q=c.se[m],J=0,Aa=2==q[3]?q[1]+"\\/":"",Ba=1==q[3]?"\\."+
|
||||
q[1]:"",V=q[4].split(","),q=0,Ca=V.length;q<Ca;q++)if(""!==V[q]&&RegExp(Aa+V[q]+Ba).test(document.referrer)){J=q+1;break}za.sse=J;a.a.sw=y;d=2;break a}}y=p;T(document.referrer)&&T(document.location.href)?y=l:(J=A(document.referrer),y=U(J||"",document.location.hostname));d=y?K-I>c.vdur?1:4:3}else d=K-I>c.vdur?1:4;b=4!=d?1:0;if(h=a.getData("Hm_lvt_"+c.id)){g=h.split(",");for(var F=g.length-1;0<=F;F--)13==g[F].length&&(g[F]=""+Math.round(g[F]/1E3));for(;2592E3<K-g[0];)g.shift();k=4>g.length?2:3;for(1===
|
||||
b&&g.push(K);4<g.length;)g.shift();h=g.join(",");f=g[g.length-1]}else h=K,f="",k=1;a.setData("Hm_lvt_"+c.id,h,c.age);a.setData("Hm_lpvt_"+c.id,K);e=K==a.getData("Hm_lpvt_"+c.id)?"1":"0";if(0==c.nv&&T(document.location.href)&&(""==document.referrer||T(document.referrer)))b=0,d=4;a.a.nv=b;a.a.st=d;a.a.cc=e;a.a.lt=f;a.a.lv=k;a.a.si=c.id;a.a.su=document.referrer;a.a.ds=ea;a.a.cl=fa+"-bit";a.a.ln=da;a.a.ja=ca?1:0;a.a.ck=ba?1:0;a.a.lo="number"==typeof _bdhm_top?1:0;var L=a.a;b="";if(navigator.plugins&&
|
||||
navigator.mimeTypes.length){var X=navigator.plugins["Shockwave Flash"];X&&X.description&&(b=X.description.replace(/^.*\s+(\S+)\s+\S+$/,"$1"))}else if(window.ActiveXObject)try{var ha=new ActiveXObject("ShockwaveFlash.ShockwaveFlash");ha&&(b=ha.GetVariable("$version"))&&(b=b.replace(/^.*\s+(\d+),(\d+).*$/,"$1.$2"))}catch(Ha){}L.fl=b;var M=a.a,L="";try{external.twGetVersion(external.twGetSecurityID(window))&&-1<external.twGetRunPath.toLowerCase().indexOf("360se")&&(L=17)}catch(Ia){}M.sb=L;a.a.v="1.0.56";
|
||||
a.a.cv=decodeURIComponent(a.getData("Hm_cv_"+c.id)||"");1==a.a.nv&&(a.a.tt=document.title||"");a.a.api=0;var u=document.location.href;a.a.cm=z(u,"hmmd")||"";a.a.cp=z(u,"hmpl")||"";a.a.cw=z(u,"hmkw")||"";a.a.ci=z(u,"hmci")||"";a.a.cf=z(u,"hmsr")||"";0==a.a.nv?ta():S(".*");if(""!=c.icon){var v,w=c.icon.split("|"),Y="http://tongji.baidu.com/hm-web/welcome/ico?s="+c.id,Z=("http:"==Q?"http://eiv":"https://bs")+".baidu.com"+w[0]+"."+w[1];switch(w[1]){case "swf":var ia=w[2],ja=w[3],M="s="+Y,u="HolmesIcon"+
|
||||
K;v='<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" id="'+u+'" width="'+ia+'" height="'+ja+'"><param name="movie" value="'+Z+'" /><param name="flashvars" value="'+(M||"")+'" /><param name="allowscriptaccess" value="always" /><embed type="application/x-shockwave-flash" name="'+u+'" width="'+ia+'" height="'+ja+'" src="'+Z+'" flashvars="'+(M||"")+'" allowscriptaccess="always" /></object>';break;case "gif":v='<a href="'+Y+'" target="_blank"><img border="0" src="'+Z+'" width="'+w[2]+'" height="'+
|
||||
w[3]+'"></a>';break;default:v='<a href="'+Y+'" target="_blank">'+w[0]+"</a>"}document.write(v)}var N=document.location.hash.substring(1),Da=RegExp(c.id),Ea=-1<document.referrer.indexOf("baidu.com")?l:p;if(N&&Da.test(N)&&Ea){var O=document.createElement("script");O.setAttribute("type","text/javascript");O.setAttribute("charset","utf-8");O.setAttribute("src",Q+"//"+c.js+z(N,"jn")+"."+z(N,"sx")+"?"+a.a.rnd);var ka=document.getElementsByTagName("script")[0];ka.parentNode.insertBefore(O,ka)}a.m&&a.m();
|
||||
a.l&&a.l();if(c.rec||c.trust)a.a.nv?(a.g=encodeURIComponent(document.referrer),window.sessionStorage?s("Hm_from_"+c.id,a.g):ga("Hm_from_"+c.id,a.g,864E5)):a.g=(window.sessionStorage?t("Hm_from_"+c.id):ma("Hm_from_"+c.id))||"";a.n&&a.n();a.o&&a.o();a.e=new ya;r(window,"beforeunload",xa(a));var x=window._hmt;if(x&&x.length)for(v=0;v<x.length;v++){var B=x[v];switch(B[0]){case "_setAccount":1<B.length&&/^[0-9a-z]{32}$/.test(B[1])&&(a.a.api|=1,window._bdhm_account=B[1]);break;case "_setAutoPageview":if(1<
|
||||
B.length){var $=B[1];if(p===$||l===$)a.a.api|=2,window._bdhm_autoPageview=$}}}if("undefined"===typeof window._bdhm_account||window._bdhm_account===c.id){window._bdhm_account=c.id;var P=window._hmt;if(P&&P.length)for(var x=0,Ga=P.length;x<Ga;x++)a.k(P[x]);window._hmt=a.p}if("undefined"===typeof window._bdhm_autoPageview||window._bdhm_autoPageview===l)a.h=l,a.a.et=0,a.a.ep="",R(a)}catch(la){a=[],a.push("si="+c.id),a.push("n="+encodeURIComponent(la.name)),a.push("m="+encodeURIComponent(la.message)),
|
||||
a.push("r="+encodeURIComponent(document.referrer)),C(Q+"//hm.baidu.com/hm.gif?"+a.join("&"))}}function wa(a){for(var b=[],d=0,e=na.length;d<e;d++){var f=na[d],k=a.a[f];"undefined"!=typeof k&&""!==k&&b.push(f+"="+encodeURIComponent(k))}return b.join("&")}
|
||||
function sa(){var a="Hm_cv_"+c.id;try{if(aa(a,"",{domain:qa(),path:ra(),f:-1}),window.sessionStorage&&window.sessionStorage.removeItem(a),window.localStorage)window.localStorage.removeItem(a);else if(H())try{G.load(document.location.hostname),G.removeAttribute(a),G.save(document.location.hostname)}catch(b){}}catch(d){}}function ra(){for(var a=0,b=c.dm.length;a<b;a++){var d=c.dm[a];if(-1<d.indexOf("/")&&Fa(document.location.href,d))return d.replace(/^[^\/]+(\/.*)/,"$1")+"/"}return"/"}
|
||||
function qa(){for(var a=document.location.hostname,b=0,d=c.dm.length;b<d;b++)if(U(a,c.dm[b]))return c.dm[b].replace(/(:\d+)?[\/\?#].*/,"");return a}function T(a){for(var b=0;b<c.dm.length;b++)if(-1<c.dm[b].indexOf("/")){if(Fa(a,c.dm[b]))return l}else{var d=A(a);if(d&&U(d,c.dm[b]))return l}return p}function Fa(a,b){a=a.replace(/^https?:\/\//,"");return 0==a.indexOf(b)}function U(a,b){a="."+a.replace(/:\d+/,"");b="."+b.replace(/:\d+/,"");var d=a.indexOf(b);return-1<d&&d+b.length==a.length}
|
||||
function ya(){this.d=this.j=(new Date).getTime();this.i=0;"object"==typeof document.onfocusin?(r(document,"focusin",W(this)),r(document,"focusout",W(this))):(r(window,"focus",W(this)),r(window,"blur",W(this)))}function W(a){return function(b){if(!(b.target&&b.target!=window)){if("blur"==b.type||"focusout"==b.type)a.i+=(new Date).getTime()-a.d;a.d=(new Date).getTime()}}}new oa;})();
|
|
@ -0,0 +1,401 @@
|
|||
/*
|
||||
|
||||
Holder - 1.9 - client side image placeholders
|
||||
(c) 2012-2013 Ivan Malopinsky / http://imsky.co
|
||||
|
||||
Provided under the Apache 2.0 License: http://www.apache.org/licenses/LICENSE-2.0
|
||||
Commercial use requires attribution.
|
||||
|
||||
*/
|
||||
|
||||
var Holder = Holder || {};
|
||||
(function (app, win) {
|
||||
|
||||
var preempted = false,
|
||||
fallback = false,
|
||||
canvas = document.createElement('canvas');
|
||||
|
||||
//getElementsByClassName polyfill
|
||||
document.getElementsByClassName||(document.getElementsByClassName=function(e){var t=document,n,r,i,s=[];if(t.querySelectorAll)return t.querySelectorAll("."+e);if(t.evaluate){r=".//*[contains(concat(' ', @class, ' '), ' "+e+" ')]",n=t.evaluate(r,t,null,0,null);while(i=n.iterateNext())s.push(i)}else{n=t.getElementsByTagName("*"),r=new RegExp("(^|\\s)"+e+"(\\s|$)");for(i=0;i<n.length;i++)r.test(n[i].className)&&s.push(n[i])}return s})
|
||||
|
||||
//getComputedStyle polyfill
|
||||
window.getComputedStyle||(window.getComputedStyle=function(e,t){return this.el=e,this.getPropertyValue=function(t){var n=/(\-([a-z]){1})/g;return t=="float"&&(t="styleFloat"),n.test(t)&&(t=t.replace(n,function(){return arguments[2].toUpperCase()})),e.currentStyle[t]?e.currentStyle[t]:null},this})
|
||||
|
||||
//http://javascript.nwbox.com/ContentLoaded by Diego Perini with modifications
|
||||
function contentLoaded(n,t){var l="complete",s="readystatechange",u=!1,h=u,c=!0,i=n.document,a=i.documentElement,e=i.addEventListener?"addEventListener":"attachEvent",v=i.addEventListener?"removeEventListener":"detachEvent",f=i.addEventListener?"":"on",r=function(e){(e.type!=s||i.readyState==l)&&((e.type=="load"?n:i)[v](f+e.type,r,u),!h&&(h=!0)&&t.call(n,null))},o=function(){try{a.doScroll("left")}catch(n){setTimeout(o,50);return}r("poll")};if(i.readyState==l)t.call(n,"lazy");else{if(i.createEventObject&&a.doScroll){try{c=!n.frameElement}catch(y){}c&&o()}i[e](f+"DOMContentLoaded",r,u),i[e](f+s,r,u),n[e](f+"load",r,u)}};
|
||||
|
||||
//https://gist.github.com/991057 by Jed Schmidt with modifications
|
||||
function selector(a){
|
||||
a=a.match(/^(\W)?(.*)/);var b=document["getElement"+(a[1]?a[1]=="#"?"ById":"sByClassName":"sByTagName")](a[2]);
|
||||
var ret=[]; b!=null&&(b.length?ret=b:b.length==0?ret=b:ret=[b]); return ret;
|
||||
}
|
||||
|
||||
//shallow object property extend
|
||||
function extend(a,b){var c={};for(var d in a)c[d]=a[d];for(var e in b)c[e]=b[e];return c}
|
||||
|
||||
//hasOwnProperty polyfill
|
||||
if (!Object.prototype.hasOwnProperty)
|
||||
Object.prototype.hasOwnProperty = function(prop) {
|
||||
var proto = this.__proto__ || this.constructor.prototype;
|
||||
return (prop in this) && (!(prop in proto) || proto[prop] !== this[prop]);
|
||||
}
|
||||
|
||||
function text_size(width, height, template) {
|
||||
var dimension_arr = [height, width].sort();
|
||||
var maxFactor = Math.round(dimension_arr[1] / 16),
|
||||
minFactor = Math.round(dimension_arr[0] / 16);
|
||||
var text_height = Math.max(template.size, maxFactor);
|
||||
return {
|
||||
height: text_height
|
||||
}
|
||||
}
|
||||
|
||||
function draw(ctx, dimensions, template, ratio) {
|
||||
var ts = text_size(dimensions.width, dimensions.height, template);
|
||||
var text_height = ts.height;
|
||||
var width = dimensions.width * ratio, height = dimensions.height * ratio;
|
||||
var font = template.font ? template.font : "sans-serif";
|
||||
canvas.width = width;
|
||||
canvas.height = height;
|
||||
ctx.textAlign = "center";
|
||||
ctx.textBaseline = "middle";
|
||||
ctx.fillStyle = template.background;
|
||||
ctx.fillRect(0, 0, width, height);
|
||||
ctx.fillStyle = template.foreground;
|
||||
ctx.font = "bold " + text_height + "px "+font;
|
||||
var text = template.text ? template.text : (dimensions.width + "x" + dimensions.height);
|
||||
if (ctx.measureText(text).width / width > 1) {
|
||||
text_height = template.size / (ctx.measureText(text).width / width);
|
||||
}
|
||||
//Resetting font size if necessary
|
||||
ctx.font = "bold " + (text_height * ratio) + "px "+font;
|
||||
ctx.fillText(text, (width / 2), (height / 2), width);
|
||||
return canvas.toDataURL("image/png");
|
||||
}
|
||||
|
||||
function render(mode, el, holder, src) {
|
||||
var dimensions = holder.dimensions,
|
||||
theme = holder.theme,
|
||||
text = holder.text ? decodeURIComponent(holder.text) : holder.text;
|
||||
var dimensions_caption = dimensions.width + "x" + dimensions.height;
|
||||
theme = (text ? extend(theme, { text: text }) : theme);
|
||||
theme = (holder.font ? extend(theme, {font: holder.font}) : theme);
|
||||
|
||||
var ratio = 1;
|
||||
if(window.devicePixelRatio && window.devicePixelRatio > 1){
|
||||
ratio = window.devicePixelRatio;
|
||||
}
|
||||
|
||||
if (mode == "image") {
|
||||
el.setAttribute("data-src", src);
|
||||
el.setAttribute("alt", text ? text : theme.text ? theme.text + " [" + dimensions_caption + "]" : dimensions_caption);
|
||||
|
||||
if(fallback || !holder.auto){
|
||||
el.style.width = dimensions.width + "px";
|
||||
el.style.height = dimensions.height + "px";
|
||||
}
|
||||
|
||||
if (fallback) {
|
||||
el.style.backgroundColor = theme.background;
|
||||
|
||||
}
|
||||
else{
|
||||
el.setAttribute("src", draw(ctx, dimensions, theme, ratio));
|
||||
}
|
||||
} else {
|
||||
if (!fallback) {
|
||||
el.style.backgroundImage = "url(" + draw(ctx, dimensions, theme, ratio) + ")";
|
||||
el.style.backgroundSize = dimensions.width+"px "+dimensions.height+"px";
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
function fluid(el, holder, src) {
|
||||
var dimensions = holder.dimensions,
|
||||
theme = holder.theme,
|
||||
text = holder.text;
|
||||
var dimensions_caption = dimensions.width + "x" + dimensions.height;
|
||||
theme = (text ? extend(theme, {
|
||||
text: text
|
||||
}) : theme);
|
||||
|
||||
var fluid = document.createElement("div");
|
||||
|
||||
fluid.style.backgroundColor = theme.background;
|
||||
fluid.style.color = theme.foreground;
|
||||
fluid.className = el.className + " holderjs-fluid";
|
||||
fluid.style.width = holder.dimensions.width + (holder.dimensions.width.indexOf("%")>0?"":"px");
|
||||
fluid.style.height = holder.dimensions.height + (holder.dimensions.height.indexOf("%")>0?"":"px");
|
||||
fluid.id = el.id;
|
||||
|
||||
el.style.width=0;
|
||||
el.style.height=0;
|
||||
|
||||
if (theme.text) {
|
||||
fluid.appendChild(document.createTextNode(theme.text))
|
||||
} else {
|
||||
fluid.appendChild(document.createTextNode(dimensions_caption))
|
||||
fluid_images.push(fluid);
|
||||
setTimeout(fluid_update, 0);
|
||||
}
|
||||
|
||||
el.parentNode.insertBefore(fluid, el.nextSibling)
|
||||
|
||||
if(window.jQuery){
|
||||
jQuery(function($){
|
||||
$(el).on("load", function(){
|
||||
el.style.width = fluid.style.width;
|
||||
el.style.height = fluid.style.height;
|
||||
$(el).show();
|
||||
$(fluid).remove();
|
||||
});
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
function fluid_update() {
|
||||
for (i in fluid_images) {
|
||||
if(!fluid_images.hasOwnProperty(i)) continue;
|
||||
var el = fluid_images[i],
|
||||
label = el.firstChild;
|
||||
|
||||
el.style.lineHeight = el.offsetHeight+"px";
|
||||
label.data = el.offsetWidth + "x" + el.offsetHeight;
|
||||
}
|
||||
}
|
||||
|
||||
function parse_flags(flags, options) {
|
||||
|
||||
var ret = {
|
||||
theme: settings.themes.gray
|
||||
}, render = false;
|
||||
|
||||
for (sl = flags.length, j = 0; j < sl; j++) {
|
||||
var flag = flags[j];
|
||||
if (app.flags.dimensions.match(flag)) {
|
||||
render = true;
|
||||
ret.dimensions = app.flags.dimensions.output(flag);
|
||||
} else if (app.flags.fluid.match(flag)) {
|
||||
render = true;
|
||||
ret.dimensions = app.flags.fluid.output(flag);
|
||||
ret.fluid = true;
|
||||
} else if (app.flags.colors.match(flag)) {
|
||||
ret.theme = app.flags.colors.output(flag);
|
||||
} else if (options.themes[flag]) {
|
||||
//If a theme is specified, it will override custom colors
|
||||
ret.theme = options.themes[flag];
|
||||
} else if (app.flags.text.match(flag)) {
|
||||
ret.text = app.flags.text.output(flag);
|
||||
} else if(app.flags.font.match(flag)){
|
||||
ret.font = app.flags.font.output(flag);
|
||||
}
|
||||
else if(app.flags.auto.match(flag)){
|
||||
ret.auto = true;
|
||||
}
|
||||
}
|
||||
|
||||
return render ? ret : false;
|
||||
|
||||
};
|
||||
|
||||
if (!canvas.getContext) {
|
||||
fallback = true;
|
||||
} else {
|
||||
if (canvas.toDataURL("image/png")
|
||||
.indexOf("data:image/png") < 0) {
|
||||
//Android doesn't support data URI
|
||||
fallback = true;
|
||||
} else {
|
||||
var ctx = canvas.getContext("2d");
|
||||
}
|
||||
}
|
||||
|
||||
var fluid_images = [];
|
||||
|
||||
var settings = {
|
||||
domain: "holder.js",
|
||||
images: "img",
|
||||
bgnodes: ".holderjs",
|
||||
themes: {
|
||||
"gray": {
|
||||
background: "#eee",
|
||||
foreground: "#aaa",
|
||||
size: 12
|
||||
},
|
||||
"social": {
|
||||
background: "#3a5a97",
|
||||
foreground: "#fff",
|
||||
size: 12
|
||||
},
|
||||
"industrial": {
|
||||
background: "#434A52",
|
||||
foreground: "#C2F200",
|
||||
size: 12
|
||||
}
|
||||
},
|
||||
stylesheet: ".holderjs-fluid {font-size:16px;font-weight:bold;text-align:center;font-family:sans-serif;margin:0}"
|
||||
};
|
||||
|
||||
|
||||
app.flags = {
|
||||
dimensions: {
|
||||
regex: /^(\d+)x(\d+)$/,
|
||||
output: function (val) {
|
||||
var exec = this.regex.exec(val);
|
||||
return {
|
||||
width: +exec[1],
|
||||
height: +exec[2]
|
||||
}
|
||||
}
|
||||
},
|
||||
fluid: {
|
||||
regex: /^([0-9%]+)x([0-9%]+)$/,
|
||||
output: function (val) {
|
||||
var exec = this.regex.exec(val);
|
||||
return {
|
||||
width: exec[1],
|
||||
height: exec[2]
|
||||
}
|
||||
}
|
||||
},
|
||||
colors: {
|
||||
regex: /#([0-9a-f]{3,})\:#([0-9a-f]{3,})/i,
|
||||
output: function (val) {
|
||||
var exec = this.regex.exec(val);
|
||||
return {
|
||||
size: settings.themes.gray.size,
|
||||
foreground: "#" + exec[2],
|
||||
background: "#" + exec[1]
|
||||
}
|
||||
}
|
||||
},
|
||||
text: {
|
||||
regex: /text\:(.*)/,
|
||||
output: function (val) {
|
||||
return this.regex.exec(val)[1];
|
||||
}
|
||||
},
|
||||
font: {
|
||||
regex: /font\:(.*)/,
|
||||
output: function(val){
|
||||
return this.regex.exec(val)[1];
|
||||
}
|
||||
},
|
||||
auto: {
|
||||
regex: /^auto$/
|
||||
}
|
||||
}
|
||||
|
||||
for (var flag in app.flags) {
|
||||
if(!app.flags.hasOwnProperty(flag)) continue;
|
||||
app.flags[flag].match = function (val) {
|
||||
return val.match(this.regex)
|
||||
}
|
||||
}
|
||||
|
||||
app.add_theme = function (name, theme) {
|
||||
name != null && theme != null && (settings.themes[name] = theme);
|
||||
return app;
|
||||
};
|
||||
|
||||
app.add_image = function (src, el) {
|
||||
var node = selector(el);
|
||||
if (node.length) {
|
||||
for (var i = 0, l = node.length; i < l; i++) {
|
||||
var img = document.createElement("img")
|
||||
img.setAttribute("data-src", src);
|
||||
node[i].appendChild(img);
|
||||
}
|
||||
}
|
||||
return app;
|
||||
};
|
||||
|
||||
app.run = function (o) {
|
||||
var options = extend(settings, o), images = [];
|
||||
|
||||
if(options.images instanceof window.NodeList){
|
||||
imageNodes = options.images;
|
||||
}
|
||||
else if(options.images instanceof window.Node){
|
||||
imageNodes = [options.images];
|
||||
}
|
||||
else{
|
||||
imageNodes = selector(options.images);
|
||||
}
|
||||
|
||||
if(options.elements instanceof window.NodeList){
|
||||
bgnodes = options.bgnodes;
|
||||
}
|
||||
else if(options.bgnodes instanceof window.Node){
|
||||
bgnodes = [options.bgnodes];
|
||||
}
|
||||
else{
|
||||
bgnodes = selector(options.bgnodes);
|
||||
}
|
||||
|
||||
preempted = true;
|
||||
|
||||
for (i = 0, l = imageNodes.length; i < l; i++) images.push(imageNodes[i]);
|
||||
|
||||
var holdercss = document.getElementById("holderjs-style");
|
||||
|
||||
if(!holdercss){
|
||||
holdercss = document.createElement("style");
|
||||
holdercss.setAttribute("id", "holderjs-style");
|
||||
holdercss.type = "text/css";
|
||||
document.getElementsByTagName("head")[0].appendChild(holdercss);
|
||||
}
|
||||
|
||||
if(holdercss.styleSheet){
|
||||
holdercss.styleSheet += options.stylesheet;
|
||||
}
|
||||
else{
|
||||
holdercss.textContent+= options.stylesheet;
|
||||
}
|
||||
|
||||
var cssregex = new RegExp(options.domain + "\/(.*?)\"?\\)");
|
||||
|
||||
for (var l = bgnodes.length, i = 0; i < l; i++) {
|
||||
var src = window.getComputedStyle(bgnodes[i], null)
|
||||
.getPropertyValue("background-image");
|
||||
var flags = src.match(cssregex);
|
||||
if (flags) {
|
||||
var holder = parse_flags(flags[1].split("/"), options);
|
||||
if (holder) {
|
||||
render("background", bgnodes[i], holder, src);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
for (var l = images.length, i = 0; i < l; i++) {
|
||||
var src = images[i].getAttribute("src") || images[i].getAttribute("data-src");
|
||||
if (src != null && src.indexOf(options.domain) >= 0) {
|
||||
var holder = parse_flags(src.substr(src.lastIndexOf(options.domain) + options.domain.length + 1)
|
||||
.split("/"), options);
|
||||
if (holder) {
|
||||
if (holder.fluid) {
|
||||
fluid(images[i], holder, src);
|
||||
} else {
|
||||
render("image", images[i], holder, src);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return app;
|
||||
};
|
||||
|
||||
contentLoaded(win, function () {
|
||||
if (window.addEventListener) {
|
||||
window.addEventListener("resize", fluid_update, false);
|
||||
window.addEventListener("orientationchange", fluid_update, false);
|
||||
} else {
|
||||
window.attachEvent("onresize", fluid_update)
|
||||
}
|
||||
preempted || app.run();
|
||||
});
|
||||
|
||||
if ( typeof define === "function" && define.amd ) {
|
||||
define( "Holder", [], function () { return app; } );
|
||||
}
|
||||
|
||||
})(Holder, window);
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -0,0 +1,110 @@
|
|||
/*
|
||||
VigLink JavaScript Library -- http://www.viglink.com
|
||||
|
||||
Permission is hereby granted to create derivative works, but only for use
|
||||
with the VigLink web service.
|
||||
|
||||
Copyright (c) 2014 VigLink. Rights reserved and patent(s) pending.
|
||||
*/
|
||||
(function(i){var e,u=function(a,b){try{return("function"===typeof window[b]||"object"===typeof window[b])&&a instanceof window[b]}catch(d){}return!1},c={_breaker:{},each:function(a,b){var d,f;if("object"===c.type(a)&&a.hasOwnProperty)for(d in a){if(a.hasOwnProperty(d)&&b(a[d],d)===c._breaker)break}else if(a){d=0;for(f=a.length;d<f&&b(a[d],d)!==c._breaker;d++);}},extend:function(a){var b,d,f,c,g=arguments.length;a=a||{};for(d=1;d<g;d++)if(c=arguments[d],void 0!==c&&null!==c)for(f in c)b=c[f],a!==b&&
|
||||
void 0!==b&&(a[f]=b);return a},noop:function(){},type:function(a){return null===a?"null":void 0===a?"undefined":u(a,"HTMLElement")||"object"===typeof a&&1===a.nodeType&&"string"===typeof a.nodeName?"element":u(a,"HTMLDocument")||"object"===typeof a&&("defaultView"in a||"parentWindow"in a)?"document":a==a.window?"window":Object.prototype.toString.call(a).slice(8,-1).toLowerCase()}};c.extend(c,{addClass:function(a,b){c.hasClass(a,b)||(a.className=(a.className?a.className+" ":"")+b)},attrValues:function(a,
|
||||
b,d){return(b=a[b])?b.split(d||" "):[]},bind:function(a,b){return function(){return a.apply(b,arguments)}},cache:function(){var a={},b="vglnk_"+(new Date).getTime(),d=0;return function(f,c,g){if(f){var h=f[b];if(h||void 0!==g)return h||(h=++d),a[h]||(f[b]=h,a[h]={}),void 0!==g&&(a[h][c]=g),"string"===typeof c?a[h][c]:a[h]}}}(),canonicalizeHostname:function(a){"string"===typeof a&&(a=c.createA(a));return a.hostname?a.hostname.toString().toLowerCase().replace(/^www\./,"").replace(/:.*$/,""):""},clone:function(a){return c.extend({},
|
||||
a)},contains:function(a,b){return-1!==c.indexOf(a,b)},context:function(a){"element"===c.type(a)&&(a=a.ownerDocument);"document"===c.type(a)&&(a=a.defaultView||a.parentWindow);if("window"===c.type(a))return a},containsPII:function(a){return/\b[A-Z0-9._%+-]+(?:%(?:25)*40|@)[A-Z0-9.-]+\.[A-Z]{2,4}\b/i.test(a)},contextIsAncestor:function(a,b){for(var d=a.self;d.parent&&d.parent!==d;)if(d=d.parent,d===b)return!0;return!1},cors:function(a){var b,d=function(){eval(b.responseText)};b=new window.XMLHttpRequest;
|
||||
b.onreadystatechange=function(){4===b.readyState&&200===b.status&&d()};try{b.open("GET",a),b.withCredentials=!0,b.send()}catch(f){return!1}},createA:function(a,b){return c.createEl("a",{href:a,target:b})},createEl:function(a,b,d,f){var r;a=(f||document).createElement(a);b=b||{};d=d||{};for(r in b)void 0!==b[r]&&(a[r]=b[r]);c.css(a,d);return a},css:function(a,b){for(var d in b)try{a.style[d]=b[d]}catch(f){}return a},destructing:function(a){var b=!1,d;return function(){b||(d=a.apply(null,arguments),
|
||||
b=!0);return d}},escapeRegExp:function(){var a;return function(b){a=a||RegExp("([.*+?^${}()|[\\]\\\\])","g");return b.replace(a,"\\$1")}}(),eventLink:function(a){var b,d=a.target||a.srcElement;do{try{b=d.nodeType}catch(f){break}if(1===b&&(a=d.tagName.toUpperCase(),"A"===a||"AREA"===a))return d;d=d.parentNode}while(d)},exceptionLogger:function(){var a=!1,b=c.noop;return function(d,f){if(void 0!==f)a=f,b=d;else return function(){if(a)try{return d.apply(this,arguments)}catch(f){b(f)}else return d.apply(this,
|
||||
arguments)}}}(),find:function(a,b){var d;c.each(a,function(a,r){if(b(a,r))return d=a,c._breaker});return d},generateNodeFilter:function(){var a=function(a,f){var c,g;f=","+f.join(",")+",";c=0;for(g=a.length;c<g;c++)if(b(a[c],f))return!0;return!1},b=function(a,b){return-1!==b.indexOf(","+a+",")};return function(d){d=c.extend({custom:null,classes:[],rels:[],tags:[]},d);d.tags.length&&(d.tags=","+d.tags.join(",").toLowerCase()+",");return function(f,r){r=c.extend({ancestors:!0,self:!0},r);var g=!0,h=
|
||||
!0,va=function(f,r){var h;if(h=!(d.tags.length&&b(f.nodeName.toLowerCase(),d.tags))){if(h=d.classes.length){h=d.classes;var g=c.attrValues(f,"className");h=a(h,g)}if(h=!h){if(h=d.rels.length)h=d.rels,g=c.attrValues(f,"rel"),h=b(f.nodeName.toLowerCase(),",a,")&&a(h,g);h=!h&&!("function"===c.type(d.custom)&&d.custom(f,r))}}return h},h=!r.self||va(f,!0);if(r.ancestors)for(;f.parentNode;)if(f=f.parentNode,1===f.nodeType&&!va(f,!1)){g=!1;break}return h&&g}}}(),fromQuery:function(a){"?"===a.substr(0,1)&&
|
||||
(a=a.substr(1));a=a.split("\x26");var b={};c.each(a,function(a){a=a.split("\x3d");b[decodeURIComponent(a[0])]=decodeURIComponent(a[1])});return b},geometry:function(){var a,b=arguments.length,d=Infinity,f=Infinity,r=-Infinity,g=-Infinity,h;for(a=0;a<b;a++)h=c.position(arguments[a]),d=Math.min(d,h.x),f=Math.min(f,h.y),r=Math.max(r,h.x+arguments[a].offsetWidth),g=Math.max(g,h.y+arguments[a].offsetHeight);return{x:d,y:f,w:r-d,h:g-f,x1:d,y1:f,x2:r,y2:g}},getActualHref:function(a){return c.cache(a,"href")||
|
||||
a.href},hasAttrValue:function(a,b,d,f){return b?c.contains(c.attrValues(a,b,f),d):!1},hasClass:function(a,b){return c.hasAttrValue(a,"className",b)},hasRel:function(a,b){return c.hasAttrValue(a,"rel",b)},indexOf:Array.prototype.indexOf?function(a,b){return Array.prototype.indexOf.call(a,b)}:function(a,b){var d,f;d=0;for(f=a.length;d<f;d++)if(a[d]===b)return d;return-1},isArray:function(a){return"array"===c.type(a)},isDefaultPrevented:function(a){return a.isDefaultPrevented&&a.isDefaultPrevented()||
|
||||
!1===a.returnValue||!0===a.defaultPrevented},jsonp:function(a){var b=document.getElementsByTagName("script")[0];a=c.createEl("script",{type:"text/javascript",src:a});b.parentNode.insertBefore(a,b)},map:function(a,b){var d=[];c.each(a,function(a,c){void 0!==a&&(d[c]=b(a))});return d},matches:function(){try{return this.Sizzle.matchesSelector.apply(this.Sizzle,arguments)}catch(a){return!0}},on:function(){var a;return function(b,d,f){var r,g;if(1===arguments.length)a=b;else{if(2===arguments.length){if(!a)return;
|
||||
f=d;d=b;b=a}try{r=b["on"+d]}catch(h){}"function"===typeof r&&(b["on"+d]=c.bind(function(a){a=a||window.event;var d=r.apply(b,arguments);this.exceptionLogger(function(){return a?(void 0!==d&&!1!==a.returnValue&&(a.returnValue=d),c.isDefaultPrevented(a)&&"function"===c.type(a.preventDefault)&&a.preventDefault(),a.returnValue):d})()},this));g=c.exceptionLogger(function(){if(a.enabled())return f.apply(null,arguments)});b.addEventListener?b.addEventListener(d,g,!1):b.attachEvent&&b.attachEvent("on"+d,
|
||||
g)}}}(),position:function(a){var b,d=0,f=0,c=0,g=0;if(!a.offsetParent)return!1;b=a;do d+=b.offsetLeft,f+=b.offsetTop,b=b.offsetParent;while(b);b=a;do c+=b.scrollLeft,g+=b.scrollTop,b=b.parentNode;while(b&&b!==document.body);return{x:d-c,y:f-g}},preventDefault:function(a){a.preventDefault&&a.preventDefault();return a.returnValue=!1},ready:function(){var a=!1,b=[],d=!1,f,r,g,h,e;document.addEventListener?g=function(){document.removeEventListener("DOMContentLoaded",g,!1);e()}:document.attachEvent&&(h=
|
||||
function(){"complete"===document.readyState&&(document.detachEvent("onreadystatechange",h),e())});f=function(){if(!a){a=!0;if("interactive"===document.readyState||"complete"===document.readyState)return e();if(document.addEventListener)document.addEventListener("DOMContentLoaded",g,!1);else if(document.attachEvent){document.attachEvent("onreadystatechange",h);var b=!1;try{b=null===window.frameElement}catch(d){}document.documentElement.doScroll&&b&&r()}c.on(window,"load",e)}};r=function(){if(!d){try{document.documentElement.doScroll("left")}catch(a){setTimeout(c.exceptionLogger(r),
|
||||
1);return}e()}};e=function(){if(!d){if(!document.body)return setTimeout(c.exceptionLogger(e),13);d=!0;b&&(c.each(b,function(a){a()}),b=null)}};return function(a){f();d?a():b.push(a)}}(),reformatKeys:function(a){var b,d,f=function(a){return"_"+a.toLowerCase()};for(b in a)d=b.replace(/([A-Z])/g,f),"object"===c.type(a[b])&&(a[b]=c.reformatKeys(a[b])),d!==b&&(a[d]=a[b],delete a[b]);return a},removeClass:function(a,b){if(c.hasClass(a,b)){var d,f,r=c.attrValues(a,"className");d=0;for(f=r.length;d<f;d++)r[d]===
|
||||
b&&delete r[d];a.className=r.join(" ")}},request:function(a,b,d){var f,r;d=c.extend({fn:c.noop,"return":!1,timeout:null},d);"string"===typeof d.fn?b=c.extend(b,{jsonp:d.fn}):"function"===typeof d.fn&&(f=c.destructing(d.fn),r=c.uniqid("vglnk_jsonp_"),b=c.extend(b,{jsonp:r}),window[r]=c.exceptionLogger(function(){f.apply(this,arguments);window[r]=void 0}),null!==d.timeout&&setTimeout(c.exceptionLogger(f),d.timeout));b=c.extend({format:"jsonp"},b);b=c.toQuery(b);a=a+(b.length?"?":"")+b;return d["return"]?
|
||||
a:c.traits.cors&&!1!==c.cors(a)?!0:c.jsonp(a)},select:function(){try{return this.Sizzle.apply(this.Sizzle,arguments)}catch(a){return[]}},toArray:function(a){if(a&&void 0!==a.length)try{return Array.prototype.slice.call(a,0)}catch(b){var d,f,c=[];d=0;for(f=a.length;d<f;d++)c[d]=a[d];return c}},toQuery:function(a){var b,d="";for(b in a)null!==a[b]&&void 0!==a[b]&&(d+="\x26"+encodeURIComponent(b)+"\x3d"+encodeURIComponent(a[b]));return d.substr(1)},transmitsPII:function(a){return c.containsPII(a+" "+
|
||||
document.referrer)},updateUrl:function(a,b){return c.extend(c.createA(a),b).href},uniqid:function(){var a=0;return function(b){return(b||"")+(new Date).getTime()+a++}}()});var p=function(){var a=c.find(c.toArray(arguments),function(a){return"function"===c.type(a)});a&&(c.Sizzle=a())};p.amd=!0;var t=window,m=function(a,b,d,f){var c,g,h,e,H;(b?b.ownerDocument||b:x)!==B&&O(b);b=b||B;d=d||[];if(!a||"string"!==typeof a)return d;if(1!==(e=b.nodeType)&&9!==e)return[];if(I&&!f){if(c=Ma.exec(a))if(h=c[1])if(9===
|
||||
e)if((g=b.getElementById(h))&&g.parentNode){if(g.id===h)return d.push(g),d}else return d;else{if(b.ownerDocument&&(g=b.ownerDocument.getElementById(h))&&ca(b,g)&&g.id===h)return d.push(g),d}else{if(c[2])return P.apply(d,b.getElementsByTagName(a)),d;if((h=c[3])&&l.getElementsByClassName&&b.getElementsByClassName)return P.apply(d,b.getElementsByClassName(h)),d}if(l.qsa&&(!C||!C.test(a))){g=c=z;h=b;H=9===e&&a;if(1===e&&"object"!==b.nodeName.toLowerCase()){e=o(a);(c=b.getAttribute("id"))?g=c.replace(Na,
|
||||
"\\$\x26"):b.setAttribute("id",g);g="[id\x3d'"+g+"'] ";for(h=e.length;h--;)e[h]=g+q(e[h]);h=na.test(a)&&W(b.parentNode)||b;H=e.join(",")}if(H)try{return P.apply(d,h.querySelectorAll(H)),d}catch(i){}finally{c||b.removeAttribute("id")}}}var j;a:{a=a.replace(fa,"$1");g=o(a);if(!f&&1===g.length){c=g[0]=g[0].slice(0);if(2<c.length&&"ID"===(j=c[0]).type&&l.getById&&9===b.nodeType&&I&&k.relative[c[1].type]){b=(k.find.ID(j.matches[0].replace(Q,R),b)||[])[0];if(!b){j=d;break a}a=a.slice(c.shift().value.length)}for(e=
|
||||
ga.needsContext.test(a)?0:c.length;e--;){j=c[e];if(k.relative[h=j.type])break;if(h=k.find[h])if(f=h(j.matches[0].replace(Q,R),na.test(c[0].type)&&W(b.parentNode)||b)){c.splice(e,1);a=f.length&&q(c);if(!a){P.apply(d,f);j=d;break a}break}}}oa(a,g)(f,b,!I,d,na.test(a)&&W(b.parentNode)||b);j=d}return j},s=function(){function a(d,f){b.push(d+" ")>k.cacheLength&&delete a[b.shift()];return a[d+" "]=f}var b=[];return a},v=function(a){a[z]=!0;return a},A=function(a){var b=B.createElement("div");try{return!!a(b)}catch(d){return!1}finally{b.parentNode&&
|
||||
b.parentNode.removeChild(b)}},X=function(a,b){for(var d=a.split("|"),f=a.length;f--;)k.attrHandle[d[f]]=b},E=function(a,b){var d=b&&a,f=d&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||wa)-(~a.sourceIndex||wa);if(f)return f;if(d)for(;d=d.nextSibling;)if(d===b)return-1;return a?1:-1},Y=function(a){return function(b){return"input"===b.nodeName.toLowerCase()&&b.type===a}},Z=function(a){return function(b){var d=b.nodeName.toLowerCase();return("input"===d||"button"===d)&&b.type===a}},D=function(a){return v(function(b){b=
|
||||
+b;return v(function(d,f){for(var c,g=a([],d.length,b),h=g.length;h--;)if(d[c=g[h]])d[c]=!(f[c]=d[c])})})},W=function(a){return a&&typeof a.getElementsByTagName!==$&&a},aa=function(){},o=function(a,b){var d,f,c,g,h,e,H;if(h=xa[a+" "])return b?0:h.slice(0);h=a;e=[];for(H=k.preFilter;h;){if(!d||(f=Oa.exec(h)))f&&(h=h.slice(f[0].length)||h),e.push(c=[]);d=!1;if(f=Pa.exec(h))d=f.shift(),c.push({value:d,type:f[0].replace(fa," ")}),h=h.slice(d.length);for(g in k.filter)if((f=ga[g].exec(h))&&(!H[g]||(f=
|
||||
H[g](f))))d=f.shift(),c.push({value:d,type:g,matches:f}),h=h.slice(d.length);if(!d)break}return b?h.length:h?m.error(a):xa(a,e).slice(0)},q=function(a){for(var b=0,d=a.length,f="";b<d;b++)f+=a[b].value;return f},L=function(a,b,d){var f=b.dir,c=d&&"parentNode"===f,g=Qa++;return b.first?function(b,d,g){for(;b=b[f];)if(1===b.nodeType||c)return a(b,d,g)}:function(b,d,e){var o,j,i,s=J+" "+g;if(e)for(;b=b[f];){if((1===b.nodeType||c)&&a(b,d,e))return!0}else for(;b=b[f];)if(1===b.nodeType||c)if(i=b[z]||(b[z]=
|
||||
{}),(j=i[f])&&j[0]===s){if(!0===(o=j[1])||o===K)return!0===o}else if(j=i[f]=[s],j[1]=a(b,d,e)||K,!0===j[1])return!0}},n=function(a){return 1<a.length?function(b,d,f){for(var c=a.length;c--;)if(!a[c](b,d,f))return!1;return!0}:a[0]},ha=function(a,b,d,f,c){for(var g,h=[],e=0,H=a.length,o=null!=b;e<H;e++)if(g=a[e])if(!d||d(g,f,c))h.push(g),o&&b.push(e);return h},pa=function(a,b,d,f,c,e){f&&!f[z]&&(f=pa(f));c&&!c[z]&&(c=pa(c,e));return v(function(h,e,g,o){var j,i,s=[],q=[],n=e.length,l;if(!(l=h)){l=b||
|
||||
"*";for(var k=g.nodeType?[g]:g,p=[],v=0,t=k.length;v<t;v++)m(l,k[v],p);l=p}l=a&&(h||!b)?ha(l,s,a,g,o):l;k=d?c||(h?a:n||f)?[]:e:l;d&&d(l,k,g,o);if(f){j=ha(k,q);f(j,[],g,o);for(g=j.length;g--;)if(i=j[g])k[q[g]]=!(l[q[g]]=i)}if(h){if(c||a){if(c){j=[];for(g=k.length;g--;)if(i=k[g])j.push(l[g]=i);c(null,k=[],j,o)}for(g=k.length;g--;)if((i=k[g])&&-1<(j=c?U.call(h,i):s[g]))h[j]=!(e[j]=i)}}else k=ha(k===e?k.splice(n,k.length):k),c?c(null,e,k,o):P.apply(e,k)})},w=function(a){var b,d,c,r=a.length,g=k.relative[a[0].type];
|
||||
d=g||k.relative[" "];for(var h=g?1:0,e=L(function(a){return a===b},d,!0),j=L(function(a){return-1<U.call(b,a)},d,!0),o=[function(a,d,c){return!g&&(c||d!==ia)||((b=d).nodeType?e(a,d,c):j(a,d,c))}];h<r;h++)if(d=k.relative[a[h].type])o=[L(n(o),d)];else{d=k.filter[a[h].type].apply(null,a[h].matches);if(d[z]){for(c=++h;c<r&&!k.relative[a[c].type];c++);return pa(1<h&&n(o),1<h&&q(a.slice(0,h-1).concat({value:" "===a[h-2].type?"*":""})).replace(fa,"$1"),d,h<c&&w(a.slice(h,c)),c<r&&w(a=a.slice(c)),c<r&&q(a))}o.push(d)}return n(o)},
|
||||
y,l,K,k,ja,M,oa,ia,S,ba,O,B,N,I,C,V,ka,ca,z="sizzle"+-new Date,x=t.document,J=0,Qa=0,ya=s(),xa=s(),za=s(),qa=function(a,b){a===b&&(ba=!0);return 0},$="undefined",wa=-2147483648,Ra={}.hasOwnProperty,T=[],Sa=T.pop,Ta=T.push,P=T.push,Aa=T.slice,U=T.indexOf||function(a){for(var b=0,d=this.length;b<d;b++)if(this[b]===a)return b;return-1},Ba="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+".replace("w","w#"),Ca="\\[[\\x20\\t\\r\\n\\f]*((?:\\\\.|[\\w-]|[^\\x00-\\xa0])+)[\\x20\\t\\r\\n\\f]*(?:([*^$|!~]?\x3d)[\\x20\\t\\r\\n\\f]*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+
|
||||
Ba+")|)|)[\\x20\\t\\r\\n\\f]*\\]",ra=":((?:\\\\.|[\\w-]|[^\\x00-\\xa0])+)(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|"+Ca.replace(3,8)+")*)|.*)\\)|)",fa=RegExp("^[\\x20\\t\\r\\n\\f]+|((?:^|[^\\\\])(?:\\\\.)*)[\\x20\\t\\r\\n\\f]+$","g"),Oa=/^[\x20\t\r\n\f]*,[\x20\t\r\n\f]*/,Pa=/^[\x20\t\r\n\f]*([>+~]|[\x20\t\r\n\f])[\x20\t\r\n\f]*/,Ua=RegExp("\x3d[\\x20\\t\\r\\n\\f]*([^\\]'\"]*?)[\\x20\\t\\r\\n\\f]*\\]","g"),Va=RegExp(ra),Wa=RegExp("^"+Ba+"$"),ga={ID:/^#((?:\\.|[\w-]|[^\x00-\xa0])+)/,
|
||||
CLASS:/^\.((?:\\.|[\w-]|[^\x00-\xa0])+)/,TAG:RegExp("^("+"(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+".replace("w","w*")+")"),ATTR:RegExp("^"+Ca),PSEUDO:RegExp("^"+ra),CHILD:RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\([\\x20\\t\\r\\n\\f]*(even|odd|(([+-]|)(\\d*)n|)[\\x20\\t\\r\\n\\f]*(?:([+-]|)[\\x20\\t\\r\\n\\f]*(\\d+)|))[\\x20\\t\\r\\n\\f]*\\)|)","i"),bool:RegExp("^(?:checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped)$",
|
||||
"i"),needsContext:RegExp("^[\\x20\\t\\r\\n\\f]*[\x3e+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\([\\x20\\t\\r\\n\\f]*((?:-\\d)?\\d*)[\\x20\\t\\r\\n\\f]*\\)|)(?\x3d[^-]|$)","i")},Xa=/^(?:input|select|textarea|button)$/i,Ya=/^h\d$/i,da=/^[^{]+\{\s*\[native \w/,Ma=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,na=/[+~]/,Na=/'|\\/g,Q=RegExp("\\\\([\\da-f]{1,6}[\\x20\\t\\r\\n\\f]?|([\\x20\\t\\r\\n\\f])|.)","ig"),R=function(a,b,d){a="0x"+b-65536;return a!==a||d?b:0>a?String.fromCharCode(a+65536):String.fromCharCode(a>>
|
||||
10|55296,a&1023|56320)};try{P.apply(T=Aa.call(x.childNodes),x.childNodes),T[x.childNodes.length].nodeType}catch(hb){P={apply:T.length?function(a,b){Ta.apply(a,Aa.call(b))}:function(a,b){for(var d=a.length,c=0;a[d++]=b[c++];);a.length=d-1}}}l=m.support={};M=m.isXML=function(a){return(a=a&&(a.ownerDocument||a).documentElement)?"HTML"!==a.nodeName:!1};O=m.setDocument=function(a){var b=a?a.ownerDocument||a:x;a=b.defaultView;if(b===B||9!==b.nodeType||!b.documentElement)return B;B=b;N=b.documentElement;
|
||||
I=!M(b);a&&a!==a.top&&(a.addEventListener?a.addEventListener("unload",function(){O()},!1):a.attachEvent&&a.attachEvent("onunload",function(){O()}));l.attributes=A(function(a){a.className="i";return!a.getAttribute("className")});l.getElementsByTagName=A(function(a){a.appendChild(b.createComment(""));return!a.getElementsByTagName("*").length});l.getElementsByClassName=da.test(b.getElementsByClassName)&&A(function(a){a.innerHTML="\x3cdiv class\x3d'a'\x3e\x3c/div\x3e\x3cdiv class\x3d'a i'\x3e\x3c/div\x3e";
|
||||
a.firstChild.className="i";return 2===a.getElementsByClassName("i").length});l.getById=A(function(a){N.appendChild(a).id=z;return!b.getElementsByName||!b.getElementsByName(z).length});l.getById?(k.find.ID=function(a,b){if(typeof b.getElementById!==$&&I){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},k.filter.ID=function(a){var b=a.replace(Q,R);return function(a){return a.getAttribute("id")===b}}):(delete k.find.ID,k.filter.ID=function(a){var b=a.replace(Q,R);return function(a){return(a=
|
||||
typeof a.getAttributeNode!==$&&a.getAttributeNode("id"))&&a.value===b}});k.find.TAG=l.getElementsByTagName?function(a,b){if(typeof b.getElementsByTagName!==$)return b.getElementsByTagName(a)}:function(a,b){var c,g=[],h=0,e=b.getElementsByTagName(a);if("*"===a){for(;c=e[h++];)1===c.nodeType&&g.push(c);return g}return e};k.find.CLASS=l.getElementsByClassName&&function(a,b){if(typeof b.getElementsByClassName!==$&&I)return b.getElementsByClassName(a)};V=[];C=[];if(l.qsa=da.test(b.querySelectorAll))A(function(a){a.innerHTML=
|
||||
"\x3cselect t\x3d''\x3e\x3coption selected\x3d''\x3e\x3c/option\x3e\x3c/select\x3e";a.querySelectorAll("[t^\x3d'']").length&&C.push("[*^$]\x3d[\\x20\\t\\r\\n\\f]*(?:''|\"\")");a.querySelectorAll("[selected]").length||C.push("\\[[\\x20\\t\\r\\n\\f]*(?:value|checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped)");a.querySelectorAll(":checked").length||C.push(":checked")}),A(function(a){var c=b.createElement("input");c.setAttribute("type",
|
||||
"hidden");a.appendChild(c).setAttribute("name","D");a.querySelectorAll("[name\x3dd]").length&&C.push("name[\\x20\\t\\r\\n\\f]*[*^$|!~]?\x3d");a.querySelectorAll(":enabled").length||C.push(":enabled",":disabled");a.querySelectorAll("*,:x");C.push(",.*:")});(l.matchesSelector=da.test(ka=N.webkitMatchesSelector||N.mozMatchesSelector||N.oMatchesSelector||N.msMatchesSelector))&&A(function(a){l.disconnectedMatch=ka.call(a,"div");ka.call(a,"[s!\x3d'']:x");V.push("!\x3d",ra)});C=C.length&&RegExp(C.join("|"));
|
||||
V=V.length&&RegExp(V.join("|"));ca=(a=da.test(N.compareDocumentPosition))||da.test(N.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,g=b&&b.parentNode;return a===g||!(!g||!(1===g.nodeType&&(c.contains?c.contains(g):a.compareDocumentPosition&&a.compareDocumentPosition(g)&16)))}:function(a,b){if(b)for(;b=b.parentNode;)if(b===a)return!0;return!1};qa=a?function(a,c){if(a===c)return ba=!0,0;var e=!a.compareDocumentPosition-!c.compareDocumentPosition;if(e)return e;e=(a.ownerDocument||a)===
|
||||
(c.ownerDocument||c)?a.compareDocumentPosition(c):1;return e&1||!l.sortDetached&&c.compareDocumentPosition(a)===e?a===b||a.ownerDocument===x&&ca(x,a)?-1:c===b||c.ownerDocument===x&&ca(x,c)?1:S?U.call(S,a)-U.call(S,c):0:e&4?-1:1}:function(a,c){if(a===c)return ba=!0,0;var e,g=0;e=a.parentNode;var h=c.parentNode,o=[a],j=[c];if(!e||!h)return a===b?-1:c===b?1:e?-1:h?1:S?U.call(S,a)-U.call(S,c):0;if(e===h)return E(a,c);for(e=a;e=e.parentNode;)o.unshift(e);for(e=c;e=e.parentNode;)j.unshift(e);for(;o[g]===
|
||||
j[g];)g++;return g?E(o[g],j[g]):o[g]===x?-1:j[g]===x?1:0};return b};m.matches=function(a,b){return m(a,null,null,b)};m.matchesSelector=function(a,b){(a.ownerDocument||a)!==B&&O(a);b=b.replace(Ua,"\x3d'$1']");if(l.matchesSelector&&I&&(!V||!V.test(b))&&(!C||!C.test(b)))try{var d=ka.call(a,b);if(d||l.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(c){}return 0<m(b,B,null,[a]).length};m.contains=function(a,b){(a.ownerDocument||a)!==B&&O(a);return ca(a,b)};m.attr=function(a,b){(a.ownerDocument||
|
||||
a)!==B&&O(a);var d=k.attrHandle[b.toLowerCase()],d=d&&Ra.call(k.attrHandle,b.toLowerCase())?d(a,b,!I):void 0;return void 0!==d?d:l.attributes||!I?a.getAttribute(b):(d=a.getAttributeNode(b))&&d.specified?d.value:null};m.error=function(a){throw Error("Syntax error, unrecognized expression: "+a);};m.uniqueSort=function(a){var b,d=[],c=0,e=0;ba=!l.detectDuplicates;S=!l.sortStable&&a.slice(0);a.sort(qa);if(ba){for(;b=a[e++];)b===a[e]&&(c=d.push(e));for(;c--;)a.splice(d[c],1)}S=null;return a};ja=m.getText=
|
||||
function(a){var b,d="",c=0;if(b=a.nodeType)if(1===b||9===b||11===b){if("string"===typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)d+=ja(a)}else{if(3===b||4===b)return a.nodeValue}else for(;b=a[c++];)d+=ja(b);return d};k=m.selectors={cacheLength:50,createPseudo:v,match:ga,attrHandle:{},find:{},relative:{"\x3e":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){a[1]=a[1].replace(Q,
|
||||
R);a[3]=(a[4]||a[5]||"").replace(Q,R);"~\x3d"===a[2]&&(a[3]=" "+a[3]+" ");return a.slice(0,4)},CHILD:function(a){a[1]=a[1].toLowerCase();"nth"===a[1].slice(0,3)?(a[3]||m.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&m.error(a[0]);return a},PSEUDO:function(a){var b,d=!a[5]&&a[2];if(ga.CHILD.test(a[0]))return null;if(a[3]&&void 0!==a[4])a[2]=a[4];else if(d&&Va.test(d)&&(b=o(d,!0))&&(b=d.indexOf(")",d.length-b)-d.length))a[0]=a[0].slice(0,
|
||||
b),a[2]=d.slice(0,b);return a.slice(0,3)}},filter:{TAG:function(a){var b=a.replace(Q,R).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=ya[a+" "];return b||(b=RegExp("(^|[\\x20\\t\\r\\n\\f])"+a+"([\\x20\\t\\r\\n\\f]|$)"))&&ya(a,function(a){return b.test("string"===typeof a.className&&a.className||typeof a.getAttribute!==$&&a.getAttribute("class")||"")})},ATTR:function(a,b,d){return function(c){c=m.attr(c,a);if(null==
|
||||
c)return"!\x3d"===b;if(!b)return!0;c+="";return"\x3d"===b?c===d:"!\x3d"===b?c!==d:"^\x3d"===b?d&&0===c.indexOf(d):"*\x3d"===b?d&&-1<c.indexOf(d):"$\x3d"===b?d&&c.slice(-d.length)===d:"~\x3d"===b?-1<(" "+c+" ").indexOf(d):"|\x3d"===b?c===d||c.slice(0,d.length+1)===d+"-":!1}},CHILD:function(a,b,d,c,e){var g="nth"!==a.slice(0,3),h="last"!==a.slice(-4),o="of-type"===b;return 1===c&&0===e?function(a){return!!a.parentNode}:function(b,d,j){var i,k,l,s,q;d=g!==h?"nextSibling":"previousSibling";var n=b.parentNode,
|
||||
m=o&&b.nodeName.toLowerCase();j=!j&&!o;if(n){if(g){for(;d;){for(k=b;k=k[d];)if(o?k.nodeName.toLowerCase()===m:1===k.nodeType)return!1;q=d="only"===a&&!q&&"nextSibling"}return!0}q=[h?n.firstChild:n.lastChild];if(h&&j){j=n[z]||(n[z]={});i=j[a]||[];s=i[0]===J&&i[1];l=i[0]===J&&i[2];for(k=s&&n.childNodes[s];k=++s&&k&&k[d]||(l=s=0)||q.pop();)if(1===k.nodeType&&++l&&k===b){j[a]=[J,s,l];break}}else if(j&&(i=(b[z]||(b[z]={}))[a])&&i[0]===J)l=i[1];else for(;k=++s&&k&&k[d]||(l=s=0)||q.pop();)if((o?k.nodeName.toLowerCase()===
|
||||
m:1===k.nodeType)&&++l)if(j&&((k[z]||(k[z]={}))[a]=[J,l]),k===b)break;l-=e;return l===c||0===l%c&&0<=l/c}}},PSEUDO:function(a,b){var d,c=k.pseudos[a]||k.setFilters[a.toLowerCase()]||m.error("unsupported pseudo: "+a);return c[z]?c(b):1<c.length?(d=[a,a,"",b],k.setFilters.hasOwnProperty(a.toLowerCase())?v(function(a,d){for(var e,j=c(a,b),o=j.length;o--;)e=U.call(a,j[o]),a[e]=!(d[e]=j[o])}):function(a){return c(a,0,d)}):c}},pseudos:{not:v(function(a){var b=[],d=[],c=oa(a.replace(fa,"$1"));return c[z]?
|
||||
v(function(a,b,d,e){e=c(a,null,e,[]);for(var j=a.length;j--;)if(d=e[j])a[j]=!(b[j]=d)}):function(a,e,h){b[0]=a;c(b,null,h,d);return!d.pop()}}),has:v(function(a){return function(b){return 0<m(a,b).length}}),contains:v(function(a){return function(b){return-1<(b.textContent||b.innerText||ja(b)).indexOf(a)}}),lang:v(function(a){Wa.test(a||"")||m.error("unsupported lang: "+a);a=a.replace(Q,R).toLowerCase();return function(b){var d;do if(d=I?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return d=
|
||||
d.toLowerCase(),d===a||0===d.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(a){var b=t.location&&t.location.hash;return b&&b.slice(1)===a.id},root:function(a){return a===N},focus:function(a){return a===B.activeElement&&(!B.hasFocus||B.hasFocus())&&!(!a.type&&!a.href&&!~a.tabIndex)},enabled:function(a){return!1===a.disabled},disabled:function(a){return!0===a.disabled},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&
|
||||
!!a.selected},selected:function(a){a.parentNode&&a.parentNode.selectedIndex;return!0===a.selected},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(6>a.nodeType)return!1;return!0},parent:function(a){return!k.pseudos.empty(a)},header:function(a){return Ya.test(a.nodeName)},input:function(a){return Xa.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===
|
||||
a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:D(function(){return[0]}),last:D(function(a,b){return[b-1]}),eq:D(function(a,b,d){return[0>d?d+b:d]}),even:D(function(a,b){for(var d=0;d<b;d+=2)a.push(d);return a}),odd:D(function(a,b){for(var d=1;d<b;d+=2)a.push(d);return a}),lt:D(function(a,b,d){for(b=0>d?d+b:d;0<=--b;)a.push(b);return a}),gt:D(function(a,b,d){for(d=0>d?d+b:d;++d<b;)a.push(d);return a})}};k.pseudos.nth=k.pseudos.eq;for(y in{radio:!0,checkbox:!0,file:!0,password:!0,
|
||||
image:!0})k.pseudos[y]=Y(y);for(y in{submit:!0,reset:!0})k.pseudos[y]=Z(y);aa.prototype=k.filters=k.pseudos;k.setFilters=new aa;oa=m.compile=function(a,b){var d,c=[],e=[],g=za[a+" "];if(!g){b||(b=o(a));for(d=b.length;d--;)g=w(b[d]),g[z]?c.push(g):e.push(g);var h=0,j=0<c.length,i=0<e.length;d=function(a,b,d,g,o){var l,s,q,n=0,p="0",v=a&&[],t=[],x=ia,L=a||i&&k.find.TAG("*",o),w=J+=null==x?1:Math.random()||0.1,z=L.length;o&&(ia=b!==B&&b,K=h);for(;p!==z&&null!=(l=L[p]);p++){if(i&&l){for(s=0;q=e[s++];)if(q(l,
|
||||
b,d)){g.push(l);break}o&&(J=w,K=++h)}j&&((l=!q&&l)&&n--,a&&v.push(l))}n+=p;if(j&&p!==n){for(s=0;q=c[s++];)q(v,t,b,d);if(a){if(0<n)for(;p--;)!v[p]&&!t[p]&&(t[p]=Sa.call(g));t=ha(t)}P.apply(g,t);o&&(!a&&0<t.length&&1<n+c.length)&&m.uniqueSort(g)}o&&(J=w,ia=x);return v};d=j?v(d):d;g=za(a,d)}return g};l.sortStable=z.split("").sort(qa).join("")===z;l.detectDuplicates=!!ba;O();l.sortDetached=A(function(a){return a.compareDocumentPosition(B.createElement("div"))&1});A(function(a){a.innerHTML="\x3ca href\x3d'#'\x3e\x3c/a\x3e";
|
||||
return"#"===a.firstChild.getAttribute("href")})||X("type|href|height|width",function(a,b,c){if(!c)return a.getAttribute(b,"type"===b.toLowerCase()?1:2)});(!l.attributes||!A(function(a){a.innerHTML="\x3cinput/\x3e";a.firstChild.setAttribute("value","");return""===a.firstChild.getAttribute("value")}))&&X("value",function(a,b,c){if(!c&&"input"===a.nodeName.toLowerCase())return a.defaultValue});A(function(a){return null==a.getAttribute("disabled")})||X("checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",
|
||||
function(a,b,c){var f;if(!c)return!0===a[b]?b.toLowerCase():(f=a.getAttributeNode(b))&&f.specified?f.value:null});"function"===typeof p&&p.amd?p(function(){return m}):"undefined"!==typeof module&&module.exports?module.exports=m:t.Sizzle=m;var Za=c,Da,la,F={},$a=navigator.userAgent.toLowerCase().replace(/\s*[()]\s*/g,"; ").replace(/(\/[\w.]+)\s+/g,"$1; ").replace(/\;\s*$/,"").split(/;\s*/);c.each($a,function(a){la=(/[\/ :]([^\/ :]+)$/.exec(a)||[])[1];F[la?a.substr(0,a.length-la.length-1).replace(/\d*$/,
|
||||
""):a]=la||!0});Da={aol:F.aol,blackberry:F.blackberry,ie:F.msie,ios:F.mobile&&F.safari,opera:F.opera,playstation:F.playstation,version:parseFloat(F.version||F.crios||F.msie)||!1};Za.browser=Da;var ab={bbp:{id_finder:["div",/^post-(\d+)$/],scope:"li .post"},hdlr:{id_finder:["div",/^post_(\d+)$/],scope:".post-content-area"},ipb:{id_finder:["div",/^post_id_(\d+)$/],scope:".post_body .post"},phpb:{id_finder:["div.post",/^p(\d+)$/],scope:".postbody .content,.postbody .signature"},ubb:{id_finder:["a",/^Post(\d+)$/,
|
||||
"name"],scope:".post_inner *[id^\x3d'body'],.post_inner .signature"},vb3:{id_finder:["div[id], table[id]",/^post(\d+)$/],scope:"td[id^\x3d'td_post_'] div[id^\x3d'post_message_'],td[id^\x3d'td_post_'] div[id^\x3d'post_message_'] ~ div:not([class])"},vb4:{id_finder:["li",/^post_(\d+)$/],scope:".post-content,.postbody .content,.postbody .signature,ul.conversation-list .list-item-body"},wppr:{id_finder:["div",/^post-(\d+)$/],scope:null}};c.platforms=function(a){return c.extend(ab[a]||{},{getPostIDs:function(){var a=
|
||||
[],d=this.id_finder;d&&c.each(c.select(d[0]),function(c){var e=d[2]||"id";(c=c[e]?c[e].match(d[1]):null)&&a.push(c[1])});return a.length?a:null}})};c.traits={basicCompatibility:!(c.browser.blackberry||c.browser.playstation),cors:window.XMLHttpRequest&&void 0!==(new window.XMLHttpRequest).withCredentials,crossWindowCommunication:!c.browser.ios,jsRedirectSetsReferrer:c.browser.aol||!(c.browser.ie||c.browser.opera),quirksMode:!Boolean(window.addEventListener),windowLevelHandlers:Boolean(window.addEventListener)};
|
||||
var j,ea,G,bb=function(a){var b=a.previousSibling,d=a.nextSibling,f=["",a.textContent,""],j=function(a,b){for(var c=a,d=c.data;(c=c[b+"Sibling"])&&3===c.nodeType;)d+=c.data;return d},g=function(a,b,c){a=a.replace(/\s+/g," ");b=b.replace(/\s+/g," ");c=c.replace(/\s+/g," ");a=a.replace(/^\s+/,"");" "===b.substr(0,1)&&(b=b.substr(1),a+=" "!==a.substr(a.length-1,1)?" ":"");" "===b.substr(b.length-1,1)&&(b=b.substr(0,b.length-1),c=(" "!==c.substr(0,1)?" ":"")+c);c=c.replace(/\s+$/,"");return[a,b,c]};void 0!==
|
||||
f[1]&&(f[0]=b&&3===b.nodeType?j(b,"previous"):"",f[2]=d&&3===d.nodeType?j(d,"next"):"",f=g.apply(this,f),""!==f[0]&&""!==f[2]&&(f[0]=f[0].split(" ").reverse().slice(0,10+(" "===f[0].substr(f[0].length-1,1)?1:0)).reverse().join(" "),f[2]=f[2].split(" ").slice(0,10).join(" "),a={type:"context",itype:(c.cache(a,"params")||{}).type,before:f[0],after:f[2],txt:f[1],loc:location.href,out:c.getActualHref(a),v:2},e.log("info",c.toQuery(a))))},Ea={};c.harmony={UNSAFE_QUIRKSMODE_HANDLERS:0,LINK_LEVEL_EVENTS:-1};
|
||||
var cb=c.exceptionLogger(function(){var a=!0===window.document.__v5k;window.document.__v5k=!0;a||(this.initLibEvents(),this.initNamespace(),this.initOptions(),c.exceptionLogger(c.bind(this.logException,this),!j.dev),this.initProcessors(),this.initDRApi(),this.initApi(),this.enabled()&&(this.initLegacyCallbacks(),this.ping()))}),sa=[],ta,Fa=1,ma={},db={product_widget:"spotlight"},ua=function(){var a=!1,b={},d=function(a){return function(){if(a){var b=c.toArray(arguments);b.unshift("custom",a);e.log.apply(this,
|
||||
b)}}};ta=null;c.each(ma,function(f,j){j=db[j]||j;f.setup=f.setup||window.vglnk&&window.vglnk[j+"_plugin"];f.setup?(!f.run&&"function"===c.type(f.setup)&&(f.run=f.setup(f.opts,c.clone(c),G,d(f.opts.key))||c.noop),f.opts.mode===e.PLUGIN_MANUAL?b[j]=f:f.run()):(a=!0,b[j]=f)});ma=b;a&&(ta=setTimeout(c.exceptionLogger(ua),Math.min(Math.max(Math.pow(2,++Fa),100),5E3)))},eb=function(a){return function(){delete ma[a].opts.mode;Fa=1;clearTimeout(ta);ua()}},fb=c.canonicalizeHostname(document.location),gb=c.generateNodeFilter({rels:["norewrite",
|
||||
"noskim"],custom:function(a){var b,d="";try{b=a.hostname,d=a.protocol,b.charAt(0)}catch(f){return!0}""!==b&&(b=c.canonicalizeHostname(a));return""===b||fb===b||!d.match(/^https?:$/i)||j.norewrite[b]||!(j.rewrite_original||c.cache(a,"type"))}}),Ga,Ha=!1,Ia={},Ja=!1,Ka=[],La=function(a){if(void 0===a)return Ka;"function"===c.type(a)&&(Ka.push({id:c.uniqid(),fn:a}),Ja&&this.initLinks())};La(function(){Ja=!0});e={PLUGIN_MANUAL:1,api:function(a,b,d){a=j.api_url+"/"+a;b=c.extend({cuid:j.cuid,key:j.key,
|
||||
drKey:j.key?null:j.dr_key,loc:location.href,subId:j.sub_id,v:1},b);b.subId&&b.key!==j.key&&(b.subId=null);return c.request(a,b,d)},addEventListener:function(a,b){this.fire(a,b)},click:function(a,b){var d,f,e,g,h=c.context(a)||window;b=a.target||b;b=!b||b===h.name||"_top"===b&&h.top===h||"_parent"===b&&h.parent===h?"_self":b;"_self"===b?e=h:c.traits.crossWindowCommunication&&c.traits.jsRedirectSetsReferrer?(f=h.open("",b),f.focus(),e=f):e=void 0;if("_self"!==b&&(!c.traits.crossWindowCommunication||
|
||||
!c.traits.jsRedirectSetsReferrer))g="go";else try{if(void 0===e.document)throw!0;g="jsonp"}catch(o){g="go"}d=c.destructing(c.bind(function(){j.time_click&&arguments.length&&this.logTime("clk");var d=c.toArray(arguments);d.unshift(a,e,b);this.onApiClick.apply(this,d)},this));c.cache(this,"link","string"===typeof a?a:c.getActualHref(a));if("string"===typeof a&&(a=c.createA(a,b),!this.processLink(a))||!j.enabled)return d();f=this.clickParams(a,g);this.logTime();j.log_context&&bb(a);if("go"===g)this.redirect(this.api("click",
|
||||
f,{"return":!0}),h,e,b);else if(e===h)this.api("click",f,{fn:d,timeout:j.click_timeout});else{if(c.contextIsAncestor(h,e))return this.redirect(c.getActualHref(a),h,e,b);d=c.exceptionLogger(d);setTimeout(function(){d()},j.click_timeout);e.document.open();e.callback=d;e.document.write("\x3chtml\x3e\x3chead\x3e\x3ctitle\x3e"+c.getActualHref(a)+'\x3c/title\x3e\x3cscript type\x3d"text/javascript" src\x3d"'+this.api("click",f,{fn:"callback","return":!0})+'"\x3e\x3c/script\x3e\x3c/head\x3e\x3c/html\x3e');
|
||||
e.document.close()}},clickParams:function(a,b){var d=c.extend(c.cache(a,"params"),{format:b,libId:j.library_id,out:c.getActualHref(a),ref:window.document.referrer||null,reaf:j.reaffiliate||null,title:window.document.title,txt:a.innerHTML});128<d.txt.length&&(d.txt=d.txt.replace(/<[^>]+>/g,""),d.txt=128<d.txt.length?d.txt.substr(0,125)+"...":d.txt);return d},enabled:function(){if(j.enabled&&ea!==window&&window.vglnk&&(window.vglnk.key||"function"===typeof window.vglnk))j.enabled=!1;return j.enabled},
|
||||
expose:function(a,b){if(b=b||this[a])"function"===typeof b?b=c.exceptionLogger(c.bind(b,this)):"object"===typeof b&&(b=c.clone(b)),G[a]||(G[a]=b)},fire:function(a,b){a=a.toLowerCase();var d=Ea[a]||{fired:!1,listeners:[]};"function"===typeof b?d.fired?b({type:a}):d.listeners.push(b):(d.fired=!0,c.each(d.listeners,function(b){"function"===typeof b&&b({type:a})}),d.listeners=[]);Ea[a]=d},handleRightClick:function(a,b){if(j.rewrite_modified&&a&&b)switch(b){case "setup":c.cache(a,"href")||c.cache(a,"href",
|
||||
a.href);a.href=this.api("click",this.clickParams(a,"go"),{"return":!0});setTimeout(c.exceptionLogger(c.bind(function(){this.handleRightClick(a,"teardown")},this)),0);break;case "teardown":a.href=c.cache(a,"href"),c.cache(a,"href",null)}},harmony:function(a){return j.harmony_level<=a},init:cb,initApi:function(){var a,b={};if(window.vglnk)for(a in window.vglnk)"_plugin"===a.substr(-7)&&(b[a]=window.vglnk[a]);G=ea[i]=c.noop;this.expose("click");this.expose("link",c.bind(function(a){"element"===c.type(a)&&
|
||||
a.href&&(this.initContext(c.context(a)),this.processLink(a))},this));this.expose("open",c.bind(this.click,this));this.expose("$",c.clone(c));this.expose("api");this.expose("opt");this.expose("registerProcessor",function(){if(0<arguments.length)return e.registerProcessor.apply(e,arguments)});c.extend(G,G===window.vglnk?b:{})},initContext:function(a){if(void 0===a)return sa;a&&!c.contains(sa,a)&&(sa.push(a),this.initLinks(a),this.initEvents(a))},initDRApi:function(){var a=!1;window.DrivingRevenue=c.exceptionLogger(c.destructing(c.bind(function(){a=
|
||||
!0;j.dr_key=window.DR_id;this.enabled()&&this.ping()},this)));c.on("DOMReady",function(){if(!a)try{delete window.DrivingRevenue}catch(b){window.DrivingRevenue=void 0}})},initEvents:function(a){var b={left:e.onClick,right:e.onContextmenu},d={left:c.noop,right:c.noop},f=c.traits.windowLevelHandlers?a:a.document,j=function(f){f=f||a.event;if((f=c.eventLink(f))&&!c.cache(f,"evented"))g(f,e.harmony(c.harmony.LINK_LEVEL_EVENTS)?b:d),c.cache(f,"evented",!0)},g=function(a,b){c.on(a,"click",c.bind(b.left,
|
||||
e));c.on(a,"contextmenu",c.bind(b.right,e))};c.on(f,"copy",c.bind(e.onCopy,e));c.on(f,"mousedown",j);if(e.harmony(c.harmony.LINK_LEVEL_EVENTS))c.on("DOMReady",function(){c.each(a.document.links,function(a){c.on(a,"mousedown",j)})});(!c.traits.quirksMode||e.harmony(c.harmony.UNSAFE_QUIRKSMODE_HANDLERS))&&g(f,b)},initLegacyOptions:function(){var a,b={DR_id:"dr_key",vglnk_api_key:"key",vglnk_cuid:"cuid",vglnk_domain:"api_url",vglnk_reaf:"reaffiliate",vglnk_subid:"sub_id"};for(a in b)void 0!==window[a]&&
|
||||
(G[b[a]]=window[a],"vglnk_domain"===a&&(G[b[a]]+="/api"))},initLegacyCallbacks:function(){var a,b={vl_cB:c.bind(this.onApiClick,this),vl_disable:function(){j.enabled=!1}};for(a in b)window[a]=b[a]},initLibEvents:function(){c.on(e);c.ready(c.bind(function(){this.fire("DOMReady")},this))},initLinks:function(a){var b=c.bind(function(a){c.each(c.toArray(a.document.links),c.bind(this.processLink,this))},this);void 0===a?c.each(this.initContext(),b):b(a)},initNamespace:function(){window.vglnk&&window.vglnk.key&&
|
||||
(i="vglnk");var a=window,b=i.split("."),c;for(i=b.pop();0<b.length;)c=b.shift(),a[c]=a[c]||{},a=a[c];ea=a;G=ea[i]=ea[i]||{}},initOptions:function(){var a;this.initLegacyOptions();j=c.extend(this.publicOptions({api_url:"//api.viglink.com/api",asset_url:"//cdn.viglink.com/api",cuid:null,dev:!1,dr_key:null,enabled:c.traits.basicCompatibility,key:null,partner:null,sub_id:null,reaffiliate:!1,harmony_level:0,rewrite_original:!0,rewrite_modified:!1}),j,G,{click_timeout:1E3,hop_timeout:2E3,debug:!1,library_id:null,
|
||||
log_context:!0,nofollow:{},norewrite:{},plugins:{link_affiliation:{},modified_clicks:{},partner_integration:{}},time_click:!1,time_ping:!1,testing_js:[]});for(a in j)"_plugin"===a.substr(-7)&&delete j[a]},initPlugins:function(a){for(var b in a)"object"===typeof a[b]&&!1!==a[b].enabled&&(ma[b]={opts:a[b]},a[b].mode===this.PLUGIN_MANUAL&&this.expose("init_"+b,eb(b)));ua()},initProcessors:function(){this.registerProcessor(function(a){var b;b=c.createA(j.api_url);if("/api/click"===a.pathname&&(a.hostname===
|
||||
b.hostname||a.hostname.match(/(^|\.)(api|cdn|apicdn)\.viglink\.com$/)))b=c.fromQuery(a.search),void 0!==b.out&&(a.href=b.out,delete b.out,c.cache(a,"params",b))});this.registerProcessor(function(a){j.nofollow[a.href]&&!c.hasRel(a,"nofollow")&&(a.rel=(a.rel?a.rel+" ":"")+"nofollow")});this.registerProcessor(function(a){window.IPBoard&&(window.IPBoard.prototype&&window.IPBoard.prototype.delegate&&c.hasRel(a,"external"))&&(a.rel=a.rel.replace(/(^| )external( |$)/,""),a.target="_blank")})},isRewritable:function(a){return gb(a,
|
||||
{ancestors:!1})},log:function(a,b,d,f){var e,g=c.toQuery({nocache:c.uniqid()});e="pixel.gif";if("custom"===a)g+="\x26"+c.toQuery({key:b,type:d}),c.each("array"===c.type(f)?f:[f],function(a){c.each(["e","i","o"],function(b){delete a[b]});g+="\x26"+c.toQuery(a)});else{g+="\x26"+c.toQuery({key:j.key,drKey:j.key?null:j.dr_key});if("time"===a)e="time.gif",a={libId:j.library_id,time:d,type:b};else if("exception"===a)a={e:b,o:d};else if("info"===a)a={i:b};else return;g+="\x26"+c.toQuery(a)}e=j.api_url+"/"+
|
||||
e+"?"+g;c.transmitsPII(e)||(c.createEl("img").src=e)},logException:function(a){if(j.debug){var b={link:c.cache(this,"link"),loc:document.location.href,UA:navigator.userAgent};"string"===typeof a?b.message=a:b=c.extend(b,a);this.log("exception",a,c.toQuery(b))}},logTime:function(a){0===arguments.length?Ga=(new Date).getTime():this.log("time",a,(new Date).getTime()-Ga)},onApiClick:function(a,b,d,e,o){var g=e||c.getActualHref(a),h=c.bind(function(){this.redirect(g,c.context(a),b,d)},this);"object"===
|
||||
typeof o&&(o.tracking||o.image)?(e=c.createEl(o.tracking?"iframe":"img",{src:o.tracking||o.image},{height:0,width:0,visibility:"hidden"}),document.body.appendChild(e),setTimeout(c.exceptionLogger(h),o.timeout||j.hop_timeout)):h()},onApiPing:function(a,b,d,f,o,g){j.rewrite_original=!1;o=c.reformatKeys(o||{});var h,i;f=function(a){var b={},d=function(a){c.isArray(a)?b[a[0]]=a[1]:b[a]=1};c.isArray(a)&&c.each(a,d);return b};i=c.extend(j.plugins,o.plugins);j=c.extend(j,o);delete j.plugins;j.library_id=
|
||||
a;j.click_timeout=b;j.time_ping&&this.logTime("png");"array"===c.type(j.testing_js)&&0<j.testing_js.length&&c.each(j.testing_js,function(a){c.jsonp(a)});c.extend(j.norewrite,f(d));c.extend(j.nofollow,f(g));for(h in j)"on"===h.toLowerCase().substr(0,2)&&(2<h.length&&"function"===c.type(j[h]))&&(c.on(e,h.toLowerCase().substr(2),c.bind(j[h],window)),delete j[h]);this.initPlugins(i);this.initContext(window);this.fire("libready")},onClick:function(a){a=a||window.event;var b=a.ctrlKey||a.metaKey||a.altKey||
|
||||
a.shiftKey,d=a.which&&1===a.which||0===a.button,e=c.eventLink(a);if(e&&this.isRewritable(e)&&!b&&d&&!c.isDefaultPrevented(a))return this.click(e),c.preventDefault(a)},onContextmenu:function(a){(a=c.eventLink(a||window.event))&&this.isRewritable(a)&&this.handleRightClick(a,"setup")},onCopy:function(){var a,b,d,f,j=[];if(window.getSelection){d=window.getSelection();a=0;for(b=d.rangeCount;a<b;a++){try{f=d.getRangeAt(a).toString().replace(/((^)\s+|\s+$|\r)/g,"").replace(/\s*\n\s*/g,"\n")}catch(g){}0<
|
||||
f.length&&128>=f.length&&j.push(f)}}c.each(j,function(a){e.log("info",c.toQuery({type:"selection",txt:a,loc:location.href}))})},opt:function(a,b){void 0!==b&&void 0!==this.publicOptions()[a]&&(j[a]=b);return j[a]},ping:function(){if(!Ha&&(j.key||j.dr_key)){var a={ref:document.referrer||null};Ha=!0;c.transmitsPII(this.api("ping",a,{"return":!0}))||(this.logTime(),this.api("ping",a,{fn:c.bind(this.onApiPing,this)}))}},processLink:function(a){if(this.isRewritable(a)){var b=c.cache(a,"processors")||{};
|
||||
c.each(this.registerProcessor(),function(c){b[c.id]||c.fn(a);b[c.id]=!0});c.cache(a,"processors",b);return a}},publicOptions:function(a){"object"===c.type(a)&&(Ia=a);return c.extend({},Ia)},redirect:function(a,b,d,e){!c.traits.crossWindowCommunication&&!d?(e=b.open(a,e),e.focus()):c.traits.jsRedirectSetsReferrer?setTimeout(c.exceptionLogger(function(){!d||d===b?b.location=a:c.contextIsAncestor(b,d)?d.location=a:d.location.replace(a)}),0):("_blank"===e&&(e=c.uniqid("win_")),e=c.createA(a,e),e.rel=
|
||||
"norewrite",b.document.body.appendChild(e),e.click(),e.parentNode.removeChild(e))},registerProcessor:La};e.init();try{delete window.vglnk_self}catch(ib){}})("undefined"===typeof vglnk_self?"vglnk":vglnk_self);window.vglnk=window.vglnk||{};window.vglnk.link_affiliation_plugin=function(i,e,u){return function(){u.opt("rewrite_original",!0)}};window.vglnk=window.vglnk||{};window.vglnk.modified_clicks_plugin=function(i,e,u){return function(){u.opt("rewrite_modified",!0)}};window.vglnk=window.vglnk||{};
|
||||
window.vglnk.partner_integration_plugin=function(i,e){var u="https:"===document.location.protocol,c={setup:function(){window._comscore=window._comscore||[]},run:function(){var c=window._comscore;c&&"function"===e.type(c.push)&&(c.push({c1:8,c2:17570528,c3:1}),e.jsonp("//"+(u?"sb":"b")+".scorecardresearch.com/beacon.js"))}};c.setup();return function(){c.run()}};window.vglnk=window.vglnk||{};
|
||||
window.vglnk.dr_search_box_plugin=function(i,e,u){i=e.extend({key:null},i);var c={init:function(){e.each(this.getDRSearchForms(),function(i){if(!e.cache(i,"evented")){var t=c.getInput(i),m=function(){t.value||e.css(t,{"background-image":"url(http://cdn.viglink.com/images/ebay_watermark.gif)"})};e.cache(i,"evented",!0);i.onsubmit=null;t.onfocus=null;t.onblur=null;e.on(t,"focus",function(){e.css(t,{"background-image":"none"})});e.on(t,"blur",m);m();e.on(i,"submit",function(e){c.onSubmit(e,i)})}})},
|
||||
getDRSearchForms:function(){var i=[];e.each(document.getElementsByTagName("form"),function(e){c.getInput(e)&&e.id.match(/^DR-ebay-search(CSS|2)?$/i)&&i.push(e)});return i},getInput:function(c){return c.p||c.q2},onSubmit:function(p,t){p=p||window.event;var m="http://shop.ebay.com/i.html?"+e.toQuery({_nkw:c.getInput(t).value}),m=e.createA(m,"_blank");e.cache(m,"params",{key:i.key});u.click(m);return e.preventDefault(p)}};return function(){i.key&&(c.init(),e.on("DOMReady",e.bind(c.init,c)))}};
|
||||
window.vglnk=window.vglnk||{};
|
||||
window.vglnk.link_optimization_plugin=function(i,e,u){var c,p={};i=e.extend({platform:null},i);var t=e.generateNodeFilter({classes:["nooptimize"],rels:["nooptimize"],custom:function(c,i){if(i)return Boolean(e.cache(c,"type"))}}),m={data:!1,timing:!1};c={getLinks:function(){var s=e.platforms(i.platform).getPostIDs();u.api("optimize",{pt:i.platform,i:s?s.join("|"):null,u:location.href},{fn:e.bind(c.onOptimizeApi,c)})},onOptimizeApi:function(c){"object"===e.type(c)&&"object"===e.type(c.optLinks)&&(p=
|
||||
c.optLinks,this.optimizeLinks({data:!0}))},optimizeLink:function(c){var i,m,u=p[c.href];if(u&&t(c)){m=c.href;var E=c.textContent||c.innerText;if(!(i=m===E))i=e.canonicalizeHostname(c),e.canonicalizeHostname(e.createEl("a",{href:E}))===i?(i=e.fromQuery(c.search),i=e.find(i,function(c){return c===E})):i=!1;var Y=e.canonicalizeHostname(c);m=RegExp("\\b"+e.escapeRegExp(Y)+"\\b","i").test(E)||-1!==E.indexOf(m);if(i){for(m=u.optLink;i=c.firstChild;)c.removeChild(i);c.appendChild(document.createTextNode(m))}else if(m)return;
|
||||
e.cache(c,"params",{type:"LO",origOutId:u.pcid+":"+u.linkId});c.href=u.optLink}},optimizeLinks:function(i){m=e.extend(m,i);m.timing&&(m.data&&p)&&u.registerProcessor(e.bind(this.optimizeLink,c))},setup:function(){if(!i.platform||"full"===i.platform)this.getLinks();else e.on("DOMReady",e.bind(this.getLinks,this))}};c.setup();return function(){e.on("DOMReady",function(){c.optimizeLinks({timing:!0})})}};window.vglnk=window.vglnk||{};
|
||||
window.vglnk.page_harmony_plugin=function(i,e,u){i=e.extend({level:null},i);return function(){var c=parseInt(i.level,10);isFinite(c)&&u.opt("harmony_level",c)}};window.vglnk=window.vglnk||{};
|
||||
window.vglnk.product_linker_plugin=function(i,e,u,c){var p,t,m=null,s={},v,A=0,X=0,E=0,Y=0;i=e.extend({cat:null,platform:null,key:null,link_phrases:!0,link_urls:!0,link_target:null,per_page:null,per_phrase:5,product_source:null,proximity:null,same_proximity:100,scope:null,type:null,ui:!0},i);if(i.key){p=e.platforms(i.platform);var Z={data:i.link_phrases?!1:i.link_urls,timing:!1},D=function(c){var q=!1,m=c.parentNode;c.data&&(q=v.test(c.data.replace(/\s+/," ")));if(q)for(var n=c,p,u,w,q=function(c,
|
||||
o){var k,l,q,n,m,p,t,u,v,w,L=function(e){v.parentNode.insertBefore(c,v);v.parentNode.removeChild(v);return e};v=e.createEl("span");c.parentNode.insertBefore(v,c);v.appendChild(c);w=e.geometry(v);if(i.proximity||i.same_proximity)for(p in s)if((t=s[p].links)&&!(s[p]===o&&!i.same_proximity||s[p]!==o&&!i.proximity)){u=s[p]===o?Math.max(i.same_proximity,i.proximity):i.proximity;k=0;for(l=t.length;k<l;k++){m=t[k].segments;q=0;for(n=m.length;q<n;q++){var x=m[q].geometry,y=w,A=u,x=e.extend({},x);x.x1-=A;
|
||||
x.y1-=A;x.x2+=A;x.y2+=A;if(x.x1<y.x2&&x.x2>y.x1&&x.y1<y.y2&&x.y2>y.y1)return L(!1)}}}return L(!0)};n&&n.data&&(Boolean(u=n.data.match(/^\s+/))||Boolean(u=n.data.match(v)));){p=u[0];w=u.slice(1).join("");c=s[w.toLowerCase()];p=n.data.indexOf(p)+p.length-w.length;0<p&&(n=n.splitText(p));p=n.length<=w.length?null:n.splitText(w.length);w&&!c&&(c={url:w.match(/^https?:\/\//i)?w:"http://"+w,type:"U"});var y;if(y=w){var l=y=void 0;y=!c||!i.per_phrase||!c.count||c.count<i.per_phrase;l=!i.per_page||A<i.per_page;
|
||||
y=y&&l&&q(n,c)}if(y&&(y=c,l=void 0,l=e.createEl("a"),l.innerHTML=w.replace(/([a-z0-9]+ *|[^a-z0-9]+)/ig,"\x3cspan\x3e$1\x3c/span\x3e"),l.className="vglnk",e.cache(l,"type","inserted"),e.cache(l,"phrase",w),i.ui&&(l.title="Link added by VigLink"),t.initLink(l,y),w=l,!e.cache(w,"unlinked"))){"U"===c.type?Y++:"L"===c.type.toUpperCase()?X++:E++;m.insertBefore(w,n);m.removeChild(n);var n=c,K=l=y=void 0,k=void 0,D={el:w,segments:[]};w=w.getElementsByTagName("span");var M={els:[]};y=0;for(l=w.length;y<l;y++)K=
|
||||
w[y],void 0===k||K.offsetTop===k.offsetTop?M.els.push(K):(D.segments.push(M),M={els:[K]}),k=K;M.geometry=e.geometry.apply(e,M.els);D.segments.push(M);n.links=n.links||[];n.links.push(D);c.count++;A++}n=p}},W=e.generateNodeFilter({classes:["nolinks","atma-nolink","atma-nolinks"],tags:"applet embed object head img input link map meta param select button iframe option script style svg textarea title".split(" "),custom:function(c){return e.matches(c,"a[href]")}}),aa=function(c){var q;if(c){if(W(c,{ancestors:!1,
|
||||
self:!0}))for(q=c.firstChild;q;)c=q.nextSibling,1===q.nodeType?aa(q):3===q.nodeType&&D(q),q=c}else e.each(e.select(i.scope),function(c){W(c,{ancestors:!0,self:!1})&&aa(c)})};t={addPhrasesToMatcher:function(c){var i="";"regexp"===e.type(c)?i=c.source:"array"===e.type(c)&&(i="(?:^|[\\s\"'\\(])("+e.map(c,e.escapeRegExp).join("|")+")(?\x3d\\s|\\W*$|\\W{2})");""!==i&&(v=RegExp(v?"(?:"+i+"|"+v.source+")":i,"i"))},focusLink:function(c){c.id||(c.id=e.uniqid("vl-link-"));location.href.hash="#"+c.id;window.scrollBy(0,
|
||||
-150)},getPhrases:function(){var c=p.getPostIDs();u.api("insert",e.extend(t.getPartnerParams(),{cat:i.cat,mode:i.mode,pt:i.platform,ps:i.product_source,i:c?c.join("|"):null,u:location.href,type:i.type}),{fn:e.bind(t.onInsertApi,t)})},getPartnerParams:function(){var c,e,i=u.opt("partner"),n={};for(c in i)break;if(c)for(e in i[c])n[c+"_"+e]=i[c][e];return n},initLink:function(c,q,p){if(p=i.link_target||p)c.target=p;c.rel="nofollow";c.href||(c.href=q.url);e.cache(c,"params",{exp:m,key:i.key,mid:q.mid,
|
||||
type:q.type||null});e.cache(c,"href",c.href);u.link(c)},insertLinks:function(c){Z=e.extend(Z,c);Z.timing&&(Z.data&&v)&&(aa(),t.log())},loadPhrases:function(c){var e,i,n,m=[];e=0;for(i=c.length;e<i;e++)n=c[e],n.phrase&&n.url&&(n.phrase=n.phrase.toLowerCase(),s[n.phrase]||(m.push(n.phrase),s[n.phrase]={count:s[n.phrase]?s[n.phrase].count:0,phrase:n.phrase,mid:n.mid,url:n.url,type:n.type||""}));0<m.length&&this.addPhrasesToMatcher(m);this.insertLinks({data:!0})},log:function(){var e,i,p={heavy:[],lite:[]},
|
||||
n=function(c,e){return e.split(",")[0]-c.split(",")[0]};for(e in s)i=parseInt(s[e].count,10),0<i&&(i=[i,e.replace(/\|/g,"%7C")].join(),p["L"===s[e].type.toUpperCase()?"lite":"heavy"].push(i));p.lite.sort(n);p.heavy.sort(n);c("insert",[{ct:A,cl:X,ch:E,cu:Y,exp:m},{pl:p.lite.join("|")},{ph:p.heavy.join("|")}])},onInsertApi:function(c){"object"===e.type(c)&&(m=c.exp,c.results&&this.loadPhrases(c.results))},setup:function(){i.scope=i.scope||p.scope||"body";i.link_urls&&this.addPhrasesToMatcher(RegExp("(?:(?:\\b(https?://)|(?:^|\\s)\\W*(www\\d{0,3}\\.|(?:[a-z0-9-]+\\.)+[a-z]{2,4}/))((?:[^\\s()\x3c\x3e]+|\\((?:[^\\s()\x3c\x3e]|(?:\\([^\\s()\x3c\x3e]+\\)))*\\))+(?:\\((?:[^\\s()\x3c\x3e]|(?:\\([^\\s()\x3c\x3e]+\\)))*\\)|[^\\s`!()\\[\\]{};:'\".,\x3c\x3e?\u00ab\u00bb\u201c\u201d\u2018\u2019]))|(?:^|\\s)\\W*((?:[a-z0-9-]+\\.)+com(?:/|\\b)))",
|
||||
"i"));if(i.link_phrases)if(!i.platform||"full"===i.platform)this.getPhrases();else e.on("DOMReady",e.bind(this.getPhrases,this))}};t.setup();return function(){e.on("DOMReady",function(){t.insertLinks({timing:!0})})}}};window.vglnk=window.vglnk||{};window.vglnk.spotlight_plugin=function(i,e,u){window.vglnk.spotlight_plugin.exports={$:e,opts:i,vglnk:u};return function(){(!e.browser.ie||6<e.browser.version)&&e.jsonp(u.opt("asset_url")+"/spotlight.js")}};
|
Loading…
Reference in New Issue