diff options
Diffstat (limited to 'themes/default')
30 files changed, 674 insertions, 3385 deletions
diff --git a/themes/default/_head.twig b/themes/default/_head.twig index 8c939e30..277e3833 100755 --- a/themes/default/_head.twig +++ b/themes/default/_head.twig | |||
@@ -1,14 +1,36 @@ | |||
1 | <link rel="shortcut icon" type="image/x-icon" href="{{ poche_url }}themes/default/img/favicon.ico" /> | 1 | <link rel="apple-touch-icon" type="image/png" href="{{ poche_url }}themes/_global/img/appicon/apple-touch-icon-152.png" sizes="152x152"> |
2 | <link rel="apple-touch-icon-precomposed" sizes="144x144" href="{{ poche_url }}themes/default/img/apple-touch-icon-144x144-precomposed.png"> | 2 | <link rel="icon" type="image/png" href="{{ poche_url }}themes/_global/img/appicon/apple-touch-icon-152.png" sizes="152x152"> |
3 | <link rel="apple-touch-icon-precomposed" sizes="72x72" href="{{ poche_url }}themes/default/img/apple-touch-icon-72x72-precomposed.png"> | 3 | |
4 | <link rel="apple-touch-icon-precomposed" href="{{ poche_url }}themes/default/img/apple-touch-icon-precomposed.png"> | 4 | <link rel="apple-touch-icon" type="image/png" href="{{ poche_url }}themes/_global/img/appicon/apple-touch-icon-144.png" sizes="144x144"> |
5 | <link rel="icon" type="image/png" href="{{ poche_url }}themes/_global/img/appicon/apple-touch-icon-144.png" sizes="144x144"> | ||
6 | |||
7 | <link rel="apple-touch-icon" type="image/png" href="{{ poche_url }}themes/_global/img/appicon/apple-touch-icon-120.png" sizes="120x120"> | ||
8 | <link rel="icon" type="image/png" href="{{ poche_url }}themes/_global/img/appicon/apple-touch-icon-120.png" sizes="120x120"> | ||
9 | |||
10 | <link rel="apple-touch-icon" type="image/png" href="{{ poche_url }}themes/_global/img/appicon/apple-touch-icon-114.png" sizes="114x114"> | ||
11 | <link rel="icon" type="image/png" href="{{ poche_url }}themes/_global/img/appicon/apple-touch-icon-114.png" sizes="114x114"> | ||
12 | |||
13 | <link rel="apple-touch-icon" type="image/png" href="{{ poche_url }}themes/_global/img/appicon/apple-touch-icon-76.png" sizes="76x76"> | ||
14 | <link rel="icon" type="image/png" href="{{ poche_url }}themes/_global/img/appicon/apple-touch-icon-76.png" sizes="76x76"> | ||
15 | |||
16 | <link rel="apple-touch-icon" type="image/png" href="{{ poche_url }}themes/_global/img/appicon/apple-touch-icon-72.png" sizes="72x72"> | ||
17 | <link rel="icon" type="image/png" href="{{ poche_url }}themes/_global/img/appicon/apple-touch-icon-72.png" sizes="72x72"> | ||
18 | |||
19 | <link rel="apple-touch-icon" type="image/png" href="{{ poche_url }}themes/_global/img/appicon/apple-touch-icon-57.png" sizes="57x57"> | ||
20 | <link rel="icon" type="image/png" href="{{ poche_url }}themes/_global/img/appicon/apple-touch-icon-57.png" sizes="57x57"> | ||
21 | |||
22 | <link rel="apple-touch-icon" type="image/png" href="{{ poche_url }}themes/_global/img/appicon/apple-touch-icon.png"> | ||
23 | <link rel="icon" type="image/png" href="{{ poche_url }}themes/_global/img/appicon/apple-touch-icon.png"> | ||
24 | |||
25 | <link rel="shortcut icon" type="image/x-icon" href="{{ poche_url }}themes/_global/img/appicon/favicon.ico"> | ||
26 | |||
5 | <link rel="stylesheet" href="{{ poche_url }}themes/default/css/knacss.css" media="all"> | 27 | <link rel="stylesheet" href="{{ poche_url }}themes/default/css/knacss.css" media="all"> |
6 | <link rel="stylesheet" href="{{ poche_url }}themes/default/css/style.css" media="all"> | 28 | <link rel="stylesheet" href="{{ poche_url }}themes/default/css/style.css" media="all"> |
7 | <link rel="stylesheet" href="{{ poche_url }}themes/{{ theme }}/css/style-{{ theme }}.css" media="all" title="{{ theme }} theme"> | 29 | <link rel="stylesheet" href="{{ poche_url }}themes/{{ theme }}/css/style-{{ theme }}.css" media="all" title="{{ theme }} theme"> |
8 | <link rel="stylesheet" href="{{ poche_url }}themes/default/css/messages.css" media="all"> | 30 | <link rel="stylesheet" href="{{ poche_url }}themes/default/css/messages.css" media="all"> |
9 | <link rel="stylesheet" href="{{ poche_url }}themes/default/css/print.css" media="print"> | 31 | <link rel="stylesheet" href="{{ poche_url }}themes/default/css/print.css" media="print"> |
10 | <script src="{{ poche_url }}themes/default/js/jquery-2.0.3.min.js"></script> | 32 | <script src="{{ poche_url }}themes/_global/js/jquery-2.0.3.min.js"></script> |
11 | <script src="{{ poche_url }}themes/default/js/autoClose.js"></script> | 33 | <script src="{{ poche_url }}themes/_global/js/autoClose.js"></script> |
12 | <script src="{{ poche_url }}themes/default/js/closeMessage.js"></script> | 34 | <script src="{{ poche_url }}themes/default/js/closeMessage.js"></script> |
13 | <script src="{{ poche_url }}themes/default/js/saveLink.js"></script> | 35 | <script src="{{ poche_url }}themes/_global/js/saveLink.js"></script> |
14 | <script src="{{ poche_url }}themes/default/js/popupForm.js"></script> \ No newline at end of file | 36 | <script src="{{ poche_url }}themes/_global/js/popupForm.js"></script> |
diff --git a/themes/default/_highlight.twig b/themes/default/_highlight.twig new file mode 100755 index 00000000..cdb7c6bf --- /dev/null +++ b/themes/default/_highlight.twig | |||
@@ -0,0 +1,4 @@ | |||
1 | {# include excelent highlight.js library for code highligting, see http://highlightjs.org/ #} | ||
2 | <link rel="stylesheet" href="{{ poche_url }}themes/default/highlightjs/styles/github.css"> | ||
3 | <script src="{{ poche_url }}themes/default/highlightjs/highlight.pack.js"></script> | ||
4 | <script>hljs.initHighlightingOnLoad();</script> | ||
diff --git a/themes/default/_menu.twig b/themes/default/_menu.twig index 9b9a6062..eedf84f1 100644 --- a/themes/default/_menu.twig +++ b/themes/default/_menu.twig | |||
@@ -6,6 +6,7 @@ | |||
6 | <li><a href="javascript: void(null);" id="bagit">{% trans "save a link" %}</a><span id="bagit-arrow"></span></li> | 6 | <li><a href="javascript: void(null);" id="bagit">{% trans "save a link" %}</a><span id="bagit-arrow"></span></li> |
7 | <li><a href="javascript: void(null);" id="search">{% trans "search" %}</a><span id="search-arrow"></span></li> | 7 | <li><a href="javascript: void(null);" id="search">{% trans "search" %}</a><span id="search-arrow"></span></li> |
8 | <li><a href="./?view=config" {% if view == 'config' %}class="current"{% endif %}>{% trans "config" %}</a></li> | 8 | <li><a href="./?view=config" {% if view == 'config' %}class="current"{% endif %}>{% trans "config" %}</a></li> |
9 | <li><a href="./?view=about" {% if view == 'about' %}class="current"{% endif %}>{% trans "about" %}</a></li> | ||
9 | <li><a href="./?logout" title="{% trans "logout" %}">{% trans "logout" %}</a></li> | 10 | <li><a href="./?logout" title="{% trans "logout" %}">{% trans "logout" %}</a></li> |
10 | </ul> | 11 | </ul> |
11 | {% include '_pocheit-form.twig' %} | 12 | {% include '_pocheit-form.twig' %} |
diff --git a/themes/default/_search-form.twig b/themes/default/_search-form.twig index 33bea20d..0cf6097a 100755 --- a/themes/default/_search-form.twig +++ b/themes/default/_search-form.twig | |||
@@ -2,7 +2,7 @@ | |||
2 | <form method="get" action="index.php"> | 2 | <form method="get" action="index.php"> |
3 | <p> | 3 | <p> |
4 | <input type="hidden" name="view" value="search"></input> | 4 | <input type="hidden" name="view" value="search"></input> |
5 | <label>{% trans "Search" %}</label> : <input type="text" placeholder="{% trans "Enter your search here" %}" name="search" /> | 5 | <label>{% trans "Search" %}</label> : <input type="text" required placeholder="{% trans "Enter your search here" %}" name="search" id="searchfield" /> |
6 | <input type="submit" value="{% trans "Search" %} !"></input> | 6 | <input type="submit" value="{% trans "Search" %} !"></input> |
7 | </p> | 7 | </p> |
8 | </form> | 8 | </form> |
diff --git a/themes/default/_sorting.twig b/themes/default/_sorting.twig index ce3d38bc..3ce9b949 100755 --- a/themes/default/_sorting.twig +++ b/themes/default/_sorting.twig | |||
@@ -1,6 +1,6 @@ | |||
1 | {% if entries|length > 1 %} | 1 | {% if entries|length > 1 %} |
2 | <ul id="sort"> | 2 | <ul id="sort"> |
3 | <li><a href="./?sort=ia&view={{ view }}{% if search_term is defined %}&search={{ search_term }}{% endif %}&id={{ id }}"><img src="{{ poche_url }}themes/{{ theme }}/img/{{ theme }}/top.png" alt="{% trans "by date asc" %}" title="{% trans "by date asc" %}" /></a> {% trans "by date" %} <a href="./?sort=id&view={{ view }}{% if search_term is defined %}&search={{ search_term }}{% endif %}&id={{ id }}"><img src="{{ poche_url }}themes/{{ theme }}/img/{{ theme }}/down.png" alt="{% trans "by date desc" %}" title="{% trans "by date desc" %}" /></a></li> | 3 | <li><a href="./?sort=ia&view={{ view }}{% if searchterm is defined %}&search={{ searchterm }}{% endif %}&id={{ id }}"><img src="{{ poche_url }}themes/{{ theme }}/img/{{ theme }}/top.png" alt="{% trans "by date asc" %}" title="{% trans "by date asc" %}" /></a> {% trans "by date" %} <a href="./?sort=id&view={{ view }}{% if searchterm is defined %}&search={{ searchterm }}{% endif %}&id={{ id }}"><img src="{{ poche_url }}themes/{{ theme }}/img/{{ theme }}/down.png" alt="{% trans "by date desc" %}" title="{% trans "by date desc" %}" /></a></li> |
4 | <li><a href="./?sort=ta&view={{ view }}{% if search_term is defined %}&search={{ search_term }}{% endif %}&id={{ id }}"><img src="{{ poche_url }}themes/{{ theme }}/img/{{ theme }}/top.png" alt="{% trans "by title asc" %}" title="{% trans "by title asc" %}" /></a> {% trans "by title" %} <a href="./?sort=td&view={{ view }}{% if search_term is defined %}&search={{ search_term }}{% endif %}&id={{ id }}"><img src="{{ poche_url }}themes/{{ theme }}/img/{{ theme }}/down.png" alt="{% trans "by title desc" %}" title="{% trans "by title desc" %}" /></a></li> | 4 | <li><a href="./?sort=ta&view={{ view }}{% if searchterm is defined %}&search={{ searchterm }}{% endif %}&id={{ id }}"><img src="{{ poche_url }}themes/{{ theme }}/img/{{ theme }}/top.png" alt="{% trans "by title asc" %}" title="{% trans "by title asc" %}" /></a> {% trans "by title" %} <a href="./?sort=td&view={{ view }}{% if searchterm is defined %}&search={{ searchterm }}{% endif %}&id={{ id }}"><img src="{{ poche_url }}themes/{{ theme }}/img/{{ theme }}/down.png" alt="{% trans "by title desc" %}" title="{% trans "by title desc" %}" /></a></li> |
5 | </ul> | 5 | </ul> |
6 | {% endif %} | 6 | {% endif %} |
diff --git a/themes/default/about.twig b/themes/default/about.twig new file mode 100755 index 00000000..5ca3217c --- /dev/null +++ b/themes/default/about.twig | |||
@@ -0,0 +1,74 @@ | |||
1 | {% extends "layout.twig" %} | ||
2 | |||
3 | {% block title %}{% trans "About wallabag" %}{% endblock %} | ||
4 | {% block menu %} | ||
5 | {% include '_menu.twig' %} | ||
6 | {% endblock %} | ||
7 | {% block content %} | ||
8 | <h2>{% trans "About wallabag" %}</h2> | ||
9 | |||
10 | <dl> | ||
11 | <dt>{% trans "Project website" %}</dt> | ||
12 | <dd><a href="http://www.wallabag.org">http://www.wallabag.org</a></dd> | ||
13 | |||
14 | <dt>{% trans "Main developer" %}</dt> | ||
15 | <dd><a href="mailto:nicolas@loeuillet.org">Nicolas Lœuillet</a> — <a href="http://cdetc.fr">{% trans "website" %}</a></dd> | ||
16 | |||
17 | <dt>{% trans "Contributors:" %}</dt> | ||
18 | <dd><a href="https://github.com/wallabag/wallabag/graphs/contributors">{% trans "on Github" %}</a></dd> | ||
19 | |||
20 | <dt>{% trans "Bug reports" %}</dt> | ||
21 | <dd><a href="http://support.wallabag.org">{% trans "On our support website" %}</a> {% trans "or" %} <a href="https://github.com/wallabag/wallabag/issues">{% trans "on Github" %}</a></dd> | ||
22 | |||
23 | <dt>{% trans "License" %}</dt> | ||
24 | <dd><a href="http://en.wikipedia.org/wiki/MIT_License">MIT</a></dd> | ||
25 | |||
26 | <dt>{% trans "Version" %}</dt> | ||
27 | <dd>{{ constant('POCHE') }}</dd> | ||
28 | </dl> | ||
29 | |||
30 | <p>{% trans "wallabag is a read-it-later application: you can save a web page by keeping only content. Elements like ads or menus are deleted." %}</p> | ||
31 | |||
32 | <h2>{% trans "Helping wallabag" %}</h2> | ||
33 | |||
34 | <p>{% trans "wallabag is free and opensource. You can help us:" %}</p> | ||
35 | |||
36 | <dl> | ||
37 | <dt><a href="http://www.wallabag.org">{% trans "via Paypal" %}</a></dt> | ||
38 | |||
39 | <dt><a href="http://www.wallabag.org">{% trans "via Flattr" %}</a></dt> | ||
40 | </dl> | ||
41 | |||
42 | <h2>{% trans "Credits" %}</h2> | ||
43 | <dl> | ||
44 | <dt>PHP Readability</dt> | ||
45 | <dd><a href="https://bitbucket.org/fivefilters/php-readability">https://bitbucket.org/fivefilters/php-readability</a></dd> | ||
46 | |||
47 | <dt>Full Text RSS</dt> | ||
48 | <dd><a href="http://code.fivefilters.org/full-text-rss/src">http://code.fivefilters.org/full-text-rss/src</a></dd> | ||
49 | |||
50 | <dt>logo by Maylis Agniel</dt> | ||
51 | <dd><a href="https://github.com/wallabag/logo">https://github.com/wallabag/logo</a></dd> | ||
52 | |||
53 | <dt>icons</dt> | ||
54 | <dd><a href="http://icomoon.io">http://icomoon.io</a></dd> | ||
55 | |||
56 | <dt>PHP Simple HTML DOM Parser</dt> | ||
57 | <dd><a href="http://simplehtmldom.sourceforge.net/">http://simplehtmldom.sourceforge.net/</a></dd> | ||
58 | |||
59 | <dt>Session</dt> | ||
60 | <dd><a href="https://github.com/tontof/kriss_feed/blob/master/src/class/Session.php">https://github.com/tontof/kriss_feed/blob/master/src/class/Session.php</a></dd> | ||
61 | |||
62 | <dt>Twig</dt> | ||
63 | <dd><a href="http://twig.sensiolabs.org">http://twig.sensiolabs.org</a></dd> | ||
64 | |||
65 | <dt>Flash messages</dt> | ||
66 | <dd><a href="https://github.com/plasticbrain/PHP-Flash-Messages">https://github.com/plasticbrain/PHP-Flash-Messages</a></dd> | ||
67 | |||
68 | <dt>Pagination</dt> | ||
69 | <dd><a href="https://github.com/daveismyname/pagination">https://github.com/daveismyname/pagination</a></dd> | ||
70 | |||
71 | <dt>PHPePub</dt> | ||
72 | <dd><a href="https://github.com/Grandt/PHPePub/">https://github.com/Grandt/PHPePub/</a></dd> | ||
73 | </dl> | ||
74 | {% endblock %} | ||
diff --git a/themes/default/config.twig b/themes/default/config.twig index a65d2b2c..bac563cf 100755 --- a/themes/default/config.twig +++ b/themes/default/config.twig | |||
@@ -6,29 +6,29 @@ | |||
6 | {% endblock %} | 6 | {% endblock %} |
7 | {% block content %} | 7 | {% block content %} |
8 | <h2>{% trans "Saving articles" %}</h2> | 8 | <h2>{% trans "Saving articles" %}</h2> |
9 | <p>{% trans "There are several ways to save an article:" %} (<a href="http://doc.wallabag.org/" title="{% trans "read the documentation" %}">?</a>)</p> | 9 | <p>{% trans "There are several ways to save an article:" %} {% trans "(<a href=\"http://doc.wallabag.org/en/User_documentation/Save_your_first_article\" target=\"_blank\" title=\"Documentation\">?</a>)" %}</p> |
10 | <p> | ||
11 | <form method="get" action="index.php"> | ||
12 | <label class="addurl" for="config_plainurl">{% trans "By filling this field" %}:</label><br> | ||
13 | <input required placeholder="example.com/article" class="addurl" id="config_plainurl" name="plainurl" type="url" /> | ||
14 | <input type="submit" value="{% trans "bag it!" %}" /> | ||
15 | </form> | ||
16 | </p> | ||
17 | <h3>Browser Plugins</h3> | ||
10 | <ul> | 18 | <ul> |
11 | <li>Firefox: <a href="https://addons.mozilla.org/firefox/addon/wallabag/" title="download the firefox extension">{% trans "download the extension" %}</a></li> | 19 | <li><a href="https://addons.mozilla.org/firefox/addon/wallabag/" target="_blank">{% trans "Firefox Add-On" %}</a></li> |
12 | <li>Chrome: <a href="http://doc.wallabag.org/doku.php?id=users:chrome_extension" title="download the chrome extension">{% trans "download the extension" %}</a></li> | 20 | <li><a href="https://chrome.google.com/webstore/detail/wallabag/bepdcjnnkglfjehplaogpoonpffbdcdj" target="_blank">{% trans "Chrome Extension" %}</a></li> |
13 | <li>Android: <a href="https://f-droid.org/app/fr.gaulupeau.apps.InThePoche" title="download the application">{% trans "via F-Droid" %}</a> {% trans " or " %} <a href="https://play.google.com/store/apps/details?id=fr.gaulupeau.apps.InThePoche" title="download the application">{% trans "via Google Play" %}</a></li> | ||
14 | <li>iOS: <a href="https://itunes.apple.com/app/wallabag/id828331015?mt=8" title="download the iOS application">{% trans "download the application" %}</a></li> | ||
15 | <li>Windows Phone: <a href="http://www.windowsphone.com/en-us/store/app/wallabag/ff890514-348c-4d0b-9b43-153fff3f7450" title="download the window phone application">{% trans "download the application" %}</a></li> | ||
16 | <li> | ||
17 | <form method="get" action="index.php"> | ||
18 | <label class="addurl" for="config_plainurl">{% trans "By filling this field" %}:</label> | ||
19 | <input required placeholder="example.com/article" class="addurl" id="config_plainurl" name="plainurl" type="url" /> | ||
20 | <input type="submit" value="{% trans "bag it!" %}" /> | ||
21 | </form> | ||
22 | </li> | ||
23 | <li>{% trans "Bookmarklet: drag & drop this link to your bookmarks bar" %} <a id="bookmarklet" ondragend="this.click();" title="i am a bookmarklet, use me !" href="javascript:if(top['bookmarklet-url@wallabag.org']){top['bookmarklet-url@wallabag.org'];}else{(function(){var%20url%20=%20location.href%20||%20url;window.open('{{ poche_url }}?action=add&url='%20+%20btoa(url),'_self');})();void(0);}">{% trans "bag it!" %}</a></li> | ||
24 | </ul> | 21 | </ul> |
25 | 22 | <h3>Mobile Apps</h3> | |
26 | <h2>{% trans "Upgrading wallabag" %}</h2> | ||
27 | <ul> | 23 | <ul> |
28 | <li>{% trans "Installed version" %} : <strong>{{ constant('POCHE') }}</strong></li> | 24 | <li>Android: <a href="https://f-droid.org/app/fr.gaulupeau.apps.InThePoche" target="_blank">{% trans "via F-Droid" %}</a> {% trans " or " %} <a href="https://play.google.com/store/apps/details?id=fr.gaulupeau.apps.InThePoche" target="_blank">{% trans "via Google Play" %}</a></li> |
29 | <li>{% trans "Latest stable version" %} : {{ prod }}. {% if compare_prod == -1 %}<strong><a href="http://wallabag.org/">{% trans "A more recent stable version is available." %}</a></strong>{% else %}{% trans "You are up to date." %}{% endif %}</li> | 25 | <li>iOS: <a href="https://itunes.apple.com/app/wallabag/id828331015?mt=8" target="_blank">{% trans "download the application" %}</a></li> |
30 | {% if constant('DEBUG_POCHE') == 1 %}<li>{% trans "Latest dev version" %} : {{ dev }}. {% if compare_dev == -1 %}<strong><a href="http://wallabag.org/">{% trans "A more recent development version is available." %}</a></strong>{% else %}{% trans "You are up to date." %}{% endif %}</li>{% endif %} | 26 | <li>Windows Phone: <a href="http://www.windowsphone.com/en-us/store/app/wallabag/ff890514-348c-4d0b-9b43-153fff3f7450" target="_blank">{% trans "download the application" %}</a></li> |
31 | </ul> | 27 | </ul> |
28 | <h3>{% trans "Bookmarklet" %}</h3> | ||
29 | <p> | ||
30 | {% trans "Drag & drop this link to your bookmarks bar:" %} <a id="bookmarklet" ondragend="this.click();" href="javascript:if(top['bookmarklet-url@wallabag.org']){top['bookmarklet-url@wallabag.org'];}else{(function(){var%20url%20=%20location.href%20||%20url;window.open('{{ poche_url }}?action=add&url='%20+%20btoa(url),'_self');})();void(0);}">{% trans "bag it!" %}</a> | ||
31 | </p> | ||
32 | 32 | ||
33 | <h2>{% trans "Feeds" %}</h2> | 33 | <h2>{% trans "Feeds" %}</h2> |
34 | {% if token == '' %} | 34 | {% if token == '' %} |
@@ -39,14 +39,16 @@ | |||
39 | <li><a href="?feed&type=fav&user_id={{ user_id }}&token={{ token }}" target="_blank">{% trans "Favorites feed" %}</a></li> | 39 | <li><a href="?feed&type=fav&user_id={{ user_id }}&token={{ token }}" target="_blank">{% trans "Favorites feed" %}</a></li> |
40 | <li><a href="?feed&type=archive&user_id={{ user_id }}&token={{ token }}" target="_blank">{% trans "Archive feed" %}</a></li> | 40 | <li><a href="?feed&type=archive&user_id={{ user_id }}&token={{ token }}" target="_blank">{% trans "Archive feed" %}</a></li> |
41 | </ul> | 41 | </ul> |
42 | <p>{% trans "Your token:" %} <strong>{{token}}</strong></p> | 42 | <p class="more-info"> |
43 | <p>{% trans "Your user id:" %} <strong>{{user_id}}</strong></p> | 43 | {% trans "Your token:" %} <strong>{{token}}</strong><br> |
44 | <p>{% trans "You can regenerate your token: <a href='?feed&action=generate'>generate!</a>." %}</p> | 44 | {% trans "Your user id:" %} <strong>{{user_id}}</strong><br> |
45 | {% trans "You can regenerate your token: <a href='?feed&action=generate'>generate!</a>." %} | ||
46 | </p> | ||
45 | {% endif %} | 47 | {% endif %} |
46 | 48 | ||
47 | <h2>{% trans "Change your theme" %}</h2> | 49 | <h2>{% trans "Change your theme" %}</h2> |
48 | <form method="post" action="?updatetheme" name="changethemeform"> | 50 | <form method="post" action="?updatetheme" name="changethemeform"> |
49 | <fieldset class="w500p"> | 51 | <fieldset class="w500p inline"> |
50 | <div class="row"> | 52 | <div class="row"> |
51 | <label class="col w150p" for="theme">{% trans "Theme:" %}</label> | 53 | <label class="col w150p" for="theme">{% trans "Theme:" %}</label> |
52 | <select class="col" id="theme" name="theme"> | 54 | <select class="col" id="theme" name="theme"> |
@@ -65,7 +67,7 @@ | |||
65 | 67 | ||
66 | <h2>{% trans "Change your language" %}</h2> | 68 | <h2>{% trans "Change your language" %}</h2> |
67 | <form method="post" action="?updatelanguage" name="changelanguageform"> | 69 | <form method="post" action="?updatelanguage" name="changelanguageform"> |
68 | <fieldset class="w500p"> | 70 | <fieldset class="w500p inline"> |
69 | <div class="row"> | 71 | <div class="row"> |
70 | <label class="col w150p" for="language">{% trans "Language:" %}</label> | 72 | <label class="col w150p" for="language">{% trans "Language:" %}</label> |
71 | <select class="col" id="language" name="language"> | 73 | <select class="col" id="language" name="language"> |
@@ -82,35 +84,14 @@ | |||
82 | <input type="hidden" name="token" value="{{ token }}"> | 84 | <input type="hidden" name="token" value="{{ token }}"> |
83 | </form> | 85 | </form> |
84 | 86 | ||
85 | {% if http_auth == 0 %} | 87 | <h2><a name="import"></a>{% trans "Import" %}</h2> |
86 | <h2>{% trans "Change your password" %}</h2> | ||
87 | <form method="post" action="?config" name="loginform"> | ||
88 | <fieldset class="w500p"> | ||
89 | <div class="row"> | ||
90 | <label class="col w150p" for="password">{% trans "New password:" %}</label> | ||
91 | <input class="col" type="password" id="password" name="password" placeholder="{% trans "Password" %}" tabindex="2"> | ||
92 | </div> | ||
93 | <div class="row"> | ||
94 | <label class="col w150p" for="password_repeat">{% trans "Repeat your new password:" %}</label> | ||
95 | <input class="col" type="password" id="password_repeat" name="password_repeat" placeholder="{% trans "Password" %}" tabindex="3"> | ||
96 | </div> | ||
97 | <div class="row mts txtcenter"> | ||
98 | <button class="bouton" type="submit" tabindex="4">{% trans "Update" %}</button> | ||
99 | </div> | ||
100 | </fieldset> | ||
101 | <input type="hidden" name="returnurl" value="{{ referer }}"> | ||
102 | <input type="hidden" name="token" value="{{ token }}"> | ||
103 | </form> | ||
104 | {% endif %} | ||
105 | |||
106 | <h2>{% trans "Import" %}</h2> | ||
107 | <p>{% trans "You can import your Pocket, Readability, Instapaper, Wallabag or any data in appropriate json or html format." %}</p> | 88 | <p>{% trans "You can import your Pocket, Readability, Instapaper, Wallabag or any data in appropriate json or html format." %}</p> |
108 | <p>{% trans "Please select export file on your computer and press \"Import\" button below.<br>Wallabag will parse your file, insert all URLs and start fetching of articles if required.<br>Fetching process is controlled by two constants in your config file: IMPORT_LIMIT (how many articles are fetched at once) and IMPORT_DELAY (delay between fetch of next batch of articles)." %}</p> | 89 | <p>{% trans "Please select export file on your computer and press \"Import\" button below. Wallabag will parse your file, insert all URLs and start fetching of articles if required." %}</p> |
109 | <form method="post" action="?import" name="uploadfile" enctype="multipart/form-data"> | 90 | <form method="post" action="?import" name="uploadfile" enctype="multipart/form-data"> |
110 | <fieldset class="w500p"> | 91 | <fieldset class="w500p"> |
111 | <div class="row"> | 92 | <div class="row"> |
112 | <label class="col w150p" for="file">{% trans "File:" %}</label> | 93 | <label class="col w150p" for="file">{% trans "File:" %}</label> |
113 | <input class="col" type="file" id="file" name="file" tabindex="4"> | 94 | <input class="col" type="file" id="file" name="file" tabindex="4" required="required"> |
114 | </div> | 95 | </div> |
115 | <div class="row mts txtcenter"> | 96 | <div class="row mts txtcenter"> |
116 | <button class="bouton" type="submit" tabindex="4">{% trans "Import" %}</button> | 97 | <button class="bouton" type="submit" tabindex="4">{% trans "Import" %}</button> |
@@ -118,11 +99,11 @@ | |||
118 | </fieldset> | 99 | </fieldset> |
119 | </form> | 100 | </form> |
120 | <p><a href="?import">{% trans "You can click here to fetch content for articles with no content." %}</a></p> | 101 | <p><a href="?import">{% trans "You can click here to fetch content for articles with no content." %}</a></p> |
102 | <p class="more-info">{% trans "Fetching process is controlled by two constants in your config file: IMPORT_LIMIT (how many articles are fetched at once) and IMPORT_DELAY (delay between fetch of next batch of articles)." %}</p> | ||
121 | 103 | ||
122 | <h2>{% trans "Export your wallabag data" %}</h2> | 104 | <h2>{% trans "Export your wallabag data" %}</h2> |
123 | {% if constant('STORAGE') == 'sqlite' %} | 105 | <p><a href="?export" target="_blank">{% trans "Export JSON" %}</a><br> |
124 | <p><a href="?download" target="_blank">{% trans "Click here" %}</a> {% trans "to download your database." %}</p>{% endif %} | 106 | <span class="more-info">Data will be exported in a single JSON file.</span></p> |
125 | <p><a href="?export" target="_blank">{% trans "Click here" %}</a> {% trans "to export your wallabag data." %}</p> | ||
126 | 107 | ||
127 | <h2>{% trans "Fancy an E-Book ?" %}</h2> | 108 | <h2>{% trans "Fancy an E-Book ?" %}</h2> |
128 | <p>{% trans "Click to get all your articles in one ebook :" %} | 109 | <p>{% trans "Click to get all your articles in one ebook :" %} |
@@ -131,31 +112,56 @@ | |||
131 | <li><a href="./?mobi&method=all" title="Generate Mobi file">Mobi</a></li> | 112 | <li><a href="./?mobi&method=all" title="Generate Mobi file">Mobi</a></li> |
132 | <li><a href="./?pdf&method=all" title="Generate PDF file">PDF</a></li> | 113 | <li><a href="./?pdf&method=all" title="Generate PDF file">PDF</a></li> |
133 | </ul> | 114 | </ul> |
115 | </p> | ||
134 | 116 | ||
135 | <br>{% trans "This can <b>take a while</b> and can <b>even fail</b> if you have too many articles, depending on your server configuration." %}</p> | 117 | <span class="more-info">{% trans "This can <b>take a while</b> and can <b>even fail</b> if you have too many articles, depending on your server configuration." %}</span></p> |
136 | 118 | ||
119 | <h2><a name="cache"></a>{% trans "Cache" %}</h2> | ||
120 | <p><a href="?empty-cache">{% trans "Delete Cache" %}</a><br> | ||
121 | <span class="more-info">Deleting the cache may help with display or other problems.</span></p> | ||
122 | |||
123 | {% if http_auth == 0 %} | ||
124 | <h2>{% trans "Change your password" %}</h2> | ||
125 | <form method="post" action="?config" name="loginform"> | ||
126 | <fieldset class="w500p"> | ||
127 | <div class="row"> | ||
128 | <label class="col w150p" for="password">{% trans "New password:" %}</label> | ||
129 | <input class="col" type="password" id="password" name="password" placeholder="{% trans "Password" %}" tabindex="2"> | ||
130 | </div> | ||
131 | <div class="row"> | ||
132 | <label class="col w150p" for="password_repeat">{% trans "Repeat your new password:" %}</label> | ||
133 | <input class="col" type="password" id="password_repeat" name="password_repeat" placeholder="{% trans "Password" %}" tabindex="3"> | ||
134 | </div> | ||
135 | <div class="row mts txtcenter"> | ||
136 | <button class="bouton" type="submit" tabindex="4">{% trans "Update" %}</button> | ||
137 | </div> | ||
138 | </fieldset> | ||
139 | <input type="hidden" name="returnurl" value="{{ referer }}"> | ||
140 | <input type="hidden" name="token" value="{{ token }}"> | ||
141 | </form> | ||
142 | {% endif %} | ||
137 | 143 | ||
138 | <h2>{% trans "Cache" %}</h2> | ||
139 | <p><a href="?empty-cache">{% trans "Click here" %}</a> {% trans "to delete cache." %}</p> | ||
140 | |||
141 | <h2>{% trans 'Add user' %}</h2> | 144 | <h2>{% trans 'Add user' %}</h2> |
142 | <p>{% trans 'Add a new user :' %}</p> | ||
143 | <form method="post" action="?newuser"> | 145 | <form method="post" action="?newuser"> |
144 | <fieldset class="w500p"> | 146 | <fieldset class="w500p"> |
145 | <div class="row"> | 147 | <div class="row"> |
146 | <label class="col w150p" for="newusername">{% trans 'Login for new user' %}</label> | 148 | <label class="col w150p" for="newusername">{% trans 'Login for new user' %}</label> |
147 | <input class="col" type="text" id="newusername" name="newusername" placeholder="{% trans 'Login' %}"> | 149 | <input class="col" type="text" id="newusername" name="newusername" placeholder="{% trans 'Login' %}" required> |
148 | </div> | 150 | </div> |
149 | <div class="row"> | 151 | <div class="row"> |
150 | <label class="col w150p" for="password4newuser">{% trans "Password for new user" %}</label> | 152 | <label class="col w150p" for="password4newuser">{% trans "Password for new user" %}</label> |
151 | <input class="col" type="password" id="password4newuser" name="password4newuser" placeholder="{% trans "Password" %}"> | 153 | <input class="col" type="password" id="password4newuser" name="password4newuser" placeholder="{% trans 'Password' %}" required> |
154 | </div> | ||
155 | <div class="row"> | ||
156 | <label class="col w150p" for="newuseremail">{% trans 'Email for new user (not required)' %}</label> | ||
157 | <input class="col" type="email" id="newuseremail" name="newuseremail" placeholder="{% trans 'Email' %}"> | ||
152 | </div> | 158 | </div> |
153 | <div class="row mts txtcenter"> | 159 | <div class="row mts txtcenter"> |
154 | <button type="submit">{% trans "Send" %}</button> | 160 | <button type="submit">{% trans "Add user" %}</button> |
155 | </div> | 161 | </div> |
156 | </fieldset> | 162 | </fieldset> |
157 | </form> | 163 | </form> |
158 | 164 | ||
159 | <h2>{% trans "Delete account" %}</h2> | 165 | <h2>{% trans "Delete account" %}</h2> |
160 | {% if not only_user %}<form method="post" action="?deluser"> | 166 | {% if not only_user %}<form method="post" action="?deluser"> |
161 | <p>{% trans "You can delete your account by entering your password and validating." %}<br /><b>{% trans "Be careful, data will be erased forever (that is a very long time)." %}</b></p> | 167 | <p>{% trans "You can delete your account by entering your password and validating." %}<br /><b>{% trans "Be careful, data will be erased forever (that is a very long time)." %}</b></p> |
@@ -165,9 +171,18 @@ | |||
165 | <input class="col" type="password" id="password4deletinguser" name="password4deletinguser" placeholder="{% trans "Password" %}"> | 171 | <input class="col" type="password" id="password4deletinguser" name="password4deletinguser" placeholder="{% trans "Password" %}"> |
166 | </div> | 172 | </div> |
167 | <div class="row mts txtcenter"> | 173 | <div class="row mts txtcenter"> |
168 | <button type="submit">{% trans "Send" %}</button> | 174 | <button type="submit">{% trans "Delete account" %}</button> |
169 | </div> | 175 | </div> |
170 | </form> | 176 | </form> |
171 | {% else %}<p>{% trans "You are the only user, you cannot delete your own account." %}<br /> | 177 | {% else %}<p>{% trans "You are the only user, you cannot delete your own account." %}</p> |
172 | {% trans "To completely remove wallabag, delete the wallabag folder on your web server." %}</p>{% endif %} | 178 | <p>{% trans "To completely remove wallabag, delete the wallabag folder on your web server (and eventual databases)." %}</p>{% endif %} |
179 | |||
180 | <h2>{% trans "Upgrading wallabag" %}</h2> | ||
181 | <ul> | ||
182 | <li>{% trans "Installed version" %}: <strong>{{ constant('POCHE') }}</strong></li> | ||
183 | <li>{% trans "Latest stable version" %}: {{ prod }}. {% if compare_prod == -1 %}<strong><a href="http://wallabag.org/">{% trans "A more recent stable version is available." %}</a></strong>{% else %}{% trans "You are up to date." %}{% endif %} ({% trans "Last check:" %} {{ check_time_prod }})</li> | ||
184 | {% if constant('DEBUG_POCHE') == 1 %}<li>{% trans "Latest dev version" %}: {{ dev }}. {% if compare_dev == -1 %}<strong><a href="http://wallabag.org/">{% trans "A more recent development version is available." %}</a></strong>{% else %}{% trans "You are up to date." %}{% endif %} ({% trans "Last check:" %} {{ check_time_dev }}){% endif %}</li> | ||
185 | </ul> | ||
186 | <p class="more-info">{% trans "You can clear cache to check the latest release." %}</p> | ||
187 | |||
173 | {% endblock %} | 188 | {% endblock %} |
diff --git a/themes/default/css/jquery-ui-1.10.4.custom.css b/themes/default/css/jquery-ui-1.10.4.custom.css deleted file mode 100644 index 5690172f..00000000 --- a/themes/default/css/jquery-ui-1.10.4.custom.css +++ /dev/null | |||
@@ -1,560 +0,0 @@ | |||
1 | /*! jQuery UI - v1.10.4 - 2014-03-09 | ||
2 | * http://jqueryui.com | ||
3 | * Includes: jquery.ui.core.css, jquery.ui.autocomplete.css, jquery.ui.menu.css, jquery.ui.theme.css | ||
4 | * To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Verdana%2CArial%2Csans-serif&fwDefault=normal&fsDefault=1.1em&cornerRadius=4px&bgColorHeader=cccccc&bgTextureHeader=highlight_soft&bgImgOpacityHeader=75&borderColorHeader=aaaaaa&fcHeader=222222&iconColorHeader=222222&bgColorContent=ffffff&bgTextureContent=flat&bgImgOpacityContent=75&borderColorContent=aaaaaa&fcContent=222222&iconColorContent=222222&bgColorDefault=e6e6e6&bgTextureDefault=glass&bgImgOpacityDefault=75&borderColorDefault=d3d3d3&fcDefault=555555&iconColorDefault=888888&bgColorHover=dadada&bgTextureHover=glass&bgImgOpacityHover=75&borderColorHover=999999&fcHover=212121&iconColorHover=454545&bgColorActive=ffffff&bgTextureActive=glass&bgImgOpacityActive=65&borderColorActive=aaaaaa&fcActive=212121&iconColorActive=454545&bgColorHighlight=fbf9ee&bgTextureHighlight=glass&bgImgOpacityHighlight=55&borderColorHighlight=fcefa1&fcHighlight=363636&iconColorHighlight=2e83ff&bgColorError=fef1ec&bgTextureError=glass&bgImgOpacityError=95&borderColorError=cd0a0a&fcError=cd0a0a&iconColorError=cd0a0a&bgColorOverlay=aaaaaa&bgTextureOverlay=flat&bgImgOpacityOverlay=0&opacityOverlay=30&bgColorShadow=aaaaaa&bgTextureShadow=flat&bgImgOpacityShadow=0&opacityShadow=30&thicknessShadow=8px&offsetTopShadow=-8px&offsetLeftShadow=-8px&cornerRadiusShadow=8px | ||
5 | * Copyright 2014 jQuery Foundation and other contributors; Licensed MIT */ | ||
6 | |||
7 | /* Layout helpers | ||
8 | ----------------------------------*/ | ||
9 | .ui-helper-hidden { | ||
10 | display: none; | ||
11 | } | ||
12 | .ui-helper-hidden-accessible { | ||
13 | border: 0; | ||
14 | clip: rect(0 0 0 0); | ||
15 | height: 1px; | ||
16 | margin: -1px; | ||
17 | overflow: hidden; | ||
18 | padding: 0; | ||
19 | position: absolute; | ||
20 | width: 1px; | ||
21 | } | ||
22 | .ui-helper-reset { | ||
23 | margin: 0; | ||
24 | padding: 0; | ||
25 | border: 0; | ||
26 | outline: 0; | ||
27 | line-height: 1.3; | ||
28 | text-decoration: none; | ||
29 | font-size: 100%; | ||
30 | list-style: none; | ||
31 | } | ||
32 | .ui-helper-clearfix:before, | ||
33 | .ui-helper-clearfix:after { | ||
34 | content: ""; | ||
35 | display: table; | ||
36 | border-collapse: collapse; | ||
37 | } | ||
38 | .ui-helper-clearfix:after { | ||
39 | clear: both; | ||
40 | } | ||
41 | .ui-helper-clearfix { | ||
42 | min-height: 0; /* support: IE7 */ | ||
43 | } | ||
44 | .ui-helper-zfix { | ||
45 | width: 100%; | ||
46 | height: 100%; | ||
47 | top: 0; | ||
48 | left: 0; | ||
49 | position: absolute; | ||
50 | opacity: 0; | ||
51 | filter:Alpha(Opacity=0); | ||
52 | } | ||
53 | |||
54 | .ui-front { | ||
55 | z-index: 100; | ||
56 | } | ||
57 | |||
58 | |||
59 | /* Interaction Cues | ||
60 | ----------------------------------*/ | ||
61 | .ui-state-disabled { | ||
62 | cursor: default !important; | ||
63 | } | ||
64 | |||
65 | |||
66 | /* Icons | ||
67 | ----------------------------------*/ | ||
68 | |||
69 | /* states and images */ | ||
70 | .ui-icon { | ||
71 | display: block; | ||
72 | text-indent: -99999px; | ||
73 | overflow: hidden; | ||
74 | background-repeat: no-repeat; | ||
75 | } | ||
76 | |||
77 | |||
78 | /* Misc visuals | ||
79 | ----------------------------------*/ | ||
80 | |||
81 | /* Overlays */ | ||
82 | .ui-widget-overlay { | ||
83 | position: fixed; | ||
84 | top: 0; | ||
85 | left: 0; | ||
86 | width: 100%; | ||
87 | height: 100%; | ||
88 | } | ||
89 | .ui-autocomplete { | ||
90 | position: absolute; | ||
91 | top: 0; | ||
92 | left: 0; | ||
93 | cursor: default; | ||
94 | } | ||
95 | .ui-menu { | ||
96 | list-style: none; | ||
97 | padding: 2px; | ||
98 | margin: 0; | ||
99 | display: block; | ||
100 | outline: none; | ||
101 | } | ||
102 | .ui-menu .ui-menu { | ||
103 | margin-top: -3px; | ||
104 | position: absolute; | ||
105 | } | ||
106 | .ui-menu .ui-menu-item { | ||
107 | margin: 0; | ||
108 | padding: 0; | ||
109 | width: 100%; | ||
110 | /* support: IE10, see #8844 */ | ||
111 | list-style-image: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7); | ||
112 | } | ||
113 | .ui-menu .ui-menu-divider { | ||
114 | margin: 5px -2px 5px -2px; | ||
115 | height: 0; | ||
116 | font-size: 0; | ||
117 | line-height: 0; | ||
118 | border-width: 1px 0 0 0; | ||
119 | } | ||
120 | .ui-menu .ui-menu-item a { | ||
121 | text-decoration: none; | ||
122 | display: block; | ||
123 | padding: 2px .4em; | ||
124 | line-height: 1.5; | ||
125 | min-height: 0; /* support: IE7 */ | ||
126 | font-weight: normal; | ||
127 | } | ||
128 | .ui-menu .ui-menu-item a.ui-state-focus, | ||
129 | .ui-menu .ui-menu-item a.ui-state-active { | ||
130 | font-weight: normal; | ||
131 | margin: -1px; | ||
132 | } | ||
133 | |||
134 | .ui-menu .ui-state-disabled { | ||
135 | font-weight: normal; | ||
136 | margin: .4em 0 .2em; | ||
137 | line-height: 1.5; | ||
138 | } | ||
139 | .ui-menu .ui-state-disabled a { | ||
140 | cursor: default; | ||
141 | } | ||
142 | |||
143 | /* icon support */ | ||
144 | .ui-menu-icons { | ||
145 | position: relative; | ||
146 | } | ||
147 | .ui-menu-icons .ui-menu-item a { | ||
148 | position: relative; | ||
149 | padding-left: 2em; | ||
150 | } | ||
151 | |||
152 | /* left-aligned */ | ||
153 | .ui-menu .ui-icon { | ||
154 | position: absolute; | ||
155 | top: .2em; | ||
156 | left: .2em; | ||
157 | } | ||
158 | |||
159 | /* right-aligned */ | ||
160 | .ui-menu .ui-menu-icon { | ||
161 | position: static; | ||
162 | float: right; | ||
163 | } | ||
164 | |||
165 | /* Component containers | ||
166 | ----------------------------------*/ | ||
167 | .ui-widget { | ||
168 | font-family: Verdana,Arial,sans-serif; | ||
169 | font-size: 1.1em; | ||
170 | } | ||
171 | .ui-widget .ui-widget { | ||
172 | font-size: 1em; | ||
173 | } | ||
174 | .ui-widget input, | ||
175 | .ui-widget select, | ||
176 | .ui-widget textarea, | ||
177 | .ui-widget button { | ||
178 | font-family: Verdana,Arial,sans-serif; | ||
179 | font-size: 1em; | ||
180 | } | ||
181 | .ui-widget-content { | ||
182 | border: 1px solid #aaaaaa; | ||
183 | background: #ffffff url(images/ui-bg_flat_75_ffffff_40x100.png) 50% 50% repeat-x; | ||
184 | color: #222222; | ||
185 | } | ||
186 | .ui-widget-content a { | ||
187 | color: #222222; | ||
188 | } | ||
189 | .ui-widget-header { | ||
190 | border: 1px solid #aaaaaa; | ||
191 | background: #cccccc url(images/ui-bg_highlight-soft_75_cccccc_1x100.png) 50% 50% repeat-x; | ||
192 | color: #222222; | ||
193 | font-weight: bold; | ||
194 | } | ||
195 | .ui-widget-header a { | ||
196 | color: #222222; | ||
197 | } | ||
198 | |||
199 | /* Interaction states | ||
200 | ----------------------------------*/ | ||
201 | .ui-state-default, | ||
202 | .ui-widget-content .ui-state-default, | ||
203 | .ui-widget-header .ui-state-default { | ||
204 | border: 1px solid #d3d3d3; | ||
205 | background: #e6e6e6 url(images/ui-bg_glass_75_e6e6e6_1x400.png) 50% 50% repeat-x; | ||
206 | font-weight: normal; | ||
207 | color: #555555; | ||
208 | } | ||
209 | .ui-state-default a, | ||
210 | .ui-state-default a:link, | ||
211 | .ui-state-default a:visited { | ||
212 | color: #555555; | ||
213 | text-decoration: none; | ||
214 | } | ||
215 | .ui-state-hover, | ||
216 | .ui-widget-content .ui-state-hover, | ||
217 | .ui-widget-header .ui-state-hover, | ||
218 | .ui-state-focus, | ||
219 | .ui-widget-content .ui-state-focus, | ||
220 | .ui-widget-header .ui-state-focus { | ||
221 | border: 1px solid #999999; | ||
222 | background: #dadada url(images/ui-bg_glass_75_dadada_1x400.png) 50% 50% repeat-x; | ||
223 | font-weight: normal; | ||
224 | color: #212121; | ||
225 | } | ||
226 | .ui-state-hover a, | ||
227 | .ui-state-hover a:hover, | ||
228 | .ui-state-hover a:link, | ||
229 | .ui-state-hover a:visited, | ||
230 | .ui-state-focus a, | ||
231 | .ui-state-focus a:hover, | ||
232 | .ui-state-focus a:link, | ||
233 | .ui-state-focus a:visited { | ||
234 | color: #212121; | ||
235 | text-decoration: none; | ||
236 | } | ||
237 | .ui-state-active, | ||
238 | .ui-widget-content .ui-state-active, | ||
239 | .ui-widget-header .ui-state-active { | ||
240 | border: 1px solid #aaaaaa; | ||
241 | background: #ffffff url(images/ui-bg_glass_65_ffffff_1x400.png) 50% 50% repeat-x; | ||
242 | font-weight: normal; | ||
243 | color: #212121; | ||
244 | } | ||
245 | .ui-state-active a, | ||
246 | .ui-state-active a:link, | ||
247 | .ui-state-active a:visited { | ||
248 | color: #212121; | ||
249 | text-decoration: none; | ||
250 | } | ||
251 | |||
252 | /* Interaction Cues | ||
253 | ----------------------------------*/ | ||
254 | .ui-state-highlight, | ||
255 | .ui-widget-content .ui-state-highlight, | ||
256 | .ui-widget-header .ui-state-highlight { | ||
257 | border: 1px solid #fcefa1; | ||
258 | background: #fbf9ee url(images/ui-bg_glass_55_fbf9ee_1x400.png) 50% 50% repeat-x; | ||
259 | color: #363636; | ||
260 | } | ||
261 | .ui-state-highlight a, | ||
262 | .ui-widget-content .ui-state-highlight a, | ||
263 | .ui-widget-header .ui-state-highlight a { | ||
264 | color: #363636; | ||
265 | } | ||
266 | .ui-state-error, | ||
267 | .ui-widget-content .ui-state-error, | ||
268 | .ui-widget-header .ui-state-error { | ||
269 | border: 1px solid #cd0a0a; | ||
270 | background: #fef1ec url(images/ui-bg_glass_95_fef1ec_1x400.png) 50% 50% repeat-x; | ||
271 | color: #cd0a0a; | ||
272 | } | ||
273 | .ui-state-error a, | ||
274 | .ui-widget-content .ui-state-error a, | ||
275 | .ui-widget-header .ui-state-error a { | ||
276 | color: #cd0a0a; | ||
277 | } | ||
278 | .ui-state-error-text, | ||
279 | .ui-widget-content .ui-state-error-text, | ||
280 | .ui-widget-header .ui-state-error-text { | ||
281 | color: #cd0a0a; | ||
282 | } | ||
283 | .ui-priority-primary, | ||
284 | .ui-widget-content .ui-priority-primary, | ||
285 | .ui-widget-header .ui-priority-primary { | ||
286 | font-weight: bold; | ||
287 | } | ||
288 | .ui-priority-secondary, | ||
289 | .ui-widget-content .ui-priority-secondary, | ||
290 | .ui-widget-header .ui-priority-secondary { | ||
291 | opacity: .7; | ||
292 | filter:Alpha(Opacity=70); | ||
293 | font-weight: normal; | ||
294 | } | ||
295 | .ui-state-disabled, | ||
296 | .ui-widget-content .ui-state-disabled, | ||
297 | .ui-widget-header .ui-state-disabled { | ||
298 | opacity: .35; | ||
299 | filter:Alpha(Opacity=35); | ||
300 | background-image: none; | ||
301 | } | ||
302 | .ui-state-disabled .ui-icon { | ||
303 | filter:Alpha(Opacity=35); /* For IE8 - See #6059 */ | ||
304 | } | ||
305 | |||
306 | /* Icons | ||
307 | ----------------------------------*/ | ||
308 | |||
309 | /* states and images */ | ||
310 | .ui-icon { | ||
311 | width: 16px; | ||
312 | height: 16px; | ||
313 | } | ||
314 | .ui-icon, | ||
315 | .ui-widget-content .ui-icon { | ||
316 | background-image: url(images/ui-icons_222222_256x240.png); | ||
317 | } | ||
318 | .ui-widget-header .ui-icon { | ||
319 | background-image: url(images/ui-icons_222222_256x240.png); | ||
320 | } | ||
321 | .ui-state-default .ui-icon { | ||
322 | background-image: url(images/ui-icons_888888_256x240.png); | ||
323 | } | ||
324 | .ui-state-hover .ui-icon, | ||
325 | .ui-state-focus .ui-icon { | ||
326 | background-image: url(images/ui-icons_454545_256x240.png); | ||
327 | } | ||
328 | .ui-state-active .ui-icon { | ||
329 | background-image: url(images/ui-icons_454545_256x240.png); | ||
330 | } | ||
331 | .ui-state-highlight .ui-icon { | ||
332 | background-image: url(images/ui-icons_2e83ff_256x240.png); | ||
333 | } | ||
334 | .ui-state-error .ui-icon, | ||
335 | .ui-state-error-text .ui-icon { | ||
336 | background-image: url(images/ui-icons_cd0a0a_256x240.png); | ||
337 | } | ||
338 | |||
339 | /* positioning */ | ||
340 | .ui-icon-blank { background-position: 16px 16px; } | ||
341 | .ui-icon-carat-1-n { background-position: 0 0; } | ||
342 | .ui-icon-carat-1-ne { background-position: -16px 0; } | ||
343 | .ui-icon-carat-1-e { background-position: -32px 0; } | ||
344 | .ui-icon-carat-1-se { background-position: -48px 0; } | ||
345 | .ui-icon-carat-1-s { background-position: -64px 0; } | ||
346 | .ui-icon-carat-1-sw { background-position: -80px 0; } | ||
347 | .ui-icon-carat-1-w { background-position: -96px 0; } | ||
348 | .ui-icon-carat-1-nw { background-position: -112px 0; } | ||
349 | .ui-icon-carat-2-n-s { background-position: -128px 0; } | ||
350 | .ui-icon-carat-2-e-w { background-position: -144px 0; } | ||
351 | .ui-icon-triangle-1-n { background-position: 0 -16px; } | ||
352 | .ui-icon-triangle-1-ne { background-position: -16px -16px; } | ||
353 | .ui-icon-triangle-1-e { background-position: -32px -16px; } | ||
354 | .ui-icon-triangle-1-se { background-position: -48px -16px; } | ||
355 | .ui-icon-triangle-1-s { background-position: -64px -16px; } | ||
356 | .ui-icon-triangle-1-sw { background-position: -80px -16px; } | ||
357 | .ui-icon-triangle-1-w { background-position: -96px -16px; } | ||
358 | .ui-icon-triangle-1-nw { background-position: -112px -16px; } | ||
359 | .ui-icon-triangle-2-n-s { background-position: -128px -16px; } | ||
360 | .ui-icon-triangle-2-e-w { background-position: -144px -16px; } | ||
361 | .ui-icon-arrow-1-n { background-position: 0 -32px; } | ||
362 | .ui-icon-arrow-1-ne { background-position: -16px -32px; } | ||
363 | .ui-icon-arrow-1-e { background-position: -32px -32px; } | ||
364 | .ui-icon-arrow-1-se { background-position: -48px -32px; } | ||
365 | .ui-icon-arrow-1-s { background-position: -64px -32px; } | ||
366 | .ui-icon-arrow-1-sw { background-position: -80px -32px; } | ||
367 | .ui-icon-arrow-1-w { background-position: -96px -32px; } | ||
368 | .ui-icon-arrow-1-nw { background-position: -112px -32px; } | ||
369 | .ui-icon-arrow-2-n-s { background-position: -128px -32px; } | ||
370 | .ui-icon-arrow-2-ne-sw { background-position: -144px -32px; } | ||
371 | .ui-icon-arrow-2-e-w { background-position: -160px -32px; } | ||
372 | .ui-icon-arrow-2-se-nw { background-position: -176px -32px; } | ||
373 | .ui-icon-arrowstop-1-n { background-position: -192px -32px; } | ||
374 | .ui-icon-arrowstop-1-e { background-position: -208px -32px; } | ||
375 | .ui-icon-arrowstop-1-s { background-position: -224px -32px; } | ||
376 | .ui-icon-arrowstop-1-w { background-position: -240px -32px; } | ||
377 | .ui-icon-arrowthick-1-n { background-position: 0 -48px; } | ||
378 | .ui-icon-arrowthick-1-ne { background-position: -16px -48px; } | ||
379 | .ui-icon-arrowthick-1-e { background-position: -32px -48px; } | ||
380 | .ui-icon-arrowthick-1-se { background-position: -48px -48px; } | ||
381 | .ui-icon-arrowthick-1-s { background-position: -64px -48px; } | ||
382 | .ui-icon-arrowthick-1-sw { background-position: -80px -48px; } | ||
383 | .ui-icon-arrowthick-1-w { background-position: -96px -48px; } | ||
384 | .ui-icon-arrowthick-1-nw { background-position: -112px -48px; } | ||
385 | .ui-icon-arrowthick-2-n-s { background-position: -128px -48px; } | ||
386 | .ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; } | ||
387 | .ui-icon-arrowthick-2-e-w { background-position: -160px -48px; } | ||
388 | .ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; } | ||
389 | .ui-icon-arrowthickstop-1-n { background-position: -192px -48px; } | ||
390 | .ui-icon-arrowthickstop-1-e { background-position: -208px -48px; } | ||
391 | .ui-icon-arrowthickstop-1-s { background-position: -224px -48px; } | ||
392 | .ui-icon-arrowthickstop-1-w { background-position: -240px -48px; } | ||
393 | .ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; } | ||
394 | .ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; } | ||
395 | .ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; } | ||
396 | .ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; } | ||
397 | .ui-icon-arrowreturn-1-w { background-position: -64px -64px; } | ||
398 | .ui-icon-arrowreturn-1-n { background-position: -80px -64px; } | ||
399 | .ui-icon-arrowreturn-1-e { background-position: -96px -64px; } | ||
400 | .ui-icon-arrowreturn-1-s { background-position: -112px -64px; } | ||
401 | .ui-icon-arrowrefresh-1-w { background-position: -128px -64px; } | ||
402 | .ui-icon-arrowrefresh-1-n { background-position: -144px -64px; } | ||
403 | .ui-icon-arrowrefresh-1-e { background-position: -160px -64px; } | ||
404 | .ui-icon-arrowrefresh-1-s { background-position: -176px -64px; } | ||
405 | .ui-icon-arrow-4 { background-position: 0 -80px; } | ||
406 | .ui-icon-arrow-4-diag { background-position: -16px -80px; } | ||
407 | .ui-icon-extlink { background-position: -32px -80px; } | ||
408 | .ui-icon-newwin { background-position: -48px -80px; } | ||
409 | .ui-icon-refresh { background-position: -64px -80px; } | ||
410 | .ui-icon-shuffle { background-position: -80px -80px; } | ||
411 | .ui-icon-transfer-e-w { background-position: -96px -80px; } | ||
412 | .ui-icon-transferthick-e-w { background-position: -112px -80px; } | ||
413 | .ui-icon-folder-collapsed { background-position: 0 -96px; } | ||
414 | .ui-icon-folder-open { background-position: -16px -96px; } | ||
415 | .ui-icon-document { background-position: -32px -96px; } | ||
416 | .ui-icon-document-b { background-position: -48px -96px; } | ||
417 | .ui-icon-note { background-position: -64px -96px; } | ||
418 | .ui-icon-mail-closed { background-position: -80px -96px; } | ||
419 | .ui-icon-mail-open { background-position: -96px -96px; } | ||
420 | .ui-icon-suitcase { background-position: -112px -96px; } | ||
421 | .ui-icon-comment { background-position: -128px -96px; } | ||
422 | .ui-icon-person { background-position: -144px -96px; } | ||
423 | .ui-icon-print { background-position: -160px -96px; } | ||
424 | .ui-icon-trash { background-position: -176px -96px; } | ||
425 | .ui-icon-locked { background-position: -192px -96px; } | ||
426 | .ui-icon-unlocked { background-position: -208px -96px; } | ||
427 | .ui-icon-bookmark { background-position: -224px -96px; } | ||
428 | .ui-icon-tag { background-position: -240px -96px; } | ||
429 | .ui-icon-home { background-position: 0 -112px; } | ||
430 | .ui-icon-flag { background-position: -16px -112px; } | ||
431 | .ui-icon-calendar { background-position: -32px -112px; } | ||
432 | .ui-icon-cart { background-position: -48px -112px; } | ||
433 | .ui-icon-pencil { background-position: -64px -112px; } | ||
434 | .ui-icon-clock { background-position: -80px -112px; } | ||
435 | .ui-icon-disk { background-position: -96px -112px; } | ||
436 | .ui-icon-calculator { background-position: -112px -112px; } | ||
437 | .ui-icon-zoomin { background-position: -128px -112px; } | ||
438 | .ui-icon-zoomout { background-position: -144px -112px; } | ||
439 | .ui-icon-search { background-position: -160px -112px; } | ||
440 | .ui-icon-wrench { background-position: -176px -112px; } | ||
441 | .ui-icon-gear { background-position: -192px -112px; } | ||
442 | .ui-icon-heart { background-position: -208px -112px; } | ||
443 | .ui-icon-star { background-position: -224px -112px; } | ||
444 | .ui-icon-link { background-position: -240px -112px; } | ||
445 | .ui-icon-cancel { background-position: 0 -128px; } | ||
446 | .ui-icon-plus { background-position: -16px -128px; } | ||
447 | .ui-icon-plusthick { background-position: -32px -128px; } | ||
448 | .ui-icon-minus { background-position: -48px -128px; } | ||
449 | .ui-icon-minusthick { background-position: -64px -128px; } | ||
450 | .ui-icon-close { background-position: -80px -128px; } | ||
451 | .ui-icon-closethick { background-position: -96px -128px; } | ||
452 | .ui-icon-key { background-position: -112px -128px; } | ||
453 | .ui-icon-lightbulb { background-position: -128px -128px; } | ||
454 | .ui-icon-scissors { background-position: -144px -128px; } | ||
455 | .ui-icon-clipboard { background-position: -160px -128px; } | ||
456 | .ui-icon-copy { background-position: -176px -128px; } | ||
457 | .ui-icon-contact { background-position: -192px -128px; } | ||
458 | .ui-icon-image { background-position: -208px -128px; } | ||
459 | .ui-icon-video { background-position: -224px -128px; } | ||
460 | .ui-icon-script { background-position: -240px -128px; } | ||
461 | .ui-icon-alert { background-position: 0 -144px; } | ||
462 | .ui-icon-info { background-position: -16px -144px; } | ||
463 | .ui-icon-notice { background-position: -32px -144px; } | ||
464 | .ui-icon-help { background-position: -48px -144px; } | ||
465 | .ui-icon-check { background-position: -64px -144px; } | ||
466 | .ui-icon-bullet { background-position: -80px -144px; } | ||
467 | .ui-icon-radio-on { background-position: -96px -144px; } | ||
468 | .ui-icon-radio-off { background-position: -112px -144px; } | ||
469 | .ui-icon-pin-w { background-position: -128px -144px; } | ||
470 | .ui-icon-pin-s { background-position: -144px -144px; } | ||
471 | .ui-icon-play { background-position: 0 -160px; } | ||
472 | .ui-icon-pause { background-position: -16px -160px; } | ||
473 | .ui-icon-seek-next { background-position: -32px -160px; } | ||
474 | .ui-icon-seek-prev { background-position: -48px -160px; } | ||
475 | .ui-icon-seek-end { background-position: -64px -160px; } | ||
476 | .ui-icon-seek-start { background-position: -80px -160px; } | ||
477 | /* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */ | ||
478 | .ui-icon-seek-first { background-position: -80px -160px; } | ||
479 | .ui-icon-stop { background-position: -96px -160px; } | ||
480 | .ui-icon-eject { background-position: -112px -160px; } | ||
481 | .ui-icon-volume-off { background-position: -128px -160px; } | ||
482 | .ui-icon-volume-on { background-position: -144px -160px; } | ||
483 | .ui-icon-power { background-position: 0 -176px; } | ||
484 | .ui-icon-signal-diag { background-position: -16px -176px; } | ||
485 | .ui-icon-signal { background-position: -32px -176px; } | ||
486 | .ui-icon-battery-0 { background-position: -48px -176px; } | ||
487 | .ui-icon-battery-1 { background-position: -64px -176px; } | ||
488 | .ui-icon-battery-2 { background-position: -80px -176px; } | ||
489 | .ui-icon-battery-3 { background-position: -96px -176px; } | ||
490 | .ui-icon-circle-plus { background-position: 0 -192px; } | ||
491 | .ui-icon-circle-minus { background-position: -16px -192px; } | ||
492 | .ui-icon-circle-close { background-position: -32px -192px; } | ||
493 | .ui-icon-circle-triangle-e { background-position: -48px -192px; } | ||
494 | .ui-icon-circle-triangle-s { background-position: -64px -192px; } | ||
495 | .ui-icon-circle-triangle-w { background-position: -80px -192px; } | ||
496 | .ui-icon-circle-triangle-n { background-position: -96px -192px; } | ||
497 | .ui-icon-circle-arrow-e { background-position: -112px -192px; } | ||
498 | .ui-icon-circle-arrow-s { background-position: -128px -192px; } | ||
499 | .ui-icon-circle-arrow-w { background-position: -144px -192px; } | ||
500 | .ui-icon-circle-arrow-n { background-position: -160px -192px; } | ||
501 | .ui-icon-circle-zoomin { background-position: -176px -192px; } | ||
502 | .ui-icon-circle-zoomout { background-position: -192px -192px; } | ||
503 | .ui-icon-circle-check { background-position: -208px -192px; } | ||
504 | .ui-icon-circlesmall-plus { background-position: 0 -208px; } | ||
505 | .ui-icon-circlesmall-minus { background-position: -16px -208px; } | ||
506 | .ui-icon-circlesmall-close { background-position: -32px -208px; } | ||
507 | .ui-icon-squaresmall-plus { background-position: -48px -208px; } | ||
508 | .ui-icon-squaresmall-minus { background-position: -64px -208px; } | ||
509 | .ui-icon-squaresmall-close { background-position: -80px -208px; } | ||
510 | .ui-icon-grip-dotted-vertical { background-position: 0 -224px; } | ||
511 | .ui-icon-grip-dotted-horizontal { background-position: -16px -224px; } | ||
512 | .ui-icon-grip-solid-vertical { background-position: -32px -224px; } | ||
513 | .ui-icon-grip-solid-horizontal { background-position: -48px -224px; } | ||
514 | .ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; } | ||
515 | .ui-icon-grip-diagonal-se { background-position: -80px -224px; } | ||
516 | |||
517 | |||
518 | /* Misc visuals | ||
519 | ----------------------------------*/ | ||
520 | |||
521 | /* Corner radius */ | ||
522 | .ui-corner-all, | ||
523 | .ui-corner-top, | ||
524 | .ui-corner-left, | ||
525 | .ui-corner-tl { | ||
526 | border-top-left-radius: 4px; | ||
527 | } | ||
528 | .ui-corner-all, | ||
529 | .ui-corner-top, | ||
530 | .ui-corner-right, | ||
531 | .ui-corner-tr { | ||
532 | border-top-right-radius: 4px; | ||
533 | } | ||
534 | .ui-corner-all, | ||
535 | .ui-corner-bottom, | ||
536 | .ui-corner-left, | ||
537 | .ui-corner-bl { | ||
538 | border-bottom-left-radius: 4px; | ||
539 | } | ||
540 | .ui-corner-all, | ||
541 | .ui-corner-bottom, | ||
542 | .ui-corner-right, | ||
543 | .ui-corner-br { | ||
544 | border-bottom-right-radius: 4px; | ||
545 | } | ||
546 | |||
547 | /* Overlays */ | ||
548 | .ui-widget-overlay { | ||
549 | background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; | ||
550 | opacity: .3; | ||
551 | filter: Alpha(Opacity=30); | ||
552 | } | ||
553 | .ui-widget-shadow { | ||
554 | margin: -8px 0 0 -8px; | ||
555 | padding: 8px; | ||
556 | background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; | ||
557 | opacity: .3; | ||
558 | filter: Alpha(Opacity=30); | ||
559 | border-radius: 8px; | ||
560 | } | ||
diff --git a/themes/default/css/jquery-ui-1.10.4.custom.min.css b/themes/default/css/jquery-ui-1.10.4.custom.min.css deleted file mode 100644 index 4dba92a8..00000000 --- a/themes/default/css/jquery-ui-1.10.4.custom.min.css +++ /dev/null | |||
@@ -1,7 +0,0 @@ | |||
1 | /*! jQuery UI - v1.10.4 - 2014-03-09 | ||
2 | * http://jqueryui.com | ||
3 | * Includes: jquery.ui.core.css, jquery.ui.autocomplete.css, jquery.ui.menu.css, jquery.ui.theme.css | ||
4 | * To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Verdana%2CArial%2Csans-serif&fwDefault=normal&fsDefault=1.1em&cornerRadius=4px&bgColorHeader=cccccc&bgTextureHeader=highlight_soft&bgImgOpacityHeader=75&borderColorHeader=aaaaaa&fcHeader=222222&iconColorHeader=222222&bgColorContent=ffffff&bgTextureContent=flat&bgImgOpacityContent=75&borderColorContent=aaaaaa&fcContent=222222&iconColorContent=222222&bgColorDefault=e6e6e6&bgTextureDefault=glass&bgImgOpacityDefault=75&borderColorDefault=d3d3d3&fcDefault=555555&iconColorDefault=888888&bgColorHover=dadada&bgTextureHover=glass&bgImgOpacityHover=75&borderColorHover=999999&fcHover=212121&iconColorHover=454545&bgColorActive=ffffff&bgTextureActive=glass&bgImgOpacityActive=65&borderColorActive=aaaaaa&fcActive=212121&iconColorActive=454545&bgColorHighlight=fbf9ee&bgTextureHighlight=glass&bgImgOpacityHighlight=55&borderColorHighlight=fcefa1&fcHighlight=363636&iconColorHighlight=2e83ff&bgColorError=fef1ec&bgTextureError=glass&bgImgOpacityError=95&borderColorError=cd0a0a&fcError=cd0a0a&iconColorError=cd0a0a&bgColorOverlay=aaaaaa&bgTextureOverlay=flat&bgImgOpacityOverlay=0&opacityOverlay=30&bgColorShadow=aaaaaa&bgTextureShadow=flat&bgImgOpacityShadow=0&opacityShadow=30&thicknessShadow=8px&offsetTopShadow=-8px&offsetLeftShadow=-8px&cornerRadiusShadow=8px | ||
5 | * Copyright 2014 jQuery Foundation and other contributors; Licensed MIT */ | ||
6 | |||
7 | .ui-helper-hidden{display:none}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.ui-helper-clearfix:before,.ui-helper-clearfix:after{content:"";display:table;border-collapse:collapse}.ui-helper-clearfix:after{clear:both}.ui-helper-clearfix{min-height:0}.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:Alpha(Opacity=0)}.ui-front{z-index:100}.ui-state-disabled{cursor:default!important}.ui-icon{display:block;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-overlay{position:fixed;top:0;left:0;width:100%;height:100%}.ui-autocomplete{position:absolute;top:0;left:0;cursor:default}.ui-menu{list-style:none;padding:2px;margin:0;display:block;outline:none}.ui-menu .ui-menu{margin-top:-3px;position:absolute}.ui-menu .ui-menu-item{margin:0;padding:0;width:100%;list-style-image:url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)}.ui-menu .ui-menu-divider{margin:5px -2px 5px -2px;height:0;font-size:0;line-height:0;border-width:1px 0 0 0}.ui-menu .ui-menu-item a{text-decoration:none;display:block;padding:2px .4em;line-height:1.5;min-height:0;font-weight:normal}.ui-menu .ui-menu-item a.ui-state-focus,.ui-menu .ui-menu-item a.ui-state-active{font-weight:normal;margin:-1px}.ui-menu .ui-state-disabled{font-weight:normal;margin:.4em 0 .2em;line-height:1.5}.ui-menu .ui-state-disabled a{cursor:default}.ui-menu-icons{position:relative}.ui-menu-icons .ui-menu-item a{position:relative;padding-left:2em}.ui-menu .ui-icon{position:absolute;top:.2em;left:.2em}.ui-menu .ui-menu-icon{position:static;float:right}.ui-widget{font-family:Verdana,Arial,sans-serif;font-size:1.1em}.ui-widget .ui-widget{font-size:1em}.ui-widget input,.ui-widget select,.ui-widget textarea,.ui-widget button{font-family:Verdana,Arial,sans-serif;font-size:1em}.ui-widget-content{border:1px solid #aaa;background:#fff url(images/ui-bg_flat_75_ffffff_40x100.png) 50% 50% repeat-x;color:#222}.ui-widget-content a{color:#222}.ui-widget-header{border:1px solid #aaa;background:#ccc url(images/ui-bg_highlight-soft_75_cccccc_1x100.png) 50% 50% repeat-x;color:#222;font-weight:bold}.ui-widget-header a{color:#222}.ui-state-default,.ui-widget-content .ui-state-default,.ui-widget-header .ui-state-default{border:1px solid #d3d3d3;background:#e6e6e6 url(images/ui-bg_glass_75_e6e6e6_1x400.png) 50% 50% repeat-x;font-weight:normal;color:#555}.ui-state-default a,.ui-state-default a:link,.ui-state-default a:visited{color:#555;text-decoration:none}.ui-state-hover,.ui-widget-content .ui-state-hover,.ui-widget-header .ui-state-hover,.ui-state-focus,.ui-widget-content .ui-state-focus,.ui-widget-header .ui-state-focus{border:1px solid #999;background:#dadada url(images/ui-bg_glass_75_dadada_1x400.png) 50% 50% repeat-x;font-weight:normal;color:#212121}.ui-state-hover a,.ui-state-hover a:hover,.ui-state-hover a:link,.ui-state-hover a:visited,.ui-state-focus a,.ui-state-focus a:hover,.ui-state-focus a:link,.ui-state-focus a:visited{color:#212121;text-decoration:none}.ui-state-active,.ui-widget-content .ui-state-active,.ui-widget-header .ui-state-active{border:1px solid #aaa;background:#fff url(images/ui-bg_glass_65_ffffff_1x400.png) 50% 50% repeat-x;font-weight:normal;color:#212121}.ui-state-active a,.ui-state-active a:link,.ui-state-active a:visited{color:#212121;text-decoration:none}.ui-state-highlight,.ui-widget-content .ui-state-highlight,.ui-widget-header .ui-state-highlight{border:1px solid #fcefa1;background:#fbf9ee url(images/ui-bg_glass_55_fbf9ee_1x400.png) 50% 50% repeat-x;color:#363636}.ui-state-highlight a,.ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a{color:#363636}.ui-state-error,.ui-widget-content .ui-state-error,.ui-widget-header .ui-state-error{border:1px solid #cd0a0a;background:#fef1ec url(images/ui-bg_glass_95_fef1ec_1x400.png) 50% 50% repeat-x;color:#cd0a0a}.ui-state-error a,.ui-widget-content .ui-state-error a,.ui-widget-header .ui-state-error a{color:#cd0a0a}.ui-state-error-text,.ui-widget-content .ui-state-error-text,.ui-widget-header .ui-state-error-text{color:#cd0a0a}.ui-priority-primary,.ui-widget-content .ui-priority-primary,.ui-widget-header .ui-priority-primary{font-weight:bold}.ui-priority-secondary,.ui-widget-content .ui-priority-secondary,.ui-widget-header .ui-priority-secondary{opacity:.7;filter:Alpha(Opacity=70);font-weight:normal}.ui-state-disabled,.ui-widget-content .ui-state-disabled,.ui-widget-header .ui-state-disabled{opacity:.35;filter:Alpha(Opacity=35);background-image:none}.ui-state-disabled .ui-icon{filter:Alpha(Opacity=35)}.ui-icon{width:16px;height:16px}.ui-icon,.ui-widget-content .ui-icon{background-image:url(images/ui-icons_222222_256x240.png)}.ui-widget-header .ui-icon{background-image:url(images/ui-icons_222222_256x240.png)}.ui-state-default .ui-icon{background-image:url(images/ui-icons_888888_256x240.png)}.ui-state-hover .ui-icon,.ui-state-focus .ui-icon{background-image:url(images/ui-icons_454545_256x240.png)}.ui-state-active .ui-icon{background-image:url(images/ui-icons_454545_256x240.png)}.ui-state-highlight .ui-icon{background-image:url(images/ui-icons_2e83ff_256x240.png)}.ui-state-error .ui-icon,.ui-state-error-text .ui-icon{background-image:url(images/ui-icons_cd0a0a_256x240.png)}.ui-icon-blank{background-position:16px 16px}.ui-icon-carat-1-n{background-position:0 0}.ui-icon-carat-1-ne{background-position:-16px 0}.ui-icon-carat-1-e{background-position:-32px 0}.ui-icon-carat-1-se{background-position:-48px 0}.ui-icon-carat-1-s{background-position:-64px 0}.ui-icon-carat-1-sw{background-position:-80px 0}.ui-icon-carat-1-w{background-position:-96px 0}.ui-icon-carat-1-nw{background-position:-112px 0}.ui-icon-carat-2-n-s{background-position:-128px 0}.ui-icon-carat-2-e-w{background-position:-144px 0}.ui-icon-triangle-1-n{background-position:0 -16px}.ui-icon-triangle-1-ne{background-position:-16px -16px}.ui-icon-triangle-1-e{background-position:-32px -16px}.ui-icon-triangle-1-se{background-position:-48px -16px}.ui-icon-triangle-1-s{background-position:-64px -16px}.ui-icon-triangle-1-sw{background-position:-80px -16px}.ui-icon-triangle-1-w{background-position:-96px -16px}.ui-icon-triangle-1-nw{background-position:-112px -16px}.ui-icon-triangle-2-n-s{background-position:-128px -16px}.ui-icon-triangle-2-e-w{background-position:-144px -16px}.ui-icon-arrow-1-n{background-position:0 -32px}.ui-icon-arrow-1-ne{background-position:-16px -32px}.ui-icon-arrow-1-e{background-position:-32px -32px}.ui-icon-arrow-1-se{background-position:-48px -32px}.ui-icon-arrow-1-s{background-position:-64px -32px}.ui-icon-arrow-1-sw{background-position:-80px -32px}.ui-icon-arrow-1-w{background-position:-96px -32px}.ui-icon-arrow-1-nw{background-position:-112px -32px}.ui-icon-arrow-2-n-s{background-position:-128px -32px}.ui-icon-arrow-2-ne-sw{background-position:-144px -32px}.ui-icon-arrow-2-e-w{background-position:-160px -32px}.ui-icon-arrow-2-se-nw{background-position:-176px -32px}.ui-icon-arrowstop-1-n{background-position:-192px -32px}.ui-icon-arrowstop-1-e{background-position:-208px -32px}.ui-icon-arrowstop-1-s{background-position:-224px -32px}.ui-icon-arrowstop-1-w{background-position:-240px -32px}.ui-icon-arrowthick-1-n{background-position:0 -48px}.ui-icon-arrowthick-1-ne{background-position:-16px -48px}.ui-icon-arrowthick-1-e{background-position:-32px -48px}.ui-icon-arrowthick-1-se{background-position:-48px -48px}.ui-icon-arrowthick-1-s{background-position:-64px -48px}.ui-icon-arrowthick-1-sw{background-position:-80px -48px}.ui-icon-arrowthick-1-w{background-position:-96px -48px}.ui-icon-arrowthick-1-nw{background-position:-112px -48px}.ui-icon-arrowthick-2-n-s{background-position:-128px -48px}.ui-icon-arrowthick-2-ne-sw{background-position:-144px -48px}.ui-icon-arrowthick-2-e-w{background-position:-160px -48px}.ui-icon-arrowthick-2-se-nw{background-position:-176px -48px}.ui-icon-arrowthickstop-1-n{background-position:-192px -48px}.ui-icon-arrowthickstop-1-e{background-position:-208px -48px}.ui-icon-arrowthickstop-1-s{background-position:-224px -48px}.ui-icon-arrowthickstop-1-w{background-position:-240px -48px}.ui-icon-arrowreturnthick-1-w{background-position:0 -64px}.ui-icon-arrowreturnthick-1-n{background-position:-16px -64px}.ui-icon-arrowreturnthick-1-e{background-position:-32px -64px}.ui-icon-arrowreturnthick-1-s{background-position:-48px -64px}.ui-icon-arrowreturn-1-w{background-position:-64px -64px}.ui-icon-arrowreturn-1-n{background-position:-80px -64px}.ui-icon-arrowreturn-1-e{background-position:-96px -64px}.ui-icon-arrowreturn-1-s{background-position:-112px -64px}.ui-icon-arrowrefresh-1-w{background-position:-128px -64px}.ui-icon-arrowrefresh-1-n{background-position:-144px -64px}.ui-icon-arrowrefresh-1-e{background-position:-160px -64px}.ui-icon-arrowrefresh-1-s{background-position:-176px -64px}.ui-icon-arrow-4{background-position:0 -80px}.ui-icon-arrow-4-diag{background-position:-16px -80px}.ui-icon-extlink{background-position:-32px -80px}.ui-icon-newwin{background-position:-48px -80px}.ui-icon-refresh{background-position:-64px -80px}.ui-icon-shuffle{background-position:-80px -80px}.ui-icon-transfer-e-w{background-position:-96px -80px}.ui-icon-transferthick-e-w{background-position:-112px -80px}.ui-icon-folder-collapsed{background-position:0 -96px}.ui-icon-folder-open{background-position:-16px -96px}.ui-icon-document{background-position:-32px -96px}.ui-icon-document-b{background-position:-48px -96px}.ui-icon-note{background-position:-64px -96px}.ui-icon-mail-closed{background-position:-80px -96px}.ui-icon-mail-open{background-position:-96px -96px}.ui-icon-suitcase{background-position:-112px -96px}.ui-icon-comment{background-position:-128px -96px}.ui-icon-person{background-position:-144px -96px}.ui-icon-print{background-position:-160px -96px}.ui-icon-trash{background-position:-176px -96px}.ui-icon-locked{background-position:-192px -96px}.ui-icon-unlocked{background-position:-208px -96px}.ui-icon-bookmark{background-position:-224px -96px}.ui-icon-tag{background-position:-240px -96px}.ui-icon-home{background-position:0 -112px}.ui-icon-flag{background-position:-16px -112px}.ui-icon-calendar{background-position:-32px -112px}.ui-icon-cart{background-position:-48px -112px}.ui-icon-pencil{background-position:-64px -112px}.ui-icon-clock{background-position:-80px -112px}.ui-icon-disk{background-position:-96px -112px}.ui-icon-calculator{background-position:-112px -112px}.ui-icon-zoomin{background-position:-128px -112px}.ui-icon-zoomout{background-position:-144px -112px}.ui-icon-search{background-position:-160px -112px}.ui-icon-wrench{background-position:-176px -112px}.ui-icon-gear{background-position:-192px -112px}.ui-icon-heart{background-position:-208px -112px}.ui-icon-star{background-position:-224px -112px}.ui-icon-link{background-position:-240px -112px}.ui-icon-cancel{background-position:0 -128px}.ui-icon-plus{background-position:-16px -128px}.ui-icon-plusthick{background-position:-32px -128px}.ui-icon-minus{background-position:-48px -128px}.ui-icon-minusthick{background-position:-64px -128px}.ui-icon-close{background-position:-80px -128px}.ui-icon-closethick{background-position:-96px -128px}.ui-icon-key{background-position:-112px -128px}.ui-icon-lightbulb{background-position:-128px -128px}.ui-icon-scissors{background-position:-144px -128px}.ui-icon-clipboard{background-position:-160px -128px}.ui-icon-copy{background-position:-176px -128px}.ui-icon-contact{background-position:-192px -128px}.ui-icon-image{background-position:-208px -128px}.ui-icon-video{background-position:-224px -128px}.ui-icon-script{background-position:-240px -128px}.ui-icon-alert{background-position:0 -144px}.ui-icon-info{background-position:-16px -144px}.ui-icon-notice{background-position:-32px -144px}.ui-icon-help{background-position:-48px -144px}.ui-icon-check{background-position:-64px -144px}.ui-icon-bullet{background-position:-80px -144px}.ui-icon-radio-on{background-position:-96px -144px}.ui-icon-radio-off{background-position:-112px -144px}.ui-icon-pin-w{background-position:-128px -144px}.ui-icon-pin-s{background-position:-144px -144px}.ui-icon-play{background-position:0 -160px}.ui-icon-pause{background-position:-16px -160px}.ui-icon-seek-next{background-position:-32px -160px}.ui-icon-seek-prev{background-position:-48px -160px}.ui-icon-seek-end{background-position:-64px -160px}.ui-icon-seek-start{background-position:-80px -160px}.ui-icon-seek-first{background-position:-80px -160px}.ui-icon-stop{background-position:-96px -160px}.ui-icon-eject{background-position:-112px -160px}.ui-icon-volume-off{background-position:-128px -160px}.ui-icon-volume-on{background-position:-144px -160px}.ui-icon-power{background-position:0 -176px}.ui-icon-signal-diag{background-position:-16px -176px}.ui-icon-signal{background-position:-32px -176px}.ui-icon-battery-0{background-position:-48px -176px}.ui-icon-battery-1{background-position:-64px -176px}.ui-icon-battery-2{background-position:-80px -176px}.ui-icon-battery-3{background-position:-96px -176px}.ui-icon-circle-plus{background-position:0 -192px}.ui-icon-circle-minus{background-position:-16px -192px}.ui-icon-circle-close{background-position:-32px -192px}.ui-icon-circle-triangle-e{background-position:-48px -192px}.ui-icon-circle-triangle-s{background-position:-64px -192px}.ui-icon-circle-triangle-w{background-position:-80px -192px}.ui-icon-circle-triangle-n{background-position:-96px -192px}.ui-icon-circle-arrow-e{background-position:-112px -192px}.ui-icon-circle-arrow-s{background-position:-128px -192px}.ui-icon-circle-arrow-w{background-position:-144px -192px}.ui-icon-circle-arrow-n{background-position:-160px -192px}.ui-icon-circle-zoomin{background-position:-176px -192px}.ui-icon-circle-zoomout{background-position:-192px -192px}.ui-icon-circle-check{background-position:-208px -192px}.ui-icon-circlesmall-plus{background-position:0 -208px}.ui-icon-circlesmall-minus{background-position:-16px -208px}.ui-icon-circlesmall-close{background-position:-32px -208px}.ui-icon-squaresmall-plus{background-position:-48px -208px}.ui-icon-squaresmall-minus{background-position:-64px -208px}.ui-icon-squaresmall-close{background-position:-80px -208px}.ui-icon-grip-dotted-vertical{background-position:0 -224px}.ui-icon-grip-dotted-horizontal{background-position:-16px -224px}.ui-icon-grip-solid-vertical{background-position:-32px -224px}.ui-icon-grip-solid-horizontal{background-position:-48px -224px}.ui-icon-gripsmall-diagonal-se{background-position:-64px -224px}.ui-icon-grip-diagonal-se{background-position:-80px -224px}.ui-corner-all,.ui-corner-top,.ui-corner-left,.ui-corner-tl{border-top-left-radius:4px}.ui-corner-all,.ui-corner-top,.ui-corner-right,.ui-corner-tr{border-top-right-radius:4px}.ui-corner-all,.ui-corner-bottom,.ui-corner-left,.ui-corner-bl{border-bottom-left-radius:4px}.ui-corner-all,.ui-corner-bottom,.ui-corner-right,.ui-corner-br{border-bottom-right-radius:4px}.ui-widget-overlay{background:#aaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x;opacity:.3;filter:Alpha(Opacity=30)}.ui-widget-shadow{margin:-8px 0 0 -8px;padding:8px;background:#aaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x;opacity:.3;filter:Alpha(Opacity=30);border-radius:8px} \ No newline at end of file | ||
diff --git a/themes/default/css/style-default.css b/themes/default/css/style-default.css index 889a9f5c..4406d48f 100755 --- a/themes/default/css/style-default.css +++ b/themes/default/css/style-default.css | |||
@@ -38,6 +38,16 @@ a.flattr span { | |||
38 | background-image: url('../img/default/flattr.png'); | 38 | background-image: url('../img/default/flattr.png'); |
39 | } | 39 | } |
40 | 40 | ||
41 | a.carrot span { | ||
42 | background-image: url('../../_global/img/icons/carrot-icon--black.png'); | ||
43 | background-size: 16px 16px; | ||
44 | } | ||
45 | |||
46 | a.diaspora span { | ||
47 | background-image: url('../../_global/img/icons/diaspora-icon--black.png'); | ||
48 | background-size: 16px 16px; | ||
49 | } | ||
50 | |||
41 | a.email span { | 51 | a.email span { |
42 | background-image: url('../img/default/envelop.png'); | 52 | background-image: url('../img/default/envelop.png'); |
43 | } | 53 | } |
@@ -56,4 +66,4 @@ a.bad-display span { | |||
56 | 66 | ||
57 | a.print span { | 67 | a.print span { |
58 | background-image: url('../img/default/print.png'); | 68 | background-image: url('../img/default/print.png'); |
59 | } \ No newline at end of file | 69 | } |
diff --git a/themes/default/css/style.css b/themes/default/css/style.css index e58ef81a..b25373d6 100755 --- a/themes/default/css/style.css +++ b/themes/default/css/style.css | |||
@@ -417,6 +417,15 @@ a.add-to-wallabag-link-after:after { | |||
417 | padding-left: 10px; | 417 | padding-left: 10px; |
418 | } | 418 | } |
419 | 419 | ||
420 | /* ========================================================================== | ||
421 | "Search" popup div related styles | ||
422 | ========================================================================== */ | ||
423 | |||
424 | /* Search form message needs a little more width, depending on translations */ | ||
425 | #search-form { | ||
426 | width: 420px; | ||
427 | } | ||
428 | |||
420 | .opacity03 { | 429 | .opacity03 { |
421 | /*opacity: 0.3;*/ | 430 | /*opacity: 0.3;*/ |
422 | } | 431 | } |
@@ -429,4 +438,10 @@ a.add-to-wallabag-link-after:after { | |||
429 | text-indent: 0; | 438 | text-indent: 0; |
430 | color: black; | 439 | color: black; |
431 | width: 50px; | 440 | width: 50px; |
432 | } \ No newline at end of file | 441 | } |
442 | |||
443 | pre code { | ||
444 | font-family: "Courier New", Courier, monospace; | ||
445 | border: 1px solid #ddd; | ||
446 | font-size: 0.96em; | ||
447 | } | ||
diff --git a/themes/default/edit-tags.twig b/themes/default/edit-tags.twig index bd498d26..c29427e0 100755 --- a/themes/default/edit-tags.twig +++ b/themes/default/edit-tags.twig | |||
@@ -5,9 +5,9 @@ | |||
5 | {% endblock %} | 5 | {% endblock %} |
6 | {% block content %} | 6 | {% block content %} |
7 | 7 | ||
8 | <script src="{{ poche_url }}themes/default/js/jquery-ui-1.10.4.custom.min.js"></script> | 8 | <script src="{{ poche_url }}themes/_global/js/jquery-ui-1.10.4.custom.min.js"></script> |
9 | <script src="{{ poche_url }}themes/default/js/autoCompleteTags.js"></script> | 9 | <script src="{{ poche_url }}themes/_global/js/autoCompleteTags.js"></script> |
10 | <link rel="stylesheet" href="{{ poche_url }}themes/default/css/jquery-ui-1.10.4.custom.min.css" media="all"> | 10 | <link rel="stylesheet" href="{{ poche_url }}themes/_global/css/jquery-ui-1.10.4.custom.min.css" media="all"> |
11 | 11 | ||
12 | <div id="article"> | 12 | <div id="article"> |
13 | <header class="mbm"> | 13 | <header class="mbm"> |
@@ -16,15 +16,15 @@ | |||
16 | </div> | 16 | </div> |
17 | 17 | ||
18 | {% if tags is empty %} | 18 | {% if tags is empty %} |
19 | no tags | 19 | {% trans "no tags" %} |
20 | {% endif %} | 20 | {% endif %} |
21 | <ul> | 21 | <ul> |
22 | {% for tag in tags %}<li>{{ tag.value }} <a href="./?action=remove_tag&tag_id={{ tag.id }}&id={{ entry_id }}">✘</a></li>{% endfor %} | 22 | {% for tag in tags %}<li>{{ tag.value }} <a href="./?action=remove_tag&tag_id={{ tag.id }}&id={{ entry_id }}">✘</a></li>{% endfor %} |
23 | </ul> | 23 | </ul> |
24 | <form method="post" action="./?action=add_tag" id="editTags"> | 24 | <form method="post" action="./?action=add_tag" id="editTags"> |
25 | <input type="hidden" name="entry_id" value="{{ entry_id }}" /> | 25 | <input type="hidden" name="entry_id" value="{{ entry_id }}" /> |
26 | <label for="value">Add tags: </label> | 26 | <label for="value">{% trans "Add tags:" %}</label> |
27 | <input type="text" placeholder="interview, editorial, video" id="value" name="value" required="required" /> | 27 | <input type="text" placeholder="{% trans "interview" %}, {% trans "editorial" %}, {% trans "video" %}" id="value" name="value" required="required" /> |
28 | <input type="submit" value="Tag" /> | 28 | <input type="submit" value="Tag" /> |
29 | <p>{% trans "Start typing for auto complete." %}<br> | 29 | <p>{% trans "Start typing for auto complete." %}<br> |
30 | {% trans "You can enter multiple tags, separated by commas." %}</p> | 30 | {% trans "You can enter multiple tags, separated by commas." %}</p> |
diff --git a/themes/default/highlightjs/highlight.pack.js b/themes/default/highlightjs/highlight.pack.js new file mode 100644 index 00000000..10a21c34 --- /dev/null +++ b/themes/default/highlightjs/highlight.pack.js | |||
@@ -0,0 +1 @@ | |||
var hljs=new function(){function j(v){return v.replace(/&/gm,"&").replace(/</gm,"<").replace(/>/gm,">")}function t(v){return v.nodeName.toLowerCase()}function h(w,x){var v=w&&w.exec(x);return v&&v.index==0}function r(w){var v=(w.className+" "+(w.parentNode?w.parentNode.className:"")).split(/\s+/);v=v.map(function(x){return x.replace(/^lang(uage)?-/,"")});return v.filter(function(x){return i(x)||x=="no-highlight"})[0]}function o(x,y){var v={};for(var w in x){v[w]=x[w]}if(y){for(var w in y){v[w]=y[w]}}return v}function u(x){var v=[];(function w(y,z){for(var A=y.firstChild;A;A=A.nextSibling){if(A.nodeType==3){z+=A.nodeValue.length}else{if(t(A)=="br"){z+=1}else{if(A.nodeType==1){v.push({event:"start",offset:z,node:A});z=w(A,z);v.push({event:"stop",offset:z,node:A})}}}}return z})(x,0);return v}function q(w,y,C){var x=0;var F="";var z=[];function B(){if(!w.length||!y.length){return w.length?w:y}if(w[0].offset!=y[0].offset){return(w[0].offset<y[0].offset)?w:y}return y[0].event=="start"?w:y}function A(H){function G(I){return" "+I.nodeName+'="'+j(I.value)+'"'}F+="<"+t(H)+Array.prototype.map.call(H.attributes,G).join("")+">"}function E(G){F+="</"+t(G)+">"}function v(G){(G.event=="start"?A:E)(G.node)}while(w.length||y.length){var D=B();F+=j(C.substr(x,D[0].offset-x));x=D[0].offset;if(D==w){z.reverse().forEach(E);do{v(D.splice(0,1)[0]);D=B()}while(D==w&&D.length&&D[0].offset==x);z.reverse().forEach(A)}else{if(D[0].event=="start"){z.push(D[0].node)}else{z.pop()}v(D.splice(0,1)[0])}}return F+j(C.substr(x))}function m(y){function v(z){return(z&&z.source)||z}function w(A,z){return RegExp(v(A),"m"+(y.cI?"i":"")+(z?"g":""))}function x(D,C){if(D.compiled){return}D.compiled=true;D.k=D.k||D.bK;if(D.k){var z={};var E=function(G,F){if(y.cI){F=F.toLowerCase()}F.split(" ").forEach(function(H){var I=H.split("|");z[I[0]]=[G,I[1]?Number(I[1]):1]})};if(typeof D.k=="string"){E("keyword",D.k)}else{Object.keys(D.k).forEach(function(F){E(F,D.k[F])})}D.k=z}D.lR=w(D.l||/\b[A-Za-z0-9_]+\b/,true);if(C){if(D.bK){D.b="\\b("+D.bK.split(" ").join("|")+")\\b"}if(!D.b){D.b=/\B|\b/}D.bR=w(D.b);if(!D.e&&!D.eW){D.e=/\B|\b/}if(D.e){D.eR=w(D.e)}D.tE=v(D.e)||"";if(D.eW&&C.tE){D.tE+=(D.e?"|":"")+C.tE}}if(D.i){D.iR=w(D.i)}if(D.r===undefined){D.r=1}if(!D.c){D.c=[]}var B=[];D.c.forEach(function(F){if(F.v){F.v.forEach(function(G){B.push(o(F,G))})}else{B.push(F=="self"?D:F)}});D.c=B;D.c.forEach(function(F){x(F,D)});if(D.starts){x(D.starts,C)}var A=D.c.map(function(F){return F.bK?"\\.?("+F.b+")\\.?":F.b}).concat([D.tE,D.i]).map(v).filter(Boolean);D.t=A.length?w(A.join("|"),true):{exec:function(F){return null}};D.continuation={}}x(y)}function c(S,L,J,R){function v(U,V){for(var T=0;T<V.c.length;T++){if(h(V.c[T].bR,U)){return V.c[T]}}}function z(U,T){if(h(U.eR,T)){return U}if(U.eW){return z(U.parent,T)}}function A(T,U){return !J&&h(U.iR,T)}function E(V,T){var U=M.cI?T[0].toLowerCase():T[0];return V.k.hasOwnProperty(U)&&V.k[U]}function w(Z,X,W,V){var T=V?"":b.classPrefix,U='<span class="'+T,Y=W?"":"</span>";U+=Z+'">';return U+X+Y}function N(){if(!I.k){return j(C)}var T="";var W=0;I.lR.lastIndex=0;var U=I.lR.exec(C);while(U){T+=j(C.substr(W,U.index-W));var V=E(I,U);if(V){H+=V[1];T+=w(V[0],j(U[0]))}else{T+=j(U[0])}W=I.lR.lastIndex;U=I.lR.exec(C)}return T+j(C.substr(W))}function F(){if(I.sL&&!f[I.sL]){return j(C)}var T=I.sL?c(I.sL,C,true,I.continuation.top):e(C);if(I.r>0){H+=T.r}if(I.subLanguageMode=="continuous"){I.continuation.top=T.top}return w(T.language,T.value,false,true)}function Q(){return I.sL!==undefined?F():N()}function P(V,U){var T=V.cN?w(V.cN,"",true):"";if(V.rB){D+=T;C=""}else{if(V.eB){D+=j(U)+T;C=""}else{D+=T;C=U}}I=Object.create(V,{parent:{value:I}})}function G(T,X){C+=T;if(X===undefined){D+=Q();return 0}var V=v(X,I);if(V){D+=Q();P(V,X);return V.rB?0:X.length}var W=z(I,X);if(W){var U=I;if(!(U.rE||U.eE)){C+=X}D+=Q();do{if(I.cN){D+="</span>"}H+=I.r;I=I.parent}while(I!=W.parent);if(U.eE){D+=j(X)}C="";if(W.starts){P(W.starts,"")}return U.rE?0:X.length}if(A(X,I)){throw new Error('Illegal lexeme "'+X+'" for mode "'+(I.cN||"<unnamed>")+'"')}C+=X;return X.length||1}var M=i(S);if(!M){throw new Error('Unknown language: "'+S+'"')}m(M);var I=R||M;var D="";for(var K=I;K!=M;K=K.parent){if(K.cN){D+=w(K.cN,D,true)}}var C="";var H=0;try{var B,y,x=0;while(true){I.t.lastIndex=x;B=I.t.exec(L);if(!B){break}y=G(L.substr(x,B.index-x),B[0]);x=B.index+y}G(L.substr(x));for(var K=I;K.parent;K=K.parent){if(K.cN){D+="</span>"}}return{r:H,value:D,language:S,top:I}}catch(O){if(O.message.indexOf("Illegal")!=-1){return{r:0,value:j(L)}}else{throw O}}}function e(y,x){x=x||b.languages||Object.keys(f);var v={r:0,value:j(y)};var w=v;x.forEach(function(z){if(!i(z)){return}var A=c(z,y,false);A.language=z;if(A.r>w.r){w=A}if(A.r>v.r){w=v;v=A}});if(w.language){v.second_best=w}return v}function g(v){if(b.tabReplace){v=v.replace(/^((<[^>]+>|\t)+)/gm,function(w,z,y,x){return z.replace(/\t/g,b.tabReplace)})}if(b.useBR){v=v.replace(/\n/g,"<br>")}return v}function p(z){var y=b.useBR?z.innerHTML.replace(/\n/g,"").replace(/<br>|<br [^>]*>/g,"\n").replace(/<[^>]*>/g,""):z.textContent;var A=r(z);if(A=="no-highlight"){return}var v=A?c(A,y,true):e(y);var w=u(z);if(w.length){var x=document.createElementNS("http://www.w3.org/1999/xhtml","pre");x.innerHTML=v.value;v.value=q(w,u(x),y)}v.value=g(v.value);z.innerHTML=v.value;z.className+=" hljs "+(!A&&v.language||"");z.result={language:v.language,re:v.r};if(v.second_best){z.second_best={language:v.second_best.language,re:v.second_best.r}}}var b={classPrefix:"hljs-",tabReplace:null,useBR:false,languages:undefined};function s(v){b=o(b,v)}function l(){if(l.called){return}l.called=true;var v=document.querySelectorAll("pre code");Array.prototype.forEach.call(v,p)}function a(){addEventListener("DOMContentLoaded",l,false);addEventListener("load",l,false)}var f={};var n={};function d(v,x){var w=f[v]=x(this);if(w.aliases){w.aliases.forEach(function(y){n[y]=v})}}function k(){return Object.keys(f)}function i(v){return f[v]||f[n[v]]}this.highlight=c;this.highlightAuto=e;this.fixMarkup=g;this.highlightBlock=p;this.configure=s;this.initHighlighting=l;this.initHighlightingOnLoad=a;this.registerLanguage=d;this.listLanguages=k;this.getLanguage=i;this.inherit=o;this.IR="[a-zA-Z][a-zA-Z0-9_]*";this.UIR="[a-zA-Z_][a-zA-Z0-9_]*";this.NR="\\b\\d+(\\.\\d+)?";this.CNR="(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)";this.BNR="\\b(0b[01]+)";this.RSR="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~";this.BE={b:"\\\\[\\s\\S]",r:0};this.ASM={cN:"string",b:"'",e:"'",i:"\\n",c:[this.BE]};this.QSM={cN:"string",b:'"',e:'"',i:"\\n",c:[this.BE]};this.PWM={b:/\b(a|an|the|are|I|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such)\b/};this.CLCM={cN:"comment",b:"//",e:"$",c:[this.PWM]};this.CBCM={cN:"comment",b:"/\\*",e:"\\*/",c:[this.PWM]};this.HCM={cN:"comment",b:"#",e:"$",c:[this.PWM]};this.NM={cN:"number",b:this.NR,r:0};this.CNM={cN:"number",b:this.CNR,r:0};this.BNM={cN:"number",b:this.BNR,r:0};this.CSSNM={cN:"number",b:this.NR+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",r:0};this.RM={cN:"regexp",b:/\//,e:/\/[gim]*/,i:/\n/,c:[this.BE,{b:/\[/,e:/\]/,r:0,c:[this.BE]}]};this.TM={cN:"title",b:this.IR,r:0};this.UTM={cN:"title",b:this.UIR,r:0}}();hljs.registerLanguage("bash",function(b){var a={cN:"variable",v:[{b:/\$[\w\d#@][\w\d_]*/},{b:/\$\{(.*?)\}/}]};var d={cN:"string",b:/"/,e:/"/,c:[b.BE,a,{cN:"variable",b:/\$\(/,e:/\)/,c:[b.BE]}]};var c={cN:"string",b:/'/,e:/'/};return{aliases:["sh","zsh"],l:/-?[a-z\.]+/,k:{keyword:"if then else elif fi for break continue while in do done exit return set declare case esac export exec",literal:"true false",built_in:"printf echo read cd pwd pushd popd dirs let eval unset typeset readonly getopts source shopt caller type hash bind help sudo",operator:"-ne -eq -lt -gt -f -d -e -s -l -a"},c:[{cN:"shebang",b:/^#![^\n]+sh\s*$/,r:10},{cN:"function",b:/\w[\w\d_]*\s*\(\s*\)\s*\{/,rB:true,c:[b.inherit(b.TM,{b:/\w[\w\d_]*/})],r:0},b.HCM,b.NM,d,c,a]}});hljs.registerLanguage("cs",function(b){var a="abstract as base bool break byte case catch char checked const continue decimal default delegate do double else enum event explicit extern false finally fixed float for foreach goto if implicit in int interface internal is lock long new null object operator out override params private protected public readonly ref return sbyte sealed short sizeof stackalloc static string struct switch this throw true try typeof uint ulong unchecked unsafe ushort using virtual volatile void while async await ascending descending from get group into join let orderby partial select set value var where yield";return{aliases:["csharp"],k:a,i:/::/,c:[{cN:"comment",b:"///",e:"$",rB:true,c:[{cN:"xmlDocTag",v:[{b:"///",r:0},{b:"<!--|-->"},{b:"</?",e:">"}]}]},b.CLCM,b.CBCM,{cN:"preprocessor",b:"#",e:"$",k:"if else elif endif define undef warning error line region endregion pragma checksum"},{cN:"string",b:'@"',e:'"',c:[{b:'""'}]},b.ASM,b.QSM,b.CNM,{bK:"protected public private internal",e:/[{;=]/,k:a,c:[{bK:"class namespace interface",starts:{c:[b.TM]}},{b:b.IR+"\\s*\\(",rB:true,c:[b.TM]}]}]}});hljs.registerLanguage("ruby",function(f){var j="[a-zA-Z_]\\w*[!?=]?|[-+~]\\@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?";var i="and false then defined module in return redo if BEGIN retry end for true self when next until do begin unless END rescue nil else break undef not super class case require yield alias while ensure elsif or include attr_reader attr_writer attr_accessor";var b={cN:"yardoctag",b:"@[A-Za-z]+"};var c={cN:"value",b:"#<",e:">"};var k={cN:"comment",v:[{b:"#",e:"$",c:[b]},{b:"^\\=begin",e:"^\\=end",c:[b],r:10},{b:"^__END__",e:"\\n$"}]};var d={cN:"subst",b:"#\\{",e:"}",k:i};var e={cN:"string",c:[f.BE,d],v:[{b:/'/,e:/'/},{b:/"/,e:/"/},{b:"%[qw]?\\(",e:"\\)"},{b:"%[qw]?\\[",e:"\\]"},{b:"%[qw]?{",e:"}"},{b:"%[qw]?<",e:">"},{b:"%[qw]?/",e:"/"},{b:"%[qw]?%",e:"%"},{b:"%[qw]?-",e:"-"},{b:"%[qw]?\\|",e:"\\|"},{b:/\B\?(\\\d{1,3}|\\x[A-Fa-f0-9]{1,2}|\\u[A-Fa-f0-9]{4}|\\?\S)\b/}]};var a={cN:"params",b:"\\(",e:"\\)",k:i};var h=[e,c,k,{cN:"class",bK:"class module",e:"$|;",i:/=/,c:[f.inherit(f.TM,{b:"[A-Za-z_]\\w*(::\\w+)*(\\?|\\!)?"}),{cN:"inheritance",b:"<\\s*",c:[{cN:"parent",b:"("+f.IR+"::)?"+f.IR}]},k]},{cN:"function",bK:"def",e:" |$|;",r:0,c:[f.inherit(f.TM,{b:j}),a,k]},{cN:"constant",b:"(::)?(\\b[A-Z]\\w*(::)?)+",r:0},{cN:"symbol",b:":",c:[e,{b:j}],r:0},{cN:"symbol",b:f.UIR+"(\\!|\\?)?:",r:0},{cN:"number",b:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",r:0},{cN:"variable",b:"(\\$\\W)|((\\$|\\@\\@?)(\\w+))"},{b:"("+f.RSR+")\\s*",c:[c,k,{cN:"regexp",c:[f.BE,d],i:/\n/,v:[{b:"/",e:"/[a-z]*"},{b:"%r{",e:"}[a-z]*"},{b:"%r\\(",e:"\\)[a-z]*"},{b:"%r!",e:"![a-z]*"},{b:"%r\\[",e:"\\][a-z]*"}]}],r:0}];d.c=h;a.c=h;var g=[{r:1,cN:"output",b:"^\\s*=> ",e:"$",rB:true,c:[{cN:"status",b:"^\\s*=>"},{b:" ",e:"$",c:h}]},{r:1,cN:"input",b:"^[^ ][^=>]*>+ ",e:"$",rB:true,c:[{cN:"prompt",b:"^[^ ][^=>]*>+"},{b:" ",e:"$",c:h}]}];return{aliases:["rb","gemspec","podspec","thor","irb"],k:i,c:g.concat(h)}});hljs.registerLanguage("diff",function(a){return{aliases:["patch"],c:[{cN:"chunk",r:10,v:[{b:/^\@\@ +\-\d+,\d+ +\+\d+,\d+ +\@\@$/},{b:/^\*\*\* +\d+,\d+ +\*\*\*\*$/},{b:/^\-\-\- +\d+,\d+ +\-\-\-\-$/}]},{cN:"header",v:[{b:/Index: /,e:/$/},{b:/=====/,e:/=====$/},{b:/^\-\-\-/,e:/$/},{b:/^\*{3} /,e:/$/},{b:/^\+\+\+/,e:/$/},{b:/\*{5}/,e:/\*{5}$/}]},{cN:"addition",b:"^\\+",e:"$"},{cN:"deletion",b:"^\\-",e:"$"},{cN:"change",b:"^\\!",e:"$"}]}});hljs.registerLanguage("javascript",function(a){return{aliases:["js"],k:{keyword:"in if for while finally var new function do return void else break catch instanceof with throw case default try this switch continue typeof delete let yield const class",literal:"true false null undefined NaN Infinity",built_in:"eval isFinite isNaN parseFloat parseInt decodeURI decodeURIComponent encodeURI encodeURIComponent escape unescape Object Function Boolean Error EvalError InternalError RangeError ReferenceError StopIteration SyntaxError TypeError URIError Number Math Date String RegExp Array Float32Array Float64Array Int16Array Int32Array Int8Array Uint16Array Uint32Array Uint8Array Uint8ClampedArray ArrayBuffer DataView JSON Intl arguments require module console window document"},c:[{cN:"pi",b:/^\s*('|")use strict('|")/,r:10},a.ASM,a.QSM,a.CLCM,a.CBCM,a.CNM,{b:"("+a.RSR+"|\\b(case|return|throw)\\b)\\s*",k:"return throw case",c:[a.CLCM,a.CBCM,a.RM,{b:/</,e:/>;/,r:0,sL:"xml"}],r:0},{cN:"function",bK:"function",e:/\{/,eE:true,c:[a.inherit(a.TM,{b:/[A-Za-z$_][0-9A-Za-z$_]*/}),{cN:"params",b:/\(/,e:/\)/,c:[a.CLCM,a.CBCM],i:/["'\(]/}],i:/\[|%/},{b:/\$[(.]/},{b:"\\."+a.IR,r:0}]}});hljs.registerLanguage("xml",function(a){var c="[A-Za-z0-9\\._:-]+";var d={b:/<\?(php)?(?!\w)/,e:/\?>/,sL:"php",subLanguageMode:"continuous"};var b={eW:true,i:/</,r:0,c:[d,{cN:"attribute",b:c,r:0},{b:"=",r:0,c:[{cN:"value",v:[{b:/"/,e:/"/},{b:/'/,e:/'/},{b:/[^\s\/>]+/}]}]}]};return{aliases:["html","xhtml","rss","atom","xsl","plist"],cI:true,c:[{cN:"doctype",b:"<!DOCTYPE",e:">",r:10,c:[{b:"\\[",e:"\\]"}]},{cN:"comment",b:"<!--",e:"-->",r:10},{cN:"cdata",b:"<\\!\\[CDATA\\[",e:"\\]\\]>",r:10},{cN:"tag",b:"<style(?=\\s|>|$)",e:">",k:{title:"style"},c:[b],starts:{e:"</style>",rE:true,sL:"css"}},{cN:"tag",b:"<script(?=\\s|>|$)",e:">",k:{title:"script"},c:[b],starts:{e:"<\/script>",rE:true,sL:"javascript"}},{b:"<%",e:"%>",sL:"vbscript"},d,{cN:"pi",b:/<\?\w+/,e:/\?>/,r:10},{cN:"tag",b:"</?",e:"/?>",c:[{cN:"title",b:"[^ /><]+",r:0},b]}]}});hljs.registerLanguage("markdown",function(a){return{aliases:["md","mkdown","mkd"],c:[{cN:"header",v:[{b:"^#{1,6}",e:"$"},{b:"^.+?\\n[=-]{2,}$"}]},{b:"<",e:">",sL:"xml",r:0},{cN:"bullet",b:"^([*+-]|(\\d+\\.))\\s+"},{cN:"strong",b:"[*_]{2}.+?[*_]{2}"},{cN:"emphasis",v:[{b:"\\*.+?\\*"},{b:"_.+?_",r:0}]},{cN:"blockquote",b:"^>\\s+",e:"$"},{cN:"code",v:[{b:"`.+?`"},{b:"^( {4}|\t)",e:"$",r:0}]},{cN:"horizontal_rule",b:"^[-\\*]{3,}",e:"$"},{b:"\\[.+?\\][\\(\\[].+?[\\)\\]]",rB:true,c:[{cN:"link_label",b:"\\[",e:"\\]",eB:true,rE:true,r:0},{cN:"link_url",b:"\\]\\(",e:"\\)",eB:true,eE:true},{cN:"link_reference",b:"\\]\\[",e:"\\]",eB:true,eE:true}],r:10},{b:"^\\[.+\\]:",e:"$",rB:true,c:[{cN:"link_reference",b:"\\[",e:"\\]",eB:true,eE:true},{cN:"link_url",b:"\\s",e:"$"}]}]}});hljs.registerLanguage("css",function(a){var b="[a-zA-Z-][a-zA-Z0-9_-]*";var c={cN:"function",b:b+"\\(",rB:true,eE:true,e:"\\("};return{cI:true,i:"[=/|']",c:[a.CBCM,{cN:"id",b:"\\#[A-Za-z0-9_-]+"},{cN:"class",b:"\\.[A-Za-z0-9_-]+",r:0},{cN:"attr_selector",b:"\\[",e:"\\]",i:"$"},{cN:"pseudo",b:":(:)?[a-zA-Z0-9\\_\\-\\+\\(\\)\\\"\\']+"},{cN:"at_rule",b:"@(font-face|page)",l:"[a-z-]+",k:"font-face page"},{cN:"at_rule",b:"@",e:"[{;]",c:[{cN:"keyword",b:/\S+/},{b:/\s/,eW:true,eE:true,r:0,c:[c,a.ASM,a.QSM,a.CSSNM]}]},{cN:"tag",b:b,r:0},{cN:"rules",b:"{",e:"}",i:"[^\\s]",r:0,c:[a.CBCM,{cN:"rule",b:"[^\\s]",rB:true,e:";",eW:true,c:[{cN:"attribute",b:"[A-Z\\_\\.\\-]+",e:":",eE:true,i:"[^\\s]",starts:{cN:"value",eW:true,eE:true,c:[c,a.CSSNM,a.QSM,a.ASM,a.CBCM,{cN:"hexcolor",b:"#[0-9A-Fa-f]+"},{cN:"important",b:"!important"}]}}]}]}]}});hljs.registerLanguage("http",function(a){return{i:"\\S",c:[{cN:"status",b:"^HTTP/[0-9\\.]+",e:"$",c:[{cN:"number",b:"\\b\\d{3}\\b"}]},{cN:"request",b:"^[A-Z]+ (.*?) HTTP/[0-9\\.]+$",rB:true,e:"$",c:[{cN:"string",b:" ",e:" ",eB:true,eE:true}]},{cN:"attribute",b:"^\\w",e:": ",eE:true,i:"\\n|\\s|=",starts:{cN:"string",e:"$"}},{b:"\\n\\n",starts:{sL:"",eW:true}}]}});hljs.registerLanguage("java",function(b){var a="false synchronized int abstract float private char boolean static null if const for true while long throw strictfp finally protected import native final return void enum else break transient new catch instanceof byte super volatile case assert short package default double public try this switch continue throws";return{aliases:["jsp"],k:a,i:/<\//,c:[{cN:"javadoc",b:"/\\*\\*",e:"\\*/",c:[{cN:"javadoctag",b:"(^|\\s)@[A-Za-z]+"}],r:10},b.CLCM,b.CBCM,b.ASM,b.QSM,{bK:"protected public private",e:/[{;=]/,k:a,c:[{cN:"class",bK:"class interface",eW:true,eE:true,i:/[:"\[\]]/,c:[{bK:"extends implements",r:10},b.UTM]},{b:b.UIR+"\\s*\\(",rB:true,c:[b.UTM]}]},b.CNM,{cN:"annotation",b:"@[A-Za-z]+"}]}});hljs.registerLanguage("php",function(b){var e={cN:"variable",b:"(\\$|->)+[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*"};var a={cN:"preprocessor",b:/<\?(php)?|\?>/};var c={cN:"string",c:[b.BE,a],v:[{b:'b"',e:'"'},{b:"b'",e:"'"},b.inherit(b.ASM,{i:null}),b.inherit(b.QSM,{i:null})]};var d={v:[b.BNM,b.CNM]};return{aliases:["php3","php4","php5","php6"],cI:true,k:"and include_once list abstract global private echo interface as static endswitch array null if endwhile or const for endforeach self var while isset public protected exit foreach throw elseif include __FILE__ empty require_once do xor return parent clone use __CLASS__ __LINE__ else break print eval new catch __METHOD__ case exception default die require __FUNCTION__ enddeclare final try switch continue endfor endif declare unset true false trait goto instanceof insteadof __DIR__ __NAMESPACE__ yield finally",c:[b.CLCM,b.HCM,{cN:"comment",b:"/\\*",e:"\\*/",c:[{cN:"phpdoc",b:"\\s@[A-Za-z]+"},a]},{cN:"comment",b:"__halt_compiler.+?;",eW:true,k:"__halt_compiler",l:b.UIR},{cN:"string",b:"<<<['\"]?\\w+['\"]?$",e:"^\\w+;",c:[b.BE]},a,e,{cN:"function",bK:"function",e:/[;{]/,eE:true,i:"\\$|\\[|%",c:[b.UTM,{cN:"params",b:"\\(",e:"\\)",c:["self",e,b.CBCM,c,d]}]},{cN:"class",bK:"class interface",e:"{",eE:true,i:/[:\(\$"]/,c:[{bK:"extends implements",r:10},b.UTM]},{bK:"namespace",e:";",i:/[\.']/,c:[b.UTM]},{bK:"use",e:";",c:[b.UTM]},{b:"=>"},c,d]}});hljs.registerLanguage("python",function(a){var f={cN:"prompt",b:/^(>>>|\.\.\.) /};var b={cN:"string",c:[a.BE],v:[{b:/(u|b)?r?'''/,e:/'''/,c:[f],r:10},{b:/(u|b)?r?"""/,e:/"""/,c:[f],r:10},{b:/(u|r|ur)'/,e:/'/,r:10},{b:/(u|r|ur)"/,e:/"/,r:10},{b:/(b|br)'/,e:/'/},{b:/(b|br)"/,e:/"/},a.ASM,a.QSM]};var d={cN:"number",r:0,v:[{b:a.BNR+"[lLjJ]?"},{b:"\\b(0o[0-7]+)[lLjJ]?"},{b:a.CNR+"[lLjJ]?"}]};var e={cN:"params",b:/\(/,e:/\)/,c:["self",f,d,b]};var c={e:/:/,i:/[${=;\n]/,c:[a.UTM,e]};return{aliases:["py","gyp"],k:{keyword:"and elif is global as in if from raise for except finally print import pass return exec else break not with class assert yield try while continue del or def lambda nonlocal|10 None True False",built_in:"Ellipsis NotImplemented"},i:/(<\/|->|\?)/,c:[f,d,b,a.HCM,a.inherit(c,{cN:"function",bK:"def",r:10}),a.inherit(c,{cN:"class",bK:"class"}),{cN:"decorator",b:/@/,e:/$/},{b:/\b(print|exec)\(/}]}});hljs.registerLanguage("sql",function(a){var b={cN:"comment",b:"--",e:"$"};return{cI:true,i:/[<>]/,c:[{cN:"operator",bK:"begin end start commit rollback savepoint lock alter create drop rename call delete do handler insert load replace select truncate update set show pragma grant merge describe use explain help declare prepare execute deallocate savepoint release unlock purge reset change stop analyze cache flush optimize repair kill install uninstall checksum restore check backup",e:/;/,eW:true,k:{keyword:"abs absolute acos action add adddate addtime aes_decrypt aes_encrypt after aggregate all allocate alter analyze and any are as asc ascii asin assertion at atan atan2 atn2 authorization authors avg backup before begin benchmark between bin binlog bit_and bit_count bit_length bit_or bit_xor both by cache call cascade cascaded case cast catalog ceil ceiling chain change changed char_length character_length charindex charset check checksum checksum_agg choose close coalesce coercibility collate collation collationproperty column columns columns_updated commit compress concat concat_ws concurrent connect connection connection_id consistent constraint constraints continue contributors conv convert convert_tz corresponding cos cot count count_big crc32 create cross cume_dist curdate current current_date current_time current_timestamp current_user cursor curtime data database databases datalength date_add date_format date_sub dateadd datediff datefromparts datename datepart datetime2fromparts datetimeoffsetfromparts day dayname dayofmonth dayofweek dayofyear deallocate declare decode default deferrable deferred degrees delayed delete des_decrypt des_encrypt des_key_file desc describe descriptor diagnostics difference disconnect distinct distinctrow div do domain double drop dumpfile each else elt enclosed encode encrypt end end-exec engine engines eomonth errors escape escaped event eventdata events except exception exec execute exists exp explain export_set extended external extract fast fetch field fields find_in_set first first_value floor flush for force foreign format found found_rows from from_base64 from_days from_unixtime full function get get_format get_lock getdate getutcdate global go goto grant grants greatest group group_concat grouping grouping_id gtid_subset gtid_subtract handler having help hex high_priority hosts hour ident_current ident_incr ident_seed identified identity if ifnull ignore iif ilike immediate in index indicator inet6_aton inet6_ntoa inet_aton inet_ntoa infile initially inner innodb input insert install instr intersect into is is_free_lock is_ipv4 is_ipv4_compat is_ipv4_mapped is_not is_not_null is_used_lock isdate isnull isolation join key kill language last last_day last_insert_id last_value lcase lead leading least leaves left len lenght level like limit lines ln load load_file local localtime localtimestamp locate lock log log10 log2 logfile logs low_priority lower lpad ltrim make_set makedate maketime master master_pos_wait match matched max md5 medium merge microsecond mid min minute mod mode module month monthname mutex name_const names national natural nchar next no no_write_to_binlog not now nullif nvarchar oct octet_length of old_password on only open optimize option optionally or ord order outer outfile output pad parse partial partition password patindex percent_rank percentile_cont percentile_disc period_add period_diff pi plugin position pow power pragma precision prepare preserve primary prior privileges procedure procedure_analyze processlist profile profiles public publishingservername purge quarter query quick quote quotename radians rand read references regexp relative relaylog release release_lock rename repair repeat replace replicate reset restore restrict return returns reverse revoke right rlike rollback rollup round row row_count rows rpad rtrim savepoint schema scroll sec_to_time second section select serializable server session session_user set sha sha1 sha2 share show sign sin size slave sleep smalldatetimefromparts snapshot some soname soundex sounds_like space sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_no_cache sql_small_result sql_variant_property sqlstate sqrt square start starting status std stddev stddev_pop stddev_samp stdev stdevp stop str str_to_date straight_join strcmp string stuff subdate substr substring subtime subtring_index sum switchoffset sysdate sysdatetime sysdatetimeoffset system_user sysutcdatetime table tables tablespace tan temporary terminated tertiary_weights then time time_format time_to_sec timediff timefromparts timestamp timestampadd timestampdiff timezone_hour timezone_minute to to_base64 to_days to_seconds todatetimeoffset trailing transaction translation trigger trigger_nestlevel triggers trim truncate try_cast try_convert try_parse ucase uncompress uncompressed_length unhex unicode uninstall union unique unix_timestamp unknown unlock update upgrade upped upper usage use user user_resources using utc_date utc_time utc_timestamp uuid uuid_short validate_password_strength value values var var_pop var_samp variables variance varp version view warnings week weekday weekofyear weight_string when whenever where with work write xml xor year yearweek zon",literal:"true false null",built_in:"array bigint binary bit blob boolean char character date dec decimal float int integer interval number numeric real serial smallint varchar varying int8 serial8 text"},c:[{cN:"string",b:"'",e:"'",c:[a.BE,{b:"''"}]},{cN:"string",b:'"',e:'"',c:[a.BE,{b:'""'}]},{cN:"string",b:"`",e:"`",c:[a.BE]},a.CNM,a.CBCM,b]},a.CBCM,b]}});hljs.registerLanguage("ini",function(a){return{cI:true,i:/\S/,c:[{cN:"comment",b:";",e:"$"},{cN:"title",b:"^\\[",e:"\\]"},{cN:"setting",b:"^[a-z0-9\\[\\]_-]+[ \\t]*=[ \\t]*",e:"$",c:[{cN:"value",eW:true,k:"on off true false yes no",c:[a.QSM,a.NM],r:0}]}]}});hljs.registerLanguage("perl",function(c){var d="getpwent getservent quotemeta msgrcv scalar kill dbmclose undef lc ma syswrite tr send umask sysopen shmwrite vec qx utime local oct semctl localtime readpipe do return format read sprintf dbmopen pop getpgrp not getpwnam rewinddir qqfileno qw endprotoent wait sethostent bless s|0 opendir continue each sleep endgrent shutdown dump chomp connect getsockname die socketpair close flock exists index shmgetsub for endpwent redo lstat msgctl setpgrp abs exit select print ref gethostbyaddr unshift fcntl syscall goto getnetbyaddr join gmtime symlink semget splice x|0 getpeername recv log setsockopt cos last reverse gethostbyname getgrnam study formline endhostent times chop length gethostent getnetent pack getprotoent getservbyname rand mkdir pos chmod y|0 substr endnetent printf next open msgsnd readdir use unlink getsockopt getpriority rindex wantarray hex system getservbyport endservent int chr untie rmdir prototype tell listen fork shmread ucfirst setprotoent else sysseek link getgrgid shmctl waitpid unpack getnetbyname reset chdir grep split require caller lcfirst until warn while values shift telldir getpwuid my getprotobynumber delete and sort uc defined srand accept package seekdir getprotobyname semop our rename seek if q|0 chroot sysread setpwent no crypt getc chown sqrt write setnetent setpriority foreach tie sin msgget map stat getlogin unless elsif truncate exec keys glob tied closedirioctl socket readlink eval xor readline binmode setservent eof ord bind alarm pipe atan2 getgrent exp time push setgrent gt lt or ne m|0 break given say state when";var f={cN:"subst",b:"[$@]\\{",e:"\\}",k:d};var g={b:"->{",e:"}"};var a={cN:"variable",v:[{b:/\$\d/},{b:/[\$\%\@](\^\w\b|#\w+(\:\:\w+)*|{\w+}|\w+(\:\:\w*)*)/},{b:/[\$\%\@][^\s\w{]/,r:0}]};var e={cN:"comment",b:"^(__END__|__DATA__)",e:"\\n$",r:5};var h=[c.BE,f,a];var b=[a,c.HCM,e,{cN:"comment",b:"^\\=\\w",e:"\\=cut",eW:true},g,{cN:"string",c:h,v:[{b:"q[qwxr]?\\s*\\(",e:"\\)",r:5},{b:"q[qwxr]?\\s*\\[",e:"\\]",r:5},{b:"q[qwxr]?\\s*\\{",e:"\\}",r:5},{b:"q[qwxr]?\\s*\\|",e:"\\|",r:5},{b:"q[qwxr]?\\s*\\<",e:"\\>",r:5},{b:"qw\\s+q",e:"q",r:5},{b:"'",e:"'",c:[c.BE]},{b:'"',e:'"'},{b:"`",e:"`",c:[c.BE]},{b:"{\\w+}",c:[],r:0},{b:"-?\\w+\\s*\\=\\>",c:[],r:0}]},{cN:"number",b:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",r:0},{b:"(\\/\\/|"+c.RSR+"|\\b(split|return|print|reverse|grep)\\b)\\s*",k:"split return print reverse grep",r:0,c:[c.HCM,e,{cN:"regexp",b:"(s|tr|y)/(\\\\.|[^/])*/(\\\\.|[^/])*/[a-z]*",r:10},{cN:"regexp",b:"(m|qr)?/",e:"/[a-z]*",c:[c.BE],r:0}]},{cN:"sub",bK:"sub",e:"(\\s*\\(.*?\\))?[;{]",r:5},{cN:"operator",b:"-\\w\\b",r:0}];f.c=b;g.c=b;return{aliases:["pl"],k:d,c:b}});hljs.registerLanguage("objectivec",function(a){var d={keyword:"int float while char export sizeof typedef const struct for union unsigned long volatile static bool mutable if do return goto void enum else break extern asm case short default double register explicit signed typename this switch continue wchar_t inline readonly assign readwrite self @synchronized id typeof nonatomic super unichar IBOutlet IBAction strong weak copy in out inout bycopy byref oneway __strong __weak __block __autoreleasing @private @protected @public @try @property @end @throw @catch @finally @autoreleasepool @synthesize @dynamic @selector @optional @required",literal:"false true FALSE TRUE nil YES NO NULL",built_in:"NSString NSDictionary CGRect CGPoint UIButton UILabel UITextView UIWebView MKMapView NSView NSViewController NSWindow NSWindowController NSSet NSUUID NSIndexSet UISegmentedControl NSObject UITableViewDelegate UITableViewDataSource NSThread UIActivityIndicator UITabbar UIToolBar UIBarButtonItem UIImageView NSAutoreleasePool UITableView BOOL NSInteger CGFloat NSException NSLog NSMutableString NSMutableArray NSMutableDictionary NSURL NSIndexPath CGSize UITableViewCell UIView UIViewController UINavigationBar UINavigationController UITabBarController UIPopoverController UIPopoverControllerDelegate UIImage NSNumber UISearchBar NSFetchedResultsController NSFetchedResultsChangeType UIScrollView UIScrollViewDelegate UIEdgeInsets UIColor UIFont UIApplication NSNotFound NSNotificationCenter NSNotification UILocalNotification NSBundle NSFileManager NSTimeInterval NSDate NSCalendar NSUserDefaults UIWindow NSRange NSArray NSError NSURLRequest NSURLConnection UIInterfaceOrientation MPMoviePlayerController dispatch_once_t dispatch_queue_t dispatch_sync dispatch_async dispatch_once"};var c=/[a-zA-Z@][a-zA-Z0-9_]*/;var b="@interface @class @protocol @implementation";return{aliases:["m","mm","objc","obj-c"],k:d,l:c,i:"</",c:[a.CLCM,a.CBCM,a.CNM,a.QSM,{cN:"string",v:[{b:'@"',e:'"',i:"\\n",c:[a.BE]},{b:"'",e:"[^\\\\]'",i:"[^\\\\][^']"}]},{cN:"preprocessor",b:"#",e:"$",c:[{cN:"title",v:[{b:'"',e:'"'},{b:"<",e:">"}]}]},{cN:"class",b:"("+b.split(" ").join("|")+")\\b",e:"({|$)",eE:true,k:b,l:c,c:[a.UTM]},{cN:"variable",b:"\\."+a.UIR,r:0}]}});hljs.registerLanguage("coffeescript",function(c){var b={keyword:"in if for while finally new do return else break catch instanceof throw try this switch continue typeof delete debugger super then unless until loop of by when and or is isnt not",literal:"true false null undefined yes no on off",reserved:"case default function var void with const let enum export import native __hasProp __extends __slice __bind __indexOf",built_in:"npm require console print module global window document"};var a="[A-Za-z$_][0-9A-Za-z$_]*";var f=c.inherit(c.TM,{b:a});var e={cN:"subst",b:/#\{/,e:/}/,k:b};var d=[c.BNM,c.inherit(c.CNM,{starts:{e:"(\\s*/)?",r:0}}),{cN:"string",v:[{b:/'''/,e:/'''/,c:[c.BE]},{b:/'/,e:/'/,c:[c.BE]},{b:/"""/,e:/"""/,c:[c.BE,e]},{b:/"/,e:/"/,c:[c.BE,e]}]},{cN:"regexp",v:[{b:"///",e:"///",c:[e,c.HCM]},{b:"//[gim]*",r:0},{b:"/\\S(\\\\.|[^\\n])*?/[gim]*(?=\\s|\\W|$)"}]},{cN:"property",b:"@"+a},{b:"`",e:"`",eB:true,eE:true,sL:"javascript"}];e.c=d;return{aliases:["coffee","cson","iced"],k:b,c:d.concat([{cN:"comment",b:"###",e:"###"},c.HCM,{cN:"function",b:"("+a+"\\s*=\\s*)?(\\(.*\\))?\\s*\\B[-=]>",e:"[-=]>",rB:true,c:[f,{cN:"params",b:"\\(",rB:true,c:[{b:/\(/,e:/\)/,k:b,c:["self"].concat(d)}]}]},{cN:"class",bK:"class",e:"$",i:/[:="\[\]]/,c:[{bK:"extends",eW:true,i:/[:="\[\]]/,c:[f]},f]},{cN:"attribute",b:a+":",e:":",rB:true,eE:true,r:0}])}});hljs.registerLanguage("nginx",function(c){var b={cN:"variable",v:[{b:/\$\d+/},{b:/\$\{/,e:/}/},{b:"[\\$\\@]"+c.UIR}]};var a={eW:true,l:"[a-z/_]+",k:{built_in:"on off yes no true false none blocked debug info notice warn error crit select break last permanent redirect kqueue rtsig epoll poll /dev/poll"},r:0,i:"=>",c:[c.HCM,{cN:"string",c:[c.BE,b],v:[{b:/"/,e:/"/},{b:/'/,e:/'/}]},{cN:"url",b:"([a-z]+):/",e:"\\s",eW:true,eE:true},{cN:"regexp",c:[c.BE,b],v:[{b:"\\s\\^",e:"\\s|{|;",rE:true},{b:"~\\*?\\s+",e:"\\s|{|;",rE:true},{b:"\\*(\\.[a-z\\-]+)+"},{b:"([a-z\\-]+\\.)+\\*"}]},{cN:"number",b:"\\b\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}(:\\d{1,5})?\\b"},{cN:"number",b:"\\b\\d+[kKmMgGdshdwy]*\\b",r:0},b]};return{aliases:["nginxconf"],c:[c.HCM,{b:c.UIR+"\\s",e:";|{",rB:true,c:[{cN:"title",b:c.UIR,starts:a}],r:0}],i:"[^\\s\\}]"}});hljs.registerLanguage("json",function(a){var e={literal:"true false null"};var d=[a.QSM,a.CNM];var c={cN:"value",e:",",eW:true,eE:true,c:d,k:e};var b={b:"{",e:"}",c:[{cN:"attribute",b:'\\s*"',e:'"\\s*:\\s*',eB:true,eE:true,c:[a.BE],i:"\\n",starts:c}],i:"\\S"};var f={b:"\\[",e:"\\]",c:[a.inherit(c,{cN:null})],i:"\\S"};d.splice(d.length,0,b,f);return{c:d,k:e,i:"\\S"}});hljs.registerLanguage("apache",function(a){var b={cN:"number",b:"[\\$%]\\d+"};return{aliases:["apacheconf"],cI:true,c:[a.HCM,{cN:"tag",b:"</?",e:">"},{cN:"keyword",b:/\w+/,r:0,k:{common:"order deny allow setenv rewriterule rewriteengine rewritecond documentroot sethandler errordocument loadmodule options header listen serverroot servername"},starts:{e:/$/,r:0,k:{literal:"on off all"},c:[{cN:"sqbracket",b:"\\s\\[",e:"\\]$"},{cN:"cbracket",b:"[\\$%]\\{",e:"\\}",c:["self",b]},b,a.QSM]}}],i:/\S/}});hljs.registerLanguage("cpp",function(a){var b={keyword:"false int float while private char catch export virtual operator sizeof dynamic_cast|10 typedef const_cast|10 const struct for static_cast|10 union namespace unsigned long throw volatile static protected bool template mutable if public friend do return goto auto void enum else break new extern using true class asm case typeid short reinterpret_cast|10 default double register explicit signed typename try this switch continue wchar_t inline delete alignof char16_t char32_t constexpr decltype noexcept nullptr static_assert thread_local restrict _Bool complex _Complex _Imaginary",built_in:"std string cin cout cerr clog stringstream istringstream ostringstream auto_ptr deque list queue stack vector map set bitset multiset multimap unordered_set unordered_map unordered_multiset unordered_multimap array shared_ptr abort abs acos asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp fscanf isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit tolower toupper labs ldexp log10 log malloc memchr memcmp memcpy memset modf pow printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan vfprintf vprintf vsprintf"};return{aliases:["c","h","c++","h++"],k:b,i:"</",c:[a.CLCM,a.CBCM,a.QSM,{cN:"string",b:"'\\\\?.",e:"'",i:"."},{cN:"number",b:"\\b(\\d+(\\.\\d*)?|\\.\\d+)(u|U|l|L|ul|UL|f|F)"},a.CNM,{cN:"preprocessor",b:"#",e:"$",k:"if else elif endif define undef warning error line pragma",c:[{b:'include\\s*[<"]',e:'[>"]',k:"include",i:"\\n"},a.CLCM]},{cN:"stl_container",b:"\\b(deque|list|queue|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array)\\s*<",e:">",k:b,c:["self"]},{b:a.IR+"::"}]}});hljs.registerLanguage("makefile",function(a){var b={cN:"variable",b:/\$\(/,e:/\)/,c:[a.BE]};return{aliases:["mk","mak"],c:[a.HCM,{b:/^\w+\s*\W*=/,rB:true,r:0,starts:{cN:"constant",e:/\s*\W*=/,eE:true,starts:{e:/$/,r:0,c:[b]}}},{cN:"title",b:/^[\w]+:\s*$/},{cN:"phony",b:/^\.PHONY:/,e:/$/,k:".PHONY",l:/[\.\w]+/},{b:/^\t+/,e:/$/,c:[a.QSM,b]}]}}); \ No newline at end of file | |||
diff --git a/themes/default/highlightjs/styles/default.css b/themes/default/highlightjs/styles/default.css new file mode 100644 index 00000000..e5bd2801 --- /dev/null +++ b/themes/default/highlightjs/styles/default.css | |||
@@ -0,0 +1,152 @@ | |||
1 | /* | ||
2 | |||
3 | Original style from softwaremaniacs.org (c) Ivan Sagalaev <Maniac@SoftwareManiacs.Org> | ||
4 | |||
5 | */ | ||
6 | |||
7 | .hljs { | ||
8 | display: block; | ||
9 | overflow-x: auto; | ||
10 | padding: 0.5em; | ||
11 | background: #f0f0f0; | ||
12 | } | ||
13 | |||
14 | .hljs, | ||
15 | .hljs-subst, | ||
16 | .hljs-tag .hljs-title, | ||
17 | .lisp .hljs-title, | ||
18 | .clojure .hljs-built_in, | ||
19 | .nginx .hljs-title { | ||
20 | color: black; | ||
21 | } | ||
22 | |||
23 | .hljs-string, | ||
24 | .hljs-title, | ||
25 | .hljs-constant, | ||
26 | .hljs-parent, | ||
27 | .hljs-tag .hljs-value, | ||
28 | .hljs-rules .hljs-value, | ||
29 | .hljs-preprocessor, | ||
30 | .hljs-pragma, | ||
31 | .haml .hljs-symbol, | ||
32 | .ruby .hljs-symbol, | ||
33 | .ruby .hljs-symbol .hljs-string, | ||
34 | .hljs-template_tag, | ||
35 | .django .hljs-variable, | ||
36 | .smalltalk .hljs-class, | ||
37 | .hljs-addition, | ||
38 | .hljs-flow, | ||
39 | .hljs-stream, | ||
40 | .bash .hljs-variable, | ||
41 | .apache .hljs-tag, | ||
42 | .apache .hljs-cbracket, | ||
43 | .tex .hljs-command, | ||
44 | .tex .hljs-special, | ||
45 | .erlang_repl .hljs-function_or_atom, | ||
46 | .asciidoc .hljs-header, | ||
47 | .markdown .hljs-header, | ||
48 | .coffeescript .hljs-attribute { | ||
49 | color: #800; | ||
50 | } | ||
51 | |||
52 | .smartquote, | ||
53 | .hljs-comment, | ||
54 | .hljs-annotation, | ||
55 | .hljs-template_comment, | ||
56 | .diff .hljs-header, | ||
57 | .hljs-chunk, | ||
58 | .asciidoc .hljs-blockquote, | ||
59 | .markdown .hljs-blockquote { | ||
60 | color: #888; | ||
61 | } | ||
62 | |||
63 | .hljs-number, | ||
64 | .hljs-date, | ||
65 | .hljs-regexp, | ||
66 | .hljs-literal, | ||
67 | .hljs-hexcolor, | ||
68 | .smalltalk .hljs-symbol, | ||
69 | .smalltalk .hljs-char, | ||
70 | .go .hljs-constant, | ||
71 | .hljs-change, | ||
72 | .lasso .hljs-variable, | ||
73 | .makefile .hljs-variable, | ||
74 | .asciidoc .hljs-bullet, | ||
75 | .markdown .hljs-bullet, | ||
76 | .asciidoc .hljs-link_url, | ||
77 | .markdown .hljs-link_url { | ||
78 | color: #080; | ||
79 | } | ||
80 | |||
81 | .hljs-label, | ||
82 | .hljs-javadoc, | ||
83 | .ruby .hljs-string, | ||
84 | .hljs-decorator, | ||
85 | .hljs-filter .hljs-argument, | ||
86 | .hljs-localvars, | ||
87 | .hljs-array, | ||
88 | .hljs-attr_selector, | ||
89 | .hljs-important, | ||
90 | .hljs-pseudo, | ||
91 | .hljs-pi, | ||
92 | .haml .hljs-bullet, | ||
93 | .hljs-doctype, | ||
94 | .hljs-deletion, | ||
95 | .hljs-envvar, | ||
96 | .hljs-shebang, | ||
97 | .apache .hljs-sqbracket, | ||
98 | .nginx .hljs-built_in, | ||
99 | .tex .hljs-formula, | ||
100 | .erlang_repl .hljs-reserved, | ||
101 | .hljs-prompt, | ||
102 | .asciidoc .hljs-link_label, | ||
103 | .markdown .hljs-link_label, | ||
104 | .vhdl .hljs-attribute, | ||
105 | .clojure .hljs-attribute, | ||
106 | .asciidoc .hljs-attribute, | ||
107 | .lasso .hljs-attribute, | ||
108 | .coffeescript .hljs-property, | ||
109 | .hljs-phony { | ||
110 | color: #88f; | ||
111 | } | ||
112 | |||
113 | .hljs-keyword, | ||
114 | .hljs-id, | ||
115 | .hljs-title, | ||
116 | .hljs-built_in, | ||
117 | .css .hljs-tag, | ||
118 | .hljs-javadoctag, | ||
119 | .hljs-phpdoc, | ||
120 | .hljs-yardoctag, | ||
121 | .smalltalk .hljs-class, | ||
122 | .hljs-winutils, | ||
123 | .bash .hljs-variable, | ||
124 | .apache .hljs-tag, | ||
125 | .go .hljs-typename, | ||
126 | .tex .hljs-command, | ||
127 | .asciidoc .hljs-strong, | ||
128 | .markdown .hljs-strong, | ||
129 | .hljs-request, | ||
130 | .hljs-status { | ||
131 | font-weight: bold; | ||
132 | } | ||
133 | |||
134 | .asciidoc .hljs-emphasis, | ||
135 | .markdown .hljs-emphasis { | ||
136 | font-style: italic; | ||
137 | } | ||
138 | |||
139 | .nginx .hljs-built_in { | ||
140 | font-weight: normal; | ||
141 | } | ||
142 | |||
143 | .coffeescript .javascript, | ||
144 | .javascript .xml, | ||
145 | .lasso .markup, | ||
146 | .tex .hljs-formula, | ||
147 | .xml .javascript, | ||
148 | .xml .vbscript, | ||
149 | .xml .css, | ||
150 | .xml .hljs-cdata { | ||
151 | opacity: 0.5; | ||
152 | } | ||
diff --git a/themes/default/highlightjs/styles/github.css b/themes/default/highlightjs/styles/github.css new file mode 100644 index 00000000..47fc2651 --- /dev/null +++ b/themes/default/highlightjs/styles/github.css | |||
@@ -0,0 +1,127 @@ | |||
1 | /* | ||
2 | |||
3 | github.com style (c) Vasily Polovnyov <vast@whiteants.net> | ||
4 | |||
5 | */ | ||
6 | |||
7 | .hljs { | ||
8 | display: block; | ||
9 | overflow-x: auto; | ||
10 | padding: 0.5em; | ||
11 | color: #333; | ||
12 | background: #f8f8f8; | ||
13 | } | ||
14 | |||
15 | .hljs-comment, | ||
16 | .hljs-template_comment, | ||
17 | .diff .hljs-header, | ||
18 | .hljs-javadoc { | ||
19 | color: #998; | ||
20 | font-style: italic; | ||
21 | } | ||
22 | |||
23 | .hljs-keyword, | ||
24 | .css .rule .hljs-keyword, | ||
25 | .hljs-winutils, | ||
26 | .javascript .hljs-title, | ||
27 | .nginx .hljs-title, | ||
28 | .hljs-subst, | ||
29 | .hljs-request, | ||
30 | .hljs-status { | ||
31 | color: #333; | ||
32 | font-weight: bold; | ||
33 | } | ||
34 | |||
35 | .hljs-number, | ||
36 | .hljs-hexcolor, | ||
37 | .ruby .hljs-constant { | ||
38 | color: #099; | ||
39 | } | ||
40 | |||
41 | .hljs-string, | ||
42 | .hljs-tag .hljs-value, | ||
43 | .hljs-phpdoc, | ||
44 | .tex .hljs-formula { | ||
45 | color: #d14; | ||
46 | } | ||
47 | |||
48 | .hljs-title, | ||
49 | .hljs-id, | ||
50 | .coffeescript .hljs-params, | ||
51 | .scss .hljs-preprocessor { | ||
52 | color: #900; | ||
53 | font-weight: bold; | ||
54 | } | ||
55 | |||
56 | .javascript .hljs-title, | ||
57 | .lisp .hljs-title, | ||
58 | .clojure .hljs-title, | ||
59 | .hljs-subst { | ||
60 | font-weight: normal; | ||
61 | } | ||
62 | |||
63 | .hljs-class .hljs-title, | ||
64 | .haskell .hljs-type, | ||
65 | .vhdl .hljs-literal, | ||
66 | .tex .hljs-command { | ||
67 | color: #458; | ||
68 | font-weight: bold; | ||
69 | } | ||
70 | |||
71 | .hljs-tag, | ||
72 | .hljs-tag .hljs-title, | ||
73 | .hljs-rules .hljs-property, | ||
74 | .django .hljs-tag .hljs-keyword { | ||
75 | color: #000080; | ||
76 | font-weight: normal; | ||
77 | } | ||
78 | |||
79 | .hljs-attribute, | ||
80 | .hljs-variable, | ||
81 | .lisp .hljs-body { | ||
82 | color: #008080; | ||
83 | } | ||
84 | |||
85 | .hljs-regexp { | ||
86 | color: #009926; | ||
87 | } | ||
88 | |||
89 | .hljs-symbol, | ||
90 | .ruby .hljs-symbol .hljs-string, | ||
91 | .lisp .hljs-keyword, | ||
92 | .tex .hljs-special, | ||
93 | .hljs-prompt { | ||
94 | color: #990073; | ||
95 | } | ||
96 | |||
97 | .hljs-built_in, | ||
98 | .lisp .hljs-title, | ||
99 | .clojure .hljs-built_in { | ||
100 | color: #0086b3; | ||
101 | } | ||
102 | |||
103 | .hljs-preprocessor, | ||
104 | .hljs-pragma, | ||
105 | .hljs-pi, | ||
106 | .hljs-doctype, | ||
107 | .hljs-shebang, | ||
108 | .hljs-cdata { | ||
109 | color: #999; | ||
110 | font-weight: bold; | ||
111 | } | ||
112 | |||
113 | .hljs-deletion { | ||
114 | background: #fdd; | ||
115 | } | ||
116 | |||
117 | .hljs-addition { | ||
118 | background: #dfd; | ||
119 | } | ||
120 | |||
121 | .diff .hljs-change { | ||
122 | background: #0086b3; | ||
123 | } | ||
124 | |||
125 | .hljs-chunk { | ||
126 | color: #aaa; | ||
127 | } | ||
diff --git a/themes/default/highlightjs/styles/googlecode.css b/themes/default/highlightjs/styles/googlecode.css new file mode 100644 index 00000000..fd237367 --- /dev/null +++ b/themes/default/highlightjs/styles/googlecode.css | |||
@@ -0,0 +1,148 @@ | |||
1 | /* | ||
2 | |||
3 | Google Code style (c) Aahan Krish <geekpanth3r@gmail.com> | ||
4 | |||
5 | */ | ||
6 | |||
7 | .hljs { | ||
8 | display: block; | ||
9 | overflow-x: auto; | ||
10 | padding: 0.5em; | ||
11 | background: white; | ||
12 | color: black; | ||
13 | } | ||
14 | |||
15 | .hljs-comment, | ||
16 | .hljs-template_comment, | ||
17 | .hljs-javadoc { | ||
18 | color: #800; | ||
19 | } | ||
20 | |||
21 | .hljs-keyword, | ||
22 | .method, | ||
23 | .hljs-list .hljs-title, | ||
24 | .clojure .hljs-built_in, | ||
25 | .nginx .hljs-title, | ||
26 | .hljs-tag .hljs-title, | ||
27 | .setting .hljs-value, | ||
28 | .hljs-winutils, | ||
29 | .tex .hljs-command, | ||
30 | .http .hljs-title, | ||
31 | .hljs-request, | ||
32 | .hljs-status { | ||
33 | color: #008; | ||
34 | } | ||
35 | |||
36 | .hljs-envvar, | ||
37 | .tex .hljs-special { | ||
38 | color: #660; | ||
39 | } | ||
40 | |||
41 | .hljs-string, | ||
42 | .hljs-tag .hljs-value, | ||
43 | .hljs-cdata, | ||
44 | .hljs-filter .hljs-argument, | ||
45 | .hljs-attr_selector, | ||
46 | .apache .hljs-cbracket, | ||
47 | .hljs-date, | ||
48 | .hljs-regexp, | ||
49 | .coffeescript .hljs-attribute { | ||
50 | color: #080; | ||
51 | } | ||
52 | |||
53 | .hljs-sub .hljs-identifier, | ||
54 | .hljs-pi, | ||
55 | .hljs-tag, | ||
56 | .hljs-tag .hljs-keyword, | ||
57 | .hljs-decorator, | ||
58 | .ini .hljs-title, | ||
59 | .hljs-shebang, | ||
60 | .hljs-prompt, | ||
61 | .hljs-hexcolor, | ||
62 | .hljs-rules .hljs-value, | ||
63 | .hljs-literal, | ||
64 | .hljs-symbol, | ||
65 | .ruby .hljs-symbol .hljs-string, | ||
66 | .hljs-number, | ||
67 | .css .hljs-function, | ||
68 | .clojure .hljs-attribute { | ||
69 | color: #066; | ||
70 | } | ||
71 | |||
72 | .hljs-class .hljs-title, | ||
73 | .haskell .hljs-type, | ||
74 | .smalltalk .hljs-class, | ||
75 | .hljs-javadoctag, | ||
76 | .hljs-yardoctag, | ||
77 | .hljs-phpdoc, | ||
78 | .hljs-typename, | ||
79 | .hljs-tag .hljs-attribute, | ||
80 | .hljs-doctype, | ||
81 | .hljs-class .hljs-id, | ||
82 | .hljs-built_in, | ||
83 | .setting, | ||
84 | .hljs-params, | ||
85 | .hljs-variable, | ||
86 | .clojure .hljs-title { | ||
87 | color: #606; | ||
88 | } | ||
89 | |||
90 | .css .hljs-tag, | ||
91 | .hljs-rules .hljs-property, | ||
92 | .hljs-pseudo, | ||
93 | .hljs-subst { | ||
94 | color: #000; | ||
95 | } | ||
96 | |||
97 | .css .hljs-class, | ||
98 | .css .hljs-id { | ||
99 | color: #9b703f; | ||
100 | } | ||
101 | |||
102 | .hljs-value .hljs-important { | ||
103 | color: #ff7700; | ||
104 | font-weight: bold; | ||
105 | } | ||
106 | |||
107 | .hljs-rules .hljs-keyword { | ||
108 | color: #c5af75; | ||
109 | } | ||
110 | |||
111 | .hljs-annotation, | ||
112 | .apache .hljs-sqbracket, | ||
113 | .nginx .hljs-built_in { | ||
114 | color: #9b859d; | ||
115 | } | ||
116 | |||
117 | .hljs-preprocessor, | ||
118 | .hljs-preprocessor *, | ||
119 | .hljs-pragma { | ||
120 | color: #444; | ||
121 | } | ||
122 | |||
123 | .tex .hljs-formula { | ||
124 | background-color: #eee; | ||
125 | font-style: italic; | ||
126 | } | ||
127 | |||
128 | .diff .hljs-header, | ||
129 | .hljs-chunk { | ||
130 | color: #808080; | ||
131 | font-weight: bold; | ||
132 | } | ||
133 | |||
134 | .diff .hljs-change { | ||
135 | background-color: #bccff9; | ||
136 | } | ||
137 | |||
138 | .hljs-addition { | ||
139 | background-color: #baeeba; | ||
140 | } | ||
141 | |||
142 | .hljs-deletion { | ||
143 | background-color: #ffc8bd; | ||
144 | } | ||
145 | |||
146 | .hljs-comment .hljs-yardoctag { | ||
147 | font-weight: bold; | ||
148 | } | ||
diff --git a/themes/default/home.twig b/themes/default/home.twig index 093c2dc5..59615691 100755 --- a/themes/default/home.twig +++ b/themes/default/home.twig | |||
@@ -31,13 +31,13 @@ | |||
31 | {% block pager %} | 31 | {% block pager %} |
32 | {% if nb_results > 1 %} | 32 | {% if nb_results > 1 %} |
33 | <div class="results"> | 33 | <div class="results"> |
34 | <div class="nb-results">{{ nb_results }} {% trans "results" %}{% if search_term is defined %}{% trans " found for « " %} {{ search_term }} »{% endif %}</div> | 34 | <div class="nb-results">{{ nb_results }} {% trans "results" %}{% if searchterm is defined %}{% trans " found for « " %} {{ searchterm }} »{% endif %}</div> |
35 | {{ page_links | raw }} | 35 | {{ page_links | raw }} |
36 | </div> | 36 | </div> |
37 | {% elseif nb_results == 1 %} | 37 | {% elseif nb_results == 1 %} |
38 | {% if search_term is defined %} | 38 | {% if searchterm is defined %} |
39 | <div class="results"> | 39 | <div class="results"> |
40 | <div class="nb-results">{% trans "Only one result found for " %} « {{ search_term }} »</div> | 40 | <div class="nb-results">{% trans "Only one result found for " %} « {{ searchterm }} »</div> |
41 | </div> | 41 | </div> |
42 | {% endif %} | 42 | {% endif %} |
43 | {% endif %} | 43 | {% endif %} |
@@ -57,12 +57,22 @@ | |||
57 | {% endfor %} | 57 | {% endfor %} |
58 | 58 | ||
59 | {{ block('pager') }} | 59 | {{ block('pager') }} |
60 | {% if view == 'home' %}{% if nb_results > 1 %}<p><a title="{% trans "Mark all the entries as read" %}" href="./?action=archive_all">{% trans "Mark all the entries as read" %}</a></p>{% endif %}{% endif %} | ||
61 | {% if searchterm is defined %}<a title="{% trans "Tag these results as" %} {{ searchterm }}" href="./?action=add_tag&search={{ searchterm }}">{% trans "Tag these results as" %} {{ searchterm }}</a>{% endif %}<br /> | ||
60 | 62 | ||
61 | {% if view == 'home' %}{% if nb_results > 1 %}<a title="{% trans "mark all the entries as read" %}" href="./?action=archive_all">{% trans "mark all the entries as read" %}</a>{% endif %}{% endif %} | 63 | {% if tag %} |
62 | 64 | <a title="{% trans "Download the articles from this tag in an epub file" %}" href="./?epub&method=tag&value={{ tag.value }}">{% trans "Download as ePub3" %}</a> | |
63 | {% if tag %}<a title="{% trans "Download the articles from this tag in an epub" %}" href="./?epub&method=tag&value={{ tag.value }}">{% trans "Download the articles from this tag in an epub" %}</a> | 65 | <a title="{% trans "Download the articles from this tag in a mobi file" %}" href="./?mobi&method=tag&value={{ tag.value }}">{% trans "Download as Mobi" %}</a> |
64 | {% elseif search_term is defined %}<a title="{% trans "Download the articles from this search in an epub" %}" href="./?epub&method=search&value={{ search_term }}">{% trans "Download the articles from this search in an epub" %}</a> | 66 | <a title="{% trans "Download the articles from this tag in a pdf file" %}" href="./?pdf&method=tag&value={{ tag.value }}">{% trans "Download as PDF" %}</a> |
65 | {% else %}<a title="{% trans "Download the articles from this category in an epub" %}" href="./?epub&method=category&value={{ view }}">{% trans "Download the articles from this category in an epub" %}</a>{% endif %} | 67 | {% elseif searchterm is defined %} |
68 | <a title="{% trans "Download the articles from this search in an epub" %}" href="./?epub&method=search&value={{ searchterm }}">{% trans "Download as ePub3" %}</a> | ||
69 | <a title="{% trans "Download the articles from this search in a mobi file" %}" href="./?mobi&method=search&value={{ searchterm }}">{% trans "Download as Mobi" %}</a> | ||
70 | <a title="{% trans "Download the articles from this search in a pdf file" %}" href="./?pdf&method=search&value={{ searchterm }}">{% trans "Download as PDF" %}</a> | ||
71 | {% else %} | ||
72 | <a title="{% trans "Download the articles from this category in an epub" %}" href="./?epub&method=category&value={{ view }}">{% trans "Download as ePub3" %}</a> | ||
73 | <a title="{% trans "Download the articles from this category in a mobi file" %}" href="./?mobi&method=category&value={{ view }}">{% trans "Download as Mobi" %}</a> | ||
74 | <a title="{% trans "Download the articles from this category in a pdf file" %}" href="./?pdf&method=category&value={{ view }}">{% trans "Download as PDF" %}</a> | ||
75 | {% endif %} | ||
66 | 76 | ||
67 | {% endif %} | 77 | {% endif %} |
68 | {% endblock %} | 78 | {% endblock %} |
diff --git a/themes/default/img/apple-touch-icon-144x144-precomposed.png b/themes/default/img/apple-touch-icon-144x144-precomposed.png deleted file mode 100644 index 9e951230..00000000 --- a/themes/default/img/apple-touch-icon-144x144-precomposed.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/themes/default/img/apple-touch-icon-72x72-precomposed.png b/themes/default/img/apple-touch-icon-72x72-precomposed.png deleted file mode 100644 index 263419b1..00000000 --- a/themes/default/img/apple-touch-icon-72x72-precomposed.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/themes/default/img/apple-touch-icon.png b/themes/default/img/apple-touch-icon.png deleted file mode 100644 index ac8a1cf0..00000000 --- a/themes/default/img/apple-touch-icon.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/themes/default/img/favicon.ico b/themes/default/img/favicon.ico deleted file mode 100644 index 0e9ff779..00000000 --- a/themes/default/img/favicon.ico +++ /dev/null | |||
Binary files differ | |||
diff --git a/themes/default/js/autoClose.js b/themes/default/js/autoClose.js deleted file mode 100644 index e9145b7e..00000000 --- a/themes/default/js/autoClose.js +++ /dev/null | |||
@@ -1,6 +0,0 @@ | |||
1 | $(document).ready(function() { | ||
2 | current_url = window.location.href | ||
3 | if (current_url.match("&closewin=true")) { | ||
4 | window.close(); | ||
5 | } | ||
6 | }); | ||
diff --git a/themes/default/js/autoCompleteTags.js b/themes/default/js/autoCompleteTags.js deleted file mode 100755 index 90bc982c..00000000 --- a/themes/default/js/autoCompleteTags.js +++ /dev/null | |||
@@ -1,47 +0,0 @@ | |||
1 | jQuery(function($) { | ||
2 | |||
3 | function split( val ) { | ||
4 | return val.split( /,\s*/ ); | ||
5 | } | ||
6 | function extractLast( term ) { | ||
7 | return split( term ).pop(); | ||
8 | } | ||
9 | |||
10 | |||
11 | $("#value").bind("keydown", function(event) { | ||
12 | if (event.keyCode === $.ui.keyCode.TAB && $(this).data("ui-autocomplete").menu.active) { | ||
13 | event.preventDefault(); | ||
14 | } | ||
15 | }).autocomplete({ | ||
16 | source : function(request, response) { | ||
17 | $.getJSON("./?view=tags", { | ||
18 | term : extractLast(request.term), | ||
19 | //id: $(':hidden#entry_id').val() | ||
20 | }, response); | ||
21 | }, | ||
22 | search : function() { | ||
23 | // custom minLength | ||
24 | var term = extractLast(this.value); | ||
25 | if (term.length < 1) { | ||
26 | return false; | ||
27 | } | ||
28 | }, | ||
29 | focus : function() { | ||
30 | // prevent value inserted on focus | ||
31 | return false; | ||
32 | }, | ||
33 | select : function(event, ui) { | ||
34 | var terms = split(this.value); | ||
35 | // remove the current input | ||
36 | terms.pop(); | ||
37 | // add the selected item | ||
38 | terms.push(ui.item.value); | ||
39 | // add placeholder to get the comma-and-space at the end | ||
40 | terms.push(""); | ||
41 | this.value = terms.join(", "); | ||
42 | return false; | ||
43 | } | ||
44 | }); | ||
45 | |||
46 | |||
47 | }); | ||
diff --git a/themes/default/js/jquery-2.0.3.min.js b/themes/default/js/jquery-2.0.3.min.js deleted file mode 100644 index a4dd0a2f..00000000 --- a/themes/default/js/jquery-2.0.3.min.js +++ /dev/null | |||
@@ -1 +0,0 @@ | |||
1 | (function(e,undefined){var t,n,r=typeof undefined,i=e.location,o=e.document,s=o.documentElement,a=e.jQuery,u=e.$,l={},c=[],p="2.0.3",f=c.concat,h=c.push,d=c.slice,g=c.indexOf,m=l.toString,y=l.hasOwnProperty,v=p.trim,x=function(e,n){return new x.fn.init(e,n,t)},b=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,w=/\S+/g,T=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,C=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,k=/^-ms-/,N=/-([\da-z])/gi,E=function(e,t){return t.toUpperCase()},S=function(){o.removeEventListener("DOMContentLoaded",S,!1),e.removeEventListener("load",S,!1),x.ready()};x.fn=x.prototype={jquery:p,constructor:x,init:function(e,t,n){var r,i;if(!e)return this;if("string"==typeof e){if(r="<"===e.charAt(0)&&">"===e.charAt(e.length-1)&&e.length>=3?[null,e,null]:T.exec(e),!r||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof x?t[0]:t,x.merge(this,x.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:o,!0)),C.test(r[1])&&x.isPlainObject(t))for(r in t)x.isFunction(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return i=o.getElementById(r[2]),i&&i.parentNode&&(this.length=1,this[0]=i),this.context=o,this.selector=e,this}return e.nodeType?(this.context=this[0]=e,this.length=1,this):x.isFunction(e)?n.ready(e):(e.selector!==undefined&&(this.selector=e.selector,this.context=e.context),x.makeArray(e,this))},selector:"",length:0,toArray:function(){return d.call(this)},get:function(e){return null==e?this.toArray():0>e?this[this.length+e]:this[e]},pushStack:function(e){var t=x.merge(this.constructor(),e);return t.prevObject=this,t.context=this.context,t},each:function(e,t){return x.each(this,e,t)},ready:function(e){return x.ready.promise().done(e),this},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(0>e?t:0);return this.pushStack(n>=0&&t>n?[this[n]]:[])},map:function(e){return this.pushStack(x.map(this,function(t,n){return e.call(t,n,t)}))},end:function(){return this.prevObject||this.constructor(null)},push:h,sort:[].sort,splice:[].splice},x.fn.init.prototype=x.fn,x.extend=x.fn.extend=function(){var e,t,n,r,i,o,s=arguments[0]||{},a=1,u=arguments.length,l=!1;for("boolean"==typeof s&&(l=s,s=arguments[1]||{},a=2),"object"==typeof s||x.isFunction(s)||(s={}),u===a&&(s=this,--a);u>a;a++)if(null!=(e=arguments[a]))for(t in e)n=s[t],r=e[t],s!==r&&(l&&r&&(x.isPlainObject(r)||(i=x.isArray(r)))?(i?(i=!1,o=n&&x.isArray(n)?n:[]):o=n&&x.isPlainObject(n)?n:{},s[t]=x.extend(l,o,r)):r!==undefined&&(s[t]=r));return s},x.extend({expando:"jQuery"+(p+Math.random()).replace(/\D/g,""),noConflict:function(t){return e.$===x&&(e.$=u),t&&e.jQuery===x&&(e.jQuery=a),x},isReady:!1,readyWait:1,holdReady:function(e){e?x.readyWait++:x.ready(!0)},ready:function(e){(e===!0?--x.readyWait:x.isReady)||(x.isReady=!0,e!==!0&&--x.readyWait>0||(n.resolveWith(o,[x]),x.fn.trigger&&x(o).trigger("ready").off("ready")))},isFunction:function(e){return"function"===x.type(e)},isArray:Array.isArray,isWindow:function(e){return null!=e&&e===e.window},isNumeric:function(e){return!isNaN(parseFloat(e))&&isFinite(e)},type:function(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?l[m.call(e)]||"object":typeof e},isPlainObject:function(e){if("object"!==x.type(e)||e.nodeType||x.isWindow(e))return!1;try{if(e.constructor&&!y.call(e.constructor.prototype,"isPrototypeOf"))return!1}catch(t){return!1}return!0},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},error:function(e){throw Error(e)},parseHTML:function(e,t,n){if(!e||"string"!=typeof e)return null;"boolean"==typeof t&&(n=t,t=!1),t=t||o;var r=C.exec(e),i=!n&&[];return r?[t.createElement(r[1])]:(r=x.buildFragment([e],t,i),i&&x(i).remove(),x.merge([],r.childNodes))},parseJSON:JSON.parse,parseXML:function(e){var t,n;if(!e||"string"!=typeof e)return null;try{n=new DOMParser,t=n.parseFromString(e,"text/xml")}catch(r){t=undefined}return(!t||t.getElementsByTagName("parsererror").length)&&x.error("Invalid XML: "+e),t},noop:function(){},globalEval:function(e){var t,n=eval;e=x.trim(e),e&&(1===e.indexOf("use strict")?(t=o.createElement("script"),t.text=e,o.head.appendChild(t).parentNode.removeChild(t)):n(e))},camelCase:function(e){return e.replace(k,"ms-").replace(N,E)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,t,n){var r,i=0,o=e.length,s=j(e);if(n){if(s){for(;o>i;i++)if(r=t.apply(e[i],n),r===!1)break}else for(i in e)if(r=t.apply(e[i],n),r===!1)break}else if(s){for(;o>i;i++)if(r=t.call(e[i],i,e[i]),r===!1)break}else for(i in e)if(r=t.call(e[i],i,e[i]),r===!1)break;return e},trim:function(e){return null==e?"":v.call(e)},makeArray:function(e,t){var n=t||[];return null!=e&&(j(Object(e))?x.merge(n,"string"==typeof e?[e]:e):h.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:g.call(t,e,n)},merge:function(e,t){var n=t.length,r=e.length,i=0;if("number"==typeof n)for(;n>i;i++)e[r++]=t[i];else while(t[i]!==undefined)e[r++]=t[i++];return e.length=r,e},grep:function(e,t,n){var r,i=[],o=0,s=e.length;for(n=!!n;s>o;o++)r=!!t(e[o],o),n!==r&&i.push(e[o]);return i},map:function(e,t,n){var r,i=0,o=e.length,s=j(e),a=[];if(s)for(;o>i;i++)r=t(e[i],i,n),null!=r&&(a[a.length]=r);else for(i in e)r=t(e[i],i,n),null!=r&&(a[a.length]=r);return f.apply([],a)},guid:1,proxy:function(e,t){var n,r,i;return"string"==typeof t&&(n=e[t],t=e,e=n),x.isFunction(e)?(r=d.call(arguments,2),i=function(){return e.apply(t||this,r.concat(d.call(arguments)))},i.guid=e.guid=e.guid||x.guid++,i):undefined},access:function(e,t,n,r,i,o,s){var a=0,u=e.length,l=null==n;if("object"===x.type(n)){i=!0;for(a in n)x.access(e,t,a,n[a],!0,o,s)}else if(r!==undefined&&(i=!0,x.isFunction(r)||(s=!0),l&&(s?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(x(e),n)})),t))for(;u>a;a++)t(e[a],n,s?r:r.call(e[a],a,t(e[a],n)));return i?e:l?t.call(e):u?t(e[0],n):o},now:Date.now,swap:function(e,t,n,r){var i,o,s={};for(o in t)s[o]=e.style[o],e.style[o]=t[o];i=n.apply(e,r||[]);for(o in t)e.style[o]=s[o];return i}}),x.ready.promise=function(t){return n||(n=x.Deferred(),"complete"===o.readyState?setTimeout(x.ready):(o.addEventListener("DOMContentLoaded",S,!1),e.addEventListener("load",S,!1))),n.promise(t)},x.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(e,t){l["[object "+t+"]"]=t.toLowerCase()});function j(e){var t=e.length,n=x.type(e);return x.isWindow(e)?!1:1===e.nodeType&&t?!0:"array"===n||"function"!==n&&(0===t||"number"==typeof t&&t>0&&t-1 in e)}t=x(o),function(e,undefined){var t,n,r,i,o,s,a,u,l,c,p,f,h,d,g,m,y,v="sizzle"+-new Date,b=e.document,w=0,T=0,C=st(),k=st(),N=st(),E=!1,S=function(e,t){return e===t?(E=!0,0):0},j=typeof undefined,D=1<<31,A={}.hasOwnProperty,L=[],q=L.pop,H=L.push,O=L.push,F=L.slice,P=L.indexOf||function(e){var t=0,n=this.length;for(;n>t;t++)if(this[t]===e)return t;return-1},R="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",W="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",$=W.replace("w","w#"),B="\\["+M+"*("+W+")"+M+"*(?:([*^$|!~]?=)"+M+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+$+")|)|)"+M+"*\\]",I=":("+W+")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|"+B.replace(3,8)+")*)|.*)\\)|)",z=RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),_=RegExp("^"+M+"*,"+M+"*"),X=RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),U=RegExp(M+"*[+~]"),Y=RegExp("="+M+"*([^\\]'\"]*)"+M+"*\\]","g"),V=RegExp(I),G=RegExp("^"+$+"$"),J={ID:RegExp("^#("+W+")"),CLASS:RegExp("^\\.("+W+")"),TAG:RegExp("^("+W.replace("w","w*")+")"),ATTR:RegExp("^"+B),PSEUDO:RegExp("^"+I),CHILD:RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:RegExp("^(?:"+R+")$","i"),needsContext:RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Q=/^[^{]+\{\s*\[native \w/,K=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,Z=/^(?:input|select|textarea|button)$/i,et=/^h\d$/i,tt=/'|\\/g,nt=RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),rt=function(e,t,n){var r="0x"+t-65536;return r!==r||n?t:0>r?String.fromCharCode(r+65536):String.fromCharCode(55296|r>>10,56320|1023&r)};try{O.apply(L=F.call(b.childNodes),b.childNodes),L[b.childNodes.length].nodeType}catch(it){O={apply:L.length?function(e,t){H.apply(e,F.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function ot(e,t,r,i){var o,s,a,u,l,f,g,m,x,w;if((t?t.ownerDocument||t:b)!==p&&c(t),t=t||p,r=r||[],!e||"string"!=typeof e)return r;if(1!==(u=t.nodeType)&&9!==u)return[];if(h&&!i){if(o=K.exec(e))if(a=o[1]){if(9===u){if(s=t.getElementById(a),!s||!s.parentNode)return r;if(s.id===a)return r.push(s),r}else if(t.ownerDocument&&(s=t.ownerDocument.getElementById(a))&&y(t,s)&&s.id===a)return r.push(s),r}else{if(o[2])return O.apply(r,t.getElementsByTagName(e)),r;if((a=o[3])&&n.getElementsByClassName&&t.getElementsByClassName)return O.apply(r,t.getElementsByClassName(a)),r}if(n.qsa&&(!d||!d.test(e))){if(m=g=v,x=t,w=9===u&&e,1===u&&"object"!==t.nodeName.toLowerCase()){f=gt(e),(g=t.getAttribute("id"))?m=g.replace(tt,"\\$&"):t.setAttribute("id",m),m="[id='"+m+"'] ",l=f.length;while(l--)f[l]=m+mt(f[l]);x=U.test(e)&&t.parentNode||t,w=f.join(",")}if(w)try{return O.apply(r,x.querySelectorAll(w)),r}catch(T){}finally{g||t.removeAttribute("id")}}}return kt(e.replace(z,"$1"),t,r,i)}function st(){var e=[];function t(n,r){return e.push(n+=" ")>i.cacheLength&&delete t[e.shift()],t[n]=r}return t}function at(e){return e[v]=!0,e}function ut(e){var t=p.createElement("div");try{return!!e(t)}catch(n){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function lt(e,t){var n=e.split("|"),r=e.length;while(r--)i.attrHandle[n[r]]=t}function ct(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&(~t.sourceIndex||D)-(~e.sourceIndex||D);if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function pt(e){return function(t){var n=t.nodeName.toLowerCase();return"input"===n&&t.type===e}}function ft(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function ht(e){return at(function(t){return t=+t,at(function(n,r){var i,o=e([],n.length,t),s=o.length;while(s--)n[i=o[s]]&&(n[i]=!(r[i]=n[i]))})})}s=ot.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return t?"HTML"!==t.nodeName:!1},n=ot.support={},c=ot.setDocument=function(e){var t=e?e.ownerDocument||e:b,r=t.defaultView;return t!==p&&9===t.nodeType&&t.documentElement?(p=t,f=t.documentElement,h=!s(t),r&&r.attachEvent&&r!==r.top&&r.attachEvent("onbeforeunload",function(){c()}),n.attributes=ut(function(e){return e.className="i",!e.getAttribute("className")}),n.getElementsByTagName=ut(function(e){return e.appendChild(t.createComment("")),!e.getElementsByTagName("*").length}),n.getElementsByClassName=ut(function(e){return e.innerHTML="<div class='a'></div><div class='a i'></div>",e.firstChild.className="i",2===e.getElementsByClassName("i").length}),n.getById=ut(function(e){return f.appendChild(e).id=v,!t.getElementsByName||!t.getElementsByName(v).length}),n.getById?(i.find.ID=function(e,t){if(typeof t.getElementById!==j&&h){var n=t.getElementById(e);return n&&n.parentNode?[n]:[]}},i.filter.ID=function(e){var t=e.replace(nt,rt);return function(e){return e.getAttribute("id")===t}}):(delete i.find.ID,i.filter.ID=function(e){var t=e.replace(nt,rt);return function(e){var n=typeof e.getAttributeNode!==j&&e.getAttributeNode("id");return n&&n.value===t}}),i.find.TAG=n.getElementsByTagName?function(e,t){return typeof t.getElementsByTagName!==j?t.getElementsByTagName(e):undefined}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},i.find.CLASS=n.getElementsByClassName&&function(e,t){return typeof t.getElementsByClassName!==j&&h?t.getElementsByClassName(e):undefined},g=[],d=[],(n.qsa=Q.test(t.querySelectorAll))&&(ut(function(e){e.innerHTML="<select><option selected=''></option></select>",e.querySelectorAll("[selected]").length||d.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll(":checked").length||d.push(":checked")}),ut(function(e){var n=t.createElement("input");n.setAttribute("type","hidden"),e.appendChild(n).setAttribute("t",""),e.querySelectorAll("[t^='']").length&&d.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll(":enabled").length||d.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),d.push(",.*:")})),(n.matchesSelector=Q.test(m=f.webkitMatchesSelector||f.mozMatchesSelector||f.oMatchesSelector||f.msMatchesSelector))&&ut(function(e){n.disconnectedMatch=m.call(e,"div"),m.call(e,"[s!='']:x"),g.push("!=",I)}),d=d.length&&RegExp(d.join("|")),g=g.length&&RegExp(g.join("|")),y=Q.test(f.contains)||f.compareDocumentPosition?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},S=f.compareDocumentPosition?function(e,r){if(e===r)return E=!0,0;var i=r.compareDocumentPosition&&e.compareDocumentPosition&&e.compareDocumentPosition(r);return i?1&i||!n.sortDetached&&r.compareDocumentPosition(e)===i?e===t||y(b,e)?-1:r===t||y(b,r)?1:l?P.call(l,e)-P.call(l,r):0:4&i?-1:1:e.compareDocumentPosition?-1:1}:function(e,n){var r,i=0,o=e.parentNode,s=n.parentNode,a=[e],u=[n];if(e===n)return E=!0,0;if(!o||!s)return e===t?-1:n===t?1:o?-1:s?1:l?P.call(l,e)-P.call(l,n):0;if(o===s)return ct(e,n);r=e;while(r=r.parentNode)a.unshift(r);r=n;while(r=r.parentNode)u.unshift(r);while(a[i]===u[i])i++;return i?ct(a[i],u[i]):a[i]===b?-1:u[i]===b?1:0},t):p},ot.matches=function(e,t){return ot(e,null,null,t)},ot.matchesSelector=function(e,t){if((e.ownerDocument||e)!==p&&c(e),t=t.replace(Y,"='$1']"),!(!n.matchesSelector||!h||g&&g.test(t)||d&&d.test(t)))try{var r=m.call(e,t);if(r||n.disconnectedMatch||e.document&&11!==e.document.nodeType)return r}catch(i){}return ot(t,p,null,[e]).length>0},ot.contains=function(e,t){return(e.ownerDocument||e)!==p&&c(e),y(e,t)},ot.attr=function(e,t){(e.ownerDocument||e)!==p&&c(e);var r=i.attrHandle[t.toLowerCase()],o=r&&A.call(i.attrHandle,t.toLowerCase())?r(e,t,!h):undefined;return o===undefined?n.attributes||!h?e.getAttribute(t):(o=e.getAttributeNode(t))&&o.specified?o.value:null:o},ot.error=function(e){throw Error("Syntax error, unrecognized expression: "+e)},ot.uniqueSort=function(e){var t,r=[],i=0,o=0;if(E=!n.detectDuplicates,l=!n.sortStable&&e.slice(0),e.sort(S),E){while(t=e[o++])t===e[o]&&(i=r.push(o));while(i--)e.splice(r[i],1)}return e},o=ot.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=o(e)}else if(3===i||4===i)return e.nodeValue}else for(;t=e[r];r++)n+=o(t);return n},i=ot.selectors={cacheLength:50,createPseudo:at,match:J,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(nt,rt),e[3]=(e[4]||e[5]||"").replace(nt,rt),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||ot.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&ot.error(e[0]),e},PSEUDO:function(e){var t,n=!e[5]&&e[2];return J.CHILD.test(e[0])?null:(e[3]&&e[4]!==undefined?e[2]=e[4]:n&&V.test(n)&&(t=gt(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(nt,rt).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=C[e+" "];return t||(t=RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&C(e,function(e){return t.test("string"==typeof e.className&&e.className||typeof e.getAttribute!==j&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r){var i=ot.attr(r,e);return null==i?"!="===t:t?(i+="","="===t?i===n:"!="===t?i!==n:"^="===t?n&&0===i.indexOf(n):"*="===t?n&&i.indexOf(n)>-1:"$="===t?n&&i.slice(-n.length)===n:"~="===t?(" "+i+" ").indexOf(n)>-1:"|="===t?i===n||i.slice(0,n.length+1)===n+"-":!1):!0}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),s="last"!==e.slice(-4),a="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,u){var l,c,p,f,h,d,g=o!==s?"nextSibling":"previousSibling",m=t.parentNode,y=a&&t.nodeName.toLowerCase(),x=!u&&!a;if(m){if(o){while(g){p=t;while(p=p[g])if(a?p.nodeName.toLowerCase()===y:1===p.nodeType)return!1;d=g="only"===e&&!d&&"nextSibling"}return!0}if(d=[s?m.firstChild:m.lastChild],s&&x){c=m[v]||(m[v]={}),l=c[e]||[],h=l[0]===w&&l[1],f=l[0]===w&&l[2],p=h&&m.childNodes[h];while(p=++h&&p&&p[g]||(f=h=0)||d.pop())if(1===p.nodeType&&++f&&p===t){c[e]=[w,h,f];break}}else if(x&&(l=(t[v]||(t[v]={}))[e])&&l[0]===w)f=l[1];else while(p=++h&&p&&p[g]||(f=h=0)||d.pop())if((a?p.nodeName.toLowerCase()===y:1===p.nodeType)&&++f&&(x&&((p[v]||(p[v]={}))[e]=[w,f]),p===t))break;return f-=i,f===r||0===f%r&&f/r>=0}}},PSEUDO:function(e,t){var n,r=i.pseudos[e]||i.setFilters[e.toLowerCase()]||ot.error("unsupported pseudo: "+e);return r[v]?r(t):r.length>1?(n=[e,e,"",t],i.setFilters.hasOwnProperty(e.toLowerCase())?at(function(e,n){var i,o=r(e,t),s=o.length;while(s--)i=P.call(e,o[s]),e[i]=!(n[i]=o[s])}):function(e){return r(e,0,n)}):r}},pseudos:{not:at(function(e){var t=[],n=[],r=a(e.replace(z,"$1"));return r[v]?at(function(e,t,n,i){var o,s=r(e,null,i,[]),a=e.length;while(a--)(o=s[a])&&(e[a]=!(t[a]=o))}):function(e,i,o){return t[0]=e,r(t,null,o,n),!n.pop()}}),has:at(function(e){return function(t){return ot(e,t).length>0}}),contains:at(function(e){return function(t){return(t.textContent||t.innerText||o(t)).indexOf(e)>-1}}),lang:at(function(e){return G.test(e||"")||ot.error("unsupported lang: "+e),e=e.replace(nt,rt).toLowerCase(),function(t){var n;do if(n=h?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return n=n.toLowerCase(),n===e||0===n.indexOf(e+"-");while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===f},focus:function(e){return e===p.activeElement&&(!p.hasFocus||p.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:function(e){return e.disabled===!1},disabled:function(e){return e.disabled===!0},checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeName>"@"||3===e.nodeType||4===e.nodeType)return!1;return!0},parent:function(e){return!i.pseudos.empty(e)},header:function(e){return et.test(e.nodeName)},input:function(e){return Z.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||t.toLowerCase()===e.type)},first:ht(function(){return[0]}),last:ht(function(e,t){return[t-1]}),eq:ht(function(e,t,n){return[0>n?n+t:n]}),even:ht(function(e,t){var n=0;for(;t>n;n+=2)e.push(n);return e}),odd:ht(function(e,t){var n=1;for(;t>n;n+=2)e.push(n);return e}),lt:ht(function(e,t,n){var r=0>n?n+t:n;for(;--r>=0;)e.push(r);return e}),gt:ht(function(e,t,n){var r=0>n?n+t:n;for(;t>++r;)e.push(r);return e})}},i.pseudos.nth=i.pseudos.eq;for(t in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})i.pseudos[t]=pt(t);for(t in{submit:!0,reset:!0})i.pseudos[t]=ft(t);function dt(){}dt.prototype=i.filters=i.pseudos,i.setFilters=new dt;function gt(e,t){var n,r,o,s,a,u,l,c=k[e+" "];if(c)return t?0:c.slice(0);a=e,u=[],l=i.preFilter;while(a){(!n||(r=_.exec(a)))&&(r&&(a=a.slice(r[0].length)||a),u.push(o=[])),n=!1,(r=X.exec(a))&&(n=r.shift(),o.push({value:n,type:r[0].replace(z," ")}),a=a.slice(n.length));for(s in i.filter)!(r=J[s].exec(a))||l[s]&&!(r=l[s](r))||(n=r.shift(),o.push({value:n,type:s,matches:r}),a=a.slice(n.length));if(!n)break}return t?a.length:a?ot.error(e):k(e,u).slice(0)}function mt(e){var t=0,n=e.length,r="";for(;n>t;t++)r+=e[t].value;return r}function yt(e,t,n){var i=t.dir,o=n&&"parentNode"===i,s=T++;return t.first?function(t,n,r){while(t=t[i])if(1===t.nodeType||o)return e(t,n,r)}:function(t,n,a){var u,l,c,p=w+" "+s;if(a){while(t=t[i])if((1===t.nodeType||o)&&e(t,n,a))return!0}else while(t=t[i])if(1===t.nodeType||o)if(c=t[v]||(t[v]={}),(l=c[i])&&l[0]===p){if((u=l[1])===!0||u===r)return u===!0}else if(l=c[i]=[p],l[1]=e(t,n,a)||r,l[1]===!0)return!0}}function vt(e){return e.length>1?function(t,n,r){var i=e.length;while(i--)if(!e[i](t,n,r))return!1;return!0}:e[0]}function xt(e,t,n,r,i){var o,s=[],a=0,u=e.length,l=null!=t;for(;u>a;a++)(o=e[a])&&(!n||n(o,r,i))&&(s.push(o),l&&t.push(a));return s}function bt(e,t,n,r,i,o){return r&&!r[v]&&(r=bt(r)),i&&!i[v]&&(i=bt(i,o)),at(function(o,s,a,u){var l,c,p,f=[],h=[],d=s.length,g=o||Ct(t||"*",a.nodeType?[a]:a,[]),m=!e||!o&&t?g:xt(g,f,e,a,u),y=n?i||(o?e:d||r)?[]:s:m;if(n&&n(m,y,a,u),r){l=xt(y,h),r(l,[],a,u),c=l.length;while(c--)(p=l[c])&&(y[h[c]]=!(m[h[c]]=p))}if(o){if(i||e){if(i){l=[],c=y.length;while(c--)(p=y[c])&&l.push(m[c]=p);i(null,y=[],l,u)}c=y.length;while(c--)(p=y[c])&&(l=i?P.call(o,p):f[c])>-1&&(o[l]=!(s[l]=p))}}else y=xt(y===s?y.splice(d,y.length):y),i?i(null,s,y,u):O.apply(s,y)})}function wt(e){var t,n,r,o=e.length,s=i.relative[e[0].type],a=s||i.relative[" "],l=s?1:0,c=yt(function(e){return e===t},a,!0),p=yt(function(e){return P.call(t,e)>-1},a,!0),f=[function(e,n,r){return!s&&(r||n!==u)||((t=n).nodeType?c(e,n,r):p(e,n,r))}];for(;o>l;l++)if(n=i.relative[e[l].type])f=[yt(vt(f),n)];else{if(n=i.filter[e[l].type].apply(null,e[l].matches),n[v]){for(r=++l;o>r;r++)if(i.relative[e[r].type])break;return bt(l>1&&vt(f),l>1&&mt(e.slice(0,l-1).concat({value:" "===e[l-2].type?"*":""})).replace(z,"$1"),n,r>l&&wt(e.slice(l,r)),o>r&&wt(e=e.slice(r)),o>r&&mt(e))}f.push(n)}return vt(f)}function Tt(e,t){var n=0,o=t.length>0,s=e.length>0,a=function(a,l,c,f,h){var d,g,m,y=[],v=0,x="0",b=a&&[],T=null!=h,C=u,k=a||s&&i.find.TAG("*",h&&l.parentNode||l),N=w+=null==C?1:Math.random()||.1;for(T&&(u=l!==p&&l,r=n);null!=(d=k[x]);x++){if(s&&d){g=0;while(m=e[g++])if(m(d,l,c)){f.push(d);break}T&&(w=N,r=++n)}o&&((d=!m&&d)&&v--,a&&b.push(d))}if(v+=x,o&&x!==v){g=0;while(m=t[g++])m(b,y,l,c);if(a){if(v>0)while(x--)b[x]||y[x]||(y[x]=q.call(f));y=xt(y)}O.apply(f,y),T&&!a&&y.length>0&&v+t.length>1&&ot.uniqueSort(f)}return T&&(w=N,u=C),b};return o?at(a):a}a=ot.compile=function(e,t){var n,r=[],i=[],o=N[e+" "];if(!o){t||(t=gt(e)),n=t.length;while(n--)o=wt(t[n]),o[v]?r.push(o):i.push(o);o=N(e,Tt(i,r))}return o};function Ct(e,t,n){var r=0,i=t.length;for(;i>r;r++)ot(e,t[r],n);return n}function kt(e,t,r,o){var s,u,l,c,p,f=gt(e);if(!o&&1===f.length){if(u=f[0]=f[0].slice(0),u.length>2&&"ID"===(l=u[0]).type&&n.getById&&9===t.nodeType&&h&&i.relative[u[1].type]){if(t=(i.find.ID(l.matches[0].replace(nt,rt),t)||[])[0],!t)return r;e=e.slice(u.shift().value.length)}s=J.needsContext.test(e)?0:u.length;while(s--){if(l=u[s],i.relative[c=l.type])break;if((p=i.find[c])&&(o=p(l.matches[0].replace(nt,rt),U.test(u[0].type)&&t.parentNode||t))){if(u.splice(s,1),e=o.length&&mt(u),!e)return O.apply(r,o),r;break}}}return a(e,f)(o,t,!h,r,U.test(e)),r}n.sortStable=v.split("").sort(S).join("")===v,n.detectDuplicates=E,c(),n.sortDetached=ut(function(e){return 1&e.compareDocumentPosition(p.createElement("div"))}),ut(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||lt("type|href|height|width",function(e,t,n){return n?undefined:e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),n.attributes&&ut(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||lt("value",function(e,t,n){return n||"input"!==e.nodeName.toLowerCase()?undefined:e.defaultValue}),ut(function(e){return null==e.getAttribute("disabled")})||lt(R,function(e,t,n){var r;return n?undefined:(r=e.getAttributeNode(t))&&r.specified?r.value:e[t]===!0?t.toLowerCase():null}),x.find=ot,x.expr=ot.selectors,x.expr[":"]=x.expr.pseudos,x.unique=ot.uniqueSort,x.text=ot.getText,x.isXMLDoc=ot.isXML,x.contains=ot.contains}(e);var D={};function A(e){var t=D[e]={};return x.each(e.match(w)||[],function(e,n){t[n]=!0}),t}x.Callbacks=function(e){e="string"==typeof e?D[e]||A(e):x.extend({},e);var t,n,r,i,o,s,a=[],u=!e.once&&[],l=function(p){for(t=e.memory&&p,n=!0,s=i||0,i=0,o=a.length,r=!0;a&&o>s;s++)if(a[s].apply(p[0],p[1])===!1&&e.stopOnFalse){t=!1;break}r=!1,a&&(u?u.length&&l(u.shift()):t?a=[]:c.disable())},c={add:function(){if(a){var n=a.length;(function s(t){x.each(t,function(t,n){var r=x.type(n);"function"===r?e.unique&&c.has(n)||a.push(n):n&&n.length&&"string"!==r&&s(n)})})(arguments),r?o=a.length:t&&(i=n,l(t))}return this},remove:function(){return a&&x.each(arguments,function(e,t){var n;while((n=x.inArray(t,a,n))>-1)a.splice(n,1),r&&(o>=n&&o--,s>=n&&s--)}),this},has:function(e){return e?x.inArray(e,a)>-1:!(!a||!a.length)},empty:function(){return a=[],o=0,this},disable:function(){return a=u=t=undefined,this},disabled:function(){return!a},lock:function(){return u=undefined,t||c.disable(),this},locked:function(){return!u},fireWith:function(e,t){return!a||n&&!u||(t=t||[],t=[e,t.slice?t.slice():t],r?u.push(t):l(t)),this},fire:function(){return c.fireWith(this,arguments),this},fired:function(){return!!n}};return c},x.extend({Deferred:function(e){var t=[["resolve","done",x.Callbacks("once memory"),"resolved"],["reject","fail",x.Callbacks("once memory"),"rejected"],["notify","progress",x.Callbacks("memory")]],n="pending",r={state:function(){return n},always:function(){return i.done(arguments).fail(arguments),this},then:function(){var e=arguments;return x.Deferred(function(n){x.each(t,function(t,o){var s=o[0],a=x.isFunction(e[t])&&e[t];i[o[1]](function(){var e=a&&a.apply(this,arguments);e&&x.isFunction(e.promise)?e.promise().done(n.resolve).fail(n.reject).progress(n.notify):n[s+"With"](this===r?n.promise():this,a?[e]:arguments)})}),e=null}).promise()},promise:function(e){return null!=e?x.extend(e,r):r}},i={};return r.pipe=r.then,x.each(t,function(e,o){var s=o[2],a=o[3];r[o[1]]=s.add,a&&s.add(function(){n=a},t[1^e][2].disable,t[2][2].lock),i[o[0]]=function(){return i[o[0]+"With"](this===i?r:this,arguments),this},i[o[0]+"With"]=s.fireWith}),r.promise(i),e&&e.call(i,i),i},when:function(e){var t=0,n=d.call(arguments),r=n.length,i=1!==r||e&&x.isFunction(e.promise)?r:0,o=1===i?e:x.Deferred(),s=function(e,t,n){return function(r){t[e]=this,n[e]=arguments.length>1?d.call(arguments):r,n===a?o.notifyWith(t,n):--i||o.resolveWith(t,n)}},a,u,l;if(r>1)for(a=Array(r),u=Array(r),l=Array(r);r>t;t++)n[t]&&x.isFunction(n[t].promise)?n[t].promise().done(s(t,l,n)).fail(o.reject).progress(s(t,u,a)):--i;return i||o.resolveWith(l,n),o.promise()}}),x.support=function(t){var n=o.createElement("input"),r=o.createDocumentFragment(),i=o.createElement("div"),s=o.createElement("select"),a=s.appendChild(o.createElement("option"));return n.type?(n.type="checkbox",t.checkOn=""!==n.value,t.optSelected=a.selected,t.reliableMarginRight=!0,t.boxSizingReliable=!0,t.pixelPosition=!1,n.checked=!0,t.noCloneChecked=n.cloneNode(!0).checked,s.disabled=!0,t.optDisabled=!a.disabled,n=o.createElement("input"),n.value="t",n.type="radio",t.radioValue="t"===n.value,n.setAttribute("checked","t"),n.setAttribute("name","t"),r.appendChild(n),t.checkClone=r.cloneNode(!0).cloneNode(!0).lastChild.checked,t.focusinBubbles="onfocusin"in e,i.style.backgroundClip="content-box",i.cloneNode(!0).style.backgroundClip="",t.clearCloneStyle="content-box"===i.style.backgroundClip,x(function(){var n,r,s="padding:0;margin:0;border:0;display:block;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box",a=o.getElementsByTagName("body")[0];a&&(n=o.createElement("div"),n.style.cssText="border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px",a.appendChild(n).appendChild(i),i.innerHTML="",i.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%",x.swap(a,null!=a.style.zoom?{zoom:1}:{},function(){t.boxSizing=4===i.offsetWidth}),e.getComputedStyle&&(t.pixelPosition="1%"!==(e.getComputedStyle(i,null)||{}).top,t.boxSizingReliable="4px"===(e.getComputedStyle(i,null)||{width:"4px"}).width,r=i.appendChild(o.createElement("div")),r.style.cssText=i.style.cssText=s,r.style.marginRight=r.style.width="0",i.style.width="1px",t.reliableMarginRight=!parseFloat((e.getComputedStyle(r,null)||{}).marginRight)),a.removeChild(n))}),t):t}({});var L,q,H=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,O=/([A-Z])/g;function F(){Object.defineProperty(this.cache={},0,{get:function(){return{}}}),this.expando=x.expando+Math.random()}F.uid=1,F.accepts=function(e){return e.nodeType?1===e.nodeType||9===e.nodeType:!0},F.prototype={key:function(e){if(!F.accepts(e))return 0;var t={},n=e[this.expando];if(!n){n=F.uid++;try{t[this.expando]={value:n},Object.defineProperties(e,t)}catch(r){t[this.expando]=n,x.extend(e,t)}}return this.cache[n]||(this.cache[n]={}),n},set:function(e,t,n){var r,i=this.key(e),o=this.cache[i];if("string"==typeof t)o[t]=n;else if(x.isEmptyObject(o))x.extend(this.cache[i],t);else for(r in t)o[r]=t[r];return o},get:function(e,t){var n=this.cache[this.key(e)];return t===undefined?n:n[t]},access:function(e,t,n){var r;return t===undefined||t&&"string"==typeof t&&n===undefined?(r=this.get(e,t),r!==undefined?r:this.get(e,x.camelCase(t))):(this.set(e,t,n),n!==undefined?n:t)},remove:function(e,t){var n,r,i,o=this.key(e),s=this.cache[o];if(t===undefined)this.cache[o]={};else{x.isArray(t)?r=t.concat(t.map(x.camelCase)):(i=x.camelCase(t),t in s?r=[t,i]:(r=i,r=r in s?[r]:r.match(w)||[])),n=r.length;while(n--)delete s[r[n]]}},hasData:function(e){return!x.isEmptyObject(this.cache[e[this.expando]]||{})},discard:function(e){e[this.expando]&&delete this.cache[e[this.expando]]}},L=new F,q=new F,x.extend({acceptData:F.accepts,hasData:function(e){return L.hasData(e)||q.hasData(e)},data:function(e,t,n){return L.access(e,t,n)},removeData:function(e,t){L.remove(e,t)},_data:function(e,t,n){return q.access(e,t,n)},_removeData:function(e,t){q.remove(e,t)}}),x.fn.extend({data:function(e,t){var n,r,i=this[0],o=0,s=null;if(e===undefined){if(this.length&&(s=L.get(i),1===i.nodeType&&!q.get(i,"hasDataAttrs"))){for(n=i.attributes;n.length>o;o++)r=n[o].name,0===r.indexOf("data-")&&(r=x.camelCase(r.slice(5)),P(i,r,s[r]));q.set(i,"hasDataAttrs",!0)}return s}return"object"==typeof e?this.each(function(){L.set(this,e)}):x.access(this,function(t){var n,r=x.camelCase(e);if(i&&t===undefined){if(n=L.get(i,e),n!==undefined)return n;if(n=L.get(i,r),n!==undefined)return n;if(n=P(i,r,undefined),n!==undefined)return n}else this.each(function(){var n=L.get(this,r);L.set(this,r,t),-1!==e.indexOf("-")&&n!==undefined&&L.set(this,e,t)})},null,t,arguments.length>1,null,!0)},removeData:function(e){return this.each(function(){L.remove(this,e)})}});function P(e,t,n){var r;if(n===undefined&&1===e.nodeType)if(r="data-"+t.replace(O,"-$1").toLowerCase(),n=e.getAttribute(r),"string"==typeof n){try{n="true"===n?!0:"false"===n?!1:"null"===n?null:+n+""===n?+n:H.test(n)?JSON.parse(n):n}catch(i){}L.set(e,t,n)}else n=undefined;return n}x.extend({queue:function(e,t,n){var r;return e?(t=(t||"fx")+"queue",r=q.get(e,t),n&&(!r||x.isArray(n)?r=q.access(e,t,x.makeArray(n)):r.push(n)),r||[]):undefined},dequeue:function(e,t){t=t||"fx";var n=x.queue(e,t),r=n.length,i=n.shift(),o=x._queueHooks(e,t),s=function(){x.dequeue(e,t)};"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,s,o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return q.get(e,n)||q.access(e,n,{empty:x.Callbacks("once memory").add(function(){q.remove(e,[t+"queue",n])})})}}),x.fn.extend({queue:function(e,t){var n=2;return"string"!=typeof e&&(t=e,e="fx",n--),n>arguments.length?x.queue(this[0],e):t===undefined?this:this.each(function(){var n=x.queue(this,e,t);x._queueHooks(this,e),"fx"===e&&"inprogress"!==n[0]&&x.dequeue(this,e)})},dequeue:function(e){return this.each(function(){x.dequeue(this,e)})},delay:function(e,t){return e=x.fx?x.fx.speeds[e]||e:e,t=t||"fx",this.queue(t,function(t,n){var r=setTimeout(t,e);n.stop=function(){clearTimeout(r)}})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,i=x.Deferred(),o=this,s=this.length,a=function(){--r||i.resolveWith(o,[o])};"string"!=typeof e&&(t=e,e=undefined),e=e||"fx";while(s--)n=q.get(o[s],e+"queueHooks"),n&&n.empty&&(r++,n.empty.add(a));return a(),i.promise(t)}});var R,M,W=/[\t\r\n\f]/g,$=/\r/g,B=/^(?:input|select|textarea|button)$/i;x.fn.extend({attr:function(e,t){return x.access(this,x.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){x.removeAttr(this,e)})},prop:function(e,t){return x.access(this,x.prop,e,t,arguments.length>1)},removeProp:function(e){return this.each(function(){delete this[x.propFix[e]||e]})},addClass:function(e){var t,n,r,i,o,s=0,a=this.length,u="string"==typeof e&&e;if(x.isFunction(e))return this.each(function(t){x(this).addClass(e.call(this,t,this.className))});if(u)for(t=(e||"").match(w)||[];a>s;s++)if(n=this[s],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(W," "):" ")){o=0;while(i=t[o++])0>r.indexOf(" "+i+" ")&&(r+=i+" ");n.className=x.trim(r)}return this},removeClass:function(e){var t,n,r,i,o,s=0,a=this.length,u=0===arguments.length||"string"==typeof e&&e;if(x.isFunction(e))return this.each(function(t){x(this).removeClass(e.call(this,t,this.className))});if(u)for(t=(e||"").match(w)||[];a>s;s++)if(n=this[s],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(W," "):"")){o=0;while(i=t[o++])while(r.indexOf(" "+i+" ")>=0)r=r.replace(" "+i+" "," ");n.className=e?x.trim(r):""}return this},toggleClass:function(e,t){var n=typeof e;return"boolean"==typeof t&&"string"===n?t?this.addClass(e):this.removeClass(e):x.isFunction(e)?this.each(function(n){x(this).toggleClass(e.call(this,n,this.className,t),t)}):this.each(function(){if("string"===n){var t,i=0,o=x(this),s=e.match(w)||[];while(t=s[i++])o.hasClass(t)?o.removeClass(t):o.addClass(t)}else(n===r||"boolean"===n)&&(this.className&&q.set(this,"__className__",this.className),this.className=this.className||e===!1?"":q.get(this,"__className__")||"")})},hasClass:function(e){var t=" "+e+" ",n=0,r=this.length;for(;r>n;n++)if(1===this[n].nodeType&&(" "+this[n].className+" ").replace(W," ").indexOf(t)>=0)return!0;return!1},val:function(e){var t,n,r,i=this[0];{if(arguments.length)return r=x.isFunction(e),this.each(function(n){var i;1===this.nodeType&&(i=r?e.call(this,n,x(this).val()):e,null==i?i="":"number"==typeof i?i+="":x.isArray(i)&&(i=x.map(i,function(e){return null==e?"":e+""})),t=x.valHooks[this.type]||x.valHooks[this.nodeName.toLowerCase()],t&&"set"in t&&t.set(this,i,"value")!==undefined||(this.value=i))});if(i)return t=x.valHooks[i.type]||x.valHooks[i.nodeName.toLowerCase()],t&&"get"in t&&(n=t.get(i,"value"))!==undefined?n:(n=i.value,"string"==typeof n?n.replace($,""):null==n?"":n)}}}),x.extend({valHooks:{option:{get:function(e){var t=e.attributes.value;return!t||t.specified?e.value:e.text}},select:{get:function(e){var t,n,r=e.options,i=e.selectedIndex,o="select-one"===e.type||0>i,s=o?null:[],a=o?i+1:r.length,u=0>i?a:o?i:0;for(;a>u;u++)if(n=r[u],!(!n.selected&&u!==i||(x.support.optDisabled?n.disabled:null!==n.getAttribute("disabled"))||n.parentNode.disabled&&x.nodeName(n.parentNode,"optgroup"))){if(t=x(n).val(),o)return t;s.push(t)}return s},set:function(e,t){var n,r,i=e.options,o=x.makeArray(t),s=i.length;while(s--)r=i[s],(r.selected=x.inArray(x(r).val(),o)>=0)&&(n=!0);return n||(e.selectedIndex=-1),o}}},attr:function(e,t,n){var i,o,s=e.nodeType;if(e&&3!==s&&8!==s&&2!==s)return typeof e.getAttribute===r?x.prop(e,t,n):(1===s&&x.isXMLDoc(e)||(t=t.toLowerCase(),i=x.attrHooks[t]||(x.expr.match.bool.test(t)?M:R)),n===undefined?i&&"get"in i&&null!==(o=i.get(e,t))?o:(o=x.find.attr(e,t),null==o?undefined:o):null!==n?i&&"set"in i&&(o=i.set(e,n,t))!==undefined?o:(e.setAttribute(t,n+""),n):(x.removeAttr(e,t),undefined))},removeAttr:function(e,t){var n,r,i=0,o=t&&t.match(w);if(o&&1===e.nodeType)while(n=o[i++])r=x.propFix[n]||n,x.expr.match.bool.test(n)&&(e[r]=!1),e.removeAttribute(n)},attrHooks:{type:{set:function(e,t){if(!x.support.radioValue&&"radio"===t&&x.nodeName(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},propFix:{"for":"htmlFor","class":"className"},prop:function(e,t,n){var r,i,o,s=e.nodeType;if(e&&3!==s&&8!==s&&2!==s)return o=1!==s||!x.isXMLDoc(e),o&&(t=x.propFix[t]||t,i=x.propHooks[t]),n!==undefined?i&&"set"in i&&(r=i.set(e,n,t))!==undefined?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){return e.hasAttribute("tabindex")||B.test(e.nodeName)||e.href?e.tabIndex:-1}}}}),M={set:function(e,t,n){return t===!1?x.removeAttr(e,n):e.setAttribute(n,n),n}},x.each(x.expr.match.bool.source.match(/\w+/g),function(e,t){var n=x.expr.attrHandle[t]||x.find.attr;x.expr.attrHandle[t]=function(e,t,r){var i=x.expr.attrHandle[t],o=r?undefined:(x.expr.attrHandle[t]=undefined)!=n(e,t,r)?t.toLowerCase():null;return x.expr.attrHandle[t]=i,o}}),x.support.optSelected||(x.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null}}),x.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){x.propFix[this.toLowerCase()]=this}),x.each(["radio","checkbox"],function(){x.valHooks[this]={set:function(e,t){return x.isArray(t)?e.checked=x.inArray(x(e).val(),t)>=0:undefined}},x.support.checkOn||(x.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})});var I=/^key/,z=/^(?:mouse|contextmenu)|click/,_=/^(?:focusinfocus|focusoutblur)$/,X=/^([^.]*)(?:\.(.+)|)$/;function U(){return!0}function Y(){return!1}function V(){try{return o.activeElement}catch(e){}}x.event={global:{},add:function(e,t,n,i,o){var s,a,u,l,c,p,f,h,d,g,m,y=q.get(e);if(y){n.handler&&(s=n,n=s.handler,o=s.selector),n.guid||(n.guid=x.guid++),(l=y.events)||(l=y.events={}),(a=y.handle)||(a=y.handle=function(e){return typeof x===r||e&&x.event.triggered===e.type?undefined:x.event.dispatch.apply(a.elem,arguments)},a.elem=e),t=(t||"").match(w)||[""],c=t.length;while(c--)u=X.exec(t[c])||[],d=m=u[1],g=(u[2]||"").split(".").sort(),d&&(f=x.event.special[d]||{},d=(o?f.delegateType:f.bindType)||d,f=x.event.special[d]||{},p=x.extend({type:d,origType:m,data:i,handler:n,guid:n.guid,selector:o,needsContext:o&&x.expr.match.needsContext.test(o),namespace:g.join(".")},s),(h=l[d])||(h=l[d]=[],h.delegateCount=0,f.setup&&f.setup.call(e,i,g,a)!==!1||e.addEventListener&&e.addEventListener(d,a,!1)),f.add&&(f.add.call(e,p),p.handler.guid||(p.handler.guid=n.guid)),o?h.splice(h.delegateCount++,0,p):h.push(p),x.event.global[d]=!0);e=null}},remove:function(e,t,n,r,i){var o,s,a,u,l,c,p,f,h,d,g,m=q.hasData(e)&&q.get(e);if(m&&(u=m.events)){t=(t||"").match(w)||[""],l=t.length;while(l--)if(a=X.exec(t[l])||[],h=g=a[1],d=(a[2]||"").split(".").sort(),h){p=x.event.special[h]||{},h=(r?p.delegateType:p.bindType)||h,f=u[h]||[],a=a[2]&&RegExp("(^|\\.)"+d.join("\\.(?:.*\\.|)")+"(\\.|$)"),s=o=f.length;while(o--)c=f[o],!i&&g!==c.origType||n&&n.guid!==c.guid||a&&!a.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(f.splice(o,1),c.selector&&f.delegateCount--,p.remove&&p.remove.call(e,c));s&&!f.length&&(p.teardown&&p.teardown.call(e,d,m.handle)!==!1||x.removeEvent(e,h,m.handle),delete u[h])}else for(h in u)x.event.remove(e,h+t[l],n,r,!0);x.isEmptyObject(u)&&(delete m.handle,q.remove(e,"events"))}},trigger:function(t,n,r,i){var s,a,u,l,c,p,f,h=[r||o],d=y.call(t,"type")?t.type:t,g=y.call(t,"namespace")?t.namespace.split("."):[];if(a=u=r=r||o,3!==r.nodeType&&8!==r.nodeType&&!_.test(d+x.event.triggered)&&(d.indexOf(".")>=0&&(g=d.split("."),d=g.shift(),g.sort()),c=0>d.indexOf(":")&&"on"+d,t=t[x.expando]?t:new x.Event(d,"object"==typeof t&&t),t.isTrigger=i?2:3,t.namespace=g.join("."),t.namespace_re=t.namespace?RegExp("(^|\\.)"+g.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,t.result=undefined,t.target||(t.target=r),n=null==n?[t]:x.makeArray(n,[t]),f=x.event.special[d]||{},i||!f.trigger||f.trigger.apply(r,n)!==!1)){if(!i&&!f.noBubble&&!x.isWindow(r)){for(l=f.delegateType||d,_.test(l+d)||(a=a.parentNode);a;a=a.parentNode)h.push(a),u=a;u===(r.ownerDocument||o)&&h.push(u.defaultView||u.parentWindow||e)}s=0;while((a=h[s++])&&!t.isPropagationStopped())t.type=s>1?l:f.bindType||d,p=(q.get(a,"events")||{})[t.type]&&q.get(a,"handle"),p&&p.apply(a,n),p=c&&a[c],p&&x.acceptData(a)&&p.apply&&p.apply(a,n)===!1&&t.preventDefault();return t.type=d,i||t.isDefaultPrevented()||f._default&&f._default.apply(h.pop(),n)!==!1||!x.acceptData(r)||c&&x.isFunction(r[d])&&!x.isWindow(r)&&(u=r[c],u&&(r[c]=null),x.event.triggered=d,r[d](),x.event.triggered=undefined,u&&(r[c]=u)),t.result}},dispatch:function(e){e=x.event.fix(e);var t,n,r,i,o,s=[],a=d.call(arguments),u=(q.get(this,"events")||{})[e.type]||[],l=x.event.special[e.type]||{};if(a[0]=e,e.delegateTarget=this,!l.preDispatch||l.preDispatch.call(this,e)!==!1){s=x.event.handlers.call(this,e,u),t=0;while((i=s[t++])&&!e.isPropagationStopped()){e.currentTarget=i.elem,n=0;while((o=i.handlers[n++])&&!e.isImmediatePropagationStopped())(!e.namespace_re||e.namespace_re.test(o.namespace))&&(e.handleObj=o,e.data=o.data,r=((x.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,a),r!==undefined&&(e.result=r)===!1&&(e.preventDefault(),e.stopPropagation()))}return l.postDispatch&&l.postDispatch.call(this,e),e.result}},handlers:function(e,t){var n,r,i,o,s=[],a=t.delegateCount,u=e.target;if(a&&u.nodeType&&(!e.button||"click"!==e.type))for(;u!==this;u=u.parentNode||this)if(u.disabled!==!0||"click"!==e.type){for(r=[],n=0;a>n;n++)o=t[n],i=o.selector+" ",r[i]===undefined&&(r[i]=o.needsContext?x(i,this).index(u)>=0:x.find(i,this,null,[u]).length),r[i]&&r.push(o);r.length&&s.push({elem:u,handlers:r})}return t.length>a&&s.push({elem:this,handlers:t.slice(a)}),s},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(e,t){return null==e.which&&(e.which=null!=t.charCode?t.charCode:t.keyCode),e}},mouseHooks:{props:"button buttons clientX clientY offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(e,t){var n,r,i,s=t.button;return null==e.pageX&&null!=t.clientX&&(n=e.target.ownerDocument||o,r=n.documentElement,i=n.body,e.pageX=t.clientX+(r&&r.scrollLeft||i&&i.scrollLeft||0)-(r&&r.clientLeft||i&&i.clientLeft||0),e.pageY=t.clientY+(r&&r.scrollTop||i&&i.scrollTop||0)-(r&&r.clientTop||i&&i.clientTop||0)),e.which||s===undefined||(e.which=1&s?1:2&s?3:4&s?2:0),e}},fix:function(e){if(e[x.expando])return e;var t,n,r,i=e.type,s=e,a=this.fixHooks[i];a||(this.fixHooks[i]=a=z.test(i)?this.mouseHooks:I.test(i)?this.keyHooks:{}),r=a.props?this.props.concat(a.props):this.props,e=new x.Event(s),t=r.length;while(t--)n=r[t],e[n]=s[n];return e.target||(e.target=o),3===e.target.nodeType&&(e.target=e.target.parentNode),a.filter?a.filter(e,s):e},special:{load:{noBubble:!0},focus:{trigger:function(){return this!==V()&&this.focus?(this.focus(),!1):undefined},delegateType:"focusin"},blur:{trigger:function(){return this===V()&&this.blur?(this.blur(),!1):undefined},delegateType:"focusout"},click:{trigger:function(){return"checkbox"===this.type&&this.click&&x.nodeName(this,"input")?(this.click(),!1):undefined},_default:function(e){return x.nodeName(e.target,"a")}},beforeunload:{postDispatch:function(e){e.result!==undefined&&(e.originalEvent.returnValue=e.result)}}},simulate:function(e,t,n,r){var i=x.extend(new x.Event,n,{type:e,isSimulated:!0,originalEvent:{}});r?x.event.trigger(i,null,t):x.event.dispatch.call(t,i),i.isDefaultPrevented()&&n.preventDefault()}},x.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n,!1)},x.Event=function(e,t){return this instanceof x.Event?(e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||e.getPreventDefault&&e.getPreventDefault()?U:Y):this.type=e,t&&x.extend(this,t),this.timeStamp=e&&e.timeStamp||x.now(),this[x.expando]=!0,undefined):new x.Event(e,t)},x.Event.prototype={isDefaultPrevented:Y,isPropagationStopped:Y,isImmediatePropagationStopped:Y,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=U,e&&e.preventDefault&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=U,e&&e.stopPropagation&&e.stopPropagation()},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=U,this.stopPropagation()}},x.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(e,t){x.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,i=e.relatedTarget,o=e.handleObj;return(!i||i!==r&&!x.contains(r,i))&&(e.type=o.origType,n=o.handler.apply(this,arguments),e.type=t),n}}}),x.support.focusinBubbles||x.each({focus:"focusin",blur:"focusout"},function(e,t){var n=0,r=function(e){x.event.simulate(t,e.target,x.event.fix(e),!0)};x.event.special[t]={setup:function(){0===n++&&o.addEventListener(e,r,!0)},teardown:function(){0===--n&&o.removeEventListener(e,r,!0)}}}),x.fn.extend({on:function(e,t,n,r,i){var o,s;if("object"==typeof e){"string"!=typeof t&&(n=n||t,t=undefined);for(s in e)this.on(s,t,n,e[s],i);return this}if(null==n&&null==r?(r=t,n=t=undefined):null==r&&("string"==typeof t?(r=n,n=undefined):(r=n,n=t,t=undefined)),r===!1)r=Y;else if(!r)return this;return 1===i&&(o=r,r=function(e){return x().off(e),o.apply(this,arguments)},r.guid=o.guid||(o.guid=x.guid++)),this.each(function(){x.event.add(this,e,r,n,t)})},one:function(e,t,n,r){return this.on(e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,x(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"==typeof e){for(i in e)this.off(i,t,e[i]);return this}return(t===!1||"function"==typeof t)&&(n=t,t=undefined),n===!1&&(n=Y),this.each(function(){x.event.remove(this,e,n,t)})},trigger:function(e,t){return this.each(function(){x.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];return n?x.event.trigger(e,t,n,!0):undefined}});var G=/^.[^:#\[\.,]*$/,J=/^(?:parents|prev(?:Until|All))/,Q=x.expr.match.needsContext,K={children:!0,contents:!0,next:!0,prev:!0};x.fn.extend({find:function(e){var t,n=[],r=this,i=r.length;if("string"!=typeof e)return this.pushStack(x(e).filter(function(){for(t=0;i>t;t++)if(x.contains(r[t],this))return!0}));for(t=0;i>t;t++)x.find(e,r[t],n);return n=this.pushStack(i>1?x.unique(n):n),n.selector=this.selector?this.selector+" "+e:e,n},has:function(e){var t=x(e,this),n=t.length;return this.filter(function(){var e=0;for(;n>e;e++)if(x.contains(this,t[e]))return!0})},not:function(e){return this.pushStack(et(this,e||[],!0))},filter:function(e){return this.pushStack(et(this,e||[],!1))},is:function(e){return!!et(this,"string"==typeof e&&Q.test(e)?x(e):e||[],!1).length},closest:function(e,t){var n,r=0,i=this.length,o=[],s=Q.test(e)||"string"!=typeof e?x(e,t||this.context):0;for(;i>r;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(11>n.nodeType&&(s?s.index(n)>-1:1===n.nodeType&&x.find.matchesSelector(n,e))){n=o.push(n);break}return this.pushStack(o.length>1?x.unique(o):o)},index:function(e){return e?"string"==typeof e?g.call(x(e),this[0]):g.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){var n="string"==typeof e?x(e,t):x.makeArray(e&&e.nodeType?[e]:e),r=x.merge(this.get(),n);return this.pushStack(x.unique(r))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}});function Z(e,t){while((e=e[t])&&1!==e.nodeType);return e}x.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return x.dir(e,"parentNode")},parentsUntil:function(e,t,n){return x.dir(e,"parentNode",n)},next:function(e){return Z(e,"nextSibling")},prev:function(e){return Z(e,"previousSibling")},nextAll:function(e){return x.dir(e,"nextSibling")},prevAll:function(e){return x.dir(e,"previousSibling")},nextUntil:function(e,t,n){return x.dir(e,"nextSibling",n)},prevUntil:function(e,t,n){return x.dir(e,"previousSibling",n)},siblings:function(e){return x.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return x.sibling(e.firstChild)},contents:function(e){return e.contentDocument||x.merge([],e.childNodes)}},function(e,t){x.fn[e]=function(n,r){var i=x.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(i=x.filter(r,i)),this.length>1&&(K[e]||x.unique(i),J.test(e)&&i.reverse()),this.pushStack(i)}}),x.extend({filter:function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?x.find.matchesSelector(r,e)?[r]:[]:x.find.matches(e,x.grep(t,function(e){return 1===e.nodeType}))},dir:function(e,t,n){var r=[],i=n!==undefined;while((e=e[t])&&9!==e.nodeType)if(1===e.nodeType){if(i&&x(e).is(n))break;r.push(e)}return r},sibling:function(e,t){var n=[];for(;e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n}});function et(e,t,n){if(x.isFunction(t))return x.grep(e,function(e,r){return!!t.call(e,r,e)!==n});if(t.nodeType)return x.grep(e,function(e){return e===t!==n});if("string"==typeof t){if(G.test(t))return x.filter(t,e,n);t=x.filter(t,e)}return x.grep(e,function(e){return g.call(t,e)>=0!==n})}var tt=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,nt=/<([\w:]+)/,rt=/<|&#?\w+;/,it=/<(?:script|style|link)/i,ot=/^(?:checkbox|radio)$/i,st=/checked\s*(?:[^=]|=\s*.checked.)/i,at=/^$|\/(?:java|ecma)script/i,ut=/^true\/(.*)/,lt=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,ct={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,"",""]};ct.optgroup=ct.option,ct.tbody=ct.tfoot=ct.colgroup=ct.caption=ct.thead,ct.th=ct.td,x.fn.extend({text:function(e){return x.access(this,function(e){return e===undefined?x.text(this):this.empty().append((this[0]&&this[0].ownerDocument||o).createTextNode(e))},null,e,arguments.length)},append:function(){return this.domManip(arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=pt(this,e);t.appendChild(e)}})},prepend:function(){return this.domManip(arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=pt(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return this.domManip(arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return this.domManip(arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},remove:function(e,t){var n,r=e?x.filter(e,this):this,i=0;for(;null!=(n=r[i]);i++)t||1!==n.nodeType||x.cleanData(mt(n)),n.parentNode&&(t&&x.contains(n.ownerDocument,n)&&dt(mt(n,"script")),n.parentNode.removeChild(n));return this},empty:function(){var e,t=0;for(;null!=(e=this[t]);t++)1===e.nodeType&&(x.cleanData(mt(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null==e?!1:e,t=null==t?e:t,this.map(function(){return x.clone(this,e,t)})},html:function(e){return x.access(this,function(e){var t=this[0]||{},n=0,r=this.length;if(e===undefined&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!it.test(e)&&!ct[(nt.exec(e)||["",""])[1].toLowerCase()]){e=e.replace(tt,"<$1></$2>");try{for(;r>n;n++)t=this[n]||{},1===t.nodeType&&(x.cleanData(mt(t,!1)),t.innerHTML=e);t=0}catch(i){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var e=x.map(this,function(e){return[e.nextSibling,e.parentNode]}),t=0;return this.domManip(arguments,function(n){var r=e[t++],i=e[t++];i&&(r&&r.parentNode!==i&&(r=this.nextSibling),x(this).remove(),i.insertBefore(n,r))},!0),t?this:this.remove()},detach:function(e){return this.remove(e,!0)},domManip:function(e,t,n){e=f.apply([],e);var r,i,o,s,a,u,l=0,c=this.length,p=this,h=c-1,d=e[0],g=x.isFunction(d);if(g||!(1>=c||"string"!=typeof d||x.support.checkClone)&&st.test(d))return this.each(function(r){var i=p.eq(r);g&&(e[0]=d.call(this,r,i.html())),i.domManip(e,t,n)});if(c&&(r=x.buildFragment(e,this[0].ownerDocument,!1,!n&&this),i=r.firstChild,1===r.childNodes.length&&(r=i),i)){for(o=x.map(mt(r,"script"),ft),s=o.length;c>l;l++)a=r,l!==h&&(a=x.clone(a,!0,!0),s&&x.merge(o,mt(a,"script"))),t.call(this[l],a,l);if(s)for(u=o[o.length-1].ownerDocument,x.map(o,ht),l=0;s>l;l++)a=o[l],at.test(a.type||"")&&!q.access(a,"globalEval")&&x.contains(u,a)&&(a.src?x._evalUrl(a.src):x.globalEval(a.textContent.replace(lt,"")))}return this}}),x.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){x.fn[e]=function(e){var n,r=[],i=x(e),o=i.length-1,s=0;for(;o>=s;s++)n=s===o?this:this.clone(!0),x(i[s])[t](n),h.apply(r,n.get());return this.pushStack(r)}}),x.extend({clone:function(e,t,n){var r,i,o,s,a=e.cloneNode(!0),u=x.contains(e.ownerDocument,e);if(!(x.support.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||x.isXMLDoc(e)))for(s=mt(a),o=mt(e),r=0,i=o.length;i>r;r++)yt(o[r],s[r]);if(t)if(n)for(o=o||mt(e),s=s||mt(a),r=0,i=o.length;i>r;r++)gt(o[r],s[r]);else gt(e,a);return s=mt(a,"script"),s.length>0&&dt(s,!u&&mt(e,"script")),a},buildFragment:function(e,t,n,r){var i,o,s,a,u,l,c=0,p=e.length,f=t.createDocumentFragment(),h=[];for(;p>c;c++)if(i=e[c],i||0===i)if("object"===x.type(i))x.merge(h,i.nodeType?[i]:i);else if(rt.test(i)){o=o||f.appendChild(t.createElement("div")),s=(nt.exec(i)||["",""])[1].toLowerCase(),a=ct[s]||ct._default,o.innerHTML=a[1]+i.replace(tt,"<$1></$2>")+a[2],l=a[0];while(l--)o=o.lastChild;x.merge(h,o.childNodes),o=f.firstChild,o.textContent=""}else h.push(t.createTextNode(i));f.textContent="",c=0;while(i=h[c++])if((!r||-1===x.inArray(i,r))&&(u=x.contains(i.ownerDocument,i),o=mt(f.appendChild(i),"script"),u&&dt(o),n)){l=0;while(i=o[l++])at.test(i.type||"")&&n.push(i)}return f},cleanData:function(e){var t,n,r,i,o,s,a=x.event.special,u=0;for(;(n=e[u])!==undefined;u++){if(F.accepts(n)&&(o=n[q.expando],o&&(t=q.cache[o]))){if(r=Object.keys(t.events||{}),r.length)for(s=0;(i=r[s])!==undefined;s++)a[i]?x.event.remove(n,i):x.removeEvent(n,i,t.handle);q.cache[o]&&delete q.cache[o]}delete L.cache[n[L.expando]]}},_evalUrl:function(e){return x.ajax({url:e,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})}});function pt(e,t){return x.nodeName(e,"table")&&x.nodeName(1===t.nodeType?t:t.firstChild,"tr")?e.getElementsByTagName("tbody")[0]||e.appendChild(e.ownerDocument.createElement("tbody")):e}function ft(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function ht(e){var t=ut.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function dt(e,t){var n=e.length,r=0;for(;n>r;r++)q.set(e[r],"globalEval",!t||q.get(t[r],"globalEval"))}function gt(e,t){var n,r,i,o,s,a,u,l;if(1===t.nodeType){if(q.hasData(e)&&(o=q.access(e),s=q.set(t,o),l=o.events)){delete s.handle,s.events={};for(i in l)for(n=0,r=l[i].length;r>n;n++)x.event.add(t,i,l[i][n])}L.hasData(e)&&(a=L.access(e),u=x.extend({},a),L.set(t,u))}}function mt(e,t){var n=e.getElementsByTagName?e.getElementsByTagName(t||"*"):e.querySelectorAll?e.querySelectorAll(t||"*"):[];return t===undefined||t&&x.nodeName(e,t)?x.merge([e],n):n}function yt(e,t){var n=t.nodeName.toLowerCase();"input"===n&&ot.test(e.type)?t.checked=e.checked:("input"===n||"textarea"===n)&&(t.defaultValue=e.defaultValue)}x.fn.extend({wrapAll:function(e){var t;return x.isFunction(e)?this.each(function(t){x(this).wrapAll(e.call(this,t))}):(this[0]&&(t=x(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstElementChild)e=e.firstElementChild;return e}).append(this)),this)},wrapInner:function(e){return x.isFunction(e)?this.each(function(t){x(this).wrapInner(e.call(this,t))}):this.each(function(){var t=x(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=x.isFunction(e);return this.each(function(n){x(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){x.nodeName(this,"body")||x(this).replaceWith(this.childNodes)}).end()}});var vt,xt,bt=/^(none|table(?!-c[ea]).+)/,wt=/^margin/,Tt=RegExp("^("+b+")(.*)$","i"),Ct=RegExp("^("+b+")(?!px)[a-z%]+$","i"),kt=RegExp("^([+-])=("+b+")","i"),Nt={BODY:"block"},Et={position:"absolute",visibility:"hidden",display:"block"},St={letterSpacing:0,fontWeight:400},jt=["Top","Right","Bottom","Left"],Dt=["Webkit","O","Moz","ms"];function At(e,t){if(t in e)return t;var n=t.charAt(0).toUpperCase()+t.slice(1),r=t,i=Dt.length;while(i--)if(t=Dt[i]+n,t in e)return t;return r}function Lt(e,t){return e=t||e,"none"===x.css(e,"display")||!x.contains(e.ownerDocument,e)}function qt(t){return e.getComputedStyle(t,null)}function Ht(e,t){var n,r,i,o=[],s=0,a=e.length;for(;a>s;s++)r=e[s],r.style&&(o[s]=q.get(r,"olddisplay"),n=r.style.display,t?(o[s]||"none"!==n||(r.style.display=""),""===r.style.display&&Lt(r)&&(o[s]=q.access(r,"olddisplay",Rt(r.nodeName)))):o[s]||(i=Lt(r),(n&&"none"!==n||!i)&&q.set(r,"olddisplay",i?n:x.css(r,"display"))));for(s=0;a>s;s++)r=e[s],r.style&&(t&&"none"!==r.style.display&&""!==r.style.display||(r.style.display=t?o[s]||"":"none"));return e}x.fn.extend({css:function(e,t){return x.access(this,function(e,t,n){var r,i,o={},s=0;if(x.isArray(t)){for(r=qt(e),i=t.length;i>s;s++)o[t[s]]=x.css(e,t[s],!1,r);return o}return n!==undefined?x.style(e,t,n):x.css(e,t)},e,t,arguments.length>1)},show:function(){return Ht(this,!0)},hide:function(){return Ht(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){Lt(this)?x(this).show():x(this).hide()})}}),x.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=vt(e,"opacity");return""===n?"1":n}}}},cssNumber:{columnCount:!0,fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":"cssFloat"},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,s,a=x.camelCase(t),u=e.style;return t=x.cssProps[a]||(x.cssProps[a]=At(u,a)),s=x.cssHooks[t]||x.cssHooks[a],n===undefined?s&&"get"in s&&(i=s.get(e,!1,r))!==undefined?i:u[t]:(o=typeof n,"string"===o&&(i=kt.exec(n))&&(n=(i[1]+1)*i[2]+parseFloat(x.css(e,t)),o="number"),null==n||"number"===o&&isNaN(n)||("number"!==o||x.cssNumber[a]||(n+="px"),x.support.clearCloneStyle||""!==n||0!==t.indexOf("background")||(u[t]="inherit"),s&&"set"in s&&(n=s.set(e,n,r))===undefined||(u[t]=n)),undefined)}},css:function(e,t,n,r){var i,o,s,a=x.camelCase(t);return t=x.cssProps[a]||(x.cssProps[a]=At(e.style,a)),s=x.cssHooks[t]||x.cssHooks[a],s&&"get"in s&&(i=s.get(e,!0,n)),i===undefined&&(i=vt(e,t,r)),"normal"===i&&t in St&&(i=St[t]),""===n||n?(o=parseFloat(i),n===!0||x.isNumeric(o)?o||0:i):i}}),vt=function(e,t,n){var r,i,o,s=n||qt(e),a=s?s.getPropertyValue(t)||s[t]:undefined,u=e.style;return s&&(""!==a||x.contains(e.ownerDocument,e)||(a=x.style(e,t)),Ct.test(a)&&wt.test(t)&&(r=u.width,i=u.minWidth,o=u.maxWidth,u.minWidth=u.maxWidth=u.width=a,a=s.width,u.width=r,u.minWidth=i,u.maxWidth=o)),a};function Ot(e,t,n){var r=Tt.exec(t);return r?Math.max(0,r[1]-(n||0))+(r[2]||"px"):t}function Ft(e,t,n,r,i){var o=n===(r?"border":"content")?4:"width"===t?1:0,s=0;for(;4>o;o+=2)"margin"===n&&(s+=x.css(e,n+jt[o],!0,i)),r?("content"===n&&(s-=x.css(e,"padding"+jt[o],!0,i)),"margin"!==n&&(s-=x.css(e,"border"+jt[o]+"Width",!0,i))):(s+=x.css(e,"padding"+jt[o],!0,i),"padding"!==n&&(s+=x.css(e,"border"+jt[o]+"Width",!0,i)));return s}function Pt(e,t,n){var r=!0,i="width"===t?e.offsetWidth:e.offsetHeight,o=qt(e),s=x.support.boxSizing&&"border-box"===x.css(e,"boxSizing",!1,o);if(0>=i||null==i){if(i=vt(e,t,o),(0>i||null==i)&&(i=e.style[t]),Ct.test(i))return i;r=s&&(x.support.boxSizingReliable||i===e.style[t]),i=parseFloat(i)||0}return i+Ft(e,t,n||(s?"border":"content"),r,o)+"px"}function Rt(e){var t=o,n=Nt[e];return n||(n=Mt(e,t),"none"!==n&&n||(xt=(xt||x("<iframe frameborder='0' width='0' height='0'/>").css("cssText","display:block !important")).appendTo(t.documentElement),t=(xt[0].contentWindow||xt[0].contentDocument).document,t.write("<!doctype html><html><body>"),t.close(),n=Mt(e,t),xt.detach()),Nt[e]=n),n}function Mt(e,t){var n=x(t.createElement(e)).appendTo(t.body),r=x.css(n[0],"display");return n.remove(),r}x.each(["height","width"],function(e,t){x.cssHooks[t]={get:function(e,n,r){return n?0===e.offsetWidth&&bt.test(x.css(e,"display"))?x.swap(e,Et,function(){return Pt(e,t,r)}):Pt(e,t,r):undefined},set:function(e,n,r){var i=r&&qt(e);return Ot(e,n,r?Ft(e,t,r,x.support.boxSizing&&"border-box"===x.css(e,"boxSizing",!1,i),i):0)}}}),x(function(){x.support.reliableMarginRight||(x.cssHooks.marginRight={get:function(e,t){return t?x.swap(e,{display:"inline-block"},vt,[e,"marginRight"]):undefined}}),!x.support.pixelPosition&&x.fn.position&&x.each(["top","left"],function(e,t){x.cssHooks[t]={get:function(e,n){return n?(n=vt(e,t),Ct.test(n)?x(e).position()[t]+"px":n):undefined}}})}),x.expr&&x.expr.filters&&(x.expr.filters.hidden=function(e){return 0>=e.offsetWidth&&0>=e.offsetHeight},x.expr.filters.visible=function(e){return!x.expr.filters.hidden(e)}),x.each({margin:"",padding:"",border:"Width"},function(e,t){x.cssHooks[e+t]={expand:function(n){var r=0,i={},o="string"==typeof n?n.split(" "):[n];for(;4>r;r++)i[e+jt[r]+t]=o[r]||o[r-2]||o[0];return i}},wt.test(e)||(x.cssHooks[e+t].set=Ot)});var Wt=/%20/g,$t=/\[\]$/,Bt=/\r?\n/g,It=/^(?:submit|button|image|reset|file)$/i,zt=/^(?:input|select|textarea|keygen)/i;x.fn.extend({serialize:function(){return x.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=x.prop(this,"elements");return e?x.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!x(this).is(":disabled")&&zt.test(this.nodeName)&&!It.test(e)&&(this.checked||!ot.test(e))}).map(function(e,t){var n=x(this).val();return null==n?null:x.isArray(n)?x.map(n,function(e){return{name:t.name,value:e.replace(Bt,"\r\n")}}):{name:t.name,value:n.replace(Bt,"\r\n")}}).get()}}),x.param=function(e,t){var n,r=[],i=function(e,t){t=x.isFunction(t)?t():null==t?"":t,r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(t)};if(t===undefined&&(t=x.ajaxSettings&&x.ajaxSettings.traditional),x.isArray(e)||e.jquery&&!x.isPlainObject(e))x.each(e,function(){i(this.name,this.value)});else for(n in e)_t(n,e[n],t,i);return r.join("&").replace(Wt,"+")};function _t(e,t,n,r){var i;if(x.isArray(t))x.each(t,function(t,i){n||$t.test(e)?r(e,i):_t(e+"["+("object"==typeof i?t:"")+"]",i,n,r)});else if(n||"object"!==x.type(t))r(e,t);else for(i in t)_t(e+"["+i+"]",t[i],n,r)}x.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(e,t){x.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}}),x.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)},bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)}});var Xt,Ut,Yt=x.now(),Vt=/\?/,Gt=/#.*$/,Jt=/([?&])_=[^&]*/,Qt=/^(.*?):[ \t]*([^\r\n]*)$/gm,Kt=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Zt=/^(?:GET|HEAD)$/,en=/^\/\//,tn=/^([\w.+-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,nn=x.fn.load,rn={},on={},sn="*/".concat("*");try{Ut=i.href}catch(an){Ut=o.createElement("a"),Ut.href="",Ut=Ut.href}Xt=tn.exec(Ut.toLowerCase())||[];function un(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var r,i=0,o=t.toLowerCase().match(w)||[];if(x.isFunction(n))while(r=o[i++])"+"===r[0]?(r=r.slice(1)||"*",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function ln(e,t,n,r){var i={},o=e===on;function s(a){var u;return i[a]=!0,x.each(e[a]||[],function(e,a){var l=a(t,n,r);return"string"!=typeof l||o||i[l]?o?!(u=l):undefined:(t.dataTypes.unshift(l),s(l),!1)}),u}return s(t.dataTypes[0])||!i["*"]&&s("*")}function cn(e,t){var n,r,i=x.ajaxSettings.flatOptions||{};for(n in t)t[n]!==undefined&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&x.extend(!0,e,r),e}x.fn.load=function(e,t,n){if("string"!=typeof e&&nn)return nn.apply(this,arguments);var r,i,o,s=this,a=e.indexOf(" ");return a>=0&&(r=e.slice(a),e=e.slice(0,a)),x.isFunction(t)?(n=t,t=undefined):t&&"object"==typeof t&&(i="POST"),s.length>0&&x.ajax({url:e,type:i,dataType:"html",data:t}).done(function(e){o=arguments,s.html(r?x("<div>").append(x.parseHTML(e)).find(r):e)}).complete(n&&function(e,t){s.each(n,o||[e.responseText,t,e])}),this},x.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){x.fn[t]=function(e){return this.on(t,e)}}),x.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Ut,type:"GET",isLocal:Kt.test(Xt[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":sn,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":x.parseJSON,"text xml":x.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?cn(cn(e,x.ajaxSettings),t):cn(x.ajaxSettings,e)},ajaxPrefilter:un(rn),ajaxTransport:un(on),ajax:function(e,t){"object"==typeof e&&(t=e,e=undefined),t=t||{};var n,r,i,o,s,a,u,l,c=x.ajaxSetup({},t),p=c.context||c,f=c.context&&(p.nodeType||p.jquery)?x(p):x.event,h=x.Deferred(),d=x.Callbacks("once memory"),g=c.statusCode||{},m={},y={},v=0,b="canceled",T={readyState:0,getResponseHeader:function(e){var t;if(2===v){if(!o){o={};while(t=Qt.exec(i))o[t[1].toLowerCase()]=t[2]}t=o[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return 2===v?i:null},setRequestHeader:function(e,t){var n=e.toLowerCase();return v||(e=y[n]=y[n]||e,m[e]=t),this},overrideMimeType:function(e){return v||(c.mimeType=e),this},statusCode:function(e){var t;if(e)if(2>v)for(t in e)g[t]=[g[t],e[t]];else T.always(e[T.status]);return this},abort:function(e){var t=e||b;return n&&n.abort(t),k(0,t),this}};if(h.promise(T).complete=d.add,T.success=T.done,T.error=T.fail,c.url=((e||c.url||Ut)+"").replace(Gt,"").replace(en,Xt[1]+"//"),c.type=t.method||t.type||c.method||c.type,c.dataTypes=x.trim(c.dataType||"*").toLowerCase().match(w)||[""],null==c.crossDomain&&(a=tn.exec(c.url.toLowerCase()),c.crossDomain=!(!a||a[1]===Xt[1]&&a[2]===Xt[2]&&(a[3]||("http:"===a[1]?"80":"443"))===(Xt[3]||("http:"===Xt[1]?"80":"443")))),c.data&&c.processData&&"string"!=typeof c.data&&(c.data=x.param(c.data,c.traditional)),ln(rn,c,t,T),2===v)return T;u=c.global,u&&0===x.active++&&x.event.trigger("ajaxStart"),c.type=c.type.toUpperCase(),c.hasContent=!Zt.test(c.type),r=c.url,c.hasContent||(c.data&&(r=c.url+=(Vt.test(r)?"&":"?")+c.data,delete c.data),c.cache===!1&&(c.url=Jt.test(r)?r.replace(Jt,"$1_="+Yt++):r+(Vt.test(r)?"&":"?")+"_="+Yt++)),c.ifModified&&(x.lastModified[r]&&T.setRequestHeader("If-Modified-Since",x.lastModified[r]),x.etag[r]&&T.setRequestHeader("If-None-Match",x.etag[r])),(c.data&&c.hasContent&&c.contentType!==!1||t.contentType)&&T.setRequestHeader("Content-Type",c.contentType),T.setRequestHeader("Accept",c.dataTypes[0]&&c.accepts[c.dataTypes[0]]?c.accepts[c.dataTypes[0]]+("*"!==c.dataTypes[0]?", "+sn+"; q=0.01":""):c.accepts["*"]);for(l in c.headers)T.setRequestHeader(l,c.headers[l]);if(c.beforeSend&&(c.beforeSend.call(p,T,c)===!1||2===v))return T.abort();b="abort";for(l in{success:1,error:1,complete:1})T[l](c[l]);if(n=ln(on,c,t,T)){T.readyState=1,u&&f.trigger("ajaxSend",[T,c]),c.async&&c.timeout>0&&(s=setTimeout(function(){T.abort("timeout")},c.timeout));try{v=1,n.send(m,k)}catch(C){if(!(2>v))throw C;k(-1,C)}}else k(-1,"No Transport");function k(e,t,o,a){var l,m,y,b,w,C=t;2!==v&&(v=2,s&&clearTimeout(s),n=undefined,i=a||"",T.readyState=e>0?4:0,l=e>=200&&300>e||304===e,o&&(b=pn(c,T,o)),b=fn(c,b,T,l),l?(c.ifModified&&(w=T.getResponseHeader("Last-Modified"),w&&(x.lastModified[r]=w),w=T.getResponseHeader("etag"),w&&(x.etag[r]=w)),204===e||"HEAD"===c.type?C="nocontent":304===e?C="notmodified":(C=b.state,m=b.data,y=b.error,l=!y)):(y=C,(e||!C)&&(C="error",0>e&&(e=0))),T.status=e,T.statusText=(t||C)+"",l?h.resolveWith(p,[m,C,T]):h.rejectWith(p,[T,C,y]),T.statusCode(g),g=undefined,u&&f.trigger(l?"ajaxSuccess":"ajaxError",[T,c,l?m:y]),d.fireWith(p,[T,C]),u&&(f.trigger("ajaxComplete",[T,c]),--x.active||x.event.trigger("ajaxStop")))}return T},getJSON:function(e,t,n){return x.get(e,t,n,"json")},getScript:function(e,t){return x.get(e,undefined,t,"script")}}),x.each(["get","post"],function(e,t){x[t]=function(e,n,r,i){return x.isFunction(n)&&(i=i||r,r=n,n=undefined),x.ajax({url:e,type:t,dataType:i,data:n,success:r})}});function pn(e,t,n){var r,i,o,s,a=e.contents,u=e.dataTypes;while("*"===u[0])u.shift(),r===undefined&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in a)if(a[i]&&a[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+" "+u[0]]){o=i;break}s||(s=i)}o=o||s}return o?(o!==u[0]&&u.unshift(o),n[o]):undefined}function fn(e,t,n,r){var i,o,s,a,u,l={},c=e.dataTypes.slice();if(c[1])for(s in e.converters)l[s.toLowerCase()]=e.converters[s];o=c.shift();while(o)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(s=l[u+" "+o]||l["* "+o],!s)for(i in l)if(a=i.split(" "),a[1]===o&&(s=l[u+" "+a[0]]||l["* "+a[0]])){s===!0?s=l[i]:l[i]!==!0&&(o=a[0],c.unshift(a[1]));break}if(s!==!0)if(s&&e["throws"])t=s(t);else try{t=s(t)}catch(p){return{state:"parsererror",error:s?p:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}x.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(e){return x.globalEval(e),e}}}),x.ajaxPrefilter("script",function(e){e.cache===undefined&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),x.ajaxTransport("script",function(e){if(e.crossDomain){var t,n;return{send:function(r,i){t=x("<script>").prop({async:!0,charset:e.scriptCharset,src:e.url}).on("load error",n=function(e){t.remove(),n=null,e&&i("error"===e.type?404:200,e.type)}),o.head.appendChild(t[0])},abort:function(){n&&n()}}}});var hn=[],dn=/(=)\?(?=&|$)|\?\?/;x.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=hn.pop()||x.expando+"_"+Yt++;return this[e]=!0,e}}),x.ajaxPrefilter("json jsonp",function(t,n,r){var i,o,s,a=t.jsonp!==!1&&(dn.test(t.url)?"url":"string"==typeof t.data&&!(t.contentType||"").indexOf("application/x-www-form-urlencoded")&&dn.test(t.data)&&"data");return a||"jsonp"===t.dataTypes[0]?(i=t.jsonpCallback=x.isFunction(t.jsonpCallback)?t.jsonpCallback():t.jsonpCallback,a?t[a]=t[a].replace(dn,"$1"+i):t.jsonp!==!1&&(t.url+=(Vt.test(t.url)?"&":"?")+t.jsonp+"="+i),t.converters["script json"]=function(){return s||x.error(i+" was not called"),s[0]},t.dataTypes[0]="json",o=e[i],e[i]=function(){s=arguments},r.always(function(){e[i]=o,t[i]&&(t.jsonpCallback=n.jsonpCallback,hn.push(i)),s&&x.isFunction(o)&&o(s[0]),s=o=undefined}),"script"):undefined}),x.ajaxSettings.xhr=function(){try{return new XMLHttpRequest}catch(e){}};var gn=x.ajaxSettings.xhr(),mn={0:200,1223:204},yn=0,vn={};e.ActiveXObject&&x(e).on("unload",function(){for(var e in vn)vn[e]();vn=undefined}),x.support.cors=!!gn&&"withCredentials"in gn,x.support.ajax=gn=!!gn,x.ajaxTransport(function(e){var t;return x.support.cors||gn&&!e.crossDomain?{send:function(n,r){var i,o,s=e.xhr();if(s.open(e.type,e.url,e.async,e.username,e.password),e.xhrFields)for(i in e.xhrFields)s[i]=e.xhrFields[i];e.mimeType&&s.overrideMimeType&&s.overrideMimeType(e.mimeType),e.crossDomain||n["X-Requested-With"]||(n["X-Requested-With"]="XMLHttpRequest");for(i in n)s.setRequestHeader(i,n[i]);t=function(e){return function(){t&&(delete vn[o],t=s.onload=s.onerror=null,"abort"===e?s.abort():"error"===e?r(s.status||404,s.statusText):r(mn[s.status]||s.status,s.statusText,"string"==typeof s.responseText?{text:s.responseText}:undefined,s.getAllResponseHeaders()))}},s.onload=t(),s.onerror=t("error"),t=vn[o=yn++]=t("abort"),s.send(e.hasContent&&e.data||null)},abort:function(){t&&t()}}:undefined});var xn,bn,wn=/^(?:toggle|show|hide)$/,Tn=RegExp("^(?:([+-])=|)("+b+")([a-z%]*)$","i"),Cn=/queueHooks$/,kn=[An],Nn={"*":[function(e,t){var n=this.createTween(e,t),r=n.cur(),i=Tn.exec(t),o=i&&i[3]||(x.cssNumber[e]?"":"px"),s=(x.cssNumber[e]||"px"!==o&&+r)&&Tn.exec(x.css(n.elem,e)),a=1,u=20;if(s&&s[3]!==o){o=o||s[3],i=i||[],s=+r||1;do a=a||".5",s/=a,x.style(n.elem,e,s+o);while(a!==(a=n.cur()/r)&&1!==a&&--u)}return i&&(s=n.start=+s||+r||0,n.unit=o,n.end=i[1]?s+(i[1]+1)*i[2]:+i[2]),n}]};function En(){return setTimeout(function(){xn=undefined}),xn=x.now()}function Sn(e,t,n){var r,i=(Nn[t]||[]).concat(Nn["*"]),o=0,s=i.length;for(;s>o;o++)if(r=i[o].call(n,t,e))return r}function jn(e,t,n){var r,i,o=0,s=kn.length,a=x.Deferred().always(function(){delete u.elem}),u=function(){if(i)return!1;var t=xn||En(),n=Math.max(0,l.startTime+l.duration-t),r=n/l.duration||0,o=1-r,s=0,u=l.tweens.length;for(;u>s;s++)l.tweens[s].run(o);return a.notifyWith(e,[l,o,n]),1>o&&u?n:(a.resolveWith(e,[l]),!1)},l=a.promise({elem:e,props:x.extend({},t),opts:x.extend(!0,{specialEasing:{}},n),originalProperties:t,originalOptions:n,startTime:xn||En(),duration:n.duration,tweens:[],createTween:function(t,n){var r=x.Tween(e,l.opts,t,n,l.opts.specialEasing[t]||l.opts.easing);return l.tweens.push(r),r},stop:function(t){var n=0,r=t?l.tweens.length:0;if(i)return this;for(i=!0;r>n;n++)l.tweens[n].run(1);return t?a.resolveWith(e,[l,t]):a.rejectWith(e,[l,t]),this}}),c=l.props;for(Dn(c,l.opts.specialEasing);s>o;o++)if(r=kn[o].call(l,e,c,l.opts))return r;return x.map(c,Sn,l),x.isFunction(l.opts.start)&&l.opts.start.call(e,l),x.fx.timer(x.extend(u,{elem:e,anim:l,queue:l.opts.queue})),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always)}function Dn(e,t){var n,r,i,o,s;for(n in e)if(r=x.camelCase(n),i=t[r],o=e[n],x.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),s=x.cssHooks[r],s&&"expand"in s){o=s.expand(o),delete e[r];for(n in o)n in e||(e[n]=o[n],t[n]=i)}else t[r]=i}x.Animation=x.extend(jn,{tweener:function(e,t){x.isFunction(e)?(t=e,e=["*"]):e=e.split(" ");var n,r=0,i=e.length;for(;i>r;r++)n=e[r],Nn[n]=Nn[n]||[],Nn[n].unshift(t)},prefilter:function(e,t){t?kn.unshift(e):kn.push(e)}});function An(e,t,n){var r,i,o,s,a,u,l=this,c={},p=e.style,f=e.nodeType&&Lt(e),h=q.get(e,"fxshow");n.queue||(a=x._queueHooks(e,"fx"),null==a.unqueued&&(a.unqueued=0,u=a.empty.fire,a.empty.fire=function(){a.unqueued||u()}),a.unqueued++,l.always(function(){l.always(function(){a.unqueued--,x.queue(e,"fx").length||a.empty.fire()})})),1===e.nodeType&&("height"in t||"width"in t)&&(n.overflow=[p.overflow,p.overflowX,p.overflowY],"inline"===x.css(e,"display")&&"none"===x.css(e,"float")&&(p.display="inline-block")),n.overflow&&(p.overflow="hidden",l.always(function(){p.overflow=n.overflow[0],p.overflowX=n.overflow[1],p.overflowY=n.overflow[2]}));for(r in t)if(i=t[r],wn.exec(i)){if(delete t[r],o=o||"toggle"===i,i===(f?"hide":"show")){if("show"!==i||!h||h[r]===undefined)continue;f=!0}c[r]=h&&h[r]||x.style(e,r)}if(!x.isEmptyObject(c)){h?"hidden"in h&&(f=h.hidden):h=q.access(e,"fxshow",{}),o&&(h.hidden=!f),f?x(e).show():l.done(function(){x(e).hide()}),l.done(function(){var t;q.remove(e,"fxshow");for(t in c)x.style(e,t,c[t])});for(r in c)s=Sn(f?h[r]:0,r,l),r in h||(h[r]=s.start,f&&(s.end=s.start,s.start="width"===r||"height"===r?1:0))}}function Ln(e,t,n,r,i){return new Ln.prototype.init(e,t,n,r,i)}x.Tween=Ln,Ln.prototype={constructor:Ln,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||"swing",this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(x.cssNumber[n]?"":"px")},cur:function(){var e=Ln.propHooks[this.prop];return e&&e.get?e.get(this):Ln.propHooks._default.get(this)},run:function(e){var t,n=Ln.propHooks[this.prop];return this.pos=t=this.options.duration?x.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):Ln.propHooks._default.set(this),this}},Ln.prototype.init.prototype=Ln.prototype,Ln.propHooks={_default:{get:function(e){var t;return null==e.elem[e.prop]||e.elem.style&&null!=e.elem.style[e.prop]?(t=x.css(e.elem,e.prop,""),t&&"auto"!==t?t:0):e.elem[e.prop]},set:function(e){x.fx.step[e.prop]?x.fx.step[e.prop](e):e.elem.style&&(null!=e.elem.style[x.cssProps[e.prop]]||x.cssHooks[e.prop])?x.style(e.elem,e.prop,e.now+e.unit):e.elem[e.prop]=e.now}}},Ln.propHooks.scrollTop=Ln.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},x.each(["toggle","show","hide"],function(e,t){var n=x.fn[t];x.fn[t]=function(e,r,i){return null==e||"boolean"==typeof e?n.apply(this,arguments):this.animate(qn(t,!0),e,r,i)}}),x.fn.extend({fadeTo:function(e,t,n,r){return this.filter(Lt).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(e,t,n,r){var i=x.isEmptyObject(e),o=x.speed(t,n,r),s=function(){var t=jn(this,x.extend({},e),o);(i||q.get(this,"finish"))&&t.stop(!0)};return s.finish=s,i||o.queue===!1?this.each(s):this.queue(o.queue,s)},stop:function(e,t,n){var r=function(e){var t=e.stop;delete e.stop,t(n)};return"string"!=typeof e&&(n=t,t=e,e=undefined),t&&e!==!1&&this.queue(e||"fx",[]),this.each(function(){var t=!0,i=null!=e&&e+"queueHooks",o=x.timers,s=q.get(this);if(i)s[i]&&s[i].stop&&r(s[i]);else for(i in s)s[i]&&s[i].stop&&Cn.test(i)&&r(s[i]);for(i=o.length;i--;)o[i].elem!==this||null!=e&&o[i].queue!==e||(o[i].anim.stop(n),t=!1,o.splice(i,1));(t||!n)&&x.dequeue(this,e)})},finish:function(e){return e!==!1&&(e=e||"fx"),this.each(function(){var t,n=q.get(this),r=n[e+"queue"],i=n[e+"queueHooks"],o=x.timers,s=r?r.length:0;for(n.finish=!0,x.queue(this,e,[]),i&&i.stop&&i.stop.call(this,!0),t=o.length;t--;)o[t].elem===this&&o[t].queue===e&&(o[t].anim.stop(!0),o.splice(t,1));for(t=0;s>t;t++)r[t]&&r[t].finish&&r[t].finish.call(this);delete n.finish})}});function qn(e,t){var n,r={height:e},i=0;for(t=t?1:0;4>i;i+=2-t)n=jt[i],r["margin"+n]=r["padding"+n]=e;return t&&(r.opacity=r.width=e),r}x.each({slideDown:qn("show"),slideUp:qn("hide"),slideToggle:qn("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,t){x.fn[e]=function(e,n,r){return this.animate(t,e,n,r)}}),x.speed=function(e,t,n){var r=e&&"object"==typeof e?x.extend({},e):{complete:n||!n&&t||x.isFunction(e)&&e,duration:e,easing:n&&t||t&&!x.isFunction(t)&&t};return r.duration=x.fx.off?0:"number"==typeof r.duration?r.duration:r.duration in x.fx.speeds?x.fx.speeds[r.duration]:x.fx.speeds._default,(null==r.queue||r.queue===!0)&&(r.queue="fx"),r.old=r.complete,r.complete=function(){x.isFunction(r.old)&&r.old.call(this),r.queue&&x.dequeue(this,r.queue)},r},x.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2}},x.timers=[],x.fx=Ln.prototype.init,x.fx.tick=function(){var e,t=x.timers,n=0;for(xn=x.now();t.length>n;n++)e=t[n],e()||t[n]!==e||t.splice(n--,1);t.length||x.fx.stop(),xn=undefined},x.fx.timer=function(e){e()&&x.timers.push(e)&&x.fx.start()},x.fx.interval=13,x.fx.start=function(){bn||(bn=setInterval(x.fx.tick,x.fx.interval))},x.fx.stop=function(){clearInterval(bn),bn=null},x.fx.speeds={slow:600,fast:200,_default:400},x.fx.step={},x.expr&&x.expr.filters&&(x.expr.filters.animated=function(e){return x.grep(x.timers,function(t){return e===t.elem}).length}),x.fn.offset=function(e){if(arguments.length)return e===undefined?this:this.each(function(t){x.offset.setOffset(this,e,t)});var t,n,i=this[0],o={top:0,left:0},s=i&&i.ownerDocument;if(s)return t=s.documentElement,x.contains(t,i)?(typeof i.getBoundingClientRect!==r&&(o=i.getBoundingClientRect()),n=Hn(s),{top:o.top+n.pageYOffset-t.clientTop,left:o.left+n.pageXOffset-t.clientLeft}):o},x.offset={setOffset:function(e,t,n){var r,i,o,s,a,u,l,c=x.css(e,"position"),p=x(e),f={};"static"===c&&(e.style.position="relative"),a=p.offset(),o=x.css(e,"top"),u=x.css(e,"left"),l=("absolute"===c||"fixed"===c)&&(o+u).indexOf("auto")>-1,l?(r=p.position(),s=r.top,i=r.left):(s=parseFloat(o)||0,i=parseFloat(u)||0),x.isFunction(t)&&(t=t.call(e,n,a)),null!=t.top&&(f.top=t.top-a.top+s),null!=t.left&&(f.left=t.left-a.left+i),"using"in t?t.using.call(e,f):p.css(f)}},x.fn.extend({position:function(){if(this[0]){var e,t,n=this[0],r={top:0,left:0};return"fixed"===x.css(n,"position")?t=n.getBoundingClientRect():(e=this.offsetParent(),t=this.offset(),x.nodeName(e[0],"html")||(r=e.offset()),r.top+=x.css(e[0],"borderTopWidth",!0),r.left+=x.css(e[0],"borderLeftWidth",!0)),{top:t.top-r.top-x.css(n,"marginTop",!0),left:t.left-r.left-x.css(n,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||s;while(e&&!x.nodeName(e,"html")&&"static"===x.css(e,"position"))e=e.offsetParent;return e||s})}}),x.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,n){var r="pageYOffset"===n;x.fn[t]=function(i){return x.access(this,function(t,i,o){var s=Hn(t);return o===undefined?s?s[n]:t[i]:(s?s.scrollTo(r?e.pageXOffset:o,r?o:e.pageYOffset):t[i]=o,undefined)},t,i,arguments.length,null)}});function Hn(e){return x.isWindow(e)?e:9===e.nodeType&&e.defaultView}x.each({Height:"height",Width:"width"},function(e,t){x.each({padding:"inner"+e,content:t,"":"outer"+e},function(n,r){x.fn[r]=function(r,i){var o=arguments.length&&(n||"boolean"!=typeof r),s=n||(r===!0||i===!0?"margin":"border");return x.access(this,function(t,n,r){var i;return x.isWindow(t)?t.document.documentElement["client"+e]:9===t.nodeType?(i=t.documentElement,Math.max(t.body["scroll"+e],i["scroll"+e],t.body["offset"+e],i["offset"+e],i["client"+e])):r===undefined?x.css(t,n,s):x.style(t,n,r,s)},t,o?r:undefined,o,null)}})}),x.fn.size=function(){return this.length},x.fn.andSelf=x.fn.addBack,"object"==typeof module&&module&&"object"==typeof module.exports?module.exports=x:"function"==typeof define&&define.amd&&define("jquery",[],function(){return x}),"object"==typeof e&&"object"==typeof e.document&&(e.jQuery=e.$=x)})(window); \ No newline at end of file | ||
diff --git a/themes/default/js/jquery-ui-1.10.4.custom.js b/themes/default/js/jquery-ui-1.10.4.custom.js deleted file mode 100644 index 6f599fca..00000000 --- a/themes/default/js/jquery-ui-1.10.4.custom.js +++ /dev/null | |||
@@ -1,2519 +0,0 @@ | |||
1 | /*! jQuery UI - v1.10.4 - 2014-03-08 | ||
2 | * http://jqueryui.com | ||
3 | * Includes: jquery.ui.core.js, jquery.ui.widget.js, jquery.ui.position.js, jquery.ui.autocomplete.js, jquery.ui.menu.js | ||
4 | * Copyright 2014 jQuery Foundation and other contributors; Licensed MIT */ | ||
5 | |||
6 | (function( $, undefined ) { | ||
7 | |||
8 | var uuid = 0, | ||
9 | runiqueId = /^ui-id-\d+$/; | ||
10 | |||
11 | // $.ui might exist from components with no dependencies, e.g., $.ui.position | ||
12 | $.ui = $.ui || {}; | ||
13 | |||
14 | $.extend( $.ui, { | ||
15 | version: "1.10.4", | ||
16 | |||
17 | keyCode: { | ||
18 | BACKSPACE: 8, | ||
19 | COMMA: 188, | ||
20 | DELETE: 46, | ||
21 | DOWN: 40, | ||
22 | END: 35, | ||
23 | ENTER: 13, | ||
24 | ESCAPE: 27, | ||
25 | HOME: 36, | ||
26 | LEFT: 37, | ||
27 | NUMPAD_ADD: 107, | ||
28 | NUMPAD_DECIMAL: 110, | ||
29 | NUMPAD_DIVIDE: 111, | ||
30 | NUMPAD_ENTER: 108, | ||
31 | NUMPAD_MULTIPLY: 106, | ||
32 | NUMPAD_SUBTRACT: 109, | ||
33 | PAGE_DOWN: 34, | ||
34 | PAGE_UP: 33, | ||
35 | PERIOD: 190, | ||
36 | RIGHT: 39, | ||
37 | SPACE: 32, | ||
38 | TAB: 9, | ||
39 | UP: 38 | ||
40 | } | ||
41 | }); | ||
42 | |||
43 | // plugins | ||
44 | $.fn.extend({ | ||
45 | focus: (function( orig ) { | ||
46 | return function( delay, fn ) { | ||
47 | return typeof delay === "number" ? | ||
48 | this.each(function() { | ||
49 | var elem = this; | ||
50 | setTimeout(function() { | ||
51 | $( elem ).focus(); | ||
52 | if ( fn ) { | ||
53 | fn.call( elem ); | ||
54 | } | ||
55 | }, delay ); | ||
56 | }) : | ||
57 | orig.apply( this, arguments ); | ||
58 | }; | ||
59 | })( $.fn.focus ), | ||
60 | |||
61 | scrollParent: function() { | ||
62 | var scrollParent; | ||
63 | if (($.ui.ie && (/(static|relative)/).test(this.css("position"))) || (/absolute/).test(this.css("position"))) { | ||
64 | scrollParent = this.parents().filter(function() { | ||
65 | return (/(relative|absolute|fixed)/).test($.css(this,"position")) && (/(auto|scroll)/).test($.css(this,"overflow")+$.css(this,"overflow-y")+$.css(this,"overflow-x")); | ||
66 | }).eq(0); | ||
67 | } else { | ||
68 | scrollParent = this.parents().filter(function() { | ||
69 | return (/(auto|scroll)/).test($.css(this,"overflow")+$.css(this,"overflow-y")+$.css(this,"overflow-x")); | ||
70 | }).eq(0); | ||
71 | } | ||
72 | |||
73 | return (/fixed/).test(this.css("position")) || !scrollParent.length ? $(document) : scrollParent; | ||
74 | }, | ||
75 | |||
76 | zIndex: function( zIndex ) { | ||
77 | if ( zIndex !== undefined ) { | ||
78 | return this.css( "zIndex", zIndex ); | ||
79 | } | ||
80 | |||
81 | if ( this.length ) { | ||
82 | var elem = $( this[ 0 ] ), position, value; | ||
83 | while ( elem.length && elem[ 0 ] !== document ) { | ||
84 | // Ignore z-index if position is set to a value where z-index is ignored by the browser | ||
85 | // This makes behavior of this function consistent across browsers | ||
86 | // WebKit always returns auto if the element is positioned | ||
87 | position = elem.css( "position" ); | ||
88 | if ( position === "absolute" || position === "relative" || position === "fixed" ) { | ||
89 | // IE returns 0 when zIndex is not specified | ||
90 | // other browsers return a string | ||
91 | // we ignore the case of nested elements with an explicit value of 0 | ||
92 | // <div style="z-index: -10;"><div style="z-index: 0;"></div></div> | ||
93 | value = parseInt( elem.css( "zIndex" ), 10 ); | ||
94 | if ( !isNaN( value ) && value !== 0 ) { | ||
95 | return value; | ||
96 | } | ||
97 | } | ||
98 | elem = elem.parent(); | ||
99 | } | ||
100 | } | ||
101 | |||
102 | return 0; | ||
103 | }, | ||
104 | |||
105 | uniqueId: function() { | ||
106 | return this.each(function() { | ||
107 | if ( !this.id ) { | ||
108 | this.id = "ui-id-" + (++uuid); | ||
109 | } | ||
110 | }); | ||
111 | }, | ||
112 | |||
113 | removeUniqueId: function() { | ||
114 | return this.each(function() { | ||
115 | if ( runiqueId.test( this.id ) ) { | ||
116 | $( this ).removeAttr( "id" ); | ||
117 | } | ||
118 | }); | ||
119 | } | ||
120 | }); | ||
121 | |||
122 | // selectors | ||
123 | function focusable( element, isTabIndexNotNaN ) { | ||
124 | var map, mapName, img, | ||
125 | nodeName = element.nodeName.toLowerCase(); | ||
126 | if ( "area" === nodeName ) { | ||
127 | map = element.parentNode; | ||
128 | mapName = map.name; | ||
129 | if ( !element.href || !mapName || map.nodeName.toLowerCase() !== "map" ) { | ||
130 | return false; | ||
131 | } | ||
132 | img = $( "img[usemap=#" + mapName + "]" )[0]; | ||
133 | return !!img && visible( img ); | ||
134 | } | ||
135 | return ( /input|select|textarea|button|object/.test( nodeName ) ? | ||
136 | !element.disabled : | ||
137 | "a" === nodeName ? | ||
138 | element.href || isTabIndexNotNaN : | ||
139 | isTabIndexNotNaN) && | ||
140 | // the element and all of its ancestors must be visible | ||
141 | visible( element ); | ||
142 | } | ||
143 | |||
144 | function visible( element ) { | ||
145 | return $.expr.filters.visible( element ) && | ||
146 | !$( element ).parents().addBack().filter(function() { | ||
147 | return $.css( this, "visibility" ) === "hidden"; | ||
148 | }).length; | ||
149 | } | ||
150 | |||
151 | $.extend( $.expr[ ":" ], { | ||
152 | data: $.expr.createPseudo ? | ||
153 | $.expr.createPseudo(function( dataName ) { | ||
154 | return function( elem ) { | ||
155 | return !!$.data( elem, dataName ); | ||
156 | }; | ||
157 | }) : | ||
158 | // support: jQuery <1.8 | ||
159 | function( elem, i, match ) { | ||
160 | return !!$.data( elem, match[ 3 ] ); | ||
161 | }, | ||
162 | |||
163 | focusable: function( element ) { | ||
164 | return focusable( element, !isNaN( $.attr( element, "tabindex" ) ) ); | ||
165 | }, | ||
166 | |||
167 | tabbable: function( element ) { | ||
168 | var tabIndex = $.attr( element, "tabindex" ), | ||
169 | isTabIndexNaN = isNaN( tabIndex ); | ||
170 | return ( isTabIndexNaN || tabIndex >= 0 ) && focusable( element, !isTabIndexNaN ); | ||
171 | } | ||
172 | }); | ||
173 | |||
174 | // support: jQuery <1.8 | ||
175 | if ( !$( "<a>" ).outerWidth( 1 ).jquery ) { | ||
176 | $.each( [ "Width", "Height" ], function( i, name ) { | ||
177 | var side = name === "Width" ? [ "Left", "Right" ] : [ "Top", "Bottom" ], | ||
178 | type = name.toLowerCase(), | ||
179 | orig = { | ||
180 | innerWidth: $.fn.innerWidth, | ||
181 | innerHeight: $.fn.innerHeight, | ||
182 | outerWidth: $.fn.outerWidth, | ||
183 | outerHeight: $.fn.outerHeight | ||
184 | }; | ||
185 | |||
186 | function reduce( elem, size, border, margin ) { | ||
187 | $.each( side, function() { | ||
188 | size -= parseFloat( $.css( elem, "padding" + this ) ) || 0; | ||
189 | if ( border ) { | ||
190 | size -= parseFloat( $.css( elem, "border" + this + "Width" ) ) || 0; | ||
191 | } | ||
192 | if ( margin ) { | ||
193 | size -= parseFloat( $.css( elem, "margin" + this ) ) || 0; | ||
194 | } | ||
195 | }); | ||
196 | return size; | ||
197 | } | ||
198 | |||
199 | $.fn[ "inner" + name ] = function( size ) { | ||
200 | if ( size === undefined ) { | ||
201 | return orig[ "inner" + name ].call( this ); | ||
202 | } | ||
203 | |||
204 | return this.each(function() { | ||
205 | $( this ).css( type, reduce( this, size ) + "px" ); | ||
206 | }); | ||
207 | }; | ||
208 | |||
209 | $.fn[ "outer" + name] = function( size, margin ) { | ||
210 | if ( typeof size !== "number" ) { | ||
211 | return orig[ "outer" + name ].call( this, size ); | ||
212 | } | ||
213 | |||
214 | return this.each(function() { | ||
215 | $( this).css( type, reduce( this, size, true, margin ) + "px" ); | ||
216 | }); | ||
217 | }; | ||
218 | }); | ||
219 | } | ||
220 | |||
221 | // support: jQuery <1.8 | ||
222 | if ( !$.fn.addBack ) { | ||
223 | $.fn.addBack = function( selector ) { | ||
224 | return this.add( selector == null ? | ||
225 | this.prevObject : this.prevObject.filter( selector ) | ||
226 | ); | ||
227 | }; | ||
228 | } | ||
229 | |||
230 | // support: jQuery 1.6.1, 1.6.2 (http://bugs.jquery.com/ticket/9413) | ||
231 | if ( $( "<a>" ).data( "a-b", "a" ).removeData( "a-b" ).data( "a-b" ) ) { | ||
232 | $.fn.removeData = (function( removeData ) { | ||
233 | return function( key ) { | ||
234 | if ( arguments.length ) { | ||
235 | return removeData.call( this, $.camelCase( key ) ); | ||
236 | } else { | ||
237 | return removeData.call( this ); | ||
238 | } | ||
239 | }; | ||
240 | })( $.fn.removeData ); | ||
241 | } | ||
242 | |||
243 | |||
244 | |||
245 | |||
246 | |||
247 | // deprecated | ||
248 | $.ui.ie = !!/msie [\w.]+/.exec( navigator.userAgent.toLowerCase() ); | ||
249 | |||
250 | $.support.selectstart = "onselectstart" in document.createElement( "div" ); | ||
251 | $.fn.extend({ | ||
252 | disableSelection: function() { | ||
253 | return this.bind( ( $.support.selectstart ? "selectstart" : "mousedown" ) + | ||
254 | ".ui-disableSelection", function( event ) { | ||
255 | event.preventDefault(); | ||
256 | }); | ||
257 | }, | ||
258 | |||
259 | enableSelection: function() { | ||
260 | return this.unbind( ".ui-disableSelection" ); | ||
261 | } | ||
262 | }); | ||
263 | |||
264 | $.extend( $.ui, { | ||
265 | // $.ui.plugin is deprecated. Use $.widget() extensions instead. | ||
266 | plugin: { | ||
267 | add: function( module, option, set ) { | ||
268 | var i, | ||
269 | proto = $.ui[ module ].prototype; | ||
270 | for ( i in set ) { | ||
271 | proto.plugins[ i ] = proto.plugins[ i ] || []; | ||
272 | proto.plugins[ i ].push( [ option, set[ i ] ] ); | ||
273 | } | ||
274 | }, | ||
275 | call: function( instance, name, args ) { | ||
276 | var i, | ||
277 | set = instance.plugins[ name ]; | ||
278 | if ( !set || !instance.element[ 0 ].parentNode || instance.element[ 0 ].parentNode.nodeType === 11 ) { | ||
279 | return; | ||
280 | } | ||
281 | |||
282 | for ( i = 0; i < set.length; i++ ) { | ||
283 | if ( instance.options[ set[ i ][ 0 ] ] ) { | ||
284 | set[ i ][ 1 ].apply( instance.element, args ); | ||
285 | } | ||
286 | } | ||
287 | } | ||
288 | }, | ||
289 | |||
290 | // only used by resizable | ||
291 | hasScroll: function( el, a ) { | ||
292 | |||
293 | //If overflow is hidden, the element might have extra content, but the user wants to hide it | ||
294 | if ( $( el ).css( "overflow" ) === "hidden") { | ||
295 | return false; | ||
296 | } | ||
297 | |||
298 | var scroll = ( a && a === "left" ) ? "scrollLeft" : "scrollTop", | ||
299 | has = false; | ||
300 | |||
301 | if ( el[ scroll ] > 0 ) { | ||
302 | return true; | ||
303 | } | ||
304 | |||
305 | // TODO: determine which cases actually cause this to happen | ||
306 | // if the element doesn't have the scroll set, see if it's possible to | ||
307 | // set the scroll | ||
308 | el[ scroll ] = 1; | ||
309 | has = ( el[ scroll ] > 0 ); | ||
310 | el[ scroll ] = 0; | ||
311 | return has; | ||
312 | } | ||
313 | }); | ||
314 | |||
315 | })( jQuery ); | ||
316 | (function( $, undefined ) { | ||
317 | |||
318 | var uuid = 0, | ||
319 | slice = Array.prototype.slice, | ||
320 | _cleanData = $.cleanData; | ||
321 | $.cleanData = function( elems ) { | ||
322 | for ( var i = 0, elem; (elem = elems[i]) != null; i++ ) { | ||
323 | try { | ||
324 | $( elem ).triggerHandler( "remove" ); | ||
325 | // http://bugs.jquery.com/ticket/8235 | ||
326 | } catch( e ) {} | ||
327 | } | ||
328 | _cleanData( elems ); | ||
329 | }; | ||
330 | |||
331 | $.widget = function( name, base, prototype ) { | ||
332 | var fullName, existingConstructor, constructor, basePrototype, | ||
333 | // proxiedPrototype allows the provided prototype to remain unmodified | ||
334 | // so that it can be used as a mixin for multiple widgets (#8876) | ||
335 | proxiedPrototype = {}, | ||
336 | namespace = name.split( "." )[ 0 ]; | ||
337 | |||
338 | name = name.split( "." )[ 1 ]; | ||
339 | fullName = namespace + "-" + name; | ||
340 | |||
341 | if ( !prototype ) { | ||
342 | prototype = base; | ||
343 | base = $.Widget; | ||
344 | } | ||
345 | |||
346 | // create selector for plugin | ||
347 | $.expr[ ":" ][ fullName.toLowerCase() ] = function( elem ) { | ||
348 | return !!$.data( elem, fullName ); | ||
349 | }; | ||
350 | |||
351 | $[ namespace ] = $[ namespace ] || {}; | ||
352 | existingConstructor = $[ namespace ][ name ]; | ||
353 | constructor = $[ namespace ][ name ] = function( options, element ) { | ||
354 | // allow instantiation without "new" keyword | ||
355 | if ( !this._createWidget ) { | ||
356 | return new constructor( options, element ); | ||
357 | } | ||
358 | |||
359 | // allow instantiation without initializing for simple inheritance | ||
360 | // must use "new" keyword (the code above always passes args) | ||
361 | if ( arguments.length ) { | ||
362 | this._createWidget( options, element ); | ||
363 | } | ||
364 | }; | ||
365 | // extend with the existing constructor to carry over any static properties | ||
366 | $.extend( constructor, existingConstructor, { | ||
367 | version: prototype.version, | ||
368 | // copy the object used to create the prototype in case we need to | ||
369 | // redefine the widget later | ||
370 | _proto: $.extend( {}, prototype ), | ||
371 | // track widgets that inherit from this widget in case this widget is | ||
372 | // redefined after a widget inherits from it | ||
373 | _childConstructors: [] | ||
374 | }); | ||
375 | |||
376 | basePrototype = new base(); | ||
377 | // we need to make the options hash a property directly on the new instance | ||
378 | // otherwise we'll modify the options hash on the prototype that we're | ||
379 | // inheriting from | ||
380 | basePrototype.options = $.widget.extend( {}, basePrototype.options ); | ||
381 | $.each( prototype, function( prop, value ) { | ||
382 | if ( !$.isFunction( value ) ) { | ||
383 | proxiedPrototype[ prop ] = value; | ||
384 | return; | ||
385 | } | ||
386 | proxiedPrototype[ prop ] = (function() { | ||
387 | var _super = function() { | ||
388 | return base.prototype[ prop ].apply( this, arguments ); | ||
389 | }, | ||
390 | _superApply = function( args ) { | ||
391 | return base.prototype[ prop ].apply( this, args ); | ||
392 | }; | ||
393 | return function() { | ||
394 | var __super = this._super, | ||
395 | __superApply = this._superApply, | ||
396 | returnValue; | ||
397 | |||
398 | this._super = _super; | ||
399 | this._superApply = _superApply; | ||
400 | |||
401 | returnValue = value.apply( this, arguments ); | ||
402 | |||
403 | this._super = __super; | ||
404 | this._superApply = __superApply; | ||
405 | |||
406 | return returnValue; | ||
407 | }; | ||
408 | })(); | ||
409 | }); | ||
410 | constructor.prototype = $.widget.extend( basePrototype, { | ||
411 | // TODO: remove support for widgetEventPrefix | ||
412 | // always use the name + a colon as the prefix, e.g., draggable:start | ||
413 | // don't prefix for widgets that aren't DOM-based | ||
414 | widgetEventPrefix: existingConstructor ? (basePrototype.widgetEventPrefix || name) : name | ||
415 | }, proxiedPrototype, { | ||
416 | constructor: constructor, | ||
417 | namespace: namespace, | ||
418 | widgetName: name, | ||
419 | widgetFullName: fullName | ||
420 | }); | ||
421 | |||
422 | // If this widget is being redefined then we need to find all widgets that | ||
423 | // are inheriting from it and redefine all of them so that they inherit from | ||
424 | // the new version of this widget. We're essentially trying to replace one | ||
425 | // level in the prototype chain. | ||
426 | if ( existingConstructor ) { | ||
427 | $.each( existingConstructor._childConstructors, function( i, child ) { | ||
428 | var childPrototype = child.prototype; | ||
429 | |||
430 | // redefine the child widget using the same prototype that was | ||
431 | // originally used, but inherit from the new version of the base | ||
432 | $.widget( childPrototype.namespace + "." + childPrototype.widgetName, constructor, child._proto ); | ||
433 | }); | ||
434 | // remove the list of existing child constructors from the old constructor | ||
435 | // so the old child constructors can be garbage collected | ||
436 | delete existingConstructor._childConstructors; | ||
437 | } else { | ||
438 | base._childConstructors.push( constructor ); | ||
439 | } | ||
440 | |||
441 | $.widget.bridge( name, constructor ); | ||
442 | }; | ||
443 | |||
444 | $.widget.extend = function( target ) { | ||
445 | var input = slice.call( arguments, 1 ), | ||
446 | inputIndex = 0, | ||
447 | inputLength = input.length, | ||
448 | key, | ||
449 | value; | ||
450 | for ( ; inputIndex < inputLength; inputIndex++ ) { | ||
451 | for ( key in input[ inputIndex ] ) { | ||
452 | value = input[ inputIndex ][ key ]; | ||
453 | if ( input[ inputIndex ].hasOwnProperty( key ) && value !== undefined ) { | ||
454 | // Clone objects | ||
455 | if ( $.isPlainObject( value ) ) { | ||
456 | target[ key ] = $.isPlainObject( target[ key ] ) ? | ||
457 | $.widget.extend( {}, target[ key ], value ) : | ||
458 | // Don't extend strings, arrays, etc. with objects | ||
459 | $.widget.extend( {}, value ); | ||
460 | // Copy everything else by reference | ||
461 | } else { | ||
462 | target[ key ] = value; | ||
463 | } | ||
464 | } | ||
465 | } | ||
466 | } | ||
467 | return target; | ||
468 | }; | ||
469 | |||
470 | $.widget.bridge = function( name, object ) { | ||
471 | var fullName = object.prototype.widgetFullName || name; | ||
472 | $.fn[ name ] = function( options ) { | ||
473 | var isMethodCall = typeof options === "string", | ||
474 | args = slice.call( arguments, 1 ), | ||
475 | returnValue = this; | ||
476 | |||
477 | // allow multiple hashes to be passed on init | ||
478 | options = !isMethodCall && args.length ? | ||
479 | $.widget.extend.apply( null, [ options ].concat(args) ) : | ||
480 | options; | ||
481 | |||
482 | if ( isMethodCall ) { | ||
483 | this.each(function() { | ||
484 | var methodValue, | ||
485 | instance = $.data( this, fullName ); | ||
486 | if ( !instance ) { | ||
487 | return $.error( "cannot call methods on " + name + " prior to initialization; " + | ||
488 | "attempted to call method '" + options + "'" ); | ||
489 | } | ||
490 | if ( !$.isFunction( instance[options] ) || options.charAt( 0 ) === "_" ) { | ||
491 | return $.error( "no such method '" + options + "' for " + name + " widget instance" ); | ||
492 | } | ||
493 | methodValue = instance[ options ].apply( instance, args ); | ||
494 | if ( methodValue !== instance && methodValue !== undefined ) { | ||
495 | returnValue = methodValue && methodValue.jquery ? | ||
496 | returnValue.pushStack( methodValue.get() ) : | ||
497 | methodValue; | ||
498 | return false; | ||
499 | } | ||
500 | }); | ||
501 | } else { | ||
502 | this.each(function() { | ||
503 | var instance = $.data( this, fullName ); | ||
504 | if ( instance ) { | ||
505 | instance.option( options || {} )._init(); | ||
506 | } else { | ||
507 | $.data( this, fullName, new object( options, this ) ); | ||
508 | } | ||
509 | }); | ||
510 | } | ||
511 | |||
512 | return returnValue; | ||
513 | }; | ||
514 | }; | ||
515 | |||
516 | $.Widget = function( /* options, element */ ) {}; | ||
517 | $.Widget._childConstructors = []; | ||
518 | |||
519 | $.Widget.prototype = { | ||
520 | widgetName: "widget", | ||
521 | widgetEventPrefix: "", | ||
522 | defaultElement: "<div>", | ||
523 | options: { | ||
524 | disabled: false, | ||
525 | |||
526 | // callbacks | ||
527 | create: null | ||
528 | }, | ||
529 | _createWidget: function( options, element ) { | ||
530 | element = $( element || this.defaultElement || this )[ 0 ]; | ||
531 | this.element = $( element ); | ||
532 | this.uuid = uuid++; | ||
533 | this.eventNamespace = "." + this.widgetName + this.uuid; | ||
534 | this.options = $.widget.extend( {}, | ||
535 | this.options, | ||
536 | this._getCreateOptions(), | ||
537 | options ); | ||
538 | |||
539 | this.bindings = $(); | ||
540 | this.hoverable = $(); | ||
541 | this.focusable = $(); | ||
542 | |||
543 | if ( element !== this ) { | ||
544 | $.data( element, this.widgetFullName, this ); | ||
545 | this._on( true, this.element, { | ||
546 | remove: function( event ) { | ||
547 | if ( event.target === element ) { | ||
548 | this.destroy(); | ||
549 | } | ||
550 | } | ||
551 | }); | ||
552 | this.document = $( element.style ? | ||
553 | // element within the document | ||
554 | element.ownerDocument : | ||
555 | // element is window or document | ||
556 | element.document || element ); | ||
557 | this.window = $( this.document[0].defaultView || this.document[0].parentWindow ); | ||
558 | } | ||
559 | |||
560 | this._create(); | ||
561 | this._trigger( "create", null, this._getCreateEventData() ); | ||
562 | this._init(); | ||
563 | }, | ||
564 | _getCreateOptions: $.noop, | ||
565 | _getCreateEventData: $.noop, | ||
566 | _create: $.noop, | ||
567 | _init: $.noop, | ||
568 | |||
569 | destroy: function() { | ||
570 | this._destroy(); | ||
571 | // we can probably remove the unbind calls in 2.0 | ||
572 | // all event bindings should go through this._on() | ||
573 | this.element | ||
574 | .unbind( this.eventNamespace ) | ||
575 | // 1.9 BC for #7810 | ||
576 | // TODO remove dual storage | ||
577 | .removeData( this.widgetName ) | ||
578 | .removeData( this.widgetFullName ) | ||
579 | // support: jquery <1.6.3 | ||
580 | // http://bugs.jquery.com/ticket/9413 | ||
581 | .removeData( $.camelCase( this.widgetFullName ) ); | ||
582 | this.widget() | ||
583 | .unbind( this.eventNamespace ) | ||
584 | .removeAttr( "aria-disabled" ) | ||
585 | .removeClass( | ||
586 | this.widgetFullName + "-disabled " + | ||
587 | "ui-state-disabled" ); | ||
588 | |||
589 | // clean up events and states | ||
590 | this.bindings.unbind( this.eventNamespace ); | ||
591 | this.hoverable.removeClass( "ui-state-hover" ); | ||
592 | this.focusable.removeClass( "ui-state-focus" ); | ||
593 | }, | ||
594 | _destroy: $.noop, | ||
595 | |||
596 | widget: function() { | ||
597 | return this.element; | ||
598 | }, | ||
599 | |||
600 | option: function( key, value ) { | ||
601 | var options = key, | ||
602 | parts, | ||
603 | curOption, | ||
604 | i; | ||
605 | |||
606 | if ( arguments.length === 0 ) { | ||
607 | // don't return a reference to the internal hash | ||
608 | return $.widget.extend( {}, this.options ); | ||
609 | } | ||
610 | |||
611 | if ( typeof key === "string" ) { | ||
612 | // handle nested keys, e.g., "foo.bar" => { foo: { bar: ___ } } | ||
613 | options = {}; | ||
614 | parts = key.split( "." ); | ||
615 | key = parts.shift(); | ||
616 | if ( parts.length ) { | ||
617 | curOption = options[ key ] = $.widget.extend( {}, this.options[ key ] ); | ||
618 | for ( i = 0; i < parts.length - 1; i++ ) { | ||
619 | curOption[ parts[ i ] ] = curOption[ parts[ i ] ] || {}; | ||
620 | curOption = curOption[ parts[ i ] ]; | ||
621 | } | ||
622 | key = parts.pop(); | ||
623 | if ( arguments.length === 1 ) { | ||
624 | return curOption[ key ] === undefined ? null : curOption[ key ]; | ||
625 | } | ||
626 | curOption[ key ] = value; | ||
627 | } else { | ||
628 | if ( arguments.length === 1 ) { | ||
629 | return this.options[ key ] === undefined ? null : this.options[ key ]; | ||
630 | } | ||
631 | options[ key ] = value; | ||
632 | } | ||
633 | } | ||
634 | |||
635 | this._setOptions( options ); | ||
636 | |||
637 | return this; | ||
638 | }, | ||
639 | _setOptions: function( options ) { | ||
640 | var key; | ||
641 | |||
642 | for ( key in options ) { | ||
643 | this._setOption( key, options[ key ] ); | ||
644 | } | ||
645 | |||
646 | return this; | ||
647 | }, | ||
648 | _setOption: function( key, value ) { | ||
649 | this.options[ key ] = value; | ||
650 | |||
651 | if ( key === "disabled" ) { | ||
652 | this.widget() | ||
653 | .toggleClass( this.widgetFullName + "-disabled ui-state-disabled", !!value ) | ||
654 | .attr( "aria-disabled", value ); | ||
655 | this.hoverable.removeClass( "ui-state-hover" ); | ||
656 | this.focusable.removeClass( "ui-state-focus" ); | ||
657 | } | ||
658 | |||
659 | return this; | ||
660 | }, | ||
661 | |||
662 | enable: function() { | ||
663 | return this._setOption( "disabled", false ); | ||
664 | }, | ||
665 | disable: function() { | ||
666 | return this._setOption( "disabled", true ); | ||
667 | }, | ||
668 | |||
669 | _on: function( suppressDisabledCheck, element, handlers ) { | ||
670 | var delegateElement, | ||
671 | instance = this; | ||
672 | |||
673 | // no suppressDisabledCheck flag, shuffle arguments | ||
674 | if ( typeof suppressDisabledCheck !== "boolean" ) { | ||
675 | handlers = element; | ||
676 | element = suppressDisabledCheck; | ||
677 | suppressDisabledCheck = false; | ||
678 | } | ||
679 | |||
680 | // no element argument, shuffle and use this.element | ||
681 | if ( !handlers ) { | ||
682 | handlers = element; | ||
683 | element = this.element; | ||
684 | delegateElement = this.widget(); | ||
685 | } else { | ||
686 | // accept selectors, DOM elements | ||
687 | element = delegateElement = $( element ); | ||
688 | this.bindings = this.bindings.add( element ); | ||
689 | } | ||
690 | |||
691 | $.each( handlers, function( event, handler ) { | ||
692 | function handlerProxy() { | ||
693 | // allow widgets to customize the disabled handling | ||
694 | // - disabled as an array instead of boolean | ||
695 | // - disabled class as method for disabling individual parts | ||
696 | if ( !suppressDisabledCheck && | ||
697 | ( instance.options.disabled === true || | ||
698 | $( this ).hasClass( "ui-state-disabled" ) ) ) { | ||
699 | return; | ||
700 | } | ||
701 | return ( typeof handler === "string" ? instance[ handler ] : handler ) | ||
702 | .apply( instance, arguments ); | ||
703 | } | ||
704 | |||
705 | // copy the guid so direct unbinding works | ||
706 | if ( typeof handler !== "string" ) { | ||
707 | handlerProxy.guid = handler.guid = | ||
708 | handler.guid || handlerProxy.guid || $.guid++; | ||
709 | } | ||
710 | |||
711 | var match = event.match( /^(\w+)\s*(.*)$/ ), | ||
712 | eventName = match[1] + instance.eventNamespace, | ||
713 | selector = match[2]; | ||
714 | if ( selector ) { | ||
715 | delegateElement.delegate( selector, eventName, handlerProxy ); | ||
716 | } else { | ||
717 | element.bind( eventName, handlerProxy ); | ||
718 | } | ||
719 | }); | ||
720 | }, | ||
721 | |||
722 | _off: function( element, eventName ) { | ||
723 | eventName = (eventName || "").split( " " ).join( this.eventNamespace + " " ) + this.eventNamespace; | ||
724 | element.unbind( eventName ).undelegate( eventName ); | ||
725 | }, | ||
726 | |||
727 | _delay: function( handler, delay ) { | ||
728 | function handlerProxy() { | ||
729 | return ( typeof handler === "string" ? instance[ handler ] : handler ) | ||
730 | .apply( instance, arguments ); | ||
731 | } | ||
732 | var instance = this; | ||
733 | return setTimeout( handlerProxy, delay || 0 ); | ||
734 | }, | ||
735 | |||
736 | _hoverable: function( element ) { | ||
737 | this.hoverable = this.hoverable.add( element ); | ||
738 | this._on( element, { | ||
739 | mouseenter: function( event ) { | ||
740 | $( event.currentTarget ).addClass( "ui-state-hover" ); | ||
741 | }, | ||
742 | mouseleave: function( event ) { | ||
743 | $( event.currentTarget ).removeClass( "ui-state-hover" ); | ||
744 | } | ||
745 | }); | ||
746 | }, | ||
747 | |||
748 | _focusable: function( element ) { | ||
749 | this.focusable = this.focusable.add( element ); | ||
750 | this._on( element, { | ||
751 | focusin: function( event ) { | ||
752 | $( event.currentTarget ).addClass( "ui-state-focus" ); | ||
753 | }, | ||
754 | focusout: function( event ) { | ||
755 | $( event.currentTarget ).removeClass( "ui-state-focus" ); | ||
756 | } | ||
757 | }); | ||
758 | }, | ||
759 | |||
760 | _trigger: function( type, event, data ) { | ||
761 | var prop, orig, | ||
762 | callback = this.options[ type ]; | ||
763 | |||
764 | data = data || {}; | ||
765 | event = $.Event( event ); | ||
766 | event.type = ( type === this.widgetEventPrefix ? | ||
767 | type : | ||
768 | this.widgetEventPrefix + type ).toLowerCase(); | ||
769 | // the original event may come from any element | ||
770 | // so we need to reset the target on the new event | ||
771 | event.target = this.element[ 0 ]; | ||
772 | |||
773 | // copy original event properties over to the new event | ||
774 | orig = event.originalEvent; | ||
775 | if ( orig ) { | ||
776 | for ( prop in orig ) { | ||
777 | if ( !( prop in event ) ) { | ||
778 | event[ prop ] = orig[ prop ]; | ||
779 | } | ||
780 | } | ||
781 | } | ||
782 | |||
783 | this.element.trigger( event, data ); | ||
784 | return !( $.isFunction( callback ) && | ||
785 | callback.apply( this.element[0], [ event ].concat( data ) ) === false || | ||
786 | event.isDefaultPrevented() ); | ||
787 | } | ||
788 | }; | ||
789 | |||
790 | $.each( { show: "fadeIn", hide: "fadeOut" }, function( method, defaultEffect ) { | ||
791 | $.Widget.prototype[ "_" + method ] = function( element, options, callback ) { | ||
792 | if ( typeof options === "string" ) { | ||
793 | options = { effect: options }; | ||
794 | } | ||
795 | var hasOptions, | ||
796 | effectName = !options ? | ||
797 | method : | ||
798 | options === true || typeof options === "number" ? | ||
799 | defaultEffect : | ||
800 | options.effect || defaultEffect; | ||
801 | options = options || {}; | ||
802 | if ( typeof options === "number" ) { | ||
803 | options = { duration: options }; | ||
804 | } | ||
805 | hasOptions = !$.isEmptyObject( options ); | ||
806 | options.complete = callback; | ||
807 | if ( options.delay ) { | ||
808 | element.delay( options.delay ); | ||
809 | } | ||
810 | if ( hasOptions && $.effects && $.effects.effect[ effectName ] ) { | ||
811 | element[ method ]( options ); | ||
812 | } else if ( effectName !== method && element[ effectName ] ) { | ||
813 | element[ effectName ]( options.duration, options.easing, callback ); | ||
814 | } else { | ||
815 | element.queue(function( next ) { | ||
816 | $( this )[ method ](); | ||
817 | if ( callback ) { | ||
818 | callback.call( element[ 0 ] ); | ||
819 | } | ||
820 | next(); | ||
821 | }); | ||
822 | } | ||
823 | }; | ||
824 | }); | ||
825 | |||
826 | })( jQuery ); | ||
827 | (function( $, undefined ) { | ||
828 | |||
829 | $.ui = $.ui || {}; | ||
830 | |||
831 | var cachedScrollbarWidth, | ||
832 | max = Math.max, | ||
833 | abs = Math.abs, | ||
834 | round = Math.round, | ||
835 | rhorizontal = /left|center|right/, | ||
836 | rvertical = /top|center|bottom/, | ||
837 | roffset = /[\+\-]\d+(\.[\d]+)?%?/, | ||
838 | rposition = /^\w+/, | ||
839 | rpercent = /%$/, | ||
840 | _position = $.fn.position; | ||
841 | |||
842 | function getOffsets( offsets, width, height ) { | ||
843 | return [ | ||
844 | parseFloat( offsets[ 0 ] ) * ( rpercent.test( offsets[ 0 ] ) ? width / 100 : 1 ), | ||
845 | parseFloat( offsets[ 1 ] ) * ( rpercent.test( offsets[ 1 ] ) ? height / 100 : 1 ) | ||
846 | ]; | ||
847 | } | ||
848 | |||
849 | function parseCss( element, property ) { | ||
850 | return parseInt( $.css( element, property ), 10 ) || 0; | ||
851 | } | ||
852 | |||
853 | function getDimensions( elem ) { | ||
854 | var raw = elem[0]; | ||
855 | if ( raw.nodeType === 9 ) { | ||
856 | return { | ||
857 | width: elem.width(), | ||
858 | height: elem.height(), | ||
859 | offset: { top: 0, left: 0 } | ||
860 | }; | ||
861 | } | ||
862 | if ( $.isWindow( raw ) ) { | ||
863 | return { | ||
864 | width: elem.width(), | ||
865 | height: elem.height(), | ||
866 | offset: { top: elem.scrollTop(), left: elem.scrollLeft() } | ||
867 | }; | ||
868 | } | ||
869 | if ( raw.preventDefault ) { | ||
870 | return { | ||
871 | width: 0, | ||
872 | height: 0, | ||
873 | offset: { top: raw.pageY, left: raw.pageX } | ||
874 | }; | ||
875 | } | ||
876 | return { | ||
877 | width: elem.outerWidth(), | ||
878 | height: elem.outerHeight(), | ||
879 | offset: elem.offset() | ||
880 | }; | ||
881 | } | ||
882 | |||
883 | $.position = { | ||
884 | scrollbarWidth: function() { | ||
885 | if ( cachedScrollbarWidth !== undefined ) { | ||
886 | return cachedScrollbarWidth; | ||
887 | } | ||
888 | var w1, w2, | ||
889 | div = $( "<div style='display:block;position:absolute;width:50px;height:50px;overflow:hidden;'><div style='height:100px;width:auto;'></div></div>" ), | ||
890 | innerDiv = div.children()[0]; | ||
891 | |||
892 | $( "body" ).append( div ); | ||
893 | w1 = innerDiv.offsetWidth; | ||
894 | div.css( "overflow", "scroll" ); | ||
895 | |||
896 | w2 = innerDiv.offsetWidth; | ||
897 | |||
898 | if ( w1 === w2 ) { | ||
899 | w2 = div[0].clientWidth; | ||
900 | } | ||
901 | |||
902 | div.remove(); | ||
903 | |||
904 | return (cachedScrollbarWidth = w1 - w2); | ||
905 | }, | ||
906 | getScrollInfo: function( within ) { | ||
907 | var overflowX = within.isWindow || within.isDocument ? "" : | ||
908 | within.element.css( "overflow-x" ), | ||
909 | overflowY = within.isWindow || within.isDocument ? "" : | ||
910 | within.element.css( "overflow-y" ), | ||
911 | hasOverflowX = overflowX === "scroll" || | ||
912 | ( overflowX === "auto" && within.width < within.element[0].scrollWidth ), | ||
913 | hasOverflowY = overflowY === "scroll" || | ||
914 | ( overflowY === "auto" && within.height < within.element[0].scrollHeight ); | ||
915 | return { | ||
916 | width: hasOverflowY ? $.position.scrollbarWidth() : 0, | ||
917 | height: hasOverflowX ? $.position.scrollbarWidth() : 0 | ||
918 | }; | ||
919 | }, | ||
920 | getWithinInfo: function( element ) { | ||
921 | var withinElement = $( element || window ), | ||
922 | isWindow = $.isWindow( withinElement[0] ), | ||
923 | isDocument = !!withinElement[ 0 ] && withinElement[ 0 ].nodeType === 9; | ||
924 | return { | ||
925 | element: withinElement, | ||
926 | isWindow: isWindow, | ||
927 | isDocument: isDocument, | ||
928 | offset: withinElement.offset() || { left: 0, top: 0 }, | ||
929 | scrollLeft: withinElement.scrollLeft(), | ||
930 | scrollTop: withinElement.scrollTop(), | ||
931 | width: isWindow ? withinElement.width() : withinElement.outerWidth(), | ||
932 | height: isWindow ? withinElement.height() : withinElement.outerHeight() | ||
933 | }; | ||
934 | } | ||
935 | }; | ||
936 | |||
937 | $.fn.position = function( options ) { | ||
938 | if ( !options || !options.of ) { | ||
939 | return _position.apply( this, arguments ); | ||
940 | } | ||
941 | |||
942 | // make a copy, we don't want to modify arguments | ||
943 | options = $.extend( {}, options ); | ||
944 | |||
945 | var atOffset, targetWidth, targetHeight, targetOffset, basePosition, dimensions, | ||
946 | target = $( options.of ), | ||
947 | within = $.position.getWithinInfo( options.within ), | ||
948 | scrollInfo = $.position.getScrollInfo( within ), | ||
949 | collision = ( options.collision || "flip" ).split( " " ), | ||
950 | offsets = {}; | ||
951 | |||
952 | dimensions = getDimensions( target ); | ||
953 | if ( target[0].preventDefault ) { | ||
954 | // force left top to allow flipping | ||
955 | options.at = "left top"; | ||
956 | } | ||
957 | targetWidth = dimensions.width; | ||
958 | targetHeight = dimensions.height; | ||
959 | targetOffset = dimensions.offset; | ||
960 | // clone to reuse original targetOffset later | ||
961 | basePosition = $.extend( {}, targetOffset ); | ||
962 | |||
963 | // force my and at to have valid horizontal and vertical positions | ||
964 | // if a value is missing or invalid, it will be converted to center | ||
965 | $.each( [ "my", "at" ], function() { | ||
966 | var pos = ( options[ this ] || "" ).split( " " ), | ||
967 | horizontalOffset, | ||
968 | verticalOffset; | ||
969 | |||
970 | if ( pos.length === 1) { | ||
971 | pos = rhorizontal.test( pos[ 0 ] ) ? | ||
972 | pos.concat( [ "center" ] ) : | ||
973 | rvertical.test( pos[ 0 ] ) ? | ||
974 | [ "center" ].concat( pos ) : | ||
975 | [ "center", "center" ]; | ||
976 | } | ||
977 | pos[ 0 ] = rhorizontal.test( pos[ 0 ] ) ? pos[ 0 ] : "center"; | ||
978 | pos[ 1 ] = rvertical.test( pos[ 1 ] ) ? pos[ 1 ] : "center"; | ||
979 | |||
980 | // calculate offsets | ||
981 | horizontalOffset = roffset.exec( pos[ 0 ] ); | ||
982 | verticalOffset = roffset.exec( pos[ 1 ] ); | ||
983 | offsets[ this ] = [ | ||
984 | horizontalOffset ? horizontalOffset[ 0 ] : 0, | ||
985 | verticalOffset ? verticalOffset[ 0 ] : 0 | ||
986 | ]; | ||
987 | |||
988 | // reduce to just the positions without the offsets | ||
989 | options[ this ] = [ | ||
990 | rposition.exec( pos[ 0 ] )[ 0 ], | ||
991 | rposition.exec( pos[ 1 ] )[ 0 ] | ||
992 | ]; | ||
993 | }); | ||
994 | |||
995 | // normalize collision option | ||
996 | if ( collision.length === 1 ) { | ||
997 | collision[ 1 ] = collision[ 0 ]; | ||
998 | } | ||
999 | |||
1000 | if ( options.at[ 0 ] === "right" ) { | ||
1001 | basePosition.left += targetWidth; | ||
1002 | } else if ( options.at[ 0 ] === "center" ) { | ||
1003 | basePosition.left += targetWidth / 2; | ||
1004 | } | ||
1005 | |||
1006 | if ( options.at[ 1 ] === "bottom" ) { | ||
1007 | basePosition.top += targetHeight; | ||
1008 | } else if ( options.at[ 1 ] === "center" ) { | ||
1009 | basePosition.top += targetHeight / 2; | ||
1010 | } | ||
1011 | |||
1012 | atOffset = getOffsets( offsets.at, targetWidth, targetHeight ); | ||
1013 | basePosition.left += atOffset[ 0 ]; | ||
1014 | basePosition.top += atOffset[ 1 ]; | ||
1015 | |||
1016 | return this.each(function() { | ||
1017 | var collisionPosition, using, | ||
1018 | elem = $( this ), | ||
1019 | elemWidth = elem.outerWidth(), | ||
1020 | elemHeight = elem.outerHeight(), | ||
1021 | marginLeft = parseCss( this, "marginLeft" ), | ||
1022 | marginTop = parseCss( this, "marginTop" ), | ||
1023 | collisionWidth = elemWidth + marginLeft + parseCss( this, "marginRight" ) + scrollInfo.width, | ||
1024 | collisionHeight = elemHeight + marginTop + parseCss( this, "marginBottom" ) + scrollInfo.height, | ||
1025 | position = $.extend( {}, basePosition ), | ||
1026 | myOffset = getOffsets( offsets.my, elem.outerWidth(), elem.outerHeight() ); | ||
1027 | |||
1028 | if ( options.my[ 0 ] === "right" ) { | ||
1029 | position.left -= elemWidth; | ||
1030 | } else if ( options.my[ 0 ] === "center" ) { | ||
1031 | position.left -= elemWidth / 2; | ||
1032 | } | ||
1033 | |||
1034 | if ( options.my[ 1 ] === "bottom" ) { | ||
1035 | position.top -= elemHeight; | ||
1036 | } else if ( options.my[ 1 ] === "center" ) { | ||
1037 | position.top -= elemHeight / 2; | ||
1038 | } | ||
1039 | |||
1040 | position.left += myOffset[ 0 ]; | ||
1041 | position.top += myOffset[ 1 ]; | ||
1042 | |||
1043 | // if the browser doesn't support fractions, then round for consistent results | ||
1044 | if ( !$.support.offsetFractions ) { | ||
1045 | position.left = round( position.left ); | ||
1046 | position.top = round( position.top ); | ||
1047 | } | ||
1048 | |||
1049 | collisionPosition = { | ||
1050 | marginLeft: marginLeft, | ||
1051 | marginTop: marginTop | ||
1052 | }; | ||
1053 | |||
1054 | $.each( [ "left", "top" ], function( i, dir ) { | ||
1055 | if ( $.ui.position[ collision[ i ] ] ) { | ||
1056 | $.ui.position[ collision[ i ] ][ dir ]( position, { | ||
1057 | targetWidth: targetWidth, | ||
1058 | targetHeight: targetHeight, | ||
1059 | elemWidth: elemWidth, | ||
1060 | elemHeight: elemHeight, | ||
1061 | collisionPosition: collisionPosition, | ||
1062 | collisionWidth: collisionWidth, | ||
1063 | collisionHeight: collisionHeight, | ||
1064 | offset: [ atOffset[ 0 ] + myOffset[ 0 ], atOffset [ 1 ] + myOffset[ 1 ] ], | ||
1065 | my: options.my, | ||
1066 | at: options.at, | ||
1067 | within: within, | ||
1068 | elem : elem | ||
1069 | }); | ||
1070 | } | ||
1071 | }); | ||
1072 | |||
1073 | if ( options.using ) { | ||
1074 | // adds feedback as second argument to using callback, if present | ||
1075 | using = function( props ) { | ||
1076 | var left = targetOffset.left - position.left, | ||
1077 | right = left + targetWidth - elemWidth, | ||
1078 | top = targetOffset.top - position.top, | ||
1079 | bottom = top + targetHeight - elemHeight, | ||
1080 | feedback = { | ||
1081 | target: { | ||
1082 | element: target, | ||
1083 | left: targetOffset.left, | ||
1084 | top: targetOffset.top, | ||
1085 | width: targetWidth, | ||
1086 | height: targetHeight | ||
1087 | }, | ||
1088 | element: { | ||
1089 | element: elem, | ||
1090 | left: position.left, | ||
1091 | top: position.top, | ||
1092 | width: elemWidth, | ||
1093 | height: elemHeight | ||
1094 | }, | ||
1095 | horizontal: right < 0 ? "left" : left > 0 ? "right" : "center", | ||
1096 | vertical: bottom < 0 ? "top" : top > 0 ? "bottom" : "middle" | ||
1097 | }; | ||
1098 | if ( targetWidth < elemWidth && abs( left + right ) < targetWidth ) { | ||
1099 | feedback.horizontal = "center"; | ||
1100 | } | ||
1101 | if ( targetHeight < elemHeight && abs( top + bottom ) < targetHeight ) { | ||
1102 | feedback.vertical = "middle"; | ||
1103 | } | ||
1104 | if ( max( abs( left ), abs( right ) ) > max( abs( top ), abs( bottom ) ) ) { | ||
1105 | feedback.important = "horizontal"; | ||
1106 | } else { | ||
1107 | feedback.important = "vertical"; | ||
1108 | } | ||
1109 | options.using.call( this, props, feedback ); | ||
1110 | }; | ||
1111 | } | ||
1112 | |||
1113 | elem.offset( $.extend( position, { using: using } ) ); | ||
1114 | }); | ||
1115 | }; | ||
1116 | |||
1117 | $.ui.position = { | ||
1118 | fit: { | ||
1119 | left: function( position, data ) { | ||
1120 | var within = data.within, | ||
1121 | withinOffset = within.isWindow ? within.scrollLeft : within.offset.left, | ||
1122 | outerWidth = within.width, | ||
1123 | collisionPosLeft = position.left - data.collisionPosition.marginLeft, | ||
1124 | overLeft = withinOffset - collisionPosLeft, | ||
1125 | overRight = collisionPosLeft + data.collisionWidth - outerWidth - withinOffset, | ||
1126 | newOverRight; | ||
1127 | |||
1128 | // element is wider than within | ||
1129 | if ( data.collisionWidth > outerWidth ) { | ||
1130 | // element is initially over the left side of within | ||
1131 | if ( overLeft > 0 && overRight <= 0 ) { | ||
1132 | newOverRight = position.left + overLeft + data.collisionWidth - outerWidth - withinOffset; | ||
1133 | position.left += overLeft - newOverRight; | ||
1134 | // element is initially over right side of within | ||
1135 | } else if ( overRight > 0 && overLeft <= 0 ) { | ||
1136 | position.left = withinOffset; | ||
1137 | // element is initially over both left and right sides of within | ||
1138 | } else { | ||
1139 | if ( overLeft > overRight ) { | ||
1140 | position.left = withinOffset + outerWidth - data.collisionWidth; | ||
1141 | } else { | ||
1142 | position.left = withinOffset; | ||
1143 | } | ||
1144 | } | ||
1145 | // too far left -> align with left edge | ||
1146 | } else if ( overLeft > 0 ) { | ||
1147 | position.left += overLeft; | ||
1148 | // too far right -> align with right edge | ||
1149 | } else if ( overRight > 0 ) { | ||
1150 | position.left -= overRight; | ||
1151 | // adjust based on position and margin | ||
1152 | } else { | ||
1153 | position.left = max( position.left - collisionPosLeft, position.left ); | ||
1154 | } | ||
1155 | }, | ||
1156 | top: function( position, data ) { | ||
1157 | var within = data.within, | ||
1158 | withinOffset = within.isWindow ? within.scrollTop : within.offset.top, | ||
1159 | outerHeight = data.within.height, | ||
1160 | collisionPosTop = position.top - data.collisionPosition.marginTop, | ||
1161 | overTop = withinOffset - collisionPosTop, | ||
1162 | overBottom = collisionPosTop + data.collisionHeight - outerHeight - withinOffset, | ||
1163 | newOverBottom; | ||
1164 | |||
1165 | // element is taller than within | ||
1166 | if ( data.collisionHeight > outerHeight ) { | ||
1167 | // element is initially over the top of within | ||
1168 | if ( overTop > 0 && overBottom <= 0 ) { | ||
1169 | newOverBottom = position.top + overTop + data.collisionHeight - outerHeight - withinOffset; | ||
1170 | position.top += overTop - newOverBottom; | ||
1171 | // element is initially over bottom of within | ||
1172 | } else if ( overBottom > 0 && overTop <= 0 ) { | ||
1173 | position.top = withinOffset; | ||
1174 | // element is initially over both top and bottom of within | ||
1175 | } else { | ||
1176 | if ( overTop > overBottom ) { | ||
1177 | position.top = withinOffset + outerHeight - data.collisionHeight; | ||
1178 | } else { | ||
1179 | position.top = withinOffset; | ||
1180 | } | ||
1181 | } | ||
1182 | // too far up -> align with top | ||
1183 | } else if ( overTop > 0 ) { | ||
1184 | position.top += overTop; | ||
1185 | // too far down -> align with bottom edge | ||
1186 | } else if ( overBottom > 0 ) { | ||
1187 | position.top -= overBottom; | ||
1188 | // adjust based on position and margin | ||
1189 | } else { | ||
1190 | position.top = max( position.top - collisionPosTop, position.top ); | ||
1191 | } | ||
1192 | } | ||
1193 | }, | ||
1194 | flip: { | ||
1195 | left: function( position, data ) { | ||
1196 | var within = data.within, | ||
1197 | withinOffset = within.offset.left + within.scrollLeft, | ||
1198 | outerWidth = within.width, | ||
1199 | offsetLeft = within.isWindow ? within.scrollLeft : within.offset.left, | ||
1200 | collisionPosLeft = position.left - data.collisionPosition.marginLeft, | ||
1201 | overLeft = collisionPosLeft - offsetLeft, | ||
1202 | overRight = collisionPosLeft + data.collisionWidth - outerWidth - offsetLeft, | ||
1203 | myOffset = data.my[ 0 ] === "left" ? | ||
1204 | -data.elemWidth : | ||
1205 | data.my[ 0 ] === "right" ? | ||
1206 | data.elemWidth : | ||
1207 | 0, | ||
1208 | atOffset = data.at[ 0 ] === "left" ? | ||
1209 | data.targetWidth : | ||
1210 | data.at[ 0 ] === "right" ? | ||
1211 | -data.targetWidth : | ||
1212 | 0, | ||
1213 | offset = -2 * data.offset[ 0 ], | ||
1214 | newOverRight, | ||
1215 | newOverLeft; | ||
1216 | |||
1217 | if ( overLeft < 0 ) { | ||
1218 | newOverRight = position.left + myOffset + atOffset + offset + data.collisionWidth - outerWidth - withinOffset; | ||
1219 | if ( newOverRight < 0 || newOverRight < abs( overLeft ) ) { | ||
1220 | position.left += myOffset + atOffset + offset; | ||
1221 | } | ||
1222 | } | ||
1223 | else if ( overRight > 0 ) { | ||
1224 | newOverLeft = position.left - data.collisionPosition.marginLeft + myOffset + atOffset + offset - offsetLeft; | ||
1225 | if ( newOverLeft > 0 || abs( newOverLeft ) < overRight ) { | ||
1226 | position.left += myOffset + atOffset + offset; | ||
1227 | } | ||
1228 | } | ||
1229 | }, | ||
1230 | top: function( position, data ) { | ||
1231 | var within = data.within, | ||
1232 | withinOffset = within.offset.top + within.scrollTop, | ||
1233 | outerHeight = within.height, | ||
1234 | offsetTop = within.isWindow ? within.scrollTop : within.offset.top, | ||
1235 | collisionPosTop = position.top - data.collisionPosition.marginTop, | ||
1236 | overTop = collisionPosTop - offsetTop, | ||
1237 | overBottom = collisionPosTop + data.collisionHeight - outerHeight - offsetTop, | ||
1238 | top = data.my[ 1 ] === "top", | ||
1239 | myOffset = top ? | ||
1240 | -data.elemHeight : | ||
1241 | data.my[ 1 ] === "bottom" ? | ||
1242 | data.elemHeight : | ||
1243 | 0, | ||
1244 | atOffset = data.at[ 1 ] === "top" ? | ||
1245 | data.targetHeight : | ||
1246 | data.at[ 1 ] === "bottom" ? | ||
1247 | -data.targetHeight : | ||
1248 | 0, | ||
1249 | offset = -2 * data.offset[ 1 ], | ||
1250 | newOverTop, | ||
1251 | newOverBottom; | ||
1252 | if ( overTop < 0 ) { | ||
1253 | newOverBottom = position.top + myOffset + atOffset + offset + data.collisionHeight - outerHeight - withinOffset; | ||
1254 | if ( ( position.top + myOffset + atOffset + offset) > overTop && ( newOverBottom < 0 || newOverBottom < abs( overTop ) ) ) { | ||
1255 | position.top += myOffset + atOffset + offset; | ||
1256 | } | ||
1257 | } | ||
1258 | else if ( overBottom > 0 ) { | ||
1259 | newOverTop = position.top - data.collisionPosition.marginTop + myOffset + atOffset + offset - offsetTop; | ||
1260 | if ( ( position.top + myOffset + atOffset + offset) > overBottom && ( newOverTop > 0 || abs( newOverTop ) < overBottom ) ) { | ||
1261 | position.top += myOffset + atOffset + offset; | ||
1262 | } | ||
1263 | } | ||
1264 | } | ||
1265 | }, | ||
1266 | flipfit: { | ||
1267 | left: function() { | ||
1268 | $.ui.position.flip.left.apply( this, arguments ); | ||
1269 | $.ui.position.fit.left.apply( this, arguments ); | ||
1270 | }, | ||
1271 | top: function() { | ||
1272 | $.ui.position.flip.top.apply( this, arguments ); | ||
1273 | $.ui.position.fit.top.apply( this, arguments ); | ||
1274 | } | ||
1275 | } | ||
1276 | }; | ||
1277 | |||
1278 | // fraction support test | ||
1279 | (function () { | ||
1280 | var testElement, testElementParent, testElementStyle, offsetLeft, i, | ||
1281 | body = document.getElementsByTagName( "body" )[ 0 ], | ||
1282 | div = document.createElement( "div" ); | ||
1283 | |||
1284 | //Create a "fake body" for testing based on method used in jQuery.support | ||
1285 | testElement = document.createElement( body ? "div" : "body" ); | ||
1286 | testElementStyle = { | ||
1287 | visibility: "hidden", | ||
1288 | width: 0, | ||
1289 | height: 0, | ||
1290 | border: 0, | ||
1291 | margin: 0, | ||
1292 | background: "none" | ||
1293 | }; | ||
1294 | if ( body ) { | ||
1295 | $.extend( testElementStyle, { | ||
1296 | position: "absolute", | ||
1297 | left: "-1000px", | ||
1298 | top: "-1000px" | ||
1299 | }); | ||
1300 | } | ||
1301 | for ( i in testElementStyle ) { | ||
1302 | testElement.style[ i ] = testElementStyle[ i ]; | ||
1303 | } | ||
1304 | testElement.appendChild( div ); | ||
1305 | testElementParent = body || document.documentElement; | ||
1306 | testElementParent.insertBefore( testElement, testElementParent.firstChild ); | ||
1307 | |||
1308 | div.style.cssText = "position: absolute; left: 10.7432222px;"; | ||
1309 | |||
1310 | offsetLeft = $( div ).offset().left; | ||
1311 | $.support.offsetFractions = offsetLeft > 10 && offsetLeft < 11; | ||
1312 | |||
1313 | testElement.innerHTML = ""; | ||
1314 | testElementParent.removeChild( testElement ); | ||
1315 | })(); | ||
1316 | |||
1317 | }( jQuery ) ); | ||
1318 | (function( $, undefined ) { | ||
1319 | |||
1320 | $.widget( "ui.autocomplete", { | ||
1321 | version: "1.10.4", | ||
1322 | defaultElement: "<input>", | ||
1323 | options: { | ||
1324 | appendTo: null, | ||
1325 | autoFocus: false, | ||
1326 | delay: 300, | ||
1327 | minLength: 1, | ||
1328 | position: { | ||
1329 | my: "left top", | ||
1330 | at: "left bottom", | ||
1331 | collision: "none" | ||
1332 | }, | ||
1333 | source: null, | ||
1334 | |||
1335 | // callbacks | ||
1336 | change: null, | ||
1337 | close: null, | ||
1338 | focus: null, | ||
1339 | open: null, | ||
1340 | response: null, | ||
1341 | search: null, | ||
1342 | select: null | ||
1343 | }, | ||
1344 | |||
1345 | requestIndex: 0, | ||
1346 | pending: 0, | ||
1347 | |||
1348 | _create: function() { | ||
1349 | // Some browsers only repeat keydown events, not keypress events, | ||
1350 | // so we use the suppressKeyPress flag to determine if we've already | ||
1351 | // handled the keydown event. #7269 | ||
1352 | // Unfortunately the code for & in keypress is the same as the up arrow, | ||
1353 | // so we use the suppressKeyPressRepeat flag to avoid handling keypress | ||
1354 | // events when we know the keydown event was used to modify the | ||
1355 | // search term. #7799 | ||
1356 | var suppressKeyPress, suppressKeyPressRepeat, suppressInput, | ||
1357 | nodeName = this.element[0].nodeName.toLowerCase(), | ||
1358 | isTextarea = nodeName === "textarea", | ||
1359 | isInput = nodeName === "input"; | ||
1360 | |||
1361 | this.isMultiLine = | ||
1362 | // Textareas are always multi-line | ||
1363 | isTextarea ? true : | ||
1364 | // Inputs are always single-line, even if inside a contentEditable element | ||
1365 | // IE also treats inputs as contentEditable | ||
1366 | isInput ? false : | ||
1367 | // All other element types are determined by whether or not they're contentEditable | ||
1368 | this.element.prop( "isContentEditable" ); | ||
1369 | |||
1370 | this.valueMethod = this.element[ isTextarea || isInput ? "val" : "text" ]; | ||
1371 | this.isNewMenu = true; | ||
1372 | |||
1373 | this.element | ||
1374 | .addClass( "ui-autocomplete-input" ) | ||
1375 | .attr( "autocomplete", "off" ); | ||
1376 | |||
1377 | this._on( this.element, { | ||
1378 | keydown: function( event ) { | ||
1379 | if ( this.element.prop( "readOnly" ) ) { | ||
1380 | suppressKeyPress = true; | ||
1381 | suppressInput = true; | ||
1382 | suppressKeyPressRepeat = true; | ||
1383 | return; | ||
1384 | } | ||
1385 | |||
1386 | suppressKeyPress = false; | ||
1387 | suppressInput = false; | ||
1388 | suppressKeyPressRepeat = false; | ||
1389 | var keyCode = $.ui.keyCode; | ||
1390 | switch( event.keyCode ) { | ||
1391 | case keyCode.PAGE_UP: | ||
1392 | suppressKeyPress = true; | ||
1393 | this._move( "previousPage", event ); | ||
1394 | break; | ||
1395 | case keyCode.PAGE_DOWN: | ||
1396 | suppressKeyPress = true; | ||
1397 | this._move( "nextPage", event ); | ||
1398 | break; | ||
1399 | case keyCode.UP: | ||
1400 | suppressKeyPress = true; | ||
1401 | this._keyEvent( "previous", event ); | ||
1402 | break; | ||
1403 | case keyCode.DOWN: | ||
1404 | suppressKeyPress = true; | ||
1405 | this._keyEvent( "next", event ); | ||
1406 | break; | ||
1407 | case keyCode.ENTER: | ||
1408 | case keyCode.NUMPAD_ENTER: | ||
1409 | // when menu is open and has focus | ||
1410 | if ( this.menu.active ) { | ||
1411 | // #6055 - Opera still allows the keypress to occur | ||
1412 | // which causes forms to submit | ||
1413 | suppressKeyPress = true; | ||
1414 | event.preventDefault(); | ||
1415 | this.menu.select( event ); | ||
1416 | } | ||
1417 | break; | ||
1418 | case keyCode.TAB: | ||
1419 | if ( this.menu.active ) { | ||
1420 | this.menu.select( event ); | ||
1421 | } | ||
1422 | break; | ||
1423 | case keyCode.ESCAPE: | ||
1424 | if ( this.menu.element.is( ":visible" ) ) { | ||
1425 | this._value( this.term ); | ||
1426 | this.close( event ); | ||
1427 | // Different browsers have different default behavior for escape | ||
1428 | // Single press can mean undo or clear | ||
1429 | // Double press in IE means clear the whole form | ||
1430 | event.preventDefault(); | ||
1431 | } | ||
1432 | break; | ||
1433 | default: | ||
1434 | suppressKeyPressRepeat = true; | ||
1435 | // search timeout should be triggered before the input value is changed | ||
1436 | this._searchTimeout( event ); | ||
1437 | break; | ||
1438 | } | ||
1439 | }, | ||
1440 | keypress: function( event ) { | ||
1441 | if ( suppressKeyPress ) { | ||
1442 | suppressKeyPress = false; | ||
1443 | if ( !this.isMultiLine || this.menu.element.is( ":visible" ) ) { | ||
1444 | event.preventDefault(); | ||
1445 | } | ||
1446 | return; | ||
1447 | } | ||
1448 | if ( suppressKeyPressRepeat ) { | ||
1449 | return; | ||
1450 | } | ||
1451 | |||
1452 | // replicate some key handlers to allow them to repeat in Firefox and Opera | ||
1453 | var keyCode = $.ui.keyCode; | ||
1454 | switch( event.keyCode ) { | ||
1455 | case keyCode.PAGE_UP: | ||
1456 | this._move( "previousPage", event ); | ||
1457 | break; | ||
1458 | case keyCode.PAGE_DOWN: | ||
1459 | this._move( "nextPage", event ); | ||
1460 | break; | ||
1461 | case keyCode.UP: | ||
1462 | this._keyEvent( "previous", event ); | ||
1463 | break; | ||
1464 | case keyCode.DOWN: | ||
1465 | this._keyEvent( "next", event ); | ||
1466 | break; | ||
1467 | } | ||
1468 | }, | ||
1469 | input: function( event ) { | ||
1470 | if ( suppressInput ) { | ||
1471 | suppressInput = false; | ||
1472 | event.preventDefault(); | ||
1473 | return; | ||
1474 | } | ||
1475 | this._searchTimeout( event ); | ||
1476 | }, | ||
1477 | focus: function() { | ||
1478 | this.selectedItem = null; | ||
1479 | this.previous = this._value(); | ||
1480 | }, | ||
1481 | blur: function( event ) { | ||
1482 | if ( this.cancelBlur ) { | ||
1483 | delete this.cancelBlur; | ||
1484 | return; | ||
1485 | } | ||
1486 | |||
1487 | clearTimeout( this.searching ); | ||
1488 | this.close( event ); | ||
1489 | this._change( event ); | ||
1490 | } | ||
1491 | }); | ||
1492 | |||
1493 | this._initSource(); | ||
1494 | this.menu = $( "<ul>" ) | ||
1495 | .addClass( "ui-autocomplete ui-front" ) | ||
1496 | .appendTo( this._appendTo() ) | ||
1497 | .menu({ | ||
1498 | // disable ARIA support, the live region takes care of that | ||
1499 | role: null | ||
1500 | }) | ||
1501 | .hide() | ||
1502 | .data( "ui-menu" ); | ||
1503 | |||
1504 | this._on( this.menu.element, { | ||
1505 | mousedown: function( event ) { | ||
1506 | // prevent moving focus out of the text field | ||
1507 | event.preventDefault(); | ||
1508 | |||
1509 | // IE doesn't prevent moving focus even with event.preventDefault() | ||
1510 | // so we set a flag to know when we should ignore the blur event | ||
1511 | this.cancelBlur = true; | ||
1512 | this._delay(function() { | ||
1513 | delete this.cancelBlur; | ||
1514 | }); | ||
1515 | |||
1516 | // clicking on the scrollbar causes focus to shift to the body | ||
1517 | // but we can't detect a mouseup or a click immediately afterward | ||
1518 | // so we have to track the next mousedown and close the menu if | ||
1519 | // the user clicks somewhere outside of the autocomplete | ||
1520 | var menuElement = this.menu.element[ 0 ]; | ||
1521 | if ( !$( event.target ).closest( ".ui-menu-item" ).length ) { | ||
1522 | this._delay(function() { | ||
1523 | var that = this; | ||
1524 | this.document.one( "mousedown", function( event ) { | ||
1525 | if ( event.target !== that.element[ 0 ] && | ||
1526 | event.target !== menuElement && | ||
1527 | !$.contains( menuElement, event.target ) ) { | ||
1528 | that.close(); | ||
1529 | } | ||
1530 | }); | ||
1531 | }); | ||
1532 | } | ||
1533 | }, | ||
1534 | menufocus: function( event, ui ) { | ||
1535 | // support: Firefox | ||
1536 | // Prevent accidental activation of menu items in Firefox (#7024 #9118) | ||
1537 | if ( this.isNewMenu ) { | ||
1538 | this.isNewMenu = false; | ||
1539 | if ( event.originalEvent && /^mouse/.test( event.originalEvent.type ) ) { | ||
1540 | this.menu.blur(); | ||
1541 | |||
1542 | this.document.one( "mousemove", function() { | ||
1543 | $( event.target ).trigger( event.originalEvent ); | ||
1544 | }); | ||
1545 | |||
1546 | return; | ||
1547 | } | ||
1548 | } | ||
1549 | |||
1550 | var item = ui.item.data( "ui-autocomplete-item" ); | ||
1551 | if ( false !== this._trigger( "focus", event, { item: item } ) ) { | ||
1552 | // use value to match what will end up in the input, if it was a key event | ||
1553 | if ( event.originalEvent && /^key/.test( event.originalEvent.type ) ) { | ||
1554 | this._value( item.value ); | ||
1555 | } | ||
1556 | } else { | ||
1557 | // Normally the input is populated with the item's value as the | ||
1558 | // menu is navigated, causing screen readers to notice a change and | ||
1559 | // announce the item. Since the focus event was canceled, this doesn't | ||
1560 | // happen, so we update the live region so that screen readers can | ||
1561 | // still notice the change and announce it. | ||
1562 | this.liveRegion.text( item.value ); | ||
1563 | } | ||
1564 | }, | ||
1565 | menuselect: function( event, ui ) { | ||
1566 | var item = ui.item.data( "ui-autocomplete-item" ), | ||
1567 | previous = this.previous; | ||
1568 | |||
1569 | // only trigger when focus was lost (click on menu) | ||
1570 | if ( this.element[0] !== this.document[0].activeElement ) { | ||
1571 | this.element.focus(); | ||
1572 | this.previous = previous; | ||
1573 | // #6109 - IE triggers two focus events and the second | ||
1574 | // is asynchronous, so we need to reset the previous | ||
1575 | // term synchronously and asynchronously :-( | ||
1576 | this._delay(function() { | ||
1577 | this.previous = previous; | ||
1578 | this.selectedItem = item; | ||
1579 | }); | ||
1580 | } | ||
1581 | |||
1582 | if ( false !== this._trigger( "select", event, { item: item } ) ) { | ||
1583 | this._value( item.value ); | ||
1584 | } | ||
1585 | // reset the term after the select event | ||
1586 | // this allows custom select handling to work properly | ||
1587 | this.term = this._value(); | ||
1588 | |||
1589 | this.close( event ); | ||
1590 | this.selectedItem = item; | ||
1591 | } | ||
1592 | }); | ||
1593 | |||
1594 | this.liveRegion = $( "<span>", { | ||
1595 | role: "status", | ||
1596 | "aria-live": "polite" | ||
1597 | }) | ||
1598 | .addClass( "ui-helper-hidden-accessible" ) | ||
1599 | .insertBefore( this.element ); | ||
1600 | |||
1601 | // turning off autocomplete prevents the browser from remembering the | ||
1602 | // value when navigating through history, so we re-enable autocomplete | ||
1603 | // if the page is unloaded before the widget is destroyed. #7790 | ||
1604 | this._on( this.window, { | ||
1605 | beforeunload: function() { | ||
1606 | this.element.removeAttr( "autocomplete" ); | ||
1607 | } | ||
1608 | }); | ||
1609 | }, | ||
1610 | |||
1611 | _destroy: function() { | ||
1612 | clearTimeout( this.searching ); | ||
1613 | this.element | ||
1614 | .removeClass( "ui-autocomplete-input" ) | ||
1615 | .removeAttr( "autocomplete" ); | ||
1616 | this.menu.element.remove(); | ||
1617 | this.liveRegion.remove(); | ||
1618 | }, | ||
1619 | |||
1620 | _setOption: function( key, value ) { | ||
1621 | this._super( key, value ); | ||
1622 | if ( key === "source" ) { | ||
1623 | this._initSource(); | ||
1624 | } | ||
1625 | if ( key === "appendTo" ) { | ||
1626 | this.menu.element.appendTo( this._appendTo() ); | ||
1627 | } | ||
1628 | if ( key === "disabled" && value && this.xhr ) { | ||
1629 | this.xhr.abort(); | ||
1630 | } | ||
1631 | }, | ||
1632 | |||
1633 | _appendTo: function() { | ||
1634 | var element = this.options.appendTo; | ||
1635 | |||
1636 | if ( element ) { | ||
1637 | element = element.jquery || element.nodeType ? | ||
1638 | $( element ) : | ||
1639 | this.document.find( element ).eq( 0 ); | ||
1640 | } | ||
1641 | |||
1642 | if ( !element ) { | ||
1643 | element = this.element.closest( ".ui-front" ); | ||
1644 | } | ||
1645 | |||
1646 | if ( !element.length ) { | ||
1647 | element = this.document[0].body; | ||
1648 | } | ||
1649 | |||
1650 | return element; | ||
1651 | }, | ||
1652 | |||
1653 | _initSource: function() { | ||
1654 | var array, url, | ||
1655 | that = this; | ||
1656 | if ( $.isArray(this.options.source) ) { | ||
1657 | array = this.options.source; | ||
1658 | this.source = function( request, response ) { | ||
1659 | response( $.ui.autocomplete.filter( array, request.term ) ); | ||
1660 | }; | ||
1661 | } else if ( typeof this.options.source === "string" ) { | ||
1662 | url = this.options.source; | ||
1663 | this.source = function( request, response ) { | ||
1664 | if ( that.xhr ) { | ||
1665 | that.xhr.abort(); | ||
1666 | } | ||
1667 | that.xhr = $.ajax({ | ||
1668 | url: url, | ||
1669 | data: request, | ||
1670 | dataType: "json", | ||
1671 | success: function( data ) { | ||
1672 | response( data ); | ||
1673 | }, | ||
1674 | error: function() { | ||
1675 | response( [] ); | ||
1676 | } | ||
1677 | }); | ||
1678 | }; | ||
1679 | } else { | ||
1680 | this.source = this.options.source; | ||
1681 | } | ||
1682 | }, | ||
1683 | |||
1684 | _searchTimeout: function( event ) { | ||
1685 | clearTimeout( this.searching ); | ||
1686 | this.searching = this._delay(function() { | ||
1687 | // only search if the value has changed | ||
1688 | if ( this.term !== this._value() ) { | ||
1689 | this.selectedItem = null; | ||
1690 | this.search( null, event ); | ||
1691 | } | ||
1692 | }, this.options.delay ); | ||
1693 | }, | ||
1694 | |||
1695 | search: function( value, event ) { | ||
1696 | value = value != null ? value : this._value(); | ||
1697 | |||
1698 | // always save the actual value, not the one passed as an argument | ||
1699 | this.term = this._value(); | ||
1700 | |||
1701 | if ( value.length < this.options.minLength ) { | ||
1702 | return this.close( event ); | ||
1703 | } | ||
1704 | |||
1705 | if ( this._trigger( "search", event ) === false ) { | ||
1706 | return; | ||
1707 | } | ||
1708 | |||
1709 | return this._search( value ); | ||
1710 | }, | ||
1711 | |||
1712 | _search: function( value ) { | ||
1713 | this.pending++; | ||
1714 | this.element.addClass( "ui-autocomplete-loading" ); | ||
1715 | this.cancelSearch = false; | ||
1716 | |||
1717 | this.source( { term: value }, this._response() ); | ||
1718 | }, | ||
1719 | |||
1720 | _response: function() { | ||
1721 | var index = ++this.requestIndex; | ||
1722 | |||
1723 | return $.proxy(function( content ) { | ||
1724 | if ( index === this.requestIndex ) { | ||
1725 | this.__response( content ); | ||
1726 | } | ||
1727 | |||
1728 | this.pending--; | ||
1729 | if ( !this.pending ) { | ||
1730 | this.element.removeClass( "ui-autocomplete-loading" ); | ||
1731 | } | ||
1732 | }, this ); | ||
1733 | }, | ||
1734 | |||
1735 | __response: function( content ) { | ||
1736 | if ( content ) { | ||
1737 | content = this._normalize( content ); | ||
1738 | } | ||
1739 | this._trigger( "response", null, { content: content } ); | ||
1740 | if ( !this.options.disabled && content && content.length && !this.cancelSearch ) { | ||
1741 | this._suggest( content ); | ||
1742 | this._trigger( "open" ); | ||
1743 | } else { | ||
1744 | // use ._close() instead of .close() so we don't cancel future searches | ||
1745 | this._close(); | ||
1746 | } | ||
1747 | }, | ||
1748 | |||
1749 | close: function( event ) { | ||
1750 | this.cancelSearch = true; | ||
1751 | this._close( event ); | ||
1752 | }, | ||
1753 | |||
1754 | _close: function( event ) { | ||
1755 | if ( this.menu.element.is( ":visible" ) ) { | ||
1756 | this.menu.element.hide(); | ||
1757 | this.menu.blur(); | ||
1758 | this.isNewMenu = true; | ||
1759 | this._trigger( "close", event ); | ||
1760 | } | ||
1761 | }, | ||
1762 | |||
1763 | _change: function( event ) { | ||
1764 | if ( this.previous !== this._value() ) { | ||
1765 | this._trigger( "change", event, { item: this.selectedItem } ); | ||
1766 | } | ||
1767 | }, | ||
1768 | |||
1769 | _normalize: function( items ) { | ||
1770 | // assume all items have the right format when the first item is complete | ||
1771 | if ( items.length && items[0].label && items[0].value ) { | ||
1772 | return items; | ||
1773 | } | ||
1774 | return $.map( items, function( item ) { | ||
1775 | if ( typeof item === "string" ) { | ||
1776 | return { | ||
1777 | label: item, | ||
1778 | value: item | ||
1779 | }; | ||
1780 | } | ||
1781 | return $.extend({ | ||
1782 | label: item.label || item.value, | ||
1783 | value: item.value || item.label | ||
1784 | }, item ); | ||
1785 | }); | ||
1786 | }, | ||
1787 | |||
1788 | _suggest: function( items ) { | ||
1789 | var ul = this.menu.element.empty(); | ||
1790 | this._renderMenu( ul, items ); | ||
1791 | this.isNewMenu = true; | ||
1792 | this.menu.refresh(); | ||
1793 | |||
1794 | // size and position menu | ||
1795 | ul.show(); | ||
1796 | this._resizeMenu(); | ||
1797 | ul.position( $.extend({ | ||
1798 | of: this.element | ||
1799 | }, this.options.position )); | ||
1800 | |||
1801 | if ( this.options.autoFocus ) { | ||
1802 | this.menu.next(); | ||
1803 | } | ||
1804 | }, | ||
1805 | |||
1806 | _resizeMenu: function() { | ||
1807 | var ul = this.menu.element; | ||
1808 | ul.outerWidth( Math.max( | ||
1809 | // Firefox wraps long text (possibly a rounding bug) | ||
1810 | // so we add 1px to avoid the wrapping (#7513) | ||
1811 | ul.width( "" ).outerWidth() + 1, | ||
1812 | this.element.outerWidth() | ||
1813 | ) ); | ||
1814 | }, | ||
1815 | |||
1816 | _renderMenu: function( ul, items ) { | ||
1817 | var that = this; | ||
1818 | $.each( items, function( index, item ) { | ||
1819 | that._renderItemData( ul, item ); | ||
1820 | }); | ||
1821 | }, | ||
1822 | |||
1823 | _renderItemData: function( ul, item ) { | ||
1824 | return this._renderItem( ul, item ).data( "ui-autocomplete-item", item ); | ||
1825 | }, | ||
1826 | |||
1827 | _renderItem: function( ul, item ) { | ||
1828 | return $( "<li>" ) | ||
1829 | .append( $( "<a>" ).text( item.label ) ) | ||
1830 | .appendTo( ul ); | ||
1831 | }, | ||
1832 | |||
1833 | _move: function( direction, event ) { | ||
1834 | if ( !this.menu.element.is( ":visible" ) ) { | ||
1835 | this.search( null, event ); | ||
1836 | return; | ||
1837 | } | ||
1838 | if ( this.menu.isFirstItem() && /^previous/.test( direction ) || | ||
1839 | this.menu.isLastItem() && /^next/.test( direction ) ) { | ||
1840 | this._value( this.term ); | ||
1841 | this.menu.blur(); | ||
1842 | return; | ||
1843 | } | ||
1844 | this.menu[ direction ]( event ); | ||
1845 | }, | ||
1846 | |||
1847 | widget: function() { | ||
1848 | return this.menu.element; | ||
1849 | }, | ||
1850 | |||
1851 | _value: function() { | ||
1852 | return this.valueMethod.apply( this.element, arguments ); | ||
1853 | }, | ||
1854 | |||
1855 | _keyEvent: function( keyEvent, event ) { | ||
1856 | if ( !this.isMultiLine || this.menu.element.is( ":visible" ) ) { | ||
1857 | this._move( keyEvent, event ); | ||
1858 | |||
1859 | // prevents moving cursor to beginning/end of the text field in some browsers | ||
1860 | event.preventDefault(); | ||
1861 | } | ||
1862 | } | ||
1863 | }); | ||
1864 | |||
1865 | $.extend( $.ui.autocomplete, { | ||
1866 | escapeRegex: function( value ) { | ||
1867 | return value.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g, "\\$&"); | ||
1868 | }, | ||
1869 | filter: function(array, term) { | ||
1870 | var matcher = new RegExp( $.ui.autocomplete.escapeRegex(term), "i" ); | ||
1871 | return $.grep( array, function(value) { | ||
1872 | return matcher.test( value.label || value.value || value ); | ||
1873 | }); | ||
1874 | } | ||
1875 | }); | ||
1876 | |||
1877 | |||
1878 | // live region extension, adding a `messages` option | ||
1879 | // NOTE: This is an experimental API. We are still investigating | ||
1880 | // a full solution for string manipulation and internationalization. | ||
1881 | $.widget( "ui.autocomplete", $.ui.autocomplete, { | ||
1882 | options: { | ||
1883 | messages: { | ||
1884 | noResults: "No search results.", | ||
1885 | results: function( amount ) { | ||
1886 | return amount + ( amount > 1 ? " results are" : " result is" ) + | ||
1887 | " available, use up and down arrow keys to navigate."; | ||
1888 | } | ||
1889 | } | ||
1890 | }, | ||
1891 | |||
1892 | __response: function( content ) { | ||
1893 | var message; | ||
1894 | this._superApply( arguments ); | ||
1895 | if ( this.options.disabled || this.cancelSearch ) { | ||
1896 | return; | ||
1897 | } | ||
1898 | if ( content && content.length ) { | ||
1899 | message = this.options.messages.results( content.length ); | ||
1900 | } else { | ||
1901 | message = this.options.messages.noResults; | ||
1902 | } | ||
1903 | this.liveRegion.text( message ); | ||
1904 | } | ||
1905 | }); | ||
1906 | |||
1907 | }( jQuery )); | ||
1908 | (function( $, undefined ) { | ||
1909 | |||
1910 | $.widget( "ui.menu", { | ||
1911 | version: "1.10.4", | ||
1912 | defaultElement: "<ul>", | ||
1913 | delay: 300, | ||
1914 | options: { | ||
1915 | icons: { | ||
1916 | submenu: "ui-icon-carat-1-e" | ||
1917 | }, | ||
1918 | menus: "ul", | ||
1919 | position: { | ||
1920 | my: "left top", | ||
1921 | at: "right top" | ||
1922 | }, | ||
1923 | role: "menu", | ||
1924 | |||
1925 | // callbacks | ||
1926 | blur: null, | ||
1927 | focus: null, | ||
1928 | select: null | ||
1929 | }, | ||
1930 | |||
1931 | _create: function() { | ||
1932 | this.activeMenu = this.element; | ||
1933 | // flag used to prevent firing of the click handler | ||
1934 | // as the event bubbles up through nested menus | ||
1935 | this.mouseHandled = false; | ||
1936 | this.element | ||
1937 | .uniqueId() | ||
1938 | .addClass( "ui-menu ui-widget ui-widget-content ui-corner-all" ) | ||
1939 | .toggleClass( "ui-menu-icons", !!this.element.find( ".ui-icon" ).length ) | ||
1940 | .attr({ | ||
1941 | role: this.options.role, | ||
1942 | tabIndex: 0 | ||
1943 | }) | ||
1944 | // need to catch all clicks on disabled menu | ||
1945 | // not possible through _on | ||
1946 | .bind( "click" + this.eventNamespace, $.proxy(function( event ) { | ||
1947 | if ( this.options.disabled ) { | ||
1948 | event.preventDefault(); | ||
1949 | } | ||
1950 | }, this )); | ||
1951 | |||
1952 | if ( this.options.disabled ) { | ||
1953 | this.element | ||
1954 | .addClass( "ui-state-disabled" ) | ||
1955 | .attr( "aria-disabled", "true" ); | ||
1956 | } | ||
1957 | |||
1958 | this._on({ | ||
1959 | // Prevent focus from sticking to links inside menu after clicking | ||
1960 | // them (focus should always stay on UL during navigation). | ||
1961 | "mousedown .ui-menu-item > a": function( event ) { | ||
1962 | event.preventDefault(); | ||
1963 | }, | ||
1964 | "click .ui-state-disabled > a": function( event ) { | ||
1965 | event.preventDefault(); | ||
1966 | }, | ||
1967 | "click .ui-menu-item:has(a)": function( event ) { | ||
1968 | var target = $( event.target ).closest( ".ui-menu-item" ); | ||
1969 | if ( !this.mouseHandled && target.not( ".ui-state-disabled" ).length ) { | ||
1970 | this.select( event ); | ||
1971 | |||
1972 | // Only set the mouseHandled flag if the event will bubble, see #9469. | ||
1973 | if ( !event.isPropagationStopped() ) { | ||
1974 | this.mouseHandled = true; | ||
1975 | } | ||
1976 | |||
1977 | // Open submenu on click | ||
1978 | if ( target.has( ".ui-menu" ).length ) { | ||
1979 | this.expand( event ); | ||
1980 | } else if ( !this.element.is( ":focus" ) && $( this.document[ 0 ].activeElement ).closest( ".ui-menu" ).length ) { | ||
1981 | |||
1982 | // Redirect focus to the menu | ||
1983 | this.element.trigger( "focus", [ true ] ); | ||
1984 | |||
1985 | // If the active item is on the top level, let it stay active. | ||
1986 | // Otherwise, blur the active item since it is no longer visible. | ||
1987 | if ( this.active && this.active.parents( ".ui-menu" ).length === 1 ) { | ||
1988 | clearTimeout( this.timer ); | ||
1989 | } | ||
1990 | } | ||
1991 | } | ||
1992 | }, | ||
1993 | "mouseenter .ui-menu-item": function( event ) { | ||
1994 | var target = $( event.currentTarget ); | ||
1995 | // Remove ui-state-active class from siblings of the newly focused menu item | ||
1996 | // to avoid a jump caused by adjacent elements both having a class with a border | ||
1997 | target.siblings().children( ".ui-state-active" ).removeClass( "ui-state-active" ); | ||
1998 | this.focus( event, target ); | ||
1999 | }, | ||
2000 | mouseleave: "collapseAll", | ||
2001 | "mouseleave .ui-menu": "collapseAll", | ||
2002 | focus: function( event, keepActiveItem ) { | ||
2003 | // If there's already an active item, keep it active | ||
2004 | // If not, activate the first item | ||
2005 | var item = this.active || this.element.children( ".ui-menu-item" ).eq( 0 ); | ||
2006 | |||
2007 | if ( !keepActiveItem ) { | ||
2008 | this.focus( event, item ); | ||
2009 | } | ||
2010 | }, | ||
2011 | blur: function( event ) { | ||
2012 | this._delay(function() { | ||
2013 | if ( !$.contains( this.element[0], this.document[0].activeElement ) ) { | ||
2014 | this.collapseAll( event ); | ||
2015 | } | ||
2016 | }); | ||
2017 | }, | ||
2018 | keydown: "_keydown" | ||
2019 | }); | ||
2020 | |||
2021 | this.refresh(); | ||
2022 | |||
2023 | // Clicks outside of a menu collapse any open menus | ||
2024 | this._on( this.document, { | ||
2025 | click: function( event ) { | ||
2026 | if ( !$( event.target ).closest( ".ui-menu" ).length ) { | ||
2027 | this.collapseAll( event ); | ||
2028 | } | ||
2029 | |||
2030 | // Reset the mouseHandled flag | ||
2031 | this.mouseHandled = false; | ||
2032 | } | ||
2033 | }); | ||
2034 | }, | ||
2035 | |||
2036 | _destroy: function() { | ||
2037 | // Destroy (sub)menus | ||
2038 | this.element | ||
2039 | .removeAttr( "aria-activedescendant" ) | ||
2040 | .find( ".ui-menu" ).addBack() | ||
2041 | .removeClass( "ui-menu ui-widget ui-widget-content ui-corner-all ui-menu-icons" ) | ||
2042 | .removeAttr( "role" ) | ||
2043 | .removeAttr( "tabIndex" ) | ||
2044 | .removeAttr( "aria-labelledby" ) | ||
2045 | .removeAttr( "aria-expanded" ) | ||
2046 | .removeAttr( "aria-hidden" ) | ||
2047 | .removeAttr( "aria-disabled" ) | ||
2048 | .removeUniqueId() | ||
2049 | .show(); | ||
2050 | |||
2051 | // Destroy menu items | ||
2052 | this.element.find( ".ui-menu-item" ) | ||
2053 | .removeClass( "ui-menu-item" ) | ||
2054 | .removeAttr( "role" ) | ||
2055 | .removeAttr( "aria-disabled" ) | ||
2056 | .children( "a" ) | ||
2057 | .removeUniqueId() | ||
2058 | .removeClass( "ui-corner-all ui-state-hover" ) | ||
2059 | .removeAttr( "tabIndex" ) | ||
2060 | .removeAttr( "role" ) | ||
2061 | .removeAttr( "aria-haspopup" ) | ||
2062 | .children().each( function() { | ||
2063 | var elem = $( this ); | ||
2064 | if ( elem.data( "ui-menu-submenu-carat" ) ) { | ||
2065 | elem.remove(); | ||
2066 | } | ||
2067 | }); | ||
2068 | |||
2069 | // Destroy menu dividers | ||
2070 | this.element.find( ".ui-menu-divider" ).removeClass( "ui-menu-divider ui-widget-content" ); | ||
2071 | }, | ||
2072 | |||
2073 | _keydown: function( event ) { | ||
2074 | var match, prev, character, skip, regex, | ||
2075 | preventDefault = true; | ||
2076 | |||
2077 | function escape( value ) { | ||
2078 | return value.replace( /[\-\[\]{}()*+?.,\\\^$|#\s]/g, "\\$&" ); | ||
2079 | } | ||
2080 | |||
2081 | switch ( event.keyCode ) { | ||
2082 | case $.ui.keyCode.PAGE_UP: | ||
2083 | this.previousPage( event ); | ||
2084 | break; | ||
2085 | case $.ui.keyCode.PAGE_DOWN: | ||
2086 | this.nextPage( event ); | ||
2087 | break; | ||
2088 | case $.ui.keyCode.HOME: | ||
2089 | this._move( "first", "first", event ); | ||
2090 | break; | ||
2091 | case $.ui.keyCode.END: | ||
2092 | this._move( "last", "last", event ); | ||
2093 | break; | ||
2094 | case $.ui.keyCode.UP: | ||
2095 | this.previous( event ); | ||
2096 | break; | ||
2097 | case $.ui.keyCode.DOWN: | ||
2098 | this.next( event ); | ||
2099 | break; | ||
2100 | case $.ui.keyCode.LEFT: | ||
2101 | this.collapse( event ); | ||
2102 | break; | ||
2103 | case $.ui.keyCode.RIGHT: | ||
2104 | if ( this.active && !this.active.is( ".ui-state-disabled" ) ) { | ||
2105 | this.expand( event ); | ||
2106 | } | ||
2107 | break; | ||
2108 | case $.ui.keyCode.ENTER: | ||
2109 | case $.ui.keyCode.SPACE: | ||
2110 | this._activate( event ); | ||
2111 | break; | ||
2112 | case $.ui.keyCode.ESCAPE: | ||
2113 | this.collapse( event ); | ||
2114 | break; | ||
2115 | default: | ||
2116 | preventDefault = false; | ||
2117 | prev = this.previousFilter || ""; | ||
2118 | character = String.fromCharCode( event.keyCode ); | ||
2119 | skip = false; | ||
2120 | |||
2121 | clearTimeout( this.filterTimer ); | ||
2122 | |||
2123 | if ( character === prev ) { | ||
2124 | skip = true; | ||
2125 | } else { | ||
2126 | character = prev + character; | ||
2127 | } | ||
2128 | |||
2129 | regex = new RegExp( "^" + escape( character ), "i" ); | ||
2130 | match = this.activeMenu.children( ".ui-menu-item" ).filter(function() { | ||
2131 | return regex.test( $( this ).children( "a" ).text() ); | ||
2132 | }); | ||
2133 | match = skip && match.index( this.active.next() ) !== -1 ? | ||
2134 | this.active.nextAll( ".ui-menu-item" ) : | ||
2135 | match; | ||
2136 | |||
2137 | // If no matches on the current filter, reset to the last character pressed | ||
2138 | // to move down the menu to the first item that starts with that character | ||
2139 | if ( !match.length ) { | ||
2140 | character = String.fromCharCode( event.keyCode ); | ||
2141 | regex = new RegExp( "^" + escape( character ), "i" ); | ||
2142 | match = this.activeMenu.children( ".ui-menu-item" ).filter(function() { | ||
2143 | return regex.test( $( this ).children( "a" ).text() ); | ||
2144 | }); | ||
2145 | } | ||
2146 | |||
2147 | if ( match.length ) { | ||
2148 | this.focus( event, match ); | ||
2149 | if ( match.length > 1 ) { | ||
2150 | this.previousFilter = character; | ||
2151 | this.filterTimer = this._delay(function() { | ||
2152 | delete this.previousFilter; | ||
2153 | }, 1000 ); | ||
2154 | } else { | ||
2155 | delete this.previousFilter; | ||
2156 | } | ||
2157 | } else { | ||
2158 | delete this.previousFilter; | ||
2159 | } | ||
2160 | } | ||
2161 | |||
2162 | if ( preventDefault ) { | ||
2163 | event.preventDefault(); | ||
2164 | } | ||
2165 | }, | ||
2166 | |||
2167 | _activate: function( event ) { | ||
2168 | if ( !this.active.is( ".ui-state-disabled" ) ) { | ||
2169 | if ( this.active.children( "a[aria-haspopup='true']" ).length ) { | ||
2170 | this.expand( event ); | ||
2171 | } else { | ||
2172 | this.select( event ); | ||
2173 | } | ||
2174 | } | ||
2175 | }, | ||
2176 | |||
2177 | refresh: function() { | ||
2178 | var menus, | ||
2179 | icon = this.options.icons.submenu, | ||
2180 | submenus = this.element.find( this.options.menus ); | ||
2181 | |||
2182 | this.element.toggleClass( "ui-menu-icons", !!this.element.find( ".ui-icon" ).length ); | ||
2183 | |||
2184 | // Initialize nested menus | ||
2185 | submenus.filter( ":not(.ui-menu)" ) | ||
2186 | .addClass( "ui-menu ui-widget ui-widget-content ui-corner-all" ) | ||
2187 | .hide() | ||
2188 | .attr({ | ||
2189 | role: this.options.role, | ||
2190 | "aria-hidden": "true", | ||
2191 | "aria-expanded": "false" | ||
2192 | }) | ||
2193 | .each(function() { | ||
2194 | var menu = $( this ), | ||
2195 | item = menu.prev( "a" ), | ||
2196 | submenuCarat = $( "<span>" ) | ||
2197 | .addClass( "ui-menu-icon ui-icon " + icon ) | ||
2198 | .data( "ui-menu-submenu-carat", true ); | ||
2199 | |||
2200 | item | ||
2201 | .attr( "aria-haspopup", "true" ) | ||
2202 | .prepend( submenuCarat ); | ||
2203 | menu.attr( "aria-labelledby", item.attr( "id" ) ); | ||
2204 | }); | ||
2205 | |||
2206 | menus = submenus.add( this.element ); | ||
2207 | |||
2208 | // Don't refresh list items that are already adapted | ||
2209 | menus.children( ":not(.ui-menu-item):has(a)" ) | ||
2210 | .addClass( "ui-menu-item" ) | ||
2211 | .attr( "role", "presentation" ) | ||
2212 | .children( "a" ) | ||
2213 | .uniqueId() | ||
2214 | .addClass( "ui-corner-all" ) | ||
2215 | .attr({ | ||
2216 | tabIndex: -1, | ||
2217 | role: this._itemRole() | ||
2218 | }); | ||
2219 | |||
2220 | // Initialize unlinked menu-items containing spaces and/or dashes only as dividers | ||
2221 | menus.children( ":not(.ui-menu-item)" ).each(function() { | ||
2222 | var item = $( this ); | ||
2223 | // hyphen, em dash, en dash | ||
2224 | if ( !/[^\-\u2014\u2013\s]/.test( item.text() ) ) { | ||
2225 | item.addClass( "ui-widget-content ui-menu-divider" ); | ||
2226 | } | ||
2227 | }); | ||
2228 | |||
2229 | // Add aria-disabled attribute to any disabled menu item | ||
2230 | menus.children( ".ui-state-disabled" ).attr( "aria-disabled", "true" ); | ||
2231 | |||
2232 | // If the active item has been removed, blur the menu | ||
2233 | if ( this.active && !$.contains( this.element[ 0 ], this.active[ 0 ] ) ) { | ||
2234 | this.blur(); | ||
2235 | } | ||
2236 | }, | ||
2237 | |||
2238 | _itemRole: function() { | ||
2239 | return { | ||
2240 | menu: "menuitem", | ||
2241 | listbox: "option" | ||
2242 | }[ this.options.role ]; | ||
2243 | }, | ||
2244 | |||
2245 | _setOption: function( key, value ) { | ||
2246 | if ( key === "icons" ) { | ||
2247 | this.element.find( ".ui-menu-icon" ) | ||
2248 | .removeClass( this.options.icons.submenu ) | ||
2249 | .addClass( value.submenu ); | ||
2250 | } | ||
2251 | this._super( key, value ); | ||
2252 | }, | ||
2253 | |||
2254 | focus: function( event, item ) { | ||
2255 | var nested, focused; | ||
2256 | this.blur( event, event && event.type === "focus" ); | ||
2257 | |||
2258 | this._scrollIntoView( item ); | ||
2259 | |||
2260 | this.active = item.first(); | ||
2261 | focused = this.active.children( "a" ).addClass( "ui-state-focus" ); | ||
2262 | // Only update aria-activedescendant if there's a role | ||
2263 | // otherwise we assume focus is managed elsewhere | ||
2264 | if ( this.options.role ) { | ||
2265 | this.element.attr( "aria-activedescendant", focused.attr( "id" ) ); | ||
2266 | } | ||
2267 | |||
2268 | // Highlight active parent menu item, if any | ||
2269 | this.active | ||
2270 | .parent() | ||
2271 | .closest( ".ui-menu-item" ) | ||
2272 | .children( "a:first" ) | ||
2273 | .addClass( "ui-state-active" ); | ||
2274 | |||
2275 | if ( event && event.type === "keydown" ) { | ||
2276 | this._close(); | ||
2277 | } else { | ||
2278 | this.timer = this._delay(function() { | ||
2279 | this._close(); | ||
2280 | }, this.delay ); | ||
2281 | } | ||
2282 | |||
2283 | nested = item.children( ".ui-menu" ); | ||
2284 | if ( nested.length && event && ( /^mouse/.test( event.type ) ) ) { | ||
2285 | this._startOpening(nested); | ||
2286 | } | ||
2287 | this.activeMenu = item.parent(); | ||
2288 | |||
2289 | this._trigger( "focus", event, { item: item } ); | ||
2290 | }, | ||
2291 | |||
2292 | _scrollIntoView: function( item ) { | ||
2293 | var borderTop, paddingTop, offset, scroll, elementHeight, itemHeight; | ||
2294 | if ( this._hasScroll() ) { | ||
2295 | borderTop = parseFloat( $.css( this.activeMenu[0], "borderTopWidth" ) ) || 0; | ||
2296 | paddingTop = parseFloat( $.css( this.activeMenu[0], "paddingTop" ) ) || 0; | ||
2297 | offset = item.offset().top - this.activeMenu.offset().top - borderTop - paddingTop; | ||
2298 | scroll = this.activeMenu.scrollTop(); | ||
2299 | elementHeight = this.activeMenu.height(); | ||
2300 | itemHeight = item.height(); | ||
2301 | |||
2302 | if ( offset < 0 ) { | ||
2303 | this.activeMenu.scrollTop( scroll + offset ); | ||
2304 | } else if ( offset + itemHeight > elementHeight ) { | ||
2305 | this.activeMenu.scrollTop( scroll + offset - elementHeight + itemHeight ); | ||
2306 | } | ||
2307 | } | ||
2308 | }, | ||
2309 | |||
2310 | blur: function( event, fromFocus ) { | ||
2311 | if ( !fromFocus ) { | ||
2312 | clearTimeout( this.timer ); | ||
2313 | } | ||
2314 | |||
2315 | if ( !this.active ) { | ||
2316 | return; | ||
2317 | } | ||
2318 | |||
2319 | this.active.children( "a" ).removeClass( "ui-state-focus" ); | ||
2320 | this.active = null; | ||
2321 | |||
2322 | this._trigger( "blur", event, { item: this.active } ); | ||
2323 | }, | ||
2324 | |||
2325 | _startOpening: function( submenu ) { | ||
2326 | clearTimeout( this.timer ); | ||
2327 | |||
2328 | // Don't open if already open fixes a Firefox bug that caused a .5 pixel | ||
2329 | // shift in the submenu position when mousing over the carat icon | ||
2330 | if ( submenu.attr( "aria-hidden" ) !== "true" ) { | ||
2331 | return; | ||
2332 | } | ||
2333 | |||
2334 | this.timer = this._delay(function() { | ||
2335 | this._close(); | ||
2336 | this._open( submenu ); | ||
2337 | }, this.delay ); | ||
2338 | }, | ||
2339 | |||
2340 | _open: function( submenu ) { | ||
2341 | var position = $.extend({ | ||
2342 | of: this.active | ||
2343 | }, this.options.position ); | ||
2344 | |||
2345 | clearTimeout( this.timer ); | ||
2346 | this.element.find( ".ui-menu" ).not( submenu.parents( ".ui-menu" ) ) | ||
2347 | .hide() | ||
2348 | .attr( "aria-hidden", "true" ); | ||
2349 | |||
2350 | submenu | ||
2351 | .show() | ||
2352 | .removeAttr( "aria-hidden" ) | ||
2353 | .attr( "aria-expanded", "true" ) | ||
2354 | .position( position ); | ||
2355 | }, | ||
2356 | |||
2357 | collapseAll: function( event, all ) { | ||
2358 | clearTimeout( this.timer ); | ||
2359 | this.timer = this._delay(function() { | ||
2360 | // If we were passed an event, look for the submenu that contains the event | ||
2361 | var currentMenu = all ? this.element : | ||
2362 | $( event && event.target ).closest( this.element.find( ".ui-menu" ) ); | ||
2363 | |||
2364 | // If we found no valid submenu ancestor, use the main menu to close all sub menus anyway | ||
2365 | if ( !currentMenu.length ) { | ||
2366 | currentMenu = this.element; | ||
2367 | } | ||
2368 | |||
2369 | this._close( currentMenu ); | ||
2370 | |||
2371 | this.blur( event ); | ||
2372 | this.activeMenu = currentMenu; | ||
2373 | }, this.delay ); | ||
2374 | }, | ||
2375 | |||
2376 | // With no arguments, closes the currently active menu - if nothing is active | ||
2377 | // it closes all menus. If passed an argument, it will search for menus BELOW | ||
2378 | _close: function( startMenu ) { | ||
2379 | if ( !startMenu ) { | ||
2380 | startMenu = this.active ? this.active.parent() : this.element; | ||
2381 | } | ||
2382 | |||
2383 | startMenu | ||
2384 | .find( ".ui-menu" ) | ||
2385 | .hide() | ||
2386 | .attr( "aria-hidden", "true" ) | ||
2387 | .attr( "aria-expanded", "false" ) | ||
2388 | .end() | ||
2389 | .find( "a.ui-state-active" ) | ||
2390 | .removeClass( "ui-state-active" ); | ||
2391 | }, | ||
2392 | |||
2393 | collapse: function( event ) { | ||
2394 | var newItem = this.active && | ||
2395 | this.active.parent().closest( ".ui-menu-item", this.element ); | ||
2396 | if ( newItem && newItem.length ) { | ||
2397 | this._close(); | ||
2398 | this.focus( event, newItem ); | ||
2399 | } | ||
2400 | }, | ||
2401 | |||
2402 | expand: function( event ) { | ||
2403 | var newItem = this.active && | ||
2404 | this.active | ||
2405 | .children( ".ui-menu " ) | ||
2406 | .children( ".ui-menu-item" ) | ||
2407 | .first(); | ||
2408 | |||
2409 | if ( newItem && newItem.length ) { | ||
2410 | this._open( newItem.parent() ); | ||
2411 | |||
2412 | // Delay so Firefox will not hide activedescendant change in expanding submenu from AT | ||
2413 | this._delay(function() { | ||
2414 | this.focus( event, newItem ); | ||
2415 | }); | ||
2416 | } | ||
2417 | }, | ||
2418 | |||
2419 | next: function( event ) { | ||
2420 | this._move( "next", "first", event ); | ||
2421 | }, | ||
2422 | |||
2423 | previous: function( event ) { | ||
2424 | this._move( "prev", "last", event ); | ||
2425 | }, | ||
2426 | |||
2427 | isFirstItem: function() { | ||
2428 | return this.active && !this.active.prevAll( ".ui-menu-item" ).length; | ||
2429 | }, | ||
2430 | |||
2431 | isLastItem: function() { | ||
2432 | return this.active && !this.active.nextAll( ".ui-menu-item" ).length; | ||
2433 | }, | ||
2434 | |||
2435 | _move: function( direction, filter, event ) { | ||
2436 | var next; | ||
2437 | if ( this.active ) { | ||
2438 | if ( direction === "first" || direction === "last" ) { | ||
2439 | next = this.active | ||
2440 | [ direction === "first" ? "prevAll" : "nextAll" ]( ".ui-menu-item" ) | ||
2441 | .eq( -1 ); | ||
2442 | } else { | ||
2443 | next = this.active | ||
2444 | [ direction + "All" ]( ".ui-menu-item" ) | ||
2445 | .eq( 0 ); | ||
2446 | } | ||
2447 | } | ||
2448 | if ( !next || !next.length || !this.active ) { | ||
2449 | next = this.activeMenu.children( ".ui-menu-item" )[ filter ](); | ||
2450 | } | ||
2451 | |||
2452 | this.focus( event, next ); | ||
2453 | }, | ||
2454 | |||
2455 | nextPage: function( event ) { | ||
2456 | var item, base, height; | ||
2457 | |||
2458 | if ( !this.active ) { | ||
2459 | this.next( event ); | ||
2460 | return; | ||
2461 | } | ||
2462 | if ( this.isLastItem() ) { | ||
2463 | return; | ||
2464 | } | ||
2465 | if ( this._hasScroll() ) { | ||
2466 | base = this.active.offset().top; | ||
2467 | height = this.element.height(); | ||
2468 | this.active.nextAll( ".ui-menu-item" ).each(function() { | ||
2469 | item = $( this ); | ||
2470 | return item.offset().top - base - height < 0; | ||
2471 | }); | ||
2472 | |||
2473 | this.focus( event, item ); | ||
2474 | } else { | ||
2475 | this.focus( event, this.activeMenu.children( ".ui-menu-item" ) | ||
2476 | [ !this.active ? "first" : "last" ]() ); | ||
2477 | } | ||
2478 | }, | ||
2479 | |||
2480 | previousPage: function( event ) { | ||
2481 | var item, base, height; | ||
2482 | if ( !this.active ) { | ||
2483 | this.next( event ); | ||
2484 | return; | ||
2485 | } | ||
2486 | if ( this.isFirstItem() ) { | ||
2487 | return; | ||
2488 | } | ||
2489 | if ( this._hasScroll() ) { | ||
2490 | base = this.active.offset().top; | ||
2491 | height = this.element.height(); | ||
2492 | this.active.prevAll( ".ui-menu-item" ).each(function() { | ||
2493 | item = $( this ); | ||
2494 | return item.offset().top - base + height > 0; | ||
2495 | }); | ||
2496 | |||
2497 | this.focus( event, item ); | ||
2498 | } else { | ||
2499 | this.focus( event, this.activeMenu.children( ".ui-menu-item" ).first() ); | ||
2500 | } | ||
2501 | }, | ||
2502 | |||
2503 | _hasScroll: function() { | ||
2504 | return this.element.outerHeight() < this.element.prop( "scrollHeight" ); | ||
2505 | }, | ||
2506 | |||
2507 | select: function( event ) { | ||
2508 | // TODO: It should never be possible to not have an active item at this | ||
2509 | // point, but the tests don't trigger mouseenter before click. | ||
2510 | this.active = this.active || $( event.target ).closest( ".ui-menu-item" ); | ||
2511 | var ui = { item: this.active }; | ||
2512 | if ( !this.active.has( ".ui-menu" ).length ) { | ||
2513 | this.collapseAll( event, true ); | ||
2514 | } | ||
2515 | this._trigger( "select", event, ui ); | ||
2516 | } | ||
2517 | }); | ||
2518 | |||
2519 | }( jQuery )); | ||
diff --git a/themes/default/js/jquery-ui-1.10.4.custom.min.js b/themes/default/js/jquery-ui-1.10.4.custom.min.js deleted file mode 100644 index 31635026..00000000 --- a/themes/default/js/jquery-ui-1.10.4.custom.min.js +++ /dev/null | |||
@@ -1,6 +0,0 @@ | |||
1 | /*! jQuery UI - v1.10.4 - 2014-03-08 | ||
2 | * http://jqueryui.com | ||
3 | * Includes: jquery.ui.core.js, jquery.ui.widget.js, jquery.ui.position.js, jquery.ui.autocomplete.js, jquery.ui.menu.js | ||
4 | * Copyright 2014 jQuery Foundation and other contributors; Licensed MIT */ | ||
5 | |||
6 | (function(e,t){function i(t,i){var s,a,o,r=t.nodeName.toLowerCase();return"area"===r?(s=t.parentNode,a=s.name,t.href&&a&&"map"===s.nodeName.toLowerCase()?(o=e("img[usemap=#"+a+"]")[0],!!o&&n(o)):!1):(/input|select|textarea|button|object/.test(r)?!t.disabled:"a"===r?t.href||i:i)&&n(t)}function n(t){return e.expr.filters.visible(t)&&!e(t).parents().addBack().filter(function(){return"hidden"===e.css(this,"visibility")}).length}var s=0,a=/^ui-id-\d+$/;e.ui=e.ui||{},e.extend(e.ui,{version:"1.10.4",keyCode:{BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38}}),e.fn.extend({focus:function(t){return function(i,n){return"number"==typeof i?this.each(function(){var t=this;setTimeout(function(){e(t).focus(),n&&n.call(t)},i)}):t.apply(this,arguments)}}(e.fn.focus),scrollParent:function(){var t;return t=e.ui.ie&&/(static|relative)/.test(this.css("position"))||/absolute/.test(this.css("position"))?this.parents().filter(function(){return/(relative|absolute|fixed)/.test(e.css(this,"position"))&&/(auto|scroll)/.test(e.css(this,"overflow")+e.css(this,"overflow-y")+e.css(this,"overflow-x"))}).eq(0):this.parents().filter(function(){return/(auto|scroll)/.test(e.css(this,"overflow")+e.css(this,"overflow-y")+e.css(this,"overflow-x"))}).eq(0),/fixed/.test(this.css("position"))||!t.length?e(document):t},zIndex:function(i){if(i!==t)return this.css("zIndex",i);if(this.length)for(var n,s,a=e(this[0]);a.length&&a[0]!==document;){if(n=a.css("position"),("absolute"===n||"relative"===n||"fixed"===n)&&(s=parseInt(a.css("zIndex"),10),!isNaN(s)&&0!==s))return s;a=a.parent()}return 0},uniqueId:function(){return this.each(function(){this.id||(this.id="ui-id-"+ ++s)})},removeUniqueId:function(){return this.each(function(){a.test(this.id)&&e(this).removeAttr("id")})}}),e.extend(e.expr[":"],{data:e.expr.createPseudo?e.expr.createPseudo(function(t){return function(i){return!!e.data(i,t)}}):function(t,i,n){return!!e.data(t,n[3])},focusable:function(t){return i(t,!isNaN(e.attr(t,"tabindex")))},tabbable:function(t){var n=e.attr(t,"tabindex"),s=isNaN(n);return(s||n>=0)&&i(t,!s)}}),e("<a>").outerWidth(1).jquery||e.each(["Width","Height"],function(i,n){function s(t,i,n,s){return e.each(a,function(){i-=parseFloat(e.css(t,"padding"+this))||0,n&&(i-=parseFloat(e.css(t,"border"+this+"Width"))||0),s&&(i-=parseFloat(e.css(t,"margin"+this))||0)}),i}var a="Width"===n?["Left","Right"]:["Top","Bottom"],o=n.toLowerCase(),r={innerWidth:e.fn.innerWidth,innerHeight:e.fn.innerHeight,outerWidth:e.fn.outerWidth,outerHeight:e.fn.outerHeight};e.fn["inner"+n]=function(i){return i===t?r["inner"+n].call(this):this.each(function(){e(this).css(o,s(this,i)+"px")})},e.fn["outer"+n]=function(t,i){return"number"!=typeof t?r["outer"+n].call(this,t):this.each(function(){e(this).css(o,s(this,t,!0,i)+"px")})}}),e.fn.addBack||(e.fn.addBack=function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}),e("<a>").data("a-b","a").removeData("a-b").data("a-b")&&(e.fn.removeData=function(t){return function(i){return arguments.length?t.call(this,e.camelCase(i)):t.call(this)}}(e.fn.removeData)),e.ui.ie=!!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase()),e.support.selectstart="onselectstart"in document.createElement("div"),e.fn.extend({disableSelection:function(){return this.bind((e.support.selectstart?"selectstart":"mousedown")+".ui-disableSelection",function(e){e.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")}}),e.extend(e.ui,{plugin:{add:function(t,i,n){var s,a=e.ui[t].prototype;for(s in n)a.plugins[s]=a.plugins[s]||[],a.plugins[s].push([i,n[s]])},call:function(e,t,i){var n,s=e.plugins[t];if(s&&e.element[0].parentNode&&11!==e.element[0].parentNode.nodeType)for(n=0;s.length>n;n++)e.options[s[n][0]]&&s[n][1].apply(e.element,i)}},hasScroll:function(t,i){if("hidden"===e(t).css("overflow"))return!1;var n=i&&"left"===i?"scrollLeft":"scrollTop",s=!1;return t[n]>0?!0:(t[n]=1,s=t[n]>0,t[n]=0,s)}})})(jQuery);(function(t,e){var i=0,s=Array.prototype.slice,n=t.cleanData;t.cleanData=function(e){for(var i,s=0;null!=(i=e[s]);s++)try{t(i).triggerHandler("remove")}catch(o){}n(e)},t.widget=function(i,s,n){var o,a,r,h,l={},c=i.split(".")[0];i=i.split(".")[1],o=c+"-"+i,n||(n=s,s=t.Widget),t.expr[":"][o.toLowerCase()]=function(e){return!!t.data(e,o)},t[c]=t[c]||{},a=t[c][i],r=t[c][i]=function(t,i){return this._createWidget?(arguments.length&&this._createWidget(t,i),e):new r(t,i)},t.extend(r,a,{version:n.version,_proto:t.extend({},n),_childConstructors:[]}),h=new s,h.options=t.widget.extend({},h.options),t.each(n,function(i,n){return t.isFunction(n)?(l[i]=function(){var t=function(){return s.prototype[i].apply(this,arguments)},e=function(t){return s.prototype[i].apply(this,t)};return function(){var i,s=this._super,o=this._superApply;return this._super=t,this._superApply=e,i=n.apply(this,arguments),this._super=s,this._superApply=o,i}}(),e):(l[i]=n,e)}),r.prototype=t.widget.extend(h,{widgetEventPrefix:a?h.widgetEventPrefix||i:i},l,{constructor:r,namespace:c,widgetName:i,widgetFullName:o}),a?(t.each(a._childConstructors,function(e,i){var s=i.prototype;t.widget(s.namespace+"."+s.widgetName,r,i._proto)}),delete a._childConstructors):s._childConstructors.push(r),t.widget.bridge(i,r)},t.widget.extend=function(i){for(var n,o,a=s.call(arguments,1),r=0,h=a.length;h>r;r++)for(n in a[r])o=a[r][n],a[r].hasOwnProperty(n)&&o!==e&&(i[n]=t.isPlainObject(o)?t.isPlainObject(i[n])?t.widget.extend({},i[n],o):t.widget.extend({},o):o);return i},t.widget.bridge=function(i,n){var o=n.prototype.widgetFullName||i;t.fn[i]=function(a){var r="string"==typeof a,h=s.call(arguments,1),l=this;return a=!r&&h.length?t.widget.extend.apply(null,[a].concat(h)):a,r?this.each(function(){var s,n=t.data(this,o);return n?t.isFunction(n[a])&&"_"!==a.charAt(0)?(s=n[a].apply(n,h),s!==n&&s!==e?(l=s&&s.jquery?l.pushStack(s.get()):s,!1):e):t.error("no such method '"+a+"' for "+i+" widget instance"):t.error("cannot call methods on "+i+" prior to initialization; "+"attempted to call method '"+a+"'")}):this.each(function(){var e=t.data(this,o);e?e.option(a||{})._init():t.data(this,o,new n(a,this))}),l}},t.Widget=function(){},t.Widget._childConstructors=[],t.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"<div>",options:{disabled:!1,create:null},_createWidget:function(e,s){s=t(s||this.defaultElement||this)[0],this.element=t(s),this.uuid=i++,this.eventNamespace="."+this.widgetName+this.uuid,this.options=t.widget.extend({},this.options,this._getCreateOptions(),e),this.bindings=t(),this.hoverable=t(),this.focusable=t(),s!==this&&(t.data(s,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===s&&this.destroy()}}),this.document=t(s.style?s.ownerDocument:s.document||s),this.window=t(this.document[0].defaultView||this.document[0].parentWindow)),this._create(),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:t.noop,_getCreateEventData:t.noop,_create:t.noop,_init:t.noop,destroy:function(){this._destroy(),this.element.unbind(this.eventNamespace).removeData(this.widgetName).removeData(this.widgetFullName).removeData(t.camelCase(this.widgetFullName)),this.widget().unbind(this.eventNamespace).removeAttr("aria-disabled").removeClass(this.widgetFullName+"-disabled "+"ui-state-disabled"),this.bindings.unbind(this.eventNamespace),this.hoverable.removeClass("ui-state-hover"),this.focusable.removeClass("ui-state-focus")},_destroy:t.noop,widget:function(){return this.element},option:function(i,s){var n,o,a,r=i;if(0===arguments.length)return t.widget.extend({},this.options);if("string"==typeof i)if(r={},n=i.split("."),i=n.shift(),n.length){for(o=r[i]=t.widget.extend({},this.options[i]),a=0;n.length-1>a;a++)o[n[a]]=o[n[a]]||{},o=o[n[a]];if(i=n.pop(),1===arguments.length)return o[i]===e?null:o[i];o[i]=s}else{if(1===arguments.length)return this.options[i]===e?null:this.options[i];r[i]=s}return this._setOptions(r),this},_setOptions:function(t){var e;for(e in t)this._setOption(e,t[e]);return this},_setOption:function(t,e){return this.options[t]=e,"disabled"===t&&(this.widget().toggleClass(this.widgetFullName+"-disabled ui-state-disabled",!!e).attr("aria-disabled",e),this.hoverable.removeClass("ui-state-hover"),this.focusable.removeClass("ui-state-focus")),this},enable:function(){return this._setOption("disabled",!1)},disable:function(){return this._setOption("disabled",!0)},_on:function(i,s,n){var o,a=this;"boolean"!=typeof i&&(n=s,s=i,i=!1),n?(s=o=t(s),this.bindings=this.bindings.add(s)):(n=s,s=this.element,o=this.widget()),t.each(n,function(n,r){function h(){return i||a.options.disabled!==!0&&!t(this).hasClass("ui-state-disabled")?("string"==typeof r?a[r]:r).apply(a,arguments):e}"string"!=typeof r&&(h.guid=r.guid=r.guid||h.guid||t.guid++);var l=n.match(/^(\w+)\s*(.*)$/),c=l[1]+a.eventNamespace,u=l[2];u?o.delegate(u,c,h):s.bind(c,h)})},_off:function(t,e){e=(e||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,t.unbind(e).undelegate(e)},_delay:function(t,e){function i(){return("string"==typeof t?s[t]:t).apply(s,arguments)}var s=this;return setTimeout(i,e||0)},_hoverable:function(e){this.hoverable=this.hoverable.add(e),this._on(e,{mouseenter:function(e){t(e.currentTarget).addClass("ui-state-hover")},mouseleave:function(e){t(e.currentTarget).removeClass("ui-state-hover")}})},_focusable:function(e){this.focusable=this.focusable.add(e),this._on(e,{focusin:function(e){t(e.currentTarget).addClass("ui-state-focus")},focusout:function(e){t(e.currentTarget).removeClass("ui-state-focus")}})},_trigger:function(e,i,s){var n,o,a=this.options[e];if(s=s||{},i=t.Event(i),i.type=(e===this.widgetEventPrefix?e:this.widgetEventPrefix+e).toLowerCase(),i.target=this.element[0],o=i.originalEvent)for(n in o)n in i||(i[n]=o[n]);return this.element.trigger(i,s),!(t.isFunction(a)&&a.apply(this.element[0],[i].concat(s))===!1||i.isDefaultPrevented())}},t.each({show:"fadeIn",hide:"fadeOut"},function(e,i){t.Widget.prototype["_"+e]=function(s,n,o){"string"==typeof n&&(n={effect:n});var a,r=n?n===!0||"number"==typeof n?i:n.effect||i:e;n=n||{},"number"==typeof n&&(n={duration:n}),a=!t.isEmptyObject(n),n.complete=o,n.delay&&s.delay(n.delay),a&&t.effects&&t.effects.effect[r]?s[e](n):r!==e&&s[r]?s[r](n.duration,n.easing,o):s.queue(function(i){t(this)[e](),o&&o.call(s[0]),i()})}})})(jQuery);(function(t,e){function i(t,e,i){return[parseFloat(t[0])*(p.test(t[0])?e/100:1),parseFloat(t[1])*(p.test(t[1])?i/100:1)]}function s(e,i){return parseInt(t.css(e,i),10)||0}function n(e){var i=e[0];return 9===i.nodeType?{width:e.width(),height:e.height(),offset:{top:0,left:0}}:t.isWindow(i)?{width:e.width(),height:e.height(),offset:{top:e.scrollTop(),left:e.scrollLeft()}}:i.preventDefault?{width:0,height:0,offset:{top:i.pageY,left:i.pageX}}:{width:e.outerWidth(),height:e.outerHeight(),offset:e.offset()}}t.ui=t.ui||{};var a,o=Math.max,r=Math.abs,l=Math.round,h=/left|center|right/,c=/top|center|bottom/,u=/[\+\-]\d+(\.[\d]+)?%?/,d=/^\w+/,p=/%$/,f=t.fn.position;t.position={scrollbarWidth:function(){if(a!==e)return a;var i,s,n=t("<div style='display:block;position:absolute;width:50px;height:50px;overflow:hidden;'><div style='height:100px;width:auto;'></div></div>"),o=n.children()[0];return t("body").append(n),i=o.offsetWidth,n.css("overflow","scroll"),s=o.offsetWidth,i===s&&(s=n[0].clientWidth),n.remove(),a=i-s},getScrollInfo:function(e){var i=e.isWindow||e.isDocument?"":e.element.css("overflow-x"),s=e.isWindow||e.isDocument?"":e.element.css("overflow-y"),n="scroll"===i||"auto"===i&&e.width<e.element[0].scrollWidth,a="scroll"===s||"auto"===s&&e.height<e.element[0].scrollHeight;return{width:a?t.position.scrollbarWidth():0,height:n?t.position.scrollbarWidth():0}},getWithinInfo:function(e){var i=t(e||window),s=t.isWindow(i[0]),n=!!i[0]&&9===i[0].nodeType;return{element:i,isWindow:s,isDocument:n,offset:i.offset()||{left:0,top:0},scrollLeft:i.scrollLeft(),scrollTop:i.scrollTop(),width:s?i.width():i.outerWidth(),height:s?i.height():i.outerHeight()}}},t.fn.position=function(e){if(!e||!e.of)return f.apply(this,arguments);e=t.extend({},e);var a,p,g,m,v,_,b=t(e.of),y=t.position.getWithinInfo(e.within),k=t.position.getScrollInfo(y),w=(e.collision||"flip").split(" "),D={};return _=n(b),b[0].preventDefault&&(e.at="left top"),p=_.width,g=_.height,m=_.offset,v=t.extend({},m),t.each(["my","at"],function(){var t,i,s=(e[this]||"").split(" ");1===s.length&&(s=h.test(s[0])?s.concat(["center"]):c.test(s[0])?["center"].concat(s):["center","center"]),s[0]=h.test(s[0])?s[0]:"center",s[1]=c.test(s[1])?s[1]:"center",t=u.exec(s[0]),i=u.exec(s[1]),D[this]=[t?t[0]:0,i?i[0]:0],e[this]=[d.exec(s[0])[0],d.exec(s[1])[0]]}),1===w.length&&(w[1]=w[0]),"right"===e.at[0]?v.left+=p:"center"===e.at[0]&&(v.left+=p/2),"bottom"===e.at[1]?v.top+=g:"center"===e.at[1]&&(v.top+=g/2),a=i(D.at,p,g),v.left+=a[0],v.top+=a[1],this.each(function(){var n,h,c=t(this),u=c.outerWidth(),d=c.outerHeight(),f=s(this,"marginLeft"),_=s(this,"marginTop"),x=u+f+s(this,"marginRight")+k.width,C=d+_+s(this,"marginBottom")+k.height,M=t.extend({},v),T=i(D.my,c.outerWidth(),c.outerHeight());"right"===e.my[0]?M.left-=u:"center"===e.my[0]&&(M.left-=u/2),"bottom"===e.my[1]?M.top-=d:"center"===e.my[1]&&(M.top-=d/2),M.left+=T[0],M.top+=T[1],t.support.offsetFractions||(M.left=l(M.left),M.top=l(M.top)),n={marginLeft:f,marginTop:_},t.each(["left","top"],function(i,s){t.ui.position[w[i]]&&t.ui.position[w[i]][s](M,{targetWidth:p,targetHeight:g,elemWidth:u,elemHeight:d,collisionPosition:n,collisionWidth:x,collisionHeight:C,offset:[a[0]+T[0],a[1]+T[1]],my:e.my,at:e.at,within:y,elem:c})}),e.using&&(h=function(t){var i=m.left-M.left,s=i+p-u,n=m.top-M.top,a=n+g-d,l={target:{element:b,left:m.left,top:m.top,width:p,height:g},element:{element:c,left:M.left,top:M.top,width:u,height:d},horizontal:0>s?"left":i>0?"right":"center",vertical:0>a?"top":n>0?"bottom":"middle"};u>p&&p>r(i+s)&&(l.horizontal="center"),d>g&&g>r(n+a)&&(l.vertical="middle"),l.important=o(r(i),r(s))>o(r(n),r(a))?"horizontal":"vertical",e.using.call(this,t,l)}),c.offset(t.extend(M,{using:h}))})},t.ui.position={fit:{left:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollLeft:s.offset.left,a=s.width,r=t.left-e.collisionPosition.marginLeft,l=n-r,h=r+e.collisionWidth-a-n;e.collisionWidth>a?l>0&&0>=h?(i=t.left+l+e.collisionWidth-a-n,t.left+=l-i):t.left=h>0&&0>=l?n:l>h?n+a-e.collisionWidth:n:l>0?t.left+=l:h>0?t.left-=h:t.left=o(t.left-r,t.left)},top:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollTop:s.offset.top,a=e.within.height,r=t.top-e.collisionPosition.marginTop,l=n-r,h=r+e.collisionHeight-a-n;e.collisionHeight>a?l>0&&0>=h?(i=t.top+l+e.collisionHeight-a-n,t.top+=l-i):t.top=h>0&&0>=l?n:l>h?n+a-e.collisionHeight:n:l>0?t.top+=l:h>0?t.top-=h:t.top=o(t.top-r,t.top)}},flip:{left:function(t,e){var i,s,n=e.within,a=n.offset.left+n.scrollLeft,o=n.width,l=n.isWindow?n.scrollLeft:n.offset.left,h=t.left-e.collisionPosition.marginLeft,c=h-l,u=h+e.collisionWidth-o-l,d="left"===e.my[0]?-e.elemWidth:"right"===e.my[0]?e.elemWidth:0,p="left"===e.at[0]?e.targetWidth:"right"===e.at[0]?-e.targetWidth:0,f=-2*e.offset[0];0>c?(i=t.left+d+p+f+e.collisionWidth-o-a,(0>i||r(c)>i)&&(t.left+=d+p+f)):u>0&&(s=t.left-e.collisionPosition.marginLeft+d+p+f-l,(s>0||u>r(s))&&(t.left+=d+p+f))},top:function(t,e){var i,s,n=e.within,a=n.offset.top+n.scrollTop,o=n.height,l=n.isWindow?n.scrollTop:n.offset.top,h=t.top-e.collisionPosition.marginTop,c=h-l,u=h+e.collisionHeight-o-l,d="top"===e.my[1],p=d?-e.elemHeight:"bottom"===e.my[1]?e.elemHeight:0,f="top"===e.at[1]?e.targetHeight:"bottom"===e.at[1]?-e.targetHeight:0,g=-2*e.offset[1];0>c?(s=t.top+p+f+g+e.collisionHeight-o-a,t.top+p+f+g>c&&(0>s||r(c)>s)&&(t.top+=p+f+g)):u>0&&(i=t.top-e.collisionPosition.marginTop+p+f+g-l,t.top+p+f+g>u&&(i>0||u>r(i))&&(t.top+=p+f+g))}},flipfit:{left:function(){t.ui.position.flip.left.apply(this,arguments),t.ui.position.fit.left.apply(this,arguments)},top:function(){t.ui.position.flip.top.apply(this,arguments),t.ui.position.fit.top.apply(this,arguments)}}},function(){var e,i,s,n,a,o=document.getElementsByTagName("body")[0],r=document.createElement("div");e=document.createElement(o?"div":"body"),s={visibility:"hidden",width:0,height:0,border:0,margin:0,background:"none"},o&&t.extend(s,{position:"absolute",left:"-1000px",top:"-1000px"});for(a in s)e.style[a]=s[a];e.appendChild(r),i=o||document.documentElement,i.insertBefore(e,i.firstChild),r.style.cssText="position: absolute; left: 10.7432222px;",n=t(r).offset().left,t.support.offsetFractions=n>10&&11>n,e.innerHTML="",i.removeChild(e)}()})(jQuery);(function(e){e.widget("ui.autocomplete",{version:"1.10.4",defaultElement:"<input>",options:{appendTo:null,autoFocus:!1,delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:null,change:null,close:null,focus:null,open:null,response:null,search:null,select:null},requestIndex:0,pending:0,_create:function(){var t,i,s,n=this.element[0].nodeName.toLowerCase(),a="textarea"===n,o="input"===n;this.isMultiLine=a?!0:o?!1:this.element.prop("isContentEditable"),this.valueMethod=this.element[a||o?"val":"text"],this.isNewMenu=!0,this.element.addClass("ui-autocomplete-input").attr("autocomplete","off"),this._on(this.element,{keydown:function(n){if(this.element.prop("readOnly"))return t=!0,s=!0,i=!0,undefined;t=!1,s=!1,i=!1;var a=e.ui.keyCode;switch(n.keyCode){case a.PAGE_UP:t=!0,this._move("previousPage",n);break;case a.PAGE_DOWN:t=!0,this._move("nextPage",n);break;case a.UP:t=!0,this._keyEvent("previous",n);break;case a.DOWN:t=!0,this._keyEvent("next",n);break;case a.ENTER:case a.NUMPAD_ENTER:this.menu.active&&(t=!0,n.preventDefault(),this.menu.select(n));break;case a.TAB:this.menu.active&&this.menu.select(n);break;case a.ESCAPE:this.menu.element.is(":visible")&&(this._value(this.term),this.close(n),n.preventDefault());break;default:i=!0,this._searchTimeout(n)}},keypress:function(s){if(t)return t=!1,(!this.isMultiLine||this.menu.element.is(":visible"))&&s.preventDefault(),undefined;if(!i){var n=e.ui.keyCode;switch(s.keyCode){case n.PAGE_UP:this._move("previousPage",s);break;case n.PAGE_DOWN:this._move("nextPage",s);break;case n.UP:this._keyEvent("previous",s);break;case n.DOWN:this._keyEvent("next",s)}}},input:function(e){return s?(s=!1,e.preventDefault(),undefined):(this._searchTimeout(e),undefined)},focus:function(){this.selectedItem=null,this.previous=this._value()},blur:function(e){return this.cancelBlur?(delete this.cancelBlur,undefined):(clearTimeout(this.searching),this.close(e),this._change(e),undefined)}}),this._initSource(),this.menu=e("<ul>").addClass("ui-autocomplete ui-front").appendTo(this._appendTo()).menu({role:null}).hide().data("ui-menu"),this._on(this.menu.element,{mousedown:function(t){t.preventDefault(),this.cancelBlur=!0,this._delay(function(){delete this.cancelBlur});var i=this.menu.element[0];e(t.target).closest(".ui-menu-item").length||this._delay(function(){var t=this;this.document.one("mousedown",function(s){s.target===t.element[0]||s.target===i||e.contains(i,s.target)||t.close()})})},menufocus:function(t,i){if(this.isNewMenu&&(this.isNewMenu=!1,t.originalEvent&&/^mouse/.test(t.originalEvent.type)))return this.menu.blur(),this.document.one("mousemove",function(){e(t.target).trigger(t.originalEvent)}),undefined;var s=i.item.data("ui-autocomplete-item");!1!==this._trigger("focus",t,{item:s})?t.originalEvent&&/^key/.test(t.originalEvent.type)&&this._value(s.value):this.liveRegion.text(s.value)},menuselect:function(e,t){var i=t.item.data("ui-autocomplete-item"),s=this.previous;this.element[0]!==this.document[0].activeElement&&(this.element.focus(),this.previous=s,this._delay(function(){this.previous=s,this.selectedItem=i})),!1!==this._trigger("select",e,{item:i})&&this._value(i.value),this.term=this._value(),this.close(e),this.selectedItem=i}}),this.liveRegion=e("<span>",{role:"status","aria-live":"polite"}).addClass("ui-helper-hidden-accessible").insertBefore(this.element),this._on(this.window,{beforeunload:function(){this.element.removeAttr("autocomplete")}})},_destroy:function(){clearTimeout(this.searching),this.element.removeClass("ui-autocomplete-input").removeAttr("autocomplete"),this.menu.element.remove(),this.liveRegion.remove()},_setOption:function(e,t){this._super(e,t),"source"===e&&this._initSource(),"appendTo"===e&&this.menu.element.appendTo(this._appendTo()),"disabled"===e&&t&&this.xhr&&this.xhr.abort()},_appendTo:function(){var t=this.options.appendTo;return t&&(t=t.jquery||t.nodeType?e(t):this.document.find(t).eq(0)),t||(t=this.element.closest(".ui-front")),t.length||(t=this.document[0].body),t},_initSource:function(){var t,i,s=this;e.isArray(this.options.source)?(t=this.options.source,this.source=function(i,s){s(e.ui.autocomplete.filter(t,i.term))}):"string"==typeof this.options.source?(i=this.options.source,this.source=function(t,n){s.xhr&&s.xhr.abort(),s.xhr=e.ajax({url:i,data:t,dataType:"json",success:function(e){n(e)},error:function(){n([])}})}):this.source=this.options.source},_searchTimeout:function(e){clearTimeout(this.searching),this.searching=this._delay(function(){this.term!==this._value()&&(this.selectedItem=null,this.search(null,e))},this.options.delay)},search:function(e,t){return e=null!=e?e:this._value(),this.term=this._value(),e.length<this.options.minLength?this.close(t):this._trigger("search",t)!==!1?this._search(e):undefined},_search:function(e){this.pending++,this.element.addClass("ui-autocomplete-loading"),this.cancelSearch=!1,this.source({term:e},this._response())},_response:function(){var t=++this.requestIndex;return e.proxy(function(e){t===this.requestIndex&&this.__response(e),this.pending--,this.pending||this.element.removeClass("ui-autocomplete-loading")},this)},__response:function(e){e&&(e=this._normalize(e)),this._trigger("response",null,{content:e}),!this.options.disabled&&e&&e.length&&!this.cancelSearch?(this._suggest(e),this._trigger("open")):this._close()},close:function(e){this.cancelSearch=!0,this._close(e)},_close:function(e){this.menu.element.is(":visible")&&(this.menu.element.hide(),this.menu.blur(),this.isNewMenu=!0,this._trigger("close",e))},_change:function(e){this.previous!==this._value()&&this._trigger("change",e,{item:this.selectedItem})},_normalize:function(t){return t.length&&t[0].label&&t[0].value?t:e.map(t,function(t){return"string"==typeof t?{label:t,value:t}:e.extend({label:t.label||t.value,value:t.value||t.label},t)})},_suggest:function(t){var i=this.menu.element.empty();this._renderMenu(i,t),this.isNewMenu=!0,this.menu.refresh(),i.show(),this._resizeMenu(),i.position(e.extend({of:this.element},this.options.position)),this.options.autoFocus&&this.menu.next()},_resizeMenu:function(){var e=this.menu.element;e.outerWidth(Math.max(e.width("").outerWidth()+1,this.element.outerWidth()))},_renderMenu:function(t,i){var s=this;e.each(i,function(e,i){s._renderItemData(t,i)})},_renderItemData:function(e,t){return this._renderItem(e,t).data("ui-autocomplete-item",t)},_renderItem:function(t,i){return e("<li>").append(e("<a>").text(i.label)).appendTo(t)},_move:function(e,t){return this.menu.element.is(":visible")?this.menu.isFirstItem()&&/^previous/.test(e)||this.menu.isLastItem()&&/^next/.test(e)?(this._value(this.term),this.menu.blur(),undefined):(this.menu[e](t),undefined):(this.search(null,t),undefined)},widget:function(){return this.menu.element},_value:function(){return this.valueMethod.apply(this.element,arguments)},_keyEvent:function(e,t){(!this.isMultiLine||this.menu.element.is(":visible"))&&(this._move(e,t),t.preventDefault())}}),e.extend(e.ui.autocomplete,{escapeRegex:function(e){return e.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")},filter:function(t,i){var s=RegExp(e.ui.autocomplete.escapeRegex(i),"i");return e.grep(t,function(e){return s.test(e.label||e.value||e)})}}),e.widget("ui.autocomplete",e.ui.autocomplete,{options:{messages:{noResults:"No search results.",results:function(e){return e+(e>1?" results are":" result is")+" available, use up and down arrow keys to navigate."}}},__response:function(e){var t;this._superApply(arguments),this.options.disabled||this.cancelSearch||(t=e&&e.length?this.options.messages.results(e.length):this.options.messages.noResults,this.liveRegion.text(t))}})})(jQuery);(function(t){t.widget("ui.menu",{version:"1.10.4",defaultElement:"<ul>",delay:300,options:{icons:{submenu:"ui-icon-carat-1-e"},menus:"ul",position:{my:"left top",at:"right top"},role:"menu",blur:null,focus:null,select:null},_create:function(){this.activeMenu=this.element,this.mouseHandled=!1,this.element.uniqueId().addClass("ui-menu ui-widget ui-widget-content ui-corner-all").toggleClass("ui-menu-icons",!!this.element.find(".ui-icon").length).attr({role:this.options.role,tabIndex:0}).bind("click"+this.eventNamespace,t.proxy(function(t){this.options.disabled&&t.preventDefault()},this)),this.options.disabled&&this.element.addClass("ui-state-disabled").attr("aria-disabled","true"),this._on({"mousedown .ui-menu-item > a":function(t){t.preventDefault()},"click .ui-state-disabled > a":function(t){t.preventDefault()},"click .ui-menu-item:has(a)":function(e){var i=t(e.target).closest(".ui-menu-item");!this.mouseHandled&&i.not(".ui-state-disabled").length&&(this.select(e),e.isPropagationStopped()||(this.mouseHandled=!0),i.has(".ui-menu").length?this.expand(e):!this.element.is(":focus")&&t(this.document[0].activeElement).closest(".ui-menu").length&&(this.element.trigger("focus",[!0]),this.active&&1===this.active.parents(".ui-menu").length&&clearTimeout(this.timer)))},"mouseenter .ui-menu-item":function(e){var i=t(e.currentTarget);i.siblings().children(".ui-state-active").removeClass("ui-state-active"),this.focus(e,i)},mouseleave:"collapseAll","mouseleave .ui-menu":"collapseAll",focus:function(t,e){var i=this.active||this.element.children(".ui-menu-item").eq(0);e||this.focus(t,i)},blur:function(e){this._delay(function(){t.contains(this.element[0],this.document[0].activeElement)||this.collapseAll(e)})},keydown:"_keydown"}),this.refresh(),this._on(this.document,{click:function(e){t(e.target).closest(".ui-menu").length||this.collapseAll(e),this.mouseHandled=!1}})},_destroy:function(){this.element.removeAttr("aria-activedescendant").find(".ui-menu").addBack().removeClass("ui-menu ui-widget ui-widget-content ui-corner-all ui-menu-icons").removeAttr("role").removeAttr("tabIndex").removeAttr("aria-labelledby").removeAttr("aria-expanded").removeAttr("aria-hidden").removeAttr("aria-disabled").removeUniqueId().show(),this.element.find(".ui-menu-item").removeClass("ui-menu-item").removeAttr("role").removeAttr("aria-disabled").children("a").removeUniqueId().removeClass("ui-corner-all ui-state-hover").removeAttr("tabIndex").removeAttr("role").removeAttr("aria-haspopup").children().each(function(){var e=t(this);e.data("ui-menu-submenu-carat")&&e.remove()}),this.element.find(".ui-menu-divider").removeClass("ui-menu-divider ui-widget-content")},_keydown:function(e){function i(t){return t.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")}var s,n,a,o,r,l=!0;switch(e.keyCode){case t.ui.keyCode.PAGE_UP:this.previousPage(e);break;case t.ui.keyCode.PAGE_DOWN:this.nextPage(e);break;case t.ui.keyCode.HOME:this._move("first","first",e);break;case t.ui.keyCode.END:this._move("last","last",e);break;case t.ui.keyCode.UP:this.previous(e);break;case t.ui.keyCode.DOWN:this.next(e);break;case t.ui.keyCode.LEFT:this.collapse(e);break;case t.ui.keyCode.RIGHT:this.active&&!this.active.is(".ui-state-disabled")&&this.expand(e);break;case t.ui.keyCode.ENTER:case t.ui.keyCode.SPACE:this._activate(e);break;case t.ui.keyCode.ESCAPE:this.collapse(e);break;default:l=!1,n=this.previousFilter||"",a=String.fromCharCode(e.keyCode),o=!1,clearTimeout(this.filterTimer),a===n?o=!0:a=n+a,r=RegExp("^"+i(a),"i"),s=this.activeMenu.children(".ui-menu-item").filter(function(){return r.test(t(this).children("a").text())}),s=o&&-1!==s.index(this.active.next())?this.active.nextAll(".ui-menu-item"):s,s.length||(a=String.fromCharCode(e.keyCode),r=RegExp("^"+i(a),"i"),s=this.activeMenu.children(".ui-menu-item").filter(function(){return r.test(t(this).children("a").text())})),s.length?(this.focus(e,s),s.length>1?(this.previousFilter=a,this.filterTimer=this._delay(function(){delete this.previousFilter},1e3)):delete this.previousFilter):delete this.previousFilter}l&&e.preventDefault()},_activate:function(t){this.active.is(".ui-state-disabled")||(this.active.children("a[aria-haspopup='true']").length?this.expand(t):this.select(t))},refresh:function(){var e,i=this.options.icons.submenu,s=this.element.find(this.options.menus);this.element.toggleClass("ui-menu-icons",!!this.element.find(".ui-icon").length),s.filter(":not(.ui-menu)").addClass("ui-menu ui-widget ui-widget-content ui-corner-all").hide().attr({role:this.options.role,"aria-hidden":"true","aria-expanded":"false"}).each(function(){var e=t(this),s=e.prev("a"),n=t("<span>").addClass("ui-menu-icon ui-icon "+i).data("ui-menu-submenu-carat",!0);s.attr("aria-haspopup","true").prepend(n),e.attr("aria-labelledby",s.attr("id"))}),e=s.add(this.element),e.children(":not(.ui-menu-item):has(a)").addClass("ui-menu-item").attr("role","presentation").children("a").uniqueId().addClass("ui-corner-all").attr({tabIndex:-1,role:this._itemRole()}),e.children(":not(.ui-menu-item)").each(function(){var e=t(this);/[^\-\u2014\u2013\s]/.test(e.text())||e.addClass("ui-widget-content ui-menu-divider")}),e.children(".ui-state-disabled").attr("aria-disabled","true"),this.active&&!t.contains(this.element[0],this.active[0])&&this.blur()},_itemRole:function(){return{menu:"menuitem",listbox:"option"}[this.options.role]},_setOption:function(t,e){"icons"===t&&this.element.find(".ui-menu-icon").removeClass(this.options.icons.submenu).addClass(e.submenu),this._super(t,e)},focus:function(t,e){var i,s;this.blur(t,t&&"focus"===t.type),this._scrollIntoView(e),this.active=e.first(),s=this.active.children("a").addClass("ui-state-focus"),this.options.role&&this.element.attr("aria-activedescendant",s.attr("id")),this.active.parent().closest(".ui-menu-item").children("a:first").addClass("ui-state-active"),t&&"keydown"===t.type?this._close():this.timer=this._delay(function(){this._close()},this.delay),i=e.children(".ui-menu"),i.length&&t&&/^mouse/.test(t.type)&&this._startOpening(i),this.activeMenu=e.parent(),this._trigger("focus",t,{item:e})},_scrollIntoView:function(e){var i,s,n,a,o,r;this._hasScroll()&&(i=parseFloat(t.css(this.activeMenu[0],"borderTopWidth"))||0,s=parseFloat(t.css(this.activeMenu[0],"paddingTop"))||0,n=e.offset().top-this.activeMenu.offset().top-i-s,a=this.activeMenu.scrollTop(),o=this.activeMenu.height(),r=e.height(),0>n?this.activeMenu.scrollTop(a+n):n+r>o&&this.activeMenu.scrollTop(a+n-o+r))},blur:function(t,e){e||clearTimeout(this.timer),this.active&&(this.active.children("a").removeClass("ui-state-focus"),this.active=null,this._trigger("blur",t,{item:this.active}))},_startOpening:function(t){clearTimeout(this.timer),"true"===t.attr("aria-hidden")&&(this.timer=this._delay(function(){this._close(),this._open(t)},this.delay))},_open:function(e){var i=t.extend({of:this.active},this.options.position);clearTimeout(this.timer),this.element.find(".ui-menu").not(e.parents(".ui-menu")).hide().attr("aria-hidden","true"),e.show().removeAttr("aria-hidden").attr("aria-expanded","true").position(i)},collapseAll:function(e,i){clearTimeout(this.timer),this.timer=this._delay(function(){var s=i?this.element:t(e&&e.target).closest(this.element.find(".ui-menu"));s.length||(s=this.element),this._close(s),this.blur(e),this.activeMenu=s},this.delay)},_close:function(t){t||(t=this.active?this.active.parent():this.element),t.find(".ui-menu").hide().attr("aria-hidden","true").attr("aria-expanded","false").end().find("a.ui-state-active").removeClass("ui-state-active")},collapse:function(t){var e=this.active&&this.active.parent().closest(".ui-menu-item",this.element);e&&e.length&&(this._close(),this.focus(t,e))},expand:function(t){var e=this.active&&this.active.children(".ui-menu ").children(".ui-menu-item").first();e&&e.length&&(this._open(e.parent()),this._delay(function(){this.focus(t,e)}))},next:function(t){this._move("next","first",t)},previous:function(t){this._move("prev","last",t)},isFirstItem:function(){return this.active&&!this.active.prevAll(".ui-menu-item").length},isLastItem:function(){return this.active&&!this.active.nextAll(".ui-menu-item").length},_move:function(t,e,i){var s;this.active&&(s="first"===t||"last"===t?this.active["first"===t?"prevAll":"nextAll"](".ui-menu-item").eq(-1):this.active[t+"All"](".ui-menu-item").eq(0)),s&&s.length&&this.active||(s=this.activeMenu.children(".ui-menu-item")[e]()),this.focus(i,s)},nextPage:function(e){var i,s,n;return this.active?(this.isLastItem()||(this._hasScroll()?(s=this.active.offset().top,n=this.element.height(),this.active.nextAll(".ui-menu-item").each(function(){return i=t(this),0>i.offset().top-s-n}),this.focus(e,i)):this.focus(e,this.activeMenu.children(".ui-menu-item")[this.active?"last":"first"]())),undefined):(this.next(e),undefined)},previousPage:function(e){var i,s,n;return this.active?(this.isFirstItem()||(this._hasScroll()?(s=this.active.offset().top,n=this.element.height(),this.active.prevAll(".ui-menu-item").each(function(){return i=t(this),i.offset().top-s+n>0}),this.focus(e,i)):this.focus(e,this.activeMenu.children(".ui-menu-item").first())),undefined):(this.next(e),undefined)},_hasScroll:function(){return this.element.outerHeight()<this.element.prop("scrollHeight")},select:function(e){this.active=this.active||t(e.target).closest(".ui-menu-item");var i={item:this.active};this.active.has(".ui-menu").length||this.collapseAll(e,!0),this._trigger("select",e,i)}})})(jQuery); \ No newline at end of file | ||
diff --git a/themes/default/js/popupForm.js b/themes/default/js/popupForm.js deleted file mode 100644 index 06be3f0c..00000000 --- a/themes/default/js/popupForm.js +++ /dev/null | |||
@@ -1,20 +0,0 @@ | |||
1 | $(document).ready(function() { | ||
2 | |||
3 | $("#search-form").hide(); | ||
4 | |||
5 | function closeSearch() { | ||
6 | $("#search-form").toggle(); | ||
7 | $("#search").toggleClass("current"); | ||
8 | $("#search-arrow").toggleClass("arrow-down"); | ||
9 | } | ||
10 | |||
11 | $("#search").click(function(){ | ||
12 | closeSearch(); | ||
13 | }); | ||
14 | |||
15 | $("#search-form-close").click(function(){ | ||
16 | closeSearch(); | ||
17 | }); | ||
18 | |||
19 | |||
20 | }); \ No newline at end of file | ||
diff --git a/themes/default/js/restoreScroll.js b/themes/default/js/restoreScroll.js deleted file mode 100644 index 331c9e19..00000000 --- a/themes/default/js/restoreScroll.js +++ /dev/null | |||
@@ -1,25 +0,0 @@ | |||
1 | function supportsLocalStorage() { | ||
2 | try { | ||
3 | return 'localStorage' in window && window['localStorage'] !== null; | ||
4 | } catch (e) { | ||
5 | return false; | ||
6 | } | ||
7 | } | ||
8 | |||
9 | function savePercent(id, percent) { | ||
10 | if (!supportsLocalStorage()) { return false; } | ||
11 | localStorage["poche.article." + id + ".percent"] = percent; | ||
12 | return true; | ||
13 | } | ||
14 | |||
15 | function retrievePercent(id) { | ||
16 | if (!supportsLocalStorage()) { return false; } | ||
17 | |||
18 | var bheight = $(document).height(); | ||
19 | var percent = localStorage["poche.article." + id + ".percent"]; | ||
20 | var scroll = bheight * percent; | ||
21 | |||
22 | $('html,body').animate({scrollTop: scroll}, 'fast'); | ||
23 | |||
24 | return true; | ||
25 | } \ No newline at end of file | ||
diff --git a/themes/default/js/saveLink.js b/themes/default/js/saveLink.js deleted file mode 100755 index 6dbce97e..00000000 --- a/themes/default/js/saveLink.js +++ /dev/null | |||
@@ -1,101 +0,0 @@ | |||
1 | $.fn.ready(function() { | ||
2 | |||
3 | var $bagit = $('#bagit'), | ||
4 | $bagitForm = $('#bagit-form'), | ||
5 | $bagitFormForm = $('#bagit-form-form'); | ||
6 | |||
7 | /* ========================================================================== | ||
8 | bag it link and close button | ||
9 | ========================================================================== */ | ||
10 | |||
11 | function toggleSaveLinkForm(url, event) { | ||
12 | $("#add-link-result").empty(); | ||
13 | |||
14 | $bagit.toggleClass("active-current"); | ||
15 | |||
16 | //only if bagiti link is not presented on page | ||
17 | if ( $bagit.length === 0 ) { | ||
18 | if ( event !== 'undefined' && event ) { | ||
19 | $bagitForm.css( {position:"absolute", top:event.pageY, left:event.pageX-200}); | ||
20 | } | ||
21 | else { | ||
22 | $bagitForm.css( {position:"relative", top:"auto", left:"auto"}); | ||
23 | } | ||
24 | } | ||
25 | |||
26 | $bagitForm.toggle(); | ||
27 | $('#content').toggleClass("opacity03"); | ||
28 | if (url !== 'undefined' && url) { | ||
29 | $('#plainurl').val(url); | ||
30 | } | ||
31 | $('#plainurl').focus(); | ||
32 | } | ||
33 | |||
34 | |||
35 | $bagit.click(function(){ | ||
36 | $bagit.toggleClass("current"); | ||
37 | $("#bagit-arrow").toggleClass("arrow-down"); | ||
38 | toggleSaveLinkForm(); | ||
39 | }); | ||
40 | |||
41 | $("#bagit-form-close").click(function(){ | ||
42 | $bagit.removeClass("current"); | ||
43 | $("#bagit-arrow").removeClass("arrow-down"); | ||
44 | toggleSaveLinkForm(); | ||
45 | }); | ||
46 | |||
47 | |||
48 | //send "bag it link" form request via ajax | ||
49 | $bagitFormForm.submit( function(event) { | ||
50 | $("body").css("cursor", "wait"); | ||
51 | $("#add-link-result").empty(); | ||
52 | |||
53 | $.ajax({ | ||
54 | type: $bagitFormForm.attr('method'), | ||
55 | url: $bagitFormForm.attr('action'), | ||
56 | data: $bagitFormForm.serialize(), | ||
57 | success: function(data) { | ||
58 | $('#add-link-result').html("Done!"); | ||
59 | $('#plainurl').val(''); | ||
60 | $('#plainurl').blur(''); | ||
61 | $("body").css("cursor", "auto"); | ||
62 | //setTimeout( function() { toggleSaveLinkForm(); }, 1000); //close form after 1000 delay | ||
63 | }, | ||
64 | error: function(data) { | ||
65 | $('#add-link-result').html("Failed!"); | ||
66 | $("body").css("cursor", "auto"); | ||
67 | } | ||
68 | }); | ||
69 | |||
70 | event.preventDefault(); | ||
71 | }); | ||
72 | |||
73 | /* ========================================================================== | ||
74 | Keyboard gestion | ||
75 | ========================================================================== */ | ||
76 | |||
77 | $(window).keydown(function(e){ | ||
78 | if ( ( e.target.tagName.toLowerCase() !== 'input' && e.keyCode == 83 ) || (e.keyCode == 27 && $bagitForm.is(':visible') ) ) { | ||
79 | $bagit.removeClass("current"); | ||
80 | $("#bagit-arrow").removeClass("arrow-down"); | ||
81 | toggleSaveLinkForm(); | ||
82 | return false; | ||
83 | } | ||
84 | }); | ||
85 | |||
86 | /* ========================================================================== | ||
87 | Process all links inside an article | ||
88 | ========================================================================== */ | ||
89 | |||
90 | $("article a[href^='http']").after(function() { | ||
91 | return " <a href=\"" + $(this).attr('href') + "\" class=\"add-to-wallabag-link-after\" alt=\"add to wallabag\" title=\"add to wallabag\"></a> "; | ||
92 | }); | ||
93 | |||
94 | $(".add-to-wallabag-link-after").click(function(event){ | ||
95 | toggleSaveLinkForm($(this).attr('href'), event); | ||
96 | event.preventDefault(); | ||
97 | }); | ||
98 | |||
99 | }); | ||
100 | |||
101 | |||
diff --git a/themes/default/view.twig b/themes/default/view.twig index 90b11839..181e1284 100755 --- a/themes/default/view.twig +++ b/themes/default/view.twig | |||
@@ -1,6 +1,7 @@ | |||
1 | {% extends "layout.twig" %} | 1 | {% extends "layout.twig" %} |
2 | {% block title %}{{ entry.title|raw }} ({{ entry.url | e | getDomain }}){% endblock %} | 2 | {% block title %}{{ entry.title|raw }} ({{ entry.url | e | getDomain }}){% endblock %} |
3 | {% block content %} | 3 | {% block content %} |
4 | {% include '_highlight.twig' %} | ||
4 | {% include '_pocheit-form.twig' %} | 5 | {% include '_pocheit-form.twig' %} |
5 | <div id="article_toolbar"> | 6 | <div id="article_toolbar"> |
6 | <ul> | 7 | <ul> |
@@ -13,7 +14,9 @@ | |||
13 | {% if constant('SHARE_TWITTER') == 1 %}<li><a href="https://twitter.com/home?status={{entry.title|url_encode}}%20{{ entry.url|url_encode }}%20via%20@wallabagapp" target="_blank" class="tool twitter" title="{% trans "Tweet" %}"><span>{% trans "Tweet" %}</span></a></li>{% endif %} | 14 | {% if constant('SHARE_TWITTER') == 1 %}<li><a href="https://twitter.com/home?status={{entry.title|url_encode}}%20{{ entry.url|url_encode }}%20via%20@wallabagapp" target="_blank" class="tool twitter" title="{% trans "Tweet" %}"><span>{% trans "Tweet" %}</span></a></li>{% endif %} |
14 | {% if constant('SHARE_MAIL') == 1 %}<li><a href="mailto:?subject={{ entry.title|url_encode }}&body={{ entry.url|url_encode }}%20via%20@wallabagapp" class="tool email" title="{% trans "Email" %}"><span>{% trans "Email" %}</span></a></li>{% endif %} | 15 | {% if constant('SHARE_MAIL') == 1 %}<li><a href="mailto:?subject={{ entry.title|url_encode }}&body={{ entry.url|url_encode }}%20via%20@wallabagapp" class="tool email" title="{% trans "Email" %}"><span>{% trans "Email" %}</span></a></li>{% endif %} |
15 | {% if constant('SHARE_SHAARLI') == 1 %}<li><a href="{{ constant('SHAARLI_URL') }}/index.php?post={{ entry.url|url_encode }}&title={{ entry.title|url_encode }}" target="_blank" class="tool shaarli" title="{% trans "shaarli" %}"><span>{% trans "shaarli" %}</span></a></li>{% endif %} | 16 | {% if constant('SHARE_SHAARLI') == 1 %}<li><a href="{{ constant('SHAARLI_URL') }}/index.php?post={{ entry.url|url_encode }}&title={{ entry.title|url_encode }}" target="_blank" class="tool shaarli" title="{% trans "shaarli" %}"><span>{% trans "shaarli" %}</span></a></li>{% endif %} |
16 | {% if constant('FLATTR') == 1 %}{% if flattr.status == constant('FLATTRABLE') %}<li><a href="http://flattr.com/submit/auto?url={{ entry.url }}" class="tool flattr" target="_blank" title="{% trans "flattr" %}"><span>{% trans "flattr" %}</span></a></li>{% elseif flattr.status == constant('FLATTRED') %}<li><a href="{{ flattr.flattrItemURL }}" class="tool flattr" target="_blank" title="{% trans "flattr" %}"><span>{% trans "flattr" %}</span>{{ flattr.numflattrs }}</a></li>{% endif %}{% endif %} | 17 | {% if constant('SHARE_DIASPORA') == 1 %}<li><a href="{{ constant('DIASPORA_URL') }}/bookmarklet?url={{ entry.url|url_encode }}&title={{ entry.title|url_encode }}¬es=&v=1&noui=1&jump=doclose" target="_blank" class="tool diaspora" title="{% trans "diaspora" %}"><span>{% trans "diaspora" %}</span></a></li>{% endif %} |
18 | {% if constant('FLATTR') == 1 %}{% if flattr.status == constant('FLATTRABLE') %}<li><a href="http://flattr.com/submit/auto?url={{ entry.url }}" class="tool flattr" target="_blank" title="{% trans "flattr" %}"><span>{% trans "flattr" %}</span></a></li>{% elseif flattr.status == constant('FLATTRED') %}<li><a href="{{ flattr.flattrItemURL }}" class="tool flattr" target="_blank" title="{% trans "flattr" %}"><span>{% trans "flattr" %}</span>{{ flattr.numFlattrs }}</a></li>{% endif %}{% endif %} | ||
19 | {% if constant('CARROT') == 1 %}<li><a href="https://secure.carrot.org/GiveAndGetBack.do?url={{ entry.url|url_encode }}&title={{ entry.title|url_encode }}" class="tool carrot icon" target="_blank" title="{% trans "carrot" %}"><span>{% trans "carrot" %}</span></a></li>{% endif %} | ||
17 | {% if constant('SHOW_PRINTLINK') == 1 %}<li><a title="{% trans "Print" %}" class="tool print" href="javascript: window.print();"><span>{% trans "Print" %}</span></a></li>{% endif %} | 20 | {% if constant('SHOW_PRINTLINK') == 1 %}<li><a title="{% trans "Print" %}" class="tool print" href="javascript: window.print();"><span>{% trans "Print" %}</span></a></li>{% endif %} |
18 | <li><a href="./?epub&method=id&value={{ entry.id|e }}" title="Generate epub file">EPUB</a></li> | 21 | <li><a href="./?epub&method=id&value={{ entry.id|e }}" title="Generate epub file">EPUB</a></li> |
19 | <li><a href="mailto:hello@wallabag.org?subject=Wrong%20display%20in%20wallabag&body={{ entry.url|url_encode }}" title="{% trans "Does this article appear wrong?" %}" class="tool bad-display"><span>{% trans "Does this article appear wrong?" %}</span></a></li> | 22 | <li><a href="mailto:hello@wallabag.org?subject=Wrong%20display%20in%20wallabag&body={{ entry.url|url_encode }}" title="{% trans "Does this article appear wrong?" %}" class="tool bad-display"><span>{% trans "Does this article appear wrong?" %}</span></a></li> |
@@ -34,7 +37,7 @@ | |||
34 | </article> | 37 | </article> |
35 | {{ block('tags') }} | 38 | {{ block('tags') }} |
36 | </div> | 39 | </div> |
37 | <script src="{{ poche_url }}themes/{{theme}}/js/restoreScroll.js"></script> | 40 | <script src="{{ poche_url }}themes/_global/js/restoreScroll.js"></script> |
38 | <script type="text/javascript"> | 41 | <script type="text/javascript"> |
39 | $(document).ready(function() { | 42 | $(document).ready(function() { |
40 | 43 | ||
@@ -117,4 +120,3 @@ | |||
117 | }); | 120 | }); |
118 | </script> | 121 | </script> |
119 | {% endblock %} | 122 | {% endblock %} |
120 | |||