Testimonials Widget - Version 3.3.3

Version Description

= 3.0.0 =

This is a major overhaul without backwards compliance of over 80 changes. Please read the Testimonials Widget 3.0 and Testimonials Widget Premium 2.0 Upgrade Notice for more help.

If you use custom CSS, actions, or filters to modify Testimonials Widget and Testimonials Widget Premium actions or output, this upgrade will not be compatible with those modifications until corrections are made.

= Older Versions =

Read UPGRADING.

Download this release

Release Info

Developer subharanjan
Plugin Icon wp plugin Testimonials Widget
Version 3.3.3
Comparing to
See all releases

Code changes from version 3.3.2 to 3.3.3

Files changed (62) hide show
  1. CHANGELOG.md +1 -1
  2. assets/js/tw-admin-scripts.js +14 -0
  3. includes/libraries/Gamajo-Template-Loader/CHANGELOG.md +30 -0
  4. includes/libraries/aihrus-framework/includes/libraries/parsedown/test/CommonMarkTest.php +74 -0
  5. includes/libraries/aihrus-framework/includes/libraries/parsedown/test/ParsedownTest.php +159 -0
  6. includes/libraries/aihrus-framework/includes/libraries/parsedown/test/TestParsedown.php +5 -0
  7. includes/libraries/aihrus-framework/includes/libraries/parsedown/test/data/sparse_html.html +8 -0
  8. includes/libraries/aihrus-framework/includes/libraries/parsedown/test/data/sparse_html.md +8 -0
  9. includes/libraries/bxslider-4/CONTRIBUTING.md +118 -0
  10. includes/libraries/bxslider-4/Gruntfile.js +326 -0
  11. includes/libraries/bxslider-4/_config.json +21 -0
  12. includes/libraries/bxslider-4/dist/LICENSE.md +12 -0
  13. includes/libraries/bxslider-4/dist/README.md +748 -0
  14. includes/libraries/bxslider-4/dist/jquery.bxslider.min.css +10 -0
  15. includes/libraries/bxslider-4/docs_src/assets/img/bx-logo.png +0 -0
  16. includes/libraries/bxslider-4/docs_src/assets/img/photo1-cropped.jpeg +0 -0
  17. includes/libraries/bxslider-4/docs_src/assets/img/photo1.jpeg +0 -0
  18. includes/libraries/bxslider-4/docs_src/assets/img/photo2-cropped.jpeg +0 -0
  19. includes/libraries/bxslider-4/docs_src/assets/img/photo2.jpeg +0 -0
  20. includes/libraries/bxslider-4/docs_src/assets/img/photo3-cropped.jpeg +0 -0
  21. includes/libraries/bxslider-4/docs_src/assets/img/photo3.jpeg +0 -0
  22. includes/libraries/bxslider-4/docs_src/assets/img/photo4.jpeg +0 -0
  23. includes/libraries/bxslider-4/docs_src/assets/img/photo5.jpeg +0 -0
  24. includes/libraries/bxslider-4/docs_src/assets/img/photo6.jpeg +0 -0
  25. includes/libraries/bxslider-4/docs_src/assets/js/app.js +234 -0
  26. includes/libraries/bxslider-4/docs_src/assets/less/docs.less +112 -0
  27. includes/libraries/bxslider-4/docs_src/assets/vendors/jquery.min.js +5 -0
  28. includes/libraries/bxslider-4/docs_src/assets/vendors/jquery.min.map +1 -0
  29. includes/libraries/bxslider-4/docs_src/templates/layouts/demos.hbs +33 -0
  30. includes/libraries/bxslider-4/docs_src/templates/layouts/docs.hbs +30 -0
  31. includes/libraries/bxslider-4/docs_src/templates/layouts/home.hbs +31 -0
  32. includes/libraries/bxslider-4/docs_src/templates/pages/demos/adaptiveHeight.hbs +40 -0
  33. includes/libraries/bxslider-4/docs_src/templates/pages/demos/autoplay.hbs +70 -0
  34. includes/libraries/bxslider-4/docs_src/templates/pages/demos/basic.hbs +41 -0
  35. includes/libraries/bxslider-4/docs_src/templates/pages/demos/callbacks.hbs +88 -0
  36. includes/libraries/bxslider-4/docs_src/templates/pages/demos/captions.hbs +41 -0
  37. includes/libraries/bxslider-4/docs_src/templates/pages/demos/carousel.hbs +438 -0
  38. includes/libraries/bxslider-4/docs_src/templates/pages/demos/customPager.hbs +51 -0
  39. includes/libraries/bxslider-4/docs_src/templates/pages/demos/demos.hbs +22 -0
  40. includes/libraries/bxslider-4/docs_src/templates/pages/demos/destroy.hbs +43 -0
  41. includes/libraries/bxslider-4/docs_src/templates/pages/demos/fade.hbs +46 -0
  42. includes/libraries/bxslider-4/docs_src/templates/pages/demos/manual.hbs +45 -0
  43. includes/libraries/bxslider-4/docs_src/templates/pages/demos/shrinkItems.hbs +66 -0
  44. includes/libraries/bxslider-4/docs_src/templates/pages/demos/ticker.hbs +89 -0
  45. includes/libraries/bxslider-4/docs_src/templates/pages/demos/touch.hbs +44 -0
  46. includes/libraries/bxslider-4/docs_src/templates/pages/demos/vertical.hbs +45 -0
  47. includes/libraries/bxslider-4/docs_src/templates/pages/docs/options.hbs +624 -0
  48. includes/libraries/bxslider-4/docs_src/templates/pages/index.hbs +8 -0
  49. includes/libraries/bxslider-4/docs_src/templates/partials/footer.hbs +14 -0
  50. includes/libraries/bxslider-4/docs_src/templates/partials/head.hbs +25 -0
  51. includes/libraries/bxslider-4/docs_src/templates/partials/header.hbs +29 -0
  52. includes/libraries/bxslider-4/docs_src/templates/partials/home-carousel.hbs +16 -0
  53. includes/libraries/bxslider-4/docs_src/templates/partials/home-features.hbs +62 -0
  54. includes/libraries/bxslider-4/docs_src/templates/partials/home-hero.hbs +10 -0
  55. includes/libraries/bxslider-4/docs_src/templates/partials/javascripts.hbs +7 -0
  56. includes/libraries/bxslider-4/docs_src/templates/partials/title.hbs +7 -0
  57. includes/libraries/bxslider-4/src/css/jquery.bxslider.css +176 -0
  58. includes/libraries/bxslider-4/src/js/.jscsrc +81 -0
  59. includes/libraries/bxslider-4/src/js/.jshintrc +16 -0
  60. languages/testimonials-widget.pot +2 -2
  61. readme.txt +1 -1
  62. testimonials-widget.php +2 -2
CHANGELOG.md CHANGED
@@ -2,7 +2,7 @@
2
 
3
  ## master
4
 
5
- ## 3.3.2
6
  * Fix `Fatal error: Can't use function return value in write context`
7
 
8
  ## 3.3.1
2
 
3
  ## master
4
 
5
+ ## 3.3.3
6
  * Fix `Fatal error: Can't use function return value in write context`
7
 
8
  ## 3.3.1
assets/js/tw-admin-scripts.js ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ (function ($) {
2
+ jQuery( document ).on('click', '.twp-schema-notice .notice-dismiss', function (e) {
3
+ jQuery.ajax({
4
+ type: 'POST',
5
+ url: ajaxurl,
6
+ data: {
7
+ action: 'tw_schema_notice',
8
+ nonce: tw_schema_notice.nonce
9
+ }
10
+ });
11
+ e.stopPropagation();
12
+ return false;
13
+ });
14
+ })(jQuery);
includes/libraries/Gamajo-Template-Loader/CHANGELOG.md ADDED
@@ -0,0 +1,30 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Change Log for Gamajo Template Loader
2
+
3
+ ## [Unreleased]
4
+
5
+ ## [1.2.0] - 2016-03-26
6
+
7
+ - Support adding custom template data.
8
+ - Add check around class definition if class exists.
9
+ - Added `composer.json`.
10
+ - Fix code standards.
11
+ - Improve README.
12
+ - Move example meal planner class into README.
13
+
14
+ ## [1.1.0] - 2014-03-08
15
+
16
+ - Fix bug so that the more specific template is preferred.
17
+ - Cache template path in a local variable.
18
+ - Change access to `locate_template()` method to public.
19
+ - Add `$plugin_template_directory` property.
20
+ - Initialise `$templates` variable.
21
+ - Add check if class exists in example code.
22
+ - Improve README
23
+
24
+ ## 1.0.0 - 2013-12-09
25
+
26
+ - Initial release.
27
+
28
+ [Unreleased]: https://github.com/GaryJones/Gamajo-Template-Loader/compare/1.2.0...HEAD
29
+ [1.2.0]: https://github.com/GaryJones/Gamajo-Template-Loader/compare/1.1.0...1.2.0
30
+ [1.1.0]: https://github.com/GaryJones/Gamajo-Template-Loader/compare/1.0.0...1.1.0
includes/libraries/aihrus-framework/includes/libraries/parsedown/test/CommonMarkTest.php ADDED
@@ -0,0 +1,74 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Test Parsedown against the CommonMark spec.
5
+ *
6
+ * Some code based on the original JavaScript test runner by jgm.
7
+ *
8
+ * @link http://commonmark.org/ CommonMark
9
+ * @link http://git.io/8WtRvQ JavaScript test runner
10
+ */
11
+ class CommonMarkTest extends PHPUnit_Framework_TestCase
12
+ {
13
+ const SPEC_URL = 'https://raw.githubusercontent.com/jgm/stmd/master/spec.txt';
14
+
15
+ /**
16
+ * @dataProvider data
17
+ * @param $section
18
+ * @param $markdown
19
+ * @param $expectedHtml
20
+ */
21
+ function test_($section, $markdown, $expectedHtml)
22
+ {
23
+ $Parsedown = new Parsedown();
24
+ $Parsedown->setUrlsLinked(false);
25
+
26
+ $actualHtml = $Parsedown->text($markdown);
27
+ $actualHtml = $this->normalizeMarkup($actualHtml);
28
+
29
+ $this->assertEquals($expectedHtml, $actualHtml);
30
+ }
31
+
32
+ function data()
33
+ {
34
+ $spec = file_get_contents(self::SPEC_URL);
35
+ $spec = strstr($spec, '<!-- END TESTS -->', true);
36
+
37
+ $tests = array();
38
+ $currentSection = '';
39
+
40
+ preg_replace_callback(
41
+ '/^\.\n([\s\S]*?)^\.\n([\s\S]*?)^\.$|^#{1,6} *(.*)$/m',
42
+ function($matches) use ( & $tests, & $currentSection, & $testCount) {
43
+ if (isset($matches[3]) and $matches[3]) {
44
+ $currentSection = $matches[3];
45
+ } else {
46
+ $testCount++;
47
+ $markdown = $matches[1];
48
+ $markdown = preg_replace('/→/', "\t", $markdown);
49
+ $expectedHtml = $matches[2];
50
+ $expectedHtml = $this->normalizeMarkup($expectedHtml);
51
+ $tests []= array(
52
+ $currentSection, # section
53
+ $markdown, # markdown
54
+ $expectedHtml, # html
55
+ );
56
+ }
57
+ },
58
+ $spec
59
+ );
60
+
61
+ return $tests;
62
+ }
63
+
64
+ private function normalizeMarkup($markup)
65
+ {
66
+ $markup = preg_replace("/\n+/", "\n", $markup);
67
+ $markup = preg_replace('/^\s+/m', '', $markup);
68
+ $markup = preg_replace('/^((?:<[\w]+>)+)\n/m', '$1', $markup);
69
+ $markup = preg_replace('/\n((?:<\/[\w]+>)+)$/m', '$1', $markup);
70
+ $markup = trim($markup);
71
+
72
+ return $markup;
73
+ }
74
+ }
includes/libraries/aihrus-framework/includes/libraries/parsedown/test/ParsedownTest.php ADDED
@@ -0,0 +1,159 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class ParsedownTest extends PHPUnit_Framework_TestCase
4
+ {
5
+ final function __construct($name = null, array $data = array(), $dataName = '')
6
+ {
7
+ $this->dirs = $this->initDirs();
8
+ $this->Parsedown = $this->initParsedown();
9
+
10
+ parent::__construct($name, $data, $dataName);
11
+ }
12
+
13
+ private $dirs, $Parsedown;
14
+
15
+ /**
16
+ * @return array
17
+ */
18
+ protected function initDirs()
19
+ {
20
+ $dirs []= dirname(__FILE__).'/data/';
21
+
22
+ return $dirs;
23
+ }
24
+
25
+ /**
26
+ * @return Parsedown
27
+ */
28
+ protected function initParsedown()
29
+ {
30
+ $Parsedown = new Parsedown();
31
+
32
+ return $Parsedown;
33
+ }
34
+
35
+ /**
36
+ * @dataProvider data
37
+ * @param $test
38
+ * @param $dir
39
+ */
40
+ function test_($test, $dir)
41
+ {
42
+ $markdown = file_get_contents($dir . $test . '.md');
43
+
44
+ $expectedMarkup = file_get_contents($dir . $test . '.html');
45
+
46
+ $expectedMarkup = str_replace("\r\n", "\n", $expectedMarkup);
47
+ $expectedMarkup = str_replace("\r", "\n", $expectedMarkup);
48
+
49
+ $actualMarkup = $this->Parsedown->text($markdown);
50
+
51
+ $this->assertEquals($expectedMarkup, $actualMarkup);
52
+ }
53
+
54
+ function data()
55
+ {
56
+ $data = array();
57
+
58
+ foreach ($this->dirs as $dir)
59
+ {
60
+ $Folder = new DirectoryIterator($dir);
61
+
62
+ foreach ($Folder as $File)
63
+ {
64
+ /** @var $File DirectoryIterator */
65
+
66
+ if ( ! $File->isFile())
67
+ {
68
+ continue;
69
+ }
70
+
71
+ $filename = $File->getFilename();
72
+
73
+ $extension = pathinfo($filename, PATHINFO_EXTENSION);
74
+
75
+ if ($extension !== 'md')
76
+ {
77
+ continue;
78
+ }
79
+
80
+ $basename = $File->getBasename('.md');
81
+
82
+ if (file_exists($dir . $basename . '.html'))
83
+ {
84
+ $data []= array($basename, $dir);
85
+ }
86
+ }
87
+ }
88
+
89
+ return $data;
90
+ }
91
+
92
+ public function test_no_markup()
93
+ {
94
+ $markdownWithHtml = <<<MARKDOWN_WITH_MARKUP
95
+ <div>_content_</div>
96
+
97
+ sparse:
98
+
99
+ <div>
100
+ <div class="inner">
101
+ _content_
102
+ </div>
103
+ </div>
104
+
105
+ paragraph
106
+
107
+ <style type="text/css">
108
+ p {
109
+ color: red;
110
+ }
111
+ </style>
112
+
113
+ comment
114
+
115
+ <!-- html comment -->
116
+ MARKDOWN_WITH_MARKUP;
117
+
118
+ $expectedHtml = <<<EXPECTED_HTML
119
+ <p>&lt;div&gt;<em>content</em>&lt;/div&gt;</p>
120
+ <p>sparse:</p>
121
+ <p>&lt;div&gt;
122
+ &lt;div class=&quot;inner&quot;&gt;
123
+ <em>content</em>
124
+ &lt;/div&gt;
125
+ &lt;/div&gt;</p>
126
+ <p>paragraph</p>
127
+ <p>&lt;style type=&quot;text/css&quot;&gt;
128
+ p {
129
+ color: red;
130
+ }
131
+ &lt;/style&gt;</p>
132
+ <p>comment</p>
133
+ <p>&lt;!-- html comment --&gt;</p>
134
+ EXPECTED_HTML;
135
+ $parsedownWithNoMarkup = new Parsedown();
136
+ $parsedownWithNoMarkup->setMarkupEscaped(true);
137
+ $this->assertEquals($expectedHtml, $parsedownWithNoMarkup->text($markdownWithHtml));
138
+ }
139
+
140
+ public function testLateStaticBinding()
141
+ {
142
+ include 'test/TestParsedown.php';
143
+
144
+ $parsedown = Parsedown::instance();
145
+ $this->assertInstanceOf('Parsedown', $parsedown);
146
+
147
+ // After instance is already called on Parsedown
148
+ // subsequent calls with the same arguments return the same instance
149
+ $sameParsedown = TestParsedown::instance();
150
+ $this->assertInstanceOf('Parsedown', $sameParsedown);
151
+ $this->assertSame($parsedown, $sameParsedown);
152
+
153
+ $testParsedown = TestParsedown::instance('test late static binding');
154
+ $this->assertInstanceOf('TestParsedown', $testParsedown);
155
+
156
+ $sameInstanceAgain = TestParsedown::instance('test late static binding');
157
+ $this->assertSame($testParsedown, $sameInstanceAgain);
158
+ }
159
+ }
includes/libraries/aihrus-framework/includes/libraries/parsedown/test/TestParsedown.php ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
1
+ <?php
2
+
3
+ class TestParsedown extends Parsedown
4
+ {
5
+ }
includes/libraries/aihrus-framework/includes/libraries/parsedown/test/data/sparse_html.html ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
1
+ <div>
2
+ line 1
3
+
4
+ line 2
5
+ line 3
6
+
7
+ line 4
8
+ </div>
includes/libraries/aihrus-framework/includes/libraries/parsedown/test/data/sparse_html.md ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
1
+ <div>
2
+ line 1
3
+
4
+ line 2
5
+ line 3
6
+
7
+ line 4
8
+ </div>
includes/libraries/bxslider-4/CONTRIBUTING.md ADDED
@@ -0,0 +1,118 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Contributing to this project
2
+
3
+ Please take a moment to review this document in order to make the contribution
4
+ process easy and effective for everyone involved.
5
+
6
+ Following these guidelines helps to communicate that you respect the time of
7
+ the developers managing and developing this open source project. In return,
8
+ they should reciprocate that respect in addressing your issue or assessing
9
+ patches and features.
10
+
11
+
12
+ ## Using the issue tracker
13
+
14
+ The issue tracker is the preferred channel for [bug reports](#bugs),
15
+ [features requests](#features) and [submitting pull
16
+ requests](#pull-requests), but please respect the following restrictions:
17
+
18
+ * Please **do not** use the issue tracker for personal support requests.
19
+
20
+ * Please **do not** derail or troll issues. Keep the discussion on topic and
21
+ respect the opinions of others.
22
+
23
+
24
+ <a name="bugs"></a>
25
+ ## Bug reports
26
+
27
+ A bug is a _demonstrable problem_ that is caused by the code in the repository.
28
+ Good bug reports are extremely helpful - thank you!
29
+
30
+ Guidelines for bug reports:
31
+
32
+ 1. **Use the GitHub issue search** &mdash; check if the issue has already been
33
+ reported.
34
+
35
+ 2. **Check if the issue has been fixed** &mdash; try to reproduce it using the
36
+ latest `master` or development branch in the repository.
37
+
38
+ 3. **Isolate the problem** &mdash; make sure that the code in the repository is
39
+ _definitely_ responsible for the issue.
40
+
41
+ A good bug report shouldn't leave others needing to chase you up for more
42
+ information. Please try to be as detailed as possible in your report. Examples are
43
+ important, please try to provide them.
44
+
45
+
46
+ <a name="features"></a>
47
+ ## Feature requests
48
+
49
+ Feature requests are welcome. But take a moment to find out whether your idea
50
+ fits with the scope and aims of the project. It's up to *you* to make a strong
51
+ case to convince the developers of the merits of this feature. Please
52
+ provide as much detail and context as possible.
53
+
54
+
55
+ <a name="pull-requests"></a>
56
+ ## Pull requests
57
+
58
+ Good pull requests - patches, improvements, new features - are a fantastic
59
+ help. They should remain focused in scope and avoid containing unrelated
60
+ commits.
61
+
62
+ **Please ask first** before embarking on any significant pull request (e.g.
63
+ implementing features, refactoring code), otherwise you risk spending a lot of
64
+ time working on something that the developers might not want to merge into the
65
+ project.
66
+
67
+ Please adhere to the coding conventions used throughout the project (indentation,
68
+ comments, etc.).
69
+
70
+ Adhering to the following this process is the best way to get your work
71
+ merged:
72
+
73
+ 1. [Fork](http://help.github.com/fork-a-repo/) the repo, clone your fork,
74
+ and configure the remotes:
75
+
76
+ ```bash
77
+ # Clone your fork of the repo into the current directory
78
+ git clone https://github.com/<your-username>/<repo-name>
79
+ # Navigate to the newly cloned directory
80
+ cd <repo-name>
81
+ # Assign the original repo to a remote called "upstream"
82
+ git remote add upstream https://github.com/<upsteam-owner>/<repo-name>
83
+ ```
84
+
85
+ 2. If you cloned a while ago, get the latest changes from upstream:
86
+
87
+ ```bash
88
+ git checkout <dev-branch>
89
+ git pull upstream <dev-branch>
90
+ ```
91
+
92
+ 3. Create a new topic branch (off the main project development branch) to
93
+ contain your feature, change, or fix:
94
+
95
+ ```bash
96
+ git checkout -b <topic-branch-name>
97
+ ```
98
+
99
+ 4. Commit your changes in logical chunks. Please adhere to these [git commit
100
+ message guidelines](http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html)
101
+ or your code is unlikely be merged into the main project. Use Git's
102
+ [interactive rebase](https://help.github.com/articles/interactive-rebase)
103
+ feature to tidy up your commits before making them public.
104
+
105
+ 5. Locally merge (or rebase) the upstream development branch into your topic branch:
106
+
107
+ ```bash
108
+ git pull [--rebase] upstream <dev-branch>
109
+ ```
110
+
111
+ 6. Push your topic branch up to your fork:
112
+
113
+ ```bash
114
+ git push origin <topic-branch-name>
115
+ ```
116
+
117
+ 10. [Open a Pull Request](https://help.github.com/articles/using-pull-requests/)
118
+ with a clear title and description.
includes/libraries/bxslider-4/Gruntfile.js ADDED
@@ -0,0 +1,326 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * bxSlider
3
+ *
4
+ * Steven Wanderski
5
+ *
6
+ * Copyright (c) 2014
7
+ * Licensed under the MIT license.
8
+ */
9
+ module.exports = function(grunt) {
10
+
11
+ var path = require('path');
12
+
13
+ if (!grunt.file.isDir('bower_components')) {
14
+ grunt.fail.fatal('>> Please run "bower install" before continuing.');
15
+ }
16
+ require('load-grunt-tasks')(grunt);
17
+
18
+ grunt
19
+ .initConfig({
20
+ pkg: grunt.file.readJSON('package.json'),
21
+ app: grunt.file.readJSON('_config.json'),
22
+ vendor: 'bower_components',
23
+
24
+ // assemble
25
+ assemble: {
26
+ options: {
27
+ flatten: false,
28
+ expand: true,
29
+ production: false,
30
+ assets: '<%= app.docs.dest %>/assets',
31
+ postprocess: require('pretty'),
32
+ mybaseDir: path.resolve('<%= app.docs.dest %>'),
33
+
34
+ // metadata
35
+ pkg: '<%= pkg %>',
36
+ app: '<%= app %>',
37
+ data: ['<%= app.docs.src %>/data/*.{json,yml}'],
38
+ helpers: ['handlebars-helpers'],
39
+
40
+ // templates
41
+ partials: '<%= app.docs.templates %>/partials/*.hbs',
42
+ layoutdir: '<%= app.docs.layouts %>/'
43
+ },
44
+ index: {
45
+ options: {
46
+ layout: 'home.hbs'
47
+ },
48
+ files: [{
49
+ expand: true,
50
+ cwd: '<%= app.docs.pages %>/',
51
+ src: '*.hbs',
52
+ dest: '<%= app.docs.dest %>/'
53
+ }]
54
+ },
55
+ demos: {
56
+ options: {
57
+ layout: 'demos.hbs'
58
+ },
59
+ files: [{
60
+ expand: true,
61
+ cwd: '<%= app.docs.pages %>/demos/',
62
+ src: '*.hbs',
63
+ dest: '<%= app.docs.dest %>/demos'
64
+ }]
65
+ },
66
+ docs: {
67
+ options: {
68
+ layout: 'docs.hbs'
69
+ },
70
+ files: [{
71
+ expand: true,
72
+ cwd: '<%= app.docs.pages %>/docs/',
73
+ src: '*.hbs',
74
+ dest: '<%= app.docs.dest %>/docs'
75
+ }]
76
+ }
77
+ },
78
+
79
+ // clean
80
+ clean: {
81
+ docs: ['<%= app.docs.dest %>/**/*.*'],
82
+ dist: ['dist/**/*.*']
83
+ },
84
+
85
+ // less
86
+ less: {
87
+ docs: {
88
+ options: {
89
+ compress: true,
90
+ paths: ['<%= app.docs.src %>/assets/less/', 'bower_components/bootstrap/less/']
91
+ },
92
+ files: {
93
+ '<%= app.docs.dest %>/assets/css/docs.min.css': '<%= app.docs.src %>/assets/less/docs.less'
94
+ }
95
+ },
96
+ dist: {
97
+ options: {
98
+ compress: false
99
+ },
100
+ files: [{
101
+ expand: true,
102
+ flatten: true,
103
+ cwd: 'src/less/',
104
+ src: '*less',
105
+ dest: 'src/css/',
106
+ ext: '.css',
107
+ extDot: 'last'
108
+ }]
109
+ }
110
+ },
111
+
112
+ // concat
113
+ concat: {
114
+ docs: {
115
+ src: [
116
+ 'bower_components/bootstrap/js/transition.js',
117
+ 'bower_components/bootstrap/js/alert.js',
118
+ 'bower_components/bootstrap/js/button.js',
119
+ 'bower_components/bootstrap/js/carousel.js',
120
+ 'bower_components/bootstrap/js/collapse.js',
121
+ 'bower_components/bootstrap/js/dropdown.js',
122
+ 'bower_components/bootstrap/js/modal.js',
123
+ 'bower_components/bootstrap/js/tooltip.js',
124
+ 'bower_components/bootstrap/js/popover.js',
125
+ 'bower_components/bootstrap/js/scrollspy.js',
126
+ 'bower_components/bootstrap/js/tab.js',
127
+ 'bower_components/bootstrap/js/affix.js',
128
+ 'bower_components/highlightjs/highlight.pack.js'
129
+ ],
130
+ dest: '<%= app.docs.dest %>/assets/js/vendor.js'
131
+ },
132
+ dist: {
133
+ options: {
134
+ banner: '/**\n' + ' * bxSlider v<%= pkg.version %>\n' +
135
+ ' * Copyright 2013-<%= grunt.template.today("yyyy") %> <%= pkg.author.name %>\n' +
136
+ ' * Written while drinking Belgian ales and listening to jazz\n\n' +
137
+ ' * Licensed under <%= pkg.license.type %> (<%= pkg.license.url %>)\n' + ' */\n\n'
138
+ },
139
+ files: {
140
+ 'dist/jquery.<%= pkg.name %>.css': ['src/css/*.css'],
141
+ 'dist/jquery.<%= pkg.name %>.js': '<%= app.src.scripts %>'
142
+ }
143
+ }
144
+ },
145
+
146
+ cssmin: {
147
+ options: {
148
+ banner: '/**\n' + ' * bxSlider v<%= pkg.version %>\n' +
149
+ ' * Copyright 2013-<%= grunt.template.today("yyyy") %> <%= pkg.author.name %>\n' +
150
+ ' * Written while drinking Belgian ales and listening to jazz\n\n' +
151
+ ' * Licensed under <%= pkg.license.type %> (<%= pkg.license.url %>)\n' + ' */\n\n'
152
+ },
153
+ dist: {
154
+ files: {
155
+ 'dist/jquery.<%= pkg.name %>.min.css': ['src/css/*.css']
156
+ }
157
+ }
158
+ },
159
+
160
+ // jshint
161
+ jshint: {
162
+ options: {
163
+ jshintrc: 'src/js/.jshintrc'
164
+ },
165
+ dist: {
166
+ src: ['<%= app.src.scripts %>', 'Gruntfile.js']
167
+ }
168
+ },
169
+
170
+ //jscs
171
+ jscs: {
172
+ options: {
173
+ config: 'src/js/.jscsrc',
174
+ reporter: 'text.js',
175
+ reporterOutput: 'jscs.report.txt'
176
+ },
177
+ dist: {
178
+ src: ['<%= app.src.scripts %>', 'Gruntfile.js']
179
+ }
180
+ },
181
+
182
+ // uglify
183
+ uglify: {
184
+ options: {
185
+ banner: '/**\n' + ' * bxSlider v<%= pkg.version %>\n' +
186
+ ' * Copyright 2013-<%= grunt.template.today("yyyy") %> <%= pkg.author.name %>\n' +
187
+ ' * Written while drinking Belgian ales and listening to jazz\n\n' +
188
+ ' * Licensed under <%= pkg.license.type %> (<%= pkg.license.url %>)\n' + ' */\n\n'
189
+ },
190
+ dist: {
191
+ files: {
192
+ 'dist/jquery.<%= pkg.name %>.min.js': '<%= app.src.scripts %>'
193
+ }
194
+ }
195
+ },
196
+
197
+ // copy
198
+ copy: {
199
+ distImages: {
200
+ expand: true,
201
+ flatten: true,
202
+ cwd: 'src/',
203
+ src: ['images/*.*'],
204
+ dest: 'dist/images'
205
+ },
206
+
207
+ distVendor: {
208
+ expand: true,
209
+ flatten: true,
210
+ cwd: 'src/',
211
+ src: ['vendor/*.*'],
212
+ dest: 'dist/vendor'
213
+ },
214
+
215
+ distToDocs: {
216
+ expand: true,
217
+ cwd: 'dist/',
218
+ src: ['**/*.*'],
219
+ dest: '<%= app.docs.dest %>/assets/bxslider'
220
+ },
221
+
222
+ srcToDocs: {
223
+ expand: true,
224
+ cwd: 'src/js',
225
+ src: ['**/*.js'],
226
+ dest: '<%= app.docs.dest %>/assets/bxslider/src'
227
+ },
228
+
229
+ docsAssets: {
230
+ expand: true,
231
+ cwd: '<%= app.docs.src %>/assets/',
232
+ src: ['css/*.css', 'vendors/*.js', 'vendors/*.map', 'img/*.*', 'js/*.*'],
233
+ dest: '<%= app.docs.dest %>/assets/'
234
+ },
235
+
236
+ docsHighlightAssets: {
237
+ expand: true,
238
+ cwd: 'bower_components/highlightjs/',
239
+ src: 'styles/*.css',
240
+ dest: '<%= app.docs.dest %>/assets/css/'
241
+ },
242
+
243
+ readme: {
244
+ files: [{
245
+ 'dist/LICENSE.md': 'LICENSE.md',
246
+ 'dist/README.md': 'README.md'
247
+ }]
248
+ }
249
+ },
250
+
251
+ // connect
252
+ connect: {
253
+ options: {
254
+ port: 9000,
255
+ open: true,
256
+ livereload: true,
257
+ hostname: 'localhost'
258
+ },
259
+ docs: {
260
+ options: {
261
+ base: '<%= app.docs.dest %>'
262
+ }
263
+ }
264
+ },
265
+
266
+ // watch
267
+ watch: {
268
+ options: {
269
+ livereload: true
270
+ },
271
+ templates: {
272
+ files: ['<%= app.docs.templates %>/**/*.hbs'],
273
+ tasks: ['assemble']
274
+ },
275
+ less: {
276
+ files: ['<%= app.docs.src %>/assets/**/*.less'],
277
+ tasks: ['less:docs']
278
+ },
279
+ lessDist: {
280
+ files: ['src/**/*.less'],
281
+ tasks: ['less:dist', 'concat:dist', 'cssmin:dist', 'copy:distToDocs']
282
+ },
283
+ jsDocs: {
284
+ files: ['<%= app.docs.src %>/assets/**/*.js'],
285
+ tasks: ['copy:docsAssets']
286
+ },
287
+ js: {
288
+ files: ['src/**/*.js'],
289
+ tasks: ['jscs:dist', 'jshint:dist', 'uglify:dist', 'concat:dist', 'copy:distToDocs', 'copy:srcToDocs']
290
+ },
291
+ helpers: {
292
+ files: ['<%= app.src %>/helpers/*.js'],
293
+ tasks: ['assemble']
294
+ }
295
+ },
296
+
297
+ // compress zip
298
+ compress: {
299
+ zip: {
300
+ options: {
301
+ archive: 'download/<%= pkg.version %>/bxslider.zip'
302
+ },
303
+ files: [{
304
+ expand: true,
305
+ cwd: 'dist/',
306
+ src: ['**'],
307
+ dest: 'bxslider.<%= pkg.version %>'
308
+ }]
309
+ }
310
+ }
311
+ });
312
+
313
+ grunt.loadNpmTasks('assemble');
314
+
315
+ // tasks
316
+ grunt.registerTask('dist', ['clean:dist', 'less:dist', 'jshint:dist', 'concat:dist', 'cssmin:dist', 'copy:distImages', 'copy:distVendor', 'jscs:dist', 'uglify:dist', 'copy:readme']);
317
+
318
+ grunt.registerTask('docs', ['clean:docs', 'assemble', 'less:docs', 'concat:docs', 'copy:docsAssets', 'copy:docsHighlightAssets', 'copy:distToDocs']);
319
+
320
+ grunt.registerTask('default', ['dist', 'docs']);
321
+
322
+ grunt.registerTask('watch', ['connect:docs', 'watch']);
323
+
324
+ grunt.registerTask('zip', ['compress']);
325
+
326
+ };
includes/libraries/bxslider-4/_config.json ADDED
@@ -0,0 +1,21 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "docs":{
3
+ "src": "docs_src",
4
+ "dest": "docs",
5
+ "templates":"<%= app.docs.src %>/templates",
6
+ "pages": "<%= app.docs.templates %>/pages",
7
+ "layouts": "<%= app.docs.templates %>/layouts"
8
+ },
9
+
10
+ "src":{
11
+ "dist": "dist",
12
+
13
+ "scripts": [
14
+ "src/js/jquery.bxslider.js"
15
+ ]
16
+ },
17
+
18
+ "title": "bxSlider",
19
+ "download": "https://github.com/stevenwanderski/bxslider-4/archive/master.zip",
20
+ "donate": "http://www.bxslider.com"
21
+ }
includes/libraries/bxslider-4/dist/LICENSE.md ADDED
@@ -0,0 +1,12 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ License
2
+ -------
3
+
4
+ The MIT License (MIT)
5
+
6
+ Copyright © 2014 [Steven Wanderski](https://twitter.com/stevenwanderski)
7
+
8
+ Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
9
+
10
+ The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
11
+
12
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
includes/libraries/bxslider-4/dist/README.md ADDED
@@ -0,0 +1,748 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #bxSlider 4.2.5
2
+ ##The fully-loaded, responsive jQuery content slider
3
+
4
+ ###Why should I use this slider?
5
+ * Fully responsive - will adapt to any device
6
+ * Horizontal, vertical, and fade modes
7
+ * Slides can contain images, video, or HTML content
8
+ * Full callback API and public methods
9
+ * Small file size, fully themed, simple to implement
10
+ * Browser support: Firefox, Chrome, Safari, iOS, Android, IE7+
11
+ * Tons of configuration options
12
+
13
+ For complete documentation, tons of examples, and a good time, visit:
14
+
15
+ [http://bxslider.com](http://bxslider.com)
16
+
17
+ Written by: Steven Wanderski - [http://stevenwanderski.com](http://stevenwanderski.com)
18
+
19
+ ###License
20
+ Released under the MIT license - http://opensource.org/licenses/MIT
21
+
22
+ Let's get on with it!
23
+
24
+ ##Installation
25
+
26
+ ###Step 1: Link required files
27
+
28
+ First and most important, the jQuery library needs to be included (no need to download - link directly from Google). Next, download the package from this site and link the bxSlider CSS file (for the theme) and the bxSlider Javascript file.
29
+
30
+ ```html
31
+ <!-- jQuery library (served from Google) -->
32
+ <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
33
+ <!-- bxSlider Javascript file -->
34
+ <script src="/js/jquery.bxslider.min.js"></script>
35
+ <!-- bxSlider CSS file -->
36
+ <link href="/lib/jquery.bxslider.css" rel="stylesheet" />
37
+ ```
38
+
39
+ ###Step 2: Create HTML markup
40
+
41
+ Create a `<ul class="bxslider">` element, with a `<li>` for each slide. Slides can contain images, video, or any other HTML content!
42
+
43
+ ```html
44
+ <ul class="bxslider">
45
+ <li><img src="/images/pic1.jpg" /></li>
46
+ <li><img src="/images/pic2.jpg" /></li>
47
+ <li><img src="/images/pic3.jpg" /></li>
48
+ <li><img src="/images/pic4.jpg" /></li>
49
+ </ul>
50
+ ```
51
+
52
+ ###Step 3: Call the bxSlider
53
+
54
+ Call .bxSlider() on `<ul class="bxslider">`. Note that the call must be made inside of a $(document).ready() call, or the plugin will not work!
55
+
56
+ ```javascript
57
+ $(document).ready(function(){
58
+ $('.bxslider').bxSlider();
59
+ });
60
+ ```
61
+
62
+ ##Configuration options
63
+
64
+ ###General
65
+
66
+ **mode**
67
+ Type of transition between slides
68
+ ```
69
+ default: 'horizontal'
70
+ options: 'horizontal', 'vertical', 'fade'
71
+ ```
72
+
73
+ **speed**
74
+ Slide transition duration (in ms)
75
+ ```
76
+ default: 500
77
+ options: integer
78
+ ```
79
+
80
+ **slideMargin**
81
+ Margin between each slide
82
+ ```
83
+ default: 0
84
+ options: integer
85
+ ```
86
+
87
+ **startSlide**
88
+ Starting slide index (zero-based)
89
+ ```
90
+ default: 0
91
+ options: integer
92
+ ```
93
+
94
+ **randomStart**
95
+ Start slider on a random slide
96
+ ```
97
+ default: false
98
+ options: boolean (true / false)
99
+ ```
100
+
101
+ **slideSelector**
102
+ Element to use as slides (ex. <code>'div.slide'</code>).<br />Note: by default, bxSlider will use all immediate children of the slider element
103
+ ```
104
+ default: ''
105
+ options: jQuery selector
106
+ ```
107
+
108
+ **infiniteLoop**
109
+ If <code>true</code>, clicking "Next" while on the last slide will transition to the first slide and vice-versa
110
+ ```
111
+ default: true
112
+ options: boolean (true / false)
113
+ ```
114
+
115
+ **hideControlOnEnd**
116
+ If <code>true</code>, "Prev" and "Next" controls will receive a class <code>disabled</code> when slide is the first or the last<br/>Note: Only used when <code>infiniteLoop: false</code>
117
+ ```
118
+ default: false
119
+ options: boolean (true / false)
120
+ ```
121
+
122
+ **easing**
123
+ The type of "easing" to use during transitions. If using CSS transitions, include a value for the <code>transition-timing-function</code> property. If not using CSS transitions, you may include <code>plugins/jquery.easing.1.3.js</code> for many options.<br />See <a href="http://gsgd.co.uk/sandbox/jquery/easing/" target="_blank">http://gsgd.co.uk/sandbox/jquery/easing/</a> for more info.
124
+ ```
125
+ default: null
126
+ options: if using CSS: 'linear', 'ease', 'ease-in', 'ease-out', 'ease-in-out', 'cubic-bezier(n,n,n,n)'. If not using CSS: 'swing', 'linear' (see the above file for more options)
127
+ ```
128
+
129
+ **captions**
130
+ Include image captions. Captions are derived from the image's <code>title</code> attribute
131
+ ```
132
+ default: false
133
+ options: boolean (true / false)
134
+ ```
135
+
136
+ **ticker**
137
+ Use slider in ticker mode (similar to a news ticker)
138
+ ```
139
+ default: false
140
+ options: boolean (true / false)
141
+ ```
142
+
143
+ **tickerHover**
144
+ Ticker will pause when mouse hovers over slider. Note: this functionality does NOT work if using CSS transitions!
145
+ ```
146
+ default: false
147
+ options: boolean (true / false)
148
+ ```
149
+
150
+ **adaptiveHeight**
151
+ Dynamically adjust slider height based on each slide's height
152
+ ```
153
+ default: false
154
+ options: boolean (true / false)
155
+ ```
156
+
157
+ **adaptiveHeightSpeed**
158
+ Slide height transition duration (in ms). Note: only used if <code>adaptiveHeight: true</code>
159
+ ```
160
+ default: 500
161
+ options: integer
162
+ ```
163
+
164
+ **video**
165
+ If any slides contain video, set this to <code>true</code>. Also, include <code>plugins/jquery.fitvids.js</code><br />See <a href="http://fitvidsjs.com/" target="_blank">http://fitvidsjs.com/</a> for more info
166
+ ```
167
+ default: false
168
+ options: boolean (true / false)
169
+ ```
170
+
171
+ **responsive**
172
+ Enable or disable auto resize of the slider. Useful if you need to use fixed width sliders.
173
+ ```
174
+ default: true
175
+ options: boolean (true /false)
176
+ ```
177
+
178
+ **useCSS**
179
+ If true, CSS transitions will be used for horizontal and vertical slide animations (this uses native hardware acceleration). If false, jQuery animate() will be used.
180
+ ```
181
+ default: true
182
+ options: boolean (true / false)
183
+ ```
184
+
185
+ **preloadImages**
186
+ If 'all', preloads all images before starting the slider. If 'visible', preloads only images in the initially visible slides before starting the slider (tip: use 'visible' if all slides are identical dimensions)
187
+ ```
188
+ default: 'visible'
189
+ options: 'all', 'visible'
190
+ ```
191
+
192
+ **touchEnabled**
193
+ If <code>true</code>, slider will allow touch swipe transitions
194
+ ```
195
+ default: true
196
+ options: boolean (true / false)
197
+ ```
198
+
199
+ **swipeThreshold**
200
+ Amount of pixels a touch swipe needs to exceed in order to execute a slide transition. Note: only used if <code>touchEnabled: true</code>
201
+ ```
202
+ default: 50
203
+ options: integer
204
+ ```
205
+
206
+ **oneToOneTouch**
207
+ If <code>true</code>, non-fade slides follow the finger as it swipes
208
+ ```
209
+ default: true
210
+ options: boolean (true / false)
211
+ ```
212
+
213
+ **preventDefaultSwipeX**
214
+ If <code>true</code>, touch screen will not move along the x-axis as the finger swipes
215
+ ```
216
+ default: true
217
+ options: boolean (true / false)
218
+ ```
219
+
220
+ **preventDefaultSwipeY**
221
+ If <code>true</code>, touch screen will not move along the y-axis as the finger swipes
222
+ ```
223
+ default: false
224
+ options: boolean (true / false)
225
+ ```
226
+
227
+ **wrapperClass**
228
+ Class to wrap the slider in. Change to prevent from using default bxSlider styles.
229
+ ```
230
+ default: 'bx-wrapper'
231
+ options: string
232
+ ```
233
+
234
+ ###Pager
235
+
236
+ **pager**
237
+ If <code>true</code>, a pager will be added
238
+ ```
239
+ default: true
240
+ options: boolean (true / false)
241
+ ```
242
+
243
+ **pagerType**
244
+ If <code>'full'</code>, a pager link will be generated for each slide. If <code>'short'</code>, a x / y pager will be used (ex. 1 / 5)
245
+ ```
246
+ default: 'full'
247
+ options: 'full', 'short'
248
+ ```
249
+
250
+ **pagerShortSeparator**
251
+ If <code>pagerType: 'short'</code>, pager will use this value as the separating character
252
+ ```
253
+ default: ' / '
254
+ options: string
255
+ ```
256
+
257
+ **pagerSelector**
258
+ Element used to populate the populate the pager. By default, the pager is appended to the bx-viewport
259
+ ```
260
+ default: ''
261
+ options: jQuery selector
262
+ ```
263
+
264
+ **pagerCustom**
265
+ Parent element to be used as the pager. Parent element must contain a <code>&lt;a data-slide-index="x"&gt;</code> element for each slide. See example <a href="/examples/thumbnail-method-1">here</a>. Not for use with dynamic carousels.
266
+ ```
267
+ default: null
268
+ options: jQuery selector
269
+ ```
270
+
271
+ **buildPager**
272
+ If supplied, function is called on every slide element, and the returned value is used as the pager item markup.<br />See <a href="http://bxslider.com/examples">examples</a> for detailed implementation
273
+ ```
274
+ default: null
275
+ options: function(slideIndex)
276
+ ```
277
+
278
+ ###Controls
279
+
280
+ **controls**
281
+ If <code>true</code>, "Next" / "Prev" controls will be added
282
+ ```
283
+ default: true
284
+ options: boolean (true / false)
285
+ ```
286
+
287
+ **nextText**
288
+ Text to be used for the "Next" control
289
+ ```
290
+ default: 'Next'
291
+ options: string
292
+ ```
293
+
294
+ **prevText**
295
+ Text to be used for the "Prev" control
296
+ ```
297
+ default: 'Prev'
298
+ options: string
299
+ ```
300
+
301
+ **nextSelector**
302
+ Element used to populate the "Next" control
303
+ ```
304
+ default: null
305
+ options: jQuery selector
306
+ ```
307
+
308
+ **prevSelector**
309
+ Element used to populate the "Prev" control
310
+ ```
311
+ default: null
312
+ options: jQuery selector
313
+ ```
314
+
315
+ **autoControls**
316
+ If <code>true</code>, "Start" / "Stop" controls will be added
317
+ ```
318
+ default: false
319
+ options: boolean (true / false)
320
+ ```
321
+
322
+ **startText**
323
+ Text to be used for the "Start" control
324
+ ```
325
+ default: 'Start'
326
+ options: string
327
+ ```
328
+
329
+ **stopText**
330
+ Text to be used for the "Stop" control
331
+ ```
332
+ default: 'Stop'
333
+ options: string
334
+ ```
335
+
336
+ **autoControlsCombine**
337
+ When slideshow is playing only "Stop" control is displayed and vice-versa
338
+ ```
339
+ default: false
340
+ options: boolean (true / false)
341
+ ```
342
+
343
+ **autoControlsSelector**
344
+ Element used to populate the auto controls
345
+ ```
346
+ default: null
347
+ options: jQuery selector
348
+ ```
349
+
350
+ **keyboardEnabled**
351
+ Enable keyboard navigation for visible sliders
352
+ ```
353
+ default: false
354
+ options: boolean (true / false)
355
+ ```
356
+
357
+ ###Auto
358
+
359
+ **auto**
360
+ Slides will automatically transition
361
+ ```
362
+ default: false
363
+ options: boolean (true / false)
364
+ ```
365
+ **stopAutoOnClick**
366
+ Auto will stop on interaction with controls
367
+ ```
368
+ default: false
369
+ options: boolean (true / false)
370
+ ```
371
+
372
+ **pause**
373
+ The amount of time (in ms) between each auto transition
374
+ ```
375
+ default: 4000
376
+ options: integer
377
+ ```
378
+
379
+ **autoStart**
380
+ Auto show starts playing on load. If <code>false</code>, slideshow will start when the "Start" control is clicked
381
+ ```
382
+ default: true
383
+ options: boolean (true / false)
384
+ ```
385
+
386
+ **autoDirection**
387
+ The direction of auto show slide transitions
388
+ ```
389
+ default: 'next'
390
+ options: 'next', 'prev'
391
+ ```
392
+
393
+ **autoHover**
394
+ Auto show will pause when mouse hovers over slider
395
+ ```
396
+ default: false
397
+ options: boolean (true / false)
398
+ ```
399
+
400
+ **autoDelay**
401
+ Time (in ms) auto show should wait before starting
402
+ ```
403
+ default: 0
404
+ options: integer
405
+ ```
406
+
407
+ ###Carousel
408
+
409
+ **minSlides**
410
+ The minimum number of slides to be shown. Slides will be sized down if carousel becomes smaller than the original size.
411
+ ```
412
+ default: 1
413
+ options: integer
414
+ ```
415
+
416
+ **maxSlides**
417
+ The maximum number of slides to be shown. Slides will be sized up if carousel becomes larger than the original size.
418
+ ```
419
+ default: 1
420
+ options: integer
421
+ ```
422
+
423
+ **moveSlides**
424
+ The number of slides to move on transition. This value must be <code>>= minSlides</code>, and <code><= maxSlides</code>. If zero (default), the number of fully-visible slides will be used.
425
+ ```
426
+ default: 0
427
+ options: integer
428
+ ```
429
+
430
+ **slideWidth**
431
+ The width of each slide. This setting is required for all horizontal carousels!
432
+ ```
433
+ default: 0
434
+ options: integer
435
+ ```
436
+
437
+ **shrinkItems**
438
+ The Carousel will only show whole items and shrink the images to fit the viewport based on maxSlides/MinSlides.
439
+ ```
440
+ default: false
441
+ options: boolean (true / false)
442
+ ```
443
+
444
+ ###Keyboard
445
+
446
+ **keyboardEnabled**
447
+ Allows for keyboard control of visible slider. Keypress ignored if slider not visible.
448
+ ```
449
+ default: false
450
+ options: boolean (true / false)
451
+ ```
452
+
453
+ ###Accessibility
454
+ **ariaLive**
455
+ Adds Aria Live attribute to slider.
456
+ ```
457
+ default: true
458
+ options: boolean (true / false)
459
+ ```
460
+
461
+ **ariaHidden**
462
+ Adds Aria Hidden attribute to any nonvisible slides.
463
+ ```
464
+ default: true
465
+ options: boolean (true / false)
466
+ ```
467
+
468
+ ###Callbacks
469
+
470
+ **onSliderLoad**
471
+ Executes immediately after the slider is fully loaded
472
+ ```
473
+ default: function(){}
474
+ options: function(currentIndex){ // your code here }
475
+ arguments:
476
+ currentIndex: element index of the current slide
477
+ ```
478
+
479
+ **onSliderResize**
480
+ Executes immediately after the slider is resized
481
+ ```
482
+ default: function(){}
483
+ options: function(currentIndex){ // your code here }
484
+ arguments:
485
+ currentIndex: element index of the current slide
486
+ ```
487
+
488
+ **onSlideBefore**
489
+ Executes immediately before each slide transition.
490
+ ```
491
+ default: function(){}
492
+ options: function($slideElement, oldIndex, newIndex){ // your code here }
493
+ arguments:
494
+ $slideElement: jQuery element of the destination element
495
+ oldIndex: element index of the previous slide (before the transition)
496
+ newIndex: element index of the destination slide (after the transition)
497
+ ```
498
+
499
+ **onSlideAfter**
500
+ Executes immediately after each slide transition. Function argument is the current slide element (when transition completes).
501
+ ```
502
+ default: function(){}
503
+ options: function($slideElement, oldIndex, newIndex){ // your code here }
504
+ arguments:
505
+ $slideElement: jQuery element of the destination element
506
+ oldIndex: element index of the previous slide (before the transition)
507
+ newIndex: element index of the destination slide (after the transition)
508
+ ```
509
+
510
+ **onSlideNext**
511
+ Executes immediately before each "Next" slide transition. Function argument is the target (next) slide element.
512
+ ```
513
+ default: function(){}
514
+ options: function($slideElement, oldIndex, newIndex){ // your code here }
515
+ arguments:
516
+ $slideElement: jQuery element of the destination element
517
+ oldIndex: element index of the previous slide (before the transition)
518
+ newIndex: element index of the destination slide (after the transition)
519
+ ```
520
+
521
+ **onSlidePrev**
522
+ Executes immediately before each "Prev" slide transition. Function argument is the target (prev) slide element.
523
+ ```
524
+ default: function(){}
525
+ options: function($slideElement, oldIndex, newIndex){ // your code here }
526
+ arguments:
527
+ $slideElement: jQuery element of the destination element
528
+ oldIndex: element index of the previous slide (before the transition)
529
+ newIndex: element index of the destination slide (after the transition)
530
+ ```
531
+
532
+ ###Public methods
533
+
534
+ **goToSlide**
535
+ Performs a slide transition to the supplied slide index (zero-based)
536
+ ```
537
+ example:
538
+ slider = $('.bxslider').bxSlider();
539
+ slider.goToSlide(3);
540
+ ```
541
+
542
+ **goToNextSlide**
543
+ Performs a "Next" slide transition
544
+ ```
545
+ example:
546
+ slider = $('.bxslider').bxSlider();
547
+ slider.goToNextSlide();
548
+ ```
549
+
550
+ **goToPrevSlide**
551
+ Performs a "Prev" slide transition
552
+ ```
553
+ example:
554
+ slider = $('.bxslider').bxSlider();
555
+ slider.goToPrevSlide();
556
+ ```
557
+
558
+ **startAuto**
559
+ Starts the auto show. Provide an argument <code>false</code> to prevent the auto controls from being updated.
560
+ ```
561
+ example:
562
+ slider = $('.bxslider').bxSlider();
563
+ slider.startAuto();
564
+ ```
565
+
566
+ **stopAuto**
567
+ Stops the auto show. Provide an argument <code>false</code> to prevent the auto controls from being updated.
568
+ ```
569
+ example:
570
+ slider = $('.bxslider').bxSlider();
571
+ slider.stopAuto();
572
+ ```
573
+
574
+ **getCurrentSlide**
575
+ Returns the current active slide
576
+ ```
577
+ example:
578
+ slider = $('.bxslider').bxSlider();
579
+ var current = slider.getCurrentSlide();
580
+ ```
581
+
582
+ **getSlideCount**
583
+ Returns the total number of slides in the slider
584
+ ```
585
+ example:
586
+ slider = $('.bxslider').bxSlider();
587
+ var slideQty = slider.getSlideCount();
588
+ ```
589
+
590
+ **redrawSlider**
591
+ Redraw the slider. Useful when needing to redraw a hidden slider after it is unhidden.
592
+ ```
593
+ example:
594
+ slider = $('.bxslider').bxSlider();
595
+ slider.redrawSlider();
596
+ ```
597
+
598
+ **reloadSlider**
599
+ Reload the slider. Useful when adding slides on the fly. Accepts an optional settings object. <a href="/examples/reload-slider-settings">See here for an example.</a>
600
+ ```
601
+ example:
602
+ slider = $('.bxslider').bxSlider();
603
+ slider.reloadSlider();
604
+ ```
605
+
606
+ **destroySlider**
607
+ Destroy the slider. This reverts all slider elements back to their original state (before calling the slider).
608
+ ```
609
+ example:
610
+ slider = $('.bxslider').bxSlider();
611
+ slider.destroySlider();
612
+ ```
613
+
614
+ ### Install Grunt and Bower
615
+
616
+ **Unfamiliar with npm? Don't have node installed?** [Download and install node.js](http://nodejs.org/download/) before proceeding.
617
+
618
+ From the command line:
619
+
620
+ 1. Install `grunt-cli` and `bower` globally with `npm install -g grunt-cli bower`.
621
+ 2. Run `npm install`. npm will look at `package.json` and automatically install the necessary dependencies.
622
+ 3. Run `bower install`, which installs front-end packages defined in `bower.json`.
623
+
624
+ When completed, you'll be able to run the various Grunt commands provided from the command line.
625
+
626
+ ### Available Grunt commands
627
+
628
+ * `grunt` — Clean, Compile LESS to CSS, concatenate and validate JS, build documentation.
629
+ * `grunt dist` — Clean, Compile LESS to CSS, concatenate and validate JS for plugin only.
630
+ * `grunt docs` — Clean, build documentation only.
631
+ * `grunt watch` — loads LiveReload, connects, and watches all assets.
632
+ * `grunt zip` — Creates a zip of `/dist` and places it in `/download`.
633
+
634
+ ## Contributing
635
+
636
+ Everyone is welcome to help [contribute](CONTRIBUTING.md) and improve this project. There are several ways you can contribute:
637
+
638
+ * Reporting issues (please read [issue guidelines](https://github.com/necolas/issue-guidelines))
639
+ * Suggesting new features
640
+ * Writing or refactoring code
641
+ * Fixing [issues](https://github.com/roots/roots/issues)
642
+
643
+ ## Changelog
644
+
645
+ ### Version 4.2.5
646
+ * Fix: Vertical carousel minSlides not working #840
647
+ * Fix: slider breaks with css animations if settings.speed set to 0 #838
648
+ * Fix: Slider runs into undefined state when reloadSlider is called before initialization was finished #833
649
+
650
+ ### Version 4.2.4
651
+ NOTICE: We have switched to a Grunt based build process in order to leverage [Assemble](http://assemble.io) for local documentation building. Please review the above notes about Grunt for the commands available.
652
+
653
+ * Fix: Fixed transition from first to last slide during infinite loop #778
654
+ * Fix: Reload on multiple sliders doesn't work? #755
655
+ * Fix: bxSlider with text only #746
656
+ * Fix: bower missing main and ignore entries #738
657
+ * Fix: Tickermode transitionend event bubbling #737
658
+ * Fix: Initializing before destroyed breaks slider #748
659
+ * Enhancement: Added shrinkItems carousel setting #772
660
+ * Enhancement: Maintain auto display of slides after a manual selection #594
661
+ * Enhancement: Slider getter through jquery object #739
662
+ * Enhancement: Add aria attributes #751
663
+ * Enhancement: Slider element in every callback and a new method getSliderElement (#780)
664
+ * Enhancement: Local Documentiation and examples. I have added buildable documentation to the repo. This will expand over time and allow for community corrections as needed. Please see above Grunt notes on how to build.
665
+
666
+
667
+ ### Version 4.2.3
668
+ * Minor bug fix
669
+
670
+ ### Version 4.2.2
671
+ * Fix: Remove unused plugin variable (#733)
672
+ * Fix: `updateAfterSlideTransition` not being called (#704)
673
+ * Fix: Slider stops auto advancing (#702)
674
+ * Fix: Refresh page, slider show the last item at the first in mode: 'horizontal' (#694)
675
+ * Fix: horizintal ticker stutters on loop (#669)
676
+ * Fix: Wrong bx-wrapper bottom margin with controls=true and pager=false (#647)
677
+ * Fix: add css tickerHover. (#629)
678
+ * Fix: Slider refusing to scale down, only up (#611)
679
+ * Fix: bxSlider freezes on touch devices (#540)
680
+ * Fix: Multiple fixes and improvements for Windows Mobile Devices (#596)
681
+ * Fix: Accessing bxslider's slider object inside its “onSliderLoad” callback returns undefined (#475)
682
+ * Fix: infiniteLoop glitch when scrolling from first to last slide (#429)
683
+ * Enhancement: Cancel transitions on callbacks by returning false. (#411)
684
+ * Enhancement: Added Keyboard arrow left and right support (#239)
685
+
686
+ ### Version 4.2.1
687
+ * Fix: Merge Conflict in dist
688
+ * Fix: modified bower.json
689
+
690
+ ### Version 4.2.0
691
+ * Fix: Reverse #714, fixes #722.
692
+ * Fix: Repo Tag #729
693
+ * Fix: #720 pagerCustom issues
694
+
695
+ 4.2.0 Introduces a streamlined build process using [gulp](www.gulpjs.com). Along with this new build process the projects folder structure has been changed. You will find a `dist` folder with all assets ready to use, including both minified and unminified versions of the javascript. These assets should be ready to go. In `src` you will find the uncompiled assets, including a new less version of the css for bxslider. This is an important step for bxslider. It will help speed development up and keep work clean. It also paves the way for a big revamp we have planned in the future.
696
+
697
+ **Unfamiliar with npm? Don't have node installed?** [Download and install node.js](http://nodejs.org/download/) before proceeding.
698
+
699
+ From the command line:
700
+
701
+ 1. Install [gulp](http://gulpjs.com) globally with `npm install -g gulp`
702
+ 2. Navigate to the project directory, then run `npm install`
703
+
704
+ You now have all the necessary dependencies to run the build process.
705
+
706
+ ### Available gulp commands
707
+
708
+ * `gulp` — Compile and optimize all files to `dist`
709
+ * `gulp styles` — Compile css assets only to `dist`
710
+ * `gulp scripts` — Compile js assets only to `dist`
711
+ * `gulp images` - Run lossless compression on all the images and copy to `dist`
712
+ * `gulp jshint` — Checks JS and JSON code for errors based on our .jshintrc settings
713
+
714
+
715
+ ### Version 4.1.3
716
+ * Fix: responsive issue for horizontal mode for issue #611, #714
717
+ * Fix: extra space on the left when using fade mode. #715
718
+ * Fix: wrongly removing custom pager in destroySlider #610
719
+ * Fix: bug with reloading slider with custom pager #545
720
+ * Fix: Issue with infinite scroll sometimes returning to 0 #481
721
+ * Fix: When "infiniteLoop" is used, true is not passed to a clone method. #346
722
+ * Fix: "pagerCustom" won't work when using reloadSlider #171
723
+ * Fix: Remove vendor prefix for translateZ(0) #565
724
+ * Fix: give styles on focus for accessibility #228
725
+ * Fix: Minified Version out of sync.
726
+ * Fix: Remove -5px left #517
727
+ * Enhancement: Invert order call of appendControls() and appendPager() #226
728
+ * Enhancement: Various Indentation and typos in docs fixed. #551, #578
729
+ * Enhancement: Update jsDelivr with update.json for autoupdate of CDN
730
+ * Enhancement: Tag Repo so it can be included in CDNJS
731
+ * Created development branch to work from. Eventually will restructure entire repo to follow best practice setup.
732
+
733
+
734
+ ### Version 4.1.2
735
+ * Added `bower.json` configuration file. Manage bxSlider as a dependency using [bower](http://bower.io/).
736
+
737
+ ### Version 4.1.1
738
+ * Removed imagesLoaded library and added iframe preloading support
739
+ * Added responsive option - setting to false will prevent $(window).resize binding
740
+
741
+ ### Version 4.1
742
+ * Carousel mode (minSlides / maxSlides) was re-written to be more intuitive.
743
+ * SlideWidth now acts as it should (slides respect the width value).
744
+ * SlideWidth now properly parsed: accepts string ("600px") or integer (600).
745
+ * Slider now only needs to load visible slides (by default) in order to initialize which results in much faster loading. A "preloadImages" setting allows for configuration.
746
+
747
+
748
+ Long live Zep.
includes/libraries/bxslider-4/dist/jquery.bxslider.min.css ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * bxSlider v4.2.5
3
+ * Copyright 2013-2015 Steven Wanderski
4
+ * Written while drinking Belgian ales and listening to jazz
5
+
6
+ * Licensed under MIT (http://opensource.org/licenses/MIT)
7
+ */
8
+
9
+
10
+ .bx-wrapper{position:relative;margin:0 auto 60px;padding:0;*zoom:1;-ms-touch-action:pan-y;touch-action:pan-y}.bx-wrapper img{max-width:100%;display:block}.bxslider{margin:0;padding:0}ul.bxslider{list-style:none}.bx-viewport{-webkit-transform:translatez(0)}.bx-wrapper{-moz-box-shadow:0 0 5px #ccc;-webkit-box-shadow:0 0 5px #ccc;box-shadow:0 0 5px #ccc;border:5px solid #fff;background:#fff}.bx-wrapper .bx-controls-auto,.bx-wrapper .bx-pager{position:absolute;bottom:-30px;width:100%}.bx-wrapper .bx-loading{min-height:50px;background:url(images/bx_loader.gif) center center no-repeat #fff;height:100%;width:100%;position:absolute;top:0;left:0;z-index:2000}.bx-wrapper .bx-pager{text-align:center;font-size:.85em;font-family:Arial;font-weight:700;color:#666;padding-top:20px}.bx-wrapper .bx-pager.bx-default-pager a{background:#666;text-indent:-9999px;display:block;width:10px;height:10px;margin:0 5px;outline:0;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.bx-wrapper .bx-pager.bx-default-pager a.active,.bx-wrapper .bx-pager.bx-default-pager a:focus,.bx-wrapper .bx-pager.bx-default-pager a:hover{background:#000}.bx-wrapper .bx-controls-auto .bx-controls-auto-item,.bx-wrapper .bx-pager-item{display:inline-block;*zoom:1;*display:inline}.bx-wrapper .bx-pager-item{font-size:0;line-height:0}.bx-wrapper .bx-prev{left:10px;background:url(images/controls.png) no-repeat 0 -32px}.bx-wrapper .bx-prev:focus,.bx-wrapper .bx-prev:hover{background-position:0 0}.bx-wrapper .bx-next{right:10px;background:url(images/controls.png) no-repeat -43px -32px}.bx-wrapper .bx-next:focus,.bx-wrapper .bx-next:hover{background-position:-43px 0}.bx-wrapper .bx-controls-direction a{position:absolute;top:50%;margin-top:-16px;outline:0;width:32px;height:32px;text-indent:-9999px;z-index:9999}.bx-wrapper .bx-controls-direction a.disabled{display:none}.bx-wrapper .bx-controls-auto{text-align:center}.bx-wrapper .bx-controls-auto .bx-start{display:block;text-indent:-9999px;width:10px;height:11px;outline:0;background:url(images/controls.png) -86px -11px no-repeat;margin:0 3px}.bx-wrapper .bx-controls-auto .bx-start.active,.bx-wrapper .bx-controls-auto .bx-start:focus,.bx-wrapper .bx-controls-auto .bx-start:hover{background-position:-86px 0}.bx-wrapper .bx-controls-auto .bx-stop{display:block;text-indent:-9999px;width:9px;height:11px;outline:0;background:url(images/controls.png) -86px -44px no-repeat;margin:0 3px}.bx-wrapper .bx-controls-auto .bx-stop.active,.bx-wrapper .bx-controls-auto .bx-stop:focus,.bx-wrapper .bx-controls-auto .bx-stop:hover{background-position:-86px -33px}.bx-wrapper .bx-controls.bx-has-controls-auto.bx-has-pager .bx-pager{text-align:left;width:80%}.bx-wrapper .bx-controls.bx-has-controls-auto.bx-has-pager .bx-controls-auto{right:0;width:35px}.bx-wrapper .bx-caption{position:absolute;bottom:0;left:0;background:#666;background:rgba(80,80,80,.75);width:100%}.bx-wrapper .bx-caption span{color:#fff;font-family:Arial;display:block;font-size:.85em;padding:10px}
includes/libraries/bxslider-4/docs_src/assets/img/bx-logo.png ADDED
Binary file
includes/libraries/bxslider-4/docs_src/assets/img/photo1-cropped.jpeg ADDED
Binary file
includes/libraries/bxslider-4/docs_src/assets/img/photo1.jpeg ADDED
Binary file
includes/libraries/bxslider-4/docs_src/assets/img/photo2-cropped.jpeg ADDED
Binary file
includes/libraries/bxslider-4/docs_src/assets/img/photo2.jpeg ADDED
Binary file
includes/libraries/bxslider-4/docs_src/assets/img/photo3-cropped.jpeg ADDED
Binary file
includes/libraries/bxslider-4/docs_src/assets/img/photo3.jpeg ADDED
Binary file
includes/libraries/bxslider-4/docs_src/assets/img/photo4.jpeg ADDED
Binary file
includes/libraries/bxslider-4/docs_src/assets/img/photo5.jpeg ADDED
Binary file
includes/libraries/bxslider-4/docs_src/assets/img/photo6.jpeg ADDED
Binary file
includes/libraries/bxslider-4/docs_src/assets/js/app.js ADDED
@@ -0,0 +1,234 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ (function($) {
2
+
3
+ var Docs = {
4
+ // All pages
5
+ common: {
6
+ init: function() {
7
+ }
8
+ },
9
+ // Home page
10
+ home: {
11
+ init: function() {
12
+ // JavaScript to be fired on the Home page
13
+ var slider = $('#demoSlider').bxSlider();
14
+ }
15
+ },
16
+ // Docs page
17
+ docs: {
18
+ init: function() {
19
+ // JavaScript to be fired on the Docs page
20
+ }
21
+ },
22
+ // Demos page
23
+ Basic: {
24
+ init: function() {
25
+ var slider = $('#demoSlider').bxSlider();
26
+ }
27
+ },
28
+ Destroy: {
29
+ init: function() {
30
+ var slider = $('#demoSlider').bxSlider();
31
+
32
+ $('#slider-init').click(function(){
33
+ slider.bxSlider();
34
+ return false;
35
+ });
36
+
37
+ $('#slider-destroy').click(function(){
38
+ slider.destroySlider();
39
+ return false;
40
+ });
41
+ }
42
+ },
43
+ Vertical: {
44
+ init: function() {
45
+ var slider = $('#demoSlider').bxSlider({
46
+ mode: 'vertical',
47
+ slideWidth: 400,
48
+ minSlides: 3,
49
+ moveSlides: 1
50
+ });
51
+ }
52
+ },
53
+ Fade: {
54
+ init: function() {
55
+ var slider = $('#demoSlider').bxSlider({mode:'fade'});
56
+ }
57
+ },
58
+ Ticker: {
59
+ init: function() {
60
+ $('#demoSlider1').bxSlider({minSlides: 4,
61
+ maxSlides: 4,
62
+ slideWidth: 170,
63
+ slideMargin: 10,
64
+ ticker: true,
65
+ tickerHover: true,
66
+ useCSS: false,
67
+ speed: 6000
68
+ });
69
+ $('#demoSlider2').bxSlider({minSlides: 4,
70
+ mode: 'vertical',
71
+ maxSlides: 4,
72
+ slideWidth: 170,
73
+ slideMargin: 10,
74
+ ticker: true,
75
+ tickerHover: true,
76
+ speed: 6000
77
+ });
78
+ }
79
+ },
80
+ Captions: {
81
+ init: function() {
82
+ var slider = $('#demoSlider').bxSlider({captions:true});
83
+ }
84
+ },
85
+ Callbacks: {
86
+ init: function() {
87
+ var slider = $('#demoSlider').bxSlider({
88
+ onSliderLoad: function(){
89
+ // do funky JS stuff here
90
+ alert('Slider has finished loading. Click OK to continue!');
91
+ },
92
+ onSlideAfter: function(){
93
+ // do mind-blowing JS stuff here
94
+ alert('A slide has finished transitioning. Bravo. Click OK to continue!');
95
+ }
96
+ });
97
+ }
98
+ },
99
+ Manual: {
100
+ init: function() {
101
+ var slider = $('#demoSlider').bxSlider({
102
+ infiniteLoop: false,
103
+ hideControlOnEnd: true
104
+ });
105
+ }
106
+ },
107
+ Auto: {
108
+ init: function() {
109
+ var slider = $('#demoSlider').bxSlider({
110
+ auto: true,
111
+ autoControls: true
112
+ });
113
+ }
114
+ },
115
+ AdaptiveHeight: {
116
+ init: function() {
117
+ var slider = $('#demoSlider').bxSlider({
118
+ adaptiveHeight: true,
119
+ mode: 'fade'
120
+ });
121
+ }
122
+ },
123
+ Carousel: {
124
+ init: function() {
125
+ $('.slider1').bxSlider({
126
+ slideWidth: 200,
127
+ minSlides: 2,
128
+ maxSlides: 3,
129
+ slideMargin: 10
130
+ });
131
+ $('.slider2').bxSlider({
132
+ slideWidth: 300,
133
+ minSlides: 2,
134
+ maxSlides: 2,
135
+ slideMargin: 10
136
+ });
137
+ $('.slider3').bxSlider({
138
+ slideWidth: 2000,
139
+ minSlides: 2,
140
+ maxSlides: 4,
141
+ slideMargin: 10
142
+ });
143
+ $('.slider4').bxSlider({
144
+ slideWidth: 300,
145
+ minSlides: 2,
146
+ maxSlides: 3,
147
+ moveSlides: 1,
148
+ slideMargin: 10
149
+ });
150
+ $('.slider5').bxSlider({
151
+ slideWidth: 300,
152
+ minSlides: 3,
153
+ maxSlides: 3,
154
+ moveSlides: 3,
155
+ slideMargin: 10
156
+ });
157
+ $('.slider6').bxSlider({
158
+ slideWidth: 300,
159
+ minSlides: 2,
160
+ maxSlides: 3,
161
+ startSlide: 2,
162
+ slideMargin: 10
163
+ });
164
+ $('.slider7').bxSlider({
165
+ slideWidth: 200,
166
+ minSlides: 4,
167
+ maxSlides: 5,
168
+ slideMargin: 10
169
+ });
170
+ $('.slider8').bxSlider({
171
+ mode: 'vertical',
172
+ slideWidth: 300,
173
+ minSlides: 2,
174
+ slideMargin: 10
175
+ });
176
+ }
177
+ },
178
+ Shrink: {
179
+ init: function() {
180
+ $('#demoSlider1').bxSlider({
181
+ slideWidth: 350,
182
+ minSlides: 1,
183
+ maxSlides: 4,
184
+ slideMargin: 10,
185
+ shrinkItems: true
186
+ });
187
+ $('#demoSlider2').bxSlider({
188
+ slideWidth: 350,
189
+ minSlides: 1,
190
+ maxSlides: 4,
191
+ slideMargin: 10,
192
+ shrinkItems: false
193
+ });
194
+ }
195
+ },
196
+ Touch: {
197
+ init: function() {
198
+ $('#demoSlider').bxSlider({
199
+ oneToOneTouch: false,
200
+ swipeThreshold: 100
201
+ });
202
+ }
203
+ },
204
+ Pager: {
205
+ init: function() {
206
+ $('#demoSlider1').bxSlider({
207
+ pagerCustom: '#bx-pager'
208
+ });
209
+ }
210
+ },
211
+ };
212
+
213
+ // The routing fires all common scripts, followed by the page specific scripts.
214
+ // Add additional events for more control over timing e.g. a finalize event
215
+ var UTIL = {
216
+ fire: function(func, funcname, args) {
217
+ var namespace = Docs;
218
+ funcname = (funcname === undefined) ? 'init' : funcname;
219
+ if (func !== '' && namespace[func] && typeof namespace[func][funcname] === 'function') {
220
+ namespace[func][funcname](args);
221
+ }
222
+ },
223
+ loadEvents: function() {
224
+ UTIL.fire('common');
225
+
226
+ $.each(document.body.className.replace(/-/g, '_').split(/\s+/),function(i,classnm) {
227
+ UTIL.fire(classnm);
228
+ });
229
+ }
230
+ };
231
+
232
+ $(document).ready(UTIL.loadEvents);
233
+
234
+ })(jQuery); // Fully reference jQuery after this point.
includes/libraries/bxslider-4/docs_src/assets/less/docs.less ADDED
@@ -0,0 +1,112 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ @import "bootstrap";
2
+
3
+ @font-family-sans-serif: "Lato", Helvetica, Arial, sans-serif;
4
+ @navbar-height: 80px;
5
+ @navbar-default-bg: #e0e0e0;
6
+
7
+
8
+ // Sticky Footer
9
+ // --------------------
10
+
11
+ html, body {
12
+ height: 100%;
13
+ }
14
+ .wrapper {
15
+ min-height: 100%;
16
+ height: auto !important; /* This line and the next line are not necessary unless you need IE6 support */
17
+ height: 100%;
18
+ margin: 0 auto -211px; /* the bottom margin is the negative value of the footer's height */
19
+ }
20
+
21
+ footer, .push {
22
+ height: 211px; /* .push must be the same height as .footer */
23
+ }
24
+
25
+ // Nav
26
+ // --------------------
27
+
28
+ .navbar-brand {
29
+ padding: 10px 15px;
30
+ }
31
+
32
+ // UI
33
+ // --------------------
34
+
35
+ .btn-outline {
36
+ .button-variant(#5280dd, transparent, #5280dd);
37
+ border-width: 3px;
38
+ }
39
+
40
+ .sub-lead {
41
+ margin-top: 5px;
42
+ }
43
+
44
+ // Home
45
+ // --------------------
46
+
47
+ .version {
48
+ font-family: monospace;
49
+ }
50
+
51
+ // Demos
52
+ // --------------------
53
+
54
+ .demo-list {
55
+ margin-bottom: 30px;
56
+ }
57
+
58
+ // Options
59
+ // --------------------
60
+
61
+ .options {
62
+ h1 {
63
+ margin-bottom: 10px;
64
+ }
65
+ h2 {
66
+ font-size: 1.5em;
67
+ margin-bottom: 15px;
68
+ }
69
+ }
70
+
71
+ .option-name {
72
+ font-weight: bold;
73
+ font-size: 1em;
74
+ margin-bottom: 2px;
75
+ }
76
+
77
+ .option-desc {
78
+ font-size: .8em;
79
+ line-height: 1.4em;
80
+ color: #666;
81
+ }
82
+
83
+ // Footer
84
+ // --------------------
85
+
86
+ footer {
87
+ background: #e0e0e0;
88
+ border-top: solid 3px #c3c3c3;
89
+ padding: 40px 0 40px;
90
+ font-family: "Arial", sans-serif;
91
+ p {
92
+ font-size: 1em;
93
+ margin-bottom: 5px;
94
+ .pix {
95
+ margin-top: 25px;
96
+ }
97
+ }
98
+ h4 {
99
+ font-size: 1.25em;
100
+ font-weight: bold;
101
+ }
102
+ .left {
103
+ float: left;
104
+ width: 500px;
105
+ }
106
+ .first h4 {
107
+ padding-top: 3px;
108
+ }
109
+ .twitter {
110
+ margin-top: 16px;
111
+ }
112
+ }
includes/libraries/bxslider-4/docs_src/assets/vendors/jquery.min.js ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
1
+ /*! jQuery v2.1.1 | (c) 2005, 2014 jQuery Foundation, Inc. | jquery.org/license */
2
+ !function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k={},l=a.document,m="2.1.1",n=function(a,b){return new n.fn.init(a,b)},o=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,p=/^-ms-/,q=/-([\da-z])/gi,r=function(a,b){return b.toUpperCase()};n.fn=n.prototype={jquery:m,constructor:n,selector:"",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=n.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return n.each(this,a,b)},map:function(a){return this.pushStack(n.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},n.extend=n.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||n.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(a=arguments[h]))for(b in a)c=g[b],d=a[b],g!==d&&(j&&d&&(n.isPlainObject(d)||(e=n.isArray(d)))?(e?(e=!1,f=c&&n.isArray(c)?c:[]):f=c&&n.isPlainObject(c)?c:{},g[b]=n.extend(j,f,d)):void 0!==d&&(g[b]=d));return g},n.extend({expando:"jQuery"+(m+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===n.type(a)},isArray:Array.isArray,isWindow:function(a){return null!=a&&a===a.window},isNumeric:function(a){return!n.isArray(a)&&a-parseFloat(a)>=0},isPlainObject:function(a){return"object"!==n.type(a)||a.nodeType||n.isWindow(a)?!1:a.constructor&&!j.call(a.constructor.prototype,"isPrototypeOf")?!1:!0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(a){var b,c=eval;a=n.trim(a),a&&(1===a.indexOf("use strict")?(b=l.createElement("script"),b.text=a,l.head.appendChild(b).parentNode.removeChild(b)):c(a))},camelCase:function(a){return a.replace(p,"ms-").replace(q,r)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=s(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(o,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(s(Object(a))?n.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){return null==b?-1:g.call(b,a,c)},merge:function(a,b){for(var c=+b.length,d=0,e=a.length;c>d;d++)a[e++]=b[d];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=s(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(c=a[b],b=a,a=c),n.isFunction(a)?(e=d.call(arguments,2),f=function(){return a.apply(b||this,e.concat(d.call(arguments)))},f.guid=a.guid=a.guid||n.guid++,f):void 0},now:Date.now,support:k}),n.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function s(a){var b=a.length,c=n.type(a);return"function"===c||n.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var t=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+-new Date,v=a.document,w=0,x=0,y=gb(),z=gb(),A=gb(),B=function(a,b){return a===b&&(l=!0),0},C="undefined",D=1<<31,E={}.hasOwnProperty,F=[],G=F.pop,H=F.push,I=F.push,J=F.slice,K=F.indexOf||function(a){for(var b=0,c=this.length;c>b;b++)if(this[b]===a)return b;return-1},L="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",N="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",O=N.replace("w","w#"),P="\\["+M+"*("+N+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+O+"))|)"+M+"*\\]",Q=":("+N+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+P+")*)|.*)\\)|)",R=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),S=new RegExp("^"+M+"*,"+M+"*"),T=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),U=new RegExp("="+M+"*([^\\]'\"]*?)"+M+"*\\]","g"),V=new RegExp(Q),W=new RegExp("^"+O+"$"),X={ID:new RegExp("^#("+N+")"),CLASS:new RegExp("^\\.("+N+")"),TAG:new RegExp("^("+N.replace("w","w*")+")"),ATTR:new RegExp("^"+P),PSEUDO:new RegExp("^"+Q),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+L+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/^(?:input|select|textarea|button)$/i,Z=/^h\d$/i,$=/^[^{]+\{\s*\[native \w/,_=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ab=/[+~]/,bb=/'|\\/g,cb=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),db=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)};try{I.apply(F=J.call(v.childNodes),v.childNodes),F[v.childNodes.length].nodeType}catch(eb){I={apply:F.length?function(a,b){H.apply(a,J.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function fb(a,b,d,e){var f,h,j,k,l,o,r,s,w,x;if((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,d=d||[],!a||"string"!=typeof a)return d;if(1!==(k=b.nodeType)&&9!==k)return[];if(p&&!e){if(f=_.exec(a))if(j=f[1]){if(9===k){if(h=b.getElementById(j),!h||!h.parentNode)return d;if(h.id===j)return d.push(h),d}else if(b.ownerDocument&&(h=b.ownerDocument.getElementById(j))&&t(b,h)&&h.id===j)return d.push(h),d}else{if(f[2])return I.apply(d,b.getElementsByTagName(a)),d;if((j=f[3])&&c.getElementsByClassName&&b.getElementsByClassName)return I.apply(d,b.getElementsByClassName(j)),d}if(c.qsa&&(!q||!q.test(a))){if(s=r=u,w=b,x=9===k&&a,1===k&&"object"!==b.nodeName.toLowerCase()){o=g(a),(r=b.getAttribute("id"))?s=r.replace(bb,"\\$&"):b.setAttribute("id",s),s="[id='"+s+"'] ",l=o.length;while(l--)o[l]=s+qb(o[l]);w=ab.test(a)&&ob(b.parentNode)||b,x=o.join(",")}if(x)try{return I.apply(d,w.querySelectorAll(x)),d}catch(y){}finally{r||b.removeAttribute("id")}}}return i(a.replace(R,"$1"),b,d,e)}function gb(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function hb(a){return a[u]=!0,a}function ib(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function jb(a,b){var c=a.split("|"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function kb(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||D)-(~a.sourceIndex||D);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function lb(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function mb(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function nb(a){return hb(function(b){return b=+b,hb(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function ob(a){return a&&typeof a.getElementsByTagName!==C&&a}c=fb.support={},f=fb.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=fb.setDocument=function(a){var b,e=a?a.ownerDocument||a:v,g=e.defaultView;return e!==n&&9===e.nodeType&&e.documentElement?(n=e,o=e.documentElement,p=!f(e),g&&g!==g.top&&(g.addEventListener?g.addEventListener("unload",function(){m()},!1):g.attachEvent&&g.attachEvent("onunload",function(){m()})),c.attributes=ib(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ib(function(a){return a.appendChild(e.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=$.test(e.getElementsByClassName)&&ib(function(a){return a.innerHTML="<div class='a'></div><div class='a i'></div>",a.firstChild.className="i",2===a.getElementsByClassName("i").length}),c.getById=ib(function(a){return o.appendChild(a).id=u,!e.getElementsByName||!e.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if(typeof b.getElementById!==C&&p){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){var c=typeof a.getAttributeNode!==C&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return typeof b.getElementsByTagName!==C?b.getElementsByTagName(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return typeof b.getElementsByClassName!==C&&p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=$.test(e.querySelectorAll))&&(ib(function(a){a.innerHTML="<select msallowclip=''><option selected=''></option></select>",a.querySelectorAll("[msallowclip^='']").length&&q.push("[*^$]="+M+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+M+"*(?:value|"+L+")"),a.querySelectorAll(":checked").length||q.push(":checked")}),ib(function(a){var b=e.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+M+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=$.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ib(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",Q)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=$.test(o.compareDocumentPosition),t=b||$.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===e||a.ownerDocument===v&&t(v,a)?-1:b===e||b.ownerDocument===v&&t(v,b)?1:k?K.call(k,a)-K.call(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,f=a.parentNode,g=b.parentNode,h=[a],i=[b];if(!f||!g)return a===e?-1:b===e?1:f?-1:g?1:k?K.call(k,a)-K.call(k,b):0;if(f===g)return kb(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)i.unshift(c);while(h[d]===i[d])d++;return d?kb(h[d],i[d]):h[d]===v?-1:i[d]===v?1:0},e):n},fb.matches=function(a,b){return fb(a,null,null,b)},fb.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(U,"='$1']"),!(!c.matchesSelector||!p||r&&r.test(b)||q&&q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return fb(b,n,null,[a]).length>0},fb.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},fb.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&E.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},fb.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},fb.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=fb.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=fb.selectors={cacheLength:50,createPseudo:hb,match:X,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(cb,db),a[3]=(a[3]||a[4]||a[5]||"").replace(cb,db),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||fb.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&fb.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return X.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&V.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(cb,db).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+M+")"+a+"("+M+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||typeof a.getAttribute!==C&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=fb.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){k=q[u]||(q[u]={}),j=k[a]||[],n=j[0]===w&&j[1],m=j[0]===w&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[w,n,m];break}}else if(s&&(j=(b[u]||(b[u]={}))[a])&&j[0]===w)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(s&&((l[u]||(l[u]={}))[a]=[w,m]),l===b))break;return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||fb.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?hb(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=K.call(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:hb(function(a){var b=[],c=[],d=h(a.replace(R,"$1"));return d[u]?hb(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),!c.pop()}}),has:hb(function(a){return function(b){return fb(a,b).length>0}}),contains:hb(function(a){return function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:hb(function(a){return W.test(a||"")||fb.error("unsupported lang: "+a),a=a.replace(cb,db).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Z.test(a.nodeName)},input:function(a){return Y.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:nb(function(){return[0]}),last:nb(function(a,b){return[b-1]}),eq:nb(function(a,b,c){return[0>c?c+b:c]}),even:nb(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:nb(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:nb(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:nb(function(a,b,c){for(var d=0>c?c+b:c;++d<b;)a.push(d);return a})}},d.pseudos.nth=d.pseudos.eq;for(b in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})d.pseudos[b]=lb(b);for(b in{submit:!0,reset:!0})d.pseudos[b]=mb(b);function pb(){}pb.prototype=d.filters=d.pseudos,d.setFilters=new pb,g=fb.tokenize=function(a,b){var c,e,f,g,h,i,j,k=z[a+" "];if(k)return b?0:k.slice(0);h=a,i=[],j=d.preFilter;while(h){(!c||(e=S.exec(h)))&&(e&&(h=h.slice(e[0].length)||h),i.push(f=[])),c=!1,(e=T.exec(h))&&(c=e.shift(),f.push({value:c,type:e[0].replace(R," ")}),h=h.slice(c.length));for(g in d.filter)!(e=X[g].exec(h))||j[g]&&!(e=j[g](e))||(c=e.shift(),f.push({value:c,type:g,matches:e}),h=h.slice(c.length));if(!c)break}return b?h.length:h?fb.error(a):z(a,i).slice(0)};function qb(a){for(var b=0,c=a.length,d="";c>b;b++)d+=a[b].value;return d}function rb(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(i=b[u]||(b[u]={}),(h=i[d])&&h[0]===w&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function sb(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function tb(a,b,c){for(var d=0,e=b.length;e>d;d++)fb(a,b[d],c);return c}function ub(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function vb(a,b,c,d,e,f){return d&&!d[u]&&(d=vb(d)),e&&!e[u]&&(e=vb(e,f)),hb(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||tb(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:ub(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=ub(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?K.call(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=ub(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):I.apply(g,r)})}function wb(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=rb(function(a){return a===b},h,!0),l=rb(function(a){return K.call(b,a)>-1},h,!0),m=[function(a,c,d){return!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d))}];f>i;i++)if(c=d.relative[a[i].type])m=[rb(sb(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return vb(i>1&&sb(m),i>1&&qb(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(R,"$1"),c,e>i&&wb(a.slice(i,e)),f>e&&wb(a=a.slice(e)),f>e&&qb(a))}m.push(c)}return sb(m)}function xb(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,m,o,p=0,q="0",r=f&&[],s=[],t=j,u=f||e&&d.find.TAG("*",k),v=w+=null==t?1:Math.random()||.1,x=u.length;for(k&&(j=g!==n&&g);q!==x&&null!=(l=u[q]);q++){if(e&&l){m=0;while(o=a[m++])if(o(l,g,h)){i.push(l);break}k&&(w=v)}c&&((l=!o&&l)&&p--,f&&r.push(l))}if(p+=q,c&&q!==p){m=0;while(o=b[m++])o(r,s,g,h);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=G.call(i));s=ub(s)}I.apply(i,s),k&&!f&&s.length>0&&p+b.length>1&&fb.uniqueSort(i)}return k&&(w=v,j=t),r};return c?hb(f):f}return h=fb.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=wb(b[c]),f[u]?d.push(f):e.push(f);f=A(a,xb(e,d)),f.selector=a}return f},i=fb.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(cb,db),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=X.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(cb,db),ab.test(j[0].type)&&ob(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&qb(j),!a)return I.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,ab.test(a)&&ob(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ib(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),ib(function(a){return a.innerHTML="<a href='#'></a>","#"===a.firstChild.getAttribute("href")})||jb("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ib(function(a){return a.innerHTML="<input/>",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||jb("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ib(function(a){return null==a.getAttribute("disabled")})||jb(L,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),fb}(a);n.find=t,n.expr=t.selectors,n.expr[":"]=n.expr.pseudos,n.unique=t.uniqueSort,n.text=t.getText,n.isXMLDoc=t.isXML,n.contains=t.contains;var u=n.expr.match.needsContext,v=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,w=/^.[^:#\[\.,]*$/;function x(a,b,c){if(n.isFunction(b))return n.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return n.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(w.test(b))return n.filter(b,a,c);b=n.filter(b,a)}return n.grep(a,function(a){return g.call(b,a)>=0!==c})}n.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?n.find.matchesSelector(d,a)?[d]:[]:n.find.matches(a,n.grep(b,function(a){return 1===a.nodeType}))},n.fn.extend({find:function(a){var b,c=this.length,d=[],e=this;if("string"!=typeof a)return this.pushStack(n(a).filter(function(){for(b=0;c>b;b++)if(n.contains(e[b],this))return!0}));for(b=0;c>b;b++)n.find(a,e[b],d);return d=this.pushStack(c>1?n.unique(d):d),d.selector=this.selector?this.selector+" "+a:a,d},filter:function(a){return this.pushStack(x(this,a||[],!1))},not:function(a){return this.pushStack(x(this,a||[],!0))},is:function(a){return!!x(this,"string"==typeof a&&u.test(a)?n(a):a||[],!1).length}});var y,z=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,A=n.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(c="<"===a[0]&&">"===a[a.length-1]&&a.length>=3?[null,a,null]:z.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||y).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof n?b[0]:b,n.merge(this,n.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:l,!0)),v.test(c[1])&&n.isPlainObject(b))for(c in b)n.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}return d=l.getElementById(c[2]),d&&d.parentNode&&(this.length=1,this[0]=d),this.context=l,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):n.isFunction(a)?"undefined"!=typeof y.ready?y.ready(a):a(n):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),n.makeArray(a,this))};A.prototype=n.fn,y=n(l);var B=/^(?:parents|prev(?:Until|All))/,C={children:!0,contents:!0,next:!0,prev:!0};n.extend({dir:function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&n(a).is(c))break;d.push(a)}return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),n.fn.extend({has:function(a){var b=n(a,this),c=b.length;return this.filter(function(){for(var a=0;c>a;a++)if(n.contains(this,b[a]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=u.test(a)||"string"!=typeof a?n(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&n.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?n.unique(f):f)},index:function(a){return a?"string"==typeof a?g.call(n(a),this[0]):g.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(n.unique(n.merge(this.get(),n(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function D(a,b){while((a=a[b])&&1!==a.nodeType);return a}n.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return n.dir(a,"parentNode")},parentsUntil:function(a,b,c){return n.dir(a,"parentNode",c)},next:function(a){return D(a,"nextSibling")},prev:function(a){return D(a,"previousSibling")},nextAll:function(a){return n.dir(a,"nextSibling")},prevAll:function(a){return n.dir(a,"previousSibling")},nextUntil:function(a,b,c){return n.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return n.dir(a,"previousSibling",c)},siblings:function(a){return n.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return n.sibling(a.firstChild)},contents:function(a){return a.contentDocument||n.merge([],a.childNodes)}},function(a,b){n.fn[a]=function(c,d){var e=n.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=n.filter(d,e)),this.length>1&&(C[a]||n.unique(e),B.test(a)&&e.reverse()),this.pushStack(e)}});var E=/\S+/g,F={};function G(a){var b=F[a]={};return n.each(a.match(E)||[],function(a,c){b[c]=!0}),b}n.Callbacks=function(a){a="string"==typeof a?F[a]||G(a):n.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(b=a.memory&&l,c=!0,g=e||0,e=0,f=h.length,d=!0;h&&f>g;g++)if(h[g].apply(l[0],l[1])===!1&&a.stopOnFalse){b=!1;break}d=!1,h&&(i?i.length&&j(i.shift()):b?h=[]:k.disable())},k={add:function(){if(h){var c=h.length;!function g(b){n.each(b,function(b,c){var d=n.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&g(c)})}(arguments),d?f=h.length:b&&(e=c,j(b))}return this},remove:function(){return h&&n.each(arguments,function(a,b){var c;while((c=n.inArray(b,h,c))>-1)h.splice(c,1),d&&(f>=c&&f--,g>=c&&g--)}),this},has:function(a){return a?n.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],f=0,this},disable:function(){return h=i=b=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,b||k.disable(),this},locked:function(){return!i},fireWith:function(a,b){return!h||c&&!i||(b=b||[],b=[a,b.slice?b.slice():b],d?i.push(b):j(b)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!c}};return k},n.extend({Deferred:function(a){var b=[["resolve","done",n.Callbacks("once memory"),"resolved"],["reject","fail",n.Callbacks("once memory"),"rejected"],["notify","progress",n.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return n.Deferred(function(c){n.each(b,function(b,f){var g=n.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&n.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?n.extend(a,d):d}},e={};return d.pipe=d.then,n.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&n.isFunction(a.promise)?e:0,g=1===f?a:n.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1)for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++)c[b]&&n.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f;return f||g.resolveWith(k,c),g.promise()}});var H;n.fn.ready=function(a){return n.ready.promise().done(a),this},n.extend({isReady:!1,readyWait:1,holdReady:function(a){a?n.readyWait++:n.ready(!0)},ready:function(a){(a===!0?--n.readyWait:n.isReady)||(n.isReady=!0,a!==!0&&--n.readyWait>0||(H.resolveWith(l,[n]),n.fn.triggerHandler&&(n(l).triggerHandler("ready"),n(l).off("ready"))))}});function I(){l.removeEventListener("DOMContentLoaded",I,!1),a.removeEventListener("load",I,!1),n.ready()}n.ready.promise=function(b){return H||(H=n.Deferred(),"complete"===l.readyState?setTimeout(n.ready):(l.addEventListener("DOMContentLoaded",I,!1),a.addEventListener("load",I,!1))),H.promise(b)},n.ready.promise();var J=n.access=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===n.type(c)){e=!0;for(h in c)n.access(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,n.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(n(a),c)})),b))for(;i>h;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f};n.acceptData=function(a){return 1===a.nodeType||9===a.nodeType||!+a.nodeType};function K(){Object.defineProperty(this.cache={},0,{get:function(){return{}}}),this.expando=n.expando+Math.random()}K.uid=1,K.accepts=n.acceptData,K.prototype={key:function(a){if(!K.accepts(a))return 0;var b={},c=a[this.expando];if(!c){c=K.uid++;try{b[this.expando]={value:c},Object.defineProperties(a,b)}catch(d){b[this.expando]=c,n.extend(a,b)}}return this.cache[c]||(this.cache[c]={}),c},set:function(a,b,c){var d,e=this.key(a),f=this.cache[e];if("string"==typeof b)f[b]=c;else if(n.isEmptyObject(f))n.extend(this.cache[e],b);else for(d in b)f[d]=b[d];return f},get:function(a,b){var c=this.cache[this.key(a)];return void 0===b?c:c[b]},access:function(a,b,c){var d;return void 0===b||b&&"string"==typeof b&&void 0===c?(d=this.get(a,b),void 0!==d?d:this.get(a,n.camelCase(b))):(this.set(a,b,c),void 0!==c?c:b)},remove:function(a,b){var c,d,e,f=this.key(a),g=this.cache[f];if(void 0===b)this.cache[f]={};else{n.isArray(b)?d=b.concat(b.map(n.camelCase)):(e=n.camelCase(b),b in g?d=[b,e]:(d=e,d=d in g?[d]:d.match(E)||[])),c=d.length;while(c--)delete g[d[c]]}},hasData:function(a){return!n.isEmptyObject(this.cache[a[this.expando]]||{})},discard:function(a){a[this.expando]&&delete this.cache[a[this.expando]]}};var L=new K,M=new K,N=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,O=/([A-Z])/g;function P(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(O,"-$1").toLowerCase(),c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:N.test(c)?n.parseJSON(c):c}catch(e){}M.set(a,b,c)}else c=void 0;return c}n.extend({hasData:function(a){return M.hasData(a)||L.hasData(a)},data:function(a,b,c){return M.access(a,b,c)},removeData:function(a,b){M.remove(a,b)
3
+ },_data:function(a,b,c){return L.access(a,b,c)},_removeData:function(a,b){L.remove(a,b)}}),n.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=M.get(f),1===f.nodeType&&!L.get(f,"hasDataAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=n.camelCase(d.slice(5)),P(f,d,e[d])));L.set(f,"hasDataAttrs",!0)}return e}return"object"==typeof a?this.each(function(){M.set(this,a)}):J(this,function(b){var c,d=n.camelCase(a);if(f&&void 0===b){if(c=M.get(f,a),void 0!==c)return c;if(c=M.get(f,d),void 0!==c)return c;if(c=P(f,d,void 0),void 0!==c)return c}else this.each(function(){var c=M.get(this,d);M.set(this,d,b),-1!==a.indexOf("-")&&void 0!==c&&M.set(this,a,b)})},null,b,arguments.length>1,null,!0)},removeData:function(a){return this.each(function(){M.remove(this,a)})}}),n.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=L.get(a,b),c&&(!d||n.isArray(c)?d=L.access(a,b,n.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=n.queue(a,b),d=c.length,e=c.shift(),f=n._queueHooks(a,b),g=function(){n.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return L.get(a,c)||L.access(a,c,{empty:n.Callbacks("once memory").add(function(){L.remove(a,[b+"queue",c])})})}}),n.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length<c?n.queue(this[0],a):void 0===b?this:this.each(function(){var c=n.queue(this,a,b);n._queueHooks(this,a),"fx"===a&&"inprogress"!==c[0]&&n.dequeue(this,a)})},dequeue:function(a){return this.each(function(){n.dequeue(this,a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,b){var c,d=1,e=n.Deferred(),f=this,g=this.length,h=function(){--d||e.resolveWith(f,[f])};"string"!=typeof a&&(b=a,a=void 0),a=a||"fx";while(g--)c=L.get(f[g],a+"queueHooks"),c&&c.empty&&(d++,c.empty.add(h));return h(),e.promise(b)}});var Q=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,R=["Top","Right","Bottom","Left"],S=function(a,b){return a=b||a,"none"===n.css(a,"display")||!n.contains(a.ownerDocument,a)},T=/^(?:checkbox|radio)$/i;!function(){var a=l.createDocumentFragment(),b=a.appendChild(l.createElement("div")),c=l.createElement("input");c.setAttribute("type","radio"),c.setAttribute("checked","checked"),c.setAttribute("name","t"),b.appendChild(c),k.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,b.innerHTML="<textarea>x</textarea>",k.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var U="undefined";k.focusinBubbles="onfocusin"in a;var V=/^key/,W=/^(?:mouse|pointer|contextmenu)|click/,X=/^(?:focusinfocus|focusoutblur)$/,Y=/^([^.]*)(?:\.(.+)|)$/;function Z(){return!0}function $(){return!1}function _(){try{return l.activeElement}catch(a){}}n.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=L.get(a);if(r){c.handler&&(f=c,c=f.handler,e=f.selector),c.guid||(c.guid=n.guid++),(i=r.events)||(i=r.events={}),(g=r.handle)||(g=r.handle=function(b){return typeof n!==U&&n.event.triggered!==b.type?n.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(E)||[""],j=b.length;while(j--)h=Y.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o&&(l=n.event.special[o]||{},o=(e?l.delegateType:l.bindType)||o,l=n.event.special[o]||{},k=n.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&n.expr.match.needsContext.test(e),namespace:p.join(".")},f),(m=i[o])||(m=i[o]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,p,g)!==!1||a.addEventListener&&a.addEventListener(o,g,!1)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),n.event.global[o]=!0)}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=L.hasData(a)&&L.get(a);if(r&&(i=r.events)){b=(b||"").match(E)||[""],j=b.length;while(j--)if(h=Y.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=n.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,m=i[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;while(f--)k=m[f],!e&&q!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&("**"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||n.removeEvent(a,o,r.handle),delete i[o])}else for(o in i)n.event.remove(a,o+b[j],c,d,!0);n.isEmptyObject(i)&&(delete r.handle,L.remove(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,m,o,p=[d||l],q=j.call(b,"type")?b.type:b,r=j.call(b,"namespace")?b.namespace.split("."):[];if(g=h=d=d||l,3!==d.nodeType&&8!==d.nodeType&&!X.test(q+n.event.triggered)&&(q.indexOf(".")>=0&&(r=q.split("."),q=r.shift(),r.sort()),k=q.indexOf(":")<0&&"on"+q,b=b[n.expando]?b:new n.Event(q,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=r.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+r.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:n.makeArray(c,[b]),o=n.event.special[q]||{},e||!o.trigger||o.trigger.apply(d,c)!==!1)){if(!e&&!o.noBubble&&!n.isWindow(d)){for(i=o.delegateType||q,X.test(i+q)||(g=g.parentNode);g;g=g.parentNode)p.push(g),h=g;h===(d.ownerDocument||l)&&p.push(h.defaultView||h.parentWindow||a)}f=0;while((g=p[f++])&&!b.isPropagationStopped())b.type=f>1?i:o.bindType||q,m=(L.get(g,"events")||{})[b.type]&&L.get(g,"handle"),m&&m.apply(g,c),m=k&&g[k],m&&m.apply&&n.acceptData(g)&&(b.result=m.apply(g,c),b.result===!1&&b.preventDefault());return b.type=q,e||b.isDefaultPrevented()||o._default&&o._default.apply(p.pop(),c)!==!1||!n.acceptData(d)||k&&n.isFunction(d[q])&&!n.isWindow(d)&&(h=d[k],h&&(d[k]=null),n.event.triggered=q,d[q](),n.event.triggered=void 0,h&&(d[k]=h)),b.result}},dispatch:function(a){a=n.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(L.get(this,"events")||{})[a.type]||[],k=n.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=n.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,c=0;while((g=f.handlers[c++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(g.namespace))&&(a.handleObj=g,a.data=g.data,e=((n.event.special[g.origType]||{}).handle||g.handler).apply(f.elem,i),void 0!==e&&(a.result=e)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!==this;i=i.parentNode||this)if(i.disabled!==!0||"click"!==a.type){for(d=[],c=0;h>c;c++)f=b[c],e=f.selector+" ",void 0===d[e]&&(d[e]=f.needsContext?n(e,this).index(i)>=0:n.find(e,this,null,[i]).length),d[e]&&d.push(f);d.length&&g.push({elem:i,handlers:d})}return h<b.length&&g.push({elem:this,handlers:b.slice(h)}),g},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(a,b){return null==a.which&&(a.which=null!=b.charCode?b.charCode:b.keyCode),a}},mouseHooks:{props:"button buttons clientX clientY offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(a,b){var c,d,e,f=b.button;return null==a.pageX&&null!=b.clientX&&(c=a.target.ownerDocument||l,d=c.documentElement,e=c.body,a.pageX=b.clientX+(d&&d.scrollLeft||e&&e.scrollLeft||0)-(d&&d.clientLeft||e&&e.clientLeft||0),a.pageY=b.clientY+(d&&d.scrollTop||e&&e.scrollTop||0)-(d&&d.clientTop||e&&e.clientTop||0)),a.which||void 0===f||(a.which=1&f?1:2&f?3:4&f?2:0),a}},fix:function(a){if(a[n.expando])return a;var b,c,d,e=a.type,f=a,g=this.fixHooks[e];g||(this.fixHooks[e]=g=W.test(e)?this.mouseHooks:V.test(e)?this.keyHooks:{}),d=g.props?this.props.concat(g.props):this.props,a=new n.Event(f),b=d.length;while(b--)c=d[b],a[c]=f[c];return a.target||(a.target=l),3===a.target.nodeType&&(a.target=a.target.parentNode),g.filter?g.filter(a,f):a},special:{load:{noBubble:!0},focus:{trigger:function(){return this!==_()&&this.focus?(this.focus(),!1):void 0},delegateType:"focusin"},blur:{trigger:function(){return this===_()&&this.blur?(this.blur(),!1):void 0},delegateType:"focusout"},click:{trigger:function(){return"checkbox"===this.type&&this.click&&n.nodeName(this,"input")?(this.click(),!1):void 0},_default:function(a){return n.nodeName(a.target,"a")}},beforeunload:{postDispatch:function(a){void 0!==a.result&&a.originalEvent&&(a.originalEvent.returnValue=a.result)}}},simulate:function(a,b,c,d){var e=n.extend(new n.Event,c,{type:a,isSimulated:!0,originalEvent:{}});d?n.event.trigger(e,null,b):n.event.dispatch.call(b,e),e.isDefaultPrevented()&&c.preventDefault()}},n.removeEvent=function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)},n.Event=function(a,b){return this instanceof n.Event?(a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||void 0===a.defaultPrevented&&a.returnValue===!1?Z:$):this.type=a,b&&n.extend(this,b),this.timeStamp=a&&a.timeStamp||n.now(),void(this[n.expando]=!0)):new n.Event(a,b)},n.Event.prototype={isDefaultPrevented:$,isPropagationStopped:$,isImmediatePropagationStopped:$,preventDefault:function(){var a=this.originalEvent;this.isDefaultPrevented=Z,a&&a.preventDefault&&a.preventDefault()},stopPropagation:function(){var a=this.originalEvent;this.isPropagationStopped=Z,a&&a.stopPropagation&&a.stopPropagation()},stopImmediatePropagation:function(){var a=this.originalEvent;this.isImmediatePropagationStopped=Z,a&&a.stopImmediatePropagation&&a.stopImmediatePropagation(),this.stopPropagation()}},n.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(a,b){n.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c,d=this,e=a.relatedTarget,f=a.handleObj;return(!e||e!==d&&!n.contains(d,e))&&(a.type=f.origType,c=f.handler.apply(this,arguments),a.type=b),c}}}),k.focusinBubbles||n.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){n.event.simulate(b,a.target,n.event.fix(a),!0)};n.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=L.access(d,b);e||d.addEventListener(a,c,!0),L.access(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=L.access(d,b)-1;e?L.access(d,b,e):(d.removeEventListener(a,c,!0),L.remove(d,b))}}}),n.fn.extend({on:function(a,b,c,d,e){var f,g;if("object"==typeof a){"string"!=typeof b&&(c=c||b,b=void 0);for(g in a)this.on(g,b,c,a[g],e);return this}if(null==c&&null==d?(d=b,c=b=void 0):null==d&&("string"==typeof b?(d=c,c=void 0):(d=c,c=b,b=void 0)),d===!1)d=$;else if(!d)return this;return 1===e&&(f=d,d=function(a){return n().off(a),f.apply(this,arguments)},d.guid=f.guid||(f.guid=n.guid++)),this.each(function(){n.event.add(this,a,d,c,b)})},one:function(a,b,c,d){return this.on(a,b,c,d,1)},off:function(a,b,c){var d,e;if(a&&a.preventDefault&&a.handleObj)return d=a.handleObj,n(a.delegateTarget).off(d.namespace?d.origType+"."+d.namespace:d.origType,d.selector,d.handler),this;if("object"==typeof a){for(e in a)this.off(e,b,a[e]);return this}return(b===!1||"function"==typeof b)&&(c=b,b=void 0),c===!1&&(c=$),this.each(function(){n.event.remove(this,a,c,b)})},trigger:function(a,b){return this.each(function(){n.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];return c?n.event.trigger(a,b,c,!0):void 0}});var ab=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,bb=/<([\w:]+)/,cb=/<|&#?\w+;/,db=/<(?:script|style|link)/i,eb=/checked\s*(?:[^=]|=\s*.checked.)/i,fb=/^$|\/(?:java|ecma)script/i,gb=/^true\/(.*)/,hb=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,ib={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};ib.optgroup=ib.option,ib.tbody=ib.tfoot=ib.colgroup=ib.caption=ib.thead,ib.th=ib.td;function jb(a,b){return n.nodeName(a,"table")&&n.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function kb(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function lb(a){var b=gb.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function mb(a,b){for(var c=0,d=a.length;d>c;c++)L.set(a[c],"globalEval",!b||L.get(b[c],"globalEval"))}function nb(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(L.hasData(a)&&(f=L.access(a),g=L.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;d>c;c++)n.event.add(b,e,j[e][c])}M.hasData(a)&&(h=M.access(a),i=n.extend({},h),M.set(b,i))}}function ob(a,b){var c=a.getElementsByTagName?a.getElementsByTagName(b||"*"):a.querySelectorAll?a.querySelectorAll(b||"*"):[];return void 0===b||b&&n.nodeName(a,b)?n.merge([a],c):c}function pb(a,b){var c=b.nodeName.toLowerCase();"input"===c&&T.test(a.type)?b.checked=a.checked:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}n.extend({clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=n.contains(a.ownerDocument,a);if(!(k.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||n.isXMLDoc(a)))for(g=ob(h),f=ob(a),d=0,e=f.length;e>d;d++)pb(f[d],g[d]);if(b)if(c)for(f=f||ob(a),g=g||ob(h),d=0,e=f.length;e>d;d++)nb(f[d],g[d]);else nb(a,h);return g=ob(h,"script"),g.length>0&&mb(g,!i&&ob(a,"script")),h},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,k=b.createDocumentFragment(),l=[],m=0,o=a.length;o>m;m++)if(e=a[m],e||0===e)if("object"===n.type(e))n.merge(l,e.nodeType?[e]:e);else if(cb.test(e)){f=f||k.appendChild(b.createElement("div")),g=(bb.exec(e)||["",""])[1].toLowerCase(),h=ib[g]||ib._default,f.innerHTML=h[1]+e.replace(ab,"<$1></$2>")+h[2],j=h[0];while(j--)f=f.lastChild;n.merge(l,f.childNodes),f=k.firstChild,f.textContent=""}else l.push(b.createTextNode(e));k.textContent="",m=0;while(e=l[m++])if((!d||-1===n.inArray(e,d))&&(i=n.contains(e.ownerDocument,e),f=ob(k.appendChild(e),"script"),i&&mb(f),c)){j=0;while(e=f[j++])fb.test(e.type||"")&&c.push(e)}return k},cleanData:function(a){for(var b,c,d,e,f=n.event.special,g=0;void 0!==(c=a[g]);g++){if(n.acceptData(c)&&(e=c[L.expando],e&&(b=L.cache[e]))){if(b.events)for(d in b.events)f[d]?n.event.remove(c,d):n.removeEvent(c,d,b.handle);L.cache[e]&&delete L.cache[e]}delete M.cache[c[M.expando]]}}}),n.fn.extend({text:function(a){return J(this,function(a){return void 0===a?n.text(this):this.empty().each(function(){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&(this.textContent=a)})},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=jb(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=jb(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?n.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||n.cleanData(ob(c)),c.parentNode&&(b&&n.contains(c.ownerDocument,c)&&mb(ob(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(n.cleanData(ob(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return n.clone(this,a,b)})},html:function(a){return J(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if("string"==typeof a&&!db.test(a)&&!ib[(bb.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(ab,"<$1></$2>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(n.cleanData(ob(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,n.cleanData(ob(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,l=this.length,m=this,o=l-1,p=a[0],q=n.isFunction(p);if(q||l>1&&"string"==typeof p&&!k.checkClone&&eb.test(p))return this.each(function(c){var d=m.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(l&&(c=n.buildFragment(a,this[0].ownerDocument,!1,this),d=c.firstChild,1===c.childNodes.length&&(c=d),d)){for(f=n.map(ob(c,"script"),kb),g=f.length;l>j;j++)h=c,j!==o&&(h=n.clone(h,!0,!0),g&&n.merge(f,ob(h,"script"))),b.call(this[j],h,j);if(g)for(i=f[f.length-1].ownerDocument,n.map(f,lb),j=0;g>j;j++)h=f[j],fb.test(h.type||"")&&!L.access(h,"globalEval")&&n.contains(i,h)&&(h.src?n._evalUrl&&n._evalUrl(h.src):n.globalEval(h.textContent.replace(hb,"")))}return this}}),n.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){n.fn[a]=function(a){for(var c,d=[],e=n(a),g=e.length-1,h=0;g>=h;h++)c=h===g?this:this.clone(!0),n(e[h])[b](c),f.apply(d,c.get());return this.pushStack(d)}});var qb,rb={};function sb(b,c){var d,e=n(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:n.css(e[0],"display");return e.detach(),f}function tb(a){var b=l,c=rb[a];return c||(c=sb(a,b),"none"!==c&&c||(qb=(qb||n("<iframe frameborder='0' width='0' height='0'/>")).appendTo(b.documentElement),b=qb[0].contentDocument,b.write(),b.close(),c=sb(a,b),qb.detach()),rb[a]=c),c}var ub=/^margin/,vb=new RegExp("^("+Q+")(?!px)[a-z%]+$","i"),wb=function(a){return a.ownerDocument.defaultView.getComputedStyle(a,null)};function xb(a,b,c){var d,e,f,g,h=a.style;return c=c||wb(a),c&&(g=c.getPropertyValue(b)||c[b]),c&&(""!==g||n.contains(a.ownerDocument,a)||(g=n.style(a,b)),vb.test(g)&&ub.test(b)&&(d=h.width,e=h.minWidth,f=h.maxWidth,h.minWidth=h.maxWidth=h.width=g,g=c.width,h.width=d,h.minWidth=e,h.maxWidth=f)),void 0!==g?g+"":g}function yb(a,b){return{get:function(){return a()?void delete this.get:(this.get=b).apply(this,arguments)}}}!function(){var b,c,d=l.documentElement,e=l.createElement("div"),f=l.createElement("div");if(f.style){f.style.backgroundClip="content-box",f.cloneNode(!0).style.backgroundClip="",k.clearCloneStyle="content-box"===f.style.backgroundClip,e.style.cssText="border:0;width:0;height:0;top:0;left:-9999px;margin-top:1px;position:absolute",e.appendChild(f);function g(){f.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:block;margin-top:1%;top:1%;border:1px;padding:1px;width:4px;position:absolute",f.innerHTML="",d.appendChild(e);var g=a.getComputedStyle(f,null);b="1%"!==g.top,c="4px"===g.width,d.removeChild(e)}a.getComputedStyle&&n.extend(k,{pixelPosition:function(){return g(),b},boxSizingReliable:function(){return null==c&&g(),c},reliableMarginRight:function(){var b,c=f.appendChild(l.createElement("div"));return c.style.cssText=f.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0",c.style.marginRight=c.style.width="0",f.style.width="1px",d.appendChild(e),b=!parseFloat(a.getComputedStyle(c,null).marginRight),d.removeChild(e),b}})}}(),n.swap=function(a,b,c,d){var e,f,g={};for(f in b)g[f]=a.style[f],a.style[f]=b[f];e=c.apply(a,d||[]);for(f in b)a.style[f]=g[f];return e};var zb=/^(none|table(?!-c[ea]).+)/,Ab=new RegExp("^("+Q+")(.*)$","i"),Bb=new RegExp("^([+-])=("+Q+")","i"),Cb={position:"absolute",visibility:"hidden",display:"block"},Db={letterSpacing:"0",fontWeight:"400"},Eb=["Webkit","O","Moz","ms"];function Fb(a,b){if(b in a)return b;var c=b[0].toUpperCase()+b.slice(1),d=b,e=Eb.length;while(e--)if(b=Eb[e]+c,b in a)return b;return d}function Gb(a,b,c){var d=Ab.exec(b);return d?Math.max(0,d[1]-(c||0))+(d[2]||"px"):b}function Hb(a,b,c,d,e){for(var f=c===(d?"border":"content")?4:"width"===b?1:0,g=0;4>f;f+=2)"margin"===c&&(g+=n.css(a,c+R[f],!0,e)),d?("content"===c&&(g-=n.css(a,"padding"+R[f],!0,e)),"margin"!==c&&(g-=n.css(a,"border"+R[f]+"Width",!0,e))):(g+=n.css(a,"padding"+R[f],!0,e),"padding"!==c&&(g+=n.css(a,"border"+R[f]+"Width",!0,e)));return g}function Ib(a,b,c){var d=!0,e="width"===b?a.offsetWidth:a.offsetHeight,f=wb(a),g="border-box"===n.css(a,"boxSizing",!1,f);if(0>=e||null==e){if(e=xb(a,b,f),(0>e||null==e)&&(e=a.style[b]),vb.test(e))return e;d=g&&(k.boxSizingReliable()||e===a.style[b]),e=parseFloat(e)||0}return e+Hb(a,b,c||(g?"border":"content"),d,f)+"px"}function Jb(a,b){for(var c,d,e,f=[],g=0,h=a.length;h>g;g++)d=a[g],d.style&&(f[g]=L.get(d,"olddisplay"),c=d.style.display,b?(f[g]||"none"!==c||(d.style.display=""),""===d.style.display&&S(d)&&(f[g]=L.access(d,"olddisplay",tb(d.nodeName)))):(e=S(d),"none"===c&&e||L.set(d,"olddisplay",e?c:n.css(d,"display"))));for(g=0;h>g;g++)d=a[g],d.style&&(b&&"none"!==d.style.display&&""!==d.style.display||(d.style.display=b?f[g]||"":"none"));return a}n.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=xb(a,"opacity");return""===c?"1":c}}}},cssNumber:{columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":"cssFloat"},style:function(a,b,c,d){if(a&&3!==a.nodeType&&8!==a.nodeType&&a.style){var e,f,g,h=n.camelCase(b),i=a.style;return b=n.cssProps[h]||(n.cssProps[h]=Fb(i,h)),g=n.cssHooks[b]||n.cssHooks[h],void 0===c?g&&"get"in g&&void 0!==(e=g.get(a,!1,d))?e:i[b]:(f=typeof c,"string"===f&&(e=Bb.exec(c))&&(c=(e[1]+1)*e[2]+parseFloat(n.css(a,b)),f="number"),null!=c&&c===c&&("number"!==f||n.cssNumber[h]||(c+="px"),k.clearCloneStyle||""!==c||0!==b.indexOf("background")||(i[b]="inherit"),g&&"set"in g&&void 0===(c=g.set(a,c,d))||(i[b]=c)),void 0)}},css:function(a,b,c,d){var e,f,g,h=n.camelCase(b);return b=n.cssProps[h]||(n.cssProps[h]=Fb(a.style,h)),g=n.cssHooks[b]||n.cssHooks[h],g&&"get"in g&&(e=g.get(a,!0,c)),void 0===e&&(e=xb(a,b,d)),"normal"===e&&b in Db&&(e=Db[b]),""===c||c?(f=parseFloat(e),c===!0||n.isNumeric(f)?f||0:e):e}}),n.each(["height","width"],function(a,b){n.cssHooks[b]={get:function(a,c,d){return c?zb.test(n.css(a,"display"))&&0===a.offsetWidth?n.swap(a,Cb,function(){return Ib(a,b,d)}):Ib(a,b,d):void 0},set:function(a,c,d){var e=d&&wb(a);return Gb(a,c,d?Hb(a,b,d,"border-box"===n.css(a,"boxSizing",!1,e),e):0)}}}),n.cssHooks.marginRight=yb(k.reliableMarginRight,function(a,b){return b?n.swap(a,{display:"inline-block"},xb,[a,"marginRight"]):void 0}),n.each({margin:"",padding:"",border:"Width"},function(a,b){n.cssHooks[a+b]={expand:function(c){for(var d=0,e={},f="string"==typeof c?c.split(" "):[c];4>d;d++)e[a+R[d]+b]=f[d]||f[d-2]||f[0];return e}},ub.test(a)||(n.cssHooks[a+b].set=Gb)}),n.fn.extend({css:function(a,b){return J(this,function(a,b,c){var d,e,f={},g=0;if(n.isArray(b)){for(d=wb(a),e=b.length;e>g;g++)f[b[g]]=n.css(a,b[g],!1,d);return f}return void 0!==c?n.style(a,b,c):n.css(a,b)},a,b,arguments.length>1)},show:function(){return Jb(this,!0)},hide:function(){return Jb(this)},toggle:function(a){return"boolean"==typeof a?a?this.show():this.hide():this.each(function(){S(this)?n(this).show():n(this).hide()})}});function Kb(a,b,c,d,e){return new Kb.prototype.init(a,b,c,d,e)}n.Tween=Kb,Kb.prototype={constructor:Kb,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||"swing",this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(n.cssNumber[c]?"":"px")},cur:function(){var a=Kb.propHooks[this.prop];return a&&a.get?a.get(this):Kb.propHooks._default.get(this)},run:function(a){var b,c=Kb.propHooks[this.prop];return this.pos=b=this.options.duration?n.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):Kb.propHooks._default.set(this),this}},Kb.prototype.init.prototype=Kb.prototype,Kb.propHooks={_default:{get:function(a){var b;return null==a.elem[a.prop]||a.elem.style&&null!=a.elem.style[a.prop]?(b=n.css(a.elem,a.prop,""),b&&"auto"!==b?b:0):a.elem[a.prop]},set:function(a){n.fx.step[a.prop]?n.fx.step[a.prop](a):a.elem.style&&(null!=a.elem.style[n.cssProps[a.prop]]||n.cssHooks[a.prop])?n.style(a.elem,a.prop,a.now+a.unit):a.elem[a.prop]=a.now}}},Kb.propHooks.scrollTop=Kb.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},n.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2}},n.fx=Kb.prototype.init,n.fx.step={};var Lb,Mb,Nb=/^(?:toggle|show|hide)$/,Ob=new RegExp("^(?:([+-])=|)("+Q+")([a-z%]*)$","i"),Pb=/queueHooks$/,Qb=[Vb],Rb={"*":[function(a,b){var c=this.createTween(a,b),d=c.cur(),e=Ob.exec(b),f=e&&e[3]||(n.cssNumber[a]?"":"px"),g=(n.cssNumber[a]||"px"!==f&&+d)&&Ob.exec(n.css(c.elem,a)),h=1,i=20;if(g&&g[3]!==f){f=f||g[3],e=e||[],g=+d||1;do h=h||".5",g/=h,n.style(c.elem,a,g+f);while(h!==(h=c.cur()/d)&&1!==h&&--i)}return e&&(g=c.start=+g||+d||0,c.unit=f,c.end=e[1]?g+(e[1]+1)*e[2]:+e[2]),c}]};function Sb(){return setTimeout(function(){Lb=void 0}),Lb=n.now()}function Tb(a,b){var c,d=0,e={height:a};for(b=b?1:0;4>d;d+=2-b)c=R[d],e["margin"+c]=e["padding"+c]=a;return b&&(e.opacity=e.width=a),e}function Ub(a,b,c){for(var d,e=(Rb[b]||[]).concat(Rb["*"]),f=0,g=e.length;g>f;f++)if(d=e[f].call(c,b,a))return d}function Vb(a,b,c){var d,e,f,g,h,i,j,k,l=this,m={},o=a.style,p=a.nodeType&&S(a),q=L.get(a,"fxshow");c.queue||(h=n._queueHooks(a,"fx"),null==h.unqueued&&(h.unqueued=0,i=h.empty.fire,h.empty.fire=function(){h.unqueued||i()}),h.unqueued++,l.always(function(){l.always(function(){h.unqueued--,n.queue(a,"fx").length||h.empty.fire()})})),1===a.nodeType&&("height"in b||"width"in b)&&(c.overflow=[o.overflow,o.overflowX,o.overflowY],j=n.css(a,"display"),k="none"===j?L.get(a,"olddisplay")||tb(a.nodeName):j,"inline"===k&&"none"===n.css(a,"float")&&(o.display="inline-block")),c.overflow&&(o.overflow="hidden",l.always(function(){o.overflow=c.overflow[0],o.overflowX=c.overflow[1],o.overflowY=c.overflow[2]}));for(d in b)if(e=b[d],Nb.exec(e)){if(delete b[d],f=f||"toggle"===e,e===(p?"hide":"show")){if("show"!==e||!q||void 0===q[d])continue;p=!0}m[d]=q&&q[d]||n.style(a,d)}else j=void 0;if(n.isEmptyObject(m))"inline"===("none"===j?tb(a.nodeName):j)&&(o.display=j);else{q?"hidden"in q&&(p=q.hidden):q=L.access(a,"fxshow",{}),f&&(q.hidden=!p),p?n(a).show():l.done(function(){n(a).hide()}),l.done(function(){var b;L.remove(a,"fxshow");for(b in m)n.style(a,b,m[b])});for(d in m)g=Ub(p?q[d]:0,d,l),d in q||(q[d]=g.start,p&&(g.end=g.start,g.start="width"===d||"height"===d?1:0))}}function Wb(a,b){var c,d,e,f,g;for(c in a)if(d=n.camelCase(c),e=b[d],f=a[c],n.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=n.cssHooks[d],g&&"expand"in g){f=g.expand(f),delete a[d];for(c in f)c in a||(a[c]=f[c],b[c]=e)}else b[d]=e}function Xb(a,b,c){var d,e,f=0,g=Qb.length,h=n.Deferred().always(function(){delete i.elem}),i=function(){if(e)return!1;for(var b=Lb||Sb(),c=Math.max(0,j.startTime+j.duration-b),d=c/j.duration||0,f=1-d,g=0,i=j.tweens.length;i>g;g++)j.tweens[g].run(f);return h.notifyWith(a,[j,f,c]),1>f&&i?c:(h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:n.extend({},b),opts:n.extend(!0,{specialEasing:{}},c),originalProperties:b,originalOptions:c,startTime:Lb||Sb(),duration:c.duration,tweens:[],createTween:function(b,c){var d=n.Tween(a,j.opts,b,c,j.opts.specialEasing[b]||j.opts.easing);return j.tweens.push(d),d},stop:function(b){var c=0,d=b?j.tweens.length:0;if(e)return this;for(e=!0;d>c;c++)j.tweens[c].run(1);return b?h.resolveWith(a,[j,b]):h.rejectWith(a,[j,b]),this}}),k=j.props;for(Wb(k,j.opts.specialEasing);g>f;f++)if(d=Qb[f].call(j,a,k,j.opts))return d;return n.map(k,Ub,j),n.isFunction(j.opts.start)&&j.opts.start.call(a,j),n.fx.timer(n.extend(i,{elem:a,anim:j,queue:j.opts.queue})),j.progress(j.opts.progress).done(j.opts.done,j.opts.complete).fail(j.opts.fail).always(j.opts.always)}n.Animation=n.extend(Xb,{tweener:function(a,b){n.isFunction(a)?(b=a,a=["*"]):a=a.split(" ");for(var c,d=0,e=a.length;e>d;d++)c=a[d],Rb[c]=Rb[c]||[],Rb[c].unshift(b)},prefilter:function(a,b){b?Qb.unshift(a):Qb.push(a)}}),n.speed=function(a,b,c){var d=a&&"object"==typeof a?n.extend({},a):{complete:c||!c&&b||n.isFunction(a)&&a,duration:a,easing:c&&b||b&&!n.isFunction(b)&&b};return d.duration=n.fx.off?0:"number"==typeof d.duration?d.duration:d.duration in n.fx.speeds?n.fx.speeds[d.duration]:n.fx.speeds._default,(null==d.queue||d.queue===!0)&&(d.queue="fx"),d.old=d.complete,d.complete=function(){n.isFunction(d.old)&&d.old.call(this),d.queue&&n.dequeue(this,d.queue)},d},n.fn.extend({fadeTo:function(a,b,c,d){return this.filter(S).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=n.isEmptyObject(a),f=n.speed(b,c,d),g=function(){var b=Xb(this,n.extend({},a),f);(e||L.get(this,"finish"))&&b.stop(!0)};return g.finish=g,e||f.queue===!1?this.each(g):this.queue(f.queue,g)},stop:function(a,b,c){var d=function(a){var b=a.stop;delete a.stop,b(c)};return"string"!=typeof a&&(c=b,b=a,a=void 0),b&&a!==!1&&this.queue(a||"fx",[]),this.each(function(){var b=!0,e=null!=a&&a+"queueHooks",f=n.timers,g=L.get(this);if(e)g[e]&&g[e].stop&&d(g[e]);else for(e in g)g[e]&&g[e].stop&&Pb.test(e)&&d(g[e]);for(e=f.length;e--;)f[e].elem!==this||null!=a&&f[e].queue!==a||(f[e].anim.stop(c),b=!1,f.splice(e,1));(b||!c)&&n.dequeue(this,a)})},finish:function(a){return a!==!1&&(a=a||"fx"),this.each(function(){var b,c=L.get(this),d=c[a+"queue"],e=c[a+"queueHooks"],f=n.timers,g=d?d.length:0;for(c.finish=!0,n.queue(this,a,[]),e&&e.stop&&e.stop.call(this,!0),b=f.length;b--;)f[b].elem===this&&f[b].queue===a&&(f[b].anim.stop(!0),f.splice(b,1));for(b=0;g>b;b++)d[b]&&d[b].finish&&d[b].finish.call(this);delete c.finish})}}),n.each(["toggle","show","hide"],function(a,b){var c=n.fn[b];n.fn[b]=function(a,d,e){return null==a||"boolean"==typeof a?c.apply(this,arguments):this.animate(Tb(b,!0),a,d,e)}}),n.each({slideDown:Tb("show"),slideUp:Tb("hide"),slideToggle:Tb("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){n.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),n.timers=[],n.fx.tick=function(){var a,b=0,c=n.timers;for(Lb=n.now();b<c.length;b++)a=c[b],a()||c[b]!==a||c.splice(b--,1);c.length||n.fx.stop(),Lb=void 0},n.fx.timer=function(a){n.timers.push(a),a()?n.fx.start():n.timers.pop()},n.fx.interval=13,n.fx.start=function(){Mb||(Mb=setInterval(n.fx.tick,n.fx.interval))},n.fx.stop=function(){clearInterval(Mb),Mb=null},n.fx.speeds={slow:600,fast:200,_default:400},n.fn.delay=function(a,b){return a=n.fx?n.fx.speeds[a]||a:a,b=b||"fx",this.queue(b,function(b,c){var d=setTimeout(b,a);c.stop=function(){clearTimeout(d)}})},function(){var a=l.createElement("input"),b=l.createElement("select"),c=b.appendChild(l.createElement("option"));a.type="checkbox",k.checkOn=""!==a.value,k.optSelected=c.selected,b.disabled=!0,k.optDisabled=!c.disabled,a=l.createElement("input"),a.value="t",a.type="radio",k.radioValue="t"===a.value}();var Yb,Zb,$b=n.expr.attrHandle;n.fn.extend({attr:function(a,b){return J(this,n.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){n.removeAttr(this,a)})}}),n.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(a&&3!==f&&8!==f&&2!==f)return typeof a.getAttribute===U?n.prop(a,b,c):(1===f&&n.isXMLDoc(a)||(b=b.toLowerCase(),d=n.attrHooks[b]||(n.expr.match.bool.test(b)?Zb:Yb)),void 0===c?d&&"get"in d&&null!==(e=d.get(a,b))?e:(e=n.find.attr(a,b),null==e?void 0:e):null!==c?d&&"set"in d&&void 0!==(e=d.set(a,c,b))?e:(a.setAttribute(b,c+""),c):void n.removeAttr(a,b))
4
+ },removeAttr:function(a,b){var c,d,e=0,f=b&&b.match(E);if(f&&1===a.nodeType)while(c=f[e++])d=n.propFix[c]||c,n.expr.match.bool.test(c)&&(a[d]=!1),a.removeAttribute(c)},attrHooks:{type:{set:function(a,b){if(!k.radioValue&&"radio"===b&&n.nodeName(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}}}),Zb={set:function(a,b,c){return b===!1?n.removeAttr(a,c):a.setAttribute(c,c),c}},n.each(n.expr.match.bool.source.match(/\w+/g),function(a,b){var c=$b[b]||n.find.attr;$b[b]=function(a,b,d){var e,f;return d||(f=$b[b],$b[b]=e,e=null!=c(a,b,d)?b.toLowerCase():null,$b[b]=f),e}});var _b=/^(?:input|select|textarea|button)$/i;n.fn.extend({prop:function(a,b){return J(this,n.prop,a,b,arguments.length>1)},removeProp:function(a){return this.each(function(){delete this[n.propFix[a]||a]})}}),n.extend({propFix:{"for":"htmlFor","class":"className"},prop:function(a,b,c){var d,e,f,g=a.nodeType;if(a&&3!==g&&8!==g&&2!==g)return f=1!==g||!n.isXMLDoc(a),f&&(b=n.propFix[b]||b,e=n.propHooks[b]),void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){return a.hasAttribute("tabindex")||_b.test(a.nodeName)||a.href?a.tabIndex:-1}}}}),k.optSelected||(n.propHooks.selected={get:function(a){var b=a.parentNode;return b&&b.parentNode&&b.parentNode.selectedIndex,null}}),n.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){n.propFix[this.toLowerCase()]=this});var ac=/[\t\r\n\f]/g;n.fn.extend({addClass:function(a){var b,c,d,e,f,g,h="string"==typeof a&&a,i=0,j=this.length;if(n.isFunction(a))return this.each(function(b){n(this).addClass(a.call(this,b,this.className))});if(h)for(b=(a||"").match(E)||[];j>i;i++)if(c=this[i],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(ac," "):" ")){f=0;while(e=b[f++])d.indexOf(" "+e+" ")<0&&(d+=e+" ");g=n.trim(d),c.className!==g&&(c.className=g)}return this},removeClass:function(a){var b,c,d,e,f,g,h=0===arguments.length||"string"==typeof a&&a,i=0,j=this.length;if(n.isFunction(a))return this.each(function(b){n(this).removeClass(a.call(this,b,this.className))});if(h)for(b=(a||"").match(E)||[];j>i;i++)if(c=this[i],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(ac," "):"")){f=0;while(e=b[f++])while(d.indexOf(" "+e+" ")>=0)d=d.replace(" "+e+" "," ");g=a?n.trim(d):"",c.className!==g&&(c.className=g)}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):this.each(n.isFunction(a)?function(c){n(this).toggleClass(a.call(this,c,this.className,b),b)}:function(){if("string"===c){var b,d=0,e=n(this),f=a.match(E)||[];while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else(c===U||"boolean"===c)&&(this.className&&L.set(this,"__className__",this.className),this.className=this.className||a===!1?"":L.get(this,"__className__")||"")})},hasClass:function(a){for(var b=" "+a+" ",c=0,d=this.length;d>c;c++)if(1===this[c].nodeType&&(" "+this[c].className+" ").replace(ac," ").indexOf(b)>=0)return!0;return!1}});var bc=/\r/g;n.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=n.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,n(this).val()):a,null==e?e="":"number"==typeof e?e+="":n.isArray(e)&&(e=n.map(e,function(a){return null==a?"":a+""})),b=n.valHooks[this.type]||n.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=n.valHooks[e.type]||n.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(bc,""):null==c?"":c)}}}),n.extend({valHooks:{option:{get:function(a){var b=n.find.attr(a,"value");return null!=b?b:n.trim(n.text(a))}},select:{get:function(a){for(var b,c,d=a.options,e=a.selectedIndex,f="select-one"===a.type||0>e,g=f?null:[],h=f?e+1:d.length,i=0>e?h:f?e:0;h>i;i++)if(c=d[i],!(!c.selected&&i!==e||(k.optDisabled?c.disabled:null!==c.getAttribute("disabled"))||c.parentNode.disabled&&n.nodeName(c.parentNode,"optgroup"))){if(b=n(c).val(),f)return b;g.push(b)}return g},set:function(a,b){var c,d,e=a.options,f=n.makeArray(b),g=e.length;while(g--)d=e[g],(d.selected=n.inArray(d.value,f)>=0)&&(c=!0);return c||(a.selectedIndex=-1),f}}}}),n.each(["radio","checkbox"],function(){n.valHooks[this]={set:function(a,b){return n.isArray(b)?a.checked=n.inArray(n(a).val(),b)>=0:void 0}},k.checkOn||(n.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})}),n.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(a,b){n.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),n.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)},bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return 1===arguments.length?this.off(a,"**"):this.off(b,a||"**",c)}});var cc=n.now(),dc=/\?/;n.parseJSON=function(a){return JSON.parse(a+"")},n.parseXML=function(a){var b,c;if(!a||"string"!=typeof a)return null;try{c=new DOMParser,b=c.parseFromString(a,"text/xml")}catch(d){b=void 0}return(!b||b.getElementsByTagName("parsererror").length)&&n.error("Invalid XML: "+a),b};var ec,fc,gc=/#.*$/,hc=/([?&])_=[^&]*/,ic=/^(.*?):[ \t]*([^\r\n]*)$/gm,jc=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,kc=/^(?:GET|HEAD)$/,lc=/^\/\//,mc=/^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,nc={},oc={},pc="*/".concat("*");try{fc=location.href}catch(qc){fc=l.createElement("a"),fc.href="",fc=fc.href}ec=mc.exec(fc.toLowerCase())||[];function rc(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(E)||[];if(n.isFunction(c))while(d=f[e++])"+"===d[0]?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function sc(a,b,c,d){var e={},f=a===oc;function g(h){var i;return e[h]=!0,n.each(a[h]||[],function(a,h){var j=h(b,c,d);return"string"!=typeof j||f||e[j]?f?!(i=j):void 0:(b.dataTypes.unshift(j),g(j),!1)}),i}return g(b.dataTypes[0])||!e["*"]&&g("*")}function tc(a,b){var c,d,e=n.ajaxSettings.flatOptions||{};for(c in b)void 0!==b[c]&&((e[c]?a:d||(d={}))[c]=b[c]);return d&&n.extend(!0,a,d),a}function uc(a,b,c){var d,e,f,g,h=a.contents,i=a.dataTypes;while("*"===i[0])i.shift(),void 0===d&&(d=a.mimeType||b.getResponseHeader("Content-Type"));if(d)for(e in h)if(h[e]&&h[e].test(d)){i.unshift(e);break}if(i[0]in c)f=i[0];else{for(e in c){if(!i[0]||a.converters[e+" "+i[0]]){f=e;break}g||(g=e)}f=f||g}return f?(f!==i[0]&&i.unshift(f),c[f]):void 0}function vc(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for(g in a.converters)j[g.toLowerCase()]=a.converters[g];f=k.shift();while(f)if(a.responseFields[f]&&(c[a.responseFields[f]]=b),!i&&d&&a.dataFilter&&(b=a.dataFilter(b,a.dataType)),i=f,f=k.shift())if("*"===f)f=i;else if("*"!==i&&i!==f){if(g=j[i+" "+f]||j["* "+f],!g)for(e in j)if(h=e.split(" "),h[1]===f&&(g=j[i+" "+h[0]]||j["* "+h[0]])){g===!0?g=j[e]:j[e]!==!0&&(f=h[0],k.unshift(h[1]));break}if(g!==!0)if(g&&a["throws"])b=g(b);else try{b=g(b)}catch(l){return{state:"parsererror",error:g?l:"No conversion from "+i+" to "+f}}}return{state:"success",data:b}}n.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:fc,type:"GET",isLocal:jc.test(ec[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":pc,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":n.parseJSON,"text xml":n.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?tc(tc(a,n.ajaxSettings),b):tc(n.ajaxSettings,a)},ajaxPrefilter:rc(nc),ajaxTransport:rc(oc),ajax:function(a,b){"object"==typeof a&&(b=a,a=void 0),b=b||{};var c,d,e,f,g,h,i,j,k=n.ajaxSetup({},b),l=k.context||k,m=k.context&&(l.nodeType||l.jquery)?n(l):n.event,o=n.Deferred(),p=n.Callbacks("once memory"),q=k.statusCode||{},r={},s={},t=0,u="canceled",v={readyState:0,getResponseHeader:function(a){var b;if(2===t){if(!f){f={};while(b=ic.exec(e))f[b[1].toLowerCase()]=b[2]}b=f[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return 2===t?e:null},setRequestHeader:function(a,b){var c=a.toLowerCase();return t||(a=s[c]=s[c]||a,r[a]=b),this},overrideMimeType:function(a){return t||(k.mimeType=a),this},statusCode:function(a){var b;if(a)if(2>t)for(b in a)q[b]=[q[b],a[b]];else v.always(a[v.status]);return this},abort:function(a){var b=a||u;return c&&c.abort(b),x(0,b),this}};if(o.promise(v).complete=p.add,v.success=v.done,v.error=v.fail,k.url=((a||k.url||fc)+"").replace(gc,"").replace(lc,ec[1]+"//"),k.type=b.method||b.type||k.method||k.type,k.dataTypes=n.trim(k.dataType||"*").toLowerCase().match(E)||[""],null==k.crossDomain&&(h=mc.exec(k.url.toLowerCase()),k.crossDomain=!(!h||h[1]===ec[1]&&h[2]===ec[2]&&(h[3]||("http:"===h[1]?"80":"443"))===(ec[3]||("http:"===ec[1]?"80":"443")))),k.data&&k.processData&&"string"!=typeof k.data&&(k.data=n.param(k.data,k.traditional)),sc(nc,k,b,v),2===t)return v;i=k.global,i&&0===n.active++&&n.event.trigger("ajaxStart"),k.type=k.type.toUpperCase(),k.hasContent=!kc.test(k.type),d=k.url,k.hasContent||(k.data&&(d=k.url+=(dc.test(d)?"&":"?")+k.data,delete k.data),k.cache===!1&&(k.url=hc.test(d)?d.replace(hc,"$1_="+cc++):d+(dc.test(d)?"&":"?")+"_="+cc++)),k.ifModified&&(n.lastModified[d]&&v.setRequestHeader("If-Modified-Since",n.lastModified[d]),n.etag[d]&&v.setRequestHeader("If-None-Match",n.etag[d])),(k.data&&k.hasContent&&k.contentType!==!1||b.contentType)&&v.setRequestHeader("Content-Type",k.contentType),v.setRequestHeader("Accept",k.dataTypes[0]&&k.accepts[k.dataTypes[0]]?k.accepts[k.dataTypes[0]]+("*"!==k.dataTypes[0]?", "+pc+"; q=0.01":""):k.accepts["*"]);for(j in k.headers)v.setRequestHeader(j,k.headers[j]);if(k.beforeSend&&(k.beforeSend.call(l,v,k)===!1||2===t))return v.abort();u="abort";for(j in{success:1,error:1,complete:1})v[j](k[j]);if(c=sc(oc,k,b,v)){v.readyState=1,i&&m.trigger("ajaxSend",[v,k]),k.async&&k.timeout>0&&(g=setTimeout(function(){v.abort("timeout")},k.timeout));try{t=1,c.send(r,x)}catch(w){if(!(2>t))throw w;x(-1,w)}}else x(-1,"No Transport");function x(a,b,f,h){var j,r,s,u,w,x=b;2!==t&&(t=2,g&&clearTimeout(g),c=void 0,e=h||"",v.readyState=a>0?4:0,j=a>=200&&300>a||304===a,f&&(u=uc(k,v,f)),u=vc(k,u,v,j),j?(k.ifModified&&(w=v.getResponseHeader("Last-Modified"),w&&(n.lastModified[d]=w),w=v.getResponseHeader("etag"),w&&(n.etag[d]=w)),204===a||"HEAD"===k.type?x="nocontent":304===a?x="notmodified":(x=u.state,r=u.data,s=u.error,j=!s)):(s=x,(a||!x)&&(x="error",0>a&&(a=0))),v.status=a,v.statusText=(b||x)+"",j?o.resolveWith(l,[r,x,v]):o.rejectWith(l,[v,x,s]),v.statusCode(q),q=void 0,i&&m.trigger(j?"ajaxSuccess":"ajaxError",[v,k,j?r:s]),p.fireWith(l,[v,x]),i&&(m.trigger("ajaxComplete",[v,k]),--n.active||n.event.trigger("ajaxStop")))}return v},getJSON:function(a,b,c){return n.get(a,b,c,"json")},getScript:function(a,b){return n.get(a,void 0,b,"script")}}),n.each(["get","post"],function(a,b){n[b]=function(a,c,d,e){return n.isFunction(c)&&(e=e||d,d=c,c=void 0),n.ajax({url:a,type:b,dataType:e,data:c,success:d})}}),n.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(a,b){n.fn[b]=function(a){return this.on(b,a)}}),n._evalUrl=function(a){return n.ajax({url:a,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})},n.fn.extend({wrapAll:function(a){var b;return n.isFunction(a)?this.each(function(b){n(this).wrapAll(a.call(this,b))}):(this[0]&&(b=n(a,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstElementChild)a=a.firstElementChild;return a}).append(this)),this)},wrapInner:function(a){return this.each(n.isFunction(a)?function(b){n(this).wrapInner(a.call(this,b))}:function(){var b=n(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=n.isFunction(a);return this.each(function(c){n(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){n.nodeName(this,"body")||n(this).replaceWith(this.childNodes)}).end()}}),n.expr.filters.hidden=function(a){return a.offsetWidth<=0&&a.offsetHeight<=0},n.expr.filters.visible=function(a){return!n.expr.filters.hidden(a)};var wc=/%20/g,xc=/\[\]$/,yc=/\r?\n/g,zc=/^(?:submit|button|image|reset|file)$/i,Ac=/^(?:input|select|textarea|keygen)/i;function Bc(a,b,c,d){var e;if(n.isArray(b))n.each(b,function(b,e){c||xc.test(a)?d(a,e):Bc(a+"["+("object"==typeof e?b:"")+"]",e,c,d)});else if(c||"object"!==n.type(b))d(a,b);else for(e in b)Bc(a+"["+e+"]",b[e],c,d)}n.param=function(a,b){var c,d=[],e=function(a,b){b=n.isFunction(b)?b():null==b?"":b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};if(void 0===b&&(b=n.ajaxSettings&&n.ajaxSettings.traditional),n.isArray(a)||a.jquery&&!n.isPlainObject(a))n.each(a,function(){e(this.name,this.value)});else for(c in a)Bc(c,a[c],b,e);return d.join("&").replace(wc,"+")},n.fn.extend({serialize:function(){return n.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=n.prop(this,"elements");return a?n.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!n(this).is(":disabled")&&Ac.test(this.nodeName)&&!zc.test(a)&&(this.checked||!T.test(a))}).map(function(a,b){var c=n(this).val();return null==c?null:n.isArray(c)?n.map(c,function(a){return{name:b.name,value:a.replace(yc,"\r\n")}}):{name:b.name,value:c.replace(yc,"\r\n")}}).get()}}),n.ajaxSettings.xhr=function(){try{return new XMLHttpRequest}catch(a){}};var Cc=0,Dc={},Ec={0:200,1223:204},Fc=n.ajaxSettings.xhr();a.ActiveXObject&&n(a).on("unload",function(){for(var a in Dc)Dc[a]()}),k.cors=!!Fc&&"withCredentials"in Fc,k.ajax=Fc=!!Fc,n.ajaxTransport(function(a){var b;return k.cors||Fc&&!a.crossDomain?{send:function(c,d){var e,f=a.xhr(),g=++Cc;if(f.open(a.type,a.url,a.async,a.username,a.password),a.xhrFields)for(e in a.xhrFields)f[e]=a.xhrFields[e];a.mimeType&&f.overrideMimeType&&f.overrideMimeType(a.mimeType),a.crossDomain||c["X-Requested-With"]||(c["X-Requested-With"]="XMLHttpRequest");for(e in c)f.setRequestHeader(e,c[e]);b=function(a){return function(){b&&(delete Dc[g],b=f.onload=f.onerror=null,"abort"===a?f.abort():"error"===a?d(f.status,f.statusText):d(Ec[f.status]||f.status,f.statusText,"string"==typeof f.responseText?{text:f.responseText}:void 0,f.getAllResponseHeaders()))}},f.onload=b(),f.onerror=b("error"),b=Dc[g]=b("abort");try{f.send(a.hasContent&&a.data||null)}catch(h){if(b)throw h}},abort:function(){b&&b()}}:void 0}),n.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(a){return n.globalEval(a),a}}}),n.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET")}),n.ajaxTransport("script",function(a){if(a.crossDomain){var b,c;return{send:function(d,e){b=n("<script>").prop({async:!0,charset:a.scriptCharset,src:a.url}).on("load error",c=function(a){b.remove(),c=null,a&&e("error"===a.type?404:200,a.type)}),l.head.appendChild(b[0])},abort:function(){c&&c()}}}});var Gc=[],Hc=/(=)\?(?=&|$)|\?\?/;n.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=Gc.pop()||n.expando+"_"+cc++;return this[a]=!0,a}}),n.ajaxPrefilter("json jsonp",function(b,c,d){var e,f,g,h=b.jsonp!==!1&&(Hc.test(b.url)?"url":"string"==typeof b.data&&!(b.contentType||"").indexOf("application/x-www-form-urlencoded")&&Hc.test(b.data)&&"data");return h||"jsonp"===b.dataTypes[0]?(e=b.jsonpCallback=n.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,h?b[h]=b[h].replace(Hc,"$1"+e):b.jsonp!==!1&&(b.url+=(dc.test(b.url)?"&":"?")+b.jsonp+"="+e),b.converters["script json"]=function(){return g||n.error(e+" was not called"),g[0]},b.dataTypes[0]="json",f=a[e],a[e]=function(){g=arguments},d.always(function(){a[e]=f,b[e]&&(b.jsonpCallback=c.jsonpCallback,Gc.push(e)),g&&n.isFunction(f)&&f(g[0]),g=f=void 0}),"script"):void 0}),n.parseHTML=function(a,b,c){if(!a||"string"!=typeof a)return null;"boolean"==typeof b&&(c=b,b=!1),b=b||l;var d=v.exec(a),e=!c&&[];return d?[b.createElement(d[1])]:(d=n.buildFragment([a],b,e),e&&e.length&&n(e).remove(),n.merge([],d.childNodes))};var Ic=n.fn.load;n.fn.load=function(a,b,c){if("string"!=typeof a&&Ic)return Ic.apply(this,arguments);var d,e,f,g=this,h=a.indexOf(" ");return h>=0&&(d=n.trim(a.slice(h)),a=a.slice(0,h)),n.isFunction(b)?(c=b,b=void 0):b&&"object"==typeof b&&(e="POST"),g.length>0&&n.ajax({url:a,type:e,dataType:"html",data:b}).done(function(a){f=arguments,g.html(d?n("<div>").append(n.parseHTML(a)).find(d):a)}).complete(c&&function(a,b){g.each(c,f||[a.responseText,b,a])}),this},n.expr.filters.animated=function(a){return n.grep(n.timers,function(b){return a===b.elem}).length};var Jc=a.document.documentElement;function Kc(a){return n.isWindow(a)?a:9===a.nodeType&&a.defaultView}n.offset={setOffset:function(a,b,c){var d,e,f,g,h,i,j,k=n.css(a,"position"),l=n(a),m={};"static"===k&&(a.style.position="relative"),h=l.offset(),f=n.css(a,"top"),i=n.css(a,"left"),j=("absolute"===k||"fixed"===k)&&(f+i).indexOf("auto")>-1,j?(d=l.position(),g=d.top,e=d.left):(g=parseFloat(f)||0,e=parseFloat(i)||0),n.isFunction(b)&&(b=b.call(a,c,h)),null!=b.top&&(m.top=b.top-h.top+g),null!=b.left&&(m.left=b.left-h.left+e),"using"in b?b.using.call(a,m):l.css(m)}},n.fn.extend({offset:function(a){if(arguments.length)return void 0===a?this:this.each(function(b){n.offset.setOffset(this,a,b)});var b,c,d=this[0],e={top:0,left:0},f=d&&d.ownerDocument;if(f)return b=f.documentElement,n.contains(b,d)?(typeof d.getBoundingClientRect!==U&&(e=d.getBoundingClientRect()),c=Kc(f),{top:e.top+c.pageYOffset-b.clientTop,left:e.left+c.pageXOffset-b.clientLeft}):e},position:function(){if(this[0]){var a,b,c=this[0],d={top:0,left:0};return"fixed"===n.css(c,"position")?b=c.getBoundingClientRect():(a=this.offsetParent(),b=this.offset(),n.nodeName(a[0],"html")||(d=a.offset()),d.top+=n.css(a[0],"borderTopWidth",!0),d.left+=n.css(a[0],"borderLeftWidth",!0)),{top:b.top-d.top-n.css(c,"marginTop",!0),left:b.left-d.left-n.css(c,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||Jc;while(a&&!n.nodeName(a,"html")&&"static"===n.css(a,"position"))a=a.offsetParent;return a||Jc})}}),n.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(b,c){var d="pageYOffset"===c;n.fn[b]=function(e){return J(this,function(b,e,f){var g=Kc(b);return void 0===f?g?g[c]:b[e]:void(g?g.scrollTo(d?a.pageXOffset:f,d?f:a.pageYOffset):b[e]=f)},b,e,arguments.length,null)}}),n.each(["top","left"],function(a,b){n.cssHooks[b]=yb(k.pixelPosition,function(a,c){return c?(c=xb(a,b),vb.test(c)?n(a).position()[b]+"px":c):void 0})}),n.each({Height:"height",Width:"width"},function(a,b){n.each({padding:"inner"+a,content:b,"":"outer"+a},function(c,d){n.fn[d]=function(d,e){var f=arguments.length&&(c||"boolean"!=typeof d),g=c||(d===!0||e===!0?"margin":"border");return J(this,function(b,c,d){var e;return n.isWindow(b)?b.document.documentElement["client"+a]:9===b.nodeType?(e=b.documentElement,Math.max(b.body["scroll"+a],e["scroll"+a],b.body["offset"+a],e["offset"+a],e["client"+a])):void 0===d?n.css(b,c,g):n.style(b,c,d,g)},b,f?d:void 0,f,null)}})}),n.fn.size=function(){return this.length},n.fn.andSelf=n.fn.addBack,"function"==typeof define&&define.amd&&define("jquery",[],function(){return n});var Lc=a.jQuery,Mc=a.$;return n.noConflict=function(b){return a.$===n&&(a.$=Mc),b&&a.jQuery===n&&(a.jQuery=Lc),n},typeof b===U&&(a.jQuery=a.$=n),n});
5
+ //# sourceMappingURL=jquery.min.map
includes/libraries/bxslider-4/docs_src/assets/vendors/jquery.min.map ADDED
@@ -0,0 +1 @@
 
1
+ {"version":3,"file":"jquery.min.js","sources":["jquery.js"],"names":["global","factory","module","exports","document","w","Error","window","this","noGlobal","arr","slice","concat","push","indexOf","class2type","toString","hasOwn","hasOwnProperty","support","version","jQuery","selector","context","fn","init","rtrim","rmsPrefix","rdashAlpha","fcamelCase","all","letter","toUpperCase","prototype","jquery","constructor","length","toArray","call","get","num","pushStack","elems","ret","merge","prevObject","each","callback","args","map","elem","i","apply","arguments","first","eq","last","len","j","end","sort","splice","extend","options","name","src","copy","copyIsArray","clone","target","deep","isFunction","isPlainObject","isArray","undefined","expando","Math","random","replace","isReady","error","msg","noop","obj","type","Array","isWindow","isNumeric","parseFloat","nodeType","isEmptyObject","globalEval","code","script","indirect","eval","trim","createElement","text","head","appendChild","parentNode","removeChild","camelCase","string","nodeName","toLowerCase","value","isArraylike","makeArray","results","Object","inArray","second","grep","invert","callbackInverse","matches","callbackExpect","arg","guid","proxy","tmp","now","Date","split","Sizzle","Expr","getText","isXML","tokenize","compile","select","outermostContext","sortInput","hasDuplicate","setDocument","docElem","documentIsHTML","rbuggyQSA","rbuggyMatches","contains","preferredDoc","dirruns","done","classCache","createCache","tokenCache","compilerCache","sortOrder","a","b","strundefined","MAX_NEGATIVE","pop","push_native","booleans","whitespace","characterEncoding","identifier","attributes","pseudos","RegExp","rcomma","rcombinators","rattributeQuotes","rpseudo","ridentifier","matchExpr","ID","CLASS","TAG","ATTR","PSEUDO","CHILD","bool","needsContext","rinputs","rheader","rnative","rquickExpr","rsibling","rescape","runescape","funescape","_","escaped","escapedWhitespace","high","String","fromCharCode","childNodes","e","els","seed","match","m","groups","old","nid","newContext","newSelector","ownerDocument","exec","getElementById","id","getElementsByTagName","getElementsByClassName","qsa","test","getAttribute","setAttribute","toSelector","testContext","join","querySelectorAll","qsaError","removeAttribute","keys","cache","key","cacheLength","shift","markFunction","assert","div","addHandle","attrs","handler","attrHandle","siblingCheck","cur","diff","sourceIndex","nextSibling","createInputPseudo","createButtonPseudo","createPositionalPseudo","argument","matchIndexes","documentElement","node","hasCompare","doc","parent","defaultView","top","addEventListener","attachEvent","className","createComment","innerHTML","firstChild","getById","getElementsByName","find","filter","attrId","getAttributeNode","tag","input","matchesSelector","webkitMatchesSelector","mozMatchesSelector","oMatchesSelector","msMatchesSelector","disconnectedMatch","compareDocumentPosition","adown","bup","compare","sortDetached","aup","ap","bp","unshift","expr","elements","attr","val","specified","uniqueSort","duplicates","detectDuplicates","sortStable","textContent","nodeValue","selectors","createPseudo","relative",">","dir"," ","+","~","preFilter","excess","unquoted","nodeNameSelector","pattern","operator","check","result","what","simple","forward","ofType","xml","outerCache","nodeIndex","start","useCache","lastChild","pseudo","setFilters","idx","matched","not","matcher","unmatched","has","innerText","lang","elemLang","hash","location","root","focus","activeElement","hasFocus","href","tabIndex","enabled","disabled","checked","selected","selectedIndex","empty","header","button","even","odd","lt","gt","radio","checkbox","file","password","image","submit","reset","filters","parseOnly","tokens","soFar","preFilters","cached","addCombinator","combinator","base","checkNonElements","doneName","oldCache","newCache","elementMatcher","matchers","multipleContexts","contexts","condense","newUnmatched","mapped","setMatcher","postFilter","postFinder","postSelector","temp","preMap","postMap","preexisting","matcherIn","matcherOut","matcherFromTokens","checkContext","leadingRelative","implicitRelative","matchContext","matchAnyContext","matcherFromGroupMatchers","elementMatchers","setMatchers","bySet","byElement","superMatcher","outermost","matchedCount","setMatched","contextBackup","dirrunsUnique","token","compiled","div1","defaultValue","unique","isXMLDoc","rneedsContext","rsingleTag","risSimple","winnow","qualifier","self","is","rootjQuery","parseHTML","ready","rparentsprev","guaranteedUnique","children","contents","next","prev","until","truncate","sibling","n","targets","l","closest","pos","index","prevAll","add","addBack","parents","parentsUntil","nextAll","nextUntil","prevUntil","siblings","contentDocument","reverse","rnotwhite","optionsCache","createOptions","object","flag","Callbacks","memory","fired","firing","firingStart","firingLength","firingIndex","list","stack","once","fire","data","stopOnFalse","disable","remove","lock","locked","fireWith","Deferred","func","tuples","state","promise","always","deferred","fail","then","fns","newDefer","tuple","returned","resolve","reject","progress","notify","pipe","stateString","when","subordinate","resolveValues","remaining","updateFunc","values","progressValues","notifyWith","resolveWith","progressContexts","resolveContexts","readyList","readyWait","holdReady","hold","wait","triggerHandler","off","completed","removeEventListener","readyState","setTimeout","access","chainable","emptyGet","raw","bulk","acceptData","owner","Data","defineProperty","uid","accepts","descriptor","unlock","defineProperties","set","prop","stored","camel","hasData","discard","data_priv","data_user","rbrace","rmultiDash","dataAttr","parseJSON","removeData","_data","_removeData","camelKey","queue","dequeue","startLength","hooks","_queueHooks","stop","setter","clearQueue","count","defer","pnum","source","cssExpand","isHidden","el","css","rcheckableType","fragment","createDocumentFragment","checkClone","cloneNode","noCloneChecked","focusinBubbles","rkeyEvent","rmouseEvent","rfocusMorph","rtypenamespace","returnTrue","returnFalse","safeActiveElement","err","event","types","handleObjIn","eventHandle","events","t","handleObj","special","handlers","namespaces","origType","elemData","handle","triggered","dispatch","delegateType","bindType","namespace","delegateCount","setup","mappedTypes","origCount","teardown","removeEvent","trigger","onlyHandlers","bubbleType","ontype","eventPath","Event","isTrigger","namespace_re","noBubble","parentWindow","isPropagationStopped","preventDefault","isDefaultPrevented","_default","fix","handlerQueue","delegateTarget","preDispatch","currentTarget","isImmediatePropagationStopped","stopPropagation","postDispatch","sel","props","fixHooks","keyHooks","original","which","charCode","keyCode","mouseHooks","eventDoc","body","pageX","clientX","scrollLeft","clientLeft","pageY","clientY","scrollTop","clientTop","originalEvent","fixHook","load","blur","click","beforeunload","returnValue","simulate","bubble","isSimulated","defaultPrevented","timeStamp","stopImmediatePropagation","mouseenter","mouseleave","pointerenter","pointerleave","orig","related","relatedTarget","attaches","on","one","origFn","rxhtmlTag","rtagName","rhtml","rnoInnerhtml","rchecked","rscriptType","rscriptTypeMasked","rcleanScript","wrapMap","option","thead","col","tr","td","optgroup","tbody","tfoot","colgroup","caption","th","manipulationTarget","content","disableScript","restoreScript","setGlobalEval","refElements","cloneCopyEvent","dest","pdataOld","pdataCur","udataOld","udataCur","getAll","fixInput","dataAndEvents","deepDataAndEvents","srcElements","destElements","inPage","buildFragment","scripts","selection","wrap","nodes","createTextNode","cleanData","append","domManip","prepend","insertBefore","before","after","keepData","html","replaceWith","replaceChild","detach","hasScripts","iNoClone","_evalUrl","appendTo","prependTo","insertAfter","replaceAll","insert","iframe","elemdisplay","actualDisplay","style","display","getDefaultComputedStyle","defaultDisplay","write","close","rmargin","rnumnonpx","getStyles","getComputedStyle","curCSS","computed","width","minWidth","maxWidth","getPropertyValue","addGetHookIf","conditionFn","hookFn","pixelPositionVal","boxSizingReliableVal","container","backgroundClip","clearCloneStyle","cssText","computePixelPositionAndBoxSizingReliable","divStyle","pixelPosition","boxSizingReliable","reliableMarginRight","marginDiv","marginRight","swap","rdisplayswap","rnumsplit","rrelNum","cssShow","position","visibility","cssNormalTransform","letterSpacing","fontWeight","cssPrefixes","vendorPropName","capName","origName","setPositiveNumber","subtract","max","augmentWidthOrHeight","extra","isBorderBox","styles","getWidthOrHeight","valueIsBorderBox","offsetWidth","offsetHeight","showHide","show","hidden","cssHooks","opacity","cssNumber","columnCount","fillOpacity","flexGrow","flexShrink","lineHeight","order","orphans","widows","zIndex","zoom","cssProps","float","margin","padding","border","prefix","suffix","expand","expanded","parts","hide","toggle","Tween","easing","unit","propHooks","run","percent","eased","duration","step","tween","fx","linear","p","swing","cos","PI","fxNow","timerId","rfxtypes","rfxnum","rrun","animationPrefilters","defaultPrefilter","tweeners","*","createTween","scale","maxIterations","createFxNow","genFx","includeWidth","height","animation","collection","opts","oldfire","checkDisplay","anim","dataShow","unqueued","overflow","overflowX","overflowY","propFilter","specialEasing","Animation","properties","stopped","tick","currentTime","startTime","tweens","originalProperties","originalOptions","gotoEnd","rejectWith","timer","complete","tweener","prefilter","speed","opt","speeds","fadeTo","to","animate","optall","doAnimation","finish","stopQueue","timers","cssFn","slideDown","slideUp","slideToggle","fadeIn","fadeOut","fadeToggle","interval","setInterval","clearInterval","slow","fast","delay","time","timeout","clearTimeout","checkOn","optSelected","optDisabled","radioValue","nodeHook","boolHook","removeAttr","nType","attrHooks","propName","attrNames","propFix","getter","rfocusable","removeProp","for","class","notxml","hasAttribute","rclass","addClass","classes","clazz","finalValue","proceed","removeClass","toggleClass","stateVal","classNames","hasClass","rreturn","valHooks","optionSet","hover","fnOver","fnOut","bind","unbind","delegate","undelegate","nonce","rquery","JSON","parse","parseXML","DOMParser","parseFromString","ajaxLocParts","ajaxLocation","rhash","rts","rheaders","rlocalProtocol","rnoContent","rprotocol","rurl","prefilters","transports","allTypes","addToPrefiltersOrTransports","structure","dataTypeExpression","dataType","dataTypes","inspectPrefiltersOrTransports","jqXHR","inspected","seekingTransport","inspect","prefilterOrFactory","dataTypeOrTransport","ajaxExtend","flatOptions","ajaxSettings","ajaxHandleResponses","s","responses","ct","finalDataType","firstDataType","mimeType","getResponseHeader","converters","ajaxConvert","response","isSuccess","conv2","current","conv","responseFields","dataFilter","active","lastModified","etag","url","isLocal","processData","async","contentType","json","* text","text html","text json","text xml","ajaxSetup","settings","ajaxPrefilter","ajaxTransport","ajax","transport","cacheURL","responseHeadersString","responseHeaders","timeoutTimer","fireGlobals","callbackContext","globalEventContext","completeDeferred","statusCode","requestHeaders","requestHeadersNames","strAbort","getAllResponseHeaders","setRequestHeader","lname","overrideMimeType","status","abort","statusText","finalText","success","method","crossDomain","param","traditional","hasContent","ifModified","headers","beforeSend","send","nativeStatusText","modified","getJSON","getScript","throws","wrapAll","firstElementChild","wrapInner","unwrap","visible","r20","rbracket","rCRLF","rsubmitterTypes","rsubmittable","buildParams","v","encodeURIComponent","serialize","serializeArray","xhr","XMLHttpRequest","xhrId","xhrCallbacks","xhrSuccessStatus",1223,"xhrSupported","ActiveXObject","cors","open","username","xhrFields","onload","onerror","responseText","text script","charset","scriptCharset","evt","oldCallbacks","rjsonp","jsonp","jsonpCallback","originalSettings","callbackName","overwritten","responseContainer","jsonProp","keepScripts","parsed","_load","params","animated","getWindow","offset","setOffset","curPosition","curLeft","curCSSTop","curTop","curOffset","curCSSLeft","calculatePosition","curElem","left","using","win","box","getBoundingClientRect","pageYOffset","pageXOffset","offsetParent","parentOffset","scrollTo","Height","Width","defaultExtra","funcName","size","andSelf","define","amd","_jQuery","_$","$","noConflict"],"mappings":"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"}
includes/libraries/bxslider-4/docs_src/templates/layouts/demos.hbs ADDED
@@ -0,0 +1,33 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <!-- head -->
5
+ {{> head }}
6
+
7
+ </head>
8
+ <body class="{{subTitle}}">
9
+ <div class="wrapper">
10
+ <!-- header -->
11
+ {{> header }}
12
+
13
+ <!-- title -->
14
+ {{> title }}
15
+
16
+ <!-- Demos -->
17
+ <section class="container" id="demos">
18
+ <div class="row">
19
+ <div class="col-lg-12">
20
+ {{> body }}
21
+ </div>
22
+ </div>
23
+ </section>
24
+ <div class="push"></div>
25
+ </div>
26
+ <!-- footer -->
27
+ {{> footer }}
28
+
29
+ <!-- javascript -->
30
+ {{> javascripts }}
31
+
32
+ </body>
33
+ </html>
includes/libraries/bxslider-4/docs_src/templates/layouts/docs.hbs ADDED
@@ -0,0 +1,30 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <!-- head -->
5
+ {{> head }}
6
+
7
+ </head>
8
+ <body>
9
+ <!-- header -->
10
+ {{> header }}
11
+
12
+ <!-- title -->
13
+ {{> title }}
14
+ <div class="container" id="docs">
15
+ <div class="row">
16
+ <div class="col-sm-12">
17
+ <article class="docs-content">
18
+ {{> body }}
19
+ </article>
20
+ </div>
21
+ </div>
22
+ </div>
23
+
24
+ <!-- footer -->
25
+ {{> footer }}
26
+
27
+ <!-- javascript -->
28
+ {{> javascripts }}
29
+ </body>
30
+ </html>
includes/libraries/bxslider-4/docs_src/templates/layouts/home.hbs ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <!-- head -->
5
+ {{> head }}
6
+
7
+
8
+ </head>
9
+ <body class="home">
10
+ <div class="wrapper">
11
+ <!-- header -->
12
+ {{> header }}
13
+
14
+ <!-- home panel -->
15
+ {{> home-hero }}
16
+
17
+ <!-- body -->
18
+ {{> home-carousel }}
19
+
20
+ <!-- features -->
21
+ {{> home-features }}
22
+ <div class="push"></div>
23
+ </div>
24
+ <!-- footer -->
25
+ {{> footer }}
26
+
27
+ <!-- javascript -->
28
+ {{> javascripts }}
29
+
30
+ </body>
31
+ </html>
includes/libraries/bxslider-4/docs_src/templates/pages/demos/adaptiveHeight.hbs ADDED
@@ -0,0 +1,40 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ title: Adaptive Height
3
+ subTitle: AdaptiveHeight
4
+ description: Adaptive Height demo
5
+ sort: 8
6
+
7
+ tags:
8
+ - demo
9
+ ---
10
+
11
+ <div id="demoSlider" class="bxslider">
12
+ <div class="item"><img src="{{assets}}/img/photo1-cropped.jpeg"></div>
13
+ <div class="item"><img src="{{assets}}/img/photo2-cropped.jpeg"></div>
14
+ <div class="item"><img src="{{assets}}/img/photo3-cropped.jpeg"></div>
15
+ <div class="item"><img src="{{assets}}/img/photo4.jpeg"></div>
16
+ </div>
17
+
18
+ {{#markdown }}
19
+ ### Overview
20
+
21
+ Adaptive Height adjusts the height of the slider based on the height of the contained slide.
22
+
23
+ ### Setup
24
+ ```
25
+ $('.bxslider').bxSlider({
26
+ adaptiveHeight: true,
27
+ mode: 'fade'
28
+ });
29
+ ```
30
+ ### HTML
31
+ ```
32
+ <div id="demoSlider" class="bxslider">
33
+ <div class="item"><img src="{{assets}}/img/photo1-cropped.jpeg"></div>
34
+ <div class="item"><img src="{{assets}}/img/photo2-cropped.jpeg"></div>
35
+ <div class="item"><img src="{{assets}}/img/photo3-cropped.jpeg"></div>
36
+ <div class="item"><img src="{{assets}}/img/photo4.jpeg"></div>
37
+ </div>
38
+ ```
39
+
40
+ {{/markdown }}
includes/libraries/bxslider-4/docs_src/templates/pages/demos/autoplay.hbs ADDED
@@ -0,0 +1,70 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ title: Auto Demo
3
+ subTitle: Auto
4
+ nav: demos
5
+ description: Autoplay usage demo
6
+ sort: 7
7
+
8
+ tags:
9
+ - demo
10
+ ---
11
+
12
+ <div id="demoSlider" class="bxslider">
13
+ <div class="item"><img src="{{assets}}/img/photo1.jpeg" title="Caption 1"></div>
14
+ <div class="item"><img src="{{assets}}/img/photo2.jpeg" title="Caption 2"></div>
15
+ <div class="item"><img src="{{assets}}/img/photo3.jpeg" title="Caption 3"></div>
16
+ <div class="item"><img src="{{assets}}/img/photo4.jpeg" title="Caption 4"></div>
17
+ <div class="item"><img src="{{assets}}/img/photo5.jpeg" title="Caption 5"></div>
18
+ <div class="item"><img src="{{assets}}/img/photo6.jpeg" title="Caption 6"></div>
19
+ </div>
20
+
21
+ <h2>Auto</h2>
22
+
23
+ <div class="option-name" id="auto">auto</div>
24
+ <div class="option-desc">Slides will automatically transition</div>
25
+
26
+ <pre><code class="http">default: false
27
+ options: boolean (true / false)
28
+ </code></pre>
29
+
30
+ <div class="option-name" id="pause">pause</div>
31
+ <div class="option-desc">The amount of time (in ms) between each auto transition</div>
32
+
33
+ <pre><code class="http">default: 4000
34
+ options: integer
35
+ </code></pre>
36
+
37
+ <div class="option-name" id="autoStart">autoStart</div>
38
+ <div class="option-desc">Auto show starts playing on load. If <code>false</code>, slideshow will start when the "Start" control is clicked</div>
39
+
40
+ <pre><code class="http">default: true
41
+ options: boolean (true / false)
42
+ </code></pre>
43
+
44
+ <div class="option-name" id="autoDirection">autoDirection</div>
45
+ <div class="option-desc">The direction of auto show slide transitions</div>
46
+
47
+ <pre><code class="http">default: 'next'
48
+ options: 'next', 'prev'
49
+ </code></pre>
50
+
51
+ <div class="option-name" id="autoHover">autoHover</div>
52
+ <div class="option-desc">Auto show will pause when mouse hovers over slider</div>
53
+
54
+ <pre><code class="http">default: false
55
+ options: boolean (true / false)
56
+ </code></pre>
57
+
58
+ <div class="option-name" id="autoDelay">autoDelay</div>
59
+ <div class="option-desc">Time (in ms) auto show should wait before starting</div>
60
+
61
+ <pre><code class="http">default: 0
62
+ options: integer
63
+ </code></pre>
64
+
65
+ <div class="option-name" id="stopAutoOnClick">stopAutoOnClick</div>
66
+ <div class="option-desc">Stop Auto when controls or pager are clicked</div>
67
+
68
+ <pre><code class="http">default: false
69
+ options: boolean (true / false)
70
+ </code></pre>
includes/libraries/bxslider-4/docs_src/templates/pages/demos/basic.hbs ADDED
@@ -0,0 +1,41 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ title: Basic Demo
3
+ subTitle: Basic
4
+ nav: demos
5
+ description: Basic usage demo
6
+ sort: 1
7
+
8
+ tags:
9
+ - demo
10
+ ---
11
+
12
+ <div id="demoSlider" class="bxslider">
13
+ <div class="item"><img src="{{assets}}/img/photo1.jpeg"></div>
14
+ <div class="item"><img src="{{assets}}/img/photo2.jpeg"></div>
15
+ <div class="item"><img src="{{assets}}/img/photo3.jpeg"></div>
16
+ <div class="item"><img src="{{assets}}/img/photo4.jpeg"></div>
17
+ <div class="item"><img src="{{assets}}/img/photo5.jpeg"></div>
18
+ <div class="item"><img src="{{assets}}/img/photo6.jpeg"></div>
19
+ </div>
20
+
21
+ {{#markdown }}
22
+
23
+ ### Setup
24
+ ```
25
+ $(document).ready(function(){
26
+ $('#demoSlider').bxSlider();
27
+ });
28
+ ```
29
+ ### HTML
30
+ ```
31
+ <div id="demoSlider" class="bxslider">
32
+ <div class="item"><img src="{{assets}}/img/photo1.jpeg"></div>
33
+ <div class="item"><img src="{{assets}}/img/photo2.jpeg"></div>
34
+ <div class="item"><img src="{{assets}}/img/photo3.jpeg"></div>
35
+ <div class="item"><img src="{{assets}}/img/photo4.jpeg"></div>
36
+ <div class="item"><img src="{{assets}}/img/photo5.jpeg"></div>
37
+ <div class="item"><img src="{{assets}}/img/photo6.jpeg"></div>
38
+ </div>
39
+ ```
40
+
41
+ {{/markdown }}
includes/libraries/bxslider-4/docs_src/templates/pages/demos/callbacks.hbs ADDED
@@ -0,0 +1,88 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ title: Callbacks Demo
3
+ subTitle: Callbacks
4
+ nav: demos
5
+ description: Callback usage demo
6
+ sort: 9
7
+
8
+ tags:
9
+ - demo
10
+ ---
11
+
12
+ <div id="demoSlider" class="bxslider">
13
+ <div class="item"><img src="{{assets}}/img/photo1.jpeg"></div>
14
+ <div class="item"><img src="{{assets}}/img/photo2.jpeg"></div>
15
+ <div class="item"><img src="{{assets}}/img/photo3.jpeg"></div>
16
+ <div class="item"><img src="{{assets}}/img/photo4.jpeg"></div>
17
+ <div class="item"><img src="{{assets}}/img/photo5.jpeg"></div>
18
+ <div class="item"><img src="{{assets}}/img/photo6.jpeg"></div>
19
+ </div>
20
+
21
+
22
+ <h2>Callbacks</h2>
23
+
24
+ <div class="option-name">onSliderLoad</div>
25
+ <div class="option-desc">Executes immediately after the slider is fully loaded</div>
26
+ {{#markdown }}
27
+ <pre><code class="livecodeserver">default: function(){return true}
28
+ options: function(el, currentIndex){ // your codehere }
29
+ arguments:
30
+ currentIndex: element index of the current slide</code></pre>
31
+ {{/markdown }}
32
+
33
+ <div class="option-name">onSlideBefore</div>
34
+ <div class="option-desc">Executes immediately before each slide transition.</div>
35
+
36
+ {{#markdown }}
37
+ ```
38
+ default: function(){return true}
39
+ options: function(el, $slideElement, oldIndex, newIndex){ // your codehere }
40
+ arguments:
41
+ $slideElement: jQuery element of the destination element
42
+ oldIndex: element index of the previous slide (before the transition)
43
+ newIndex: element index of the destination slide (after the transition)
44
+ ```
45
+ {{/markdown }}
46
+
47
+ <div class="option-name">onSlideAfter</div>
48
+ <div class="option-desc">Executes immediately after each slide transition. Function argument is the current slide element (when transition completes).</div>
49
+
50
+ {{#markdown }}
51
+ ```
52
+ default: function(){return true}
53
+ options: function(el, $slideElement, oldIndex, newIndex){ // your codehere }
54
+ arguments:
55
+ $slideElement: jQuery element of the destination element
56
+ oldIndex: element index of the previous slide (before the transition)
57
+ newIndex: element index of the destination slide (after the transition)
58
+ ```
59
+ {{/markdown }}
60
+
61
+ <div class="option-name" id="onSlideNext">onSlideNext</div>
62
+ <div class="option-desc">Executes immediately before each "Next" slide transition. Function argument is the target (next) slide element.</div>
63
+
64
+ {{#markdown }}
65
+ ```
66
+ default: function(){return true}
67
+ options: function(el, $slideElement, oldIndex, newIndex){ // your codehere }
68
+ arguments:
69
+ $slideElement: jQuery element of the destination element
70
+ oldIndex: element index of the previous slide (before the transition)
71
+ newIndex: element index of the destination slide (after the transition)
72
+ ```
73
+ {{/markdown }}
74
+
75
+ <div class="option-name" id="onSlidePrev">onSlidePrev</div>
76
+ <div class="option-desc">Executes immediately before each "Prev" slide transition. Function argument is the target (prev) slide element.</div>
77
+
78
+ {{#markdown }}
79
+ ```
80
+ default: function(){return true}
81
+ options: function(el, $slideElement, oldIndex, newIndex){ // your codehere }
82
+ arguments:
83
+ $slideElement: jQuery element of the destination element
84
+ oldIndex: element index of the previous slide (before the transition)
85
+ newIndex: element index of the destination slide (after the transition)
86
+ ```
87
+ {{/markdown }}
88
+
includes/libraries/bxslider-4/docs_src/templates/pages/demos/captions.hbs ADDED
@@ -0,0 +1,41 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ title: Caption Demo
3
+ subTitle: Captions
4
+ nav: demos
5
+ description: Slider with Captions
6
+ sort: 6
7
+
8
+ tags:
9
+ - demo
10
+ ---
11
+ {{#markdown }}
12
+ #### Captions
13
+ {{/markdown }}
14
+
15
+ <div id="demoSlider" class="bxslider">
16
+ <div class="item"><img src="{{assets}}/img/photo1.jpeg" title="Caption 1"></div>
17
+ <div class="item"><img src="{{assets}}/img/photo2.jpeg" title="Caption 2"></div>
18
+ <div class="item"><img src="{{assets}}/img/photo3.jpeg" title="Caption 3"></div>
19
+ <div class="item"><img src="{{assets}}/img/photo4.jpeg" title="Caption 4"></div>
20
+ <div class="item"><img src="{{assets}}/img/photo5.jpeg" title="Caption 5"></div>
21
+ <div class="item"><img src="{{assets}}/img/photo6.jpeg" title="Caption 6"></div>
22
+ </div>
23
+
24
+ {{#markdown }}
25
+ ### Overview
26
+
27
+ Basic demo that shows how to display captions with bxSlider. Captions are pulled from the title attribute of the image for the slide.
28
+
29
+ Add center to setup:
30
+ ```
31
+ captions: true
32
+ ```
33
+
34
+ ### Setup
35
+ ```
36
+ $('.bxslider').bxSlider({
37
+ captions: true
38
+ });
39
+ ```
40
+ {{/markdown }}
41
+
includes/libraries/bxslider-4/docs_src/templates/pages/demos/carousel.hbs ADDED
@@ -0,0 +1,438 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ title: Carousel Demo
3
+ subTitle: Carousel
4
+ description: Carousel usage demo
5
+ sort: 5
6
+
7
+ tags:
8
+ - demo
9
+ ---
10
+
11
+ <h1>Carousels De-mystified</h1>
12
+
13
+ <p>Ever since releasing v4.0, which introduced responsive behavior, the carousel mode (displaying / moving multiple slides) has been the most misunderstood, troublesome aspect of the slider. Proper use of the settings required a secret knowledge of the underlying codebase, and did not allow for intuitive configuration. Plainly put - the carousel config was poopy.</p>
14
+
15
+ <p>No longer! In version 4.1 the carousel functionality and settings have been re-worked to function in a straight forward, intuitive manner. Below is a detailed explanation of the new settings, with lots of examples. Let's do this thing.</p>
16
+
17
+ <h3>Quick glance</h3>
18
+ <p>
19
+ <ol>
20
+ <li><a href="#example1">Example #1: Standard responsive carousel</a></li>
21
+ <li><a href="#example2">Example #2: Locked number of slides</a></li>
22
+ <li><a href="#example3">Example #3: Too large slideWidth</a></li>
23
+ <li><a href="#example4">Example #4: Move number of slides (moveSlides)</a></li>
24
+ <li><a href="#example5">Example #5: Infinite carousel with odd number of slides</a></li>
25
+ <li><a href="#example6">Example #6: Start on a different slide</a></li>
26
+ <li><a href="#example7">Example #7: Not enough slides</a></li>
27
+ <li><a href="#example8">Example #8: Vertical carousel</a></li>
28
+ </ol>
29
+ </p>
30
+
31
+ <h2 id="example1">Example #1: Standard responsive carousel</h2>
32
+
33
+ <div class="slider1">
34
+ <div class="slide"><img src="http://placehold.it/350x150&text=FooBar1"></div>
35
+ <div class="slide"><img src="http://placehold.it/350x150&text=FooBar2"></div>
36
+ <div class="slide"><img src="http://placehold.it/350x150&text=FooBar3"></div>
37
+ <div class="slide"><img src="http://placehold.it/350x150&text=FooBar4"></div>
38
+ <div class="slide"><img src="http://placehold.it/350x150&text=FooBar5"></div>
39
+ <div class="slide"><img src="http://placehold.it/350x150&text=FooBar6"></div>
40
+ <div class="slide"><img src="http://placehold.it/350x150&text=FooBar7"></div>
41
+ <div class="slide"><img src="http://placehold.it/350x150&text=FooBar8"></div>
42
+ <div class="slide"><img src="http://placehold.it/350x150&text=FooBar9"></div>
43
+ </div>
44
+
45
+ <h4>JS:</h4>
46
+ {{#markdown }}
47
+ ```$(document).ready(function(){
48
+ $('.slider1').bxSlider({
49
+ slideWidth: 200,
50
+ minSlides: 2,
51
+ maxSlides: 3,
52
+ slideMargin: 10
53
+ });
54
+ });
55
+ ```
56
+
57
+ <h4>HTML:</h4>
58
+ ```
59
+ <div class="slider1">
60
+ <div class="slide"><img src="http://placehold.it/350x150&text=FooBar1"></div>
61
+ <div class="slide"><img src="http://placehold.it/350x150&text=FooBar2"></div>
62
+ <div class="slide"><img src="http://placehold.it/350x150&text=FooBar3"></div>
63
+ <div class="slide"><img src="http://placehold.it/350x150&text=FooBar4"></div>
64
+ <div class="slide"><img src="http://placehold.it/350x150&text=FooBar5"></div>
65
+ <div class="slide"><img src="http://placehold.it/350x150&text=FooBar6"></div>
66
+ <div class="slide"><img src="http://placehold.it/350x150&text=FooBar7"></div>
67
+ <div class="slide"><img src="http://placehold.it/350x150&text=FooBar8"></div>
68
+ <div class="slide"><img src="http://placehold.it/350x150&text=FooBar9"></div>
69
+ </div>
70
+ ```
71
+
72
+ <p>In order to setup a <em>responsive</em> carousel, we need to supply three values:</p>
73
+
74
+ <p>
75
+ <ol>
76
+ <li>slideWidth</li>
77
+ <li>maxSlides</li>
78
+ <li>minSlides</li>
79
+ </ol>
80
+ </p>
81
+
82
+ <p>Go ahead and resize your browser from very large, to very small. You will see that 3 slides are displayed when there is room (maxSlides) and 2 slides are displayed when room becomes tight (minSlides).</p>
83
+
84
+ <p>Let's disect each of the settings.</p>
85
+
86
+ <h3>slideWidth</h3>
87
+
88
+ <p>When telling a horizontal slider to display more than one slide, we need to supply a width for which the slides should use. If no slideWidth is supplied, the slider will expand each slide to 100% width of the container. Therefore: <strong>use this setting as the maximum width for each slide.</strong> When space allows, slides will be set to this width, and will never grow beyond it.</p>
89
+
90
+ <p>Another new feature regarding slideWidth, is that the slider container will now be assigned a max-width which will never be larger than the maximum number of visible slides. So, if we have a slider with the following settings: slideWidth: 100, minSlides: 2, maxSlides: 3, the slider container will recieve a max-width of "300px" (slideWidth * maxSlides). Another example: slideWidth: 200, minSlides: 1, maxSlides: 5, slider container will receive a max-width of "1000px" (slideWidth * maxSlides).</p>
91
+
92
+ <p>Again, the slider container will always recieve a max-width of: slideWidth * maxSlides. This is different from v4.0 in that the slider container now will "shrink-wrap" to fit maximum visible slides.</p>
93
+
94
+ <h3>minSlides / maxSlides</h3>
95
+
96
+ <p>Because our carousel is repsonsive and needs to look good across <em>all</em> devices, we have the ability to tell the carousel to display different amounts of slides depending on our screen size. Let's look at each setting:</p>
97
+
98
+ <p>
99
+ <ol>
100
+ <li>
101
+ <strong>minSlides:</strong> always display at least this many slides. This means that <em>no matter what</em>, this amount of slides will always be displayed. Even if we size our browser down to 200px wide, the specified value of slides will be shown.
102
+ </li>
103
+ <li>
104
+ <strong>maxSlides:</strong> never display more than this many slides. This value combined with the slideWidth value is used to generate the slider container's max-width value which ensures that the viewport can never display more than <em>y</em> slides. So basically, the width of our slider container will always be either: maxSlides * slideWidth or 100% (if maxSlides * slideWidth is greater than the page container).
105
+ </li>
106
+ </ol>
107
+ </p>
108
+
109
+ <p>If these settings seem confusing, think of how differently a carousel could be displayed on a small mobile screen as opposed to a large desktop screen. On a 1900px-wide desktop monitor, the carousel could easily display 10 slides at a time, with room to breathe. However, on a 300px-wide mobile phone, we would rather display 2 slides at a time (as showing 10 slides would make the slides unreadable).</p>
110
+
111
+ <p>Also remember that once the minSlides number of slides are displayed, the slides will be scaled down as the browser becomes smaller and smaller.</p>
112
+
113
+ <h3>slideMargin (optional)</h3>
114
+
115
+ <p>This is purely for presentation purposes only. This setting injects a margin of <em>y</em> pixels between each slide.</p>
116
+
117
+
118
+ {{/markdown }}
119
+
120
+ <hr />
121
+
122
+ <h2 id="example2">Example #2: Locked number of slides</h2>
123
+
124
+ <div class="slider2">
125
+ <div class="slide"><img src="http://placehold.it/350x150&text=FooBar1"></div>
126
+ <div class="slide"><img src="http://placehold.it/350x150&text=FooBar2"></div>
127
+ <div class="slide"><img src="http://placehold.it/350x150&text=FooBar3"></div>
128
+ <div class="slide"><img src="http://placehold.it/350x150&text=FooBar4"></div>
129
+ <div class="slide"><img src="http://placehold.it/350x150&text=FooBar5"></div>
130
+ <div class="slide"><img src="http://placehold.it/350x150&text=FooBar6"></div>
131
+ <div class="slide"><img src="http://placehold.it/350x150&text=FooBar7"></div>
132
+ <div class="slide"><img src="http://placehold.it/350x150&text=FooBar8"></div>
133
+ <div class="slide"><img src="http://placehold.it/350x150&text=FooBar9"></div>
134
+ <div class="slide"><img src="http://placehold.it/350x150&text=FooBar10"></div>
135
+ </div>
136
+
137
+ <h4>JS:</h4>
138
+ {{#markdown }}
139
+ ```$(document).ready(function(){
140
+ $('.slider2').bxSlider({
141
+ slideWidth: 300,
142
+ minSlides: 2,
143
+ maxSlides: 2,
144
+ slideMargin: 10
145
+ });
146
+ });
147
+ ```
148
+
149
+ <h4>HTML:</h4>
150
+ ```
151
+ <div class="slider2">
152
+ <div class="slide"><img src="http://placehold.it/350x150&text=FooBar1"></div>
153
+ <div class="slide"><img src="http://placehold.it/350x150&text=FooBar2"></div>
154
+ <div class="slide"><img src="http://placehold.it/350x150&text=FooBar3"></div>
155
+ <div class="slide"><img src="http://placehold.it/350x150&text=FooBar4"></div>
156
+ <div class="slide"><img src="http://placehold.it/350x150&text=FooBar5"></div>
157
+ <div class="slide"><img src="http://placehold.it/350x150&text=FooBar6"></div>
158
+ <div class="slide"><img src="http://placehold.it/350x150&text=FooBar7"></div>
159
+ <div class="slide"><img src="http://placehold.it/350x150&text=FooBar8"></div>
160
+ <div class="slide"><img src="http://placehold.it/350x150&text=FooBar9"></div>
161
+ <div class="slide"><img src="http://placehold.it/350x150&text=FooBar10"></div>
162
+ </div>
163
+ ```
164
+
165
+ <p>Here we want to <em>always</em> display 2 slides no matter the screen size. Therefore we set both minSlides and maxSlides to 2. Resize your browser to see that no matter how large or small the screen becomes, 2 slides are always displayed.</p>
166
+ {{/markdown }}
167
+
168
+ <hr />
169
+
170
+ <h2 id="example3">Example #3: Too large slideWidth</h2>
171
+
172
+ <div class="slider3">
173
+ <div class="slide"><img src="http://placehold.it/500x150&text=FooBar1"></div>
174
+ <div class="slide"><img src="http://placehold.it/500x150&text=FooBar2"></div>
175
+ <div class="slide"><img src="http://placehold.it/500x150&text=FooBar3"></div>
176
+ <div class="slide"><img src="http://placehold.it/500x150&text=FooBar4"></div>
177
+ <div class="slide"><img src="http://placehold.it/500x150&text=FooBar5"></div>
178
+ <div class="slide"><img src="http://placehold.it/500x150&text=FooBar6"></div>
179
+ <div class="slide"><img src="http://placehold.it/500x150&text=FooBar7"></div>
180
+ <div class="slide"><img src="http://placehold.it/500x150&text=FooBar8"></div>
181
+ <div class="slide"><img src="http://placehold.it/500x150&text=FooBar9"></div>
182
+ <div class="slide"><img src="http://placehold.it/500x150&text=FooBar10"></div>
183
+ </div>
184
+
185
+ <h4>JS:</h4>
186
+ {{#markdown}}
187
+ ```$(document).ready(function(){
188
+ $('.slider3').bxSlider({
189
+ slideWidth: 5000,
190
+ minSlides: 2,
191
+ maxSlides: 4,
192
+ slideMargin: 10
193
+ });
194
+ });
195
+ ```
196
+
197
+ <h4>HTML:</h4>
198
+ ```
199
+ <div class="slider3">
200
+ <div class="slide"><img src="http://placehold.it/500x150&text=FooBar1"></div>
201
+ <div class="slide"><img src="http://placehold.it/500x150&text=FooBar2"></div>
202
+ <div class="slide"><img src="http://placehold.it/500x150&text=FooBar3"></div>
203
+ <div class="slide"><img src="http://placehold.it/500x150&text=FooBar4"></div>
204
+ <div class="slide"><img src="http://placehold.it/500x150&text=FooBar5"></div>
205
+ <div class="slide"><img src="http://placehold.it/500x150&text=FooBar6"></div>
206
+ <div class="slide"><img src="http://placehold.it/500x150&text=FooBar7"></div>
207
+ <div class="slide"><img src="http://placehold.it/500x150&text=FooBar8"></div>
208
+ <div class="slide"><img src="http://placehold.it/500x150&text=FooBar9"></div>
209
+ <div class="slide"><img src="http://placehold.it/500x150&text=FooBar10"></div>
210
+ </div>
211
+ ```
212
+
213
+ <p>Here we intentionally set a slideWidth larger than the available space. In this case, the slider defaults to the minSlide value, and scales appropriately.</p>
214
+ {{/markdown }}
215
+
216
+ <hr />
217
+
218
+ <h2 id="example4">Example #4: Move number of slides (moveSlides)</h2>
219
+
220
+ <div class="slider4">
221
+ <div class="slide"><img src="http://placehold.it/300x150&text=FooBar1"></div>
222
+ <div class="slide"><img src="http://placehold.it/300x150&text=FooBar2"></div>
223
+ <div class="slide"><img src="http://placehold.it/300x150&text=FooBar3"></div>
224
+ <div class="slide"><img src="http://placehold.it/300x150&text=FooBar4"></div>
225
+ <div class="slide"><img src="http://placehold.it/300x150&text=FooBar5"></div>
226
+ <div class="slide"><img src="http://placehold.it/300x150&text=FooBar6"></div>
227
+ <div class="slide"><img src="http://placehold.it/300x150&text=FooBar7"></div>
228
+ <div class="slide"><img src="http://placehold.it/300x150&text=FooBar8"></div>
229
+ <div class="slide"><img src="http://placehold.it/300x150&text=FooBar9"></div>
230
+ <div class="slide"><img src="http://placehold.it/300x150&text=FooBar10"></div>
231
+ </div>
232
+
233
+ <h4>JS:</h4>
234
+ {{#markdown}}
235
+ ```$(document).ready(function(){
236
+ $('.slider4').bxSlider({
237
+ slideWidth: 300,
238
+ minSlides: 2,
239
+ maxSlides: 3,
240
+ moveSlides: 1,
241
+ slideMargin: 10
242
+ });
243
+ });
244
+ ```
245
+
246
+ <h4>HTML:</h4>
247
+ ```
248
+ <div class="slider4">
249
+ <div class="slide"><img src="http://placehold.it/300x150&text=FooBar1"></div>
250
+ <div class="slide"><img src="http://placehold.it/300x150&text=FooBar2"></div>
251
+ <div class="slide"><img src="http://placehold.it/300x150&text=FooBar3"></div>
252
+ <div class="slide"><img src="http://placehold.it/300x150&text=FooBar4"></div>
253
+ <div class="slide"><img src="http://placehold.it/300x150&text=FooBar5"></div>
254
+ <div class="slide"><img src="http://placehold.it/300x150&text=FooBar6"></div>
255
+ <div class="slide"><img src="http://placehold.it/300x150&text=FooBar7"></div>
256
+ <div class="slide"><img src="http://placehold.it/300x150&text=FooBar8"></div>
257
+ <div class="slide"><img src="http://placehold.it/300x150&text=FooBar9"></div>
258
+ <div class="slide"><img src="http://placehold.it/300x150&text=FooBar10"></div>
259
+ </div>
260
+ ```
261
+
262
+ <p>Here we see a new setting: moveSlides. This tells the carousel to move <em>y</em> slides each time next / prev is fired. If no value is supplied for moveSlides, the carousel will use the number of visible slides for this value.</p>
263
+ {{/markdown}}
264
+
265
+ <hr />
266
+
267
+ <h2 id="example5">Example #5: Infinite carousel with odd number of slides</h2>
268
+
269
+ <div class="slider5">
270
+ <div class="slide"><img src="http://placehold.it/300x150&text=FooBar1"></div>
271
+ <div class="slide"><img src="http://placehold.it/300x150&text=FooBar2"></div>
272
+ <div class="slide"><img src="http://placehold.it/300x150&text=FooBar3"></div>
273
+ <div class="slide"><img src="http://placehold.it/300x150&text=FooBar4"></div>
274
+ <div class="slide"><img src="http://placehold.it/300x150&text=FooBar5"></div>
275
+ <div class="slide"><img src="http://placehold.it/300x150&text=FooBar6"></div>
276
+ <div class="slide"><img src="http://placehold.it/300x150&text=FooBar7"></div>
277
+ <div class="slide"><img src="http://placehold.it/300x150&text=FooBar8"></div>
278
+ <div class="slide"><img src="http://placehold.it/300x150&text=FooBar9"></div>
279
+ <div class="slide"><img src="http://placehold.it/300x150&text=FooBar10"></div>
280
+ </div>
281
+
282
+ <h4>JS:</h4>
283
+ {{#markdown}}
284
+ ```$(document).ready(function(){
285
+ $('.slider5').bxSlider({
286
+ slideWidth: 300,
287
+ minSlides: 3,
288
+ maxSlides: 3,
289
+ moveSlides: 3,
290
+ slideMargin: 10
291
+ });
292
+ });
293
+ ```
294
+
295
+ <h4>HTML:</h4>
296
+ ```
297
+ <div class="slider5">
298
+ <div class="slide"><img src="http://placehold.it/300x150&text=FooBar1"></div>
299
+ <div class="slide"><img src="http://placehold.it/300x150&text=FooBar2"></div>
300
+ <div class="slide"><img src="http://placehold.it/300x150&text=FooBar3"></div>
301
+ <div class="slide"><img src="http://placehold.it/300x150&text=FooBar4"></div>
302
+ <div class="slide"><img src="http://placehold.it/300x150&text=FooBar5"></div>
303
+ <div class="slide"><img src="http://placehold.it/300x150&text=FooBar6"></div>
304
+ <div class="slide"><img src="http://placehold.it/300x150&text=FooBar7"></div>
305
+ <div class="slide"><img src="http://placehold.it/300x150&text=FooBar8"></div>
306
+ <div class="slide"><img src="http://placehold.it/300x150&text=FooBar9"></div>
307
+ <div class="slide"><img src="http://placehold.it/300x150&text=FooBar10"></div>
308
+ </div>
309
+ ```
310
+
311
+ <p>Here we have implemented an infinite carousel (continues to first slide after reaching the last slide). However, we are moving 3 slides at a time, but we only have 10 slides. When this occurs, the carousel will always return to slide 1, even if it does not follow the moveSlides setting. This is done so that we can achieve a truly <em>infinite</em> carousel that will not break due to an uneven slide quantity.</p>
312
+ {{/markdown}}
313
+ <hr />
314
+
315
+ <h2 id="example6">Example #6: Start on a different slide</h2>
316
+
317
+ <div class="slider6">
318
+ <div class="slide"><img src="http://placehold.it/300x150&text=FooBar1"></div>
319
+ <div class="slide"><img src="http://placehold.it/300x150&text=FooBar2"></div>
320
+ <div class="slide"><img src="http://placehold.it/300x150&text=FooBar3"></div>
321
+ <div class="slide"><img src="http://placehold.it/300x150&text=FooBar4"></div>
322
+ <div class="slide"><img src="http://placehold.it/300x150&text=FooBar5"></div>
323
+ <div class="slide"><img src="http://placehold.it/300x150&text=FooBar6"></div>
324
+ <div class="slide"><img src="http://placehold.it/300x150&text=FooBar7"></div>
325
+ <div class="slide"><img src="http://placehold.it/300x150&text=FooBar8"></div>
326
+ <div class="slide"><img src="http://placehold.it/300x150&text=FooBar9"></div>
327
+ <div class="slide"><img src="http://placehold.it/300x150&text=FooBar10"></div>
328
+ </div>
329
+
330
+ <h4>JS:</h4>
331
+ {{#markdown}}
332
+ ```$(document).ready(function(){
333
+ $('.slider6').bxSlider({
334
+ slideWidth: 300,
335
+ minSlides: 2,
336
+ maxSlides: 3,
337
+ startSlide: 2,
338
+ slideMargin: 10
339
+ });
340
+ });
341
+ ```
342
+
343
+ <h4>HTML:</h4>
344
+ ```
345
+ <div class="slider6">
346
+ <div class="slide"><img src="http://placehold.it/300x150&text=FooBar1"></div>
347
+ <div class="slide"><img src="http://placehold.it/300x150&text=FooBar2"></div>
348
+ <div class="slide"><img src="http://placehold.it/300x150&text=FooBar3"></div>
349
+ <div class="slide"><img src="http://placehold.it/300x150&text=FooBar4"></div>
350
+ <div class="slide"><img src="http://placehold.it/300x150&text=FooBar5"></div>
351
+ <div class="slide"><img src="http://placehold.it/300x150&text=FooBar6"></div>
352
+ <div class="slide"><img src="http://placehold.it/300x150&text=FooBar7"></div>
353
+ <div class="slide"><img src="http://placehold.it/300x150&text=FooBar8"></div>
354
+ <div class="slide"><img src="http://placehold.it/300x150&text=FooBar9"></div>
355
+ <div class="slide"><img src="http://placehold.it/300x150&text=FooBar10"></div>
356
+ </div>
357
+ ```
358
+
359
+ <p>This is a tricky one :) Here we specify a startSlide value of 2. This can be a little misleading as this does not refer to <em>slide</em> #2, but it refers to <em>pager</em> #2. Since slides and pagers are zero-based, we are telling the carousel to start on the thrid pager (remember that 2 in a zero-based world is the third element). Similar to the moveSlides explanation above, this occurs so that the carousel can stay in sync with the pager and prevents the markup from becoming unweildy.</p>
360
+ {{/markdown}}
361
+ <hr />
362
+
363
+ <h2 id="example7">Example #7: Not enough slides</h2>
364
+
365
+ <div class="slider7">
366
+ <div class="slide"><img src="http://placehold.it/200x150&text=FooBar1"></div>
367
+ <div class="slide"><img src="http://placehold.it/200x150&text=FooBar2"></div>
368
+ </div>
369
+
370
+ <h4>JS:</h4>
371
+ {{#markdown}}
372
+ ```$(document).ready(function(){
373
+ $('.slider7').bxSlider({
374
+ slideWidth: 200,
375
+ minSlides: 4,
376
+ maxSlides: 5,
377
+ slideMargin: 10
378
+ });
379
+ });
380
+ ```
381
+
382
+ <h4>HTML:</h4>
383
+ ```
384
+ <div class="slider7">
385
+ <div class="slide"><img src="http://placehold.it/200x150&text=FooBar1"></div>
386
+ <div class="slide"><img src="http://placehold.it/200x150&text=FooBar2"></div>
387
+ </div>
388
+ ```
389
+
390
+ <p>Here we have intentionally not provided enough slides to fill our requirements. In this case, the carousel will simply use the number of existing slides as the minSlide value, and continue as usual.</p>
391
+ {{/markdown}}
392
+ <hr />
393
+
394
+ <h2 id="example8">Example #8: Vertical carousel</h2>
395
+
396
+ <div class="slider8">
397
+ <div class="slide"><img src="http://placehold.it/300x100&text=FooBar1"></div>
398
+ <div class="slide"><img src="http://placehold.it/300x100&text=FooBar2"></div>
399
+ <div class="slide"><img src="http://placehold.it/300x100&text=FooBar3"></div>
400
+ <div class="slide"><img src="http://placehold.it/300x100&text=FooBar4"></div>
401
+ <div class="slide"><img src="http://placehold.it/300x100&text=FooBar5"></div>
402
+ <div class="slide"><img src="http://placehold.it/300x100&text=FooBar6"></div>
403
+ <div class="slide"><img src="http://placehold.it/300x100&text=FooBar7"></div>
404
+ <div class="slide"><img src="http://placehold.it/300x100&text=FooBar8"></div>
405
+ <div class="slide"><img src="http://placehold.it/300x100&text=FooBar9"></div>
406
+ <div class="slide"><img src="http://placehold.it/300x100&text=FooBar10"></div>
407
+ </div>
408
+
409
+ <h4>JS:</h4>
410
+ {{#markdown}}
411
+ ```$(document).ready(function(){
412
+ $('.slider8').bxSlider({
413
+ mode: 'vertical',
414
+ slideWidth: 300,
415
+ minSlides: 2,
416
+ slideMargin: 10
417
+ });
418
+ });
419
+ ```
420
+
421
+ <h4>HTML:</h4>
422
+ ```
423
+ <div class="slider8">
424
+ <div class="slide"><img src="http://placehold.it/300x100&text=FooBar1"></div>
425
+ <div class="slide"><img src="http://placehold.it/300x100&text=FooBar2"></div>
426
+ <div class="slide"><img src="http://placehold.it/300x100&text=FooBar3"></div>
427
+ <div class="slide"><img src="http://placehold.it/300x100&text=FooBar4"></div>
428
+ <div class="slide"><img src="http://placehold.it/300x100&text=FooBar5"></div>
429
+ <div class="slide"><img src="http://placehold.it/300x100&text=FooBar6"></div>
430
+ <div class="slide"><img src="http://placehold.it/300x100&text=FooBar7"></div>
431
+ <div class="slide"><img src="http://placehold.it/300x100&text=FooBar8"></div>
432
+ <div class="slide"><img src="http://placehold.it/300x100&text=FooBar9"></div>
433
+ <div class="slide"><img src="http://placehold.it/300x100&text=FooBar10"></div>
434
+ </div>
435
+ ```
436
+
437
+ <p>Vertical carousels follow most of the same rules as horizontal carousels. However, the maxSlides setting is not used as vertical carousels will always have only one slide across. Therefore, we do not have to accomodate different screen widths with this setting.</p>
438
+ {{/markdown}}
includes/libraries/bxslider-4/docs_src/templates/pages/demos/customPager.hbs ADDED
@@ -0,0 +1,51 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ title: Custom Pager Demo
3
+ subTitle: Pager
4
+ description: Custom Pager usage demo
5
+ sort: 10
6
+
7
+ tags:
8
+ - demo
9
+ ---
10
+
11
+ <h1>Custom Pager</h1>
12
+
13
+ <p>Note that the parent element (#bx-pager in this example), must contain an href tag for each slide. Each href tag must have a data-slide-index attribute that references the respecitve slide index (zero-based). See the HTML in this example. Also note that this method should not be used for dynamic carousels.</p>
14
+
15
+ <div id="demoSlider1" class="bxslider">
16
+ <div class="item"><img src="{{assets}}/img/photo1.jpeg"></div>
17
+ <div class="item"><img src="{{assets}}/img/photo2.jpeg"></div>
18
+ <div class="item"><img src="{{assets}}/img/photo3.jpeg"></div>
19
+ </div>
20
+
21
+ <div id="bx-pager">
22
+ <a data-slide-index="0" href=""><img src="http://placehold.it/50x50&text=FooBar1" /></a>
23
+ <a data-slide-index="1" href=""><img src="http://placehold.it/50x50&text=FooBar2" /></a>
24
+ <a data-slide-index="2" href=""><img src="http://placehold.it/50x50&text=FooBar3" /></a>
25
+ </div>
26
+
27
+ <h4>JS:</h4>
28
+ {{#markdown }}
29
+ ```
30
+ $(document).ready(function(){
31
+ $('#demoSlider').bxSlider({
32
+ pagerCustom: '#bx-pager'
33
+ });
34
+ });
35
+ ```
36
+
37
+ <h4>HTML:</h4>
38
+ ```
39
+ <div id="demoSlider1" class="bxslider">
40
+ <div class="slide"><img src="http://placehold.it/350x350&text=FooBar1"></div>
41
+ <div class="slide"><img src="http://placehold.it/350x350&text=FooBar2"></div>
42
+ <div class="slide"><img src="http://placehold.it/350x350&text=FooBar3"></div>
43
+ </div>
44
+
45
+ <div id="bx-pager">
46
+ <a data-slide-index="0" href=""><img src="http://placehold.it/50x50&text=FooBar1" /></a>
47
+ <a data-slide-index="1" href=""><img src="http://placehold.it/50x50&text=FooBar2" /></a>
48
+ <a data-slide-index="2" href=""><img src="http://placehold.it/50x50&text=FooBar3" /></a>
49
+ </div>
50
+ ```
51
+ {{/markdown}}
includes/libraries/bxslider-4/docs_src/templates/pages/demos/demos.hbs ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ title: Demos
3
+ subTitle: Demos
4
+ nav: demos
5
+ description: A list of bxSlider examples.
6
+ ---
7
+
8
+ <div class="demo-list container">
9
+ <div class="row">
10
+ {{#each tags}}
11
+ {{#is tag "demo"}}
12
+ {{#withSort pages "data.sort"}}
13
+ <div class="col-sm-12">
14
+ <a href="{{basename }}.html" class="demo-block">
15
+ <h5>{{data.subTitle}} </h5>
16
+ </a>
17
+ </div>
18
+ {{/withSort}}
19
+ {{/is}}
20
+ {{/each}}
21
+ </div>
22
+ </div>
includes/libraries/bxslider-4/docs_src/templates/pages/demos/destroy.hbs ADDED
@@ -0,0 +1,43 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ title: Destroy Demo
3
+ subTitle: Destroy
4
+ nav: demos
5
+ description: Basic usage demo
6
+ sort: 13
7
+
8
+ tags:
9
+ - demo
10
+ ---
11
+
12
+ <div id="demoSlider" class="bxslider">
13
+ <div class="item"><img src="{{assets}}/img/photo1.jpeg"></div>
14
+ <div class="item"><img src="{{assets}}/img/photo2.jpeg"></div>
15
+ <div class="item"><img src="{{assets}}/img/photo3.jpeg"></div>
16
+ <div class="item"><img src="{{assets}}/img/photo4.jpeg"></div>
17
+ <div class="item"><img src="{{assets}}/img/photo5.jpeg"></div>
18
+ <div class="item"><img src="{{assets}}/img/photo6.jpeg"></div>
19
+ </div>
20
+
21
+ <p><a href="" id="slider-init">Click me to go to initialize</a><br />
22
+ <a href="" id="slider-destroy">Click me to destroy</a></p>
23
+ {{#markdown }}
24
+
25
+ ### Setup
26
+ ```
27
+ $(document).ready(function(){
28
+ $('#demoSlider').bxSlider();
29
+ });
30
+ ```
31
+ ### HTML
32
+ ```
33
+ <div id="demoSlider" class="bxslider">
34
+ <div class="item"><img src="{{assets}}/img/photo1.jpeg"></div>
35
+ <div class="item"><img src="{{assets}}/img/photo2.jpeg"></div>
36
+ <div class="item"><img src="{{assets}}/img/photo3.jpeg"></div>
37
+ <div class="item"><img src="{{assets}}/img/photo4.jpeg"></div>
38
+ <div class="item"><img src="{{assets}}/img/photo5.jpeg"></div>
39
+ <div class="item"><img src="{{assets}}/img/photo6.jpeg"></div>
40
+ </div>
41
+ ```
42
+
43
+ {{/markdown }}
includes/libraries/bxslider-4/docs_src/templates/pages/demos/fade.hbs ADDED
@@ -0,0 +1,46 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ title: Fade Demo
3
+ subTitle: Fade
4
+ nav: demos
5
+ description: Fade demo
6
+ sort: 3
7
+
8
+ tags:
9
+ - demo
10
+ ---
11
+
12
+ <div id="demoSlider" class="bxslider">
13
+ <div class="item"><img src="{{assets}}/img/photo1.jpeg"></div>
14
+ <div class="item"><img src="{{assets}}/img/photo2.jpeg"></div>
15
+ <div class="item"><img src="{{assets}}/img/photo3.jpeg"></div>
16
+ <div class="item"><img src="{{assets}}/img/photo4.jpeg"></div>
17
+ <div class="item"><img src="{{assets}}/img/photo5.jpeg"></div>
18
+ <div class="item"><img src="{{assets}}/img/photo6.jpeg"></div>
19
+ </div>
20
+
21
+ {{#markdown }}
22
+ ### Overview
23
+
24
+ Basic usage of bxSlider and uses all default settings. The structure works with any kind of DOM element. In this example we use `<div class="item">...</div>` but you could put any other element `div/span/a/img...`
25
+
26
+ ### Setup
27
+ ```
28
+ $(document).ready(function(){
29
+ $('#demoSlider').bxSlider({
30
+ mode: 'fade'
31
+ });
32
+ });
33
+ ```
34
+ ### HTML
35
+ ```
36
+ <div id="demoSlider" class="bxslider">
37
+ <div class="item"><img src="{{assets}}/img/photo1.jpeg"></div>
38
+ <div class="item"><img src="{{assets}}/img/photo2.jpeg"></div>
39
+ <div class="item"><img src="{{assets}}/img/photo3.jpeg"></div>
40
+ <div class="item"><img src="{{assets}}/img/photo4.jpeg"></div>
41
+ <div class="item"><img src="{{assets}}/img/photo5.jpeg"></div>
42
+ <div class="item"><img src="{{assets}}/img/photo6.jpeg"></div>
43
+ </div>
44
+ ```
45
+
46
+ {{/markdown }}
includes/libraries/bxslider-4/docs_src/templates/pages/demos/manual.hbs ADDED
@@ -0,0 +1,45 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ title: Manual W/O Infinite Loop
3
+ subTitle: Manual
4
+ nav: demos
5
+ description: Manual W/O Infinite Loop
6
+ sort: 4
7
+
8
+ tags:
9
+ - demo
10
+ ---
11
+
12
+ <div id="demoSlider" class="bxslider">
13
+ <div class="item"><img src="{{assets}}/img/photo1.jpeg"></div>
14
+ <div class="item"><img src="{{assets}}/img/photo2.jpeg"></div>
15
+ <div class="item"><img src="{{assets}}/img/photo3.jpeg"></div>
16
+ <div class="item"><img src="{{assets}}/img/photo4.jpeg"></div>
17
+ <div class="item"><img src="{{assets}}/img/photo5.jpeg"></div>
18
+ <div class="item"><img src="{{assets}}/img/photo6.jpeg"></div>
19
+ </div>
20
+
21
+ {{#markdown }}
22
+ ### Overview
23
+
24
+ This demo uses `infiniteLoop: false` and `hideControlOnEnd: true` to create a manual style that automatically hides controls when at the beginning and end of the slide show.
25
+
26
+ ### Setup
27
+ ```
28
+ $('.bxslider').bxSlider({
29
+ infiniteLoop: false,
30
+ hideControlOnEnd: true
31
+ });
32
+ ```
33
+ ### html
34
+ ```
35
+ <div id="demoSlider" class="bxslider">
36
+ <div class="item"><img src="{{assets}}/img/photo1.jpeg"></div>
37
+ <div class="item"><img src="{{assets}}/img/photo2.jpeg"></div>
38
+ <div class="item"><img src="{{assets}}/img/photo3.jpeg"></div>
39
+ <div class="item"><img src="{{assets}}/img/photo4.jpeg"></div>
40
+ <div class="item"><img src="{{assets}}/img/photo5.jpeg"></div>
41
+ <div class="item"><img src="{{assets}}/img/photo6.jpeg"></div>
42
+ </div>
43
+ ```
44
+
45
+ {{/markdown }}
includes/libraries/bxslider-4/docs_src/templates/pages/demos/shrinkItems.hbs ADDED
@@ -0,0 +1,66 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ title: Shrink Items Demo
3
+ subTitle: Shrink
4
+ description: Shrink Items usage demo
5
+ sort: 11
6
+
7
+ tags:
8
+ - demo
9
+ ---
10
+
11
+ <h1>Shrink Items</h1>
12
+
13
+ <p>This option causes a carousel to only show whole slides.</p>
14
+
15
+ <h2>With shrinkItems set to true</h2>
16
+ <div id="demoSlider1" class="bxslider">
17
+ <div class="slide"><img src="http://placehold.it/350x350&text=FooBar1"></div>
18
+ <div class="slide"><img src="http://placehold.it/350x350&text=FooBar2"></div>
19
+ <div class="slide"><img src="http://placehold.it/350x350&text=FooBar3"></div>
20
+ <div class="slide"><img src="http://placehold.it/350x350&text=FooBar4"></div>
21
+ <div class="slide"><img src="http://placehold.it/350x350&text=FooBar5"></div>
22
+ <div class="slide"><img src="http://placehold.it/350x350&text=FooBar6"></div>
23
+ <div class="slide"><img src="http://placehold.it/350x350&text=FooBar7"></div>
24
+ <div class="slide"><img src="http://placehold.it/350x350&text=FooBar8"></div>
25
+ </div>
26
+
27
+ <h2>With shrinkItems set to false</h2>
28
+ <div id="demoSlider2" class="bxslider">
29
+ <div class="slide"><img src="http://placehold.it/350x350&text=FooBar1"></div>
30
+ <div class="slide"><img src="http://placehold.it/350x350&text=FooBar2"></div>
31
+ <div class="slide"><img src="http://placehold.it/350x350&text=FooBar3"></div>
32
+ <div class="slide"><img src="http://placehold.it/350x350&text=FooBar4"></div>
33
+ <div class="slide"><img src="http://placehold.it/350x350&text=FooBar5"></div>
34
+ <div class="slide"><img src="http://placehold.it/350x350&text=FooBar6"></div>
35
+ <div class="slide"><img src="http://placehold.it/350x350&text=FooBar7"></div>
36
+ <div class="slide"><img src="http://placehold.it/350x350&text=FooBar8"></div>
37
+ </div>
38
+
39
+ <h4>JS:</h4>
40
+ {{#markdown }}
41
+ ```$(document).ready(function(){
42
+ $('#demoSlider').bxSlider({
43
+ slideWidth: 350,
44
+ minSlides: 2,
45
+ maxSlides: 3,
46
+ slideMargin: 10,
47
+ shrinkItems: true
48
+ });
49
+ });
50
+ ```
51
+
52
+ <h4>HTML:</h4>
53
+ ```
54
+ <div id="demoSlider" class="bxslider">
55
+ <div class="slide"><img src="http://placehold.it/350x150&text=FooBar1"></div>
56
+ <div class="slide"><img src="http://placehold.it/350x150&text=FooBar2"></div>
57
+ <div class="slide"><img src="http://placehold.it/350x150&text=FooBar3"></div>
58
+ <div class="slide"><img src="http://placehold.it/350x150&text=FooBar4"></div>
59
+ <div class="slide"><img src="http://placehold.it/350x150&text=FooBar5"></div>
60
+ <div class="slide"><img src="http://placehold.it/350x150&text=FooBar6"></div>
61
+ <div class="slide"><img src="http://placehold.it/350x150&text=FooBar7"></div>
62
+ <div class="slide"><img src="http://placehold.it/350x150&text=FooBar8"></div>
63
+ <div class="slide"><img src="http://placehold.it/350x150&text=FooBar9"></div>
64
+ </div>
65
+ ```
66
+ {{/markdown}}
includes/libraries/bxslider-4/docs_src/templates/pages/demos/ticker.hbs ADDED
@@ -0,0 +1,89 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ title: Ticker Demo
3
+ subTitle: Ticker
4
+ description: Basic usage demo
5
+ sort: 13
6
+
7
+ tags:
8
+ - demo
9
+ ---
10
+
11
+ <h1>Ticker Mode - Horizontal</h1>
12
+ <div id="demoSlider1" class="bxslider">
13
+ <div class="item"><img src="{{assets}}/img/photo1.jpeg"></div>
14
+ <div class="item"><img src="{{assets}}/img/photo2.jpeg"></div>
15
+ <div class="item"><img src="{{assets}}/img/photo3.jpeg"></div>
16
+ <div class="item"><img src="{{assets}}/img/photo4.jpeg"></div>
17
+ <div class="item"><img src="{{assets}}/img/photo5.jpeg"></div>
18
+ <div class="item"><img src="{{assets}}/img/photo6.jpeg"></div>
19
+ </div>
20
+
21
+ {{#markdown }}
22
+
23
+ ### Setup
24
+ ```
25
+ $(document).ready(function(){
26
+ $('#demoSlider2').bxSlider({
27
+ minSlides: 4,
28
+ maxSlides: 4,
29
+ slideWidth: 170,
30
+ slideMargin: 10,
31
+ ticker: true,
32
+ tickerHover: true,
33
+ speed: 6000
34
+ });
35
+ });
36
+ ```
37
+ ### HTML
38
+ ```
39
+ <div id="demoSlider" class="bxslider">
40
+ <div class="item"><img src="{{assets}}/img/photo1.jpeg"></div>
41
+ <div class="item"><img src="{{assets}}/img/photo2.jpeg"></div>
42
+ <div class="item"><img src="{{assets}}/img/photo3.jpeg"></div>
43
+ <div class="item"><img src="{{assets}}/img/photo4.jpeg"></div>
44
+ <div class="item"><img src="{{assets}}/img/photo5.jpeg"></div>
45
+ <div class="item"><img src="{{assets}}/img/photo6.jpeg"></div>
46
+ </div>
47
+ ```
48
+
49
+ {{/markdown }}
50
+
51
+ <h1>Ticker Mode - Vertical</h1>
52
+ <div id="demoSlider2" class="bxslider">
53
+ <div class="item"><img src="{{assets}}/img/photo1.jpeg"></div>
54
+ <div class="item"><img src="{{assets}}/img/photo2.jpeg"></div>
55
+ <div class="item"><img src="{{assets}}/img/photo3.jpeg"></div>
56
+ <div class="item"><img src="{{assets}}/img/photo4.jpeg"></div>
57
+ <div class="item"><img src="{{assets}}/img/photo5.jpeg"></div>
58
+ <div class="item"><img src="{{assets}}/img/photo6.jpeg"></div>
59
+ </div>
60
+
61
+ {{#markdown }}
62
+
63
+ ### Setup
64
+ ```
65
+ $(document).ready(function(){
66
+ $('#demoSlider2').bxSlider({
67
+ minSlides: 4,
68
+ maxSlides: 4,
69
+ slideWidth: 170,
70
+ slideMargin: 10,
71
+ ticker: true,
72
+ tickerHover: true,
73
+ speed: 6000
74
+ });
75
+ });
76
+ ```
77
+ ### HTML
78
+ ```
79
+ <div id="demoSlider" class="bxslider">
80
+ <div class="item"><img src="{{assets}}/img/photo1.jpeg"></div>
81
+ <div class="item"><img src="{{assets}}/img/photo2.jpeg"></div>
82
+ <div class="item"><img src="{{assets}}/img/photo3.jpeg"></div>
83
+ <div class="item"><img src="{{assets}}/img/photo4.jpeg"></div>
84
+ <div class="item"><img src="{{assets}}/img/photo5.jpeg"></div>
85
+ <div class="item"><img src="{{assets}}/img/photo6.jpeg"></div>
86
+ </div>
87
+ ```
88
+
89
+ {{/markdown }}
includes/libraries/bxslider-4/docs_src/templates/pages/demos/touch.hbs ADDED
@@ -0,0 +1,44 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ title: Touch Demo
3
+ subTitle: Touch
4
+ description: Touch usage demo
5
+ sort: 12
6
+
7
+ tags:
8
+ - demo
9
+ ---
10
+
11
+ <h1>Touch</h1>
12
+
13
+ <p>This demonstrates some of the touch features.</p>
14
+
15
+ <div id="demoSlider" class="bxslider">
16
+ <div class="item"><img src="{{assets}}/img/photo1.jpeg"></div>
17
+ <div class="item"><img src="{{assets}}/img/photo2.jpeg"></div>
18
+ <div class="item"><img src="{{assets}}/img/photo3.jpeg"></div>
19
+ <div class="item"><img src="{{assets}}/img/photo4.jpeg"></div>
20
+ <div class="item"><img src="{{assets}}/img/photo5.jpeg"></div>
21
+ <div class="item"><img src="{{assets}}/img/photo6.jpeg"></div>
22
+ </div>
23
+
24
+ <h4>JS:</h4>
25
+ {{#markdown }}
26
+ ```$(document).ready(function(){
27
+ $('#demoSlider').bxSlider({
28
+ preventDefaultSwipeX: true
29
+ });
30
+ });
31
+ ```
32
+
33
+ <h4>HTML:</h4>
34
+ ```
35
+ <div id="demoSlider" class="bxslider">
36
+ <div class="item"><img src="{{assets}}/img/photo1.jpeg"></div>
37
+ <div class="item"><img src="{{assets}}/img/photo2.jpeg"></div>
38
+ <div class="item"><img src="{{assets}}/img/photo3.jpeg"></div>
39
+ <div class="item"><img src="{{assets}}/img/photo4.jpeg"></div>
40
+ <div class="item"><img src="{{assets}}/img/photo5.jpeg"></div>
41
+ <div class="item"><img src="{{assets}}/img/photo6.jpeg"></div>
42
+ </div>
43
+ ```
44
+ {{/markdown}}
includes/libraries/bxslider-4/docs_src/templates/pages/demos/vertical.hbs ADDED
@@ -0,0 +1,45 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ title: Vertical Demo
3
+ subTitle: Vertical
4
+ description: Vertical usage demo
5
+ sort: 2
6
+
7
+ tags:
8
+ - demo
9
+ ---
10
+
11
+ <div id="demoSlider" class="bxslider">
12
+ <div class="item"><img src="{{assets}}/img/photo1.jpeg"></div>
13
+ <div class="item"><img src="{{assets}}/img/photo2.jpeg"></div>
14
+ <div class="item"><img src="{{assets}}/img/photo3.jpeg"></div>
15
+ <div class="item"><img src="{{assets}}/img/photo4.jpeg"></div>
16
+ <div class="item"><img src="{{assets}}/img/photo5.jpeg"></div>
17
+ <div class="item"><img src="{{assets}}/img/photo6.jpeg"></div>
18
+ </div>
19
+
20
+ {{#markdown }}
21
+
22
+ ### Setup
23
+ ```
24
+ $(document).ready(function(){
25
+ $('#demoSlider').bxSlider({
26
+ mode: 'vertical',
27
+ slideWidth: 400,
28
+ minSlides: 3,
29
+ moveSlides: 1
30
+ });
31
+ });
32
+ ```
33
+ ### HTML
34
+ ```
35
+ <div id="demoSlider" class="bxslider">
36
+ <div class="item"><img src="{{assets}}/img/photo1.jpeg"></div>
37
+ <div class="item"><img src="{{assets}}/img/photo2.jpeg"></div>
38
+ <div class="item"><img src="{{assets}}/img/photo3.jpeg"></div>
39
+ <div class="item"><img src="{{assets}}/img/photo4.jpeg"></div>
40
+ <div class="item"><img src="{{assets}}/img/photo5.jpeg"></div>
41
+ <div class="item"><img src="{{assets}}/img/photo6.jpeg"></div>
42
+ </div>
43
+ ```
44
+
45
+ {{/markdown }}
includes/libraries/bxslider-4/docs_src/templates/pages/docs/options.hbs ADDED
@@ -0,0 +1,624 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ title: Options
3
+ nav: docs
4
+ description: bxSlider Documentation
5
+ ---
6
+ <h1>Options</h1>
7
+ <p class="intro">No two projects are the same. That is why bxSlider is packed full of options that allow the slider to adapt to the project’s specific needs. Check the <a href="/examples">examples</a> page for detailed implementations.</p>
8
+
9
+ <div class="category-wrap">
10
+ <h2>General</h2>
11
+
12
+ <div class="option-name" id="mode">mode</div>
13
+ <div class="option-desc">Type of transition between slides</div>
14
+
15
+ <pre><code class="http">default: 'horizontal'
16
+ options: 'horizontal', 'vertical', 'fade'
17
+ </code></pre>
18
+
19
+
20
+
21
+ <div class="option-name" id="speed">speed</div>
22
+ <div class="option-desc">Slide transition duration (in ms)</div>
23
+
24
+ <pre><code class="http">default: 500
25
+ options: integer
26
+ </code></pre>
27
+
28
+
29
+
30
+ <div class="option-name" id="slideMargin">slideMargin</div>
31
+ <div class="option-desc">Margin between each slide</div>
32
+
33
+ <pre><code class="http">default: 0
34
+ options: integer
35
+ </code></pre>
36
+
37
+
38
+
39
+ <div class="option-name" id="startSlide">startSlide</div>
40
+ <div class="option-desc">Starting slide index (zero-based)</div>
41
+
42
+ <pre><code class="http">default: 0
43
+ options: integer
44
+ </code></pre>
45
+
46
+
47
+
48
+ <div class="option-name" id="randomStart">randomStart</div>
49
+ <div class="option-desc">Start slider on a random slide</div>
50
+
51
+ <pre><code class="http">default: false
52
+ options: boolean (true / false)
53
+ </code></pre>
54
+
55
+
56
+
57
+ <div class="option-name" id="slideSelector">slideSelector</div>
58
+ <div class="option-desc">Element to use as slides (ex. <code class="http">'div.slide'</code>).<br />Note: by default, bxSlider will use all immediate children of the slider element</div>
59
+
60
+ <pre><code class="http">default: ''
61
+ options: jQuery selector
62
+ </code></pre>
63
+
64
+
65
+
66
+ <div class="option-name" id="infiniteLoop">infiniteLoop</div>
67
+ <div class="option-desc">If <code class="http">true</code>, clicking "Next" while on the last slide will transition to the first slide and vice-versa</div>
68
+
69
+ <pre><code class="http">default: true
70
+ options: boolean (true / false)
71
+ </code></pre>
72
+
73
+
74
+
75
+ <div class="option-name" id="hideControlOnEnd">hideControlOnEnd</div>
76
+ <div class="option-desc">If <code class="http">true</code>, "Next" control will be hidden on last slide and vice-versa<br/>Note: Only used when <code class="http">infiniteLoop: false</code></div>
77
+
78
+ <pre><code class="http">default: false
79
+ options: boolean (true / false)
80
+ </code></pre>
81
+
82
+
83
+
84
+ <div class="option-name" id="easing">easing</div>
85
+ <div class="option-desc">The type of "easing" to use during transitions. If using CSS transitions, include a value for the <code class="http">transition-timing-function</code> property. If not using CSS transitions, you may include <code class="http">plugins/jquery.easing.1.3.js</code> for many options.<br />See <a href="http://gsgd.co.uk/sandbox/jquery/easing/" target="_blank">http://gsgd.co.uk/sandbox/jquery/easing/</a> for more info.</div>
86
+
87
+ <pre><code class="http">default: null
88
+ options: if using CSS: 'linear', 'ease', 'ease-in', 'ease-out', 'ease-in-out', 'cubic-bezier(n,n,n,n)'. If not using CSS: 'swing', 'linear' (see the above file for more options)
89
+ </code></pre>
90
+
91
+
92
+
93
+ <div class="option-name" id="captions">captions</div>
94
+ <div class="option-desc">Include image captions. Captions are derived from the image's <code class="http">title</code> attribute</div>
95
+
96
+ <pre><code class="http">default: false
97
+ options: boolean (true / false)
98
+ </code></pre>
99
+
100
+
101
+
102
+ <div class="option-name" id="ticker">ticker</div>
103
+ <div class="option-desc">Use slider in ticker mode (similar to a news ticker)</div>
104
+
105
+ <pre><code class="http">default: false
106
+ options: boolean (true / false)
107
+ </code></pre>
108
+
109
+
110
+
111
+ <div class="option-name" id="tickerHover">tickerHover</div>
112
+ <div class="option-desc">Ticker will pause when mouse hovers over slider. Note: this functionality does NOT work if using CSS transitions!</div>
113
+
114
+ <pre><code class="http">default: false
115
+ options: boolean (true / false)
116
+ </code></pre>
117
+
118
+
119
+
120
+ <div class="option-name" id="adaptiveHeight">adaptiveHeight</div>
121
+ <div class="option-desc">Dynamically adjust slider height based on each slide's height</div>
122
+
123
+ <pre><code class="http">default: false
124
+ options: boolean (true / false)
125
+ </code></pre>
126
+
127
+
128
+
129
+ <div class="option-name" id="adaptiveHeightSpeed">adaptiveHeightSpeed</div>
130
+ <div class="option-desc">Slide height transition duration (in ms). Note: only used if <code class="http">adaptiveHeight: true</code></div>
131
+
132
+ <pre><code class="http">default: 500
133
+ options: integer
134
+ </code></pre>
135
+
136
+
137
+
138
+ <div class="option-name" id="video">video</div>
139
+ <div class="option-desc">If any slides contain video, set this to <code class="http">true</code>. Also, include <code class="http">plugins/jquery.fitvids.js</code><br />See <a href="http://fitvidsjs.com/" target="_blank">http://fitvidsjs.com/</a> for more info</div>
140
+
141
+ <pre><code class="http">default: false
142
+ options: boolean (true / false)
143
+ </code></pre>
144
+
145
+
146
+
147
+ <div class="option-name" id="responsive">responsive</div>
148
+ <div class="option-desc">Enable or disable auto resize of the slider. Useful if you need to use fixed width sliders.</div>
149
+
150
+ <pre><code class="http">default: true
151
+ options: boolean (true / false)
152
+ </code></pre>
153
+
154
+
155
+
156
+ <div class="option-name" id="useCSS">useCSS</div>
157
+ <div class="option-desc">If true, CSS transitions will be used for horizontal and vertical slide animations (this uses native hardware acceleration). If false, jQuery animate() will be used.</div>
158
+
159
+ <pre><code class="http">default: true
160
+ options: boolean (true / false)
161
+ </code></pre>
162
+
163
+
164
+
165
+ <div class="option-name" id="preloadImages">preloadImages</div>
166
+ <div class="option-desc">If 'all', preloads all images before starting the slider. If 'visible', preloads only images in the initially visible slides before starting the slider (tip: use 'visible' if all slides are identical dimensions)</div>
167
+
168
+ <pre><code class="http">default: visible
169
+ options: 'all', 'visible'
170
+ </code></pre>
171
+
172
+
173
+
174
+ <div class="option-name" id="touchEnabled">touchEnabled</div>
175
+ <div class="option-desc">If <code class="http">true</code>, slider will allow touch swipe transitions</div>
176
+
177
+ <pre><code class="http">default: true
178
+ options: boolean (true / false)
179
+ </code></pre>
180
+
181
+
182
+
183
+ <div class="option-name" id="swipeThreshold">swipeThreshold</div>
184
+ <div class="option-desc">Amount of pixels a touch swipe needs to exceed in order to execute a slide transition. Note: only used if <code class="http">touchEnabled: true</code></div>
185
+
186
+ <pre><code class="http">default: 50
187
+ options: integer
188
+ </code></pre>
189
+
190
+
191
+
192
+ <div class="option-name" id="oneToOneTouch">oneToOneTouch</div>
193
+ <div class="option-desc">If <code class="http">true</code>, non-fade slides follow the finger as it swipes</div>
194
+
195
+ <pre><code class="http">default: true
196
+ options: boolean (true / false)
197
+ </code></pre>
198
+
199
+
200
+
201
+ <div class="option-name" id="preventDefaultSwipeX">preventDefaultSwipeX</div>
202
+ <div class="option-desc">If <code class="http">true</code>, touch screen will not move along the x-axis as the finger swipes</div>
203
+
204
+ <pre><code class="http">default: true
205
+ options: boolean (true / false)
206
+ </code></pre>
207
+
208
+
209
+
210
+ <div class="option-name" id="preventDefaultSwipeY">preventDefaultSwipeY</div>
211
+ <div class="option-desc">If <code class="http">true</code>, touch screen will not move along the y-axis as the finger swipes</div>
212
+
213
+ <pre><code class="http">default: false
214
+ options: boolean (true / false)
215
+ </code></pre>
216
+
217
+
218
+
219
+ </div>
220
+ <div class="category-wrap">
221
+ <h2>Pager</h2>
222
+
223
+ <div class="option-name" id="pager">pager</div>
224
+ <div class="option-desc">If <code class="http">true</code>, a pager will be added</div>
225
+
226
+ <pre><code class="http">default: true
227
+ options: boolean (true / false)
228
+ </code></pre>
229
+
230
+
231
+
232
+ <div class="option-name" id="pagerType">pagerType</div>
233
+ <div class="option-desc">If <code class="http">'full'</code>, a pager link will be generated for each slide. If <code class="http">'short'</code>, a x / y pager will be used (ex. 1 / 5)</div>
234
+
235
+ <pre><code class="http">default: 'full'
236
+ options: 'full', 'short'
237
+ </code></pre>
238
+
239
+
240
+
241
+ <div class="option-name" id="pagerShortSeparator">pagerShortSeparator</div>
242
+ <div class="option-desc">If <code class="http">pagerType: 'short'</code>, pager will use this value as the separating character</div>
243
+
244
+ <pre><code class="http">default: ' / '
245
+ options: string
246
+ </code></pre>
247
+
248
+
249
+
250
+ <div class="option-name" id="pagerSelector">pagerSelector</div>
251
+ <div class="option-desc">Element used to populate the populate the pager. By default, the pager is appended to the bx-viewport</div>
252
+
253
+ <pre><code class="http">default: ''
254
+ options: jQuery selector
255
+ </code></pre>
256
+
257
+
258
+
259
+ <div class="option-name" id="pagerCustom">pagerCustom</div>
260
+ <div class="option-desc">Parent element to be used as the pager. Parent element must contain a <code class="http">&lt;a data-slide-index="x"&gt;</code> element for each slide. See example <a href="/examples/thumbnail-method-1">here</a>. Not for use with dynamic carousels.</div>
261
+
262
+ <pre><code class="http">default: null
263
+ options: jQuery selector
264
+ </code></pre>
265
+
266
+
267
+
268
+ <div class="option-name" id="buildPager">buildPager</div>
269
+ <div class="option-desc">If supplied, function is called on every slide element, and the returned value is used as the pager item markup.<br />See <a href="http://bxslider.com/examples">examples</a> for detailed implementation</div>
270
+
271
+ <pre><code class="http">default: null
272
+ options: function(slideIndex)
273
+ </code></pre>
274
+
275
+
276
+
277
+ </div>
278
+ <div class="category-wrap">
279
+ <h2>Controls</h2>
280
+
281
+ <div class="option-name" id="controls">controls</div>
282
+ <div class="option-desc">If <code class="http">true</code>, "Next" / "Prev" controls will be added</div>
283
+
284
+ <pre><code class="http">default: true
285
+ options: boolean (true / false)
286
+ </code></pre>
287
+
288
+
289
+
290
+ <div class="option-name" id="nextText">nextText</div>
291
+ <div class="option-desc">Text to be used for the "Next" control</div>
292
+
293
+ <pre><code class="http">default: 'Next'
294
+ options: string
295
+ </code></pre>
296
+
297
+
298
+
299
+ <div class="option-name" id="prevText">prevText</div>
300
+ <div class="option-desc">Text to be used for the "Prev" control</div>
301
+
302
+ <pre><code class="http">default: 'Prev'
303
+ options: string
304
+ </code></pre>
305
+
306
+
307
+
308
+ <div class="option-name" id="nextSelector">nextSelector</div>
309
+ <div class="option-desc">Element used to populate the "Next" control</div>
310
+
311
+ <pre><code class="http">default: null
312
+ options: jQuery selector
313
+ </code></pre>
314
+
315
+
316
+
317
+ <div class="option-name" id="prevSelector">prevSelector</div>
318
+ <div class="option-desc">Element used to populate the "Prev" control</div>
319
+
320
+ <pre><code class="http">default: null
321
+ options: jQuery selector
322
+ </code></pre>
323
+
324
+
325
+
326
+ <div class="option-name" id="autoControls">autoControls</div>
327
+ <div class="option-desc">If <code class="http">true</code>, "Start" / "Stop" controls will be added</div>
328
+
329
+ <pre><code class="http">default: false
330
+ options: boolean (true / false)
331
+ </code></pre>
332
+
333
+
334
+
335
+ <div class="option-name" id="startText">startText</div>
336
+ <div class="option-desc">Text to be used for the "Start" control</div>
337
+
338
+ <pre><code class="http">default: 'Start'
339
+ options: string
340
+ </code></pre>
341
+
342
+
343
+
344
+ <div class="option-name" id="stopText">stopText</div>
345
+ <div class="option-desc">Text to be used for the "Stop" control</div>
346
+
347
+ <pre><code class="http">default: 'Stop'
348
+ options: string
349
+ </code></pre>
350
+
351
+
352
+
353
+ <div class="option-name" id="autoControlsCombine">autoControlsCombine</div>
354
+ <div class="option-desc">When slideshow is playing only "Stop" control is displayed and vice-versa</div>
355
+
356
+ <pre><code class="http">default: false
357
+ options: boolean (true / false)
358
+ </code></pre>
359
+
360
+
361
+
362
+ <div class="option-name" id="autoControlsSelector">autoControlsSelector</div>
363
+ <div class="option-desc">Element used to populate the auto controls</div>
364
+
365
+ <pre><code class="http">default: null
366
+ options: jQuery selector
367
+ </code></pre>
368
+
369
+
370
+
371
+ </div>
372
+ <div class="category-wrap">
373
+ <h2>Auto</h2>
374
+
375
+ <div class="option-name" id="auto">auto</div>
376
+ <div class="option-desc">Slides will automatically transition</div>
377
+
378
+ <pre><code class="http">default: false
379
+ options: boolean (true / false)
380
+ </code></pre>
381
+
382
+
383
+
384
+ <div class="option-name" id="pause">pause</div>
385
+ <div class="option-desc">The amount of time (in ms) between each auto transition</div>
386
+
387
+ <pre><code class="http">default: 4000
388
+ options: integer
389
+ </code></pre>
390
+
391
+
392
+
393
+ <div class="option-name" id="autoStart">autoStart</div>
394
+ <div class="option-desc">Auto show starts playing on load. If <code class="http">false</code>, slideshow will start when the "Start" control is clicked</div>
395
+
396
+ <pre><code class="http">default: true
397
+ options: boolean (true / false)
398
+ </code></pre>
399
+
400
+
401
+
402
+ <div class="option-name" id="autoDirection">autoDirection</div>
403
+ <div class="option-desc">The direction of auto show slide transitions</div>
404
+
405
+ <pre><code class="http">default: 'next'
406
+ options: 'next', 'prev'
407
+ </code></pre>
408
+
409
+
410
+
411
+ <div class="option-name" id="autoHover">autoHover</div>
412
+ <div class="option-desc">Auto show will pause when mouse hovers over slider</div>
413
+
414
+ <pre><code class="http">default: false
415
+ options: boolean (true / false)
416
+ </code></pre>
417
+
418
+
419
+
420
+ <div class="option-name" id="autoDelay">autoDelay</div>
421
+ <div class="option-desc">Time (in ms) auto show should wait before starting</div>
422
+
423
+ <pre><code class="http">default: 0
424
+ options: integer
425
+ </code></pre>
426
+
427
+
428
+
429
+ </div>
430
+ <div class="category-wrap">
431
+ <h2>Carousel</h2>
432
+
433
+ <div class="option-name" id="minSlides">minSlides</div>
434
+ <div class="option-desc">The minimum number of slides to be shown. Slides will be sized down if carousel becomes smaller than the original size.</div>
435
+
436
+ <pre><code class="http">default: 1
437
+ options: integer
438
+ </code></pre>
439
+
440
+
441
+
442
+ <div class="option-name" id="maxSlides">maxSlides</div>
443
+ <div class="option-desc">The maximum number of slides to be shown. Slides will be sized up if carousel becomes larger than the original size.</div>
444
+
445
+ <pre><code class="http">default: 1
446
+ options: integer
447
+ </code></pre>
448
+
449
+
450
+
451
+ <div class="option-name" id="moveSlides">moveSlides</div>
452
+ <div class="option-desc">The number of slides to move on transition. This value must be <code class="http">>= minSlides</code>, and <code class="http"><= maxSlides</code>. If zero (default), the number of fully-visible slides will be used.</div>
453
+
454
+ <pre><code class="http">default: 0
455
+ options: integer
456
+ </code></pre>
457
+
458
+
459
+
460
+ <div class="option-name" id="slideWidth">slideWidth</div>
461
+ <div class="option-desc">The width of each slide. This setting is required for all horizontal carousels!</div>
462
+
463
+ <pre><code class="http">default: 0
464
+ options: integer
465
+ </code></pre>
466
+
467
+
468
+
469
+ </div>
470
+ <div class="category-wrap">
471
+ <h2>Callbacks</h2>
472
+
473
+ <div class="option-name" id="onSliderLoad">onSliderLoad</div>
474
+ <div class="option-desc">Executes immediately after the slider is fully loaded</div>
475
+
476
+ <pre><code class="javascript">default: function(){return true;}
477
+ options: function(el, currentIndex){ // your code here }
478
+ arguments:
479
+ el: slider element
480
+ currentIndex: element index of the current slide
481
+ </code></pre>
482
+
483
+
484
+
485
+ <div class="option-name" id="onSlideBefore">onSlideBefore</div>
486
+ <div class="option-desc">Executes immediately before each slide transition.</div>
487
+
488
+ <pre><code class="javascript">default: function(){return true;}
489
+ options: function(el, $slideElement, oldIndex, newIndex){ // your code here }
490
+ arguments:
491
+ el: slider element
492
+ $slideElement: jQuery element of the destination element
493
+ oldIndex: element index of the previous slide (before the transition)
494
+ newIndex: element index of the destination slide (after the transition)
495
+ </code></pre>
496
+
497
+
498
+
499
+ <div class="option-name" id="onSlideAfter">onSlideAfter</div>
500
+ <div class="option-desc">Executes immediately after each slide transition. Function argument is the current slide element (when transition completes).</div>
501
+
502
+ <pre><code class="javascript">default: function(){return true;}
503
+ options: function(el, $slideElement, oldIndex, newIndex){ // your code here }
504
+ arguments:
505
+ el: slider element
506
+ $slideElement: jQuery element of the destination element
507
+ oldIndex: element index of the previous slide (before the transition)
508
+ newIndex: element index of the destination slide (after the transition)
509
+ </code></pre>
510
+
511
+
512
+
513
+ <div class="option-name" id="onSlideNext">onSlideNext</div>
514
+ <div class="option-desc">Executes immediately before each "Next" slide transition. Function argument is the target (next) slide element.</div>
515
+
516
+ <pre><code class="javascript">default: function(){return true;}
517
+ options: function(el, $slideElement, oldIndex, newIndex){ // your code here }
518
+ arguments:
519
+ el: slider element
520
+ $slideElement: jQuery element of the destination element
521
+ oldIndex: element index of the previous slide (before the transition)
522
+ newIndex: element index of the destination slide (after the transition)
523
+ </code></pre>
524
+
525
+
526
+
527
+ <div class="option-name" id="onSlidePrev">onSlidePrev</div>
528
+ <div class="option-desc">Executes immediately before each "Prev" slide transition. Function argument is the target (prev) slide element.</div>
529
+
530
+ <pre><code class="javascript">default: function(){return true;}
531
+ options: function(el, $slideElement, oldIndex, newIndex){ // your code here }
532
+ arguments:
533
+ el: slider element
534
+ $slideElement: jQuery element of the destination element
535
+ oldIndex: element index of the previous slide (before the transition)
536
+ newIndex: element index of the destination slide (after the transition)
537
+ </code></pre>
538
+
539
+
540
+
541
+ </div>
542
+ <div class="category-wrap">
543
+ <h2>Public methods</h2>
544
+
545
+ <div class="option-name" id="goToSlide">goToSlide</div>
546
+ <div class="option-desc">Performs a slide transition to the supplied slide index (zero-based)</div>
547
+
548
+ <pre><code class="javascript">example:
549
+ slider = $('.bxslider').bxSlider();
550
+ slider.goToSlide(3);</code></pre>
551
+
552
+
553
+
554
+ <div class="option-name" id="goToNextSlide">goToNextSlide</div>
555
+ <div class="option-desc">Performs a "Next" slide transition</div>
556
+
557
+ <pre><code class="javascript">example:
558
+ slider = $('.bxslider').bxSlider();
559
+ slider.goToNextSlide();</code></pre>
560
+
561
+
562
+
563
+ <div class="option-name" id="goToPrevSlide">goToPrevSlide</div>
564
+ <div class="option-desc">Performs a "Prev" slide transition</div>
565
+
566
+ <pre><code class="javascript">example:
567
+ slider = $('.bxslider').bxSlider();
568
+ slider.goToPrevSlide();</code></pre>
569
+
570
+
571
+
572
+ <div class="option-name" id="startAuto">startAuto</div>
573
+ <div class="option-desc">Starts the auto show. Provide an argument <code class="http">false</code> to prevent the auto controls from being updated.</div>
574
+
575
+ <pre><code class="javascript">example:
576
+ slider = $('.bxslider').bxSlider();
577
+ slider.startAuto();</code></pre>
578
+
579
+
580
+
581
+ <div class="option-name" id="stopAuto">stopAuto</div>
582
+ <div class="option-desc">Stops the auto show. Provide an argument <code class="http">false</code> to prevent the auto controls from being updated.</div>
583
+
584
+ <pre><code class="javascript">example:
585
+ slider = $('.bxslider').bxSlider();
586
+ slider.stopAuto();</code></pre>
587
+
588
+
589
+
590
+ <div class="option-name" id="getCurrentSlide">getCurrentSlide</div>
591
+ <div class="option-desc">Returns the current active slide</div>
592
+
593
+ <pre><code class="javascript">example:
594
+ slider = $('.bxslider').bxSlider();
595
+ var current = slider.getCurrentSlide();</code></pre>
596
+
597
+
598
+
599
+ <div class="option-name" id="getSlideCount">getSlideCount</div>
600
+ <div class="option-desc">Returns the total number of slides in the slider</div>
601
+
602
+ <pre><code class="javascript">example:
603
+ slider = $('.bxslider').bxSlider();
604
+ var slideQty = slider.getSlideCount();</code></pre>
605
+
606
+
607
+
608
+ <div class="option-name" id="reloadSlider">reloadSlider</div>
609
+ <div class="option-desc">Reload the slider. Useful when adding slides on the fly. Accepts an optional settings object. <a href="/examples/reload-slider-settings">See here for an example.</a></div>
610
+
611
+ <pre><code class="javascript">example:
612
+ slider = $('.bxslider').bxSlider();
613
+ slider.reloadSlider();</code></pre>
614
+
615
+
616
+
617
+ <div class="option-name" id="destroySlider">destroySlider</div>
618
+ <div class="option-desc">Destroy the slider. This reverts all slider elements back to their original state (before calling the slider).</div>
619
+
620
+ <pre><code class="javascript">example:
621
+ slider = $('.bxslider').bxSlider();
622
+ slider.destroySlider();</code></pre>
623
+
624
+
includes/libraries/bxslider-4/docs_src/templates/pages/index.hbs ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
1
+ ---
2
+ title: Home
3
+ nav: home
4
+ lead: bxSlider Documentation
5
+ tagline: The Responsive jQuery Content Slider
6
+ ---
7
+
8
+
includes/libraries/bxslider-4/docs_src/templates/partials/footer.hbs ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <footer class="container-fluid footer">
2
+ <div class="row">
3
+ <div class="container">
4
+ <div class="row">
5
+ <div class="col-sm-12">
6
+ <p>Designed and built by:</p>
7
+ <h4>Steven Wanderski - <a href="http://stevenwanderski.com" target="_blank">Chicago web developer</a></h4>
8
+ <h4>Eric Wafford - <a href="http://tidalwaveagency.com.com" target="_blank">Dallas web developer</a></h4>
9
+ </div>
10
+ </div>
11
+ </div>
12
+ </div>
13
+ </footer>
14
+
includes/libraries/bxslider-4/docs_src/templates/partials/head.hbs ADDED
@@ -0,0 +1,25 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <meta charset="utf-8">
2
+ <meta name="msapplication-tap-highlight" content="no"/>
3
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
4
+
5
+ <meta name="description" content="{{default description pkg.description}}">
6
+ <meta name="author" content="{{ pkg.author.name }}">
7
+
8
+ <title>
9
+ {{default title page.basename }} | {{ app.title }} | {{ pkg.version }}
10
+ </title>
11
+
12
+
13
+ <!-- Stylesheets -->
14
+ <link href='http://fonts.googleapis.com/css?family=Lato:300,400,700,400italic,300italic' rel='stylesheet' type='text/css'>
15
+ <link rel="stylesheet" href="{{assets}}/css/docs.min.css">
16
+ <link rel="stylesheet" href="{{assets}}/css/styles/github.css">
17
+
18
+ <!-- bxSlider Stylesheets -->
19
+ <link rel="stylesheet" href="{{assets}}/bxslider/jquery.bxslider.css">
20
+
21
+ <!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
22
+ <!--[if lt IE 9]>
23
+ <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
24
+ <script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
25
+ <![endif]-->
includes/libraries/bxslider-4/docs_src/templates/partials/header.hbs ADDED
@@ -0,0 +1,29 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <nav class="navbar navbar-default">
2
+ <div class="container-fluid">
3
+ <!-- Brand and toggle get grouped for better mobile display -->
4
+ <div class="navbar-header">
5
+ <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navigation">
6
+ <span class="sr-only">Toggle navigation</span>
7
+ <span class="icon-bar"></span>
8
+ <span class="icon-bar"></span>
9
+ <span class="icon-bar"></span>
10
+ </button>
11
+ <a class="navbar-brand" href="/"><img class="bx-logo" src="{{assets}}/img/bx-logo.png" alt="bxSlider"></a>
12
+ </div>
13
+
14
+ <!-- Collect the nav links, forms, and other content for toggling -->
15
+ <div class="collapse navbar-collapse" id="navigation">
16
+ <ul class="nav navbar-nav">
17
+ <li{{#is nav "home"}} class="active"{{/is}}>
18
+ <a href="{{mybaseDir}}/index.html">Home</a>
19
+ </li>
20
+ <li{{#is nav "demos"}} class="active"{{/is}}>
21
+ <a href="{{mybaseDir}}/demos/demos.html">Demos</a>
22
+ </li>
23
+ <li{{#is nav "docs"}} class="active"{{/is}}>
24
+ <a href="{{mybaseDir}}/docs/options.html">Docs</a>
25
+ </li>
26
+ </ul>
27
+ </div><!-- /.navbar-collapse -->
28
+ </div><!-- /.container-fluid -->
29
+ </nav>
includes/libraries/bxslider-4/docs_src/templates/partials/home-carousel.hbs ADDED
@@ -0,0 +1,16 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ <div class="container home-demo">
3
+ <div class="row">
4
+ <div class="col-sm-12">
5
+ <h3>Demo</h3>
6
+ <div id="demoSlider" class="bxslider">
7
+ <div class="item"><img src="{{assets}}/img/photo1.jpeg"></div>
8
+ <div class="item"><img src="{{assets}}/img/photo2.jpeg"></div>
9
+ <div class="item"><img src="{{assets}}/img/photo3.jpeg"></div>
10
+ <div class="item"><img src="{{assets}}/img/photo4.jpeg"></div>
11
+ <div class="item"><img src="{{assets}}/img/photo5.jpeg"></div>
12
+ <div class="item"><img src="{{assets}}/img/photo6.jpeg"></div>
13
+ </div>
14
+ </div>
15
+ </div>
16
+ </div>
includes/libraries/bxslider-4/docs_src/templates/partials/home-features.hbs ADDED
@@ -0,0 +1,62 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <div class="container" id="features">
2
+ <div class="row">
3
+ <div class="col-sm-12 col-md-8">
4
+ <h2>Why should I use this slider?</h2>
5
+ <ul>
6
+ <li>Fully responsive - will adapt to any device</li>
7
+ <li>Horizontal, vertical, and fade modes</li>
8
+ <li>Slides can contain images, video, or HTML content</li>
9
+ <li>Advanced touch / swipe support built-in</li>
10
+ <li>Uses CSS transitions for slide animation (native hardware acceleration!)</li>
11
+ <li>Full callback API and public methods</li>
12
+ <li>Small file size, fully themed, simple to implement</li>
13
+ <li>Browser support: Firefox, Chrome, Safari, iOS, Android, IE7+</li>
14
+ <li>Tons of configuration options</li>
15
+ </ul>
16
+
17
+
18
+ <h2>How to install</h2>
19
+ <div class="step">
20
+ <h3>Step 1: Link required files</h3>
21
+ <p>First and most important, the jQuery library needs to be included (no need to download - link directly from Google). Next, download the package from this site and link the bxSlider CSS file (for the theme) and the bxSlider Javascript file.</p>
22
+ {{#markdown }}
23
+ ```
24
+ <!-- jQuery library (served from Google) -->
25
+ <script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
26
+ <!-- bxSlider Javascript file -->
27
+ <script src="/js/jquery.bxslider.min.js"></script>
28
+ <!-- bxSlider CSS file -->
29
+ <link href="/lib/jquery.bxslider.css" rel="stylesheet" />
30
+ ```
31
+ {{/markdown }}
32
+ </div>
33
+ <div class="step">
34
+ <h3>Step 2: Create HTML markup</h3>
35
+ <p>Create a <code>&lt;ul class="bxslider"&gt;</code> element, with a <code>&lt;li&gt;</code> for each slide. Slides can contain images, video, or any other HTML content!</p>
36
+ {{#markdown }}
37
+ ```
38
+ <ul class="bxslider">
39
+ <li><img src="/images/pic1.jpg" /></li>
40
+ <li><img src="/images/pic2.jpg" /></li>
41
+ <li><img src="/images/pic3.jpg" /></li>
42
+ <li><img src="/images/pic4.jpg" /></li>
43
+ </ul>
44
+ ```
45
+ {{/markdown }}
46
+ </div>
47
+ <div class="step">
48
+ <h3>Step 3: Call the bxSlider</h3>
49
+ <p>Call .bxslider() on <code>&lt;ul class="bxslider"&gt;</code>. Note that the call must be made inside of a $(document).ready() call, or the plugin will not work!</p>
50
+ {{#markdown }}
51
+ ```
52
+ $(document).ready(function(){
53
+ $('.bxslider').bxSlider();
54
+ });
55
+ ```
56
+ {{/markdown }}
57
+ </div>
58
+
59
+ <p>Check the examples and docs for more information on installation and customization</p>
60
+ </div>
61
+ </div>
62
+ </div>
includes/libraries/bxslider-4/docs_src/templates/partials/home-hero.hbs ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
1
+ <section class="container" id="hero">
2
+ <div class="row">
3
+ <div class="col-md-8">
4
+ <h1>{{ lead }}</h1>
5
+ <h4>{{ tagline }}</h4>
6
+ <a href="{{ pkg.homepage }}" class="btn btn-outline">Homepage</a> <a href="https://github.com/stevenwanderski/bxslider-4/" class="btn btn-outline">Github</a>
7
+ <p class="sub-lead">Current Version: <span class="version">{{ pkg.version }}</span></p>
8
+ </div>
9
+ </div>
10
+ </section>
includes/libraries/bxslider-4/docs_src/templates/partials/javascripts.hbs ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
1
+ <script src="{{assets}}/vendors/jquery.min.js"></script>
2
+ <script src="{{assets}}/js/vendor.js"></script>
3
+ <script src="{{assets}}/bxslider/jquery.bxslider.js"></script>
4
+ <script src="{{assets}}/js/app.js"></script>
5
+
6
+ <script>hljs.initHighlightingOnLoad();</script>
7
+
includes/libraries/bxslider-4/docs_src/templates/partials/title.hbs ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
1
+ <section class="title container">
2
+ <div class="row">
3
+ <div class="col-lg-12">
4
+ <h1>{{ subTitle }}</h1>
5
+ </div>
6
+ </div>
7
+ </section>
includes/libraries/bxslider-4/src/css/jquery.bxslider.css ADDED
@@ -0,0 +1,176 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /** VARIABLES
2
+ ===================================*/
3
+ /** RESET AND LAYOUT
4
+ ===================================*/
5
+ .bx-wrapper {
6
+ position: relative;
7
+ margin: 0 auto 60px;
8
+ padding: 0;
9
+ *zoom: 1;
10
+ -ms-touch-action: pan-y;
11
+ touch-action: pan-y;
12
+ }
13
+ .bx-wrapper img {
14
+ max-width: 100%;
15
+ display: block;
16
+ }
17
+ .bxslider {
18
+ margin: 0;
19
+ padding: 0;
20
+ }
21
+ ul.bxslider {
22
+ list-style: none;
23
+ }
24
+ .bx-viewport {
25
+ /*fix other elements on the page moving (on Chrome)*/
26
+ -webkit-transform: translatez(0);
27
+ }
28
+ /** THEME
29
+ ===================================*/
30
+ .bx-wrapper {
31
+ -moz-box-shadow: 0 0 5px #ccc;
32
+ -webkit-box-shadow: 0 0 5px #ccc;
33
+ box-shadow: 0 0 5px #ccc;
34
+ border: 5px solid #fff;
35
+ background: #fff;
36
+ }
37
+ .bx-wrapper .bx-pager,
38
+ .bx-wrapper .bx-controls-auto {
39
+ position: absolute;
40
+ bottom: -30px;
41
+ width: 100%;
42
+ }
43
+ /* LOADER */
44
+ .bx-wrapper .bx-loading {
45
+ min-height: 50px;
46
+ background: url('images/bx_loader.gif') center center no-repeat #ffffff;
47
+ height: 100%;
48
+ width: 100%;
49
+ position: absolute;
50
+ top: 0;
51
+ left: 0;
52
+ z-index: 2000;
53
+ }
54
+ /* PAGER */
55
+ .bx-wrapper .bx-pager {
56
+ text-align: center;
57
+ font-size: .85em;
58
+ font-family: Arial;
59
+ font-weight: bold;
60
+ color: #666;
61
+ padding-top: 20px;
62
+ }
63
+ .bx-wrapper .bx-pager.bx-default-pager a {
64
+ background: #666;
65
+ text-indent: -9999px;
66
+ display: block;
67
+ width: 10px;
68
+ height: 10px;
69
+ margin: 0 5px;
70
+ outline: 0;
71
+ -moz-border-radius: 5px;
72
+ -webkit-border-radius: 5px;
73
+ border-radius: 5px;
74
+ }
75
+ .bx-wrapper .bx-pager.bx-default-pager a:hover,
76
+ .bx-wrapper .bx-pager.bx-default-pager a.active,
77
+ .bx-wrapper .bx-pager.bx-default-pager a:focus {
78
+ background: #000;
79
+ }
80
+ .bx-wrapper .bx-pager-item,
81
+ .bx-wrapper .bx-controls-auto .bx-controls-auto-item {
82
+ display: inline-block;
83
+ *zoom: 1;
84
+ *display: inline;
85
+ }
86
+ .bx-wrapper .bx-pager-item {
87
+ font-size: 0;
88
+ line-height: 0;
89
+ }
90
+ /* DIRECTION CONTROLS (NEXT / PREV) */
91
+ .bx-wrapper .bx-prev {
92
+ left: 10px;
93
+ background: url('images/controls.png') no-repeat 0 -32px;
94
+ }
95
+ .bx-wrapper .bx-prev:hover,
96
+ .bx-wrapper .bx-prev:focus {
97
+ background-position: 0 0;
98
+ }
99
+ .bx-wrapper .bx-next {
100
+ right: 10px;
101
+ background: url('images/controls.png') no-repeat -43px -32px;
102
+ }
103
+ .bx-wrapper .bx-next:hover,
104
+ .bx-wrapper .bx-next:focus {
105
+ background-position: -43px 0;
106
+ }
107
+ .bx-wrapper .bx-controls-direction a {
108
+ position: absolute;
109
+ top: 50%;
110
+ margin-top: -16px;
111
+ outline: 0;
112
+ width: 32px;
113
+ height: 32px;
114
+ text-indent: -9999px;
115
+ z-index: 9999;
116
+ }
117
+ .bx-wrapper .bx-controls-direction a.disabled {
118
+ display: none;
119
+ }
120
+ /* AUTO CONTROLS (START / STOP) */
121
+ .bx-wrapper .bx-controls-auto {
122
+ text-align: center;
123
+ }
124
+ .bx-wrapper .bx-controls-auto .bx-start {
125
+ display: block;
126
+ text-indent: -9999px;
127
+ width: 10px;
128
+ height: 11px;
129
+ outline: 0;
130
+ background: url('images/controls.png') -86px -11px no-repeat;
131
+ margin: 0 3px;
132
+ }
133
+ .bx-wrapper .bx-controls-auto .bx-start:hover,
134
+ .bx-wrapper .bx-controls-auto .bx-start.active,
135
+ .bx-wrapper .bx-controls-auto .bx-start:focus {
136
+ background-position: -86px 0;
137
+ }
138
+ .bx-wrapper .bx-controls-auto .bx-stop {
139
+ display: block;
140
+ text-indent: -9999px;
141
+ width: 9px;
142
+ height: 11px;
143
+ outline: 0;
144
+ background: url('images/controls.png') -86px -44px no-repeat;
145
+ margin: 0 3px;
146
+ }
147
+ .bx-wrapper .bx-controls-auto .bx-stop:hover,
148
+ .bx-wrapper .bx-controls-auto .bx-stop.active,
149
+ .bx-wrapper .bx-controls-auto .bx-stop:focus {
150
+ background-position: -86px -33px;
151
+ }
152
+ /* PAGER WITH AUTO-CONTROLS HYBRID LAYOUT */
153
+ .bx-wrapper .bx-controls.bx-has-controls-auto.bx-has-pager .bx-pager {
154
+ text-align: left;
155
+ width: 80%;
156
+ }
157
+ .bx-wrapper .bx-controls.bx-has-controls-auto.bx-has-pager .bx-controls-auto {
158
+ right: 0;
159
+ width: 35px;
160
+ }
161
+ /* IMAGE CAPTIONS */
162
+ .bx-wrapper .bx-caption {
163
+ position: absolute;
164
+ bottom: 0;
165
+ left: 0;
166
+ background: #666;
167
+ background: rgba(80, 80, 80, 0.75);
168
+ width: 100%;
169
+ }
170
+ .bx-wrapper .bx-caption span {
171
+ color: #fff;
172
+ font-family: Arial;
173
+ display: block;
174
+ font-size: .85em;
175
+ padding: 10px;
176
+ }
includes/libraries/bxslider-4/src/js/.jscsrc ADDED
@@ -0,0 +1,81 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "disallowSpacesInNamedFunctionExpression": {
3
+ "beforeOpeningRoundBrace": true
4
+ },
5
+ "disallowSpacesInFunctionExpression": {
6
+ "beforeOpeningRoundBrace": true
7
+ },
8
+ "disallowSpacesInAnonymousFunctionExpression": {
9
+ "beforeOpeningRoundBrace": true
10
+ },
11
+ "disallowSpacesInFunctionDeclaration": {
12
+ "beforeOpeningRoundBrace": true
13
+ },
14
+ "disallowEmptyBlocks": true,
15
+ "disallowSpacesInsideArrayBrackets": true,
16
+ "disallowSpacesInsideParentheses": true,
17
+ "disallowQuotedKeysInObjects": true,
18
+ "disallowSpaceAfterObjectKeys": true,
19
+ "disallowSpaceAfterPrefixUnaryOperators": ["++", "--", "+", "-", "~", "!"],
20
+ "disallowSpaceBeforePostfixUnaryOperators": ["++", "--"],
21
+ "disallowSpaceBeforeBinaryOperators": [
22
+ ","
23
+ ],
24
+ "disallowMixedSpacesAndTabs": true,
25
+ "disallowTrailingWhitespace": true,
26
+ "disallowTrailingComma": true,
27
+ "disallowYodaConditions": true,
28
+ "disallowKeywords": [ "with" ],
29
+ "disallowMultipleLineBreaks": true,
30
+ "requireSpaceBeforeBlockStatements": true,
31
+ "requireParenthesesAroundIIFE": true,
32
+ "requireSpacesInConditionalExpression": true,
33
+ "requireBlocksOnNewline": 1,
34
+ "requireCommaBeforeLineBreak": true,
35
+ "requireSpaceBeforeBinaryOperators": [
36
+ "+",
37
+ "-",
38
+ "/",
39
+ "*",
40
+ "=",
41
+ "==",
42
+ "===",
43
+ "!=",
44
+ "!=="
45
+ ],
46
+ "requireSpaceAfterBinaryOperators": [
47
+ "+",
48
+ "-",
49
+ "/",
50
+ "*",
51
+ "=",
52
+ "==",
53
+ "===",
54
+ "!=",
55
+ "!=="
56
+ ],
57
+ "requireCamelCaseOrUpperCaseIdentifiers": true,
58
+ "requireLineFeedAtFileEnd": true,
59
+ "requireCapitalizedConstructors": true,
60
+ "requireDotNotation": true,
61
+ "requireCurlyBraces": [
62
+ "do"
63
+ ],
64
+ "requireSpaceAfterKeywords": [
65
+ "if",
66
+ "else",
67
+ "for",
68
+ "while",
69
+ "do",
70
+ "switch",
71
+ "case",
72
+ "return",
73
+ "try",
74
+ "catch",
75
+ "typeof"
76
+ ],
77
+ "safeContextKeyword": "el",
78
+ "validateLineBreaks": "LF",
79
+ "validateQuoteMarks": "'",
80
+ "validateIndentation": 2
81
+ }
includes/libraries/bxslider-4/src/js/.jshintrc ADDED
@@ -0,0 +1,16 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "bitwise": true,
3
+ "browser": true,
4
+ "curly": true,
5
+ "eqeqeq": true,
6
+ "eqnull": true,
7
+ "esnext": true,
8
+ "immed": true,
9
+ "jquery": true,
10
+ "latedef": true,
11
+ "newcap": true,
12
+ "noarg": true,
13
+ "node": true,
14
+ "strict": false,
15
+ "trailing": true
16
+ }
languages/testimonials-widget.pot CHANGED
@@ -2,10 +2,10 @@
2
  # This file is distributed under the same license as the Testimonials Widget package.
3
  msgid ""
4
  msgstr ""
5
- "Project-Id-Version: Testimonials Widget 3.3.2\n"
6
  "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/testimonials-"
7
  "widget\n"
8
- "POT-Creation-Date: 2016-07-07 04:12:42+00:00\n"
9
  "MIME-Version: 1.0\n"
10
  "Content-Type: text/plain; charset=UTF-8\n"
11
  "Content-Transfer-Encoding: 8bit\n"
2
  # This file is distributed under the same license as the Testimonials Widget package.
3
  msgid ""
4
  msgstr ""
5
+ "Project-Id-Version: Testimonials Widget 3.3.3\n"
6
  "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/testimonials-"
7
  "widget\n"
8
+ "POT-Creation-Date: 2016-07-07 05:02:00+00:00\n"
9
  "MIME-Version: 1.0\n"
10
  "Content-Type: text/plain; charset=UTF-8\n"
11
  "Content-Transfer-Encoding: 8bit\n"
readme.txt CHANGED
@@ -5,7 +5,7 @@ Donate link: https://axelerant.com/about-axelerant/donate/
5
  Tags: axelerant, client, customer, portfolio, quote, quotes, random, recommendation, reference, review, reviews, slider, testimonial, testimonials, wpml
6
  Requires at least: 3.9.2
7
  Tested up to: 4.5.3
8
- Stable tag: 3.3.2
9
  License: GPLv2 or later
10
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
11
 
5
  Tags: axelerant, client, customer, portfolio, quote, quotes, random, recommendation, reference, review, reviews, slider, testimonial, testimonials, wpml
6
  Requires at least: 3.9.2
7
  Tested up to: 4.5.3
8
+ Stable tag: 3.3.3
9
  License: GPLv2 or later
10
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
11
 
testimonials-widget.php CHANGED
@@ -4,7 +4,7 @@
4
  * Plugin URI: http://wordpress.org/plugins/testimonials-widget/
5
  * Description: Easily add social proofing to your website with Testimonials Widget. List or slide reviews via functions, shortcodes, or widgets.
6
  * lets you socially randomly slide or list selected portfolios, quotes, reviews, or text with images or videos on your WordPress site.
7
- * Version: 3.3.2
8
  * Author: Axelerant
9
  * Author URI: https://axelerant.com/
10
  * License: GPLv2 or later
@@ -64,7 +64,7 @@ if ( ! defined( 'TW_PREMIUM_LINK' ) ) {
64
  }
65
 
66
  if ( ! defined( 'TW_VERSION' ) ) {
67
- define( 'TW_VERSION', '3.3.2' );
68
  }
69
 
70
  require_once TW_DIR_INC . 'requirements.php';
4
  * Plugin URI: http://wordpress.org/plugins/testimonials-widget/
5
  * Description: Easily add social proofing to your website with Testimonials Widget. List or slide reviews via functions, shortcodes, or widgets.
6
  * lets you socially randomly slide or list selected portfolios, quotes, reviews, or text with images or videos on your WordPress site.
7
+ * Version: 3.3.3
8
  * Author: Axelerant
9
  * Author URI: https://axelerant.com/
10
  * License: GPLv2 or later
64
  }
65
 
66
  if ( ! defined( 'TW_VERSION' ) ) {
67
+ define( 'TW_VERSION', '3.3.3' );
68
  }
69
 
70
  require_once TW_DIR_INC . 'requirements.php';