diff --git a/README.md b/README.md index a8a429f..ddcbb67 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ # webdriverinstaller parody site for web driver installers
made it ages ago, trying to conserve it, dont expect too much off it
-can be seen live at https://byreqz.github.io/webdriverinstaller +as of 2022-11-10 the static assets have been removed and github pages has been disabled diff --git a/css/lightbox.css b/css/lightbox.css deleted file mode 100644 index 62618a8..0000000 --- a/css/lightbox.css +++ /dev/null @@ -1,101 +0,0 @@ -/** - * jQuery lightBox plugin - * This jQuery plugin was inspired and based on Lightbox 2 by Lokesh Dhakar (http://www.huddletogether.com/projects/lightbox2/) - * and adapted to me for use like a plugin from jQuery. - * @name jquery-lightbox-0.5.css - * @author Leandro Vieira Pinho - http://leandrovieira.com - * @version 0.5 - * @date April 11, 2008 - * @category jQuery plugin - * @copyright (c) 2008 Leandro Vieira Pinho (leandrovieira.com) - * @license CCAttribution-ShareAlike 2.5 Brazil - http://creativecommons.org/licenses/by-sa/2.5/br/deed.en_US - * @example Visit http://leandrovieira.com/projects/jquery/lightbox/ for more informations about this jQuery plugin - */ -#jquery-overlay { - position: absolute; - top: 0; - left: 0; - z-index: 90; - width: 100%; - height: 500px; -} -#jquery-lightbox { - position: absolute; - top: 0; - left: 0; - width: 100%; - z-index: 100; - text-align: center; - line-height: 0; -} -#jquery-lightbox a img { border: none; } -#lightbox-container-image-box { - position: relative; - background-color: #fff; - width: 250px; - height: 250px; - margin: 0 auto; -} -#lightbox-container-image { padding: 10px; } -#lightbox-loading { - position: absolute; - top: 40%; - left: 0%; - height: 25%; - width: 100%; - text-align: center; - line-height: 0; -} -#lightbox-nav { - position: absolute; - top: 0; - left: 0; - height: 100%; - width: 100%; - z-index: 10; -} -#lightbox-container-image-box > #lightbox-nav { left: 0; } -#lightbox-nav a { outline: none;} -#lightbox-nav-btnPrev, #lightbox-nav-btnNext { - width: 49%; - height: 100%; - zoom: 1; - display: block; -} -#lightbox-nav-btnPrev { - left: 0; - float: left; -} -#lightbox-nav-btnNext { - right: 0; - float: right; -} -#lightbox-container-image-data-box { - font: 10px Verdana, Helvetica, sans-serif; - background-color: #fff; - margin: 0 auto; - line-height: 1.4em; - overflow: auto; - width: 100%; - padding: 0 10px 0; -} -#lightbox-container-image-data { - padding: 0 10px; - color: #666; -} -#lightbox-container-image-data #lightbox-image-details { - width: 70%; - float: left; - text-align: left; -} -#lightbox-image-details-caption { font-weight: bold; } -#lightbox-image-details-currentNumber { - display: block; - clear: left; - padding-bottom: 1.0em; -} -#lightbox-secNav-btnClose { - width: 66px; - float: right; - padding-bottom: 0.7em; -} \ No newline at end of file diff --git a/css/magnific-popup.css b/css/magnific-popup.css deleted file mode 100644 index c6e2f63..0000000 --- a/css/magnific-popup.css +++ /dev/null @@ -1,1143 +0,0 @@ -/*********pop_up_protfolio*****/ -/* Magnific Popup CSS */ -.mfp-bg { - top: 0; - left: 0; - width: 100%; - height: 100%; - z-index: 1042; - overflow: hidden; - position: fixed; - background: #0b0b0b; - opacity: 0.9; - filter: alpha(opacity=80); } - -.mfp-wrap { - top: 0; - left: 0; - width: 100%; - height: 100%; - z-index: 1043; - position: fixed; - outline: none !important; - -webkit-backface-visibility: hidden; - } -.mfp-hide { - display: none !important; -} -button.mfp-close, -button.mfp-arrow { - overflow: visible; - cursor: pointer; - border: 0; - -webkit-appearance: none; - display: block; - padding: 0; - z-index: 1046; } - -button::-moz-focus-inner { - padding: 0; - border: 0; } - -.mfp-close { - width: 23px; - height: 23px; - position: absolute; - right: 0; - top: 0; - text-decoration: none; - text-align: center; - opacity: 0.65; - font-style: normal; - font-size: 23px; - outline: none; - background: url(../images/icon.html) no-repeat -83px -84px #fff; - border-radius: 2em; -} - .mfp-close:hover, .mfp-close:focus { - opacity: 9; } - .mfp-close:active { - top: 0px; } - -.mfp-close-btn-in .mfp-close { - color: #333333; } -#small-dialog1{ - background: rgba(185, 185, 185, 0); - padding: 10px 15px; - text-align: left; - max-width:36%; - margin: 40px auto; - position: relative; -} -.pop_up{ - padding: 1em; - background: #2C3E50; -} -#small-dialog1 > div > img { - width: 100%; -} -.pop_up h2{ - padding:10px 0; - color: #000; - font-size:1em; - text-transform: uppercase; -} -.pop_up p{ - line-height: 1.8em; - color: #999; - font-size: 0.85em; - margin-bottom:10px; -} -#small-dialog2 { - background: #FFF; - padding: 10px 15px; - text-align: left; - max-width:36%; - margin: 40px auto; - position: relative; -} -.pop_up2{ - padding:2em; -} -.pop_up2 h2{ - padding:10px 0; - color: #000; - font-size:1em; - text-transform: uppercase; -} -.pop_up2 p{ - line-height: 1.8em; - color: #999; - font-size: 0.85em; - margin-bottom:10px; -} -#small-dialog3{ - background: #FFF; - padding: 10px 15px; - text-align: left; - max-width:36%; - margin: 40px auto; - position: relative; -} -.pop_up3{ - padding:2em; -} -.pop_up3 h2{ - padding:10px 0; - color: #000; - font-size:1em; - text-transform: uppercase; -} -.pop_up3 p{ - line-height: 1.8em; - color: #999; - font-size: 0.85em; - margin-bottom:10px; -} -#small-dialog4 { - background: #FFF; - padding: 10px 15px; - text-align: left; - max-width:36%; - margin: 40px auto; - position: relative; -} -.pop_up4{ - padding:2em; -} -.pop_up4 h2{ - padding:10px 0; - color: #000; - font-size:1em; - text-transform: uppercase; -} -.pop_up4 p{ - line-height: 1.8em; - color: #999; - font-size: 0.85em; - margin-bottom:10px; -} -#small-dialog5{ - background: #FFF; - padding: 10px 15px; - text-align: left; - max-width:36%; - margin: 40px auto; - position: relative; -} -.pop_up5{ - padding:2em; -} -.pop_up5 h2{ - padding:10px 0; - color: #000; - font-size:1em; - text-transform: uppercase; -} -.pop_up5 p{ - line-height: 1.8em; - color: #999; - font-size: 0.85em; - margin-bottom:10px; -} -#small-dialog6{ - background: #FFF; - padding: 10px 15px; - text-align: left; - max-width:36%; - margin: 40px auto; - position: relative; -} -.pop_up6{ - padding:2em; -} -.pop_up6 h2{ - padding:10px 0; - color: #000; - font-size:1em; - text-transform: uppercase; -} -.pop_up6 p{ - line-height: 1.8em; - color: #999; - font-size: 0.85em; - margin-bottom:10px; -} -/* Styles for dialog window */ -.my-mfp-zoom-in #small-dialog1 { - opacity: 0; - -webkit-transition: all 0.2s ease-in-out; - -moz-transition: all 0.2s ease-in-out; - -o-transition: all 0.2s ease-in-out; - transition: all 0.2s ease-in-out; - -webkit-transform: scale(0.8); - -moz-transform: scale(0.8); - -ms-transform: scale(0.8); - -o-transform: scale(0.8); - transform: scale(0.8); -} -/* animate in */ -.my-mfp-zoom-in.mfp-ready #small-dialog1 { - opacity: 1; - -webkit-transform: scale(1); - -moz-transform: scale(1); - -ms-transform: scale(1); - -o-transform: scale(1); - transform: scale(1); -} -/* animate out */ -.my-mfp-zoom-in.mfp-removing #small-dialog1{ - -webkit-transform: scale(0.8); - -moz-transform: scale(0.8); - -ms-transform: scale(0.8); - -o-transform: scale(0.8); - transform: scale(0.8); - opacity: 0; -} -/****************/ -.my-mfp-zoom-in #small-dialog2 { - opacity: 0; - -webkit-transition: all 0.2s ease-in-out; - -moz-transition: all 0.2s ease-in-out; - -o-transition: all 0.2s ease-in-out; - transition: all 0.2s ease-in-out; - -webkit-transform: scale(0.8); - -moz-transform: scale(0.8); - -ms-transform: scale(0.8); - -o-transform: scale(0.8); - transform: scale(0.8); -} -/* animate in */ -.my-mfp-zoom-in.mfp-ready #small-dialog2 { - opacity: 1; - -webkit-transform: scale(1); - -moz-transform: scale(1); - -ms-transform: scale(1); - -o-transform: scale(1); - transform: scale(1); -} -/* animate out */ -.my-mfp-zoom-in.mfp-removing #small-dialog2{ - -webkit-transform: scale(0.8); - -moz-transform: scale(0.8); - -ms-transform: scale(0.8); - -o-transform: scale(0.8); - transform: scale(0.8); - opacity: 0; -} -/****************/ -.my-mfp-zoom-in #small-dialog4 { - opacity: 0; - -webkit-transition: all 0.2s ease-in-out; - -moz-transition: all 0.2s ease-in-out; - -o-transition: all 0.2s ease-in-out; - transition: all 0.2s ease-in-out; - -webkit-transform: scale(0.8); - -moz-transform: scale(0.8); - -ms-transform: scale(0.8); - -o-transform: scale(0.8); - transform: scale(0.8); -} -/* animate in */ -.my-mfp-zoom-in.mfp-ready #small-dialog4 { - opacity: 1; - -webkit-transform: scale(1); - -moz-transform: scale(1); - -ms-transform: scale(1); - -o-transform: scale(1); - transform: scale(1); -} -/* animate out */ -.my-mfp-zoom-in.mfp-removing #small-dialog4{ - -webkit-transform: scale(0.8); - -moz-transform: scale(0.8); - -ms-transform: scale(0.8); - -o-transform: scale(0.8); - transform: scale(0.8); - opacity: 0; -} -/****************/ -.my-mfp-zoom-in #small-dialog3 { - opacity: 0; - -webkit-transition: all 0.2s ease-in-out; - -moz-transition: all 0.2s ease-in-out; - -o-transition: all 0.2s ease-in-out; - transition: all 0.2s ease-in-out; - -webkit-transform: scale(0.8); - -moz-transform: scale(0.8); - -ms-transform: scale(0.8); - -o-transform: scale(0.8); - transform: scale(0.8); -} -/* animate in */ -.my-mfp-zoom-in.mfp-ready #small-dialog3{ - opacity: 1; - -webkit-transform: scale(1); - -moz-transform: scale(1); - -ms-transform: scale(1); - -o-transform: scale(1); - transform: scale(1); -} -/* animate out */ -.my-mfp-zoom-in.mfp-removing #small-dialog3{ - -webkit-transform: scale(0.8); - -moz-transform: scale(0.8); - -ms-transform: scale(0.8); - -o-transform: scale(0.8); - transform: scale(0.8); - opacity: 0; -} -/****************/ -.my-mfp-zoom-in #small-dialog5 { - opacity: 0; - -webkit-transition: all 0.2s ease-in-out; - -moz-transition: all 0.2s ease-in-out; - -o-transition: all 0.2s ease-in-out; - transition: all 0.2s ease-in-out; - -webkit-transform: scale(0.8); - -moz-transform: scale(0.8); - -ms-transform: scale(0.8); - -o-transform: scale(0.8); - transform: scale(0.8); -} -/* animate in */ -.my-mfp-zoom-in.mfp-ready #small-dialog5{ - opacity: 1; - -webkit-transform: scale(1); - -moz-transform: scale(1); - -ms-transform: scale(1); - -o-transform: scale(1); - transform: scale(1); -} -/* animate out */ -.my-mfp-zoom-in.mfp-removing #small-dialog5{ - -webkit-transform: scale(0.8); - -moz-transform: scale(0.8); - -ms-transform: scale(0.8); - -o-transform: scale(0.8); - transform: scale(0.8); - opacity: 0; -} -/****************/ -.my-mfp-zoom-in #small-dialog6{ - opacity: 0; - -webkit-transition: all 0.2s ease-in-out; - -moz-transition: all 0.2s ease-in-out; - -o-transition: all 0.2s ease-in-out; - transition: all 0.2s ease-in-out; - -webkit-transform: scale(0.8); - -moz-transform: scale(0.8); - -ms-transform: scale(0.8); - -o-transform: scale(0.8); - transform: scale(0.8); -} -/* animate in */ -.my-mfp-zoom-in.mfp-ready #small-dialog6{ - opacity: 1; - -webkit-transform: scale(1); - -moz-transform: scale(1); - -ms-transform: scale(1); - -o-transform: scale(1); - transform: scale(1); -} -/* animate out */ -.my-mfp-zoom-in.mfp-removing #small-dialog6{ - -webkit-transform: scale(0.8); - -moz-transform: scale(0.8); - -ms-transform: scale(0.8); - -o-transform: scale(0.8); - transform: scale(0.8); - opacity: 0; -} -/****************/ -.my-mfp-zoom-in #small-dialog7 { - opacity: 0; - -webkit-transition: all 0.2s ease-in-out; - -moz-transition: all 0.2s ease-in-out; - -o-transition: all 0.2s ease-in-out; - transition: all 0.2s ease-in-out; - -webkit-transform: scale(0.8); - -moz-transform: scale(0.8); - -ms-transform: scale(0.8); - -o-transform: scale(0.8); - transform: scale(0.8); -} -/* animate in */ -.my-mfp-zoom-in.mfp-ready #small-dialog7{ - opacity: 1; - -webkit-transform: scale(1); - -moz-transform: scale(1); - -ms-transform: scale(1); - -o-transform: scale(1); - transform: scale(1); -} -/* animate out */ -.my-mfp-zoom-in.mfp-removing #small-dialog7{ - -webkit-transform: scale(0.8); - -moz-transform: scale(0.8); - -ms-transform: scale(0.8); - -o-transform: scale(0.8); - transform: scale(0.8); - opacity: 0; -} -/********end-pop_up_portfolio***/ -/********star_pop_up_team*******/ -#small-dialog7 { - background: #FFF; - padding: 10px 15px; - text-align: left; - max-width:600px; - margin: 40px auto; - position: relative; -} -.pop_up7{ - padding:20px; -} -.pop_up7 h2{ - padding:10px 0; - color: #000; - font-size:1em; - text-transform: uppercase; -} -.pop_up7 p{ - line-height: 1.8em; - color: #999; - font-size: 0.85em; - margin-bottom:10px; -} -/*******end_pop_up_team*********/ -/*Pricing table and price blocks*/ -.pricing-plans{ - padding: 6em 0em; - background: #eee; -} - -/*----*/ -.pricing-grid{ - width: 30.8%; - float: left; - background: #FFF; - text-align: center; - margin-right: 3.8%; - transition: 0.5s all; - -webkit-transition: 0.5s all; - -moz-transition: 0.5s all; - -o-transition: 0.5s all; -} -.pricing-grid:hover { - box-shadow: 0 0 0px 2px #fff; - -webkit-transform: scale(1.04) translateY(-5px); - z-index: 1; - border-bottom: 0 none; -} - .pricing-grid:hover h3 a,.pricing-grid:hover .cart a{ - background: #49CBCD; -} -.pricing-grid:nth-child(3){ - margin-right:0; -} -.pricing-grid h3 a{ - background:#485460; - padding: 0.6em 1em; - display: block; - color: #FFF; - font-family:'Open Sans', sans-serif; - font-size: 1.8em; - transition: 0.5s all; - -webkit-transition: 0.5s all; - -moz-transition: 0.5s all; - -o-transition: 0.5s all; -} -.price-value a{ - font-size:1.3em; - color: #485460; - font-family: 'Open Sans', sans-serif; -} -.price-value { - padding: 0.9em 0 0.5em 0; -} - -.pricing-grid ul li a{ - color: #838383; - font-size:0.9em;; - text-align: center; - border-top: 1px solid #ECECEC; - display: block; - padding: 1em 0em; - transition:0.5s all; - -webkit-transition:0.5s all; - -moz-transition:0.5s all;; - -o-transition:0.5s all; -} -.pricing-grid ul li a:hover{ - background:#F8F9FB; - color:#49CBCD; -} -.cart{ - padding:2em 1em; - display: block; - color: #FFF; - font-family:'Open Sans', sans-serif; -} -.cart a{ - color: #FFF; - background: #788492; - font-size: 1.1em; - padding: 0.4em 2em; - font-weight:500; - font-family:'Open Sans', sans-serif; - border-radius: 3px; - transition: 0.5s all; - -webkit-transition: 0.5s all; - -moz-transition: 0.5s all; - -o-transition: 0.5s all; -} -/*----*/ -/*------------pricing-tabels--------------------*/ - -/*---start-pricing-tabels-----*/ -.payment-online-form-left{ -} -.payment-online-form-left h4{ - font-size: 1.8em; - color: #222222; - padding: 0.5em 0; -} -.payment-online-form-left span{ - vertical-align: middle; - margin-right: 5px; -} -.payment-online-form-left form{ - padding:0 3%; -} -.payment-online-form-left input[type="text"]{ - padding: 1em 1em; - font-family:'Open Sans', sans-serif; ; - color: #485460; - width: 42%; - margin: 0.5em 0; - border: 1px solid; - outline: none; - transition: border-color 0.3s; - -o-transition: border-color 0.3s; - -ms-transition: border-color 0.3s; - -moz-transition: border-color 0.3s; - -webkit-transition: border-color 0.3s; - float: left; - font-size: 0.9em; - border-color: #EEE; -} -.payment-online-form-left input[type="text"]:hover{ - border-color:#49CBCD; -} -.text-box-dark{ -} -.text-box-light{ - background: url(../images/calender.html) no-repeat 95% 50%; - cursor:pointer; - position: relative; -} -.payment-online-form-left ul li:first-child input[type="text"]{ - margin-right: 5%; -} -.payment-online-form-left input[type="text"]:active, .payment-online-form-left input[type="text"]:hover { - border-color:#485460 ; - color:#49CBCD; -} -.shipping{ - width: 32px; - height: 32px; - display: inline-block; - background: url(../images/icon.html) no-repeat -111px -31px; -} -.payment{ - width: 32px; - height: 32px; - display: inline-block; - background: url(../images/icon.html) no-repeat -152px -30px; - -} -.payment-date-section{ - background: url(../images/calender.html) no-repeat #fff 50%; -} -.payment-sendbtns{ - float:right; - margin: 2em 0 3.5em; -} -.payment-sendbtns input[type="reset"]{ - background:#49CBCD; - padding: 0.7em 1em; - font-family: 'Open Sans', sans-serif; - border: none; - color: #FFF; - cursor: pointer; - font-size: 1.2em; - display: block; - -webkit-transition: all 0.5s ease-in-out; - -moz-transition: all 0.5s ease-in-out; - -o-transition: all 0.5s ease-in-out; - transition: all 0.5s ease-in-out; - outline:none; -} -.payment-sendbtns input[type="reset"]:hover{ - color:#FFF; - background:#222222; -} -.payment-sendbtns input[type="submit"]{ - background:#222222; - padding: 0.7em 1em; - font-family: 'Open Sans', sans-serif; - border: none; - color: #fff; - cursor: pointer; - font-size: 1.2em; - display: block; - -webkit-transition: all 0.5s ease-in-out; - -moz-transition: all 0.5s ease-in-out; - -o-transition: all 0.5s ease-in-out; - transition: all 0.5s ease-in-out; - outline:none; -} -.payment-sendbtns input[type="submit"]:hover{ - color:#eee; - background:#49CBCD; -} -.payment-sendbtns li{ - display:inline-block; -} -.payment-type li{ - display:inline-block; -} -.payment-online-form-right{ - background: #2B2937; - -webkit-border-radius: 5px; - -moz-border-radius: 5px; - -o-border-radius: 5px; - border-radius: 5px; - border-bottom: 4px solid #1A1822; -} -/*---start-checkbox----*/ -input[type=checkbox].css-checkbox1,input[type=checkbox].css-checkbox2{ - display: none; -} -input[type=checkbox].css-checkbox1 + label.css-label1 { - height:30px; - width:30px; - display: inline-block; - line-height: 18px; - background-repeat: no-repeat; - background-position: 0 0; - vertical-align: super; - cursor: pointer; - background: url(../images/icon.html) no-repeat -186px -26px; -} -input[type=checkbox].css-checkbox1:checked + label.css-label1 { - background: url(../images/icon.html) no-repeat -225px -212px; -} -input[type=checkbox].css-checkbox2 + label.css-label2 { - height: 30px; - width: 30px; - display: inline-block; - line-height: 18px; - background-repeat: no-repeat; - background-position: -20px 0px; - vertical-align: super; - cursor: pointer; - background:url(../images/icon.html) no-repeat -218px -26px; -} -input[type=checkbox].css-checkbox2:checked + label.css-label2 { - background: url(../images/icon.html) no-repeat -65px -176px; - -} -.visa{ - display: inline-block; - width: 32px; - height: 32px; - background:url(../images/icon.html) no-repeat -32px -29px; -} -.paypal{ - display: inline-block; - width: 32px; - height: 32px; - background: url(../images/icon.html) no-repeat -71px -26px; - -} -.payment-online-form-right{ - float: right; - width: 30%; - background: #2B2937; - -webkit-border-radius: 5px; - -moz-border-radius: 5px; - -o-border-radius: 5px; - border-radius: 5px; - border-bottom: 4px solid #1A1822; - padding-bottom: 2em; -} -.payment-online-form-right a{ - -webkit-transition: all 0.5s ease-in-out; - -moz-transition: all 0.5s ease-in-out; - -o-transition: all 0.5s ease-in-out; - transition: all 0.5s ease-in-out; -} -.payment-online-form-right a:hover{ - color:#1ABC9C; -} -.payment-online-form-right ul li{ - display:block; - padding: 0.5em; -} -.payment-online-form-right ul li a{ - color:#9095AA; -} -.payment-online-form-right h4{ - color: #FFF; - font-size: 1em; - text-transform: uppercase; - border-bottom: 1px solid rgba(144, 149, 170, 0.22); - padding: 0.8em; -} -.payment-online-form-right ul { - padding: 0px 1em; -} -.payment-online-form-right h5{ - color: #FFF; - padding: 0.5em 0.8em 0.4em; - font-size: 1em; -} -.payment-type { - border-top: 1px solid rgba(144, 149, 170, 0.22); - margin-top: 1.5em; -} -input[type=checkbox].css-checkbox3,input[type=checkbox].css-checkbox4,input[type=checkbox].css-checkbox5,input[type=checkbox].css-checkbox6{ - display: none; -} -input[type=checkbox].css-checkbox3 + label.css-label3 { - height: 22px; - width: 21px; - display: inline-block; - line-height: 18px; - background-repeat: no-repeat; - background-position: 0 -38px; - vertical-align: middle; - cursor: pointer; - background-image: url(../images/filter-bg.html); -} -input[type=checkbox].css-checkbox3:checked + label.css-label3 { - background-position: 0px 0px; -} -input[type=checkbox].css-checkbox4 + label.css-label4 { - height: 22px; - width: 21px; - display: inline-block; - line-height: 18px; - background-repeat: no-repeat; - background-position: 0 0px; - vertical-align: middle; - cursor: pointer; - background-image: url(../images/filter-bg.html); -} -input[type=checkbox].css-checkbox4:checked + label.css-label4 { - background-position: 0px -38px; -} -input[type=checkbox].css-checkbox5 + label.css-label5 { - height: 22px; - width: 21px; - display: inline-block; - line-height: 18px; - background-repeat: no-repeat; - background-position: 0 -38px; - vertical-align: middle; - cursor: pointer; - background-image: url(../images/filter-bg.html); -} -input[type=checkbox].css-checkbox5:checked + label.css-label5 { - background-position: 0px 0px; -} -input[type=checkbox].css-checkbox6 + label.css-label6 { - height: 22px; - width: 21px; - display: inline-block; - line-height: 18px; - background-repeat: no-repeat; - background-position: 0 0px; - vertical-align: middle; - cursor: pointer; - background-image: url(../images/filter-bg.html); -} -input[type=checkbox].css-checkbox6:checked + label.css-label6 { - background-position: 0px -38px; -} -/*-----*/ -/* start state */ -.my-mfp-zoom-in #small-dialog1 { - opacity: 0; - -webkit-transition: all 0.2s ease-in-out; - -moz-transition: all 0.2s ease-in-out; - -o-transition: all 0.2s ease-in-out; - transition: all 0.2s ease-in-out; - -webkit-transform: scale(0.8); - -moz-transform: scale(0.8); - -ms-transform: scale(0.8); - -o-transform: scale(0.8); - transform: scale(0.8); -} -/* animate in */ -.my-mfp-zoom-in.mfp-ready #small-dialog1 { - opacity: 1; - -webkit-transform: scale(1); - -moz-transform: scale(1); - -ms-transform: scale(1); - -o-transform: scale(1); - transform: scale(1); -} -/* animate out */ -.my-mfp-zoom-in.mfp-removing #small-dialog1{ - -webkit-transform: scale(0.8); - -moz-transform: scale(0.8); - -ms-transform: scale(0.8); - -o-transform: scale(0.8); - transform: scale(0.8); - opacity: 0; -} -/* start state */ -#small-dialog{ - background: white; - padding: 20px 30px; - text-align: left; - max-width: 400px; - margin: 40px auto; - position: relative; - border-radius:2px; - -webkit-border-radius:2px; - -moz-border-radius:2px; - -o-border-radius:2px; -} -/*----*/ -.my-mfp-zoom-in #small-dialog{ - opacity: 0; - -webkit-transition: all 0.2s ease-in-out; - -moz-transition: all 0.2s ease-in-out; - -o-transition: all 0.2s ease-in-out; - transition: all 0.2s ease-in-out; - -webkit-transform: scale(0.8); - -moz-transform: scale(0.8); - -ms-transform: scale(0.8); - -o-transform: scale(0.8); - transform: scale(0.8); -} -/* animate in */ -.my-mfp-zoom-in.mfp-ready #small-dialog { - opacity: 1; - -webkit-transform: scale(1); - -moz-transform: scale(1); - -ms-transform: scale(1); - -o-transform: scale(1); - transform: scale(1); -} -/* animate out */ -.my-mfp-zoom-in.mfp-removing #small-dialog{ - -webkit-transform: scale(0.8); - -moz-transform: scale(0.8); - -ms-transform: scale(0.8); - -o-transform: scale(0.8); - transform: scale(0.8); - opacity: 0; -} -.pop_up2 p a{ - font-size: 1em; - color: #555555; - line-height: 1.8em; -} - -.pop_up2 { -} -.mfp-bg { - font-family: 'open_sansregular'; - top: 0; - left: 0; - width: 100%; - height: 100%; - z-index: 1042; - overflow: hidden; - position: fixed; - background:rgba(0, 0, 0, 0.87); - opacity: 0.9; - filter: alpha(opacity=80); } - -.mfp-wrap { - top: 0; - left: 0; - width: 100%; - height: 100%; - z-index: 1043; - position: fixed; - outline: none !important; - -webkit-backface-visibility: hidden; } - -.mfp-container { - text-align: center; - position: absolute; - width: 100%; - height: 100%; - background:rgba(91, 136, 180, 0.46); - left: 0; - top: 0; - padding: 0 8px; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; } - -.mfp-container:before { - content: ''; - display: inline-block; - height: 100%; - vertical-align: middle; } - -.mfp-align-top .mfp-container:before { - display: none; } - -.mfp-content { - position: relative; - display: inline-block; - vertical-align: middle; - margin: 0 auto; - text-align: left; - z-index: 1045; } - -.mfp-inline-holder .mfp-content, -.mfp-ajax-holder .mfp-content { - width: 100%; - cursor: auto; } - -.mfp-ajax-cur { - cursor: progress; } - -.mfp-zoom-out-cur, -.mfp-zoom-out-cur .mfp-image-holder .mfp-close { - cursor: -moz-zoom-out; - cursor: -webkit-zoom-out; - cursor: zoom-out; } - -.mfp-zoom { - cursor: pointer; - cursor: -webkit-zoom-in; - cursor: -moz-zoom-in; - cursor: zoom-in; } - -.mfp-auto-cursor .mfp-content { - cursor: auto; } - -.mfp-close, -.mfp-arrow, -.mfp-preloader, -.mfp-counter { - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; } - -.mfp-loading.mfp-figure { - display: none; } - -.mfp-hide { - display: none !important; } - -.mfp-preloader { - color: #cccccc; - position: absolute; - top: 50%; - width: auto; - text-align: center; - margin-top: -0.8em; - left: 8px; - right: 8px; - z-index: 1044; } - -.mfp-preloader a { - color: #cccccc; } - -.mfp-preloader a:hover { - color: white; } - -.mfp-s-ready .mfp-preloader { - display: none; } - -.mfp-s-error .mfp-content { - display: none; } - -button.mfp-close, -button.mfp-arrow { - overflow: visible; - cursor: pointer; - border: 0; - -webkit-appearance: none; - display: block; - padding: 0; - z-index: 1046; -ack bground: url(../images/close.html) no-repeat; -} -button::-moz-focus-inner { - padding: 0; - border: 0; } - -/* Main image in popup */ -img.mfp-img { - width: auto; - max-width: 100%; - height: auto; - display: block; - line-height: 0; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - padding: 40px 0 40px; - margin: 0 auto; } - -/* The shadow behind the image */ -.mfp-figure:after { - content: ''; - position: absolute; - left: 0; - top: 40px; - bottom: 40px; - display: block; - right: 0; - width: auto; - height: auto; - z-index: -1; - box-shadow: 0 0 8px rgba(0, 0, 0, 0.6); - background: #444444; } - -.mfp-figure { - line-height: 0; } - -.mfp-bottom-bar { - margin-top: -36px; - position: absolute; - top: 100%; - left: 0; - width: 100%; - cursor: auto; } - -.mfp-title { - text-align: left; - line-height: 18px; - color: #f3f3f3; - word-break: break-word; - padding-right: 36px; } - -.mfp-figure small { - color: #bdbdbd; - display: block; - font-size: 12px; - line-height: 14px; } - -.mfp-image-holder .mfp-content { - max-width: 100%; } - -.mfp-gallery .mfp-image-holder .mfp-figure { - cursor: pointer; } -/******** Plans List *******/ -/* Styles for dialog window */ -#small-dialog { - background: white; - padding:20px; - text-align: left; - max-width: 700px; - margin: 40px auto; - position: relative; - border-radius: 2px; -} -/******** Plans List *******/ -@media only screen and (max-width: 1366px) -{ -#small-dialog1,#small-dialog2,#small-dialog3,#small-dialog4,#small-dialog5,#small-dialog6 { - max-width: 42%; - } -} -@media only screen and (max-width: 1024px) -{ -#small-dialog1,#small-dialog2,#small-dialog3,#small-dialog4,#small-dialog5,#small-dialog6 { - max-width: 55%; - } -} -@media only screen and (max-width: 768px) -{ - .pop_p - { - display:none; - } - .pricing-grid:nth-child(3) { - display: none; - } - .pricing-grid:nth-child(2) { - margin-right: 0; - } - .pricing-grid { - width: 46%; - margin-right: 8%; - } -} -@media only screen and (max-width: 640px) -{ - #small-dialog1, #small-dialog2, #small-dialog3, #small-dialog4, #small-dialog5, #small-dialog6 { -max-width: 80%; -} -.pop_up,.pop_up2,.pop_up3,.pop_up4,.pop_up5,.pop_up6 { -padding: 1em; -} -.payment-online-form-left input[type="text"] { - width: 41%; - } -} -@media only screen and (max-width: 480px) -{ - .payment-online-form-left input[type="text"] { - width: 90%; - padding: 0.5em 1em; - } - .pricing-plans { - padding: 1.5em 0em; - background: #EEE; - } -} - diff --git a/js/easing.js b/js/easing.js deleted file mode 100644 index b5fc28c..0000000 --- a/js/easing.js +++ /dev/null @@ -1,140 +0,0 @@ -/* - * jQuery EasIng v1.1.2 - http://gsgd.co.uk/sandbox/jquery.easIng.php - * - * Uses the built In easIng capabilities added In jQuery 1.1 - * to offer multiple easIng options - * - * Copyright (c) 2007 George Smith - * Licensed under the MIT License: - * http://www.opensource.org/licenses/mit-license.php - */ - -// t: current time, b: begInnIng value, c: change In value, d: duration - -jQuery.extend( jQuery.easing, -{ - easeInQuad: function (x, t, b, c, d) { - return c*(t/=d)*t + b; - }, - easeOutQuad: function (x, t, b, c, d) { - return -c *(t/=d)*(t-2) + b; - }, - easeInOutQuad: function (x, t, b, c, d) { - if ((t/=d/2) < 1) return c/2*t*t + b; - return -c/2 * ((--t)*(t-2) - 1) + b; - }, - easeInCubic: function (x, t, b, c, d) { - return c*(t/=d)*t*t + b; - }, - easeOutCubic: function (x, t, b, c, d) { - return c*((t=t/d-1)*t*t + 1) + b; - }, - easeInOutCubic: function (x, t, b, c, d) { - if ((t/=d/2) < 1) return c/2*t*t*t + b; - return c/2*((t-=2)*t*t + 2) + b; - }, - easeInQuart: function (x, t, b, c, d) { - return c*(t/=d)*t*t*t + b; - }, - easeOutQuart: function (x, t, b, c, d) { - return -c * ((t=t/d-1)*t*t*t - 1) + b; - }, - easeInOutQuart: function (x, t, b, c, d) { - if ((t/=d/2) < 1) return c/2*t*t*t*t + b; - return -c/2 * ((t-=2)*t*t*t - 2) + b; - }, - easeInQuint: function (x, t, b, c, d) { - return c*(t/=d)*t*t*t*t + b; - }, - easeOutQuint: function (x, t, b, c, d) { - return c*((t=t/d-1)*t*t*t*t + 1) + b; - }, - easeInOutQuint: function (x, t, b, c, d) { - if ((t/=d/2) < 1) return c/2*t*t*t*t*t + b; - return c/2*((t-=2)*t*t*t*t + 2) + b; - }, - easeInSine: function (x, t, b, c, d) { - return -c * Math.cos(t/d * (Math.PI/2)) + c + b; - }, - easeOutSine: function (x, t, b, c, d) { - return c * Math.sin(t/d * (Math.PI/2)) + b; - }, - easeInOutSine: function (x, t, b, c, d) { - return -c/2 * (Math.cos(Math.PI*t/d) - 1) + b; - }, - easeInExpo: function (x, t, b, c, d) { - return (t==0) ? b : c * Math.pow(2, 10 * (t/d - 1)) + b; - }, - easeOutExpo: function (x, t, b, c, d) { - return (t==d) ? b+c : c * (-Math.pow(2, -10 * t/d) + 1) + b; - }, - easeInOutExpo: function (x, t, b, c, d) { - if (t==0) return b; - if (t==d) return b+c; - if ((t/=d/2) < 1) return c/2 * Math.pow(2, 10 * (t - 1)) + b; - return c/2 * (-Math.pow(2, -10 * --t) + 2) + b; - }, - easeInCirc: function (x, t, b, c, d) { - return -c * (Math.sqrt(1 - (t/=d)*t) - 1) + b; - }, - easeOutCirc: function (x, t, b, c, d) { - return c * Math.sqrt(1 - (t=t/d-1)*t) + b; - }, - easeInOutCirc: function (x, t, b, c, d) { - if ((t/=d/2) < 1) return -c/2 * (Math.sqrt(1 - t*t) - 1) + b; - return c/2 * (Math.sqrt(1 - (t-=2)*t) + 1) + b; - }, - easeInElastic: function (x, t, b, c, d) { - var s=1.70158;var p=0;var a=c; - if (t==0) return b; if ((t/=d)==1) return b+c; if (!p) p=d*.3; - if (a < Math.abs(c)) { a=c; var s=p/4; } - else var s = p/(2*Math.PI) * Math.asin (c/a); - return -(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b; - }, - easeOutElastic: function (x, t, b, c, d) { - var s=1.70158;var p=0;var a=c; - if (t==0) return b; if ((t/=d)==1) return b+c; if (!p) p=d*.3; - if (a < Math.abs(c)) { a=c; var s=p/4; } - else var s = p/(2*Math.PI) * Math.asin (c/a); - return a*Math.pow(2,-10*t) * Math.sin( (t*d-s)*(2*Math.PI)/p ) + c + b; - }, - easeInOutElastic: function (x, t, b, c, d) { - var s=1.70158;var p=0;var a=c; - if (t==0) return b; if ((t/=d/2)==2) return b+c; if (!p) p=d*(.3*1.5); - if (a < Math.abs(c)) { a=c; var s=p/4; } - else var s = p/(2*Math.PI) * Math.asin (c/a); - if (t < 1) return -.5*(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b; - return a*Math.pow(2,-10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )*.5 + c + b; - }, - easeInBack: function (x, t, b, c, d, s) { - if (s == undefined) s = 1.70158; - return c*(t/=d)*t*((s+1)*t - s) + b; - }, - easeOutBack: function (x, t, b, c, d, s) { - if (s == undefined) s = 1.70158; - return c*((t=t/d-1)*t*((s+1)*t + s) + 1) + b; - }, - easeInOutBack: function (x, t, b, c, d, s) { - if (s == undefined) s = 1.70158; - if ((t/=d/2) < 1) return c/2*(t*t*(((s*=(1.525))+1)*t - s)) + b; - return c/2*((t-=2)*t*(((s*=(1.525))+1)*t + s) + 2) + b; - }, - easeInBounce: function (x, t, b, c, d) { - return c - jQuery.easing.easeOutBounce (x, d-t, 0, c, d) + b; - }, - easeOutBounce: function (x, t, b, c, d) { - if ((t/=d) < (1/2.75)) { - return c*(7.5625*t*t) + b; - } else if (t < (2/2.75)) { - return c*(7.5625*(t-=(1.5/2.75))*t + .75) + b; - } else if (t < (2.5/2.75)) { - return c*(7.5625*(t-=(2.25/2.75))*t + .9375) + b; - } else { - return c*(7.5625*(t-=(2.625/2.75))*t + .984375) + b; - } - }, - easeInOutBounce: function (x, t, b, c, d) { - if (t < d/2) return jQuery.easing.easeInBounce (x, t*2, 0, c, d) * .5 + b; - return jQuery.easing.easeOutBounce (x, t*2-d, 0, c, d) * .5 + c*.5 + b; - } -}); diff --git a/js/fliplightbox.min.js b/js/fliplightbox.min.js deleted file mode 100644 index 9f567e2..0000000 --- a/js/fliplightbox.min.js +++ /dev/null @@ -1,90 +0,0 @@ -/*! - * flipLightBox - Responsive Lightbox jQuery Plugin - * version: 1.0.1 - * @requires jQuery v1.5 or later - * - * License at http://flipgallery.net/fliplightbox.html#download - * - * Example at http://flipgallery.net/fliplightbox.html - * - * Copyright 2013 flipGallery.net - * - */ - -(function( $ ){ - -$.fn.flipLightBox = function(flb_options) { - -var flb_settings = $.extend({ - - // FLIP MODE SETTINGS - // ------------------ - - flip_mode: 1, - - // 1 = Flip On & 0 = Flip Off (fade). - - // VISUAL SETTINGS - // --------------- - - lightbox_background_opacity: 0.8, - - lightbox_border_width: 10, // (pixels) - - lightbox_border_color: '#fff', - - lightbox_z_index: '1000', - - // SPEED SETTINGS - // -------------- - - lightbox_flip_speed: 800, - - // Speed of complete lightbox flip or fade (milliseconds). - - // TEXT SETTINGS - // ------------- - - // *Picture/Lightbox Text Settings* - - lightbox_text_status: 1, - - // 1 = On & 0 = Off. - - lightbox_text_style: 'font-size: 14px; line-height: 1.4; color: #000; text-align: center;', - - lightbox_text_background_style: 'background-color: #fff; opacity:0.8;', - - lightbox_text_area_position: 'bottom', - - // bottom or top - - // *Picture/Lightbox Navigation Text Settings* - - lightbox_navigation_status: 1, - - // 1 = On & 0 = Off. - - next_image_text: 'Next ››', - - back_image_text: '‹‹ Back', - - next_and_back_image_text_style: 'font-weight: bold; color: #000;', - - image_number_page: 'Image', - - image_number_of: 'of', - - image_number_text_style: 'color: #000;', - - // *Image Streaming Text Settings* - - loading_text_color: '#fff', - - loading_text_opacity: '0.3' - -}, flb_options ); - -var flb_loading_image="data:image/gif;base64,R0lGODlhCgARAIABAP///////yH5BAEAAAEALAAAAAAKABEAAAIWTIBpl80No5y00gdXXBjxD4biSJZGAQA7";var flb_close_image="data:image/gif;base64,R0lGODlhMgAyAIABAP///////yH5BAEAAAEALAAAAAAyADIAAALPjI+py+0Po5y0HoCz3rx7/HziKDbkiWZLyp5Kd7VcvL01ImvJvOu2vPLhVAxgkTgEmVIOIQ0QcjWRT+i0dFUmqUFP1GmAZcE/sndsXfK2N3X6KGa3j5BPOW4JjO54ConfJ/HXMygoJWcXwUR46FZYtffVGIZiOKl3iXaGuDZx+egXyclVIQpJ1iPZSRnIqGrWKveqdTr71gWLOnrLd2erW1X2O4cr7GhqvHUMqszIi2mUDOnc4kudljO3Cp3djdsdfQ3OvDu+nYeerr7Ojl4AADs=";var flb_blank_image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAABBJREFUeNpi+P//PwNAgAEACPwC/tuiTRYAAAAASUVORK5CYII=";var flb_image_innit_width;var flb_box_sizing='box-sizing: content-box; -moz-box-sizing: content-box; -webkit-box-sizing: content-box;';var flb_distance_from_top;var flb_new_height;var flb_new_width;var flb_placement;var flb_i;var flb_total_lightbox_width;var flb_loading;var flb_in_img;var flb_image_name;var flb_class;var flb_textcontent;var flb_lightbox_data;var flb_total_images;var fgi_lb_name='flipLightBox';var fgi_lb_ind_name;var flb_classnum=1;var flb_itemnum;var flb_clickclass;var flb_classamount=new Array();function flb_find(){if(flb_classnum==1){fgi_lb_ind_name=fgi_lb_name}else{fgi_lb_ind_name=fgi_lb_name;fgi_lb_ind_name+=flb_classnum}if($('.'+fgi_lb_ind_name)[0]){$('.'+fgi_lb_ind_name+' span').hide();flb_itemnum=0;$('.'+fgi_lb_ind_name).each(function(){flb_itemnum=flb_itemnum+1;$(this).attr('class',fgi_lb_ind_name+'-'+flb_itemnum);if(flb_clickclass==null){flb_clickclass='.'+fgi_lb_ind_name+'-'+flb_itemnum}else{flb_clickclass+=', .'+fgi_lb_ind_name+'-'+flb_itemnum}});flb_classamount[fgi_lb_ind_name]=flb_itemnum;flb_classnum++;flb_find()}}flb_find();$(this).append('
');$("#flb-lightbox, #flb-lightbox-content, #flb-lightbox-text").hide();function flb_get_image_width(a){var b=new Image();b.src=a;return b.width}function flb_get_image_height(a){var b=new Image();b.src=a;return b.height}function flb_iphone_check(){return((navigator.platform.indexOf("iPhone")!=-1)||(navigator.platform.indexOf("iPod")!=-1))}function flb_load_animation(){$("#flb-load").html('
').show();setTimeout(function(){$("#flb-loading-img").html('
Loading Image')},500);setTimeout(function(){$("#flb-loading-img").prepend(' ')},1000);setTimeout(function(){$("#flb-loading-img").prepend(' ')},1500);setTimeout(function(){$("#flb-loading-img").prepend(' ')},2000);setTimeout(function(){$("#flb-loading-img").fadeOut(500)},2500);flb_loading=setTimeout(function(){flb_load_animation()},3000)}$(flb_clickclass).click(function(e){e.preventDefault();flb_image_name=$(this).attr('href');flb_class=$(this).attr('class');flb_textcontent=$('.'+flb_class+' span').html();flb_lightbox_data=flb_class.split('-');flb_total_images=flb_classamount[flb_lightbox_data[0]];$("#flb-lightbox-text").html('');if(flb_textcontent!=null&&flb_textcontent!=''&&flb_settings.lightbox_text_status==1){if(flb_settings.lightbox_navigation_status==1&&flb_total_images>1){$("#flb-lightbox-text").append('

')}$("#flb-lightbox-text").append(flb_textcontent)}$("#flb-lightbox").fadeIn(flb_settings.lightbox_flip_speed/2);flb_load_animation();flb_in_img=document.createElement('img');$("").attr('src',flb_image_name).load(function(){flb_in_img.onload=function(){$("#flb-load").html('');clearTimeout(flb_loading);$("#flb-lightbox-content").html('');if(navigator.userAgent.match('CriOS')){flb_new_width=flb_image_width=flb_in_img.width;flb_new_height=flb_image_height=flb_in_img.height}else{flb_new_width=flb_image_width=flb_get_image_width(flb_image_name);flb_new_height=flb_image_height=flb_get_image_height(flb_image_name)}if((flb_settings.lightbox_navigation_status!=1&&flb_settings.lightbox_text_status!=1)||(flb_settings.lightbox_navigation_status!=1&&(flb_textcontent==null||flb_textcontent==''))||(flb_total_images<=1&&(flb_textcontent==null||flb_textcontent==''))||(flb_total_images<=1&&flb_settings.lightbox_text_status!=1)){$("#flb-lightbox-text").css('visibility','hidden');flb_h=50}else{$("#flb-lightbox-text").css('visibility','visible');flb_h=70}$("#flb-lightbox-content").hide();setTimeout(function(){$(window).resize();$("#flb-lightbox-image").attr('src',flb_image_name).css({width:flb_image_innit_width,height:flb_new_height,opacity:0});setTimeout(function(){if($("#flb-lightbox-text").is(':hidden')){if(navigator.userAgent.match(/iPad/i)||flb_iphone_check()){$("#flb-lightbox-text").show()}else{$("#flb-lightbox-text").slideToggle()}}},flb_settings.lightbox_flip_speed);window.setTimeout(function(){$("#flb-lightbox-content").show();$("#flb-lightbox-image").attr('src',flb_image_name).animate({width:flb_new_width,height:flb_new_height,opacity:1},{duration:flb_settings.lightbox_flip_speed/2})},flb_settings.lightbox_flip_speed/2);flb_distance_from_top=flb_new_height+(flb_settings.lightbox_border_width*2)+25;flb_distance_from_top=($(window).height()-flb_distance_from_top)/2-(($('#flb-lightbox-text').height()/2)+20)+flb_placement;if(flb_distance_from_top<0){flb_distance_from_top=10}$("#flb-lightbox-content").prepend('Close
');$("#flb-close").click(function(){$(document).unbind("keyup",flb_escape);$("#flb-close, #flb-next-pic, #flb-back-pic").unbind("click");$("#flb-close").attr('src',flb_blank_image);$("#flb-lightbox-image").attr('src',flb_image_name).animate({width:flb_image_innit_width,opacity:0},{duration:flb_settings.lightbox_flip_speed/2});setTimeout(function(){$("#flb-lightbox").fadeOut(500);if($("#flb-lightbox-text").is(':visible')){if(navigator.userAgent.match(/iPad/i)||flb_iphone_check()){$("#flb-lightbox-text").fadeOut()}else{$("#flb-lightbox-text").slideToggle()}}},flb_settings.lightbox_flip_speed/2)});window.setTimeout(function(){$("#flb-close").attr('src',flb_close_image);clearTimeout(flb_loading)},flb_settings.lightbox_flip_speed);if(flb_settings.lightbox_navigation_status==1&&flb_total_images>1){if(flb_lightbox_data[1]'+flb_settings.next_image_text+'');$("#flb-next-pic").click(function(e){$(document).unbind("keyup",flb_escape);$("#flb-close, #flb-next-pic, #flb-back-pic").unbind("click");if($("#flb-lightbox-text").is(':visible')){if(navigator.userAgent.match(/iPad/i)||flb_iphone_check()){$("#flb-lightbox-text").fadeOut()}else{$("#flb-lightbox-text").slideToggle()}}e.preventDefault();setTimeout(function(){$('.'+flb_lightbox_data[0]+'-'+(Math.floor(flb_lightbox_data[1])+1)).trigger('click')},flb_settings.lightbox_flip_speed/2);$("#flb-close").attr('src',flb_blank_image);$("#flb-lightbox-image").attr('src',flb_image_name).animate({width:flb_image_innit_width,opacity:0},{duration:flb_settings.lightbox_flip_speed/2})})}$("#flb-lightbox-text").prepend(' '+flb_settings.image_number_page+' '+flb_lightbox_data[1]+' '+flb_settings.image_number_of+' '+flb_total_images+' ');if(flb_lightbox_data[1]>1){$("#flb-lightbox-text").prepend(''+flb_settings.back_image_text+'');$("#flb-back-pic").click(function(e){$(document).unbind("keyup",flb_escape);$("#flb-close, #flb-next-pic, #flb-back-pic").unbind("click");if($("#flb-lightbox-text").is(':visible')){if(navigator.userAgent.match(/iPad/i)||flb_iphone_check()){$("#flb-lightbox-text").fadeOut()}else{$("#flb-lightbox-text").slideToggle()}}e.preventDefault();setTimeout(function(){$('.'+flb_lightbox_data[0]+'-'+(Math.floor(flb_lightbox_data[1])-1)).trigger('click')},flb_settings.lightbox_flip_speed/2);$("#flb-close").attr('src',flb_blank_image);$("#flb-lightbox-image").attr('src',flb_image_name).animate({width:flb_image_innit_width,opacity:0},{duration:flb_settings.lightbox_flip_speed/2})})}}function flb_escape(e){if(e.keyCode==27){$('#flb-close').trigger('click')}}$(document).keyup(flb_escape)},100)};flb_in_img.src=flb_image_name}).error(function(){$("#flb-load").html('');clearTimeout(flb_loading);setTimeout(function(){clearTimeout(flb_loading)},3000);$("#flb-lightbox").fadeOut(500);$("#flb-lightbox-content, #flb-lightbox-text").html('');$("#flb-lightbox-text").hide()})});$(window).resize(function(){flb_i=1;if($(window).height()<(flb_image_height+$('#flb-lightbox-text').height()+flb_h)+(flb_settings.lightbox_border_width*2)){flb_new_height=$(window).height()-(flb_settings.lightbox_border_width*2)-$('#flb-lightbox-text').height()-flb_h;flb_new_width=flb_image_width/flb_image_height*flb_new_height;flb_i=0}if($(window).width()<(flb_image_width+60)+(flb_settings.lightbox_border_width*2)&&($(window).width()-flb_image_width)<($(window).height()-flb_image_height-($('#flb-lightbox-text').height()+flb_h))){flb_new_width=$(window).width()-(flb_settings.lightbox_border_width*2)-60;flb_new_height=flb_image_height/flb_image_width*flb_new_width;flb_i=0}if(flb_i==1){flb_new_width=flb_image_width;flb_new_height=flb_image_height}if(flb_settings.lightbox_text_area_position=='top'&&flb_h==70){flb_placement=(($('#flb-lightbox-text').height()/2)+15)*2}else{flb_placement=0}$("#flb-lightbox-image").css({width:flb_new_width,height:flb_new_height});flb_distance_from_top=flb_new_height+(flb_settings.lightbox_border_width*2)+25;flb_distance_from_top=($(window).height()-flb_distance_from_top)/2-(($('#flb-lightbox-text').height()/2)+20)+flb_placement;if(flb_distance_from_top<0){flb_distance_from_top=10}$("#flb-close").css({'margin-top':flb_distance_from_top,'margin-left':($(window).width()-85)+(flb_settings.lightbox_border_width*2)+(($('#flb-lightbox-text').height()/2)+20)-flb_placement});flb_total_lightbox_width=(flb_new_width+25)+(flb_settings.lightbox_border_width*2);$("#flb-close").attr('style','margin-top: '+flb_distance_from_top+'px; margin-left: '+flb_total_lightbox_width+'px; '+flb_box_sizing+'');if(flb_settings.flip_mode==0){flb_image_innit_width=flb_new_width}else{flb_image_innit_width=0}})} - -})( jQuery ); diff --git a/js/jquery-ui-1.8.16.custom.min.js b/js/jquery-ui-1.8.16.custom.min.js deleted file mode 100644 index 882b328..0000000 --- a/js/jquery-ui-1.8.16.custom.min.js +++ /dev/null @@ -1,446 +0,0 @@ -/*! - * jQuery UI 1.8.16 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI - */ -(function(c, j) { - function k(a, b) { - var d = a.nodeName.toLowerCase(); - if ("area" === d) { - b = a.parentNode; - d = b.name; - if (!a.href || !d || b.nodeName.toLowerCase() !== "map") return false; - a = c("img[usemap=#" + d + "]")[0]; - return !!a && l(a) - } - return (/input|select|textarea|button|object/.test(d) ? !a.disabled : "a" == d ? a.href || b : b) && l(a) - } - - function l(a) { - return !c(a).parents().andSelf().filter(function() { - return c.curCSS(this, "visibility") === "hidden" || c.expr.filters.hidden(this) - }).length - } - c.ui = c.ui || {}; - if (!c.ui.version) { - c.extend(c.ui, { - version: "1.8.16", - keyCode: { - ALT: 18, - BACKSPACE: 8, - CAPS_LOCK: 20, - COMMA: 188, - COMMAND: 91, - COMMAND_LEFT: 91, - COMMAND_RIGHT: 93, - CONTROL: 17, - DELETE: 46, - DOWN: 40, - END: 35, - ENTER: 13, - ESCAPE: 27, - HOME: 36, - INSERT: 45, - LEFT: 37, - MENU: 93, - NUMPAD_ADD: 107, - NUMPAD_DECIMAL: 110, - NUMPAD_DIVIDE: 111, - NUMPAD_ENTER: 108, - NUMPAD_MULTIPLY: 106, - NUMPAD_SUBTRACT: 109, - PAGE_DOWN: 34, - PAGE_UP: 33, - PERIOD: 190, - RIGHT: 39, - SHIFT: 16, - SPACE: 32, - TAB: 9, - UP: 38, - WINDOWS: 91 - } - }); - c.fn.extend({ - propAttr: c.fn.prop || c.fn.attr, - _focus: c.fn.focus, - focus: function(a, b) { - return typeof a === "number" ? this.each(function() { - var d = - this; - setTimeout(function() { - c(d).focus(); - b && b.call(d) - }, a) - }) : this._focus.apply(this, arguments) - }, - scrollParent: function() { - var a; - a = c.browser.msie && /(static|relative)/.test(this.css("position")) || /absolute/.test(this.css("position")) ? this.parents().filter(function() { - return /(relative|absolute|fixed)/.test(c.curCSS(this, "position", 1)) && /(auto|scroll)/.test(c.curCSS(this, "overflow", 1) + c.curCSS(this, "overflow-y", 1) + c.curCSS(this, "overflow-x", 1)) - }).eq(0) : this.parents().filter(function() { - return /(auto|scroll)/.test(c.curCSS(this, - "overflow", 1) + c.curCSS(this, "overflow-y", 1) + c.curCSS(this, "overflow-x", 1)) - }).eq(0); - return /fixed/.test(this.css("position")) || !a.length ? c(document) : a - }, - zIndex: function(a) { - if (a !== j) return this.css("zIndex", a); - if (this.length) { - a = c(this[0]); - for (var b; a.length && a[0] !== document;) { - b = a.css("position"); - if (b === "absolute" || b === "relative" || b === "fixed") { - b = parseInt(a.css("zIndex"), 10); - if (!isNaN(b) && b !== 0) return b - } - a = a.parent() - } - } - return 0 - }, - disableSelection: function() { - return this.bind((c.support.selectstart ? "selectstart" : - "mousedown") + ".ui-disableSelection", function(a) { - a.preventDefault() - }) - }, - enableSelection: function() { - return this.unbind(".ui-disableSelection") - } - }); - c.each(["Width", "Height"], function(a, b) { - function d(f, g, m, n) { - c.each(e, function() { - g -= parseFloat(c.curCSS(f, "padding" + this, true)) || 0; - if (m) g -= parseFloat(c.curCSS(f, "border" + this + "Width", true)) || 0; - if (n) g -= parseFloat(c.curCSS(f, "margin" + this, true)) || 0 - }); - return g - } - var e = b === "Width" ? ["Left", "Right"] : ["Top", "Bottom"], - h = b.toLowerCase(), - i = { - innerWidth: c.fn.innerWidth, - innerHeight: c.fn.innerHeight, - outerWidth: c.fn.outerWidth, - outerHeight: c.fn.outerHeight - }; - c.fn["inner" + b] = function(f) { - if (f === j) return i["inner" + b].call(this); - return this.each(function() { - c(this).css(h, d(this, f) + "px") - }) - }; - c.fn["outer" + b] = function(f, g) { - if (typeof f !== "number") return i["outer" + b].call(this, f); - return this.each(function() { - c(this).css(h, d(this, f, true, g) + "px") - }) - } - }); - c.extend(c.expr[":"], { - data: function(a, b, d) { - return !!c.data(a, d[3]) - }, - focusable: function(a) { - return k(a, !isNaN(c.attr(a, "tabindex"))) - }, - tabbable: function(a) { - var b = c.attr(a, - "tabindex"), - d = isNaN(b); - return (d || b >= 0) && k(a, !d) - } - }); - c(function() { - var a = document.body, - b = a.appendChild(b = document.createElement("div")); - c.extend(b.style, { - minHeight: "100px", - height: "auto", - padding: 0, - borderWidth: 0 - }); - c.support.minHeight = b.offsetHeight === 100; - c.support.selectstart = "onselectstart" in b; - a.removeChild(b).style.display = "none" - }); - c.extend(c.ui, { - plugin: { - add: function(a, b, d) { - a = c.ui[a].prototype; - for (var e in d) { - a.plugins[e] = a.plugins[e] || []; - a.plugins[e].push([b, d[e]]) - } - }, - call: function(a, b, d) { - if ((b = a.plugins[b]) && - a.element[0].parentNode) - for (var e = 0; e < b.length; e++) a.options[b[e][0]] && b[e][1].apply(a.element, d) - } - }, - contains: function(a, b) { - return document.compareDocumentPosition ? a.compareDocumentPosition(b) & 16 : a !== b && a.contains(b) - }, - hasScroll: function(a, b) { - if (c(a).css("overflow") === "hidden") return false; - b = b && b === "left" ? "scrollLeft" : "scrollTop"; - var d = false; - if (a[b] > 0) return true; - a[b] = 1; - d = a[b] > 0; - a[b] = 0; - return d - }, - isOverAxis: function(a, b, d) { - return a > b && a < b + d - }, - isOver: function(a, b, d, e, h, i) { - return c.ui.isOverAxis(a, d, h) && - c.ui.isOverAxis(b, e, i) - } - }) - } -})(jQuery);; -/*! - * jQuery UI Widget 1.8.16 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Widget - */ -(function(b, j) { - if (b.cleanData) { - var k = b.cleanData; - b.cleanData = function(a) { - for (var c = 0, d; - (d = a[c]) != null; c++) try { - b(d).triggerHandler("remove") - } catch (e) {} - k(a) - } - } else { - var l = b.fn.remove; - b.fn.remove = function(a, c) { - return this.each(function() { - if (!c) - if (!a || b.filter(a, [this]).length) b("*", this).add([this]).each(function() { - try { - b(this).triggerHandler("remove") - } catch (d) {} - }); - return l.call(b(this), a, c) - }) - } - } - b.widget = function(a, c, d) { - var e = a.split(".")[0], - f; - a = a.split(".")[1]; - f = e + "-" + a; - if (!d) { - d = c; - c = b.Widget - } - b.expr[":"][f] = - function(h) { - return !!b.data(h, a) - }; - b[e] = b[e] || {}; - b[e][a] = function(h, g) { - arguments.length && this._createWidget(h, g) - }; - c = new c; - c.options = b.extend(true, {}, c.options); - b[e][a].prototype = b.extend(true, c, { - namespace: e, - widgetName: a, - widgetEventPrefix: b[e][a].prototype.widgetEventPrefix || a, - widgetBaseClass: f - }, d); - b.widget.bridge(a, b[e][a]) - }; - b.widget.bridge = function(a, c) { - b.fn[a] = function(d) { - var e = typeof d === "string", - f = Array.prototype.slice.call(arguments, 1), - h = this; - d = !e && f.length ? b.extend.apply(null, [true, d].concat(f)) : - d; - if (e && d.charAt(0) === "_") return h; - e ? this.each(function() { - var g = b.data(this, a), - i = g && b.isFunction(g[d]) ? g[d].apply(g, f) : g; - if (i !== g && i !== j) { - h = i; - return false - } - }) : this.each(function() { - var g = b.data(this, a); - g ? g.option(d || {})._init() : b.data(this, a, new c(d, this)) - }); - return h - } - }; - b.Widget = function(a, c) { - arguments.length && this._createWidget(a, c) - }; - b.Widget.prototype = { - widgetName: "widget", - widgetEventPrefix: "", - options: { - disabled: false - }, - _createWidget: function(a, c) { - b.data(c, this.widgetName, this); - this.element = b(c); - this.options = - b.extend(true, {}, this.options, this._getCreateOptions(), a); - var d = this; - this.element.bind("remove." + this.widgetName, function() { - d.destroy() - }); - this._create(); - this._trigger("create"); - this._init() - }, - _getCreateOptions: function() { - return b.metadata && b.metadata.get(this.element[0])[this.widgetName] - }, - _create: function() {}, - _init: function() {}, - destroy: function() { - this.element.unbind("." + this.widgetName).removeData(this.widgetName); - this.widget().unbind("." + this.widgetName).removeAttr("aria-disabled").removeClass(this.widgetBaseClass + - "-disabled ui-state-disabled") - }, - widget: function() { - return this.element - }, - option: function(a, c) { - var d = a; - if (arguments.length === 0) return b.extend({}, this.options); - if (typeof a === "string") { - if (c === j) return this.options[a]; - d = {}; - d[a] = c - } - this._setOptions(d); - return this - }, - _setOptions: function(a) { - var c = this; - b.each(a, function(d, e) { - c._setOption(d, e) - }); - return this - }, - _setOption: function(a, c) { - this.options[a] = c; - if (a === "disabled") this.widget()[c ? "addClass" : "removeClass"](this.widgetBaseClass + "-disabled ui-state-disabled").attr("aria-disabled", - c); - return this - }, - enable: function() { - return this._setOption("disabled", false) - }, - disable: function() { - return this._setOption("disabled", true) - }, - _trigger: function(a, c, d) { - var e = this.options[a]; - c = b.Event(c); - c.type = (a === this.widgetEventPrefix ? a : this.widgetEventPrefix + a).toLowerCase(); - d = d || {}; - if (c.originalEvent) { - a = b.event.props.length; - for (var f; a;) { - f = b.event.props[--a]; - c[f] = c.originalEvent[f] - } - } - this.element.trigger(c, d); - return !(b.isFunction(e) && e.call(this.element[0], c, d) === false || c.isDefaultPrevented()) - } - } -})(jQuery);; -/* - * jQuery UI Progressbar 1.8.16 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Progressbar - * - * Depends: - * jquery.ui.core.js - * jquery.ui.widget.js - */ -(function(b, d) { - b.widget("ui.progressbar", { - options: { - value: 0, - max: 100 - }, - min: 0, - _create: function() { - this.element.addClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").attr({ - role: "progressbar", - "aria-valuemin": this.min, - "aria-valuemax": this.options.max, - "aria-valuenow": this._value() - }); - this.valueDiv = b("
").appendTo(this.element); - this.oldValue = this._value(); - this._refreshValue() - }, - destroy: function() { - this.element.removeClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").removeAttr("role").removeAttr("aria-valuemin").removeAttr("aria-valuemax").removeAttr("aria-valuenow"); - this.valueDiv.remove(); - b.Widget.prototype.destroy.apply(this, arguments) - }, - value: function(a) { - if (a === d) return this._value(); - this._setOption("value", a); - return this - }, - _setOption: function(a, c) { - if (a === "value") { - this.options.value = c; - this._refreshValue(); - this._value() === this.options.max && this._trigger("complete") - } - b.Widget.prototype._setOption.apply(this, arguments) - }, - _value: function() { - var a = this.options.value; - if (typeof a !== "number") a = 0; - return Math.min(this.options.max, Math.max(this.min, a)) - }, - _percentage: function() { - return 100 * - this._value() / this.options.max - }, - _refreshValue: function() { - var a = this.value(), - c = this._percentage(); - if (this.oldValue !== a) { - this.oldValue = a; - this._trigger("change") - } - this.valueDiv.toggle(a > this.min).toggleClass("ui-corner-right", a === this.options.max).width(c.toFixed(0) + "%"); - this.element.attr("aria-valuenow", a) - } - }); - b.extend(b.ui.progressbar, { - version: "1.8.16" - }) -})(jQuery);; diff --git a/js/jquery.easing.min.js b/js/jquery.easing.min.js deleted file mode 100644 index d804728..0000000 --- a/js/jquery.easing.min.js +++ /dev/null @@ -1,248 +0,0 @@ -/* - * jQuery Easing v1.3 - http://gsgd.co.uk/sandbox/jquery/easing/ - * - * Uses the built in easing capabilities added In jQuery 1.1 - * to offer multiple easing options - * - * TERMS OF USE - EASING EQUATIONS - * - * Open source under the BSD License. - * - * Copyright © 2001 Robert Penner - * All rights reserved. - * - * TERMS OF USE - jQuery Easing - * - * Open source under the BSD License. - * - * Copyright © 2008 George McGinley Smith - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, - * are permitted provided that the following conditions are met: - * - * Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * Neither the name of the author nor the names of contributors may be used to endorse - * or promote products derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, - * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE - * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED - * OF THE POSSIBILITY OF SUCH DAMAGE. - * - */ -jQuery.easing.jswing = jQuery.easing.swing; -jQuery.extend(jQuery.easing, { - def: "easeOutQuad", - swing: function(e, f, a, h, g) { - return jQuery.easing[jQuery.easing.def](e, f, a, h, g) - }, - easeInQuad: function(e, f, a, h, g) { - return h * (f /= g) * f + a - }, - easeOutQuad: function(e, f, a, h, g) { - return -h * (f /= g) * (f - 2) + a - }, - easeInOutQuad: function(e, f, a, h, g) { - if ((f /= g / 2) < 1) { - return h / 2 * f * f + a - } - return -h / 2 * ((--f) * (f - 2) - 1) + a - }, - easeInCubic: function(e, f, a, h, g) { - return h * (f /= g) * f * f + a - }, - easeOutCubic: function(e, f, a, h, g) { - return h * ((f = f / g - 1) * f * f + 1) + a - }, - easeInOutCubic: function(e, f, a, h, g) { - if ((f /= g / 2) < 1) { - return h / 2 * f * f * f + a - } - return h / 2 * ((f -= 2) * f * f + 2) + a - }, - easeInQuart: function(e, f, a, h, g) { - return h * (f /= g) * f * f * f + a - }, - easeOutQuart: function(e, f, a, h, g) { - return -h * ((f = f / g - 1) * f * f * f - 1) + a - }, - easeInOutQuart: function(e, f, a, h, g) { - if ((f /= g / 2) < 1) { - return h / 2 * f * f * f * f + a - } - return -h / 2 * ((f -= 2) * f * f * f - 2) + a - }, - easeInQuint: function(e, f, a, h, g) { - return h * (f /= g) * f * f * f * f + a - }, - easeOutQuint: function(e, f, a, h, g) { - return h * ((f = f / g - 1) * f * f * f * f + 1) + a - }, - easeInOutQuint: function(e, f, a, h, g) { - if ((f /= g / 2) < 1) { - return h / 2 * f * f * f * f * f + a - } - return h / 2 * ((f -= 2) * f * f * f * f + 2) + a - }, - easeInSine: function(e, f, a, h, g) { - return -h * Math.cos(f / g * (Math.PI / 2)) + h + a - }, - easeOutSine: function(e, f, a, h, g) { - return h * Math.sin(f / g * (Math.PI / 2)) + a - }, - easeInOutSine: function(e, f, a, h, g) { - return -h / 2 * (Math.cos(Math.PI * f / g) - 1) + a - }, - easeInExpo: function(e, f, a, h, g) { - return (f == 0) ? a : h * Math.pow(2, 10 * (f / g - 1)) + a - }, - easeOutExpo: function(e, f, a, h, g) { - return (f == g) ? a + h : h * (-Math.pow(2, -10 * f / g) + 1) + a - }, - easeInOutExpo: function(e, f, a, h, g) { - if (f == 0) { - return a - } - if (f == g) { - return a + h - } - if ((f /= g / 2) < 1) { - return h / 2 * Math.pow(2, 10 * (f - 1)) + a - } - return h / 2 * (-Math.pow(2, -10 * --f) + 2) + a - }, - easeInCirc: function(e, f, a, h, g) { - return -h * (Math.sqrt(1 - (f /= g) * f) - 1) + a - }, - easeOutCirc: function(e, f, a, h, g) { - return h * Math.sqrt(1 - (f = f / g - 1) * f) + a - }, - easeInOutCirc: function(e, f, a, h, g) { - if ((f /= g / 2) < 1) { - return -h / 2 * (Math.sqrt(1 - f * f) - 1) + a - } - return h / 2 * (Math.sqrt(1 - (f -= 2) * f) + 1) + a - }, - easeInElastic: function(f, h, e, l, k) { - var i = 1.70158; - var j = 0; - var g = l; - if (h == 0) { - return e - } - if ((h /= k) == 1) { - return e + l - } - if (!j) { - j = k * 0.3 - } - if (g < Math.abs(l)) { - g = l; - var i = j / 4 - } else { - var i = j / (2 * Math.PI) * Math.asin(l / g) - } - return -(g * Math.pow(2, 10 * (h -= 1)) * Math.sin((h * k - i) * (2 * Math.PI) / j)) + e - }, - easeOutElastic: function(f, h, e, l, k) { - var i = 1.70158; - var j = 0; - var g = l; - if (h == 0) { - return e - } - if ((h /= k) == 1) { - return e + l - } - if (!j) { - j = k * 0.3 - } - if (g < Math.abs(l)) { - g = l; - var i = j / 4 - } else { - var i = j / (2 * Math.PI) * Math.asin(l / g) - } - return g * Math.pow(2, -10 * h) * Math.sin((h * k - i) * (2 * Math.PI) / j) + l + e - }, - easeInOutElastic: function(f, h, e, l, k) { - var i = 1.70158; - var j = 0; - var g = l; - if (h == 0) { - return e - } - if ((h /= k / 2) == 2) { - return e + l - } - if (!j) { - j = k * (0.3 * 1.5) - } - if (g < Math.abs(l)) { - g = l; - var i = j / 4 - } else { - var i = j / (2 * Math.PI) * Math.asin(l / g) - } - if (h < 1) { - return -0.5 * (g * Math.pow(2, 10 * (h -= 1)) * Math.sin((h * k - i) * (2 * Math.PI) / j)) + e - } - return g * Math.pow(2, -10 * (h -= 1)) * Math.sin((h * k - i) * (2 * Math.PI) / j) * 0.5 + l + e - }, - easeInBack: function(e, f, a, i, h, g) { - if (g == undefined) { - g = 1.70158 - } - return i * (f /= h) * f * ((g + 1) * f - g) + a - }, - easeOutBack: function(e, f, a, i, h, g) { - if (g == undefined) { - g = 1.70158 - } - return i * ((f = f / h - 1) * f * ((g + 1) * f + g) + 1) + a - }, - easeInOutBack: function(e, f, a, i, h, g) { - if (g == undefined) { - g = 1.70158 - } - if ((f /= h / 2) < 1) { - return i / 2 * (f * f * (((g *= (1.525)) + 1) * f - g)) + a - } - return i / 2 * ((f -= 2) * f * (((g *= (1.525)) + 1) * f + g) + 2) + a - }, - easeInBounce: function(e, f, a, h, g) { - return h - jQuery.easing.easeOutBounce(e, g - f, 0, h, g) + a - }, - easeOutBounce: function(e, f, a, h, g) { - if ((f /= g) < (1 / 2.75)) { - return h * (7.5625 * f * f) + a - } else { - if (f < (2 / 2.75)) { - return h * (7.5625 * (f -= (1.5 / 2.75)) * f + 0.75) + a - } else { - if (f < (2.5 / 2.75)) { - return h * (7.5625 * (f -= (2.25 / 2.75)) * f + 0.9375) + a - } else { - return h * (7.5625 * (f -= (2.625 / 2.75)) * f + 0.984375) + a - } - } - } - }, - easeInOutBounce: function(e, f, a, h, g) { - if (f < g / 2) { - return jQuery.easing.easeInBounce(e, f * 2, 0, h, g) * 0.5 + a - } - return jQuery.easing.easeOutBounce(e, f * 2 - g, 0, h, g) * 0.5 + h * 0.5 + a - } -}); diff --git a/js/jquery.lightbox.js b/js/jquery.lightbox.js deleted file mode 100644 index 6a120ce..0000000 --- a/js/jquery.lightbox.js +++ /dev/null @@ -1,472 +0,0 @@ -/** - * jQuery lightBox plugin - * This jQuery plugin was inspired and based on Lightbox 2 by Lokesh Dhakar (http://www.huddletogether.com/projects/lightbox2/) - * and adapted to me for use like a plugin from jQuery. - * @name jquery-lightbox-0.5.js - * @author Leandro Vieira Pinho - http://leandrovieira.com - * @version 0.5 - * @date April 11, 2008 - * @category jQuery plugin - * @copyright (c) 2008 Leandro Vieira Pinho (leandrovieira.com) - * @license CCAttribution-ShareAlike 2.5 Brazil - http://creativecommons.org/licenses/by-sa/2.5/br/deed.en_US - * @example Visit http://leandrovieira.com/projects/jquery/lightbox/ for more informations about this jQuery plugin - */ - -// Offering a Custom Alias suport - More info: http://docs.jquery.com/Plugins/Authoring#Custom_Alias -(function($) { - /** - * $ is an alias to jQuery object - * - */ - $.fn.lightBox = function(settings) { - // Settings to configure the jQuery lightBox plugin how you like - settings = jQuery.extend({ - // Configuration related to overlay - overlayBgColor: '#000', // (string) Background color to overlay; inform a hexadecimal value like: #RRGGBB. Where RR, GG, and BB are the hexadecimal values for the red, green, and blue values of the color. - overlayOpacity: 0.8, // (integer) Opacity value to overlay; inform: 0.X. Where X are number from 0 to 9 - // Configuration related to navigation - fixedNavigation: false, // (boolean) Boolean that informs if the navigation (next and prev button) will be fixed or not in the interface. - // Configuration related to images - imageLoading: 'images/lightbox-ico-loading.gif', // (string) Path and the name of the loading icon - imageBtnPrev: 'images/lightbox-btn-prev.gif', // (string) Path and the name of the prev button image - imageBtnNext: 'images/lightbox-btn-next.gif', // (string) Path and the name of the next button image - imageBtnClose: 'images/lightbox-btn-close.gif', // (string) Path and the name of the close btn - imageBlank: 'images/lightbox-blank.gif', // (string) Path and the name of a blank image (one pixel) - // Configuration related to container image box - containerBorderSize: 10, // (integer) If you adjust the padding in the CSS for the container, #lightbox-container-image-box, you will need to update this value - containerResizeSpeed: 400, // (integer) Specify the resize duration of container image. These number are miliseconds. 400 is default. - // Configuration related to texts in caption. For example: Image 2 of 8. You can alter either "Image" and "of" texts. - txtImage: 'Image', // (string) Specify text "Image" - txtOf: 'of', // (string) Specify text "of" - // Configuration related to keyboard navigation - keyToClose: 'c', // (string) (c = close) Letter to close the jQuery lightBox interface. Beyond this letter, the letter X and the SCAPE key is used to. - keyToPrev: 'p', // (string) (p = previous) Letter to show the previous image - keyToNext: 'n', // (string) (n = next) Letter to show the next image. - // Don�t alter these variables in any way - imageArray: [], - activeImage: 0 - },settings); - // Caching the jQuery object with all elements matched - var jQueryMatchedObj = this; // This, in this context, refer to jQuery object - /** - * Initializing the plugin calling the start function - * - * @return boolean false - */ - function _initialize() { - _start(this,jQueryMatchedObj); // This, in this context, refer to object (link) which the user have clicked - return false; // Avoid the browser following the link - } - /** - * Start the jQuery lightBox plugin - * - * @param object objClicked The object (link) whick the user have clicked - * @param object jQueryMatchedObj The jQuery object with all elements matched - */ - function _start(objClicked,jQueryMatchedObj) { - // Hime some elements to avoid conflict with overlay in IE. These elements appear above the overlay. - $('embed, object, select').css({ 'visibility' : 'hidden' }); - // Call the function to create the markup structure; style some elements; assign events in some elements. - _set_interface(); - // Unset total images in imageArray - settings.imageArray.length = 0; - // Unset image active information - settings.activeImage = 0; - // We have an image set? Or just an image? Let�s see it. - if ( jQueryMatchedObj.length == 1 ) { - settings.imageArray.push(new Array(objClicked.getAttribute('href'),objClicked.getAttribute('title'))); - } else { - // Add an Array (as many as we have), with href and title atributes, inside the Array that storage the images references - for ( var i = 0; i < jQueryMatchedObj.length; i++ ) { - settings.imageArray.push(new Array(jQueryMatchedObj[i].getAttribute('href'),jQueryMatchedObj[i].getAttribute('title'))); - } - } - while ( settings.imageArray[settings.activeImage][0] != objClicked.getAttribute('href') ) { - settings.activeImage++; - } - // Call the function that prepares image exibition - _set_image_to_view(); - } - /** - * Create the jQuery lightBox plugin interface - * - * The HTML markup will be like that: -
-
- - -
- * - */ - function _set_interface() { - // Apply the HTML markup into body tag - $('body').append('
'); - // Get page sizes - var arrPageSizes = ___getPageSize(); - // Style overlay and show it - $('#jquery-overlay').css({ - backgroundColor: settings.overlayBgColor, - opacity: settings.overlayOpacity, - width: arrPageSizes[0], - height: arrPageSizes[1] - }).fadeIn(); - // Get page scroll - var arrPageScroll = ___getPageScroll(); - // Calculate top and left offset for the jquery-lightbox div object and show it - $('#jquery-lightbox').css({ - top: arrPageScroll[1] + (arrPageSizes[3] / 10), - left: arrPageScroll[0] - }).show(); - // Assigning click events in elements to close overlay - $('#jquery-overlay,#jquery-lightbox').click(function() { - _finish(); - }); - // Assign the _finish function to lightbox-loading-link and lightbox-secNav-btnClose objects - $('#lightbox-loading-link,#lightbox-secNav-btnClose').click(function() { - _finish(); - return false; - }); - // If window was resized, calculate the new overlay dimensions - $(window).resize(function() { - // Get page sizes - var arrPageSizes = ___getPageSize(); - // Style overlay and show it - $('#jquery-overlay').css({ - width: arrPageSizes[0], - height: arrPageSizes[1] - }); - // Get page scroll - var arrPageScroll = ___getPageScroll(); - // Calculate top and left offset for the jquery-lightbox div object and show it - $('#jquery-lightbox').css({ - top: arrPageScroll[1] + (arrPageSizes[3] / 10), - left: arrPageScroll[0] - }); - }); - } - /** - * Prepares image exibition; doing a image�s preloader to calculate it�s size - * - */ - function _set_image_to_view() { // show the loading - // Show the loading - $('#lightbox-loading').show(); - if ( settings.fixedNavigation ) { - $('#lightbox-image,#lightbox-container-image-data-box,#lightbox-image-details-currentNumber').hide(); - } else { - // Hide some elements - $('#lightbox-image,#lightbox-nav,#lightbox-nav-btnPrev,#lightbox-nav-btnNext,#lightbox-container-image-data-box,#lightbox-image-details-currentNumber').hide(); - } - // Image preload process - var objImagePreloader = new Image(); - objImagePreloader.onload = function() { - $('#lightbox-image').attr('src',settings.imageArray[settings.activeImage][0]); - // Perfomance an effect in the image container resizing it - _resize_container_image_box(objImagePreloader.width,objImagePreloader.height); - // clear onLoad, IE behaves irratically with animated gifs otherwise - objImagePreloader.onload=function(){}; - }; - objImagePreloader.src = settings.imageArray[settings.activeImage][0]; - }; - /** - * Perfomance an effect in the image container resizing it - * - * @param integer intImageWidth The image�s width that will be showed - * @param integer intImageHeight The image�s height that will be showed - */ - function _resize_container_image_box(intImageWidth,intImageHeight) { - // Get current width and height - var intCurrentWidth = $('#lightbox-container-image-box').width(); - var intCurrentHeight = $('#lightbox-container-image-box').height(); - // Get the width and height of the selected image plus the padding - var intWidth = (intImageWidth + (settings.containerBorderSize * 2)); // Plus the image�s width and the left and right padding value - var intHeight = (intImageHeight + (settings.containerBorderSize * 2)); // Plus the image�s height and the left and right padding value - // Diferences - var intDiffW = intCurrentWidth - intWidth; - var intDiffH = intCurrentHeight - intHeight; - // Perfomance the effect - $('#lightbox-container-image-box').animate({ width: intWidth, height: intHeight },settings.containerResizeSpeed,function() { _show_image(); }); - if ( ( intDiffW == 0 ) && ( intDiffH == 0 ) ) { - if ( $.browser.msie ) { - ___pause(250); - } else { - ___pause(100); - } - } - $('#lightbox-container-image-data-box').css({ width: intImageWidth }); - $('#lightbox-nav-btnPrev,#lightbox-nav-btnNext').css({ height: intImageHeight + (settings.containerBorderSize * 2) }); - }; - /** - * Show the prepared image - * - */ - function _show_image() { - $('#lightbox-loading').hide(); - $('#lightbox-image').fadeIn(function() { - _show_image_data(); - _set_navigation(); - }); - _preload_neighbor_images(); - }; - /** - * Show the image information - * - */ - function _show_image_data() { - $('#lightbox-container-image-data-box').slideDown('fast'); - $('#lightbox-image-details-caption').hide(); - if ( settings.imageArray[settings.activeImage][1] ) { - $('#lightbox-image-details-caption').html(settings.imageArray[settings.activeImage][1]).show(); - } - // If we have a image set, display 'Image X of X' - if ( settings.imageArray.length > 1 ) { - $('#lightbox-image-details-currentNumber').html(settings.txtImage + ' ' + ( settings.activeImage + 1 ) + ' ' + settings.txtOf + ' ' + settings.imageArray.length).show(); - } - } - /** - * Display the button navigations - * - */ - function _set_navigation() { - $('#lightbox-nav').show(); - - // Instead to define this configuration in CSS file, we define here. And it�s need to IE. Just. - $('#lightbox-nav-btnPrev,#lightbox-nav-btnNext').css({ 'background' : 'transparent url(' + settings.imageBlank + ') no-repeat' }); - - // Show the prev button, if not the first image in set - if ( settings.activeImage != 0 ) { - if ( settings.fixedNavigation ) { - $('#lightbox-nav-btnPrev').css({ 'background' : 'url(' + settings.imageBtnPrev + ') left 15% no-repeat' }) - .unbind() - .bind('click',function() { - settings.activeImage = settings.activeImage - 1; - _set_image_to_view(); - return false; - }); - } else { - // Show the images button for Next buttons - $('#lightbox-nav-btnPrev').unbind().hover(function() { - $(this).css({ 'background' : 'url(' + settings.imageBtnPrev + ') left 15% no-repeat' }); - },function() { - $(this).css({ 'background' : 'transparent url(' + settings.imageBlank + ') no-repeat' }); - }).show().bind('click',function() { - settings.activeImage = settings.activeImage - 1; - _set_image_to_view(); - return false; - }); - } - } - - // Show the next button, if not the last image in set - if ( settings.activeImage != ( settings.imageArray.length -1 ) ) { - if ( settings.fixedNavigation ) { - $('#lightbox-nav-btnNext').css({ 'background' : 'url(' + settings.imageBtnNext + ') right 15% no-repeat' }) - .unbind() - .bind('click',function() { - settings.activeImage = settings.activeImage + 1; - _set_image_to_view(); - return false; - }); - } else { - // Show the images button for Next buttons - $('#lightbox-nav-btnNext').unbind().hover(function() { - $(this).css({ 'background' : 'url(' + settings.imageBtnNext + ') right 15% no-repeat' }); - },function() { - $(this).css({ 'background' : 'transparent url(' + settings.imageBlank + ') no-repeat' }); - }).show().bind('click',function() { - settings.activeImage = settings.activeImage + 1; - _set_image_to_view(); - return false; - }); - } - } - // Enable keyboard navigation - _enable_keyboard_navigation(); - } - /** - * Enable a support to keyboard navigation - * - */ - function _enable_keyboard_navigation() { - $(document).keydown(function(objEvent) { - _keyboard_action(objEvent); - }); - } - /** - * Disable the support to keyboard navigation - * - */ - function _disable_keyboard_navigation() { - $(document).unbind(); - } - /** - * Perform the keyboard actions - * - */ - function _keyboard_action(objEvent) { - // To ie - if ( objEvent == null ) { - keycode = event.keyCode; - escapeKey = 27; - // To Mozilla - } else { - keycode = objEvent.keyCode; - escapeKey = objEvent.DOM_VK_ESCAPE; - } - // Get the key in lower case form - key = String.fromCharCode(keycode).toLowerCase(); - // Verify the keys to close the ligthBox - if ( ( key == settings.keyToClose ) || ( key == 'x' ) || ( keycode == escapeKey ) ) { - _finish(); - } - // Verify the key to show the previous image - if ( ( key == settings.keyToPrev ) || ( keycode == 37 ) ) { - // If we�re not showing the first image, call the previous - if ( settings.activeImage != 0 ) { - settings.activeImage = settings.activeImage - 1; - _set_image_to_view(); - _disable_keyboard_navigation(); - } - } - // Verify the key to show the next image - if ( ( key == settings.keyToNext ) || ( keycode == 39 ) ) { - // If we�re not showing the last image, call the next - if ( settings.activeImage != ( settings.imageArray.length - 1 ) ) { - settings.activeImage = settings.activeImage + 1; - _set_image_to_view(); - _disable_keyboard_navigation(); - } - } - } - /** - * Preload prev and next images being showed - * - */ - function _preload_neighbor_images() { - if ( (settings.imageArray.length -1) > settings.activeImage ) { - objNext = new Image(); - objNext.src = settings.imageArray[settings.activeImage + 1][0]; - } - if ( settings.activeImage > 0 ) { - objPrev = new Image(); - objPrev.src = settings.imageArray[settings.activeImage -1][0]; - } - } - /** - * Remove jQuery lightBox plugin HTML markup - * - */ - function _finish() { - $('#jquery-lightbox').remove(); - $('#jquery-overlay').fadeOut(function() { $('#jquery-overlay').remove(); }); - // Show some elements to avoid conflict with overlay in IE. These elements appear above the overlay. - $('embed, object, select').css({ 'visibility' : 'visible' }); - } - /** - / THIRD FUNCTION - * getPageSize() by quirksmode.com - * - * @return Array Return an array with page width, height and window width, height - */ - function ___getPageSize() { - var xScroll, yScroll; - if (window.innerHeight && window.scrollMaxY) { - xScroll = window.innerWidth + window.scrollMaxX; - yScroll = window.innerHeight + window.scrollMaxY; - } else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac - xScroll = document.body.scrollWidth; - yScroll = document.body.scrollHeight; - } else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari - xScroll = document.body.offsetWidth; - yScroll = document.body.offsetHeight; - } - var windowWidth, windowHeight; - if (self.innerHeight) { // all except Explorer - if(document.documentElement.clientWidth){ - windowWidth = document.documentElement.clientWidth; - } else { - windowWidth = self.innerWidth; - } - windowHeight = self.innerHeight; - } else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode - windowWidth = document.documentElement.clientWidth; - windowHeight = document.documentElement.clientHeight; - } else if (document.body) { // other Explorers - windowWidth = document.body.clientWidth; - windowHeight = document.body.clientHeight; - } - // for small pages with total height less then height of the viewport - if(yScroll < windowHeight){ - pageHeight = windowHeight; - } else { - pageHeight = yScroll; - } - // for small pages with total width less then width of the viewport - if(xScroll < windowWidth){ - pageWidth = xScroll; - } else { - pageWidth = windowWidth; - } - arrayPageSize = new Array(pageWidth,pageHeight,windowWidth,windowHeight); - return arrayPageSize; - }; - /** - / THIRD FUNCTION - * getPageScroll() by quirksmode.com - * - * @return Array Return an array with x,y page scroll values. - */ - function ___getPageScroll() { - var xScroll, yScroll; - if (self.pageYOffset) { - yScroll = self.pageYOffset; - xScroll = self.pageXOffset; - } else if (document.documentElement && document.documentElement.scrollTop) { // Explorer 6 Strict - yScroll = document.documentElement.scrollTop; - xScroll = document.documentElement.scrollLeft; - } else if (document.body) {// all other Explorers - yScroll = document.body.scrollTop; - xScroll = document.body.scrollLeft; - } - arrayPageScroll = new Array(xScroll,yScroll); - return arrayPageScroll; - }; - /** - * Stop the code execution from a escified time in milisecond - * - */ - function ___pause(ms) { - var date = new Date(); - curDate = null; - do { var curDate = new Date(); } - while ( curDate - date < ms); - }; - // Return the jQuery object for chaining. The unbind method is used to avoid click conflict when the plugin is called more than once - return this.unbind('click').click(_initialize); - }; -})(jQuery); // Call and execute the function immediately passing the jQuery object \ No newline at end of file diff --git a/js/jquery.magnific-popup.js b/js/jquery.magnific-popup.js deleted file mode 100644 index 79b4cc2..0000000 --- a/js/jquery.magnific-popup.js +++ /dev/null @@ -1,2042 +0,0 @@ -/*! Magnific Popup - v0.9.9 - 2013-11-15 -* http://dimsemenov.com/plugins/magnific-popup/ -* Copyright (c) 2013 Dmitry Semenov; */ -;(function($) { - -/*>>core*/ -/** - * - * Magnific Popup Core JS file - * - */ - - -/** - * Private static constants - */ -var CLOSE_EVENT = 'Close', - BEFORE_CLOSE_EVENT = 'BeforeClose', - AFTER_CLOSE_EVENT = 'AfterClose', - BEFORE_APPEND_EVENT = 'BeforeAppend', - MARKUP_PARSE_EVENT = 'MarkupParse', - OPEN_EVENT = 'Open', - CHANGE_EVENT = 'Change', - NS = 'mfp', - EVENT_NS = '.' + NS, - READY_CLASS = 'mfp-ready', - REMOVING_CLASS = 'mfp-removing', - PREVENT_CLOSE_CLASS = 'mfp-prevent-close'; - - -/** - * Private vars - */ -var mfp, // As we have only one instance of MagnificPopup object, we define it locally to not to use 'this' - MagnificPopup = function(){}, - _isJQ = !!(window.jQuery), - _prevStatus, - _window = $(window), - _body, - _document, - _prevContentType, - _wrapClasses, - _currPopupType; - - -/** - * Private functions - */ -var _mfpOn = function(name, f) { - mfp.ev.on(NS + name + EVENT_NS, f); - }, - _getEl = function(className, appendTo, html, raw) { - var el = document.createElement('div'); - el.className = 'mfp-'+className; - if(html) { - el.innerHTML = html; - } - if(!raw) { - el = $(el); - if(appendTo) { - el.appendTo(appendTo); - } - } else if(appendTo) { - appendTo.appendChild(el); - } - return el; - }, - _mfpTrigger = function(e, data) { - mfp.ev.triggerHandler(NS + e, data); - - if(mfp.st.callbacks) { - // converts "mfpEventName" to "eventName" callback and triggers it if it's present - e = e.charAt(0).toLowerCase() + e.slice(1); - if(mfp.st.callbacks[e]) { - mfp.st.callbacks[e].apply(mfp, $.isArray(data) ? data : [data]); - } - } - }, - _getCloseBtn = function(type) { - if(type !== _currPopupType || !mfp.currTemplate.closeBtn) { - mfp.currTemplate.closeBtn = $( mfp.st.closeMarkup.replace('%title%', mfp.st.tClose ) ); - _currPopupType = type; - } - return mfp.currTemplate.closeBtn; - }, - // Initialize Magnific Popup only when called at least once - _checkInstance = function() { - if(!$.magnificPopup.instance) { - mfp = new MagnificPopup(); - mfp.init(); - $.magnificPopup.instance = mfp; - } - }, - // CSS transition detection, http://stackoverflow.com/questions/7264899/detect-css-transitions-using-javascript-and-without-modernizr - supportsTransitions = function() { - var s = document.createElement('p').style, // 's' for style. better to create an element if body yet to exist - v = ['ms','O','Moz','Webkit']; // 'v' for vendor - - if( s['transition'] !== undefined ) { - return true; - } - - while( v.length ) { - if( v.pop() + 'Transition' in s ) { - return true; - } - } - - return false; - }; - - - -/** - * Public functions - */ -MagnificPopup.prototype = { - - constructor: MagnificPopup, - - /** - * Initializes Magnific Popup plugin. - * This function is triggered only once when $.fn.magnificPopup or $.magnificPopup is executed - */ - init: function() { - var appVersion = navigator.appVersion; - mfp.isIE7 = appVersion.indexOf("MSIE 7.") !== -1; - mfp.isIE8 = appVersion.indexOf("MSIE 8.") !== -1; - mfp.isLowIE = mfp.isIE7 || mfp.isIE8; - mfp.isAndroid = (/android/gi).test(appVersion); - mfp.isIOS = (/iphone|ipad|ipod/gi).test(appVersion); - mfp.supportsTransition = supportsTransitions(); - - // We disable fixed positioned lightbox on devices that don't handle it nicely. - // If you know a better way of detecting this - let me know. - mfp.probablyMobile = (mfp.isAndroid || mfp.isIOS || /(Opera Mini)|Kindle|webOS|BlackBerry|(Opera Mobi)|(Windows Phone)|IEMobile/i.test(navigator.userAgent) ); - _body = $(document.body); - _document = $(document); - - mfp.popupsCache = {}; - }, - - /** - * Opens popup - * @param data [description] - */ - open: function(data) { - - var i; - - if(data.isObj === false) { - // convert jQuery collection to array to avoid conflicts later - mfp.items = data.items.toArray(); - - mfp.index = 0; - var items = data.items, - item; - for(i = 0; i < items.length; i++) { - item = items[i]; - if(item.parsed) { - item = item.el[0]; - } - if(item === data.el[0]) { - mfp.index = i; - break; - } - } - } else { - mfp.items = $.isArray(data.items) ? data.items : [data.items]; - mfp.index = data.index || 0; - } - - // if popup is already opened - we just update the content - if(mfp.isOpen) { - mfp.updateItemHTML(); - return; - } - - mfp.types = []; - _wrapClasses = ''; - if(data.mainEl && data.mainEl.length) { - mfp.ev = data.mainEl.eq(0); - } else { - mfp.ev = _document; - } - - if(data.key) { - if(!mfp.popupsCache[data.key]) { - mfp.popupsCache[data.key] = {}; - } - mfp.currTemplate = mfp.popupsCache[data.key]; - } else { - mfp.currTemplate = {}; - } - - - - mfp.st = $.extend(true, {}, $.magnificPopup.defaults, data ); - mfp.fixedContentPos = mfp.st.fixedContentPos === 'auto' ? !mfp.probablyMobile : mfp.st.fixedContentPos; - - if(mfp.st.modal) { - mfp.st.closeOnContentClick = false; - mfp.st.closeOnBgClick = false; - mfp.st.showCloseBtn = false; - mfp.st.enableEscapeKey = false; - } - - - // Building markup - // main containers are created only once - if(!mfp.bgOverlay) { - - // Dark overlay - mfp.bgOverlay = _getEl('bg').on('click'+EVENT_NS, function() { - mfp.close(); - }); - - mfp.wrap = _getEl('wrap').attr('tabindex', -1).on('click'+EVENT_NS, function(e) { - if(mfp._checkIfClose(e.target)) { - mfp.close(); - } - }); - - mfp.container = _getEl('container', mfp.wrap); - } - - mfp.contentContainer = _getEl('content'); - if(mfp.st.preloader) { - mfp.preloader = _getEl('preloader', mfp.container, mfp.st.tLoading); - } - - - // Initializing modules - var modules = $.magnificPopup.modules; - for(i = 0; i < modules.length; i++) { - var n = modules[i]; - n = n.charAt(0).toUpperCase() + n.slice(1); - mfp['init'+n].call(mfp); - } - _mfpTrigger('BeforeOpen'); - - - if(mfp.st.showCloseBtn) { - // Close button - if(!mfp.st.closeBtnInside) { - mfp.wrap.append( _getCloseBtn() ); - } else { - _mfpOn(MARKUP_PARSE_EVENT, function(e, template, values, item) { - values.close_replaceWith = _getCloseBtn(item.type); - }); - _wrapClasses += ' mfp-close-btn-in'; - } - } - - if(mfp.st.alignTop) { - _wrapClasses += ' mfp-align-top'; - } - - - - if(mfp.fixedContentPos) { - mfp.wrap.css({ - overflow: mfp.st.overflowY, - overflowX: 'hidden', - overflowY: mfp.st.overflowY - }); - } else { - mfp.wrap.css({ - top: _window.scrollTop(), - position: 'absolute' - }); - } - if( mfp.st.fixedBgPos === false || (mfp.st.fixedBgPos === 'auto' && !mfp.fixedContentPos) ) { - mfp.bgOverlay.css({ - height: _document.height(), - position: 'absolute' - }); - } - - - - if(mfp.st.enableEscapeKey) { - // Close on ESC key - _document.on('keyup' + EVENT_NS, function(e) { - if(e.keyCode === 27) { - mfp.close(); - } - }); - } - - _window.on('resize' + EVENT_NS, function() { - mfp.updateSize(); - }); - - - if(!mfp.st.closeOnContentClick) { - _wrapClasses += ' mfp-auto-cursor'; - } - - if(_wrapClasses) - mfp.wrap.addClass(_wrapClasses); - - - // this triggers recalculation of layout, so we get it once to not to trigger twice - var windowHeight = mfp.wH = _window.height(); - - - var windowStyles = {}; - - if( mfp.fixedContentPos ) { - if(mfp._hasScrollBar(windowHeight)){ - var s = mfp._getScrollbarSize(); - if(s) { - windowStyles.marginRight = s; - } - } - } - - if(mfp.fixedContentPos) { - if(!mfp.isIE7) { - windowStyles.overflow = 'hidden'; - } else { - // ie7 double-scroll bug - $('body, html').css('overflow', 'hidden'); - } - } - - - - var classesToadd = mfp.st.mainClass; - if(mfp.isIE7) { - classesToadd += ' mfp-ie7'; - } - if(classesToadd) { - mfp._addClassToMFP( classesToadd ); - } - - // add content - mfp.updateItemHTML(); - - _mfpTrigger('BuildControls'); - - - // remove scrollbar, add margin e.t.c - $('html').css(windowStyles); - - // add everything to DOM - mfp.bgOverlay.add(mfp.wrap).prependTo( document.body ); - - - - // Save last focused element - mfp._lastFocusedEl = document.activeElement; - - // Wait for next cycle to allow CSS transition - setTimeout(function() { - - if(mfp.content) { - mfp._addClassToMFP(READY_CLASS); - mfp._setFocus(); - } else { - // if content is not defined (not loaded e.t.c) we add class only for BG - mfp.bgOverlay.addClass(READY_CLASS); - } - - // Trap the focus in popup - _document.on('focusin' + EVENT_NS, mfp._onFocusIn); - - }, 16); - - mfp.isOpen = true; - mfp.updateSize(windowHeight); - _mfpTrigger(OPEN_EVENT); - - return data; - }, - - /** - * Closes the popup - */ - close: function() { - if(!mfp.isOpen) return; - _mfpTrigger(BEFORE_CLOSE_EVENT); - - mfp.isOpen = false; - // for CSS3 animation - if(mfp.st.removalDelay && !mfp.isLowIE && mfp.supportsTransition ) { - mfp._addClassToMFP(REMOVING_CLASS); - setTimeout(function() { - mfp._close(); - }, mfp.st.removalDelay); - } else { - mfp._close(); - } - }, - - /** - * Helper for close() function - */ - _close: function() { - _mfpTrigger(CLOSE_EVENT); - - var classesToRemove = REMOVING_CLASS + ' ' + READY_CLASS + ' '; - - mfp.bgOverlay.detach(); - mfp.wrap.detach(); - mfp.container.empty(); - - if(mfp.st.mainClass) { - classesToRemove += mfp.st.mainClass + ' '; - } - - mfp._removeClassFromMFP(classesToRemove); - - if(mfp.fixedContentPos) { - var windowStyles = {marginRight: ''}; - if(mfp.isIE7) { - $('body, html').css('overflow', ''); - } else { - windowStyles.overflow = ''; - } - $('html').css(windowStyles); - } - - _document.off('keyup' + EVENT_NS + ' focusin' + EVENT_NS); - mfp.ev.off(EVENT_NS); - - // clean up DOM elements that aren't removed - mfp.wrap.attr('class', 'mfp-wrap').removeAttr('style'); - mfp.bgOverlay.attr('class', 'mfp-bg'); - mfp.container.attr('class', 'mfp-container'); - - // remove close button from target element - if(mfp.st.showCloseBtn && - (!mfp.st.closeBtnInside || mfp.currTemplate[mfp.currItem.type] === true)) { - if(mfp.currTemplate.closeBtn) - mfp.currTemplate.closeBtn.detach(); - } - - - if(mfp._lastFocusedEl) { - $(mfp._lastFocusedEl).focus(); // put tab focus back - } - mfp.currItem = null; - mfp.content = null; - mfp.currTemplate = null; - mfp.prevHeight = 0; - - _mfpTrigger(AFTER_CLOSE_EVENT); - }, - - updateSize: function(winHeight) { - - if(mfp.isIOS) { - // fixes iOS nav bars https://github.com/dimsemenov/Magnific-Popup/issues/2 - var zoomLevel = document.documentElement.clientWidth / window.innerWidth; - var height = window.innerHeight * zoomLevel; - mfp.wrap.css('height', height); - mfp.wH = height; - } else { - mfp.wH = winHeight || _window.height(); - } - // Fixes #84: popup incorrectly positioned with position:relative on body - if(!mfp.fixedContentPos) { - mfp.wrap.css('height', mfp.wH); - } - - _mfpTrigger('Resize'); - - }, - - /** - * Set content of popup based on current index - */ - updateItemHTML: function() { - var item = mfp.items[mfp.index]; - - // Detach and perform modifications - mfp.contentContainer.detach(); - - if(mfp.content) - mfp.content.detach(); - - if(!item.parsed) { - item = mfp.parseEl( mfp.index ); - } - - var type = item.type; - - _mfpTrigger('BeforeChange', [mfp.currItem ? mfp.currItem.type : '', type]); - // BeforeChange event works like so: - // _mfpOn('BeforeChange', function(e, prevType, newType) { }); - - mfp.currItem = item; - - - - - - if(!mfp.currTemplate[type]) { - var markup = mfp.st[type] ? mfp.st[type].markup : false; - - // allows to modify markup - _mfpTrigger('FirstMarkupParse', markup); - - if(markup) { - mfp.currTemplate[type] = $(markup); - } else { - // if there is no markup found we just define that template is parsed - mfp.currTemplate[type] = true; - } - } - - if(_prevContentType && _prevContentType !== item.type) { - mfp.container.removeClass('mfp-'+_prevContentType+'-holder'); - } - - var newContent = mfp['get' + type.charAt(0).toUpperCase() + type.slice(1)](item, mfp.currTemplate[type]); - mfp.appendContent(newContent, type); - - item.preloaded = true; - - _mfpTrigger(CHANGE_EVENT, item); - _prevContentType = item.type; - - // Append container back after its content changed - mfp.container.prepend(mfp.contentContainer); - - _mfpTrigger('AfterChange'); - }, - - - /** - * Set HTML content of popup - */ - appendContent: function(newContent, type) { - mfp.content = newContent; - - if(newContent) { - if(mfp.st.showCloseBtn && mfp.st.closeBtnInside && - mfp.currTemplate[type] === true) { - // if there is no markup, we just append close button element inside - if(!mfp.content.find('.mfp-close').length) { - mfp.content.append(_getCloseBtn()); - } - } else { - mfp.content = newContent; - } - } else { - mfp.content = ''; - } - - _mfpTrigger(BEFORE_APPEND_EVENT); - mfp.container.addClass('mfp-'+type+'-holder'); - - mfp.contentContainer.append(mfp.content); - }, - - - - - /** - * Creates Magnific Popup data object based on given data - * @param {int} index Index of item to parse - */ - parseEl: function(index) { - var item = mfp.items[index], - type = item.type; - - if(item.tagName) { - item = { el: $(item) }; - } else { - item = { data: item, src: item.src }; - } - - if(item.el) { - var types = mfp.types; - - // check for 'mfp-TYPE' class - for(var i = 0; i < types.length; i++) { - if( item.el.hasClass('mfp-'+types[i]) ) { - type = types[i]; - break; - } - } - - item.src = item.el.attr('data-mfp-src'); - if(!item.src) { - item.src = item.el.attr('href'); - } - } - - item.type = type || mfp.st.type || 'inline'; - item.index = index; - item.parsed = true; - mfp.items[index] = item; - _mfpTrigger('ElementParse', item); - - return mfp.items[index]; - }, - - - /** - * Initializes single popup or a group of popups - */ - addGroup: function(el, options) { - var eHandler = function(e) { - e.mfpEl = this; - mfp._openClick(e, el, options); - }; - - if(!options) { - options = {}; - } - - var eName = 'click.magnificPopup'; - options.mainEl = el; - - if(options.items) { - options.isObj = true; - el.off(eName).on(eName, eHandler); - } else { - options.isObj = false; - if(options.delegate) { - el.off(eName).on(eName, options.delegate , eHandler); - } else { - options.items = el; - el.off(eName).on(eName, eHandler); - } - } - }, - _openClick: function(e, el, options) { - var midClick = options.midClick !== undefined ? options.midClick : $.magnificPopup.defaults.midClick; - - - if(!midClick && ( e.which === 2 || e.ctrlKey || e.metaKey ) ) { - return; - } - - var disableOn = options.disableOn !== undefined ? options.disableOn : $.magnificPopup.defaults.disableOn; - - if(disableOn) { - if($.isFunction(disableOn)) { - if( !disableOn.call(mfp) ) { - return true; - } - } else { // else it's number - if( _window.width() < disableOn ) { - return true; - } - } - } - - if(e.type) { - e.preventDefault(); - - // This will prevent popup from closing if element is inside and popup is already opened - if(mfp.isOpen) { - e.stopPropagation(); - } - } - - - options.el = $(e.mfpEl); - if(options.delegate) { - options.items = el.find(options.delegate); - } - mfp.open(options); - }, - - - /** - * Updates text on preloader - */ - updateStatus: function(status, text) { - - if(mfp.preloader) { - if(_prevStatus !== status) { - mfp.container.removeClass('mfp-s-'+_prevStatus); - } - - if(!text && status === 'loading') { - text = mfp.st.tLoading; - } - - var data = { - status: status, - text: text - }; - // allows to modify status - _mfpTrigger('UpdateStatus', data); - - status = data.status; - text = data.text; - - mfp.preloader.html(text); - - mfp.preloader.find('a').on('click', function(e) { - e.stopImmediatePropagation(); - }); - - mfp.container.addClass('mfp-s-'+status); - _prevStatus = status; - } - }, - - - /* - "Private" helpers that aren't private at all - */ - // Check to close popup or not - // "target" is an element that was clicked - _checkIfClose: function(target) { - - if($(target).hasClass(PREVENT_CLOSE_CLASS)) { - return; - } - - var closeOnContent = mfp.st.closeOnContentClick; - var closeOnBg = mfp.st.closeOnBgClick; - - if(closeOnContent && closeOnBg) { - return true; - } else { - - // We close the popup if click is on close button or on preloader. Or if there is no content. - if(!mfp.content || $(target).hasClass('mfp-close') || (mfp.preloader && target === mfp.preloader[0]) ) { - return true; - } - - // if click is outside the content - if( (target !== mfp.content[0] && !$.contains(mfp.content[0], target)) ) { - if(closeOnBg) { - // last check, if the clicked element is in DOM, (in case it's removed onclick) - if( $.contains(document, target) ) { - return true; - } - } - } else if(closeOnContent) { - return true; - } - - } - return false; - }, - _addClassToMFP: function(cName) { - mfp.bgOverlay.addClass(cName); - mfp.wrap.addClass(cName); - }, - _removeClassFromMFP: function(cName) { - this.bgOverlay.removeClass(cName); - mfp.wrap.removeClass(cName); - }, - _hasScrollBar: function(winHeight) { - return ( (mfp.isIE7 ? _document.height() : document.body.scrollHeight) > (winHeight || _window.height()) ); - }, - _setFocus: function() { - (mfp.st.focus ? mfp.content.find(mfp.st.focus).eq(0) : mfp.wrap).focus(); - }, - _onFocusIn: function(e) { - if( e.target !== mfp.wrap[0] && !$.contains(mfp.wrap[0], e.target) ) { - mfp._setFocus(); - return false; - } - }, - _parseMarkup: function(template, values, item) { - var arr; - if(item.data) { - values = $.extend(item.data, values); - } - _mfpTrigger(MARKUP_PARSE_EVENT, [template, values, item] ); - - $.each(values, function(key, value) { - if(value === undefined || value === false) { - return true; - } - arr = key.split('_'); - if(arr.length > 1) { - var el = template.find(EVENT_NS + '-'+arr[0]); - - if(el.length > 0) { - var attr = arr[1]; - if(attr === 'replaceWith') { - if(el[0] !== value[0]) { - el.replaceWith(value); - } - } else if(attr === 'img') { - if(el.is('img')) { - el.attr('src', value); - } else { - el.replaceWith( '' ); - } - } else { - el.attr(arr[1], value); - } - } - - } else { - template.find(EVENT_NS + '-'+key).html(value); - } - }); - }, - - _getScrollbarSize: function() { - // thx David - if(mfp.scrollbarSize === undefined) { - var scrollDiv = document.createElement("div"); - scrollDiv.id = "mfp-sbm"; - scrollDiv.style.cssText = 'width: 99px; height: 99px; overflow: scroll; position: absolute; top: -9999px;'; - document.body.appendChild(scrollDiv); - mfp.scrollbarSize = scrollDiv.offsetWidth - scrollDiv.clientWidth; - document.body.removeChild(scrollDiv); - } - return mfp.scrollbarSize; - } - -}; /* MagnificPopup core prototype end */ - - - - -/** - * Public static functions - */ -$.magnificPopup = { - instance: null, - proto: MagnificPopup.prototype, - modules: [], - - open: function(options, index) { - _checkInstance(); - - if(!options) { - options = {}; - } else { - options = $.extend(true, {}, options); - } - - - options.isObj = true; - options.index = index || 0; - return this.instance.open(options); - }, - - close: function() { - return $.magnificPopup.instance && $.magnificPopup.instance.close(); - }, - - registerModule: function(name, module) { - if(module.options) { - $.magnificPopup.defaults[name] = module.options; - } - $.extend(this.proto, module.proto); - this.modules.push(name); - }, - - defaults: { - - // Info about options is in docs: - // http://dimsemenov.com/plugins/magnific-popup/documentation.html#options - - disableOn: 0, - - key: null, - - midClick: false, - - mainClass: '', - - preloader: true, - - focus: '', // CSS selector of input to focus after popup is opened - - closeOnContentClick: false, - - closeOnBgClick: true, - - closeBtnInside: true, - - showCloseBtn: true, - - enableEscapeKey: true, - - modal: false, - - alignTop: false, - - removalDelay: 0, - - fixedContentPos: 'auto', - - fixedBgPos: 'auto', - - overflowY: 'auto', - - closeMarkup: '', - - tClose: 'Close (Esc)', - - tLoading: 'Loading...' - - } -}; - - - -$.fn.magnificPopup = function(options) { - _checkInstance(); - - var jqEl = $(this); - - // We call some API method of first param is a string - if (typeof options === "string" ) { - - if(options === 'open') { - var items, - itemOpts = _isJQ ? jqEl.data('magnificPopup') : jqEl[0].magnificPopup, - index = parseInt(arguments[1], 10) || 0; - - if(itemOpts.items) { - items = itemOpts.items[index]; - } else { - items = jqEl; - if(itemOpts.delegate) { - items = items.find(itemOpts.delegate); - } - items = items.eq( index ); - } - mfp._openClick({mfpEl:items}, jqEl, itemOpts); - } else { - if(mfp.isOpen) - mfp[options].apply(mfp, Array.prototype.slice.call(arguments, 1)); - } - - } else { - // clone options obj - options = $.extend(true, {}, options); - - /* - * As Zepto doesn't support .data() method for objects - * and it works only in normal browsers - * we assign "options" object directly to the DOM element. FTW! - */ - if(_isJQ) { - jqEl.data('magnificPopup', options); - } else { - jqEl[0].magnificPopup = options; - } - - mfp.addGroup(jqEl, options); - - } - return jqEl; -}; - - -//Quick benchmark -/* -var start = performance.now(), - i, - rounds = 1000; - -for(i = 0; i < rounds; i++) { - -} -console.log('Test #1:', performance.now() - start); - -start = performance.now(); -for(i = 0; i < rounds; i++) { - -} -console.log('Test #2:', performance.now() - start); -*/ - - -/*>>core*/ - -/*>>inline*/ - -var INLINE_NS = 'inline', - _hiddenClass, - _inlinePlaceholder, - _lastInlineElement, - _putInlineElementsBack = function() { - if(_lastInlineElement) { - _inlinePlaceholder.after( _lastInlineElement.addClass(_hiddenClass) ).detach(); - _lastInlineElement = null; - } - }; - -$.magnificPopup.registerModule(INLINE_NS, { - options: { - hiddenClass: 'hide', // will be appended with `mfp-` prefix - markup: '', - tNotFound: 'Content not found' - }, - proto: { - - initInline: function() { - mfp.types.push(INLINE_NS); - - _mfpOn(CLOSE_EVENT+'.'+INLINE_NS, function() { - _putInlineElementsBack(); - }); - }, - - getInline: function(item, template) { - - _putInlineElementsBack(); - - if(item.src) { - var inlineSt = mfp.st.inline, - el = $(item.src); - - if(el.length) { - - // If target element has parent - we replace it with placeholder and put it back after popup is closed - var parent = el[0].parentNode; - if(parent && parent.tagName) { - if(!_inlinePlaceholder) { - _hiddenClass = inlineSt.hiddenClass; - _inlinePlaceholder = _getEl(_hiddenClass); - _hiddenClass = 'mfp-'+_hiddenClass; - } - // replace target inline element with placeholder - _lastInlineElement = el.after(_inlinePlaceholder).detach().removeClass(_hiddenClass); - } - - mfp.updateStatus('ready'); - } else { - mfp.updateStatus('error', inlineSt.tNotFound); - el = $('
'); - } - - item.inlineElement = el; - return el; - } - - mfp.updateStatus('ready'); - mfp._parseMarkup(template, {}, item); - return template; - } - } -}); - -/*>>inline*/ - -/*>>ajax*/ -var AJAX_NS = 'ajax', - _ajaxCur, - _removeAjaxCursor = function() { - if(_ajaxCur) { - _body.removeClass(_ajaxCur); - } - }, - _destroyAjaxRequest = function() { - _removeAjaxCursor(); - if(mfp.req) { - mfp.req.abort(); - } - }; - -$.magnificPopup.registerModule(AJAX_NS, { - - options: { - settings: null, - cursor: 'mfp-ajax-cur', - tError: 'The content could not be loaded.' - }, - - proto: { - initAjax: function() { - mfp.types.push(AJAX_NS); - _ajaxCur = mfp.st.ajax.cursor; - - _mfpOn(CLOSE_EVENT+'.'+AJAX_NS, _destroyAjaxRequest); - _mfpOn('BeforeChange.' + AJAX_NS, _destroyAjaxRequest); - }, - getAjax: function(item) { - - if(_ajaxCur) - _body.addClass(_ajaxCur); - - mfp.updateStatus('loading'); - - var opts = $.extend({ - url: item.src, - success: function(data, textStatus, jqXHR) { - var temp = { - data:data, - xhr:jqXHR - }; - - _mfpTrigger('ParseAjax', temp); - - mfp.appendContent( $(temp.data), AJAX_NS ); - - item.finished = true; - - _removeAjaxCursor(); - - mfp._setFocus(); - - setTimeout(function() { - mfp.wrap.addClass(READY_CLASS); - }, 16); - - mfp.updateStatus('ready'); - - _mfpTrigger('AjaxContentAdded'); - }, - error: function() { - _removeAjaxCursor(); - item.finished = item.loadError = true; - mfp.updateStatus('error', mfp.st.ajax.tError.replace('%url%', item.src)); - } - }, mfp.st.ajax.settings); - - mfp.req = $.ajax(opts); - - return ''; - } - } -}); - - - - - - - -/*>>ajax*/ - -/*>>image*/ -var _imgInterval, - _getTitle = function(item) { - if(item.data && item.data.title !== undefined) - return item.data.title; - - var src = mfp.st.image.titleSrc; - - if(src) { - if($.isFunction(src)) { - return src.call(mfp, item); - } else if(item.el) { - return item.el.attr(src) || ''; - } - } - return ''; - }; - -$.magnificPopup.registerModule('image', { - - options: { - markup: '
'+ - '
'+ - '
'+ - '
'+ - '
'+ - '
'+ - '
'+ - '
'+ - '
'+ - '
'+ - '
'+ - '
', - cursor: 'mfp-zoom-out-cur', - titleSrc: 'title', - verticalFit: true, - tError: 'The image could not be loaded.' - }, - - proto: { - initImage: function() { - var imgSt = mfp.st.image, - ns = '.image'; - - mfp.types.push('image'); - - _mfpOn(OPEN_EVENT+ns, function() { - if(mfp.currItem.type === 'image' && imgSt.cursor) { - _body.addClass(imgSt.cursor); - } - }); - - _mfpOn(CLOSE_EVENT+ns, function() { - if(imgSt.cursor) { - _body.removeClass(imgSt.cursor); - } - _window.off('resize' + EVENT_NS); - }); - - _mfpOn('Resize'+ns, mfp.resizeImage); - if(mfp.isLowIE) { - _mfpOn('AfterChange', mfp.resizeImage); - } - }, - resizeImage: function() { - var item = mfp.currItem; - if(!item || !item.img) return; - - if(mfp.st.image.verticalFit) { - var decr = 0; - // fix box-sizing in ie7/8 - if(mfp.isLowIE) { - decr = parseInt(item.img.css('padding-top'), 10) + parseInt(item.img.css('padding-bottom'),10); - } - item.img.css('max-height', mfp.wH-decr); - } - }, - _onImageHasSize: function(item) { - if(item.img) { - - item.hasSize = true; - - if(_imgInterval) { - clearInterval(_imgInterval); - } - - item.isCheckingImgSize = false; - - _mfpTrigger('ImageHasSize', item); - - if(item.imgHidden) { - if(mfp.content) - mfp.content.removeClass('mfp-loading'); - - item.imgHidden = false; - } - - } - }, - - /** - * Function that loops until the image has size to display elements that rely on it asap - */ - findImageSize: function(item) { - - var counter = 0, - img = item.img[0], - mfpSetInterval = function(delay) { - - if(_imgInterval) { - clearInterval(_imgInterval); - } - // decelerating interval that checks for size of an image - _imgInterval = setInterval(function() { - if(img.naturalWidth > 0) { - mfp._onImageHasSize(item); - return; - } - - if(counter > 200) { - clearInterval(_imgInterval); - } - - counter++; - if(counter === 3) { - mfpSetInterval(10); - } else if(counter === 40) { - mfpSetInterval(50); - } else if(counter === 100) { - mfpSetInterval(500); - } - }, delay); - }; - - mfpSetInterval(1); - }, - - getImage: function(item, template) { - - var guard = 0, - - // image load complete handler - onLoadComplete = function() { - if(item) { - if (item.img[0].complete) { - item.img.off('.mfploader'); - - if(item === mfp.currItem){ - mfp._onImageHasSize(item); - - mfp.updateStatus('ready'); - } - - item.hasSize = true; - item.loaded = true; - - _mfpTrigger('ImageLoadComplete'); - - } - else { - // if image complete check fails 200 times (20 sec), we assume that there was an error. - guard++; - if(guard < 200) { - setTimeout(onLoadComplete,100); - } else { - onLoadError(); - } - } - } - }, - - // image error handler - onLoadError = function() { - if(item) { - item.img.off('.mfploader'); - if(item === mfp.currItem){ - mfp._onImageHasSize(item); - mfp.updateStatus('error', imgSt.tError.replace('%url%', item.src) ); - } - - item.hasSize = true; - item.loaded = true; - item.loadError = true; - } - }, - imgSt = mfp.st.image; - - - var el = template.find('.mfp-img'); - if(el.length) { - var img = document.createElement('img'); - img.className = 'mfp-img'; - item.img = $(img).on('load.mfploader', onLoadComplete).on('error.mfploader', onLoadError); - img.src = item.src; - - // without clone() "error" event is not firing when IMG is replaced by new IMG - // TODO: find a way to avoid such cloning - if(el.is('img')) { - item.img = item.img.clone(); - } - if(item.img[0].naturalWidth > 0) { - item.hasSize = true; - } - } - - mfp._parseMarkup(template, { - title: _getTitle(item), - img_replaceWith: item.img - }, item); - - mfp.resizeImage(); - - if(item.hasSize) { - if(_imgInterval) clearInterval(_imgInterval); - - if(item.loadError) { - template.addClass('mfp-loading'); - mfp.updateStatus('error', imgSt.tError.replace('%url%', item.src) ); - } else { - template.removeClass('mfp-loading'); - mfp.updateStatus('ready'); - } - return template; - } - - mfp.updateStatus('loading'); - item.loading = true; - - if(!item.hasSize) { - item.imgHidden = true; - template.addClass('mfp-loading'); - mfp.findImageSize(item); - } - - return template; - } - } -}); - - - -/*>>image*/ - -/*>>zoom*/ -var hasMozTransform, - getHasMozTransform = function() { - if(hasMozTransform === undefined) { - hasMozTransform = document.createElement('p').style.MozTransform !== undefined; - } - return hasMozTransform; - }; - -$.magnificPopup.registerModule('zoom', { - - options: { - enabled: false, - easing: 'ease-in-out', - duration: 300, - opener: function(element) { - return element.is('img') ? element : element.find('img'); - } - }, - - proto: { - - initZoom: function() { - var zoomSt = mfp.st.zoom, - ns = '.zoom', - image; - - if(!zoomSt.enabled || !mfp.supportsTransition) { - return; - } - - var duration = zoomSt.duration, - getElToAnimate = function(image) { - var newImg = image.clone().removeAttr('style').removeAttr('class').addClass('mfp-animated-image'), - transition = 'all '+(zoomSt.duration/1000)+'s ' + zoomSt.easing, - cssObj = { - position: 'fixed', - zIndex: 9999, - left: 0, - top: 0, - '-webkit-backface-visibility': 'hidden' - }, - t = 'transition'; - - cssObj['-webkit-'+t] = cssObj['-moz-'+t] = cssObj['-o-'+t] = cssObj[t] = transition; - - newImg.css(cssObj); - return newImg; - }, - showMainContent = function() { - mfp.content.css('visibility', 'visible'); - }, - openTimeout, - animatedImg; - - _mfpOn('BuildControls'+ns, function() { - if(mfp._allowZoom()) { - - clearTimeout(openTimeout); - mfp.content.css('visibility', 'hidden'); - - // Basically, all code below does is clones existing image, puts in on top of the current one and animated it - - image = mfp._getItemToZoom(); - - if(!image) { - showMainContent(); - return; - } - - animatedImg = getElToAnimate(image); - - animatedImg.css( mfp._getOffset() ); - - mfp.wrap.append(animatedImg); - - openTimeout = setTimeout(function() { - animatedImg.css( mfp._getOffset( true ) ); - openTimeout = setTimeout(function() { - - showMainContent(); - - setTimeout(function() { - animatedImg.remove(); - image = animatedImg = null; - _mfpTrigger('ZoomAnimationEnded'); - }, 16); // avoid blink when switching images - - }, duration); // this timeout equals animation duration - - }, 16); // by adding this timeout we avoid short glitch at the beginning of animation - - - // Lots of timeouts... - } - }); - _mfpOn(BEFORE_CLOSE_EVENT+ns, function() { - if(mfp._allowZoom()) { - - clearTimeout(openTimeout); - - mfp.st.removalDelay = duration; - - if(!image) { - image = mfp._getItemToZoom(); - if(!image) { - return; - } - animatedImg = getElToAnimate(image); - } - - - animatedImg.css( mfp._getOffset(true) ); - mfp.wrap.append(animatedImg); - mfp.content.css('visibility', 'hidden'); - - setTimeout(function() { - animatedImg.css( mfp._getOffset() ); - }, 16); - } - - }); - - _mfpOn(CLOSE_EVENT+ns, function() { - if(mfp._allowZoom()) { - showMainContent(); - if(animatedImg) { - animatedImg.remove(); - } - image = null; - } - }); - }, - - _allowZoom: function() { - return mfp.currItem.type === 'image'; - }, - - _getItemToZoom: function() { - if(mfp.currItem.hasSize) { - return mfp.currItem.img; - } else { - return false; - } - }, - - // Get element postion relative to viewport - _getOffset: function(isLarge) { - var el; - if(isLarge) { - el = mfp.currItem.img; - } else { - el = mfp.st.zoom.opener(mfp.currItem.el || mfp.currItem); - } - - var offset = el.offset(); - var paddingTop = parseInt(el.css('padding-top'),10); - var paddingBottom = parseInt(el.css('padding-bottom'),10); - offset.top -= ( $(window).scrollTop() - paddingTop ); - - - /* - - Animating left + top + width/height looks glitchy in Firefox, but perfect in Chrome. And vice-versa. - - */ - var obj = { - width: el.width(), - // fix Zepto height+padding issue - height: (_isJQ ? el.innerHeight() : el[0].offsetHeight) - paddingBottom - paddingTop - }; - - // I hate to do this, but there is no another option - if( getHasMozTransform() ) { - obj['-moz-transform'] = obj['transform'] = 'translate(' + offset.left + 'px,' + offset.top + 'px)'; - } else { - obj.left = offset.left; - obj.top = offset.top; - } - return obj; - } - - } -}); - - - -/*>>zoom*/ - -/*>>iframe*/ - -var IFRAME_NS = 'iframe', - _emptyPage = '//about:blank', - - _fixIframeBugs = function(isShowing) { - if(mfp.currTemplate[IFRAME_NS]) { - var el = mfp.currTemplate[IFRAME_NS].find('iframe'); - if(el.length) { - // reset src after the popup is closed to avoid "video keeps playing after popup is closed" bug - if(!isShowing) { - el[0].src = _emptyPage; - } - - // IE8 black screen bug fix - if(mfp.isIE8) { - el.css('display', isShowing ? 'block' : 'none'); - } - } - } - }; - -$.magnificPopup.registerModule(IFRAME_NS, { - - options: { - markup: '
'+ - '
'+ - ''+ - '
', - - srcAction: 'iframe_src', - - // we don't care and support only one default type of URL by default - patterns: { - youtube: { - index: 'youtube.com', - id: 'v=', - src: '//www.youtube.com/embed/%id%?autoplay=1' - }, - vimeo: { - index: 'vimeo.com/', - id: '/', - src: '//player.vimeo.com/video/%id%?autoplay=1' - }, - gmaps: { - index: '//maps.google.', - src: '%id%&output=embed' - } - } - }, - - proto: { - initIframe: function() { - mfp.types.push(IFRAME_NS); - - _mfpOn('BeforeChange', function(e, prevType, newType) { - if(prevType !== newType) { - if(prevType === IFRAME_NS) { - _fixIframeBugs(); // iframe if removed - } else if(newType === IFRAME_NS) { - _fixIframeBugs(true); // iframe is showing - } - }// else { - // iframe source is switched, don't do anything - //} - }); - - _mfpOn(CLOSE_EVENT + '.' + IFRAME_NS, function() { - _fixIframeBugs(); - }); - }, - - getIframe: function(item, template) { - var embedSrc = item.src; - var iframeSt = mfp.st.iframe; - - $.each(iframeSt.patterns, function() { - if(embedSrc.indexOf( this.index ) > -1) { - if(this.id) { - if(typeof this.id === 'string') { - embedSrc = embedSrc.substr(embedSrc.lastIndexOf(this.id)+this.id.length, embedSrc.length); - } else { - embedSrc = this.id.call( this, embedSrc ); - } - } - embedSrc = this.src.replace('%id%', embedSrc ); - return false; // break; - } - }); - - var dataObj = {}; - if(iframeSt.srcAction) { - dataObj[iframeSt.srcAction] = embedSrc; - } - mfp._parseMarkup(template, dataObj, item); - - mfp.updateStatus('ready'); - - return template; - } - } -}); - - - -/*>>iframe*/ - -/*>>gallery*/ -/** - * Get looped index depending on number of slides - */ -var _getLoopedId = function(index) { - var numSlides = mfp.items.length; - if(index > numSlides - 1) { - return index - numSlides; - } else if(index < 0) { - return numSlides + index; - } - return index; - }, - _replaceCurrTotal = function(text, curr, total) { - return text.replace(/%curr%/gi, curr + 1).replace(/%total%/gi, total); - }; - -$.magnificPopup.registerModule('gallery', { - - options: { - enabled: false, - arrowMarkup: '', - preload: [0,2], - navigateByImgClick: true, - arrows: true, - - tPrev: 'Previous (Left arrow key)', - tNext: 'Next (Right arrow key)', - tCounter: '%curr% of %total%' - }, - - proto: { - initGallery: function() { - - var gSt = mfp.st.gallery, - ns = '.mfp-gallery', - supportsFastClick = Boolean($.fn.mfpFastClick); - - mfp.direction = true; // true - next, false - prev - - if(!gSt || !gSt.enabled ) return false; - - _wrapClasses += ' mfp-gallery'; - - _mfpOn(OPEN_EVENT+ns, function() { - - if(gSt.navigateByImgClick) { - mfp.wrap.on('click'+ns, '.mfp-img', function() { - if(mfp.items.length > 1) { - mfp.next(); - return false; - } - }); - } - - _document.on('keydown'+ns, function(e) { - if (e.keyCode === 37) { - mfp.prev(); - } else if (e.keyCode === 39) { - mfp.next(); - } - }); - }); - - _mfpOn('UpdateStatus'+ns, function(e, data) { - if(data.text) { - data.text = _replaceCurrTotal(data.text, mfp.currItem.index, mfp.items.length); - } - }); - - _mfpOn(MARKUP_PARSE_EVENT+ns, function(e, element, values, item) { - var l = mfp.items.length; - values.counter = l > 1 ? _replaceCurrTotal(gSt.tCounter, item.index, l) : ''; - }); - - _mfpOn('BuildControls' + ns, function() { - if(mfp.items.length > 1 && gSt.arrows && !mfp.arrowLeft) { - var markup = gSt.arrowMarkup, - arrowLeft = mfp.arrowLeft = $( markup.replace(/%title%/gi, gSt.tPrev).replace(/%dir%/gi, 'left') ).addClass(PREVENT_CLOSE_CLASS), - arrowRight = mfp.arrowRight = $( markup.replace(/%title%/gi, gSt.tNext).replace(/%dir%/gi, 'right') ).addClass(PREVENT_CLOSE_CLASS); - - var eName = supportsFastClick ? 'mfpFastClick' : 'click'; - arrowLeft[eName](function() { - mfp.prev(); - }); - arrowRight[eName](function() { - mfp.next(); - }); - - // Polyfill for :before and :after (adds elements with classes mfp-a and mfp-b) - if(mfp.isIE7) { - _getEl('b', arrowLeft[0], false, true); - _getEl('a', arrowLeft[0], false, true); - _getEl('b', arrowRight[0], false, true); - _getEl('a', arrowRight[0], false, true); - } - - mfp.container.append(arrowLeft.add(arrowRight)); - } - }); - - _mfpOn(CHANGE_EVENT+ns, function() { - if(mfp._preloadTimeout) clearTimeout(mfp._preloadTimeout); - - mfp._preloadTimeout = setTimeout(function() { - mfp.preloadNearbyImages(); - mfp._preloadTimeout = null; - }, 16); - }); - - - _mfpOn(CLOSE_EVENT+ns, function() { - _document.off(ns); - mfp.wrap.off('click'+ns); - - if(mfp.arrowLeft && supportsFastClick) { - mfp.arrowLeft.add(mfp.arrowRight).destroyMfpFastClick(); - } - mfp.arrowRight = mfp.arrowLeft = null; - }); - - }, - next: function() { - mfp.direction = true; - mfp.index = _getLoopedId(mfp.index + 1); - mfp.updateItemHTML(); - }, - prev: function() { - mfp.direction = false; - mfp.index = _getLoopedId(mfp.index - 1); - mfp.updateItemHTML(); - }, - goTo: function(newIndex) { - mfp.direction = (newIndex >= mfp.index); - mfp.index = newIndex; - mfp.updateItemHTML(); - }, - preloadNearbyImages: function() { - var p = mfp.st.gallery.preload, - preloadBefore = Math.min(p[0], mfp.items.length), - preloadAfter = Math.min(p[1], mfp.items.length), - i; - - for(i = 1; i <= (mfp.direction ? preloadAfter : preloadBefore); i++) { - mfp._preloadItem(mfp.index+i); - } - for(i = 1; i <= (mfp.direction ? preloadBefore : preloadAfter); i++) { - mfp._preloadItem(mfp.index-i); - } - }, - _preloadItem: function(index) { - index = _getLoopedId(index); - - if(mfp.items[index].preloaded) { - return; - } - - var item = mfp.items[index]; - if(!item.parsed) { - item = mfp.parseEl( index ); - } - - _mfpTrigger('LazyLoad', item); - - if(item.type === 'image') { - item.img = $('').on('load.mfploader', function() { - item.hasSize = true; - }).on('error.mfploader', function() { - item.hasSize = true; - item.loadError = true; - _mfpTrigger('LazyLoadError', item); - }).attr('src', item.src); - } - - - item.preloaded = true; - } - } -}); - -/* -Touch Support that might be implemented some day - -addSwipeGesture: function() { - var startX, - moved, - multipleTouches; - - return; - - var namespace = '.mfp', - addEventNames = function(pref, down, move, up, cancel) { - mfp._tStart = pref + down + namespace; - mfp._tMove = pref + move + namespace; - mfp._tEnd = pref + up + namespace; - mfp._tCancel = pref + cancel + namespace; - }; - - if(window.navigator.msPointerEnabled) { - addEventNames('MSPointer', 'Down', 'Move', 'Up', 'Cancel'); - } else if('ontouchstart' in window) { - addEventNames('touch', 'start', 'move', 'end', 'cancel'); - } else { - return; - } - _window.on(mfp._tStart, function(e) { - var oE = e.originalEvent; - multipleTouches = moved = false; - startX = oE.pageX || oE.changedTouches[0].pageX; - }).on(mfp._tMove, function(e) { - if(e.originalEvent.touches.length > 1) { - multipleTouches = e.originalEvent.touches.length; - } else { - //e.preventDefault(); - moved = true; - } - }).on(mfp._tEnd + ' ' + mfp._tCancel, function(e) { - if(moved && !multipleTouches) { - var oE = e.originalEvent, - diff = startX - (oE.pageX || oE.changedTouches[0].pageX); - - if(diff > 20) { - mfp.next(); - } else if(diff < -20) { - mfp.prev(); - } - } - }); -}, -*/ - - -/*>>gallery*/ - -/*>>retina*/ - -var RETINA_NS = 'retina'; - -$.magnificPopup.registerModule(RETINA_NS, { - options: { - replaceSrc: function(item) { - return item.src.replace(/\.\w+$/, function(m) { return '@2x' + m; }); - }, - ratio: 1 // Function or number. Set to 1 to disable. - }, - proto: { - initRetina: function() { - if(window.devicePixelRatio > 1) { - - var st = mfp.st.retina, - ratio = st.ratio; - - ratio = !isNaN(ratio) ? ratio : ratio(); - - if(ratio > 1) { - _mfpOn('ImageHasSize' + '.' + RETINA_NS, function(e, item) { - item.img.css({ - 'max-width': item.img[0].naturalWidth / ratio, - 'width': '100%' - }); - }); - _mfpOn('ElementParse' + '.' + RETINA_NS, function(e, item) { - item.src = st.replaceSrc(item, ratio); - }); - } - } - - } - } -}); - -/*>>retina*/ - -/*>>fastclick*/ -/** - * FastClick event implementation. (removes 300ms delay on touch devices) - * Based on https://developers.google.com/mobile/articles/fast_buttons - * - * You may use it outside the Magnific Popup by calling just: - * - * $('.your-el').mfpFastClick(function() { - * console.log('Clicked!'); - * }); - * - * To unbind: - * $('.your-el').destroyMfpFastClick(); - * - * - * Note that it's a very basic and simple implementation, it blocks ghost click on the same element where it was bound. - * If you need something more advanced, use plugin by FT Labs https://github.com/ftlabs/fastclick - * - */ - -(function() { - var ghostClickDelay = 1000, - supportsTouch = 'ontouchstart' in window, - unbindTouchMove = function() { - _window.off('touchmove'+ns+' touchend'+ns); - }, - eName = 'mfpFastClick', - ns = '.'+eName; - - - // As Zepto.js doesn't have an easy way to add custom events (like jQuery), so we implement it in this way - $.fn.mfpFastClick = function(callback) { - - return $(this).each(function() { - - var elem = $(this), - lock; - - if( supportsTouch ) { - - var timeout, - startX, - startY, - pointerMoved, - point, - numPointers; - - elem.on('touchstart' + ns, function(e) { - pointerMoved = false; - numPointers = 1; - - point = e.originalEvent ? e.originalEvent.touches[0] : e.touches[0]; - startX = point.clientX; - startY = point.clientY; - - _window.on('touchmove'+ns, function(e) { - point = e.originalEvent ? e.originalEvent.touches : e.touches; - numPointers = point.length; - point = point[0]; - if (Math.abs(point.clientX - startX) > 10 || - Math.abs(point.clientY - startY) > 10) { - pointerMoved = true; - unbindTouchMove(); - } - }).on('touchend'+ns, function(e) { - unbindTouchMove(); - if(pointerMoved || numPointers > 1) { - return; - } - lock = true; - e.preventDefault(); - clearTimeout(timeout); - timeout = setTimeout(function() { - lock = false; - }, ghostClickDelay); - callback(); - }); - }); - - } - - elem.on('click' + ns, function() { - if(!lock) { - callback(); - } - }); - }); - }; - - $.fn.destroyMfpFastClick = function() { - $(this).off('touchstart' + ns + ' click' + ns); - if(supportsTouch) _window.off('touchmove'+ns+' touchend'+ns); - }; -})(); - -/*>>fastclick*/ - _checkInstance(); })(window.jQuery || window.Zepto); \ No newline at end of file diff --git a/js/jquery.min.js b/js/jquery.min.js deleted file mode 100644 index c218eba..0000000 --- a/js/jquery.min.js +++ /dev/null @@ -1,3566 +0,0 @@ -/*! jQuery v1.8.3 jquery.com | jquery.org/license */ -(function(e, t) { - function _(e) { - var t = M[e] = {}; - return v.each(e.split(y), function(e, n) { - t[n] = !0 - }), t - } - - function H(e, n, r) { - if (r === t && e.nodeType === 1) { - var i = "data-" + n.replace(P, "-$1").toLowerCase(); - r = e.getAttribute(i); - if (typeof r == "string") { - try { - r = r === "true" ? !0 : r === "false" ? !1 : r === "null" ? null : +r + "" === r ? +r : D.test(r) ? v.parseJSON(r) : r - } catch (s) {} - v.data(e, n, r) - } else r = t - } - return r - } - - function B(e) { - var t; - for (t in e) { - if (t === "data" && v.isEmptyObject(e[t])) continue; - if (t !== "toJSON") return !1 - } - return !0 - } - - function et() { - return !1 - } - - function tt() { - return !0 - } - - function ut(e) { - return !e || !e.parentNode || e.parentNode.nodeType === 11 - } - - function at(e, t) { - do e = e[t]; while (e && e.nodeType !== 1); - return e - } - - function ft(e, t, n) { - t = t || 0; - if (v.isFunction(t)) return v.grep(e, function(e, r) { - var i = !!t.call(e, r, e); - return i === n - }); - if (t.nodeType) return v.grep(e, function(e, r) { - return e === t === n - }); - if (typeof t == "string") { - var r = v.grep(e, function(e) { - return e.nodeType === 1 - }); - if (it.test(t)) return v.filter(t, r, !n); - t = v.filter(t, r) - } - return v.grep(e, function(e, r) { - return v.inArray(e, t) >= 0 === n - }) - } - - function lt(e) { - var t = ct.split("|"), - n = e.createDocumentFragment(); - if (n.createElement) - while (t.length) n.createElement(t.pop()); - return n - } - - function Lt(e, t) { - return e.getElementsByTagName(t)[0] || e.appendChild(e.ownerDocument.createElement(t)) - } - - function At(e, t) { - if (t.nodeType !== 1 || !v.hasData(e)) return; - var n, r, i, s = v._data(e), - o = v._data(t, s), - u = s.events; - if (u) { - delete o.handle, o.events = {}; - for (n in u) - for (r = 0, i = u[n].length; r < i; r++) v.event.add(t, n, u[n][r]) - } - o.data && (o.data = v.extend({}, o.data)) - } - - function Ot(e, t) { - var n; - if (t.nodeType !== 1) return; - t.clearAttributes && t.clearAttributes(), t.mergeAttributes && t.mergeAttributes(e), n = t.nodeName.toLowerCase(), n === "object" ? (t.parentNode && (t.outerHTML = e.outerHTML), v.support.html5Clone && e.innerHTML && !v.trim(t.innerHTML) && (t.innerHTML = e.innerHTML)) : n === "input" && Et.test(e.type) ? (t.defaultChecked = t.checked = e.checked, t.value !== e.value && (t.value = e.value)) : n === "option" ? t.selected = e.defaultSelected : n === "input" || n === "textarea" ? t.defaultValue = e.defaultValue : n === "script" && t.text !== e.text && (t.text = e.text), t.removeAttribute(v.expando) - } - - function Mt(e) { - return typeof e.getElementsByTagName != "undefined" ? e.getElementsByTagName("*") : typeof e.querySelectorAll != "undefined" ? e.querySelectorAll("*") : [] - } - - function _t(e) { - Et.test(e.type) && (e.defaultChecked = e.checked) - } - - function Qt(e, t) { - if (t in e) return t; - var n = t.charAt(0).toUpperCase() + t.slice(1), - r = t, - i = Jt.length; - while (i--) { - t = Jt[i] + n; - if (t in e) return t - } - return r - } - - function Gt(e, t) { - return e = t || e, v.css(e, "display") === "none" || !v.contains(e.ownerDocument, e) - } - - function Yt(e, t) { - var n, r, i = [], - s = 0, - o = e.length; - for (; s < o; s++) { - n = e[s]; - if (!n.style) continue; - i[s] = v._data(n, "olddisplay"), t ? (!i[s] && n.style.display === "none" && (n.style.display = ""), n.style.display === "" && Gt(n) && (i[s] = v._data(n, "olddisplay", nn(n.nodeName)))) : (r = Dt(n, "display"), !i[s] && r !== "none" && v._data(n, "olddisplay", r)) - } - for (s = 0; s < o; s++) { - n = e[s]; - if (!n.style) continue; - if (!t || n.style.display === "none" || n.style.display === "") n.style.display = t ? i[s] || "" : "none" - } - return e - } - - function Zt(e, t, n) { - var r = Rt.exec(t); - return r ? Math.max(0, r[1] - (n || 0)) + (r[2] || "px") : t - } - - function en(e, t, n, r) { - var i = n === (r ? "border" : "content") ? 4 : t === "width" ? 1 : 0, - s = 0; - for (; i < 4; i += 2) n === "margin" && (s += v.css(e, n + $t[i], !0)), r ? (n === "content" && (s -= parseFloat(Dt(e, "padding" + $t[i])) || 0), n !== "margin" && (s -= parseFloat(Dt(e, "border" + $t[i] + "Width")) || 0)) : (s += parseFloat(Dt(e, "padding" + $t[i])) || 0, n !== "padding" && (s += parseFloat(Dt(e, "border" + $t[i] + "Width")) || 0)); - return s - } - - function tn(e, t, n) { - var r = t === "width" ? e.offsetWidth : e.offsetHeight, - i = !0, - s = v.support.boxSizing && v.css(e, "boxSizing") === "border-box"; - if (r <= 0 || r == null) { - r = Dt(e, t); - if (r < 0 || r == null) r = e.style[t]; - if (Ut.test(r)) return r; - i = s && (v.support.boxSizingReliable || r === e.style[t]), r = parseFloat(r) || 0 - } - return r + en(e, t, n || (s ? "border" : "content"), i) + "px" - } - - function nn(e) { - if (Wt[e]) return Wt[e]; - var t = v("<" + e + ">").appendTo(i.body), - n = t.css("display"); - t.remove(); - if (n === "none" || n === "") { - Pt = i.body.appendChild(Pt || v.extend(i.createElement("iframe"), { - frameBorder: 0, - width: 0, - height: 0 - })); - if (!Ht || !Pt.createElement) Ht = (Pt.contentWindow || Pt.contentDocument).document, Ht.write(""), Ht.close(); - t = Ht.body.appendChild(Ht.createElement(e)), n = Dt(t, "display"), i.body.removeChild(Pt) - } - return Wt[e] = n, n - } - - function fn(e, t, n, r) { - var i; - if (v.isArray(t)) v.each(t, function(t, i) { - n || sn.test(e) ? r(e, i) : fn(e + "[" + (typeof i == "object" ? t : "") + "]", i, n, r) - }); - else if (!n && v.type(t) === "object") - for (i in t) fn(e + "[" + i + "]", t[i], n, r); - else r(e, t) - } - - function Cn(e) { - return function(t, n) { - typeof t != "string" && (n = t, t = "*"); - var r, i, s, o = t.toLowerCase().split(y), - u = 0, - a = o.length; - if (v.isFunction(n)) - for (; u < a; u++) r = o[u], s = /^\+/.test(r), s && (r = r.substr(1) || "*"), i = e[r] = e[r] || [], i[s ? "unshift" : "push"](n) - } - } - - function kn(e, n, r, i, s, o) { - s = s || n.dataTypes[0], o = o || {}, o[s] = !0; - var u, a = e[s], - f = 0, - l = a ? a.length : 0, - c = e === Sn; - for (; f < l && (c || !u); f++) u = a[f](n, r, i), typeof u == "string" && (!c || o[u] ? u = t : (n.dataTypes.unshift(u), u = kn(e, n, r, i, u, o))); - return (c || !u) && !o["*"] && (u = kn(e, n, r, i, "*", o)), u - } - - function Ln(e, n) { - var r, i, s = v.ajaxSettings.flatOptions || {}; - for (r in n) n[r] !== t && ((s[r] ? e : i || (i = {}))[r] = n[r]); - i && v.extend(!0, e, i) - } - - function An(e, n, r) { - var i, s, o, u, a = e.contents, - f = e.dataTypes, - l = e.responseFields; - for (s in l) s in r && (n[l[s]] = r[s]); - while (f[0] === "*") f.shift(), i === t && (i = e.mimeType || n.getResponseHeader("content-type")); - if (i) - for (s in a) - if (a[s] && a[s].test(i)) { - f.unshift(s); - break - } if (f[0] in r) o = f[0]; - else { - for (s in r) { - if (!f[0] || e.converters[s + " " + f[0]]) { - o = s; - break - } - u || (u = s) - } - o = o || u - } - if (o) return o !== f[0] && f.unshift(o), r[o] - } - - function On(e, t) { - var n, r, i, s, o = e.dataTypes.slice(), - u = o[0], - a = {}, - f = 0; - e.dataFilter && (t = e.dataFilter(t, e.dataType)); - if (o[1]) - for (n in e.converters) a[n.toLowerCase()] = e.converters[n]; - for (; i = o[++f];) - if (i !== "*") { - if (u !== "*" && u !== i) { - n = a[u + " " + i] || a["* " + i]; - if (!n) - for (r in a) { - s = r.split(" "); - if (s[1] === i) { - n = a[u + " " + s[0]] || a["* " + s[0]]; - if (n) { - n === !0 ? n = a[r] : a[r] !== !0 && (i = s[0], o.splice(f--, 0, i)); - break - } - } - } - if (n !== !0) - if (n && e["throws"]) t = n(t); - else try { - t = n(t) - } catch (l) { - return { - state: "parsererror", - error: n ? l : "No conversion from " + u + " to " + i - } - } - } - u = i - } return { - state: "success", - data: t - } - } - - function Fn() { - try { - return new e.XMLHttpRequest - } catch (t) {} - } - - function In() { - try { - return new e.ActiveXObject("Microsoft.XMLHTTP") - } catch (t) {} - } - - function $n() { - return setTimeout(function() { - qn = t - }, 0), qn = v.now() - } - - function Jn(e, t) { - v.each(t, function(t, n) { - var r = (Vn[t] || []).concat(Vn["*"]), - i = 0, - s = r.length; - for (; i < s; i++) - if (r[i].call(e, t, n)) return - }) - } - - function Kn(e, t, n) { - var r, i = 0, - s = 0, - o = Xn.length, - u = v.Deferred().always(function() { - delete a.elem - }), - a = function() { - var t = qn || $n(), - n = Math.max(0, f.startTime + f.duration - t), - r = n / f.duration || 0, - i = 1 - r, - s = 0, - o = f.tweens.length; - for (; s < o; s++) f.tweens[s].run(i); - return u.notifyWith(e, [f, i, n]), i < 1 && o ? n : (u.resolveWith(e, [f]), !1) - }, - f = u.promise({ - elem: e, - props: v.extend({}, t), - opts: v.extend(!0, { - specialEasing: {} - }, n), - originalProperties: t, - originalOptions: n, - startTime: qn || $n(), - duration: n.duration, - tweens: [], - createTween: function(t, n, r) { - var i = v.Tween(e, f.opts, t, n, f.opts.specialEasing[t] || f.opts.easing); - return f.tweens.push(i), i - }, - stop: function(t) { - var n = 0, - r = t ? f.tweens.length : 0; - for (; n < r; n++) f.tweens[n].run(1); - return t ? u.resolveWith(e, [f, t]) : u.rejectWith(e, [f, t]), this - } - }), - l = f.props; - Qn(l, f.opts.specialEasing); - for (; i < o; i++) { - r = Xn[i].call(f, e, l, f.opts); - if (r) return r - } - return Jn(f, l), v.isFunction(f.opts.start) && f.opts.start.call(e, f), v.fx.timer(v.extend(a, { - anim: f, - queue: f.opts.queue, - elem: e - })), f.progress(f.opts.progress).done(f.opts.done, f.opts.complete).fail(f.opts.fail).always(f.opts.always) - } - - function Qn(e, t) { - var n, r, i, s, o; - for (n in e) { - r = v.camelCase(n), i = t[r], s = e[n], v.isArray(s) && (i = s[1], s = e[n] = s[0]), n !== r && (e[r] = s, delete e[n]), o = v.cssHooks[r]; - if (o && "expand" in o) { - s = o.expand(s), delete e[r]; - for (n in s) n in e || (e[n] = s[n], t[n] = i) - } else t[r] = i - } - } - - function Gn(e, t, n) { - var r, i, s, o, u, a, f, l, c, h = this, - p = e.style, - d = {}, - m = [], - g = e.nodeType && Gt(e); - n.queue || (l = v._queueHooks(e, "fx"), l.unqueued == null && (l.unqueued = 0, c = l.empty.fire, l.empty.fire = function() { - l.unqueued || c() - }), l.unqueued++, h.always(function() { - h.always(function() { - l.unqueued--, v.queue(e, "fx").length || l.empty.fire() - }) - })), e.nodeType === 1 && ("height" in t || "width" in t) && (n.overflow = [p.overflow, p.overflowX, p.overflowY], v.css(e, "display") === "inline" && v.css(e, "float") === "none" && (!v.support.inlineBlockNeedsLayout || nn(e.nodeName) === "inline" ? p.display = "inline-block" : p.zoom = 1)), n.overflow && (p.overflow = "hidden", v.support.shrinkWrapBlocks || h.done(function() { - p.overflow = n.overflow[0], p.overflowX = n.overflow[1], p.overflowY = n.overflow[2] - })); - for (r in t) { - s = t[r]; - if (Un.exec(s)) { - delete t[r], a = a || s === "toggle"; - if (s === (g ? "hide" : "show")) continue; - m.push(r) - } - } - o = m.length; - if (o) { - u = v._data(e, "fxshow") || v._data(e, "fxshow", {}), "hidden" in u && (g = u.hidden), a && (u.hidden = !g), g ? v(e).show() : h.done(function() { - v(e).hide() - }), h.done(function() { - var t; - v.removeData(e, "fxshow", !0); - for (t in d) v.style(e, t, d[t]) - }); - for (r = 0; r < o; r++) i = m[r], f = h.createTween(i, g ? u[i] : 0), d[i] = u[i] || v.style(e, i), i in u || (u[i] = f.start, g && (f.end = f.start, f.start = i === "width" || i === "height" ? 1 : 0)) - } - } - - function Yn(e, t, n, r, i) { - return new Yn.prototype.init(e, t, n, r, i) - } - - function Zn(e, t) { - var n, r = { - height: e - }, - i = 0; - t = t ? 1 : 0; - for (; i < 4; i += 2 - t) n = $t[i], r["margin" + n] = r["padding" + n] = e; - return t && (r.opacity = r.width = e), r - } - - function tr(e) { - return v.isWindow(e) ? e : e.nodeType === 9 ? e.defaultView || e.parentWindow : !1 - } - var n, r, i = e.document, - s = e.location, - o = e.navigator, - u = e.jQuery, - a = e.$, - f = Array.prototype.push, - l = Array.prototype.slice, - c = Array.prototype.indexOf, - h = Object.prototype.toString, - p = Object.prototype.hasOwnProperty, - d = String.prototype.trim, - v = function(e, t) { - return new v.fn.init(e, t, n) - }, - m = /[\-+]?(?:\d*\.|)\d+(?:[eE][\-+]?\d+|)/.source, - g = /\S/, - y = /\s+/, - b = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, - w = /^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/, - E = /^<(\w+)\s*\/?>(?:<\/\1>|)$/, - S = /^[\],:{}\s]*$/, - x = /(?:^|:|,)(?:\s*\[)+/g, - T = /\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g, - N = /"[^"\\\r\n]*"|true|false|null|-?(?:\d\d*\.|)\d+(?:[eE][\-+]?\d+|)/g, - C = /^-ms-/, - k = /-([\da-z])/gi, - L = function(e, t) { - return (t + "").toUpperCase() - }, - A = function() { - i.addEventListener ? (i.removeEventListener("DOMContentLoaded", A, !1), v.ready()) : i.readyState === "complete" && (i.detachEvent("onreadystatechange", A), v.ready()) - }, - O = {}; - v.fn = v.prototype = { - constructor: v, - init: function(e, n, r) { - var s, o, u, a; - if (!e) return this; - if (e.nodeType) return this.context = this[0] = e, this.length = 1, this; - if (typeof e == "string") { - e.charAt(0) === "<" && e.charAt(e.length - 1) === ">" && e.length >= 3 ? s = [null, e, null] : s = w.exec(e); - if (s && (s[1] || !n)) { - if (s[1]) return n = n instanceof v ? n[0] : n, a = n && n.nodeType ? n.ownerDocument || n : i, e = v.parseHTML(s[1], a, !0), E.test(s[1]) && v.isPlainObject(n) && this.attr.call(e, n, !0), v.merge(this, e); - o = i.getElementById(s[2]); - if (o && o.parentNode) { - if (o.id !== s[2]) return r.find(e); - this.length = 1, this[0] = o - } - return this.context = i, this.selector = e, this - } - return !n || n.jquery ? (n || r).find(e) : this.constructor(n).find(e) - } - return v.isFunction(e) ? r.ready(e) : (e.selector !== t && (this.selector = e.selector, this.context = e.context), v.makeArray(e, this)) - }, - selector: "", - jquery: "1.8.3", - length: 0, - size: function() { - return this.length - }, - toArray: function() { - return l.call(this) - }, - get: function(e) { - return e == null ? this.toArray() : e < 0 ? this[this.length + e] : this[e] - }, - pushStack: function(e, t, n) { - var r = v.merge(this.constructor(), e); - return r.prevObject = this, r.context = this.context, t === "find" ? r.selector = this.selector + (this.selector ? " " : "") + n : t && (r.selector = this.selector + "." + t + "(" + n + ")"), r - }, - each: function(e, t) { - return v.each(this, e, t) - }, - ready: function(e) { - return v.ready.promise().done(e), this - }, - eq: function(e) { - return e = +e, e === -1 ? this.slice(e) : this.slice(e, e + 1) - }, - first: function() { - return this.eq(0) - }, - last: function() { - return this.eq(-1) - }, - slice: function() { - return this.pushStack(l.apply(this, arguments), "slice", l.call(arguments).join(",")) - }, - map: function(e) { - return this.pushStack(v.map(this, function(t, n) { - return e.call(t, n, t) - })) - }, - end: function() { - return this.prevObject || this.constructor(null) - }, - push: f, - sort: [].sort, - splice: [].splice - }, v.fn.init.prototype = v.fn, v.extend = v.fn.extend = function() { - var e, n, r, i, s, o, u = arguments[0] || {}, - a = 1, - f = arguments.length, - l = !1; - typeof u == "boolean" && (l = u, u = arguments[1] || {}, a = 2), typeof u != "object" && !v.isFunction(u) && (u = {}), f === a && (u = this, --a); - for (; a < f; a++) - if ((e = arguments[a]) != null) - for (n in e) { - r = u[n], i = e[n]; - if (u === i) continue; - l && i && (v.isPlainObject(i) || (s = v.isArray(i))) ? (s ? (s = !1, o = r && v.isArray(r) ? r : []) : o = r && v.isPlainObject(r) ? r : {}, u[n] = v.extend(l, o, i)) : i !== t && (u[n] = i) - } - return u - }, v.extend({ - noConflict: function(t) { - return e.$ === v && (e.$ = a), t && e.jQuery === v && (e.jQuery = u), v - }, - isReady: !1, - readyWait: 1, - holdReady: function(e) { - e ? v.readyWait++ : v.ready(!0) - }, - ready: function(e) { - if (e === !0 ? --v.readyWait : v.isReady) return; - if (!i.body) return setTimeout(v.ready, 1); - v.isReady = !0; - if (e !== !0 && --v.readyWait > 0) return; - r.resolveWith(i, [v]), v.fn.trigger && v(i).trigger("ready").off("ready") - }, - isFunction: function(e) { - return v.type(e) === "function" - }, - isArray: Array.isArray || function(e) { - return v.type(e) === "array" - }, - isWindow: function(e) { - return e != null && e == e.window - }, - isNumeric: function(e) { - return !isNaN(parseFloat(e)) && isFinite(e) - }, - type: function(e) { - return e == null ? String(e) : O[h.call(e)] || "object" - }, - isPlainObject: function(e) { - if (!e || v.type(e) !== "object" || e.nodeType || v.isWindow(e)) return !1; - try { - if (e.constructor && !p.call(e, "constructor") && !p.call(e.constructor.prototype, "isPrototypeOf")) return !1 - } catch (n) { - return !1 - } - var r; - for (r in e); - return r === t || p.call(e, r) - }, - isEmptyObject: function(e) { - var t; - for (t in e) return !1; - return !0 - }, - error: function(e) { - throw new Error(e) - }, - parseHTML: function(e, t, n) { - var r; - return !e || typeof e != "string" ? null : (typeof t == "boolean" && (n = t, t = 0), t = t || i, (r = E.exec(e)) ? [t.createElement(r[1])] : (r = v.buildFragment([e], t, n ? null : []), v.merge([], (r.cacheable ? v.clone(r.fragment) : r.fragment).childNodes))) - }, - parseJSON: function(t) { - if (!t || typeof t != "string") return null; - t = v.trim(t); - if (e.JSON && e.JSON.parse) return e.JSON.parse(t); - if (S.test(t.replace(T, "@").replace(N, "]").replace(x, ""))) return (new Function("return " + t))(); - v.error("Invalid JSON: " + t) - }, - parseXML: function(n) { - var r, i; - if (!n || typeof n != "string") return null; - try { - e.DOMParser ? (i = new DOMParser, r = i.parseFromString(n, "text/xml")) : (r = new ActiveXObject("Microsoft.XMLDOM"), r.async = "false", r.loadXML(n)) - } catch (s) { - r = t - } - return (!r || !r.documentElement || r.getElementsByTagName("parsererror").length) && v.error("Invalid XML: " + n), r - }, - noop: function() {}, - globalEval: function(t) { - t && g.test(t) && (e.execScript || function(t) { - e.eval.call(e, t) - })(t) - }, - camelCase: function(e) { - return e.replace(C, "ms-").replace(k, L) - }, - nodeName: function(e, t) { - return e.nodeName && e.nodeName.toLowerCase() === t.toLowerCase() - }, - each: function(e, n, r) { - var i, s = 0, - o = e.length, - u = o === t || v.isFunction(e); - if (r) { - if (u) { - for (i in e) - if (n.apply(e[i], r) === !1) break - } else - for (; s < o;) - if (n.apply(e[s++], r) === !1) break - } else if (u) { - for (i in e) - if (n.call(e[i], i, e[i]) === !1) break - } else - for (; s < o;) - if (n.call(e[s], s, e[s++]) === !1) break; - return e - }, - trim: d && !d.call("\ufeff\u00a0") ? function(e) { - return e == null ? "" : d.call(e) - } : function(e) { - return e == null ? "" : (e + "").replace(b, "") - }, - makeArray: function(e, t) { - var n, r = t || []; - return e != null && (n = v.type(e), e.length == null || n === "string" || n === "function" || n === "regexp" || v.isWindow(e) ? f.call(r, e) : v.merge(r, e)), r - }, - inArray: function(e, t, n) { - var r; - if (t) { - if (c) return c.call(t, e, n); - r = t.length, n = n ? n < 0 ? Math.max(0, r + n) : n : 0; - for (; n < r; n++) - if (n in t && t[n] === e) return n - } - return -1 - }, - merge: function(e, n) { - var r = n.length, - i = e.length, - s = 0; - if (typeof r == "number") - for (; s < r; s++) e[i++] = n[s]; - else - while (n[s] !== t) e[i++] = n[s++]; - return e.length = i, e - }, - grep: function(e, t, n) { - var r, i = [], - s = 0, - o = e.length; - n = !!n; - for (; s < o; s++) r = !!t(e[s], s), n !== r && i.push(e[s]); - return i - }, - map: function(e, n, r) { - var i, s, o = [], - u = 0, - a = e.length, - f = e instanceof v || a !== t && typeof a == "number" && (a > 0 && e[0] && e[a - 1] || a === 0 || v.isArray(e)); - if (f) - for (; u < a; u++) i = n(e[u], u, r), i != null && (o[o.length] = i); - else - for (s in e) i = n(e[s], s, r), i != null && (o[o.length] = i); - return o.concat.apply([], o) - }, - guid: 1, - proxy: function(e, n) { - var r, i, s; - return typeof n == "string" && (r = e[n], n = e, e = r), v.isFunction(e) ? (i = l.call(arguments, 2), s = function() { - return e.apply(n, i.concat(l.call(arguments))) - }, s.guid = e.guid = e.guid || v.guid++, s) : t - }, - access: function(e, n, r, i, s, o, u) { - var a, f = r == null, - l = 0, - c = e.length; - if (r && typeof r == "object") { - for (l in r) v.access(e, n, l, r[l], 1, o, i); - s = 1 - } else if (i !== t) { - a = u === t && v.isFunction(i), f && (a ? (a = n, n = function(e, t, n) { - return a.call(v(e), n) - }) : (n.call(e, i), n = null)); - if (n) - for (; l < c; l++) n(e[l], r, a ? i.call(e[l], l, n(e[l], r)) : i, u); - s = 1 - } - return s ? e : f ? n.call(e) : c ? n(e[0], r) : o - }, - now: function() { - return (new Date).getTime() - } - }), v.ready.promise = function(t) { - if (!r) { - r = v.Deferred(); - if (i.readyState === "complete") setTimeout(v.ready, 1); - else if (i.addEventListener) i.addEventListener("DOMContentLoaded", A, !1), e.addEventListener("load", v.ready, !1); - else { - i.attachEvent("onreadystatechange", A), e.attachEvent("onload", v.ready); - var n = !1; - try { - n = e.frameElement == null && i.documentElement - } catch (s) {} - n && n.doScroll && function o() { - if (!v.isReady) { - try { - n.doScroll("left") - } catch (e) { - return setTimeout(o, 50) - } - v.ready() - } - }() - } - } - return r.promise(t) - }, v.each("Boolean Number String Function Array Date RegExp Object".split(" "), function(e, t) { - O["[object " + t + "]"] = t.toLowerCase() - }), n = v(i); - var M = {}; - v.Callbacks = function(e) { - e = typeof e == "string" ? M[e] || _(e) : v.extend({}, e); - var n, r, i, s, o, u, a = [], - f = !e.once && [], - l = function(t) { - n = e.memory && t, r = !0, u = s || 0, s = 0, o = a.length, i = !0; - for (; a && u < o; u++) - if (a[u].apply(t[0], t[1]) === !1 && e.stopOnFalse) { - n = !1; - break - } i = !1, a && (f ? f.length && l(f.shift()) : n ? a = [] : c.disable()) - }, - c = { - add: function() { - if (a) { - var t = a.length; - (function r(t) { - v.each(t, function(t, n) { - var i = v.type(n); - i === "function" ? (!e.unique || !c.has(n)) && a.push(n) : n && n.length && i !== "string" && r(n) - }) - })(arguments), i ? o = a.length : n && (s = t, l(n)) - } - return this - }, - remove: function() { - return a && v.each(arguments, function(e, t) { - var n; - while ((n = v.inArray(t, a, n)) > -1) a.splice(n, 1), i && (n <= o && o--, n <= u && u--) - }), this - }, - has: function(e) { - return v.inArray(e, a) > -1 - }, - empty: function() { - return a = [], this - }, - disable: function() { - return a = f = n = t, this - }, - disabled: function() { - return !a - }, - lock: function() { - return f = t, n || c.disable(), this - }, - locked: function() { - return !f - }, - fireWith: function(e, t) { - return t = t || [], t = [e, t.slice ? t.slice() : t], a && (!r || f) && (i ? f.push(t) : l(t)), this - }, - fire: function() { - return c.fireWith(this, arguments), this - }, - fired: function() { - return !!r - } - }; - return c - }, v.extend({ - Deferred: function(e) { - var t = [ - ["resolve", "done", v.Callbacks("once memory"), "resolved"], - ["reject", "fail", v.Callbacks("once memory"), "rejected"], - ["notify", "progress", v.Callbacks("memory")] - ], - n = "pending", - r = { - state: function() { - return n - }, - always: function() { - return i.done(arguments).fail(arguments), this - }, - then: function() { - var e = arguments; - return v.Deferred(function(n) { - v.each(t, function(t, r) { - var s = r[0], - o = e[t]; - i[r[1]](v.isFunction(o) ? function() { - var e = o.apply(this, arguments); - e && v.isFunction(e.promise) ? e.promise().done(n.resolve).fail(n.reject).progress(n.notify) : n[s + "With"](this === i ? n : this, [e]) - } : n[s]) - }), e = null - }).promise() - }, - promise: function(e) { - return e != null ? v.extend(e, r) : r - } - }, - i = {}; - return r.pipe = r.then, v.each(t, function(e, s) { - var o = s[2], - u = s[3]; - r[s[1]] = o.add, u && o.add(function() { - n = u - }, t[e ^ 1][2].disable, t[2][2].lock), i[s[0]] = o.fire, i[s[0] + "With"] = o.fireWith - }), r.promise(i), e && e.call(i, i), i - }, - when: function(e) { - var t = 0, - n = l.call(arguments), - r = n.length, - i = r !== 1 || e && v.isFunction(e.promise) ? r : 0, - s = i === 1 ? e : v.Deferred(), - o = function(e, t, n) { - return function(r) { - t[e] = this, n[e] = arguments.length > 1 ? l.call(arguments) : r, n === u ? s.notifyWith(t, n) : --i || s.resolveWith(t, n) - } - }, - u, a, f; - if (r > 1) { - u = new Array(r), a = new Array(r), f = new Array(r); - for (; t < r; t++) n[t] && v.isFunction(n[t].promise) ? n[t].promise().done(o(t, f, n)).fail(s.reject).progress(o(t, a, u)) : --i - } - return i || s.resolveWith(f, n), s.promise() - } - }), v.support = function() { - var t, n, r, s, o, u, a, f, l, c, h, p = i.createElement("div"); - p.setAttribute("className", "t"), p.innerHTML = "
a", n = p.getElementsByTagName("*"), r = p.getElementsByTagName("a")[0]; - if (!n || !r || !n.length) return {}; - s = i.createElement("select"), o = s.appendChild(i.createElement("option")), u = p.getElementsByTagName("input")[0], r.style.cssText = "top:1px;float:left;opacity:.5", t = { - leadingWhitespace: p.firstChild.nodeType === 3, - tbody: !p.getElementsByTagName("tbody").length, - htmlSerialize: !!p.getElementsByTagName("link").length, - style: /top/.test(r.getAttribute("style")), - hrefNormalized: r.getAttribute("href") === "/a", - opacity: /^0.5/.test(r.style.opacity), - cssFloat: !!r.style.cssFloat, - checkOn: u.value === "on", - optSelected: o.selected, - getSetAttribute: p.className !== "t", - enctype: !!i.createElement("form").enctype, - html5Clone: i.createElement("nav").cloneNode(!0).outerHTML !== "<:nav>", - boxModel: i.compatMode === "CSS1Compat", - submitBubbles: !0, - changeBubbles: !0, - focusinBubbles: !1, - deleteExpando: !0, - noCloneEvent: !0, - inlineBlockNeedsLayout: !1, - shrinkWrapBlocks: !1, - reliableMarginRight: !0, - boxSizingReliable: !0, - pixelPosition: !1 - }, u.checked = !0, t.noCloneChecked = u.cloneNode(!0).checked, s.disabled = !0, t.optDisabled = !o.disabled; - try { - delete p.test - } catch (d) { - t.deleteExpando = !1 - }!p.addEventListener && p.attachEvent && p.fireEvent && (p.attachEvent("onclick", h = function() { - t.noCloneEvent = !1 - }), p.cloneNode(!0).fireEvent("onclick"), p.detachEvent("onclick", h)), u = i.createElement("input"), u.value = "t", u.setAttribute("type", "radio"), t.radioValue = u.value === "t", u.setAttribute("checked", "checked"), u.setAttribute("name", "t"), p.appendChild(u), a = i.createDocumentFragment(), a.appendChild(p.lastChild), t.checkClone = a.cloneNode(!0).cloneNode(!0).lastChild.checked, t.appendChecked = u.checked, a.removeChild(u), a.appendChild(p); - if (p.attachEvent) - for (l in { - submit: !0, - change: !0, - focusin: !0 - }) f = "on" + l, c = f in p, c || (p.setAttribute(f, "return;"), c = typeof p[f] == "function"), t[l + "Bubbles"] = c; - return v(function() { - var n, r, s, o, u = "padding:0;margin:0;border:0;display:block;overflow:hidden;", - a = i.getElementsByTagName("body")[0]; - if (!a) return; - n = i.createElement("div"), n.style.cssText = "visibility:hidden;border:0;width:0;height:0;position:static;top:0;margin-top:1px", a.insertBefore(n, a.firstChild), r = i.createElement("div"), n.appendChild(r), r.innerHTML = "
t
", s = r.getElementsByTagName("td"), s[0].style.cssText = "padding:0;margin:0;border:0;display:none", c = s[0].offsetHeight === 0, s[0].style.display = "", s[1].style.display = "none", t.reliableHiddenOffsets = c && s[0].offsetHeight === 0, r.innerHTML = "", r.style.cssText = "box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;", t.boxSizing = r.offsetWidth === 4, t.doesNotIncludeMarginInBodyOffset = a.offsetTop !== 1, e.getComputedStyle && (t.pixelPosition = (e.getComputedStyle(r, null) || {}).top !== "1%", t.boxSizingReliable = (e.getComputedStyle(r, null) || { - width: "4px" - }).width === "4px", o = i.createElement("div"), o.style.cssText = r.style.cssText = u, o.style.marginRight = o.style.width = "0", r.style.width = "1px", r.appendChild(o), t.reliableMarginRight = !parseFloat((e.getComputedStyle(o, null) || {}).marginRight)), typeof r.style.zoom != "undefined" && (r.innerHTML = "", r.style.cssText = u + "width:1px;padding:1px;display:inline;zoom:1", t.inlineBlockNeedsLayout = r.offsetWidth === 3, r.style.display = "block", r.style.overflow = "visible", r.innerHTML = "
", r.firstChild.style.width = "5px", t.shrinkWrapBlocks = r.offsetWidth !== 3, n.style.zoom = 1), a.removeChild(n), n = r = s = o = null - }), a.removeChild(p), n = r = s = o = u = a = p = null, t - }(); - var D = /(?:\{[\s\S]*\}|\[[\s\S]*\])$/, - P = /([A-Z])/g; - v.extend({ - cache: {}, - deletedIds: [], - uuid: 0, - expando: "jQuery" + (v.fn.jquery + Math.random()).replace(/\D/g, ""), - noData: { - embed: !0, - object: "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000", - applet: !0 - }, - hasData: function(e) { - return e = e.nodeType ? v.cache[e[v.expando]] : e[v.expando], !!e && !B(e) - }, - data: function(e, n, r, i) { - if (!v.acceptData(e)) return; - var s, o, u = v.expando, - a = typeof n == "string", - f = e.nodeType, - l = f ? v.cache : e, - c = f ? e[u] : e[u] && u; - if ((!c || !l[c] || !i && !l[c].data) && a && r === t) return; - c || (f ? e[u] = c = v.deletedIds.pop() || v.guid++ : c = u), l[c] || (l[c] = {}, f || (l[c].toJSON = v.noop)); - if (typeof n == "object" || typeof n == "function") i ? l[c] = v.extend(l[c], n) : l[c].data = v.extend(l[c].data, n); - return s = l[c], i || (s.data || (s.data = {}), s = s.data), r !== t && (s[v.camelCase(n)] = r), a ? (o = s[n], o == null && (o = s[v.camelCase(n)])) : o = s, o - }, - removeData: function(e, t, n) { - if (!v.acceptData(e)) return; - var r, i, s, o = e.nodeType, - u = o ? v.cache : e, - a = o ? e[v.expando] : v.expando; - if (!u[a]) return; - if (t) { - r = n ? u[a] : u[a].data; - if (r) { - v.isArray(t) || (t in r ? t = [t] : (t = v.camelCase(t), t in r ? t = [t] : t = t.split(" "))); - for (i = 0, s = t.length; i < s; i++) delete r[t[i]]; - if (!(n ? B : v.isEmptyObject)(r)) return - } - } - if (!n) { - delete u[a].data; - if (!B(u[a])) return - } - o ? v.cleanData([e], !0) : v.support.deleteExpando || u != u.window ? delete u[a] : u[a] = null - }, - _data: function(e, t, n) { - return v.data(e, t, n, !0) - }, - acceptData: function(e) { - var t = e.nodeName && v.noData[e.nodeName.toLowerCase()]; - return !t || t !== !0 && e.getAttribute("classid") === t - } - }), v.fn.extend({ - data: function(e, n) { - var r, i, s, o, u, a = this[0], - f = 0, - l = null; - if (e === t) { - if (this.length) { - l = v.data(a); - if (a.nodeType === 1 && !v._data(a, "parsedAttrs")) { - s = a.attributes; - for (u = s.length; f < u; f++) o = s[f].name, o.indexOf("data-") || (o = v.camelCase(o.substring(5)), H(a, o, l[o])); - v._data(a, "parsedAttrs", !0) - } - } - return l - } - return typeof e == "object" ? this.each(function() { - v.data(this, e) - }) : (r = e.split(".", 2), r[1] = r[1] ? "." + r[1] : "", i = r[1] + "!", v.access(this, function(n) { - if (n === t) return l = this.triggerHandler("getData" + i, [r[0]]), l === t && a && (l = v.data(a, e), l = H(a, e, l)), l === t && r[1] ? this.data(r[0]) : l; - r[1] = n, this.each(function() { - var t = v(this); - t.triggerHandler("setData" + i, r), v.data(this, e, n), t.triggerHandler("changeData" + i, r) - }) - }, null, n, arguments.length > 1, null, !1)) - }, - removeData: function(e) { - return this.each(function() { - v.removeData(this, e) - }) - } - }), v.extend({ - queue: function(e, t, n) { - var r; - if (e) return t = (t || "fx") + "queue", r = v._data(e, t), n && (!r || v.isArray(n) ? r = v._data(e, t, v.makeArray(n)) : r.push(n)), r || [] - }, - dequeue: function(e, t) { - t = t || "fx"; - var n = v.queue(e, t), - r = n.length, - i = n.shift(), - s = v._queueHooks(e, t), - o = function() { - v.dequeue(e, t) - }; - i === "inprogress" && (i = n.shift(), r--), i && (t === "fx" && n.unshift("inprogress"), delete s.stop, i.call(e, o, s)), !r && s && s.empty.fire() - }, - _queueHooks: function(e, t) { - var n = t + "queueHooks"; - return v._data(e, n) || v._data(e, n, { - empty: v.Callbacks("once memory").add(function() { - v.removeData(e, t + "queue", !0), v.removeData(e, n, !0) - }) - }) - } - }), v.fn.extend({ - queue: function(e, n) { - var r = 2; - return typeof e != "string" && (n = e, e = "fx", r--), arguments.length < r ? v.queue(this[0], e) : n === t ? this : this.each(function() { - var t = v.queue(this, e, n); - v._queueHooks(this, e), e === "fx" && t[0] !== "inprogress" && v.dequeue(this, e) - }) - }, - dequeue: function(e) { - return this.each(function() { - v.dequeue(this, e) - }) - }, - delay: function(e, t) { - return e = v.fx ? v.fx.speeds[e] || e : e, t = t || "fx", this.queue(t, function(t, n) { - var r = setTimeout(t, e); - n.stop = function() { - clearTimeout(r) - } - }) - }, - clearQueue: function(e) { - return this.queue(e || "fx", []) - }, - promise: function(e, n) { - var r, i = 1, - s = v.Deferred(), - o = this, - u = this.length, - a = function() { - --i || s.resolveWith(o, [o]) - }; - typeof e != "string" && (n = e, e = t), e = e || "fx"; - while (u--) r = v._data(o[u], e + "queueHooks"), r && r.empty && (i++, r.empty.add(a)); - return a(), s.promise(n) - } - }); - var j, F, I, q = /[\t\r\n]/g, - R = /\r/g, - U = /^(?:button|input)$/i, - z = /^(?:button|input|object|select|textarea)$/i, - W = /^a(?:rea|)$/i, - X = /^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i, - V = v.support.getSetAttribute; - v.fn.extend({ - attr: function(e, t) { - return v.access(this, v.attr, e, t, arguments.length > 1) - }, - removeAttr: function(e) { - return this.each(function() { - v.removeAttr(this, e) - }) - }, - prop: function(e, t) { - return v.access(this, v.prop, e, t, arguments.length > 1) - }, - removeProp: function(e) { - return e = v.propFix[e] || e, this.each(function() { - try { - this[e] = t, delete this[e] - } catch (n) {} - }) - }, - addClass: function(e) { - var t, n, r, i, s, o, u; - if (v.isFunction(e)) return this.each(function(t) { - v(this).addClass(e.call(this, t, this.className)) - }); - if (e && typeof e == "string") { - t = e.split(y); - for (n = 0, r = this.length; n < r; n++) { - i = this[n]; - if (i.nodeType === 1) - if (!i.className && t.length === 1) i.className = e; - else { - s = " " + i.className + " "; - for (o = 0, u = t.length; o < u; o++) s.indexOf(" " + t[o] + " ") < 0 && (s += t[o] + " "); - i.className = v.trim(s) - } - } - } - return this - }, - removeClass: function(e) { - var n, r, i, s, o, u, a; - if (v.isFunction(e)) return this.each(function(t) { - v(this).removeClass(e.call(this, t, this.className)) - }); - if (e && typeof e == "string" || e === t) { - n = (e || "").split(y); - for (u = 0, a = this.length; u < a; u++) { - i = this[u]; - if (i.nodeType === 1 && i.className) { - r = (" " + i.className + " ").replace(q, " "); - for (s = 0, o = n.length; s < o; s++) - while (r.indexOf(" " + n[s] + " ") >= 0) r = r.replace(" " + n[s] + " ", " "); - i.className = e ? v.trim(r) : "" - } - } - } - return this - }, - toggleClass: function(e, t) { - var n = typeof e, - r = typeof t == "boolean"; - return v.isFunction(e) ? this.each(function(n) { - v(this).toggleClass(e.call(this, n, this.className, t), t) - }) : this.each(function() { - if (n === "string") { - var i, s = 0, - o = v(this), - u = t, - a = e.split(y); - while (i = a[s++]) u = r ? u : !o.hasClass(i), o[u ? "addClass" : "removeClass"](i) - } else if (n === "undefined" || n === "boolean") this.className && v._data(this, "__className__", this.className), this.className = this.className || e === !1 ? "" : v._data(this, "__className__") || "" - }) - }, - hasClass: function(e) { - var t = " " + e + " ", - n = 0, - r = this.length; - for (; n < r; n++) - if (this[n].nodeType === 1 && (" " + this[n].className + " ").replace(q, " ").indexOf(t) >= 0) return !0; - return !1 - }, - val: function(e) { - var n, r, i, s = this[0]; - if (!arguments.length) { - if (s) return n = v.valHooks[s.type] || v.valHooks[s.nodeName.toLowerCase()], n && "get" in n && (r = n.get(s, "value")) !== t ? r : (r = s.value, typeof r == "string" ? r.replace(R, "") : r == null ? "" : r); - return - } - return i = v.isFunction(e), this.each(function(r) { - var s, o = v(this); - if (this.nodeType !== 1) return; - i ? s = e.call(this, r, o.val()) : s = e, s == null ? s = "" : typeof s == "number" ? s += "" : v.isArray(s) && (s = v.map(s, function(e) { - return e == null ? "" : e + "" - })), n = v.valHooks[this.type] || v.valHooks[this.nodeName.toLowerCase()]; - if (!n || !("set" in n) || n.set(this, s, "value") === t) this.value = s - }) - } - }), v.extend({ - valHooks: { - option: { - get: function(e) { - var t = e.attributes.value; - return !t || t.specified ? e.value : e.text - } - }, - select: { - get: function(e) { - var t, n, r = e.options, - i = e.selectedIndex, - s = e.type === "select-one" || i < 0, - o = s ? null : [], - u = s ? i + 1 : r.length, - a = i < 0 ? u : s ? i : 0; - for (; a < u; a++) { - n = r[a]; - if ((n.selected || a === i) && (v.support.optDisabled ? !n.disabled : n.getAttribute("disabled") === null) && (!n.parentNode.disabled || !v.nodeName(n.parentNode, "optgroup"))) { - t = v(n).val(); - if (s) return t; - o.push(t) - } - } - return o - }, - set: function(e, t) { - var n = v.makeArray(t); - return v(e).find("option").each(function() { - this.selected = v.inArray(v(this).val(), n) >= 0 - }), n.length || (e.selectedIndex = -1), n - } - } - }, - attrFn: {}, - attr: function(e, n, r, i) { - var s, o, u, a = e.nodeType; - if (!e || a === 3 || a === 8 || a === 2) return; - if (i && v.isFunction(v.fn[n])) return v(e)[n](r); - if (typeof e.getAttribute == "undefined") return v.prop(e, n, r); - u = a !== 1 || !v.isXMLDoc(e), u && (n = n.toLowerCase(), o = v.attrHooks[n] || (X.test(n) ? F : j)); - if (r !== t) { - if (r === null) { - v.removeAttr(e, n); - return - } - return o && "set" in o && u && (s = o.set(e, r, n)) !== t ? s : (e.setAttribute(n, r + ""), r) - } - return o && "get" in o && u && (s = o.get(e, n)) !== null ? s : (s = e.getAttribute(n), s === null ? t : s) - }, - removeAttr: function(e, t) { - var n, r, i, s, o = 0; - if (t && e.nodeType === 1) { - r = t.split(y); - for (; o < r.length; o++) i = r[o], i && (n = v.propFix[i] || i, s = X.test(i), s || v.attr(e, i, ""), e.removeAttribute(V ? i : n), s && n in e && (e[n] = !1)) - } - }, - attrHooks: { - type: { - set: function(e, t) { - if (U.test(e.nodeName) && e.parentNode) v.error("type property can't be changed"); - else if (!v.support.radioValue && t === "radio" && v.nodeName(e, "input")) { - var n = e.value; - return e.setAttribute("type", t), n && (e.value = n), t - } - } - }, - value: { - get: function(e, t) { - return j && v.nodeName(e, "button") ? j.get(e, t) : t in e ? e.value : null - }, - set: function(e, t, n) { - if (j && v.nodeName(e, "button")) return j.set(e, t, n); - e.value = t - } - } - }, - propFix: { - tabindex: "tabIndex", - readonly: "readOnly", - "for": "htmlFor", - "class": "className", - maxlength: "maxLength", - cellspacing: "cellSpacing", - cellpadding: "cellPadding", - rowspan: "rowSpan", - colspan: "colSpan", - usemap: "useMap", - frameborder: "frameBorder", - contenteditable: "contentEditable" - }, - prop: function(e, n, r) { - var i, s, o, u = e.nodeType; - if (!e || u === 3 || u === 8 || u === 2) return; - return o = u !== 1 || !v.isXMLDoc(e), o && (n = v.propFix[n] || n, s = v.propHooks[n]), r !== t ? s && "set" in s && (i = s.set(e, r, n)) !== t ? i : e[n] = r : s && "get" in s && (i = s.get(e, n)) !== null ? i : e[n] - }, - propHooks: { - tabIndex: { - get: function(e) { - var n = e.getAttributeNode("tabindex"); - return n && n.specified ? parseInt(n.value, 10) : z.test(e.nodeName) || W.test(e.nodeName) && e.href ? 0 : t - } - } - } - }), F = { - get: function(e, n) { - var r, i = v.prop(e, n); - return i === !0 || typeof i != "boolean" && (r = e.getAttributeNode(n)) && r.nodeValue !== !1 ? n.toLowerCase() : t - }, - set: function(e, t, n) { - var r; - return t === !1 ? v.removeAttr(e, n) : (r = v.propFix[n] || n, r in e && (e[r] = !0), e.setAttribute(n, n.toLowerCase())), n - } - }, V || (I = { - name: !0, - id: !0, - coords: !0 - }, j = v.valHooks.button = { - get: function(e, n) { - var r; - return r = e.getAttributeNode(n), r && (I[n] ? r.value !== "" : r.specified) ? r.value : t - }, - set: function(e, t, n) { - var r = e.getAttributeNode(n); - return r || (r = i.createAttribute(n), e.setAttributeNode(r)), r.value = t + "" - } - }, v.each(["width", "height"], function(e, t) { - v.attrHooks[t] = v.extend(v.attrHooks[t], { - set: function(e, n) { - if (n === "") return e.setAttribute(t, "auto"), n - } - }) - }), v.attrHooks.contenteditable = { - get: j.get, - set: function(e, t, n) { - t === "" && (t = "false"), j.set(e, t, n) - } - }), v.support.hrefNormalized || v.each(["href", "src", "width", "height"], function(e, n) { - v.attrHooks[n] = v.extend(v.attrHooks[n], { - get: function(e) { - var r = e.getAttribute(n, 2); - return r === null ? t : r - } - }) - }), v.support.style || (v.attrHooks.style = { - get: function(e) { - return e.style.cssText.toLowerCase() || t - }, - set: function(e, t) { - return e.style.cssText = t + "" - } - }), v.support.optSelected || (v.propHooks.selected = v.extend(v.propHooks.selected, { - get: function(e) { - var t = e.parentNode; - return t && (t.selectedIndex, t.parentNode && t.parentNode.selectedIndex), null - } - })), v.support.enctype || (v.propFix.enctype = "encoding"), v.support.checkOn || v.each(["radio", "checkbox"], function() { - v.valHooks[this] = { - get: function(e) { - return e.getAttribute("value") === null ? "on" : e.value - } - } - }), v.each(["radio", "checkbox"], function() { - v.valHooks[this] = v.extend(v.valHooks[this], { - set: function(e, t) { - if (v.isArray(t)) return e.checked = v.inArray(v(e).val(), t) >= 0 - } - }) - }); - var $ = /^(?:textarea|input|select)$/i, - J = /^([^\.]*|)(?:\.(.+)|)$/, - K = /(?:^|\s)hover(\.\S+|)\b/, - Q = /^key/, - G = /^(?:mouse|contextmenu)|click/, - Y = /^(?:focusinfocus|focusoutblur)$/, - Z = function(e) { - return v.event.special.hover ? e : e.replace(K, "mouseenter$1 mouseleave$1") - }; - v.event = { - add: function(e, n, r, i, s) { - var o, u, a, f, l, c, h, p, d, m, g; - if (e.nodeType === 3 || e.nodeType === 8 || !n || !r || !(o = v._data(e))) return; - r.handler && (d = r, r = d.handler, s = d.selector), r.guid || (r.guid = v.guid++), a = o.events, a || (o.events = a = {}), u = o.handle, u || (o.handle = u = function(e) { - return typeof v == "undefined" || !!e && v.event.triggered === e.type ? t : v.event.dispatch.apply(u.elem, arguments) - }, u.elem = e), n = v.trim(Z(n)).split(" "); - for (f = 0; f < n.length; f++) { - l = J.exec(n[f]) || [], c = l[1], h = (l[2] || "").split(".").sort(), g = v.event.special[c] || {}, c = (s ? g.delegateType : g.bindType) || c, g = v.event.special[c] || {}, p = v.extend({ - type: c, - origType: l[1], - data: i, - handler: r, - guid: r.guid, - selector: s, - needsContext: s && v.expr.match.needsContext.test(s), - namespace: h.join(".") - }, d), m = a[c]; - if (!m) { - m = a[c] = [], m.delegateCount = 0; - if (!g.setup || g.setup.call(e, i, h, u) === !1) e.addEventListener ? e.addEventListener(c, u, !1) : e.attachEvent && e.attachEvent("on" + c, u) - } - g.add && (g.add.call(e, p), p.handler.guid || (p.handler.guid = r.guid)), s ? m.splice(m.delegateCount++, 0, p) : m.push(p), v.event.global[c] = !0 - } - e = null - }, - global: {}, - remove: function(e, t, n, r, i) { - var s, o, u, a, f, l, c, h, p, d, m, g = v.hasData(e) && v._data(e); - if (!g || !(h = g.events)) return; - t = v.trim(Z(t || "")).split(" "); - for (s = 0; s < t.length; s++) { - o = J.exec(t[s]) || [], u = a = o[1], f = o[2]; - if (!u) { - for (u in h) v.event.remove(e, u + t[s], n, r, !0); - continue - } - p = v.event.special[u] || {}, u = (r ? p.delegateType : p.bindType) || u, d = h[u] || [], l = d.length, f = f ? new RegExp("(^|\\.)" + f.split(".").sort().join("\\.(?:.*\\.|)") + "(\\.|$)") : null; - for (c = 0; c < d.length; c++) m = d[c], (i || a === m.origType) && (!n || n.guid === m.guid) && (!f || f.test(m.namespace)) && (!r || r === m.selector || r === "**" && m.selector) && (d.splice(c--, 1), m.selector && d.delegateCount--, p.remove && p.remove.call(e, m)); - d.length === 0 && l !== d.length && ((!p.teardown || p.teardown.call(e, f, g.handle) === !1) && v.removeEvent(e, u, g.handle), delete h[u]) - } - v.isEmptyObject(h) && (delete g.handle, v.removeData(e, "events", !0)) - }, - customEvent: { - getData: !0, - setData: !0, - changeData: !0 - }, - trigger: function(n, r, s, o) { - if (!s || s.nodeType !== 3 && s.nodeType !== 8) { - var u, a, f, l, c, h, p, d, m, g, y = n.type || n, - b = []; - if (Y.test(y + v.event.triggered)) return; - y.indexOf("!") >= 0 && (y = y.slice(0, -1), a = !0), y.indexOf(".") >= 0 && (b = y.split("."), y = b.shift(), b.sort()); - if ((!s || v.event.customEvent[y]) && !v.event.global[y]) return; - n = typeof n == "object" ? n[v.expando] ? n : new v.Event(y, n) : new v.Event(y), n.type = y, n.isTrigger = !0, n.exclusive = a, n.namespace = b.join("."), n.namespace_re = n.namespace ? new RegExp("(^|\\.)" + b.join("\\.(?:.*\\.|)") + "(\\.|$)") : null, h = y.indexOf(":") < 0 ? "on" + y : ""; - if (!s) { - u = v.cache; - for (f in u) u[f].events && u[f].events[y] && v.event.trigger(n, r, u[f].handle.elem, !0); - return - } - n.result = t, n.target || (n.target = s), r = r != null ? v.makeArray(r) : [], r.unshift(n), p = v.event.special[y] || {}; - if (p.trigger && p.trigger.apply(s, r) === !1) return; - m = [ - [s, p.bindType || y] - ]; - if (!o && !p.noBubble && !v.isWindow(s)) { - g = p.delegateType || y, l = Y.test(g + y) ? s : s.parentNode; - for (c = s; l; l = l.parentNode) m.push([l, g]), c = l; - c === (s.ownerDocument || i) && m.push([c.defaultView || c.parentWindow || e, g]) - } - for (f = 0; f < m.length && !n.isPropagationStopped(); f++) l = m[f][0], n.type = m[f][1], d = (v._data(l, "events") || {})[n.type] && v._data(l, "handle"), d && d.apply(l, r), d = h && l[h], d && v.acceptData(l) && d.apply && d.apply(l, r) === !1 && n.preventDefault(); - return n.type = y, !o && !n.isDefaultPrevented() && (!p._default || p._default.apply(s.ownerDocument, r) === !1) && (y !== "click" || !v.nodeName(s, "a")) && v.acceptData(s) && h && s[y] && (y !== "focus" && y !== "blur" || n.target.offsetWidth !== 0) && !v.isWindow(s) && (c = s[h], c && (s[h] = null), v.event.triggered = y, s[y](), v.event.triggered = t, c && (s[h] = c)), n.result - } - return - }, - dispatch: function(n) { - n = v.event.fix(n || e.event); - var r, i, s, o, u, a, f, c, h, p, d = (v._data(this, "events") || {})[n.type] || [], - m = d.delegateCount, - g = l.call(arguments), - y = !n.exclusive && !n.namespace, - b = v.event.special[n.type] || {}, - w = []; - g[0] = n, n.delegateTarget = this; - if (b.preDispatch && b.preDispatch.call(this, n) === !1) return; - if (m && (!n.button || n.type !== "click")) - for (s = n.target; s != this; s = s.parentNode || this) - if (s.disabled !== !0 || n.type !== "click") { - u = {}, f = []; - for (r = 0; r < m; r++) c = d[r], h = c.selector, u[h] === t && (u[h] = c.needsContext ? v(h, this).index(s) >= 0 : v.find(h, this, null, [s]).length), u[h] && f.push(c); - f.length && w.push({ - elem: s, - matches: f - }) - } d.length > m && w.push({ - elem: this, - matches: d.slice(m) - }); - for (r = 0; r < w.length && !n.isPropagationStopped(); r++) { - a = w[r], n.currentTarget = a.elem; - for (i = 0; i < a.matches.length && !n.isImmediatePropagationStopped(); i++) { - c = a.matches[i]; - if (y || !n.namespace && !c.namespace || n.namespace_re && n.namespace_re.test(c.namespace)) n.data = c.data, n.handleObj = c, o = ((v.event.special[c.origType] || {}).handle || c.handler).apply(a.elem, g), o !== t && (n.result = o, o === !1 && (n.preventDefault(), n.stopPropagation())) - } - } - return b.postDispatch && b.postDispatch.call(this, n), n.result - }, - props: "attrChange attrName relatedNode srcElement altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "), - fixHooks: {}, - keyHooks: { - props: "char charCode key keyCode".split(" "), - filter: function(e, t) { - return e.which == null && (e.which = t.charCode != null ? t.charCode : t.keyCode), e - } - }, - mouseHooks: { - props: "button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "), - filter: function(e, n) { - var r, s, o, u = n.button, - a = n.fromElement; - return e.pageX == null && n.clientX != null && (r = e.target.ownerDocument || i, s = r.documentElement, o = r.body, e.pageX = n.clientX + (s && s.scrollLeft || o && o.scrollLeft || 0) - (s && s.clientLeft || o && o.clientLeft || 0), e.pageY = n.clientY + (s && s.scrollTop || o && o.scrollTop || 0) - (s && s.clientTop || o && o.clientTop || 0)), !e.relatedTarget && a && (e.relatedTarget = a === e.target ? n.toElement : a), !e.which && u !== t && (e.which = u & 1 ? 1 : u & 2 ? 3 : u & 4 ? 2 : 0), e - } - }, - fix: function(e) { - if (e[v.expando]) return e; - var t, n, r = e, - s = v.event.fixHooks[e.type] || {}, - o = s.props ? this.props.concat(s.props) : this.props; - e = v.Event(r); - for (t = o.length; t;) n = o[--t], e[n] = r[n]; - return e.target || (e.target = r.srcElement || i), e.target.nodeType === 3 && (e.target = e.target.parentNode), e.metaKey = !!e.metaKey, s.filter ? s.filter(e, r) : e - }, - special: { - load: { - noBubble: !0 - }, - focus: { - delegateType: "focusin" - }, - blur: { - delegateType: "focusout" - }, - beforeunload: { - setup: function(e, t, n) { - v.isWindow(this) && (this.onbeforeunload = n) - }, - teardown: function(e, t) { - this.onbeforeunload === t && (this.onbeforeunload = null) - } - } - }, - simulate: function(e, t, n, r) { - var i = v.extend(new v.Event, n, { - type: e, - isSimulated: !0, - originalEvent: {} - }); - r ? v.event.trigger(i, null, t) : v.event.dispatch.call(t, i), i.isDefaultPrevented() && n.preventDefault() - } - }, v.event.handle = v.event.dispatch, v.removeEvent = i.removeEventListener ? function(e, t, n) { - e.removeEventListener && e.removeEventListener(t, n, !1) - } : function(e, t, n) { - var r = "on" + t; - e.detachEvent && (typeof e[r] == "undefined" && (e[r] = null), e.detachEvent(r, n)) - }, v.Event = function(e, t) { - if (!(this instanceof v.Event)) return new v.Event(e, t); - e && e.type ? (this.originalEvent = e, this.type = e.type, this.isDefaultPrevented = e.defaultPrevented || e.returnValue === !1 || e.getPreventDefault && e.getPreventDefault() ? tt : et) : this.type = e, t && v.extend(this, t), this.timeStamp = e && e.timeStamp || v.now(), this[v.expando] = !0 - }, v.Event.prototype = { - preventDefault: function() { - this.isDefaultPrevented = tt; - var e = this.originalEvent; - if (!e) return; - e.preventDefault ? e.preventDefault() : e.returnValue = !1 - }, - stopPropagation: function() { - this.isPropagationStopped = tt; - var e = this.originalEvent; - if (!e) return; - e.stopPropagation && e.stopPropagation(), e.cancelBubble = !0 - }, - stopImmediatePropagation: function() { - this.isImmediatePropagationStopped = tt, this.stopPropagation() - }, - isDefaultPrevented: et, - isPropagationStopped: et, - isImmediatePropagationStopped: et - }, v.each({ - mouseenter: "mouseover", - mouseleave: "mouseout" - }, function(e, t) { - v.event.special[e] = { - delegateType: t, - bindType: t, - handle: function(e) { - var n, r = this, - i = e.relatedTarget, - s = e.handleObj, - o = s.selector; - if (!i || i !== r && !v.contains(r, i)) e.type = s.origType, n = s.handler.apply(this, arguments), e.type = t; - return n - } - } - }), v.support.submitBubbles || (v.event.special.submit = { - setup: function() { - if (v.nodeName(this, "form")) return !1; - v.event.add(this, "click._submit keypress._submit", function(e) { - var n = e.target, - r = v.nodeName(n, "input") || v.nodeName(n, "button") ? n.form : t; - r && !v._data(r, "_submit_attached") && (v.event.add(r, "submit._submit", function(e) { - e._submit_bubble = !0 - }), v._data(r, "_submit_attached", !0)) - }) - }, - postDispatch: function(e) { - e._submit_bubble && (delete e._submit_bubble, this.parentNode && !e.isTrigger && v.event.simulate("submit", this.parentNode, e, !0)) - }, - teardown: function() { - if (v.nodeName(this, "form")) return !1; - v.event.remove(this, "._submit") - } - }), v.support.changeBubbles || (v.event.special.change = { - setup: function() { - if ($.test(this.nodeName)) { - if (this.type === "checkbox" || this.type === "radio") v.event.add(this, "propertychange._change", function(e) { - e.originalEvent.propertyName === "checked" && (this._just_changed = !0) - }), v.event.add(this, "click._change", function(e) { - this._just_changed && !e.isTrigger && (this._just_changed = !1), v.event.simulate("change", this, e, !0) - }); - return !1 - } - v.event.add(this, "beforeactivate._change", function(e) { - var t = e.target; - $.test(t.nodeName) && !v._data(t, "_change_attached") && (v.event.add(t, "change._change", function(e) { - this.parentNode && !e.isSimulated && !e.isTrigger && v.event.simulate("change", this.parentNode, e, !0) - }), v._data(t, "_change_attached", !0)) - }) - }, - handle: function(e) { - var t = e.target; - if (this !== t || e.isSimulated || e.isTrigger || t.type !== "radio" && t.type !== "checkbox") return e.handleObj.handler.apply(this, arguments) - }, - teardown: function() { - return v.event.remove(this, "._change"), !$.test(this.nodeName) - } - }), v.support.focusinBubbles || v.each({ - focus: "focusin", - blur: "focusout" - }, function(e, t) { - var n = 0, - r = function(e) { - v.event.simulate(t, e.target, v.event.fix(e), !0) - }; - v.event.special[t] = { - setup: function() { - n++ === 0 && i.addEventListener(e, r, !0) - }, - teardown: function() { - --n === 0 && i.removeEventListener(e, r, !0) - } - } - }), v.fn.extend({ - on: function(e, n, r, i, s) { - var o, u; - if (typeof e == "object") { - typeof n != "string" && (r = r || n, n = t); - for (u in e) this.on(u, n, r, e[u], s); - return this - } - r == null && i == null ? (i = n, r = n = t) : i == null && (typeof n == "string" ? (i = r, r = t) : (i = r, r = n, n = t)); - if (i === !1) i = et; - else if (!i) return this; - return s === 1 && (o = i, i = function(e) { - return v().off(e), o.apply(this, arguments) - }, i.guid = o.guid || (o.guid = v.guid++)), this.each(function() { - v.event.add(this, e, i, r, n) - }) - }, - one: function(e, t, n, r) { - return this.on(e, t, n, r, 1) - }, - off: function(e, n, r) { - var i, s; - if (e && e.preventDefault && e.handleObj) return i = e.handleObj, v(e.delegateTarget).off(i.namespace ? i.origType + "." + i.namespace : i.origType, i.selector, i.handler), this; - if (typeof e == "object") { - for (s in e) this.off(s, n, e[s]); - return this - } - if (n === !1 || typeof n == "function") r = n, n = t; - return r === !1 && (r = et), this.each(function() { - v.event.remove(this, e, r, n) - }) - }, - bind: function(e, t, n) { - return this.on(e, null, t, n) - }, - unbind: function(e, t) { - return this.off(e, null, t) - }, - live: function(e, t, n) { - return v(this.context).on(e, this.selector, t, n), this - }, - die: function(e, t) { - return v(this.context).off(e, this.selector || "**", t), this - }, - delegate: function(e, t, n, r) { - return this.on(t, e, n, r) - }, - undelegate: function(e, t, n) { - return arguments.length === 1 ? this.off(e, "**") : this.off(t, e || "**", n) - }, - trigger: function(e, t) { - return this.each(function() { - v.event.trigger(e, t, this) - }) - }, - triggerHandler: function(e, t) { - if (this[0]) return v.event.trigger(e, t, this[0], !0) - }, - toggle: function(e) { - var t = arguments, - n = e.guid || v.guid++, - r = 0, - i = function(n) { - var i = (v._data(this, "lastToggle" + e.guid) || 0) % r; - return v._data(this, "lastToggle" + e.guid, i + 1), n.preventDefault(), t[i].apply(this, arguments) || !1 - }; - i.guid = n; - while (r < t.length) t[r++].guid = n; - return this.click(i) - }, - hover: function(e, t) { - return this.mouseenter(e).mouseleave(t || e) - } - }), v.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "), function(e, t) { - v.fn[t] = function(e, n) { - return n == null && (n = e, e = null), arguments.length > 0 ? this.on(t, null, e, n) : this.trigger(t) - }, Q.test(t) && (v.event.fixHooks[t] = v.event.keyHooks), G.test(t) && (v.event.fixHooks[t] = v.event.mouseHooks) - }), - function(e, t) { - function nt(e, t, n, r) { - n = n || [], t = t || g; - var i, s, a, f, l = t.nodeType; - if (!e || typeof e != "string") return n; - if (l !== 1 && l !== 9) return []; - a = o(t); - if (!a && !r) - if (i = R.exec(e)) - if (f = i[1]) { - if (l === 9) { - s = t.getElementById(f); - if (!s || !s.parentNode) return n; - if (s.id === f) return n.push(s), n - } else if (t.ownerDocument && (s = t.ownerDocument.getElementById(f)) && u(t, s) && s.id === f) return n.push(s), n - } else { - if (i[2]) return S.apply(n, x.call(t.getElementsByTagName(e), 0)), n; - if ((f = i[3]) && Z && t.getElementsByClassName) return S.apply(n, x.call(t.getElementsByClassName(f), 0)), n - } return vt(e.replace(j, "$1"), t, n, r, a) - } - - function rt(e) { - return function(t) { - var n = t.nodeName.toLowerCase(); - return n === "input" && t.type === e - } - } - - function it(e) { - return function(t) { - var n = t.nodeName.toLowerCase(); - return (n === "input" || n === "button") && t.type === e - } - } - - function st(e) { - return N(function(t) { - return t = +t, N(function(n, r) { - var i, s = e([], n.length, t), - o = s.length; - while (o--) n[i = s[o]] && (n[i] = !(r[i] = n[i])) - }) - }) - } - - function ot(e, t, n) { - if (e === t) return n; - var r = e.nextSibling; - while (r) { - if (r === t) return -1; - r = r.nextSibling - } - return 1 - } - - function ut(e, t) { - var n, r, s, o, u, a, f, l = L[d][e + " "]; - if (l) return t ? 0 : l.slice(0); - u = e, a = [], f = i.preFilter; - while (u) { - if (!n || (r = F.exec(u))) r && (u = u.slice(r[0].length) || u), a.push(s = []); - n = !1; - if (r = I.exec(u)) s.push(n = new m(r.shift())), u = u.slice(n.length), n.type = r[0].replace(j, " "); - for (o in i.filter)(r = J[o].exec(u)) && (!f[o] || (r = f[o](r))) && (s.push(n = new m(r.shift())), u = u.slice(n.length), n.type = o, n.matches = r); - if (!n) break - } - return t ? u.length : u ? nt.error(e) : L(e, a).slice(0) - } - - function at(e, t, r) { - var i = t.dir, - s = r && t.dir === "parentNode", - o = w++; - return t.first ? function(t, n, r) { - while (t = t[i]) - if (s || t.nodeType === 1) return e(t, n, r) - } : function(t, r, u) { - if (!u) { - var a, f = b + " " + o + " ", - l = f + n; - while (t = t[i]) - if (s || t.nodeType === 1) { - if ((a = t[d]) === l) return t.sizset; - if (typeof a == "string" && a.indexOf(f) === 0) { - if (t.sizset) return t - } else { - t[d] = l; - if (e(t, r, u)) return t.sizset = !0, t; - t.sizset = !1 - } - } - } else - while (t = t[i]) - if (s || t.nodeType === 1) - if (e(t, r, u)) return t - } - } - - function ft(e) { - return e.length > 1 ? function(t, n, r) { - var i = e.length; - while (i--) - if (!e[i](t, n, r)) return !1; - return !0 - } : e[0] - } - - function lt(e, t, n, r, i) { - var s, o = [], - u = 0, - a = e.length, - f = t != null; - for (; u < a; u++) - if (s = e[u]) - if (!n || n(s, r, i)) o.push(s), f && t.push(u); - return o - } - - function ct(e, t, n, r, i, s) { - return r && !r[d] && (r = ct(r)), i && !i[d] && (i = ct(i, s)), N(function(s, o, u, a) { - var f, l, c, h = [], - p = [], - d = o.length, - v = s || dt(t || "*", u.nodeType ? [u] : u, []), - m = e && (s || !t) ? lt(v, h, e, u, a) : v, - g = n ? i || (s ? e : d || r) ? [] : o : m; - n && n(m, g, u, a); - if (r) { - f = lt(g, p), r(f, [], u, a), l = f.length; - while (l--) - if (c = f[l]) g[p[l]] = !(m[p[l]] = c) - } - if (s) { - if (i || e) { - if (i) { - f = [], l = g.length; - while (l--)(c = g[l]) && f.push(m[l] = c); - i(null, g = [], f, a) - } - l = g.length; - while (l--)(c = g[l]) && (f = i ? T.call(s, c) : h[l]) > -1 && (s[f] = !(o[f] = c)) - } - } else g = lt(g === o ? g.splice(d, g.length) : g), i ? i(null, o, g, a) : S.apply(o, g) - }) - } - - function ht(e) { - var t, n, r, s = e.length, - o = i.relative[e[0].type], - u = o || i.relative[" "], - a = o ? 1 : 0, - f = at(function(e) { - return e === t - }, u, !0), - l = at(function(e) { - return T.call(t, e) > -1 - }, u, !0), - h = [function(e, n, r) { - return !o && (r || n !== c) || ((t = n).nodeType ? f(e, n, r) : l(e, n, r)) - }]; - for (; a < s; a++) - if (n = i.relative[e[a].type]) h = [at(ft(h), n)]; - else { - n = i.filter[e[a].type].apply(null, e[a].matches); - if (n[d]) { - r = ++a; - for (; r < s; r++) - if (i.relative[e[r].type]) break; - return ct(a > 1 && ft(h), a > 1 && e.slice(0, a - 1).join("").replace(j, "$1"), n, a < r && ht(e.slice(a, r)), r < s && ht(e = e.slice(r)), r < s && e.join("")) - } - h.push(n) - } return ft(h) - } - - function pt(e, t) { - var r = t.length > 0, - s = e.length > 0, - o = function(u, a, f, l, h) { - var p, d, v, m = [], - y = 0, - w = "0", - x = u && [], - T = h != null, - N = c, - C = u || s && i.find.TAG("*", h && a.parentNode || a), - k = b += N == null ? 1 : Math.E; - T && (c = a !== g && a, n = o.el); - for (; - (p = C[w]) != null; w++) { - if (s && p) { - for (d = 0; v = e[d]; d++) - if (v(p, a, f)) { - l.push(p); - break - } T && (b = k, n = ++o.el) - } - r && ((p = !v && p) && y--, u && x.push(p)) - } - y += w; - if (r && w !== y) { - for (d = 0; v = t[d]; d++) v(x, m, a, f); - if (u) { - if (y > 0) - while (w--) !x[w] && !m[w] && (m[w] = E.call(l)); - m = lt(m) - } - S.apply(l, m), T && !u && m.length > 0 && y + t.length > 1 && nt.uniqueSort(l) - } - return T && (b = k, c = N), x - }; - return o.el = 0, r ? N(o) : o - } - - function dt(e, t, n) { - var r = 0, - i = t.length; - for (; r < i; r++) nt(e, t[r], n); - return n - } - - function vt(e, t, n, r, s) { - var o, u, f, l, c, h = ut(e), - p = h.length; - if (!r && h.length === 1) { - u = h[0] = h[0].slice(0); - if (u.length > 2 && (f = u[0]).type === "ID" && t.nodeType === 9 && !s && i.relative[u[1].type]) { - t = i.find.ID(f.matches[0].replace($, ""), t, s)[0]; - if (!t) return n; - e = e.slice(u.shift().length) - } - for (o = J.POS.test(e) ? -1 : u.length - 1; o >= 0; o--) { - f = u[o]; - if (i.relative[l = f.type]) break; - if (c = i.find[l]) - if (r = c(f.matches[0].replace($, ""), z.test(u[0].type) && t.parentNode || t, s)) { - u.splice(o, 1), e = r.length && u.join(""); - if (!e) return S.apply(n, x.call(r, 0)), n; - break - } - } - } - return a(e, h)(r, t, s, n, z.test(e)), n - } - - function mt() {} - var n, r, i, s, o, u, a, f, l, c, h = !0, - p = "undefined", - d = ("sizcache" + Math.random()).replace(".", ""), - m = String, - g = e.document, - y = g.documentElement, - b = 0, - w = 0, - E = [].pop, - S = [].push, - x = [].slice, - T = [].indexOf || function(e) { - var t = 0, - n = this.length; - for (; t < n; t++) - if (this[t] === e) return t; - return -1 - }, - N = function(e, t) { - return e[d] = t == null || t, e - }, - C = function() { - var e = {}, - t = []; - return N(function(n, r) { - return t.push(n) > i.cacheLength && delete e[t.shift()], e[n + " "] = r - }, e) - }, - k = C(), - L = C(), - A = C(), - O = "[\\x20\\t\\r\\n\\f]", - M = "(?:\\\\.|[-\\w]|[^\\x00-\\xa0])+", - _ = M.replace("w", "w#"), - D = "([*^$|!~]?=)", - P = "\\[" + O + "*(" + M + ")" + O + "*(?:" + D + O + "*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|(" + _ + ")|)|)" + O + "*\\]", - H = ":(" + M + ")(?:\\((?:(['\"])((?:\\\\.|[^\\\\])*?)\\2|([^()[\\]]*|(?:(?:" + P + ")|[^:]|\\\\.)*|.*))\\)|)", - B = ":(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + O + "*((?:-\\d)?\\d*)" + O + "*\\)|)(?=[^-]|$)", - j = new RegExp("^" + O + "+|((?:^|[^\\\\])(?:\\\\.)*)" + O + "+$", "g"), - F = new RegExp("^" + O + "*," + O + "*"), - I = new RegExp("^" + O + "*([\\x20\\t\\r\\n\\f>+~])" + O + "*"), - q = new RegExp(H), - R = /^(?:#([\w\-]+)|(\w+)|\.([\w\-]+))$/, - U = /^:not/, - z = /[\x20\t\r\n\f]*[+~]/, - W = /:not\($/, - X = /h\d/i, - V = /input|select|textarea|button/i, - $ = /\\(?!\\)/g, - J = { - ID: new RegExp("^#(" + M + ")"), - CLASS: new RegExp("^\\.(" + M + ")"), - NAME: new RegExp("^\\[name=['\"]?(" + M + ")['\"]?\\]"), - TAG: new RegExp("^(" + M.replace("w", "w*") + ")"), - ATTR: new RegExp("^" + P), - PSEUDO: new RegExp("^" + H), - POS: new RegExp(B, "i"), - CHILD: new RegExp("^:(only|nth|first|last)-child(?:\\(" + O + "*(even|odd|(([+-]|)(\\d*)n|)" + O + "*(?:([+-]|)" + O + "*(\\d+)|))" + O + "*\\)|)", "i"), - needsContext: new RegExp("^" + O + "*[>+~]|" + B, "i") - }, - K = function(e) { - var t = g.createElement("div"); - try { - return e(t) - } catch (n) { - return !1 - } finally { - t = null - } - }, - Q = K(function(e) { - return e.appendChild(g.createComment("")), !e.getElementsByTagName("*").length - }), - G = K(function(e) { - return e.innerHTML = "", e.firstChild && typeof e.firstChild.getAttribute !== p && e.firstChild.getAttribute("href") === "#" - }), - Y = K(function(e) { - e.innerHTML = ""; - var t = typeof e.lastChild.getAttribute("multiple"); - return t !== "boolean" && t !== "string" - }), - Z = K(function(e) { - return e.innerHTML = "", !e.getElementsByClassName || !e.getElementsByClassName("e").length ? !1 : (e.lastChild.className = "e", e.getElementsByClassName("e").length === 2) - }), - et = K(function(e) { - e.id = d + 0, e.innerHTML = "
", y.insertBefore(e, y.firstChild); - var t = g.getElementsByName && g.getElementsByName(d).length === 2 + g.getElementsByName(d + 0).length; - return r = !g.getElementById(d), y.removeChild(e), t - }); - try { - x.call(y.childNodes, 0)[0].nodeType - } catch (tt) { - x = function(e) { - var t, n = []; - for (; t = this[e]; e++) n.push(t); - return n - } - } - nt.matches = function(e, t) { - return nt(e, null, null, t) - }, nt.matchesSelector = function(e, t) { - return nt(t, null, null, [e]).length > 0 - }, s = nt.getText = function(e) { - var t, n = "", - r = 0, - i = e.nodeType; - if (i) { - if (i === 1 || i === 9 || i === 11) { - if (typeof e.textContent == "string") return e.textContent; - for (e = e.firstChild; e; e = e.nextSibling) n += s(e) - } else if (i === 3 || i === 4) return e.nodeValue - } else - for (; t = e[r]; r++) n += s(t); - return n - }, o = nt.isXML = function(e) { - var t = e && (e.ownerDocument || e).documentElement; - return t ? t.nodeName !== "HTML" : !1 - }, u = nt.contains = y.contains ? function(e, t) { - var n = e.nodeType === 9 ? e.documentElement : e, - r = t && t.parentNode; - return e === r || !!(r && r.nodeType === 1 && n.contains && n.contains(r)) - } : y.compareDocumentPosition ? function(e, t) { - return t && !!(e.compareDocumentPosition(t) & 16) - } : function(e, t) { - while (t = t.parentNode) - if (t === e) return !0; - return !1 - }, nt.attr = function(e, t) { - var n, r = o(e); - return r || (t = t.toLowerCase()), (n = i.attrHandle[t]) ? n(e) : r || Y ? e.getAttribute(t) : (n = e.getAttributeNode(t), n ? typeof e[t] == "boolean" ? e[t] ? t : null : n.specified ? n.value : null : null) - }, i = nt.selectors = { - cacheLength: 50, - createPseudo: N, - match: J, - attrHandle: G ? {} : { - href: function(e) { - return e.getAttribute("href", 2) - }, - type: function(e) { - return e.getAttribute("type") - } - }, - find: { - ID: r ? function(e, t, n) { - if (typeof t.getElementById !== p && !n) { - var r = t.getElementById(e); - return r && r.parentNode ? [r] : [] - } - } : function(e, n, r) { - if (typeof n.getElementById !== p && !r) { - var i = n.getElementById(e); - return i ? i.id === e || typeof i.getAttributeNode !== p && i.getAttributeNode("id").value === e ? [i] : t : [] - } - }, - TAG: Q ? function(e, t) { - if (typeof t.getElementsByTagName !== p) return t.getElementsByTagName(e) - } : function(e, t) { - var n = t.getElementsByTagName(e); - if (e === "*") { - var r, i = [], - s = 0; - for (; r = n[s]; s++) r.nodeType === 1 && i.push(r); - return i - } - return n - }, - NAME: et && function(e, t) { - if (typeof t.getElementsByName !== p) return t.getElementsByName(name) - }, - CLASS: Z && function(e, t, n) { - if (typeof t.getElementsByClassName !== p && !n) return t.getElementsByClassName(e) - } - }, - relative: { - ">": { - dir: "parentNode", - first: !0 - }, - " ": { - dir: "parentNode" - }, - "+": { - dir: "previousSibling", - first: !0 - }, - "~": { - dir: "previousSibling" - } - }, - preFilter: { - ATTR: function(e) { - return e[1] = e[1].replace($, ""), e[3] = (e[4] || e[5] || "").replace($, ""), e[2] === "~=" && (e[3] = " " + e[3] + " "), e.slice(0, 4) - }, - CHILD: function(e) { - return e[1] = e[1].toLowerCase(), e[1] === "nth" ? (e[2] || nt.error(e[0]), e[3] = +(e[3] ? e[4] + (e[5] || 1) : 2 * (e[2] === "even" || e[2] === "odd")), e[4] = +(e[6] + e[7] || e[2] === "odd")) : e[2] && nt.error(e[0]), e - }, - PSEUDO: function(e) { - var t, n; - if (J.CHILD.test(e[0])) return null; - if (e[3]) e[2] = e[3]; - else if (t = e[4]) q.test(t) && (n = ut(t, !0)) && (n = t.indexOf(")", t.length - n) - t.length) && (t = t.slice(0, n), e[0] = e[0].slice(0, n)), e[2] = t; - return e.slice(0, 3) - } - }, - filter: { - ID: r ? function(e) { - return e = e.replace($, ""), - function(t) { - return t.getAttribute("id") === e - } - } : function(e) { - return e = e.replace($, ""), - function(t) { - var n = typeof t.getAttributeNode !== p && t.getAttributeNode("id"); - return n && n.value === e - } - }, - TAG: function(e) { - return e === "*" ? function() { - return !0 - } : (e = e.replace($, "").toLowerCase(), function(t) { - return t.nodeName && t.nodeName.toLowerCase() === e - }) - }, - CLASS: function(e) { - var t = k[d][e + " "]; - return t || (t = new RegExp("(^|" + O + ")" + e + "(" + O + "|$)")) && k(e, function(e) { - return t.test(e.className || typeof e.getAttribute !== p && e.getAttribute("class") || "") - }) - }, - ATTR: function(e, t, n) { - return function(r, i) { - var s = nt.attr(r, e); - return s == null ? t === "!=" : t ? (s += "", t === "=" ? s === n : t === "!=" ? s !== n : t === "^=" ? n && s.indexOf(n) === 0 : t === "*=" ? n && s.indexOf(n) > -1 : t === "$=" ? n && s.substr(s.length - n.length) === n : t === "~=" ? (" " + s + " ").indexOf(n) > -1 : t === "|=" ? s === n || s.substr(0, n.length + 1) === n + "-" : !1) : !0 - } - }, - CHILD: function(e, t, n, r) { - return e === "nth" ? function(e) { - var t, i, s = e.parentNode; - if (n === 1 && r === 0) return !0; - if (s) { - i = 0; - for (t = s.firstChild; t; t = t.nextSibling) - if (t.nodeType === 1) { - i++; - if (e === t) break - } - } - return i -= r, i === n || i % n === 0 && i / n >= 0 - } : function(t) { - var n = t; - switch (e) { - case "only": - case "first": - while (n = n.previousSibling) - if (n.nodeType === 1) return !1; - if (e === "first") return !0; - n = t; - case "last": - while (n = n.nextSibling) - if (n.nodeType === 1) return !1; - return !0 - } - } - }, - PSEUDO: function(e, t) { - var n, r = i.pseudos[e] || i.setFilters[e.toLowerCase()] || nt.error("unsupported pseudo: " + e); - return r[d] ? r(t) : r.length > 1 ? (n = [e, e, "", t], i.setFilters.hasOwnProperty(e.toLowerCase()) ? N(function(e, n) { - var i, s = r(e, t), - o = s.length; - while (o--) i = T.call(e, s[o]), e[i] = !(n[i] = s[o]) - }) : function(e) { - return r(e, 0, n) - }) : r - } - }, - pseudos: { - not: N(function(e) { - var t = [], - n = [], - r = a(e.replace(j, "$1")); - return r[d] ? N(function(e, t, n, i) { - var s, o = r(e, null, i, []), - u = e.length; - while (u--) - if (s = o[u]) e[u] = !(t[u] = s) - }) : function(e, i, s) { - return t[0] = e, r(t, null, s, n), !n.pop() - } - }), - has: N(function(e) { - return function(t) { - return nt(e, t).length > 0 - } - }), - contains: N(function(e) { - return function(t) { - return (t.textContent || t.innerText || s(t)).indexOf(e) > -1 - } - }), - enabled: function(e) { - return e.disabled === !1 - }, - disabled: function(e) { - return e.disabled === !0 - }, - checked: function(e) { - var t = e.nodeName.toLowerCase(); - return t === "input" && !!e.checked || t === "option" && !!e.selected - }, - selected: function(e) { - return e.parentNode && e.parentNode.selectedIndex, e.selected === !0 - }, - parent: function(e) { - return !i.pseudos.empty(e) - }, - empty: function(e) { - var t; - e = e.firstChild; - while (e) { - if (e.nodeName > "@" || (t = e.nodeType) === 3 || t === 4) return !1; - e = e.nextSibling - } - return !0 - }, - header: function(e) { - return X.test(e.nodeName) - }, - text: function(e) { - var t, n; - return e.nodeName.toLowerCase() === "input" && (t = e.type) === "text" && ((n = e.getAttribute("type")) == null || n.toLowerCase() === t) - }, - radio: rt("radio"), - checkbox: rt("checkbox"), - file: rt("file"), - password: rt("password"), - image: rt("image"), - submit: it("submit"), - reset: it("reset"), - button: function(e) { - var t = e.nodeName.toLowerCase(); - return t === "input" && e.type === "button" || t === "button" - }, - input: function(e) { - return V.test(e.nodeName) - }, - focus: function(e) { - var t = e.ownerDocument; - return e === t.activeElement && (!t.hasFocus || t.hasFocus()) && !!(e.type || e.href || ~e.tabIndex) - }, - active: function(e) { - return e === e.ownerDocument.activeElement - }, - first: st(function() { - return [0] - }), - last: st(function(e, t) { - return [t - 1] - }), - eq: st(function(e, t, n) { - return [n < 0 ? n + t : n] - }), - even: st(function(e, t) { - for (var n = 0; n < t; n += 2) e.push(n); - return e - }), - odd: st(function(e, t) { - for (var n = 1; n < t; n += 2) e.push(n); - return e - }), - lt: st(function(e, t, n) { - for (var r = n < 0 ? n + t : n; --r >= 0;) e.push(r); - return e - }), - gt: st(function(e, t, n) { - for (var r = n < 0 ? n + t : n; ++r < t;) e.push(r); - return e - }) - } - }, f = y.compareDocumentPosition ? function(e, t) { - return e === t ? (l = !0, 0) : (!e.compareDocumentPosition || !t.compareDocumentPosition ? e.compareDocumentPosition : e.compareDocumentPosition(t) & 4) ? -1 : 1 - } : function(e, t) { - if (e === t) return l = !0, 0; - if (e.sourceIndex && t.sourceIndex) return e.sourceIndex - t.sourceIndex; - var n, r, i = [], - s = [], - o = e.parentNode, - u = t.parentNode, - a = o; - if (o === u) return ot(e, t); - if (!o) return -1; - if (!u) return 1; - while (a) i.unshift(a), a = a.parentNode; - a = u; - while (a) s.unshift(a), a = a.parentNode; - n = i.length, r = s.length; - for (var f = 0; f < n && f < r; f++) - if (i[f] !== s[f]) return ot(i[f], s[f]); - return f === n ? ot(e, s[f], -1) : ot(i[f], t, 1) - }, [0, 0].sort(f), h = !l, nt.uniqueSort = function(e) { - var t, n = [], - r = 1, - i = 0; - l = h, e.sort(f); - if (l) { - for (; t = e[r]; r++) t === e[r - 1] && (i = n.push(r)); - while (i--) e.splice(n[i], 1) - } - return e - }, nt.error = function(e) { - throw new Error("Syntax error, unrecognized expression: " + e) - }, a = nt.compile = function(e, t) { - var n, r = [], - i = [], - s = A[d][e + " "]; - if (!s) { - t || (t = ut(e)), n = t.length; - while (n--) s = ht(t[n]), s[d] ? r.push(s) : i.push(s); - s = A(e, pt(i, r)) - } - return s - }, g.querySelectorAll && function() { - var e, t = vt, - n = /'|\\/g, - r = /\=[\x20\t\r\n\f]*([^'"\]]*)[\x20\t\r\n\f]*\]/g, - i = [":focus"], - s = [":active"], - u = y.matchesSelector || y.mozMatchesSelector || y.webkitMatchesSelector || y.oMatchesSelector || y.msMatchesSelector; - K(function(e) { - e.innerHTML = "", e.querySelectorAll("[selected]").length || i.push("\\[" + O + "*(?:checked|disabled|ismap|multiple|readonly|selected|value)"), e.querySelectorAll(":checked").length || i.push(":checked") - }), K(function(e) { - e.innerHTML = "

", e.querySelectorAll("[test^='']").length && i.push("[*^$]=" + O + "*(?:\"\"|'')"), e.innerHTML = "", e.querySelectorAll(":enabled").length || i.push(":enabled", ":disabled") - }), i = new RegExp(i.join("|")), vt = function(e, r, s, o, u) { - if (!o && !u && !i.test(e)) { - var a, f, l = !0, - c = d, - h = r, - p = r.nodeType === 9 && e; - if (r.nodeType === 1 && r.nodeName.toLowerCase() !== "object") { - a = ut(e), (l = r.getAttribute("id")) ? c = l.replace(n, "\\$&") : r.setAttribute("id", c), c = "[id='" + c + "'] ", f = a.length; - while (f--) a[f] = c + a[f].join(""); - h = z.test(e) && r.parentNode || r, p = a.join(",") - } - if (p) try { - return S.apply(s, x.call(h.querySelectorAll(p), 0)), s - } catch (v) {} finally { - l || r.removeAttribute("id") - } - } - return t(e, r, s, o, u) - }, u && (K(function(t) { - e = u.call(t, "div"); - try { - u.call(t, "[test!='']:sizzle"), s.push("!=", H) - } catch (n) {} - }), s = new RegExp(s.join("|")), nt.matchesSelector = function(t, n) { - n = n.replace(r, "='$1']"); - if (!o(t) && !s.test(n) && !i.test(n)) try { - var a = u.call(t, n); - if (a || e || t.document && t.document.nodeType !== 11) return a - } catch (f) {} - return nt(n, null, null, [t]).length > 0 - }) - }(), i.pseudos.nth = i.pseudos.eq, i.filters = mt.prototype = i.pseudos, i.setFilters = new mt, nt.attr = v.attr, v.find = nt, v.expr = nt.selectors, v.expr[":"] = v.expr.pseudos, v.unique = nt.uniqueSort, v.text = nt.getText, v.isXMLDoc = nt.isXML, v.contains = nt.contains - }(e); - var nt = /Until$/, - rt = /^(?:parents|prev(?:Until|All))/, - it = /^.[^:#\[\.,]*$/, - st = v.expr.match.needsContext, - ot = { - children: !0, - contents: !0, - next: !0, - prev: !0 - }; - v.fn.extend({ - find: function(e) { - var t, n, r, i, s, o, u = this; - if (typeof e != "string") return v(e).filter(function() { - for (t = 0, n = u.length; t < n; t++) - if (v.contains(u[t], this)) return !0 - }); - o = this.pushStack("", "find", e); - for (t = 0, n = this.length; t < n; t++) { - r = o.length, v.find(e, this[t], o); - if (t > 0) - for (i = r; i < o.length; i++) - for (s = 0; s < r; s++) - if (o[s] === o[i]) { - o.splice(i--, 1); - break - } - } - return o - }, - has: function(e) { - var t, n = v(e, this), - r = n.length; - return this.filter(function() { - for (t = 0; t < r; t++) - if (v.contains(this, n[t])) return !0 - }) - }, - not: function(e) { - return this.pushStack(ft(this, e, !1), "not", e) - }, - filter: function(e) { - return this.pushStack(ft(this, e, !0), "filter", e) - }, - is: function(e) { - return !!e && (typeof e == "string" ? st.test(e) ? v(e, this.context).index(this[0]) >= 0 : v.filter(e, this).length > 0 : this.filter(e).length > 0) - }, - closest: function(e, t) { - var n, r = 0, - i = this.length, - s = [], - o = st.test(e) || typeof e != "string" ? v(e, t || this.context) : 0; - for (; r < i; r++) { - n = this[r]; - while (n && n.ownerDocument && n !== t && n.nodeType !== 11) { - if (o ? o.index(n) > -1 : v.find.matchesSelector(n, e)) { - s.push(n); - break - } - n = n.parentNode - } - } - return s = s.length > 1 ? v.unique(s) : s, this.pushStack(s, "closest", e) - }, - index: function(e) { - return e ? typeof e == "string" ? v.inArray(this[0], v(e)) : v.inArray(e.jquery ? e[0] : e, this) : this[0] && this[0].parentNode ? this.prevAll().length : -1 - }, - add: function(e, t) { - var n = typeof e == "string" ? v(e, t) : v.makeArray(e && e.nodeType ? [e] : e), - r = v.merge(this.get(), n); - return this.pushStack(ut(n[0]) || ut(r[0]) ? r : v.unique(r)) - }, - addBack: function(e) { - return this.add(e == null ? this.prevObject : this.prevObject.filter(e)) - } - }), v.fn.andSelf = v.fn.addBack, v.each({ - parent: function(e) { - var t = e.parentNode; - return t && t.nodeType !== 11 ? t : null - }, - parents: function(e) { - return v.dir(e, "parentNode") - }, - parentsUntil: function(e, t, n) { - return v.dir(e, "parentNode", n) - }, - next: function(e) { - return at(e, "nextSibling") - }, - prev: function(e) { - return at(e, "previousSibling") - }, - nextAll: function(e) { - return v.dir(e, "nextSibling") - }, - prevAll: function(e) { - return v.dir(e, "previousSibling") - }, - nextUntil: function(e, t, n) { - return v.dir(e, "nextSibling", n) - }, - prevUntil: function(e, t, n) { - return v.dir(e, "previousSibling", n) - }, - siblings: function(e) { - return v.sibling((e.parentNode || {}).firstChild, e) - }, - children: function(e) { - return v.sibling(e.firstChild) - }, - contents: function(e) { - return v.nodeName(e, "iframe") ? e.contentDocument || e.contentWindow.document : v.merge([], e.childNodes) - } - }, function(e, t) { - v.fn[e] = function(n, r) { - var i = v.map(this, t, n); - return nt.test(e) || (r = n), r && typeof r == "string" && (i = v.filter(r, i)), i = this.length > 1 && !ot[e] ? v.unique(i) : i, this.length > 1 && rt.test(e) && (i = i.reverse()), this.pushStack(i, e, l.call(arguments).join(",")) - } - }), v.extend({ - filter: function(e, t, n) { - return n && (e = ":not(" + e + ")"), t.length === 1 ? v.find.matchesSelector(t[0], e) ? [t[0]] : [] : v.find.matches(e, t) - }, - dir: function(e, n, r) { - var i = [], - s = e[n]; - while (s && s.nodeType !== 9 && (r === t || s.nodeType !== 1 || !v(s).is(r))) s.nodeType === 1 && i.push(s), s = s[n]; - return i - }, - sibling: function(e, t) { - var n = []; - for (; e; e = e.nextSibling) e.nodeType === 1 && e !== t && n.push(e); - return n - } - }); - var ct = "abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video", - ht = / jQuery\d+="(?:null|\d+)"/g, - pt = /^\s+/, - dt = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi, - vt = /<([\w:]+)/, - mt = /]", "i"), - Et = /^(?:checkbox|radio)$/, - St = /checked\s*(?:[^=]|=\s*.checked.)/i, - xt = /\/(java|ecma)script/i, - Tt = /^\s*\s*$/g, - Nt = { - option: [1, ""], - legend: [1, "
", "
"], - thead: [1, "", "
"], - tr: [2, "", "
"], - td: [3, "", "
"], - col: [2, "", "
"], - area: [1, "", ""], - _default: [0, "", ""] - }, - Ct = lt(i), - kt = Ct.appendChild(i.createElement("div")); - Nt.optgroup = Nt.option, Nt.tbody = Nt.tfoot = Nt.colgroup = Nt.caption = Nt.thead, Nt.th = Nt.td, v.support.htmlSerialize || (Nt._default = [1, "X
", "
"]), v.fn.extend({ - text: function(e) { - return v.access(this, function(e) { - return e === t ? v.text(this) : this.empty().append((this[0] && this[0].ownerDocument || i).createTextNode(e)) - }, null, e, arguments.length) - }, - wrapAll: function(e) { - if (v.isFunction(e)) return this.each(function(t) { - v(this).wrapAll(e.call(this, t)) - }); - if (this[0]) { - var t = v(e, this[0].ownerDocument).eq(0).clone(!0); - this[0].parentNode && t.insertBefore(this[0]), t.map(function() { - var e = this; - while (e.firstChild && e.firstChild.nodeType === 1) e = e.firstChild; - return e - }).append(this) - } - return this - }, - wrapInner: function(e) { - return v.isFunction(e) ? this.each(function(t) { - v(this).wrapInner(e.call(this, t)) - }) : this.each(function() { - var t = v(this), - n = t.contents(); - n.length ? n.wrapAll(e) : t.append(e) - }) - }, - wrap: function(e) { - var t = v.isFunction(e); - return this.each(function(n) { - v(this).wrapAll(t ? e.call(this, n) : e) - }) - }, - unwrap: function() { - return this.parent().each(function() { - v.nodeName(this, "body") || v(this).replaceWith(this.childNodes) - }).end() - }, - append: function() { - return this.domManip(arguments, !0, function(e) { - (this.nodeType === 1 || this.nodeType === 11) && this.appendChild(e) - }) - }, - prepend: function() { - return this.domManip(arguments, !0, function(e) { - (this.nodeType === 1 || this.nodeType === 11) && this.insertBefore(e, this.firstChild) - }) - }, - before: function() { - if (!ut(this[0])) return this.domManip(arguments, !1, function(e) { - this.parentNode.insertBefore(e, this) - }); - if (arguments.length) { - var e = v.clean(arguments); - return this.pushStack(v.merge(e, this), "before", this.selector) - } - }, - after: function() { - if (!ut(this[0])) return this.domManip(arguments, !1, function(e) { - this.parentNode.insertBefore(e, this.nextSibling) - }); - if (arguments.length) { - var e = v.clean(arguments); - return this.pushStack(v.merge(this, e), "after", this.selector) - } - }, - remove: function(e, t) { - var n, r = 0; - for (; - (n = this[r]) != null; r++) - if (!e || v.filter(e, [n]).length) !t && n.nodeType === 1 && (v.cleanData(n.getElementsByTagName("*")), v.cleanData([n])), n.parentNode && n.parentNode.removeChild(n); - return this - }, - empty: function() { - var e, t = 0; - for (; - (e = this[t]) != null; t++) { - e.nodeType === 1 && v.cleanData(e.getElementsByTagName("*")); - while (e.firstChild) e.removeChild(e.firstChild) - } - return this - }, - clone: function(e, t) { - return e = e == null ? !1 : e, t = t == null ? e : t, this.map(function() { - return v.clone(this, e, t) - }) - }, - html: function(e) { - return v.access(this, function(e) { - var n = this[0] || {}, - r = 0, - i = this.length; - if (e === t) return n.nodeType === 1 ? n.innerHTML.replace(ht, "") : t; - if (typeof e == "string" && !yt.test(e) && (v.support.htmlSerialize || !wt.test(e)) && (v.support.leadingWhitespace || !pt.test(e)) && !Nt[(vt.exec(e) || ["", ""])[1].toLowerCase()]) { - e = e.replace(dt, "<$1>"); - try { - for (; r < i; r++) n = this[r] || {}, n.nodeType === 1 && (v.cleanData(n.getElementsByTagName("*")), n.innerHTML = e); - n = 0 - } catch (s) {} - } - n && this.empty().append(e) - }, null, e, arguments.length) - }, - replaceWith: function(e) { - return ut(this[0]) ? this.length ? this.pushStack(v(v.isFunction(e) ? e() : e), "replaceWith", e) : this : v.isFunction(e) ? this.each(function(t) { - var n = v(this), - r = n.html(); - n.replaceWith(e.call(this, t, r)) - }) : (typeof e != "string" && (e = v(e).detach()), this.each(function() { - var t = this.nextSibling, - n = this.parentNode; - v(this).remove(), t ? v(t).before(e) : v(n).append(e) - })) - }, - detach: function(e) { - return this.remove(e, !0) - }, - domManip: function(e, n, r) { - e = [].concat.apply([], e); - var i, s, o, u, a = 0, - f = e[0], - l = [], - c = this.length; - if (!v.support.checkClone && c > 1 && typeof f == "string" && St.test(f)) return this.each(function() { - v(this).domManip(e, n, r) - }); - if (v.isFunction(f)) return this.each(function(i) { - var s = v(this); - e[0] = f.call(this, i, n ? s.html() : t), s.domManip(e, n, r) - }); - if (this[0]) { - i = v.buildFragment(e, this, l), o = i.fragment, s = o.firstChild, o.childNodes.length === 1 && (o = s); - if (s) { - n = n && v.nodeName(s, "tr"); - for (u = i.cacheable || c - 1; a < c; a++) r.call(n && v.nodeName(this[a], "table") ? Lt(this[a], "tbody") : this[a], a === u ? o : v.clone(o, !0, !0)) - } - o = s = null, l.length && v.each(l, function(e, t) { - t.src ? v.ajax ? v.ajax({ - url: t.src, - type: "GET", - dataType: "script", - async: !1, - global: !1, - "throws": !0 - }) : v.error("no ajax") : v.globalEval((t.text || t.textContent || t.innerHTML || "").replace(Tt, "")), t.parentNode && t.parentNode.removeChild(t) - }) - } - return this - } - }), v.buildFragment = function(e, n, r) { - var s, o, u, a = e[0]; - return n = n || i, n = !n.nodeType && n[0] || n, n = n.ownerDocument || n, e.length === 1 && typeof a == "string" && a.length < 512 && n === i && a.charAt(0) === "<" && !bt.test(a) && (v.support.checkClone || !St.test(a)) && (v.support.html5Clone || !wt.test(a)) && (o = !0, s = v.fragments[a], u = s !== t), s || (s = n.createDocumentFragment(), v.clean(e, n, s, r), o && (v.fragments[a] = u && s)), { - fragment: s, - cacheable: o - } - }, v.fragments = {}, v.each({ - appendTo: "append", - prependTo: "prepend", - insertBefore: "before", - insertAfter: "after", - replaceAll: "replaceWith" - }, function(e, t) { - v.fn[e] = function(n) { - var r, i = 0, - s = [], - o = v(n), - u = o.length, - a = this.length === 1 && this[0].parentNode; - if ((a == null || a && a.nodeType === 11 && a.childNodes.length === 1) && u === 1) return o[t](this[0]), this; - for (; i < u; i++) r = (i > 0 ? this.clone(!0) : this).get(), v(o[i])[t](r), s = s.concat(r); - return this.pushStack(s, e, o.selector) - } - }), v.extend({ - clone: function(e, t, n) { - var r, i, s, o; - v.support.html5Clone || v.isXMLDoc(e) || !wt.test("<" + e.nodeName + ">") ? o = e.cloneNode(!0) : (kt.innerHTML = e.outerHTML, kt.removeChild(o = kt.firstChild)); - if ((!v.support.noCloneEvent || !v.support.noCloneChecked) && (e.nodeType === 1 || e.nodeType === 11) && !v.isXMLDoc(e)) { - Ot(e, o), r = Mt(e), i = Mt(o); - for (s = 0; r[s]; ++s) i[s] && Ot(r[s], i[s]) - } - if (t) { - At(e, o); - if (n) { - r = Mt(e), i = Mt(o); - for (s = 0; r[s]; ++s) At(r[s], i[s]) - } - } - return r = i = null, o - }, - clean: function(e, t, n, r) { - var s, o, u, a, f, l, c, h, p, d, m, g, y = t === i && Ct, - b = []; - if (!t || typeof t.createDocumentFragment == "undefined") t = i; - for (s = 0; - (u = e[s]) != null; s++) { - typeof u == "number" && (u += ""); - if (!u) continue; - if (typeof u == "string") - if (!gt.test(u)) u = t.createTextNode(u); - else { - y = y || lt(t), c = t.createElement("div"), y.appendChild(c), u = u.replace(dt, "<$1>"), a = (vt.exec(u) || ["", ""])[1].toLowerCase(), f = Nt[a] || Nt._default, l = f[0], c.innerHTML = f[1] + u + f[2]; - while (l--) c = c.lastChild; - if (!v.support.tbody) { - h = mt.test(u), p = a === "table" && !h ? c.firstChild && c.firstChild.childNodes : f[1] === "" && !h ? c.childNodes : []; - for (o = p.length - 1; o >= 0; --o) v.nodeName(p[o], "tbody") && !p[o].childNodes.length && p[o].parentNode.removeChild(p[o]) - }!v.support.leadingWhitespace && pt.test(u) && c.insertBefore(t.createTextNode(pt.exec(u)[0]), c.firstChild), u = c.childNodes, c.parentNode.removeChild(c) - } u.nodeType ? b.push(u) : v.merge(b, u) - } - c && (u = c = y = null); - if (!v.support.appendChecked) - for (s = 0; - (u = b[s]) != null; s++) v.nodeName(u, "input") ? _t(u) : typeof u.getElementsByTagName != "undefined" && v.grep(u.getElementsByTagName("input"), _t); - if (n) { - m = function(e) { - if (!e.type || xt.test(e.type)) return r ? r.push(e.parentNode ? e.parentNode.removeChild(e) : e) : n.appendChild(e) - }; - for (s = 0; - (u = b[s]) != null; s++) - if (!v.nodeName(u, "script") || !m(u)) n.appendChild(u), typeof u.getElementsByTagName != "undefined" && (g = v.grep(v.merge([], u.getElementsByTagName("script")), m), b.splice.apply(b, [s + 1, 0].concat(g)), s += g.length) - } - return b - }, - cleanData: function(e, t) { - var n, r, i, s, o = 0, - u = v.expando, - a = v.cache, - f = v.support.deleteExpando, - l = v.event.special; - for (; - (i = e[o]) != null; o++) - if (t || v.acceptData(i)) { - r = i[u], n = r && a[r]; - if (n) { - if (n.events) - for (s in n.events) l[s] ? v.event.remove(i, s) : v.removeEvent(i, s, n.handle); - a[r] && (delete a[r], f ? delete i[u] : i.removeAttribute ? i.removeAttribute(u) : i[u] = null, v.deletedIds.push(r)) - } - } - } - }), - function() { - var e, t; - v.uaMatch = function(e) { - e = e.toLowerCase(); - var t = /(chrome)[ \/]([\w.]+)/.exec(e) || /(webkit)[ \/]([\w.]+)/.exec(e) || /(opera)(?:.*version|)[ \/]([\w.]+)/.exec(e) || /(msie) ([\w.]+)/.exec(e) || e.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec(e) || []; - return { - browser: t[1] || "", - version: t[2] || "0" - } - }, e = v.uaMatch(o.userAgent), t = {}, e.browser && (t[e.browser] = !0, t.version = e.version), t.chrome ? t.webkit = !0 : t.webkit && (t.safari = !0), v.browser = t, v.sub = function() { - function e(t, n) { - return new e.fn.init(t, n) - } - v.extend(!0, e, this), e.superclass = this, e.fn = e.prototype = this(), e.fn.constructor = e, e.sub = this.sub, e.fn.init = function(r, i) { - return i && i instanceof v && !(i instanceof e) && (i = e(i)), v.fn.init.call(this, r, i, t) - }, e.fn.init.prototype = e.fn; - var t = e(i); - return e - } - }(); - var Dt, Pt, Ht, Bt = /alpha\([^)]*\)/i, - jt = /opacity=([^)]*)/, - Ft = /^(top|right|bottom|left)$/, - It = /^(none|table(?!-c[ea]).+)/, - qt = /^margin/, - Rt = new RegExp("^(" + m + ")(.*)$", "i"), - Ut = new RegExp("^(" + m + ")(?!px)[a-z%]+$", "i"), - zt = new RegExp("^([-+])=(" + m + ")", "i"), - Wt = { - BODY: "block" - }, - Xt = { - position: "absolute", - visibility: "hidden", - display: "block" - }, - Vt = { - letterSpacing: 0, - fontWeight: 400 - }, - $t = ["Top", "Right", "Bottom", "Left"], - Jt = ["Webkit", "O", "Moz", "ms"], - Kt = v.fn.toggle; - v.fn.extend({ - css: function(e, n) { - return v.access(this, function(e, n, r) { - return r !== t ? v.style(e, n, r) : v.css(e, n) - }, e, n, arguments.length > 1) - }, - show: function() { - return Yt(this, !0) - }, - hide: function() { - return Yt(this) - }, - toggle: function(e, t) { - var n = typeof e == "boolean"; - return v.isFunction(e) && v.isFunction(t) ? Kt.apply(this, arguments) : this.each(function() { - (n ? e : Gt(this)) ? v(this).show(): v(this).hide() - }) - } - }), v.extend({ - cssHooks: { - opacity: { - get: function(e, t) { - if (t) { - var n = Dt(e, "opacity"); - return n === "" ? "1" : n - } - } - } - }, - cssNumber: { - fillOpacity: !0, - fontWeight: !0, - lineHeight: !0, - opacity: !0, - orphans: !0, - widows: !0, - zIndex: !0, - zoom: !0 - }, - cssProps: { - "float": v.support.cssFloat ? "cssFloat" : "styleFloat" - }, - style: function(e, n, r, i) { - if (!e || e.nodeType === 3 || e.nodeType === 8 || !e.style) return; - var s, o, u, a = v.camelCase(n), - f = e.style; - n = v.cssProps[a] || (v.cssProps[a] = Qt(f, a)), u = v.cssHooks[n] || v.cssHooks[a]; - if (r === t) return u && "get" in u && (s = u.get(e, !1, i)) !== t ? s : f[n]; - o = typeof r, o === "string" && (s = zt.exec(r)) && (r = (s[1] + 1) * s[2] + parseFloat(v.css(e, n)), o = "number"); - if (r == null || o === "number" && isNaN(r)) return; - o === "number" && !v.cssNumber[a] && (r += "px"); - if (!u || !("set" in u) || (r = u.set(e, r, i)) !== t) try { - f[n] = r - } catch (l) {} - }, - css: function(e, n, r, i) { - var s, o, u, a = v.camelCase(n); - return n = v.cssProps[a] || (v.cssProps[a] = Qt(e.style, a)), u = v.cssHooks[n] || v.cssHooks[a], u && "get" in u && (s = u.get(e, !0, i)), s === t && (s = Dt(e, n)), s === "normal" && n in Vt && (s = Vt[n]), r || i !== t ? (o = parseFloat(s), r || v.isNumeric(o) ? o || 0 : s) : s - }, - swap: function(e, t, n) { - var r, i, s = {}; - for (i in t) s[i] = e.style[i], e.style[i] = t[i]; - r = n.call(e); - for (i in t) e.style[i] = s[i]; - return r - } - }), e.getComputedStyle ? Dt = function(t, n) { - var r, i, s, o, u = e.getComputedStyle(t, null), - a = t.style; - return u && (r = u.getPropertyValue(n) || u[n], r === "" && !v.contains(t.ownerDocument, t) && (r = v.style(t, n)), Ut.test(r) && qt.test(n) && (i = a.width, s = a.minWidth, o = a.maxWidth, a.minWidth = a.maxWidth = a.width = r, r = u.width, a.width = i, a.minWidth = s, a.maxWidth = o)), r - } : i.documentElement.currentStyle && (Dt = function(e, t) { - var n, r, i = e.currentStyle && e.currentStyle[t], - s = e.style; - return i == null && s && s[t] && (i = s[t]), Ut.test(i) && !Ft.test(t) && (n = s.left, r = e.runtimeStyle && e.runtimeStyle.left, r && (e.runtimeStyle.left = e.currentStyle.left), s.left = t === "fontSize" ? "1em" : i, i = s.pixelLeft + "px", s.left = n, r && (e.runtimeStyle.left = r)), i === "" ? "auto" : i - }), v.each(["height", "width"], function(e, t) { - v.cssHooks[t] = { - get: function(e, n, r) { - if (n) return e.offsetWidth === 0 && It.test(Dt(e, "display")) ? v.swap(e, Xt, function() { - return tn(e, t, r) - }) : tn(e, t, r) - }, - set: function(e, n, r) { - return Zt(e, n, r ? en(e, t, r, v.support.boxSizing && v.css(e, "boxSizing") === "border-box") : 0) - } - } - }), v.support.opacity || (v.cssHooks.opacity = { - get: function(e, t) { - return jt.test((t && e.currentStyle ? e.currentStyle.filter : e.style.filter) || "") ? .01 * parseFloat(RegExp.$1) + "" : t ? "1" : "" - }, - set: function(e, t) { - var n = e.style, - r = e.currentStyle, - i = v.isNumeric(t) ? "alpha(opacity=" + t * 100 + ")" : "", - s = r && r.filter || n.filter || ""; - n.zoom = 1; - if (t >= 1 && v.trim(s.replace(Bt, "")) === "" && n.removeAttribute) { - n.removeAttribute("filter"); - if (r && !r.filter) return - } - n.filter = Bt.test(s) ? s.replace(Bt, i) : s + " " + i - } - }), v(function() { - v.support.reliableMarginRight || (v.cssHooks.marginRight = { - get: function(e, t) { - return v.swap(e, { - display: "inline-block" - }, function() { - if (t) return Dt(e, "marginRight") - }) - } - }), !v.support.pixelPosition && v.fn.position && v.each(["top", "left"], function(e, t) { - v.cssHooks[t] = { - get: function(e, n) { - if (n) { - var r = Dt(e, t); - return Ut.test(r) ? v(e).position()[t] + "px" : r - } - } - } - }) - }), v.expr && v.expr.filters && (v.expr.filters.hidden = function(e) { - return e.offsetWidth === 0 && e.offsetHeight === 0 || !v.support.reliableHiddenOffsets && (e.style && e.style.display || Dt(e, "display")) === "none" - }, v.expr.filters.visible = function(e) { - return !v.expr.filters.hidden(e) - }), v.each({ - margin: "", - padding: "", - border: "Width" - }, function(e, t) { - v.cssHooks[e + t] = { - expand: function(n) { - var r, i = typeof n == "string" ? n.split(" ") : [n], - s = {}; - for (r = 0; r < 4; r++) s[e + $t[r] + t] = i[r] || i[r - 2] || i[0]; - return s - } - }, qt.test(e) || (v.cssHooks[e + t].set = Zt) - }); - var rn = /%20/g, - sn = /\[\]$/, - on = /\r?\n/g, - un = /^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i, - an = /^(?:select|textarea)/i; - v.fn.extend({ - serialize: function() { - return v.param(this.serializeArray()) - }, - serializeArray: function() { - return this.map(function() { - return this.elements ? v.makeArray(this.elements) : this - }).filter(function() { - return this.name && !this.disabled && (this.checked || an.test(this.nodeName) || un.test(this.type)) - }).map(function(e, t) { - var n = v(this).val(); - return n == null ? null : v.isArray(n) ? v.map(n, function(e, n) { - return { - name: t.name, - value: e.replace(on, "\r\n") - } - }) : { - name: t.name, - value: n.replace(on, "\r\n") - } - }).get() - } - }), v.param = function(e, n) { - var r, i = [], - s = function(e, t) { - t = v.isFunction(t) ? t() : t == null ? "" : t, i[i.length] = encodeURIComponent(e) + "=" + encodeURIComponent(t) - }; - n === t && (n = v.ajaxSettings && v.ajaxSettings.traditional); - if (v.isArray(e) || e.jquery && !v.isPlainObject(e)) v.each(e, function() { - s(this.name, this.value) - }); - else - for (r in e) fn(r, e[r], n, s); - return i.join("&").replace(rn, "+") - }; - var ln, cn, hn = /#.*$/, - pn = /^(.*?):[ \t]*([^\r\n]*)\r?$/mg, - dn = /^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/, - vn = /^(?:GET|HEAD)$/, - mn = /^\/\//, - gn = /\?/, - yn = /)<[^<]*)*<\/script>/gi, - bn = /([?&])_=[^&]*/, - wn = /^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/, - En = v.fn.load, - Sn = {}, - xn = {}, - Tn = ["*/"] + ["*"]; - try { - cn = s.href - } catch (Nn) { - cn = i.createElement("a"), cn.href = "", cn = cn.href - } - ln = wn.exec(cn.toLowerCase()) || [], v.fn.load = function(e, n, r) { - if (typeof e != "string" && En) return En.apply(this, arguments); - if (!this.length) return this; - var i, s, o, u = this, - a = e.indexOf(" "); - return a >= 0 && (i = e.slice(a, e.length), e = e.slice(0, a)), v.isFunction(n) ? (r = n, n = t) : n && typeof n == "object" && (s = "POST"), v.ajax({ - url: e, - type: s, - dataType: "html", - data: n, - complete: function(e, t) { - r && u.each(r, o || [e.responseText, t, e]) - } - }).done(function(e) { - o = arguments, u.html(i ? v("
").append(e.replace(yn, "")).find(i) : e) - }), this - }, v.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "), function(e, t) { - v.fn[t] = function(e) { - return this.on(t, e) - } - }), v.each(["get", "post"], function(e, n) { - v[n] = function(e, r, i, s) { - return v.isFunction(r) && (s = s || i, i = r, r = t), v.ajax({ - type: n, - url: e, - data: r, - success: i, - dataType: s - }) - } - }), v.extend({ - getScript: function(e, n) { - return v.get(e, t, n, "script") - }, - getJSON: function(e, t, n) { - return v.get(e, t, n, "json") - }, - ajaxSetup: function(e, t) { - return t ? Ln(e, v.ajaxSettings) : (t = e, e = v.ajaxSettings), Ln(e, t), e - }, - ajaxSettings: { - url: cn, - isLocal: dn.test(ln[1]), - global: !0, - type: "GET", - contentType: "application/x-www-form-urlencoded; charset=UTF-8", - processData: !0, - async: !0, - accepts: { - xml: "application/xml, text/xml", - html: "text/html", - text: "text/plain", - json: "application/json, text/javascript", - "*": Tn - }, - contents: { - xml: /xml/, - html: /html/, - json: /json/ - }, - responseFields: { - xml: "responseXML", - text: "responseText" - }, - converters: { - "* text": e.String, - "text html": !0, - "text json": v.parseJSON, - "text xml": v.parseXML - }, - flatOptions: { - context: !0, - url: !0 - } - }, - ajaxPrefilter: Cn(Sn), - ajaxTransport: Cn(xn), - ajax: function(e, n) { - function T(e, n, s, a) { - var l, y, b, w, S, T = n; - if (E === 2) return; - E = 2, u && clearTimeout(u), o = t, i = a || "", x.readyState = e > 0 ? 4 : 0, s && (w = An(c, x, s)); - if (e >= 200 && e < 300 || e === 304) c.ifModified && (S = x.getResponseHeader("Last-Modified"), S && (v.lastModified[r] = S), S = x.getResponseHeader("Etag"), S && (v.etag[r] = S)), e === 304 ? (T = "notmodified", l = !0) : (l = On(c, w), T = l.state, y = l.data, b = l.error, l = !b); - else { - b = T; - if (!T || e) T = "error", e < 0 && (e = 0) - } - x.status = e, x.statusText = (n || T) + "", l ? d.resolveWith(h, [y, T, x]) : d.rejectWith(h, [x, T, b]), x.statusCode(g), g = t, f && p.trigger("ajax" + (l ? "Success" : "Error"), [x, c, l ? y : b]), m.fireWith(h, [x, T]), f && (p.trigger("ajaxComplete", [x, c]), --v.active || v.event.trigger("ajaxStop")) - } - typeof e == "object" && (n = e, e = t), n = n || {}; - var r, i, s, o, u, a, f, l, c = v.ajaxSetup({}, n), - h = c.context || c, - p = h !== c && (h.nodeType || h instanceof v) ? v(h) : v.event, - d = v.Deferred(), - m = v.Callbacks("once memory"), - g = c.statusCode || {}, - b = {}, - w = {}, - E = 0, - S = "canceled", - x = { - readyState: 0, - setRequestHeader: function(e, t) { - if (!E) { - var n = e.toLowerCase(); - e = w[n] = w[n] || e, b[e] = t - } - return this - }, - getAllResponseHeaders: function() { - return E === 2 ? i : null - }, - getResponseHeader: function(e) { - var n; - if (E === 2) { - if (!s) { - s = {}; - while (n = pn.exec(i)) s[n[1].toLowerCase()] = n[2] - } - n = s[e.toLowerCase()] - } - return n === t ? null : n - }, - overrideMimeType: function(e) { - return E || (c.mimeType = e), this - }, - abort: function(e) { - return e = e || S, o && o.abort(e), T(0, e), this - } - }; - d.promise(x), x.success = x.done, x.error = x.fail, x.complete = m.add, x.statusCode = function(e) { - if (e) { - var t; - if (E < 2) - for (t in e) g[t] = [g[t], e[t]]; - else t = e[x.status], x.always(t) - } - return this - }, c.url = ((e || c.url) + "").replace(hn, "").replace(mn, ln[1] + "//"), c.dataTypes = v.trim(c.dataType || "*").toLowerCase().split(y), c.crossDomain == null && (a = wn.exec(c.url.toLowerCase()), c.crossDomain = !(!a || a[1] === ln[1] && a[2] === ln[2] && (a[3] || (a[1] === "http:" ? 80 : 443)) == (ln[3] || (ln[1] === "http:" ? 80 : 443)))), c.data && c.processData && typeof c.data != "string" && (c.data = v.param(c.data, c.traditional)), kn(Sn, c, n, x); - if (E === 2) return x; - f = c.global, c.type = c.type.toUpperCase(), c.hasContent = !vn.test(c.type), f && v.active++ === 0 && v.event.trigger("ajaxStart"); - if (!c.hasContent) { - c.data && (c.url += (gn.test(c.url) ? "&" : "?") + c.data, delete c.data), r = c.url; - if (c.cache === !1) { - var N = v.now(), - C = c.url.replace(bn, "$1_=" + N); - c.url = C + (C === c.url ? (gn.test(c.url) ? "&" : "?") + "_=" + N : "") - } - }(c.data && c.hasContent && c.contentType !== !1 || n.contentType) && x.setRequestHeader("Content-Type", c.contentType), c.ifModified && (r = r || c.url, v.lastModified[r] && x.setRequestHeader("If-Modified-Since", v.lastModified[r]), v.etag[r] && x.setRequestHeader("If-None-Match", v.etag[r])), x.setRequestHeader("Accept", c.dataTypes[0] && c.accepts[c.dataTypes[0]] ? c.accepts[c.dataTypes[0]] + (c.dataTypes[0] !== "*" ? ", " + Tn + "; q=0.01" : "") : c.accepts["*"]); - for (l in c.headers) x.setRequestHeader(l, c.headers[l]); - if (!c.beforeSend || c.beforeSend.call(h, x, c) !== !1 && E !== 2) { - S = "abort"; - for (l in { - success: 1, - error: 1, - complete: 1 - }) x[l](c[l]); - o = kn(xn, c, n, x); - if (!o) T(-1, "No Transport"); - else { - x.readyState = 1, f && p.trigger("ajaxSend", [x, c]), c.async && c.timeout > 0 && (u = setTimeout(function() { - x.abort("timeout") - }, c.timeout)); - try { - E = 1, o.send(b, T) - } catch (k) { - if (!(E < 2)) throw k; - T(-1, k) - } - } - return x - } - return x.abort() - }, - active: 0, - lastModified: {}, - etag: {} - }); - var Mn = [], - _n = /\?/, - Dn = /(=)\?(?=&|$)|\?\?/, - Pn = v.now(); - v.ajaxSetup({ - jsonp: "callback", - jsonpCallback: function() { - var e = Mn.pop() || v.expando + "_" + Pn++; - return this[e] = !0, e - } - }), v.ajaxPrefilter("json jsonp", function(n, r, i) { - var s, o, u, a = n.data, - f = n.url, - l = n.jsonp !== !1, - c = l && Dn.test(f), - h = l && !c && typeof a == "string" && !(n.contentType || "").indexOf("application/x-www-form-urlencoded") && Dn.test(a); - if (n.dataTypes[0] === "jsonp" || c || h) return s = n.jsonpCallback = v.isFunction(n.jsonpCallback) ? n.jsonpCallback() : n.jsonpCallback, o = e[s], c ? n.url = f.replace(Dn, "$1" + s) : h ? n.data = a.replace(Dn, "$1" + s) : l && (n.url += (_n.test(f) ? "&" : "?") + n.jsonp + "=" + s), n.converters["script json"] = function() { - return u || v.error(s + " was not called"), u[0] - }, n.dataTypes[0] = "json", e[s] = function() { - u = arguments - }, i.always(function() { - e[s] = o, n[s] && (n.jsonpCallback = r.jsonpCallback, Mn.push(s)), u && v.isFunction(o) && o(u[0]), u = o = t - }), "script" - }), v.ajaxSetup({ - accepts: { - script: "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript" - }, - contents: { - script: /javascript|ecmascript/ - }, - converters: { - "text script": function(e) { - return v.globalEval(e), e - } - } - }), v.ajaxPrefilter("script", function(e) { - e.cache === t && (e.cache = !1), e.crossDomain && (e.type = "GET", e.global = !1) - }), v.ajaxTransport("script", function(e) { - if (e.crossDomain) { - var n, r = i.head || i.getElementsByTagName("head")[0] || i.documentElement; - return { - send: function(s, o) { - n = i.createElement("script"), n.async = "async", e.scriptCharset && (n.charset = e.scriptCharset), n.src = e.url, n.onload = n.onreadystatechange = function(e, i) { - if (i || !n.readyState || /loaded|complete/.test(n.readyState)) n.onload = n.onreadystatechange = null, r && n.parentNode && r.removeChild(n), n = t, i || o(200, "success") - }, r.insertBefore(n, r.firstChild) - }, - abort: function() { - n && n.onload(0, 1) - } - } - } - }); - var Hn, Bn = e.ActiveXObject ? function() { - for (var e in Hn) Hn[e](0, 1) - } : !1, - jn = 0; - v.ajaxSettings.xhr = e.ActiveXObject ? function() { - return !this.isLocal && Fn() || In() - } : Fn, - function(e) { - v.extend(v.support, { - ajax: !!e, - cors: !!e && "withCredentials" in e - }) - }(v.ajaxSettings.xhr()), v.support.ajax && v.ajaxTransport(function(n) { - if (!n.crossDomain || v.support.cors) { - var r; - return { - send: function(i, s) { - var o, u, a = n.xhr(); - n.username ? a.open(n.type, n.url, n.async, n.username, n.password) : a.open(n.type, n.url, n.async); - if (n.xhrFields) - for (u in n.xhrFields) a[u] = n.xhrFields[u]; - n.mimeType && a.overrideMimeType && a.overrideMimeType(n.mimeType), !n.crossDomain && !i["X-Requested-With"] && (i["X-Requested-With"] = "XMLHttpRequest"); - try { - for (u in i) a.setRequestHeader(u, i[u]) - } catch (f) {} - a.send(n.hasContent && n.data || null), r = function(e, i) { - var u, f, l, c, h; - try { - if (r && (i || a.readyState === 4)) { - r = t, o && (a.onreadystatechange = v.noop, Bn && delete Hn[o]); - if (i) a.readyState !== 4 && a.abort(); - else { - u = a.status, l = a.getAllResponseHeaders(), c = {}, h = a.responseXML, h && h.documentElement && (c.xml = h); - try { - c.text = a.responseText - } catch (p) {} - try { - f = a.statusText - } catch (p) { - f = "" - }!u && n.isLocal && !n.crossDomain ? u = c.text ? 200 : 404 : u === 1223 && (u = 204) - } - } - } catch (d) { - i || s(-1, d) - } - c && s(u, f, c, l) - }, n.async ? a.readyState === 4 ? setTimeout(r, 0) : (o = ++jn, Bn && (Hn || (Hn = {}, v(e).unload(Bn)), Hn[o] = r), a.onreadystatechange = r) : r() - }, - abort: function() { - r && r(0, 1) - } - } - } - }); - var qn, Rn, Un = /^(?:toggle|show|hide)$/, - zn = new RegExp("^(?:([-+])=|)(" + m + ")([a-z%]*)$", "i"), - Wn = /queueHooks$/, - Xn = [Gn], - Vn = { - "*": [function(e, t) { - var n, r, i = this.createTween(e, t), - s = zn.exec(t), - o = i.cur(), - u = +o || 0, - a = 1, - f = 20; - if (s) { - n = +s[2], r = s[3] || (v.cssNumber[e] ? "" : "px"); - if (r !== "px" && u) { - u = v.css(i.elem, e, !0) || n || 1; - do a = a || ".5", u /= a, v.style(i.elem, e, u + r); while (a !== (a = i.cur() / o) && a !== 1 && --f) - } - i.unit = r, i.start = u, i.end = s[1] ? u + (s[1] + 1) * n : n - } - return i - }] - }; - v.Animation = v.extend(Kn, { - tweener: function(e, t) { - v.isFunction(e) ? (t = e, e = ["*"]) : e = e.split(" "); - var n, r = 0, - i = e.length; - for (; r < i; r++) n = e[r], Vn[n] = Vn[n] || [], Vn[n].unshift(t) - }, - prefilter: function(e, t) { - t ? Xn.unshift(e) : Xn.push(e) - } - }), v.Tween = Yn, Yn.prototype = { - constructor: Yn, - init: function(e, t, n, r, i, s) { - this.elem = e, this.prop = n, this.easing = i || "swing", this.options = t, this.start = this.now = this.cur(), this.end = r, this.unit = s || (v.cssNumber[n] ? "" : "px") - }, - cur: function() { - var e = Yn.propHooks[this.prop]; - return e && e.get ? e.get(this) : Yn.propHooks._default.get(this) - }, - run: function(e) { - var t, n = Yn.propHooks[this.prop]; - return this.options.duration ? this.pos = t = v.easing[this.easing](e, this.options.duration * e, 0, 1, this.options.duration) : this.pos = t = e, this.now = (this.end - this.start) * t + this.start, this.options.step && this.options.step.call(this.elem, this.now, this), n && n.set ? n.set(this) : Yn.propHooks._default.set(this), this - } - }, Yn.prototype.init.prototype = Yn.prototype, Yn.propHooks = { - _default: { - get: function(e) { - var t; - return e.elem[e.prop] == null || !!e.elem.style && e.elem.style[e.prop] != null ? (t = v.css(e.elem, e.prop, !1, ""), !t || t === "auto" ? 0 : t) : e.elem[e.prop] - }, - set: function(e) { - v.fx.step[e.prop] ? v.fx.step[e.prop](e) : e.elem.style && (e.elem.style[v.cssProps[e.prop]] != null || v.cssHooks[e.prop]) ? v.style(e.elem, e.prop, e.now + e.unit) : e.elem[e.prop] = e.now - } - } - }, Yn.propHooks.scrollTop = Yn.propHooks.scrollLeft = { - set: function(e) { - e.elem.nodeType && e.elem.parentNode && (e.elem[e.prop] = e.now) - } - }, v.each(["toggle", "show", "hide"], function(e, t) { - var n = v.fn[t]; - v.fn[t] = function(r, i, s) { - return r == null || typeof r == "boolean" || !e && v.isFunction(r) && v.isFunction(i) ? n.apply(this, arguments) : this.animate(Zn(t, !0), r, i, s) - } - }), v.fn.extend({ - fadeTo: function(e, t, n, r) { - return this.filter(Gt).css("opacity", 0).show().end().animate({ - opacity: t - }, e, n, r) - }, - animate: function(e, t, n, r) { - var i = v.isEmptyObject(e), - s = v.speed(t, n, r), - o = function() { - var t = Kn(this, v.extend({}, e), s); - i && t.stop(!0) - }; - return i || s.queue === !1 ? this.each(o) : this.queue(s.queue, o) - }, - stop: function(e, n, r) { - var i = function(e) { - var t = e.stop; - delete e.stop, t(r) - }; - return typeof e != "string" && (r = n, n = e, e = t), n && e !== !1 && this.queue(e || "fx", []), this.each(function() { - var t = !0, - n = e != null && e + "queueHooks", - s = v.timers, - o = v._data(this); - if (n) o[n] && o[n].stop && i(o[n]); - else - for (n in o) o[n] && o[n].stop && Wn.test(n) && i(o[n]); - for (n = s.length; n--;) s[n].elem === this && (e == null || s[n].queue === e) && (s[n].anim.stop(r), t = !1, s.splice(n, 1)); - (t || !r) && v.dequeue(this, e) - }) - } - }), v.each({ - slideDown: Zn("show"), - slideUp: Zn("hide"), - slideToggle: Zn("toggle"), - fadeIn: { - opacity: "show" - }, - fadeOut: { - opacity: "hide" - }, - fadeToggle: { - opacity: "toggle" - } - }, function(e, t) { - v.fn[e] = function(e, n, r) { - return this.animate(t, e, n, r) - } - }), v.speed = function(e, t, n) { - var r = e && typeof e == "object" ? v.extend({}, e) : { - complete: n || !n && t || v.isFunction(e) && e, - duration: e, - easing: n && t || t && !v.isFunction(t) && t - }; - r.duration = v.fx.off ? 0 : typeof r.duration == "number" ? r.duration : r.duration in v.fx.speeds ? v.fx.speeds[r.duration] : v.fx.speeds._default; - if (r.queue == null || r.queue === !0) r.queue = "fx"; - return r.old = r.complete, r.complete = function() { - v.isFunction(r.old) && r.old.call(this), r.queue && v.dequeue(this, r.queue) - }, r - }, v.easing = { - linear: function(e) { - return e - }, - swing: function(e) { - return .5 - Math.cos(e * Math.PI) / 2 - } - }, v.timers = [], v.fx = Yn.prototype.init, v.fx.tick = function() { - var e, n = v.timers, - r = 0; - qn = v.now(); - for (; r < n.length; r++) e = n[r], !e() && n[r] === e && n.splice(r--, 1); - n.length || v.fx.stop(), qn = t - }, v.fx.timer = function(e) { - e() && v.timers.push(e) && !Rn && (Rn = setInterval(v.fx.tick, v.fx.interval)) - }, v.fx.interval = 13, v.fx.stop = function() { - clearInterval(Rn), Rn = null - }, v.fx.speeds = { - slow: 600, - fast: 200, - _default: 400 - }, v.fx.step = {}, v.expr && v.expr.filters && (v.expr.filters.animated = function(e) { - return v.grep(v.timers, function(t) { - return e === t.elem - }).length - }); - var er = /^(?:body|html)$/i; - v.fn.offset = function(e) { - if (arguments.length) return e === t ? this : this.each(function(t) { - v.offset.setOffset(this, e, t) - }); - var n, r, i, s, o, u, a, f = { - top: 0, - left: 0 - }, - l = this[0], - c = l && l.ownerDocument; - if (!c) return; - return (r = c.body) === l ? v.offset.bodyOffset(l) : (n = c.documentElement, v.contains(n, l) ? (typeof l.getBoundingClientRect != "undefined" && (f = l.getBoundingClientRect()), i = tr(c), s = n.clientTop || r.clientTop || 0, o = n.clientLeft || r.clientLeft || 0, u = i.pageYOffset || n.scrollTop, a = i.pageXOffset || n.scrollLeft, { - top: f.top + u - s, - left: f.left + a - o - }) : f) - }, v.offset = { - bodyOffset: function(e) { - var t = e.offsetTop, - n = e.offsetLeft; - return v.support.doesNotIncludeMarginInBodyOffset && (t += parseFloat(v.css(e, "marginTop")) || 0, n += parseFloat(v.css(e, "marginLeft")) || 0), { - top: t, - left: n - } - }, - setOffset: function(e, t, n) { - var r = v.css(e, "position"); - r === "static" && (e.style.position = "relative"); - var i = v(e), - s = i.offset(), - o = v.css(e, "top"), - u = v.css(e, "left"), - a = (r === "absolute" || r === "fixed") && v.inArray("auto", [o, u]) > -1, - f = {}, - l = {}, - c, h; - a ? (l = i.position(), c = l.top, h = l.left) : (c = parseFloat(o) || 0, h = parseFloat(u) || 0), v.isFunction(t) && (t = t.call(e, n, s)), t.top != null && (f.top = t.top - s.top + c), t.left != null && (f.left = t.left - s.left + h), "using" in t ? t.using.call(e, f) : i.css(f) - } - }, v.fn.extend({ - position: function() { - if (!this[0]) return; - var e = this[0], - t = this.offsetParent(), - n = this.offset(), - r = er.test(t[0].nodeName) ? { - top: 0, - left: 0 - } : t.offset(); - return n.top -= parseFloat(v.css(e, "marginTop")) || 0, n.left -= parseFloat(v.css(e, "marginLeft")) || 0, r.top += parseFloat(v.css(t[0], "borderTopWidth")) || 0, r.left += parseFloat(v.css(t[0], "borderLeftWidth")) || 0, { - top: n.top - r.top, - left: n.left - r.left - } - }, - offsetParent: function() { - return this.map(function() { - var e = this.offsetParent || i.body; - while (e && !er.test(e.nodeName) && v.css(e, "position") === "static") e = e.offsetParent; - return e || i.body - }) - } - }), v.each({ - scrollLeft: "pageXOffset", - scrollTop: "pageYOffset" - }, function(e, n) { - var r = /Y/.test(n); - v.fn[e] = function(i) { - return v.access(this, function(e, i, s) { - var o = tr(e); - if (s === t) return o ? n in o ? o[n] : o.document.documentElement[i] : e[i]; - o ? o.scrollTo(r ? v(o).scrollLeft() : s, r ? s : v(o).scrollTop()) : e[i] = s - }, e, i, arguments.length, null) - } - }), v.each({ - Height: "height", - Width: "width" - }, function(e, n) { - v.each({ - padding: "inner" + e, - content: n, - "": "outer" + e - }, function(r, i) { - v.fn[i] = function(i, s) { - var o = arguments.length && (r || typeof i != "boolean"), - u = r || (i === !0 || s === !0 ? "margin" : "border"); - return v.access(this, function(n, r, i) { - var s; - return v.isWindow(n) ? n.document.documentElement["client" + e] : n.nodeType === 9 ? (s = n.documentElement, Math.max(n.body["scroll" + e], s["scroll" + e], n.body["offset" + e], s["offset" + e], s["client" + e])) : i === t ? v.css(n, r, i, u) : v.style(n, r, i, u) - }, n, o ? i : t, o, null) - } - }) - }), e.jQuery = e.$ = v, typeof define == "function" && define.amd && define.amd.jQuery && define("jquery", [], function() { - return v - }) -})(window); diff --git a/js/jquery.mixitup.min.js b/js/jquery.mixitup.min.js deleted file mode 100644 index 5a19772..0000000 --- a/js/jquery.mixitup.min.js +++ /dev/null @@ -1,492 +0,0 @@ -/* - * MIXITUP - A CSS3 & JQuery Filter and Sort Plugin - * Version: 1.4.0 - * Author: Patrick Kunka - * Copyright 2012-2013 Patrick Kunka, All Rights Reserved - * FREE FOR NON-COMMERCIAL USE - * http://www.mixitup.io - */ -(function(e) { - function m(d, b, h, c, a) { - function j() { - k.unbind(); - b && v(b, h, c, a); - a.startOrder = []; - a.newOrder = []; - a.origSort = []; - a.checkSort = []; - u.removeStyle(a.prefix + "filter, filter, " + a.prefix + "transform, transform, opacity, display").css(a.clean).removeAttr("data-checksum"); - window.atob || u.css({ - display: "none", - opacity: "0" - }); - k.removeStyle(a.prefix + "transition, transition, " + a.prefix + "perspective, perspective, " + a.prefix + "perspective-origin, perspective-origin, " + (a.resizeContainer ? "height" : "")); - "list" == a.layoutMode ? - (q.css({ - display: a.targetDisplayList, - opacity: "1" - }), a.origDisplay = a.targetDisplayList) : (q.css({ - display: a.targetDisplayGrid, - opacity: "1" - }), a.origDisplay = a.targetDisplayGrid); - a.origLayout = a.layoutMode; - setTimeout(function() { - u.removeStyle(a.prefix + "transition, transition"); - a.mixing = !1; - if ("function" == typeof a.onMixEnd) { - var b = a.onMixEnd.call(this, a); - a = b ? b : a - } - }) - } - clearInterval(a.failsafe); - a.mixing = !0; - if ("function" == typeof a.onMixStart) { - var f = a.onMixStart.call(this, a); - a = f ? f : a - } - for (var g = a.transitionSpeed, f = 0; 2 > - f; f++) { - var n = 0 == f ? n = a.prefix : ""; - a.transition[n + "transition"] = "all " + g + "ms linear"; - a.transition[n + "transform"] = n + "translate3d(0,0,0)"; - a.perspective[n + "perspective"] = a.perspectiveDistance + "px"; - a.perspective[n + "perspective-origin"] = a.perspectiveOrigin - } - var r = a.targetSelector, - u = c.find(r); - u.each(function() { - this.data = {} - }); - var k = u.parent(); - k.css(a.perspective); - a.easingFallback = "ease-in-out"; - "smooth" == a.easing && (a.easing = "cubic-bezier(0.25, 0.46, 0.45, 0.94)"); - "snap" == a.easing && (a.easing = "cubic-bezier(0.77, 0, 0.175, 1)"); - "windback" == a.easing && (a.easing = "cubic-bezier(0.175, 0.885, 0.320, 1.275)", a.easingFallback = "cubic-bezier(0.175, 0.885, 0.320, 1)"); - "windup" == a.easing && (a.easing = "cubic-bezier(0.6, -0.28, 0.735, 0.045)", a.easingFallback = "cubic-bezier(0.6, 0.28, 0.735, 0.045)"); - f = "list" == a.layoutMode && null != a.listEffects ? a.listEffects : a.effects; - Array.prototype.indexOf && (a.fade = -1 < f.indexOf("fade") ? "0" : "", a.scale = -1 < f.indexOf("scale") ? "scale(.01)" : "", a.rotateZ = -1 < f.indexOf("rotateZ") ? "rotate(180deg)" : "", a.rotateY = -1 < - f.indexOf("rotateY") ? "rotateY(90deg)" : "", a.rotateX = -1 < f.indexOf("rotateX") ? "rotateX(90deg)" : "", a.blur = -1 < f.indexOf("blur") ? "blur(8px)" : "", a.grayscale = -1 < f.indexOf("grayscale") ? "grayscale(100%)" : ""); - d = d.replace(/\s|\//g, "."); - var q = e(), - s = e(); - if ("or" == a.filterLogic) { - var m = d.split("."); - !0 == a.multiFilter && "" == m[0] && m.shift(); - 1 > m.length ? s = s.add(c.find(r + ":visible")) : u.each(function() { - for (var a = 0, b = e(this), c = 0; c < m.length; c++) b.hasClass(m[c]) && (q = q.add(b), a++); - 0 == a && (s = s.add(b)) - }) - } else q = q.add(k.find(r + "." + - d)), s = s.add(k.find(r + ":not(." + d + "):visible")); - d = q.length; - var t = e(), - p = e(), - l = e(); - s.each(function() { - var a = e(this); - "none" != a.css("display") && (t = t.add(a), l = l.add(a)) - }); - if (q.filter(":visible").length == d && !t.length && !b) { - if (a.origLayout == a.layoutMode) return j(), !1; - if (1 == q.length) return "list" == a.layoutMode ? (c.addClass(a.listClass), c.removeClass(a.gridClass), l.css("display", a.targetDisplayList)) : (c.addClass(a.gridClass), c.removeClass(a.listClass), l.css("display", a.targetDisplayGrid)), j(), !1 - } - a.origHeight = k.height(); - if (q.length) { - c.removeClass(a.failClass); - q.each(function() { - var a = e(this); - "none" == a.css("display") ? p = p.add(a) : l = l.add(a) - }); - if (a.origLayout != a.layoutMode && !1 == a.animateGridList) return "list" == a.layoutMode ? (c.addClass(a.listClass), c.removeClass(a.gridClass), l.css("display", a.targetDisplayList)) : (c.addClass(a.gridClass), c.removeClass(a.listClass), l.css("display", a.targetDisplayGrid)), j(), !1; - if (!window.atob) return j(), !1; - u.css(a.clean); - l.each(function() { - this.data.origPos = e(this).offset() - }); - "list" == a.layoutMode ? - (c.addClass(a.listClass), c.removeClass(a.gridClass), p.css("display", a.targetDisplayList)) : (c.addClass(a.gridClass), c.removeClass(a.listClass), p.css("display", a.targetDisplayGrid)); - p.each(function() { - this.data.showInterPos = e(this).offset() - }); - t.each(function() { - this.data.hideInterPos = e(this).offset() - }); - l.each(function() { - this.data.preInterPos = e(this).offset() - }); - "list" == a.layoutMode ? l.css("display", a.targetDisplayList) : l.css("display", a.targetDisplayGrid); - b && v(b, h, c, a); - if (b && a.origSort.compare(a.checkSort)) return j(), - !1; - t.hide(); - p.each(function() { - this.data.finalPos = e(this).offset() - }); - l.each(function() { - this.data.finalPrePos = e(this).offset() - }); - a.newHeight = k.height(); - b && v("reset", null, c, a); - p.hide(); - l.css("display", a.origDisplay); - "block" == a.origDisplay ? (c.addClass(a.listClass), p.css("display", a.targetDisplayList)) : (c.removeClass(a.listClass), p.css("display", a.targetDisplayGrid)); - a.resizeContainer && k.css("height", a.origHeight + "px"); - d = {}; - for (f = 0; 2 > f; f++) n = 0 == f ? n = a.prefix : "", d[n + "transform"] = a.scale + " " + a.rotateX + " " + - a.rotateY + " " + a.rotateZ, d[n + "filter"] = a.blur + " " + a.grayscale; - p.css(d); - l.each(function() { - var b = this.data, - c = e(this); - c.hasClass("mix_tohide") ? (b.preTX = b.origPos.left - b.hideInterPos.left, b.preTY = b.origPos.top - b.hideInterPos.top) : (b.preTX = b.origPos.left - b.preInterPos.left, b.preTY = b.origPos.top - b.preInterPos.top); - for (var d = {}, g = 0; 2 > g; g++) { - var f = 0 == g ? f = a.prefix : ""; - d[f + "transform"] = "translate(" + b.preTX + "px," + b.preTY + "px)" - } - c.css(d) - }); - "list" == a.layoutMode ? (c.addClass(a.listClass), c.removeClass(a.gridClass)) : - (c.addClass(a.gridClass), c.removeClass(a.listClass)); - setTimeout(function() { - if (a.resizeContainer) { - for (var b = {}, c = 0; 2 > c; c++) { - var d = 0 == c ? d = a.prefix : ""; - b[d + "transition"] = "all " + g + "ms ease-in-out"; - b.height = a.newHeight + "px" - } - k.css(b) - } - t.css("opacity", a.fade); - p.css("opacity", 1); - p.each(function() { - var b = this.data; - b.tX = b.finalPos.left - b.showInterPos.left; - b.tY = b.finalPos.top - b.showInterPos.top; - for (var c = {}, d = 0; 2 > d; d++) { - var f = 0 == d ? f = a.prefix : ""; - c[f + "transition-property"] = f + "transform, " + f + "filter, opacity"; - c[f + - "transition-timing-function"] = a.easing + ", linear, linear"; - c[f + "transition-duration"] = g + "ms"; - c[f + "transition-delay"] = "0"; - c[f + "transform"] = "translate(" + b.tX + "px," + b.tY + "px)"; - c[f + "filter"] = "none" - } - e(this).css("-webkit-transition", "all " + g + "ms " + a.easingFallback).css(c) - }); - l.each(function() { - var b = this.data; - b.tX = 0 != b.finalPrePos.left ? b.finalPrePos.left - b.preInterPos.left : 0; - b.tY = 0 != b.finalPrePos.left ? b.finalPrePos.top - b.preInterPos.top : 0; - for (var c = {}, d = 0; 2 > d; d++) { - var f = 0 == d ? f = a.prefix : ""; - c[f + "transition"] = - "all " + g + "ms " + a.easing; - c[f + "transform"] = "translate(" + b.tX + "px," + b.tY + "px)" - } - e(this).css("-webkit-transition", "all " + g + "ms " + a.easingFallback).css(c) - }); - b = {}; - for (c = 0; 2 > c; c++) d = 0 == c ? d = a.prefix : "", b[d + "transition"] = "all " + g + "ms " + a.easing + ", " + d + "filter " + g + "ms linear, opacity " + g + "ms linear", b[d + "transform"] = a.scale + " " + a.rotateX + " " + a.rotateY + " " + a.rotateZ, b[d + "filter"] = a.blur + " " + a.grayscale, b.opacity = a.fade; - t.css(b); - k.bind("webkitTransitionEnd transitionend otransitionend oTransitionEnd", function(a) { - if (-1 < - a.originalEvent.propertyName.indexOf("transform") || -1 < a.originalEvent.propertyName.indexOf("opacity")) - 1 < r.indexOf(".") ? e(a.target).hasClass(r.replace(".", "")) && j() : e(a.target).is(r) && j() - }) - }, 10); - a.failsafe = setTimeout(function() { - a.mixing && j() - }, g + 400) - } else { - a.resizeContainer && k.css("height", a.origHeight + "px"); - if (!window.atob) return j(), !1; - t = s; - setTimeout(function() { - k.css(a.perspective); - if (a.resizeContainer) { - for (var b = {}, d = 0; 2 > d; d++) { - var e = 0 == d ? e = a.prefix : ""; - b[e + "transition"] = "height " + g + "ms ease-in-out"; - b.height = a.minHeight + "px" - } - k.css(b) - } - u.css(a.transition); - if (s.length) { - b = {}; - for (d = 0; 2 > d; d++) e = 0 == d ? e = a.prefix : "", b[e + "transform"] = a.scale + " " + a.rotateX + " " + a.rotateY + " " + a.rotateZ, b[e + "filter"] = a.blur + " " + a.grayscale, b.opacity = a.fade; - t.css(b); - k.bind("webkitTransitionEnd transitionend otransitionend oTransitionEnd", function(b) { - if (-1 < b.originalEvent.propertyName.indexOf("transform") || -1 < b.originalEvent.propertyName.indexOf("opacity")) c.addClass(a.failClass), j() - }) - } else a.mixing = !1 - }, 10) - } - } - - function v(d, b, - h, c) { - function a(a, b) { - return 1 * a.attr(d).toLowerCase() < 1 * b.attr(d).toLowerCase() ? -1 : 1 * a.attr(d).toLowerCase() > 1 * b.attr(d).toLowerCase() ? 1 : 0 - } - - function j(a) { - "asc" == b ? f.prepend(a).prepend(" \ - ") : f.append(a).append(" \ - ") - } - h.find(c.targetSelector).wrapAll('
'); - var f = h.find(".mix_sorter"); - c.origSort.length || f.find(c.targetSelector + ":visible").each(function() { - e(this).wrap(""); - c.origSort.push(e(this).parent().html().replace(/\s+/g, "")); - e(this).unwrap() - }); - f.empty(); - if ("reset" == d) e.each(c.startOrder, - function() { - f.append(this).append(" \ - ") - }); - else if ("default" == d) e.each(c.origOrder, function() { - j(this) - }); - else if ("random" == d) { - if (!c.newOrder.length) { - for (var g = c.startOrder.slice(), n = g.length, r = n; r--;) { - var m = parseInt(Math.random() * n), - k = g[r]; - g[r] = g[m]; - g[m] = k - } - c.newOrder = g - } - e.each(c.newOrder, function() { - f.append(this).append(" \ - ") - }) - } else "custom" == d ? e.each(b, function() { - j(this) - }) : ("undefined" === typeof c.origOrder[0].attr(d) && console.log("No such attribute found. Terminating"), c.newOrder.length || (e.each(c.origOrder, - function() { - c.newOrder.push(e(this)) - }), c.newOrder.sort(a)), e.each(c.newOrder, function() { - j(this) - })); - c.checkSort = []; - f.find(c.targetSelector + ":visible").each(function(a) { - var b = e(this); - 0 == a && b.attr("data-checksum", "1"); - b.wrap(""); - c.checkSort.push(b.parent().html().replace(/\s+/g, "")); - b.unwrap() - }); - h.find(c.targetSelector).unwrap() - } - var w = { - init: function(d) { - return this.each(function() { - var b = { - targetSelector: ".mix", - filterSelector: ".filter", - sortSelector: ".sort", - buttonEvent: "click", - effects: ["fade", "scale"], - listEffects: null, - easing: "smooth", - layoutMode: "grid", - targetDisplayGrid: "inline-block", - targetDisplayList: "block", - listClass: "", - gridClass: "", - transitionSpeed: 600, - showOnLoad: "all", - multiFilter: !1, - filterLogic: "or", - resizeContainer: !0, - minHeight: 0, - failClass: "fail", - perspectiveDistance: "3000", - perspectiveOrigin: "50% 50%", - animateGridList: !0, - onMixLoad: null, - onMixStart: null, - onMixEnd: null, - container: null, - origOrder: [], - startOrder: [], - newOrder: [], - origSort: [], - checkSort: [], - filter: "", - mixing: !1, - origDisplay: "", - origLayout: "", - origHeight: 0, - newHeight: 0, - isTouch: !1, - resetDelay: 0, - failsafe: null, - prefix: "", - easingFallback: "ease-in-out", - transition: {}, - perspective: {}, - clean: {}, - fade: "1", - scale: "", - rotateX: "", - rotateY: "", - rotateZ: "", - blur: "", - grayscale: "" - }; - d && e.extend(b, d); - this.config = b; - e.support.touch = "ontouchend" in document; - e.support.touch && (b.isTouch = !0, b.resetDelay = 350); - b.container = e(this); - var h = b.container, - c; - a: { - c = h[0]; - for (var a = ["Webkit", "Moz", "O", "ms"], j = 0; j < a.length; j++) - if (a[j] + "Transition" in c.style) { - c = a[j]; - break a - } c = "transition" in c.style ? "" : !1 - } - b.prefix = - c; - b.prefix = b.prefix ? "-" + b.prefix.toLowerCase() + "-" : ""; - h.find(b.targetSelector).each(function() { - b.origOrder.push(e(this)) - }); - for (c = 0; 2 > c; c++) a = 0 == c ? a = b.prefix : "", b.transition[a + "transition"] = "all " + b.transitionSpeed + "ms ease-in-out", b.perspective[a + "perspective"] = b.perspectiveDistance + "px", b.perspective[a + "perspective-origin"] = b.perspectiveOrigin; - for (c = 0; 2 > c; c++) a = 0 == c ? a = b.prefix : "", b.clean[a + "transition"] = "none"; - "list" == b.layoutMode ? (h.addClass(b.listClass), b.origDisplay = b.targetDisplayList) : (h.addClass(b.gridClass), - b.origDisplay = b.targetDisplayGrid); - b.origLayout = b.layoutMode; - c = b.showOnLoad.split(" "); - e.each(c, function() { - e(b.filterSelector + '[data-filter="' + this + '"]').addClass("active") - }); - h.find(b.targetSelector).addClass("mix_all"); - "all" == c[0] && (c[0] = "mix_all", b.showOnLoad = "mix_all"); - var f = e(); - e.each(c, function() { - f = f.add(e("." + this)) - }); - f.each(function() { - var a = e(this); - "list" == b.layoutMode ? a.css("display", b.targetDisplayList) : a.css("display", b.targetDisplayGrid); - a.css(b.transition) - }); - setTimeout(function() { - b.mixing = !0; - f.css("opacity", "1"); - setTimeout(function() { - "list" == b.layoutMode ? f.removeStyle(b.prefix + "transition, transition").css({ - display: b.targetDisplayList, - opacity: 1 - }) : f.removeStyle(b.prefix + "transition, transition").css({ - display: b.targetDisplayGrid, - opacity: 1 - }); - b.mixing = !1; - if ("function" == typeof b.onMixLoad) { - var a = b.onMixLoad.call(this, b); - b = a ? a : b - } - }, b.transitionSpeed) - }, 10); - b.filter = b.showOnLoad; - e(b.sortSelector).bind(b.buttonEvent, function() { - if (!b.mixing) { - var a = e(this), - c = a.attr("data-sort"), - d = a.attr("data-order"); - if (a.hasClass("active")) { - if ("random" != c) return !1 - } else e(b.sortSelector).removeClass("active"), a.addClass("active"); - h.find(b.targetSelector).each(function() { - b.startOrder.push(e(this)) - }); - m(b.filter, c, d, h, b) - } - }); - e(b.filterSelector).bind(b.buttonEvent, function() { - if (!b.mixing) { - var a = e(this); - if (!1 == b.multiFilter) e(b.filterSelector).removeClass("active"), a.addClass("active"), b.filter = a.attr("data-filter"), e(b.filterSelector + '[data-filter="' + b.filter + '"]').addClass("active"), "all" == b.filter && (b.filter = "mix_all"); - else { - var c = a.attr("data-filter"); - "all" == c && (c = "mix_all"); - a.hasClass("active") ? (a.removeClass("active"), b.filter = b.filter.replace(RegExp("(\\s|^)" + c), "")) : (a.addClass("active"), b.filter = b.filter + " " + c) - } - m(b.filter, null, null, h, b) - } - }) - }) - }, - toGrid: function() { - return this.each(function() { - var d = this.config; - "grid" != d.layoutMode && (d.layoutMode = "grid", m(d.filter, null, null, e(this), d)) - }) - }, - toList: function() { - return this.each(function() { - var d = this.config; - "list" != d.layoutMode && (d.layoutMode = "list", m(d.filter, null, null, - e(this), d)) - }) - }, - filter: function(d) { - return this.each(function() { - var b = this.config; - e(b.filterSelector).removeClass("active"); - e(b.filterSelector + '[data-filter="' + d + '"]').addClass("active"); - "all" == d && (d = "mix_all"); - b.mixing || (b.filter = d, m(d, null, null, e(this), b)) - }) - }, - sort: function(d) { - return this.each(function() { - var b = this.config; - if (e.isArray(d)) var h = d[0], - c = d[1]; - else h = d, c = "desc"; - b.mixing || (e(this).find(b.targetSelector).each(function() { - b.startOrder.push(e(this)) - }), m(b.filter, h, c, e(this), b)) - }) - } - }; - e.fn.mixitup = - function(d, b) { - if (w[d]) return w[d].apply(this, Array.prototype.slice.call(arguments, 1)); - if ("object" === typeof d || !d) return w.init.apply(this, arguments) - }; - e.fn.removeStyle = function(d) { - return this.each(function() { - var b = e(this); - d = d.replace(/\s+/g, ""); - var h = d.split(","); - e.each(h, function() { - var c = RegExp(this.toString() + "[^;]+;?", "g"); - b.attr("style", function(a, b) { - if (b) return b.replace(c, "") - }) - }) - }) - }; - Array.prototype.compare = function(d) { - if (this.length != d.length) return !1; - for (var b = 0; b < d.length; b++) - if (this[b].compare && - !this[b].compare(d[b]) || this[b] !== d[b]) return !1; - return !0 - } -})(jQuery); diff --git a/js/jquery.percentageloader-0.1.js b/js/jquery.percentageloader-0.1.js deleted file mode 100644 index cac47b4..0000000 --- a/js/jquery.percentageloader-0.1.js +++ /dev/null @@ -1,400 +0,0 @@ -/* -jquery.percentageloader.js - -Copyright (c) 2012, Better2Web -All rights reserved. - -This jQuery plugin is licensed under the Simplified BSD License. Please -see the file license.txt that was included with the plugin bundle. - -*/ - -/*global jQuery */ - -(function ($) { - /* Strict mode for this plugin */ - "use strict"; - /*jslint browser: true */ - - /* Our spiral gradient data */ - var imgdata = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAIAAABMXPacAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MDM4RjdFNzQ5MzAyMTFFMUFFQTdENUVDNDUwOEI2RUYiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MDM4RjdFNzU5MzAyMTFFMUFFQTdENUVDNDUwOEI2RUYiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDowMzhGN0U3MjkzMDIxMUUxQUVBN0Q1RUM0NTA4QjZFRiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDowMzhGN0U3MzkzMDIxMUUxQUVBN0Q1RUM0NTA4QjZFRiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pv4BSzoAAA+OSURBVHja1F1bkutKEazSdUAErIAdsVaCTfDNAvhgHXCJe8448ciW3I96drdmYGJiwpYl25NZlfXoVjfjn38lJuGHxafsnRB46rw0+BEonqI4AfY5xNLB/QFLB8W3DZ/QPH6cuXXHlB94RyJv4p4Zf5M1P+y+Au9rwntL6B/xeGmL4vs6gkGUvxrZ8Lfj6HeE6HbeY+if+3y8JWy85wArQIf+HJebu2zgYfN3Rc9GvyZgCQdBoL9DhTD/Kq+Q/vpNtrTWX6E8V4DOrgmz7BMcEnd4HxdBf48BUasfFaIBJ/gqnrLmkVYkD/3DA5ZzMIvaV4ds6OZvx15RfOLoU5UFYR0HA3xgmaPYcZVM/Un5wTz6XhDOcpBVm+/ITWE80M0fsUiTRR9+EMYFyoH/RRWa54/y6FMoCGOFEGWV59oYy0a9aph/LjAE0A8HYVwpRCscAKFGlmm/XkMMMfFJoU+JVkScg2xnCZerEZYqDCbQhxUDFnAwndLgC8IACw7BTt2LDEPNhVqIxkgrAuvaOJg2Zix2CATdgs20h72kqHYUKQuaMnyMoIZLlCeKr2f+VnSJeYaRnm4C4rSIg2/FXZEX1hr90DUkLv1iH8kuDhYG4XBATuCOLCtZ5QOH/q2V6LPWjo5wMNNvGLD3uDdwEveY+ccjsI0+9Jb1lgsAiQwHzje6Lu/kaP0VNH8/I+LY/8ptUoRoJTyYccaECItwjwfYANDi6Hy8gwRTdvKVMK3jII3yelqg/UMsH+wv8ft3XcdCq8XMdjSWcpDT1ClHkb8pq70EmAzBy69gir5di60rxLITBL76h2F/C5bI6KQ/iH6qGYe2gl3egTCE6FJ62IkNsAPDDPpsNSRqCYIkFG4Cmrb9fCaP2TAAQ39M8xcDbwp9xEriZmLWhCvEORhwghR37OtPa/4cigQp9F3DVwoxkYZZ/VmH+JdEEWjJaIc+ugfBTlzpTFozDkv153yMQMk/izhsxTfNP4V+a/hspkMNcvx6Q6MZF3YFlV8zIOegz5cPb6A5GCeg9yF89E0AqJukfXwxdusARG0f8UwfaatfNNW3N/8QMdwKjoG+bfh4GT4/PztWBwDWsHtcggwOhrt1SdANoZePdJdXol/IDsijoYNeGhETXaFXpOEwELR6LIJe0h/1ozLoBw2/kfsG+qYOCPQhBmagWBwgpy3i+ZkeXKXj3LbblqAvG/4h93DqgCgNiivAswStwnKT8MyoQHC8xf9MltPNpmqz9KfQHCOR3EL6MzkZCwYAGIfbdx6WCygpE7UqtfJM1jujxeUR6M3xAPdg7wpZDnzNmYrI0b4qy/k+xJCrGD7qaiAIfeEBQcO3achKkBgMoFBoOoc2LQ7smL+AKSufaRp+J/ch6EmYmKXF3rFpcas4SLoBqEo5qLNiWdk19DvZEd5BMXwbeiUNTdh+zBWIrDLGbnnCqw8iU1LN24DfULJVGIMUDiagf/7cXs9Y+SfYPCg8xetmaxzHy3OeByE9xf4vgOsj9UczdUejuJeIC67goa8XwEyx8SctPbu1r7NyHWdoYLy/fol1CTpRi3X/lzQaJNHn9hBEGjz0/SKATqv32z7kzXm5qVbEnkMYNGiuoJHx/vu4yrwkWYK9oxhXobJHP2j4Z02bmIKof7FDglj35wU0cGXvZKvQwYFBmMcHqOoMUy0+qE+LoD8DPbyVC27tsbgEOSpUZDiiKxgqREcwkEGPusNp7JDCQI++moMemoPwwAcFpiRhRIJy5t8p0vNL2R7QM9Qy6i6IwfKzko/OJzT0NeiDJu/OM/EkKMJEnIYzOBseQJ0Qie+mK0/1t0BcRZ+FLLOPtI75J3GvPcCQoHhYbk4TgdNcQeOA2ILekyJIKtR08PUUyILerTMyHmC8Ph8PLBrYykFLDoRvAv1Oa36jzB0NCvqa5kQm5FJyQnNz/KZb+FA8aOAmSc3fIiNlCe0lEM5hte9Ztn0ahakSUJY7Cu0EFnF0ZQ53KQbII0jsu4V4XAsJkOg5FYml7Igs0dcGA07z722/paTKfxzowSHcU+ZvSxAGyWAzJDSecSrS+V4CB1ATm/bzGbX5ixG4UyEOVF6JmouCM5tYJEAjQ3QOwwMMLWoeu4pUctCUeB1YfSJ0Z5mJ/XzWyi570DE+tAHTblBLkOfvMh/sRGM/IOuZDTceyWpxQK2+3xv0hayUzYo33+fxEBcZuvnOwzYfHRm9W9hOwOLMLbYiM0RRZKot/cWBIEGsJD8jg3ga4sHbBW+JwT2/VkB9Anc6o0iQ9qkocs0HkBuqZk3BxEt8+BP0+35ug/69kHsEZj9EDT+GuPHSTX6R5ygRnQNJJs7KmWoO7nzc1XCEgQPBO70M/0kD+HUEh9zbvYdQmOUpuPtzbrn34DwlvXMgtVYVdiaOacRPDtpu56eqvD2AGw/gRv3Vjlv/D3lwz9/teSPKoWGk4SFKhJs1WAjD5d+nYt93Odp2UM+AfIyBPnH/2H+f6B8csJiAGuNc2cySkjNpEJKgrChFnAZaxQuhc99zwEeeuh0n8jGpY7f9D9oJoBcTj7PvUuJP5v3v8Qp2CRkZDxjmySAGouifj7nj4DlufFz8ecLzGn4g/nOjny8C+F6n/6RPQMdqSclee6O1P3GeYNVbR8etHO/lNw2Pl7b9LR5/b/Sx0W8b/XhwwPzRVF4k34E0szzt2vt0bovfbzhoa60OlF3OU3x4T4f2p7/nX3+hXzf+cSSgxuzBtThiDQGX/uCiy48X/o1//Onif+HiH8bf//KlLjeGe3Nz2TPB/AD9Rh//uv/tz3/8A3AD/XKEaq4GInPJRLz9+v8gQQkKYQlz0+S87/rzk+4/Pl/4zx4hfke47WnR85cP3WomDUX4wAVM8EoJmrlxOru0d9tfxmH+hI9XGPhJ9OPzX+Q78Au//GA7ggUXZPRMwGOCpyEOZEFYbeoDK/bZCx2d0D/Rv3+ij8dfvOqIRxq6ty14Pwsbv3JaLjPYenCTofZqx+waQ9dmJWh66wY3AxdsH1Ve+cD9viN/LyrhT5c4tgDCZ7Fw9i9OGoiqB9XMI6RNngMYRHzi5gCzdpV/ZDSHDujpDf2ned/R3sLMn0Fh2/+++n47BxtRSQMV3tBOROJuausQ9JyUan4Nyl9R4QULHtXwUUv/6xdPibm/H5et0rJo27tueJs8v4fd2J0EnFQWnuhh3haXgEjSgK5pKt4FcaJ/PzLSzlFfbZ+jPntysLeLcK/DwEmDPRFbBI8htBIxGh7YyoImm09p24d1G0pp7xDuzoDCwS4mzIcr9DRAaV9pS3mXrXSW0jr22sGdB6xthYwsNge5TVw8wBGHT/MH0ON1RortfPAMD+3g8puGM4xzQGegk6Hx4VJyGxeWsSSHulvDiGwCKvRh3Zb07r6han/e9w0L+biJsYq3nLQ/hQxqnEPPyVn2gKz+BJVHlR2YyY+AvvN1+KXOp6zjiMxbhZkyEUOhgfUJTVpGxAXx1NUcpM4NnfSDxPquHvTUoX9e19TDuh88naD98JoDQXYO8Dg2isHmDJBKfBTnCBRiWKg8nRmYHADoxKWNHWLkRA0NBPzY3t+kuSzrB6LoVwfZ7gXNK74LvccBUN3xiqYzYX61EmQWb+NGoJI96oaUH7CNuxQGblOi7+Q8CN233T1t0YdOp0lDKUQKfkfBFqCBvXnG7M1JE0EalaAx6APiAziLK8LoA8Q7VXyWVCyqFNfBw6BBa+dF3CIvQb4fwJ/cFEQfHdxImAp3rMDyAxJdwaXBdggKHLkti7cR6E0PENCHnr963zlSEDGXgNbCpPlETQN5DuEycZvd99GGnqJLdkBbr6M+GXrT1tg1ANBDaM1Bea6gRQEaKMnEbcLkSeikDukPtLWBECju4nKkqXbF0DHZSL+dWaRhICpIlXAi5CJceTn6A6kXBHk1segulNzVyQQrb+FjBE06S717qqTh/Cdch2iObGKl01WWNfSAdY47uOihP76CGeurjnP7TUH2ak1stge7B2x9hIqlGgMiahPsuOn6I6M/sXQ0knePCw+O9LSa+6gvckFhb9CeRtYNhdB7GVhQ2kaf3NZQZtlKxQlgjz1LfgBjtSZtZSrJG7SndiWM9L3fMRoE9FF84LqpSuIaE9riLRDKtNegjugKTnkseUPvmsrCraLVU2ZnsQj6JFW5SsSOLACuuRzp9z5CG4xobyZgMpaP1t3C9gZpR20DeuQlCFIiH+nHuUlX0g8yncC3CfccJIRIp0HbyC0GvRt7dQsEWVsITG5lq93ioi12HhiPEDiAslJZZAHhcjSuWTUxA/3oZg4wRmOUFr/zamY8wlmsNcyBKEdwoddp2KLQU9IPMuh77zwblHPKE1q8koMeoMrEQUN4+XqM+4GLPiI05BGPrF6I4PsITiMsaZPYwuSgYctBHw8AEd0X5eXifZyRcQXqltCt35PRbQkQUiEhCAcHeJM7yUATkDjc59Bw/BKO+QSHhIj8FQ14UIWsOiBi+F74bdGPiM+X7HuI5N8UB1kViu0pnw+/PvrfhK/rK0EO+rCccgV9A4dU4yGLvpj4m9uc4Gp62CLJqhTlBYU40hEun3pbmORjgIU+rCZTIpKudibXXbT9cW0OXPNfHwNC6I9F4zma7DQ/kstmNhHjiPmT3I6m8RIsij7MytbWn1UrW+R1P8uBLUekbug8GoERLFkxuTfMrEOQ5wQItDQiHBhypDTjJiIw7B4xknoxTU92z42pjc0lDmw5ougmPin0Y125sPnjaldoQedR85c46ORIrQm2yRp4EH33Q3FhwWDsYT5o/t6mtsUt++27xQoxGkJ/UqcvawSNNXn91aS7Tp8WEmhJIeajnzJ/7cphhniIHvYz5IUcYDgIw5UJTD1eHhcwYfUp6DUOxAx1MAjL6JtC9GVL3mT3q9ecYAZ6kQPNFbbscJiPvpH4h1a/xhdTFSTsIg62VCYeQh9zYOaixTU+wekuyTAHkS3NR9FvDuDLrZxzmReUaBxC2R4J0DmIBuER9IO2/B36k3WO+O7sKjFsb+Y5j362EbPwpXW8ISBESDoEKZNT6Z2G+ikQQlOTI+Kz5KpRA18+9DnAQeMKm4s+shPTbb7wfWXxAJQ8IjuRJdhhtSKaZzMztFKozqyB/b08DZShLG7oLKA/UlNhFMT1qPJ0Xs+JeIc8B9ss+su8YfnSjYtZzOagQQ625ehHo+gq4VrKyozcj7W+tmXoT5v4Fe4xIB0RJ1igP9XMOBf9hb2V/4GQOuwN4ZZN4vEWQj8rPt8tOMurYsScYODx5mM4ID6Tw+hr+eC0IQfNPL6zofEm/xVgACau5NQhMGZKAAAAAElFTkSuQmCC", - gradient = new Image(); - gradient.src = imgdata; - - /** Percentage loader - * @param params Specify options in {}. May be on of width, height, progress or value. - * - * @example $("#myloader-container).percentageLoader({ - width : 256, // width in pixels - height : 256, // height in pixels - progress: 0, // initialise progress bar position, within the range [0..1] - value: '0kb' // initialise text label to this value - }); - */ - $.fn.percentageLoader = function (params) { - var settings, canvas, percentageText, valueText, items, i, item, selectors, s, ctx, progress, - value, cX, cY, lingrad, innerGrad, tubeGrad, innerRadius, innerBarRadius, outerBarRadius, - radius, startAngle, endAngle, counterClockwise, completeAngle, setProgress, setValue, - applyAngle, drawLoader, clipValue, outerDiv; - - /* Specify default settings */ - settings = { - width: 256, - height: 256, - progress: 0, - value: '0kb', - controllable: false - }; - - /* Override default settings with provided params, if any */ - if (params !== undefined) { - $.extend(settings, params); - } else { - params = settings; - } - - outerDiv = document.createElement('div'); - outerDiv.style.width = settings.width + 'px'; - outerDiv.style.height = settings.height + 'px'; - outerDiv.style.position = 'relative'; - - $(this).append(outerDiv); - - /* Create our canvas object */ - canvas = document.createElement('canvas'); - canvas.setAttribute('width', settings.width); - canvas.setAttribute('height', settings.height); - outerDiv.appendChild(canvas); - - /* Create div elements we'll use for text. Drawing text is - * possible with canvas but it is tricky working with custom - * fonts as it is hard to guarantee when they become available - * with differences between browsers. DOM is a safer bet here */ - percentageText = document.createElement('div'); - percentageText.style.width = (settings.width.toString() - 2) + 'px'; - percentageText.style.textAlign = 'center'; - percentageText.style.height = '50px'; - percentageText.style.left = 0; - percentageText.style.position = 'absolute'; - - valueText = document.createElement('div'); - valueText.style.width = (settings.width - 2).toString() + 'px'; - valueText.style.textAlign = 'center'; - valueText.style.height = '0px'; - valueText.style.overflow = 'hidden'; - valueText.style.left = 0; - valueText.style.position = 'absolute'; - - /* Force text items to not allow selection */ - items = [valueText, percentageText]; - for (i = 0; i < items.length; i += 1) { - item = items[i]; - selectors = [ - '-webkit-user-select', - '-khtml-user-select', - '-moz-user-select', - '-o-user-select', - 'user-select']; - - for (s = 0; s < selectors.length; s += 1) { - $(item).css(selectors[s], 'none'); - } - } - - /* Add the new dom elements to the containing div */ - outerDiv.appendChild(percentageText); - outerDiv.appendChild(valueText); - - /* Get a reference to the context of our canvas object */ - ctx = canvas.getContext("2d"); - - - /* Set various initial values */ - - /* Centre point */ - cX = (canvas.width / 2) - 1; - cY = (canvas.height / 2) - 1; - - /* Create our linear gradient for the outer ring */ - lingrad = ctx.createLinearGradient(cX, 0, cX, canvas.height); - lingrad.addColorStop(0, '#d6eeff'); - lingrad.addColorStop(1, '#b6d8f0'); - - /* Create inner gradient for the outer ring */ - innerGrad = ctx.createLinearGradient(cX, cX * 0.133333, cX, canvas.height - cX * 0.133333); - innerGrad.addColorStop(0, '#f9fcfe'); - innerGrad.addColorStop(1, '#d9ebf7'); - - /* Tube gradient (background, not the spiral gradient) */ - tubeGrad = ctx.createLinearGradient(cX, 0, cX, canvas.height); - tubeGrad.addColorStop(0, '#c1dff4'); - tubeGrad.addColorStop(1, '#aacee6'); - - /* The inner circle is 2/3rds the size of the outer one */ - innerRadius = cX * 0.6666; - /* Outer radius is the same as the width / 2, same as the centre x - * (but we leave a little room so the borders aren't truncated) */ - radius = cX - 2; - - /* Calculate the radii of the inner tube */ - innerBarRadius = innerRadius + (cX * 0.06); - outerBarRadius = radius - (cX * 0.06); - - /* Bottom left angle */ - startAngle = 2.1707963267949; - /* Bottom right angle */ - endAngle = 0.9707963267949 + (Math.PI * 2.0); - - /* Nicer to pass counterClockwise / clockwise into canvas functions - * than true / false */ - counterClockwise = false; - - /* Borders should be 1px */ - ctx.lineWidth = 1; - - /** - * Little helper method for transforming points on a given - * angle and distance for code clarity - */ - applyAngle = function (point, angle, distance) { - return { - x : point.x + (Math.cos(angle) * distance), - y : point.y + (Math.sin(angle) * distance) - }; - }; - - - /** - * render the widget in its entirety. - */ - drawLoader = function () { - /* Clear canvas entirely */ - ctx.clearRect(0, 0, canvas.width, canvas.height); - - /*** IMAGERY ***/ - - /* draw outer circle */ - ctx.fillStyle = lingrad; - ctx.beginPath(); - ctx.strokeStyle = '#b2d5ed'; - ctx.arc(cX, cY, radius, 0, Math.PI * 2, counterClockwise); - ctx.fill(); - ctx.stroke(); - - /* draw inner circle */ - ctx.fillStyle = innerGrad; - ctx.beginPath(); - ctx.arc(cX, cY, innerRadius, 0, Math.PI * 2, counterClockwise); - ctx.fill(); - ctx.strokeStyle = '#b2d5edaa'; - ctx.stroke(); - - ctx.beginPath(); - - /** - * Helper function - adds a path (without calls to beginPath or closePath) - * to the context which describes the inner tube. We use this for drawing - * the background of the inner tube (which is always at 100%) and the - * progress meter itself, which may vary from 0-100% */ - function makeInnerTubePath(startAngle, endAngle) { - var centrePoint, startPoint, controlAngle, capLength, c1, c2, point1, point2; - centrePoint = { - x : cX, - y : cY - }; - - startPoint = applyAngle(centrePoint, startAngle, innerBarRadius); - - ctx.moveTo(startPoint.x, startPoint.y); - - point1 = applyAngle(centrePoint, endAngle, innerBarRadius); - point2 = applyAngle(centrePoint, endAngle, outerBarRadius); - - controlAngle = endAngle + (3.142 / 2.0); - /* Cap length - a fifth of the canvas size minus 4 pixels */ - capLength = (cX * 0.20) - 4; - - c1 = applyAngle(point1, controlAngle, capLength); - c2 = applyAngle(point2, controlAngle, capLength); - - ctx.arc(cX, cY, innerBarRadius, startAngle, endAngle, false); - ctx.bezierCurveTo(c1.x, c1.y, c2.x, c2.y, point2.x, point2.y); - ctx.arc(cX, cY, outerBarRadius, endAngle, startAngle, true); - - point1 = applyAngle(centrePoint, startAngle, innerBarRadius); - point2 = applyAngle(centrePoint, startAngle, outerBarRadius); - - controlAngle = startAngle - (3.142 / 2.0); - - c1 = applyAngle(point2, controlAngle, capLength); - c2 = applyAngle(point1, controlAngle, capLength); - - ctx.bezierCurveTo(c1.x, c1.y, c2.x, c2.y, point1.x, point1.y); - } - - /* Background tube */ - ctx.beginPath(); - ctx.strokeStyle = '#bcd4e5'; - makeInnerTubePath(startAngle, endAngle); - - ctx.fillStyle = tubeGrad; - ctx.fill(); - ctx.stroke(); - - /* Calculate angles for the the progress metre */ - completeAngle = startAngle + (progress * (endAngle - startAngle)); - - ctx.beginPath(); - makeInnerTubePath(startAngle, completeAngle); - - /* We're going to apply a clip so save the current state */ - ctx.save(); - /* Clip so we can apply the image gradient */ - ctx.clip(); - - /* Draw the spiral gradient over the clipped area */ - ctx.drawImage(gradient, 0, 0, canvas.width, canvas.height); - - /* Undo the clip */ - ctx.restore(); - - /* Draw the outline of the path */ - ctx.beginPath(); - makeInnerTubePath(startAngle, completeAngle); - ctx.stroke(); - - /*** TEXT ***/ - (function () { - var fontSize, string, smallSize, heightRemaining; - /* Calculate the size of the font based on the canvas size */ - fontSize = cX / 2; - - percentageText.style.top = ((settings.height / 2) - (fontSize / 2)).toString() + 'px'; - percentageText.style.color = '#000'; - percentageText.style.font = fontSize.toString() + 'px BebasNeueRegular'; - percentageText.style.textShadow = '0 1px 1px #FFFFFF'; - - /* Calculate the text for the given percentage */ - string = (progress * 100.0).toFixed(0) + '%'; - - percentageText.innerHTML = string; - - /* Calculate font and placement of small 'value' text */ - smallSize = cX / 5.5; - valueText.style.color = '#FFF'; - valueText.style.font = smallSize.toString() + 'px BebasNeueRegular'; - valueText.style.height = smallSize.toString() + 'px'; - valueText.style.textShadow = 'None'; - - /* Ugly vertical align calculations - fit into bottom ring. - * The bottom ring occupes 1/6 of the diameter of the circle */ - heightRemaining = (settings.height * 0.16666666) - smallSize; - valueText.style.top = ((settings.height * 0.8333333) + (heightRemaining / 4)).toString() + 'px'; - }()); - }; - - /** - * Check the progress value and ensure it is within the correct bounds [0..1] - */ - clipValue = function () { - if (progress < 0) { - progress = 0; - } - - if (progress > 1.0) { - progress = 1.0; - } - }; - - /* Sets the current progress level of the loader - * - * @param value the progress value, from 0 to 1. Values outside this range - * will be clipped - */ - setProgress = function (value) { - /* Clip values to the range [0..1] */ - progress = value; - clipValue(); - drawLoader(); - }; - - this.setProgress = setProgress; - - setValue = function (val) { - value = val; - valueText.innerHTML = value; - }; - - this.setValue = setValue; - this.setValue(settings.value); - - progress = settings.progress; - clipValue(); - - /* Do an initial draw */ - drawLoader(); - - /* In controllable mode, add event handlers */ - if (params.controllable === true) { - (function () { - var mouseDown, getDistance, adjustProgressWithXY; - getDistance = function (x, y) { - return Math.sqrt(Math.pow(x - cX, 2) + Math.pow(y - cY, 2)); - }; - - mouseDown = false; - - adjustProgressWithXY = function (x, y) { - /* within the bar, calculate angle of touch point */ - var pX, pY, angle, startTouchAngle, range, posValue; - pX = x - cX; - pY = y - cY; - - angle = Math.atan2(pY, pX); - if (angle > Math.PI / 2.0) { - angle -= (Math.PI * 2.0); - } - - startTouchAngle = startAngle - (Math.PI * 2.0); - range = endAngle - startAngle; - posValue = (angle - startTouchAngle) / range; - setProgress(posValue); - - if (params.onProgressUpdate) { - /* use the progress value as this will have been clipped - * to the correct range [0..1] after the call to setProgress - */ - params.onProgressUpdate(progress); - } - }; - - $(outerDiv).mousedown(function (e) { - var offset, x, y, distance; - offset = $(this).offset(); - x = e.pageX - offset.left; - y = e.pageY - offset.top; - - distance = getDistance(x, y); - - if (distance > innerRadius && distance < radius) { - mouseDown = true; - adjustProgressWithXY(x, y); - } - }).mouseup(function () { - mouseDown = false; - }).mousemove(function (e) { - var offset, x, y; - if (mouseDown) { - offset = $(outerDiv).offset(); - x = e.pageX - offset.left; - y = e.pageY - offset.top; - adjustProgressWithXY(x, y); - } - }).mouseleave(function () { - mouseDown = false; - }); - }()); - } - return this; - }; -}(jQuery));