summaryrefslogtreecommitdiff
path: root/addons
diff options
context:
space:
mode:
authorniv-openerp <nicolas.vanhoren@openerp.com>2011-08-30 14:21:37 +0200
committerniv-openerp <nicolas.vanhoren@openerp.com>2011-08-30 14:21:37 +0200
commit558a038420cd6c49fbf5feaf1c656d2be27beef6 (patch)
treeedb01144cfa6d0d6fc02dec2170a8e00d58a3d28 /addons
parentbdd0c7cf3f6d3e065c55bd0292e29bd554a0e8b1 (diff)
parent458dacea36f1696f6a23cd713b96aa994cef9595 (diff)
[merge] many improvements to the mobile client
bzr revid: nicolas.vanhoren@openerp.com-20110830122137-xd0y347nr1ewaxve
Diffstat (limited to 'addons')
-rw-r--r--addons/base/static/src/js/boot.js4
-rw-r--r--addons/web_mobile/static/lib/jquery_mobile/css/jqm-docs.css240
-rw-r--r--addons/web_mobile/static/lib/jquery_mobile/css/jquery.mobile-1.0a4.1.css142
-rw-r--r--addons/web_mobile/static/lib/jquery_mobile/css/jquery.mobile-1.0b1.min.css2006
-rw-r--r--addons/web_mobile/static/lib/jquery_mobile/js/jqm-docs.js59
-rw-r--r--addons/web_mobile/static/lib/jquery_mobile/js/jquery-1.6.1.min.js18
-rw-r--r--addons/web_mobile/static/lib/jquery_mobile/js/jquery.mobile-1.0a4.1.js631
-rw-r--r--addons/web_mobile/static/lib/jquery_mobile/js/jquery.mobile-1.0b1.min.js340
-rw-r--r--addons/web_mobile/static/lib/jquery_mobile/js/jquery.mobile.themeswitcher.js37
-rw-r--r--addons/web_mobile/static/src/css/web_mobile.css20
-rw-r--r--addons/web_mobile/static/src/js/chrome_mobile.js302
-rw-r--r--addons/web_mobile/static/src/js/form_mobile.js105
-rw-r--r--addons/web_mobile/static/src/js/list_mobile.js12
-rw-r--r--addons/web_mobile/static/src/js/web_mobile.js4
-rwxr-xr-xaddons/web_mobile/static/src/web_mobile.html21
-rw-r--r--addons/web_mobile/static/src/xml/web_mobile.xml344
16 files changed, 3539 insertions, 746 deletions
diff --git a/addons/base/static/src/js/boot.js b/addons/base/static/src/js/boot.js
index fff710a1d68..e6c9fab0831 100644
--- a/addons/base/static/src/js/boot.js
+++ b/addons/base/static/src/js/boot.js
@@ -50,7 +50,9 @@
openerp.base = function(instance) {
openerp.base.core(instance);
- openerp.base.dates(instance);
+ if (openerp.base.dates) {
+ openerp.base.dates(instance);
+ }
openerp.base.formats(instance);
openerp.base.chrome(instance);
openerp.base.data(instance);
diff --git a/addons/web_mobile/static/lib/jquery_mobile/css/jqm-docs.css b/addons/web_mobile/static/lib/jquery_mobile/css/jqm-docs.css
new file mode 100644
index 00000000000..fd9eb9916ea
--- /dev/null
+++ b/addons/web_mobile/static/lib/jquery_mobile/css/jqm-docs.css
@@ -0,0 +1,240 @@
+/* jqm docs css
+
+Beware: lots of last-minute CSS going on in here
+cobblers, shoes,
+*/
+
+body { background: #dddddd; }
+
+.ui-mobile #jqm-home { background: #e5e5e5 url(../images/jqm-sitebg.png) top center repeat-x; }
+.ui-mobile #jqm-homeheader { padding: 40px 10px 0; text-align: center; margin: 0 auto; }
+.ui-mobile #jqm-homeheader h1 { margin: 0 0 ; }
+.ui-mobile #jqm-homeheader p { margin: .3em 0 0; line-height: 1.3; font-size: .9em; font-weight: bold; color: #666; }
+.ui-mobile #jqm-version { text-indent: -99999px; background: url(../images/version.png) top right no-repeat; width: 119px; height: 122px; overflow: hidden; position: absolute; z-index: 50; top: 0; right: 0; }
+.ui-mobile .jqm-themeswitcher { margin: 10px 25px 10px 10px; }
+
+h2 { margin-top:1.5em; }
+p code { font-size:1.2em; font-weight:bold; }
+
+dt { font-weight: bold; margin: 2em 0 .5em; }
+dt code, dd code { font-size:1.3em; line-height:150%; }
+pre { white-space: pre; white-space: pre-wrap; word-wrap: break-word; }
+
+#jqm-homeheader img { width: 235px; }
+
+.ui-header .jqm-home { top:0.65em; }
+nav { margin: 0; }
+
+p.intro {
+ font-size: .96em;
+ line-height: 1.3;
+ border-top: 1px solid #75ae18;
+ border-bottom: 0;
+ background: none;
+ margin: 1.5em 0;
+ padding: 1.5em 15px 0;
+
+}
+p.intro strong {
+ color: #558e08;
+}
+.footer-docs {
+ padding: 5px 0;
+}
+.footer-docs p {
+ float: left;
+ margin-left:15px;
+ font-weight: normal;
+ font-size: .9em;
+}
+
+.type-interior .content-secondary {
+ border-right: 0;
+ border-left: 0;
+ margin: 10px -15px 0;
+ background: #fff;
+ border-top: 1px solid #ccc;
+}
+.type-home .ui-content {
+ margin-top: 5px;
+}
+.type-interior .ui-content {
+ padding-bottom: 0;
+}
+.content-secondary .ui-collapsible-contain {
+ padding: 10px 15px;
+
+}
+.content-secondary .ui-collapsible-heading {
+ margin: 0 0 30px;
+}
+.content-secondary .ui-collapsible-heading-collapsed,
+.content-secondary .ui-collapsible-content {
+ padding:0;
+ margin: 0;
+}
+
+
+
+/* F bar theme - just for the docs overview headers */
+.ui-bar-f {
+ border: 1px solid #56A00E;
+ background: #74b042;
+ color: #fff;
+ font-weight: bold;
+ text-shadow: 0 -1px 1px #234403;
+ background-image: -moz-linear-gradient(top,
+ #74b042,
+ #56A00E);
+ background-image: -webkit-gradient(linear,left top,left bottom,
+ color-stop(0, #74b042),
+ color-stop(1, #56A00E));
+ -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorStr='#81a8ce', EndColorStr='#5e87b0')";
+}
+.ui-bar-f,
+.ui-bar-f .ui-link-inherit {
+ color: #fff;
+}
+.ui-bar-f .ui-link {
+ color: #fff;
+ font-weight: bold;
+}
+
+
+
+
+/* docs site layout */
+
+@media all and (min-width: 650px){
+
+ .jqm-home {
+ position: absolute;
+ left: 10px;
+ top: 0;
+ }
+ .type-home .ui-content {
+ margin-top: 5px;
+ }
+ .ui-mobile #jqm-homeheader {
+ max-width: 340px;
+ }
+ .ui-mobile .jqm-themeswitcher {
+ float: right;
+ }
+ p.intro {
+ margin: 2em 0;
+ }
+ .type-home .ui-content,
+ .type-interior .ui-content {
+ padding: 0;
+ background: url(../images/px-ccc.gif) 50% 0 repeat-y;
+ }
+ .type-interior .ui-content {
+ background-position: 45%;
+ overflow: hidden;
+ }
+ .content-secondary {
+ text-align: left;
+ float: left;
+ width: 45%;
+ background: none;
+ border-top: 0;
+ }
+ .content-secondary,
+ .type-interior .content-secondary {
+ margin: 30px 0 20px 2%;
+ padding: 20px 4% 0 0;
+ background: none;
+ }
+ .type-index .content-secondary {
+ padding: 0;
+ }
+ .type-index .content-secondary .ui-listview {
+ margin: 0;
+ }
+
+ .ui-mobile #jqm-homeheader {
+ padding: 0;
+ }
+ .content-primary {
+ width: 45%;
+ float: right;
+ margin-top: 30px;
+ margin-right: 1%;
+ padding-right: 1%;
+ }
+ .content-primary ul:first-child {
+ margin-top: 0;
+ }
+ .content-secondary h2 {
+ position: absolute;
+ left: -9999px;
+ }
+ .type-interior .content-primary {
+ padding: 1.5em 6% 3em 0;
+ margin: 0;
+ }
+ /* fix up the collapsibles - expanded on desktop */
+ .content-secondary .ui-collapsible-heading {
+ display: none;
+ }
+ .content-secondary .ui-collapsible-contain {
+ margin:0;
+ }
+ .content-secondary .ui-collapsible-content {
+ display: block;
+ margin: 0;
+ padding: 0;
+ }
+ .type-interior .content-secondary .ui-li-divider {
+ padding-top: 1em;
+ padding-bottom: 1em;
+ }
+ .type-interior .content-secondary {
+ margin: 0;
+ padding: 0;
+ }
+
+}
+@media all and (min-width: 750px){
+ .type-home .ui-content,
+ .type-interior .ui-content {
+ background-position: 39%;
+ }
+ .content-secondary {
+ width: 34%;
+ }
+ .content-primary {
+ width: 56%;
+ padding-right: 1%;
+ }
+ .type-interior .ui-content {
+ background-position: 34%;
+ }
+}
+
+@media all and (min-width: 1200px){
+ .type-home .ui-content{
+ background-position: 38.5%;
+ }
+ .type-interior .ui-content {
+ background-position: 30%;
+ }
+ .content-secondary {
+ width: 30%;
+ padding-right:6%;
+ margin: 30px 0 20px 5%;
+ }
+ .type-interior .content-secondary {
+ margin: 0;
+ padding: 0;
+ }
+ .content-primary {
+ width: 50%;
+ margin-right: 5%;
+ padding-right: 3%;
+ }
+ .type-interior .content-primary {
+ width: 60%;
+ }
+} \ No newline at end of file
diff --git a/addons/web_mobile/static/lib/jquery_mobile/css/jquery.mobile-1.0a4.1.css b/addons/web_mobile/static/lib/jquery_mobile/css/jquery.mobile-1.0a4.1.css
index 54bef50cf15..4216af1115d 100644
--- a/addons/web_mobile/static/lib/jquery_mobile/css/jquery.mobile-1.0a4.1.css
+++ b/addons/web_mobile/static/lib/jquery_mobile/css/jquery.mobile-1.0a4.1.css
@@ -15,18 +15,18 @@
color: #ffffff;
font-weight: bold;
text-shadow: 0 -1px 1px #000000;
- background-image: -moz-linear-gradient(top,
- #3c3c3c,
+ background-image: -moz-linear-gradient(top,
+ #3c3c3c,
#111111);
background-image: -webkit-gradient(linear,left top,left bottom,
color-stop(0, #3c3c3c),
color-stop(1, #111111));
-ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorStr='#3c3c3c', EndColorStr='#111111')";
}
-.ui-bar-a,
-.ui-bar-a input,
-.ui-bar-a select,
-.ui-bar-a textarea,
+.ui-bar-a,
+.ui-bar-a input,
+.ui-bar-a select,
+.ui-bar-a textarea,
.ui-bar-a button {
font-family: Helvetica, Arial, sans-serif;
}
@@ -43,8 +43,8 @@
color: #fff;
text-shadow: 0 1px 0 #000;
font-weight: normal;
- background-image: -moz-linear-gradient(top,
- #666666,
+ background-image: -moz-linear-gradient(top,
+ #666666,
#222222);
background-image: -webkit-gradient(linear,left top,left bottom,
color-stop(0, #666666),
@@ -77,8 +77,8 @@
font-weight: bold;
color: #fff;
text-shadow: 0 -1px 1px #000;
- background-image: -moz-linear-gradient(top,
- #555555,
+ background-image: -moz-linear-gradient(top,
+ #555555,
#333333);
background-image: -webkit-gradient(linear,left top,left bottom,
color-stop(0, #555555),
@@ -94,8 +94,8 @@
font-weight: bold;
color: #fff;
text-shadow: 0 -1px 1px #000;
- background-image: -moz-linear-gradient(top,
- #666666,
+ background-image: -moz-linear-gradient(top,
+ #666666,
#444444);
background-image: -webkit-gradient(linear,left top,left bottom,
color-stop(0, #666666),
@@ -111,8 +111,8 @@
font-weight: bold;
color: #fff;
text-shadow: 0 -1px 1px #000;
- background-image: -moz-linear-gradient(top,
- #333333,
+ background-image: -moz-linear-gradient(top,
+ #333333,
#5a5a5a);
background-image: -webkit-gradient(linear,left top,left bottom,
color-stop(0, #333333),
@@ -139,8 +139,8 @@
color: #fff;
font-weight: bold;
text-shadow: 0 -1px 1px #254f7a;
- background-image: -moz-linear-gradient(top,
- #81a8ce,
+ background-image: -moz-linear-gradient(top,
+ #81a8ce,
#5e87b0);
background-image: -webkit-gradient(linear,left top,left bottom,
color-stop(0, #81a8ce),
@@ -168,8 +168,8 @@
color: #333333;
text-shadow: 0 1px 0 #fff;
font-weight: normal;
- background-image: -moz-linear-gradient(top,
- #e6e6e6,
+ background-image: -moz-linear-gradient(top,
+ #e6e6e6,
#cccccc);
background-image: -webkit-gradient(linear,left top,left bottom,
color-stop(0, #e6e6e6),
@@ -196,8 +196,8 @@
font-weight: bold;
color: #fff;
text-shadow: 0 -1px 1px #145072;
- background-image: -moz-linear-gradient(top,
- #4e89c5,
+ background-image: -moz-linear-gradient(top,
+ #4e89c5,
#2567ab);
background-image: -webkit-gradient(linear,left top,left bottom,
color-stop(0, #5f9cc5),
@@ -213,8 +213,8 @@
font-weight: bold;
color: #fff;
text-shadow: 0 -1px 1px #014D68;
- background-image: -moz-linear-gradient(top,
- #72b0d4,
+ background-image: -moz-linear-gradient(top,
+ #72b0d4,
#4b88b6);
background-image: -webkit-gradient(linear,left top,left bottom,
color-stop(0, #72b0d4),
@@ -230,8 +230,8 @@
font-weight: bold;
color: #fff;
text-shadow: 0 -1px 1px #225377;
- background-image: -moz-linear-gradient(top,
- #396b9e,
+ background-image: -moz-linear-gradient(top,
+ #396b9e,
#4e89c5);
background-image: -webkit-gradient(linear,left top,left bottom,
color-stop(0, #396b9e),
@@ -258,7 +258,7 @@
color: #3E3E3E;
font-weight: bold;
text-shadow: 0 1px 1px #fff;
- background-image: -moz-linear-gradient(top,
+ background-image: -moz-linear-gradient(top,
#f0f0f0,
#e9eaeb);
background-image: -webkit-gradient(linear,left top,left bottom,
@@ -278,8 +278,8 @@
color: #333333;
text-shadow: 0 1px 0 #fff;
background: #f0f0f0;
- background-image: -moz-linear-gradient(top,
- #eeeeee,
+ background-image: -moz-linear-gradient(top,
+ #eeeeee,
#dddddd);
background-image: -webkit-gradient(linear,left top,left bottom,
color-stop(0, #eeeeee),
@@ -307,8 +307,8 @@
font-weight: bold;
color: #444;
text-shadow: 0 1px 1px #f6f6f6;
- background-image: -moz-linear-gradient(top,
- #fefefe,
+ background-image: -moz-linear-gradient(top,
+ #fefefe,
#eeeeee);
background-image: -webkit-gradient(linear,left top,left bottom,
color-stop(0, #fdfdfd),
@@ -325,8 +325,8 @@
font-weight: bold;
color: #101010;
text-shadow: 0 1px 1px #fff;
- background-image: -moz-linear-gradient(top,
- #ededed,
+ background-image: -moz-linear-gradient(top,
+ #ededed,
#dadada);
background-image: -webkit-gradient(linear,left top,left bottom,
color-stop(0, #ededed),
@@ -342,8 +342,8 @@
font-weight: bold;
color: #111111;
text-shadow: 0 1px 1px #ffffff;
- background-image: -moz-linear-gradient(top,
- #eeeeee,
+ background-image: -moz-linear-gradient(top,
+ #eeeeee,
#fdfdfd);
background-image: -webkit-gradient(linear,left top,left bottom,
color-stop(0, #eeeeee),
@@ -369,8 +369,8 @@
background: #bbb;
color: #333;
text-shadow: 0 1px 0 #eee;
- background-image: -moz-linear-gradient(top,
- #ddd,
+ background-image: -moz-linear-gradient(top,
+ #ddd,
#bbb);
background-image: -webkit-gradient(linear,left top,left bottom,
color-stop(0, #ddd),
@@ -428,8 +428,8 @@
color: #222;
cursor: pointer;
text-shadow: 0 1px 1px #fff;
- background-image: -moz-linear-gradient(top,
- #fdfdfd,
+ background-image: -moz-linear-gradient(top,
+ #fdfdfd,
#eeeeee);
background-image: -webkit-gradient(linear,left top,left bottom,
color-stop(0, #fdfdfd),
@@ -445,8 +445,8 @@
font-weight: bold;
color: #111;
text-shadow: 0 1px 1px #ffffff;
- background-image: -moz-linear-gradient(top,
- #eeeeee,
+ background-image: -moz-linear-gradient(top,
+ #eeeeee,
#ffffff);
background-image: -webkit-gradient(linear,left top,left bottom,
color-stop(0, #eeeeee),
@@ -472,8 +472,8 @@
background: #fadb4e;
color: #333;
text-shadow: 0 1px 0 #fff;
- background-image: -moz-linear-gradient(top,
- #fceda7,
+ background-image: -moz-linear-gradient(top,
+ #fceda7,
#fadb4e);
background-image: -webkit-gradient(linear,left top,left bottom,
color-stop(0, #fceda7),
@@ -499,8 +499,8 @@
color: #333333;
text-shadow: 0 1px 0 #fff;
background: #faeb9e;
- background-image: -moz-linear-gradient(top,
- #fff,
+ background-image: -moz-linear-gradient(top,
+ #fff,
#faeb9e);
background-image: -webkit-gradient(linear,left top,left bottom,
color-stop(0, #fff),
@@ -527,8 +527,8 @@
font-weight: bold;
color: #333;
text-shadow: 0 1px 0 #fff;
- background-image: -moz-linear-gradient(top,
- #fceda7,
+ background-image: -moz-linear-gradient(top,
+ #fceda7,
#fadb4e);
background-image: -webkit-gradient(linear,left top,left bottom,
color-stop(0, #fceda7),
@@ -544,8 +544,8 @@
font-weight: bold;
color: #111;
text-shadow: 0 1px 1px #fff;
- background-image: -moz-linear-gradient(top,
- #fcf0b5,
+ background-image: -moz-linear-gradient(top,
+ #fcf0b5,
#fbe26f);
background-image: -webkit-gradient(linear,left top,left bottom,
color-stop(0, #fcf0b5),
@@ -562,8 +562,8 @@
font-weight: bold;
color: #111;
text-shadow: 0 1px 1px #ffffff;
- background-image: -moz-linear-gradient(top,
- #fadb4e,
+ background-image: -moz-linear-gradient(top,
+ #fadb4e,
#fceda7);
background-image: -webkit-gradient(linear,left top,left bottom,
color-stop(0, #fadb4e),
@@ -581,7 +581,7 @@
}
-/* links within "buttons"
+/* links within "buttons"
-----------------------------------------------------------------------------------------------------------*/
a.ui-link-inherit {
@@ -600,8 +600,8 @@ a.ui-link-inherit {
cursor: pointer;
text-shadow: 0 -1px 1px #145072;
text-decoration: none;
- background-image: -moz-linear-gradient(top,
- #85bae4,
+ background-image: -moz-linear-gradient(top,
+ #85bae4,
#5393c5);
background-image: -webkit-gradient(linear,left top,left bottom,
color-stop(0, #85bae4),
@@ -726,11 +726,11 @@ a.ui-link-inherit {
@media only screen and (-webkit-min-device-pixel-ratio: 1.5),
only screen and (min--moz-device-pixel-ratio: 1.5),
only screen and (min-resolution: 240dpi) {
-
+
.ui-icon-plus, .ui-icon-minus, .ui-icon-delete, .ui-icon-arrow-r,
.ui-icon-arrow-l, .ui-icon-arrow-u, .ui-icon-arrow-d, .ui-icon-check,
.ui-icon-gear, .ui-icon-refresh, .ui-icon-forward, .ui-icon-back,
- .ui-icon-grid, .ui-icon-star, .ui-icon-alert, .ui-icon-info, .ui-icon-home, .ui-icon-search,
+ .ui-icon-grid, .ui-icon-star, .ui-icon-alert, .ui-icon-info, .ui-icon-home, .ui-icon-search,
.ui-icon-checkbox-off, .ui-icon-checkbox-on, .ui-icon-radio-off, .ui-icon-radio-on {
background-image: url(../img/icons-36-white.png);
-moz-background-size: 776px 18px;
@@ -909,19 +909,19 @@ a.ui-link-inherit {
/* radius clip workaround for cleaning up corner trapping */
.ui-corner-tl,
.ui-corner-tr,
-.ui-corner-bl,
+.ui-corner-bl,
.ui-corner-br,
.ui-corner-top,
-.ui-corner-bottom,
+.ui-corner-bottom,
.ui-corner-right,
.ui-corner-left,
.ui-corner-all,
.ui-btn-corner-tl,
.ui-btn-corner-tr,
-.ui-btn-corner-bl,
+.ui-btn-corner-bl,
.ui-btn-corner-br,
.ui-btn-corner-top,
-.ui-btn-corner-bottom,
+.ui-btn-corner-bottom,
.ui-btn-corner-right,
.ui-btn-corner-left,
.ui-btn-corner-all {
@@ -997,7 +997,7 @@ a.ui-link-inherit {
* jQuery Mobile Framework
* Copyright (c) jQuery Project
* Dual licensed under the MIT (MIT-LICENSE.txt) and GPL (GPL-LICENSE.txt) licenses.
-* Note: Code is in draft form and is subject to change
+* Note: Code is in draft form and is subject to change
*/
/* some unsets - more probably needed */
@@ -1009,7 +1009,7 @@ a.ui-link-inherit {
.ui-mobile-viewport { margin: 0; overflow-x: hidden; -webkit-text-size-adjust: none; -ms-text-size-adjust:none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }
/* "page" containers - full-screen views, one should always be in view post-pageload */
-.ui-mobile [data-role=page], .ui-mobile [data-role=dialog], .ui-page { top: 0; left: 0; width: 100%; min-height: 100%; position: absolute; display: none; border: 0; }
+.ui-mobile [data-role=page], .ui-mobile [data-role=dialog], .ui-page { top: 0; left: 0; width: 100%; min-height: 100%; position: absolute; display: none; border: 0; }
.ui-mobile .ui-page-active { display: block; overflow: visible; }
/*orientations from js are available */
@@ -1497,8 +1497,8 @@ Built by David Kaneda and maintained by Jonathan Stark.
@media all and (min-width: 450px){
.ui-controlgroup-label { vertical-align: top; display: inline-block; width: 20%; margin: 0 2% 0 0; }
- .ui-controlgroup-controls { width: 60%; display: inline-block; }
-}
+ .ui-controlgroup-controls { width: 60%; display: inline-block; }
+}
/*
* jQuery Mobile Framework
@@ -1535,7 +1535,7 @@ Built by David Kaneda and maintained by Jonathan Stark.
.ui-field-contain:first-child { border-top-width: 0; }
@media all and (min-width: 450px){
.ui-field-contain { border-width: 0; padding: 0; margin: 1em 0; }
-}
+}
/*
* jQuery Mobile Framework
@@ -1549,7 +1549,7 @@ Built by David Kaneda and maintained by Jonathan Stark.
@-moz-document url-prefix() {.ui-select .ui-btn select { opacity: 0.0001; }}
.ui-select .ui-btn select.ui-select-nativeonly { opacity: 1; text-indent: 0; }
-.ui-select .ui-btn-icon-right .ui-btn-inner { padding-right: 45px; }
+.ui-select .ui-btn-icon-right .ui-btn-inner { padding-right: 45px; }
.ui-select .ui-btn-icon-right .ui-icon { right: 15px; }
/* labels */
@@ -1572,7 +1572,7 @@ label.ui-select { font-size: 16px; line-height: 1.4; font-weight: normal; margi
@media all and (min-width: 450px){
label.ui-select { display: inline-block; width: 20%; margin: 0 2% 0 0; }
.ui-select { width: 60%; display: inline-block; }
-}
+}
/* when no placeholder is defined in a multiple select, the header height doesn't even extend past the close button. this shim's content in there */
.ui-selectmenu .ui-header h1:after { content: '.'; visibility: hidden; }
@@ -1594,9 +1594,9 @@ textarea.ui-input-text { height: 50px; -webkit-transition: height 200ms linear;
/* orientation adjustments - incomplete!*/
@media all and (min-width: 450px){
label.ui-input-text { vertical-align: top; display: inline-block; width: 20%; margin: 0 2% 0 0 }
- input.ui-input-text,
- textarea.ui-input-text,
- .ui-input-search { width: 60%; display: inline-block; }
+ input.ui-input-text,
+ textarea.ui-input-text,
+ .ui-input-search { width: 60%; display: inline-block; }
.ui-input-search { width: 50%; }
.ui-input-search input.ui-input-text { width: 98%; /*echos rule from above*/ }
}
@@ -1631,7 +1631,7 @@ ol.ui-listview .ui-li-jsnumbering:before { content: "" !important; } /* to avoid
.ui-li-aside { float: right; width: 50%; text-align: right; margin: .3em 0; }
@media all and (min-width: 480px){
.ui-li-aside { width: 45%; }
-}
+}
.ui-li-divider { cursor: default; }
.ui-li-has-alt .ui-btn-inner a.ui-link-inherit, .ui-li-static.ui-li-has-alt { padding-right: 95px; }
.ui-li-count { position: absolute; font-size: 11px; font-weight: bold; padding: .2em .5em; top: 50%; margin-top: -.9em; right: 38px; }
@@ -1666,7 +1666,7 @@ a.ui-slider-handle .ui-btn-inner { padding-left: 0; padding-right: 0; }
@media all and (min-width: 480px){
label.ui-slider { display: inline-block; width: 20%; margin: 0 2% 0 0; }
div.ui-slider { width: 45%; }
-}
+}
div.ui-slider-switch { height: 32px; overflow: hidden; margin-left: 0; }
div.ui-slider-inneroffset { margin-left: 50%; position: absolute; top: 1px; height: 100%; width: 50%; }
@@ -1680,4 +1680,4 @@ div.ui-slider-switch div.ui-slider-labelbg-b { width: 60%; height: 100%; right:
div.ui-slider-switch a.ui-slider-handle { z-index: 20; width: 101%; height: 32px; margin-top: -18px; margin-left: -101%; }
span.ui-slider-label { width: 100%; position: absolute;height: 32px; font-size: 16px; text-align: center; line-height: 2; background: none; border-color: transparent; }
span.ui-slider-label-a { left: -100%; margin-right: -1px }
-span.ui-slider-label-b { right: -100%; margin-left: -1px } \ No newline at end of file
+span.ui-slider-label-b { right: -100%; margin-left: -1px }
diff --git a/addons/web_mobile/static/lib/jquery_mobile/css/jquery.mobile-1.0b1.min.css b/addons/web_mobile/static/lib/jquery_mobile/css/jquery.mobile-1.0b1.min.css
new file mode 100644
index 00000000000..caf4b838004
--- /dev/null
+++ b/addons/web_mobile/static/lib/jquery_mobile/css/jquery.mobile-1.0b1.min.css
@@ -0,0 +1,2006 @@
+/*!
+ * jQuery Mobile v1.0b1
+ * http://jquerymobile.com/
+ *
+ * Copyright 2010, jQuery Project
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ */
+ .ui-bar-a{
+ border:1px solid #2a2a2a;
+ background:#111;
+ color:#fff;
+ font-weight:bold;
+ text-shadow:0 -1px 1px #000;
+ background-image:-moz-linear-gradient(top,#3c3c3c,#111);
+ background-image:-webkit-gradient(linear,left top,left bottom,color-stop(0,#3c3c3c),color-stop(1,#111));
+ -ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorStr='#3c3c3c', EndColorStr='#111111')"
+}
+.ui-bar-a,.ui-bar-a input,.ui-bar-a select,.ui-bar-a textarea,.ui-bar-a button{
+ font-family:Helvetica,Arial,sans-serif
+}
+.ui-bar-a .ui-link-inherit{
+ color:#fff
+}
+.ui-bar-a .ui-link{
+ color:#7cc4e7;
+ font-weight:bold
+}
+.ui-body-a{
+ border:1px solid #2a2a2a;
+ background:#222;
+ color:#fff;
+ text-shadow:0 1px 0 #000;
+ font-weight:normal;
+ background-image:-moz-linear-gradient(top,#666,#222);
+ background-image:-webkit-gradient(linear,left top,left bottom,color-stop(0,#666),color-stop(1,#222));
+ -ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorStr='#666666', EndColorStr='#222222)')"
+}
+.ui-body-a,.ui-body-a input,.ui-body-a select,.ui-body-a textarea,.ui-body-a button{
+ font-family:Helvetica,Arial,sans-serif
+}
+.ui-body-a .ui-link-inherit{
+ color:#fff
+}
+.ui-body-a .ui-link{
+ color:#2489ce;
+ font-weight:bold
+}
+.ui-br{
+ border-bottom:#828282;
+ border-bottom:rgba(130,130,130,.3);
+ border-bottom-width:1px;
+ border-bottom-style:solid
+}
+.ui-btn-up-a{
+ border:1px solid #222;
+ background:#333;
+ font-weight:bold;
+ color:#fff;
+ text-shadow:0 -1px 1px #000;
+ background-image:-moz-linear-gradient(top,#555,#333);
+ background-image:-webkit-gradient(linear,left top,left bottom,color-stop(0,#555),color-stop(1,#333));
+ -ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorStr='#555555', EndColorStr='#333333')"
+}
+.ui-btn-up-a a.ui-link-inherit{
+ color:#fff
+}
+.ui-btn-hover-a{
+ border:1px solid #000;
+ background:#444;
+ font-weight:bold;
+ color:#fff;
+ text-shadow:0 -1px 1px #000;
+ background-image:-moz-linear-gradient(top,#666,#444);
+ background-image:-webkit-gradient(linear,left top,left bottom,color-stop(0,#666),color-stop(1,#444));
+ -ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorStr='#666666', EndColorStr='#444444')"
+}
+.ui-btn-hover-a a.ui-link-inherit{
+ color:#fff
+}
+.ui-btn-down-a{
+ border:1px solid #000;
+ background:#3d3d3d;
+ font-weight:bold;
+ color:#fff;
+ text-shadow:0 -1px 1px #000;
+ background-image:-moz-linear-gradient(top,#333,#5a5a5a);
+ background-image:-webkit-gradient(linear,left top,left bottom,color-stop(0,#333),color-stop(1,#5a5a5a));
+ -ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorStr='#333333', EndColorStr='#5a5a5a')"
+}
+.ui-btn-down-a a.ui-link-inherit{
+ color:#fff
+}
+.ui-btn-up-a,.ui-btn-hover-a,.ui-btn-down-a{
+ font-family:Helvetica,Arial,sans-serif;
+ text-decoration:none
+}
+.ui-bar-b{
+ border:1px solid #456f9a;
+ background:#5e87b0;
+ color:#fff;
+ font-weight:bold;
+ text-shadow:0 -1px 1px #254f7a;
+ background-image:-moz-linear-gradient(top,#81a8ce,#5e87b0);
+ background-image:-webkit-gradient(linear,left top,left bottom,color-stop(0,#81a8ce),color-stop(1,#5e87b0));
+ -ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorStr='#81a8ce', EndColorStr='#5e87b0')"
+}
+.ui-bar-b,.ui-bar-b input,.ui-bar-b select,.ui-bar-b textarea,.ui-bar-b button{
+ font-family:Helvetica,Arial,sans-serif
+}
+.ui-bar-b .ui-link-inherit{
+ color:#fff
+}
+.ui-bar-b .ui-link{
+ color:#7cc4e7;
+ font-weight:bold
+}
+.ui-body-b{
+ border:1px solid #c6c6c6;
+ background:#ccc;
+ color:#333;
+ text-shadow:0 1px 0 #fff;
+ font-weight:normal;
+ background-image:-moz-linear-gradient(top,#e6e6e6,#ccc);
+ background-image:-webkit-gradient(linear,left top,left bottom,color-stop(0,#e6e6e6),color-stop(1,#ccc));
+ -ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorStr='#e6e6e6', EndColorStr='#cccccc')"
+}
+.ui-body-b,.ui-body-b input,.ui-body-b select,.ui-body-b textarea,.ui-body-b button{
+ font-family:Helvetica,Arial,sans-serif
+}
+.ui-body-b .ui-link-inherit{
+ color:#333
+}
+.ui-body-b .ui-link{
+ color:#2489ce;
+ font-weight:bold
+}
+.ui-btn-up-b{
+ border:1px solid #145072;
+ background:#2567ab;
+ font-weight:bold;
+ color:#fff;
+ text-shadow:0 -1px 1px #145072;
+ background-image:-moz-linear-gradient(top,#4e89c5,#2567ab);
+ background-image:-webkit-gradient(linear,left top,left bottom,color-stop(0,#5f9cc5),color-stop(1,#396b9e));
+ -ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorStr='#4e89c5', EndColorStr='#2567ab')"
+}
+.ui-btn-up-b a.ui-link-inherit{
+ color:#fff
+}
+.ui-btn-hover-b{
+ border:1px solid #00516e;
+ background:#4b88b6;
+ font-weight:bold;
+ color:#fff;
+ text-shadow:0 -1px 1px #014d68;
+ background-image:-moz-linear-gradient(top,#72b0d4,#4b88b6);
+ background-image:-webkit-gradient(linear,left top,left bottom,color-stop(0,#72b0d4),color-stop(1,#4b88b6));
+ -ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorStr='#72b0d4', EndColorStr='#4b88b6')"
+}
+.ui-btn-hover-b a.ui-link-inherit{
+ color:#fff
+}
+.ui-btn-down-b{
+ border:1px solid #225377;
+ background:#4e89c5;
+ font-weight:bold;
+ color:#fff;
+ text-shadow:0 -1px 1px #225377;
+ background-image:-moz-linear-gradient(top,#396b9e,#4e89c5);
+ background-image:-webkit-gradient(linear,left top,left bottom,color-stop(0,#396b9e),color-stop(1,#4e89c5));
+ -ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorStr='#396b9e', EndColorStr='#4e89c5')"
+}
+.ui-btn-down-b a.ui-link-inherit{
+ color:#fff
+}
+.ui-btn-up-b,.ui-btn-hover-b,.ui-btn-down-b{
+ font-family:Helvetica,Arial,sans-serif;
+ text-decoration:none
+}
+.ui-bar-c{
+ border:1px solid #b3b3b3;
+ background:#e9eaeb;
+ color:#3e3e3e;
+ font-weight:bold;
+ text-shadow:0 1px 1px #fff;
+ background-image:-moz-linear-gradient(top,#f0f0f0,#e9eaeb);
+ background-image:-webkit-gradient(linear,left top,left bottom,color-stop(0,#f0f0f0),color-stop(1,#e9eaeb));
+ -ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorStr='#f0f0f0', EndColorStr='#e9eaeb')"
+}
+.ui-bar-c,.ui-bar-c input,.ui-bar-c select,.ui-bar-c textarea,.ui-bar-c button{
+ font-family:Helvetica,Arial,sans-serif
+}
+.ui-body-c{
+ border:1px solid #b3b3b3;
+ color:#333;
+ text-shadow:0 1px 0 #fff;
+ background:#f0f0f0;
+ background-image:-moz-linear-gradient(top,#eee,#ddd);
+ background-image:-webkit-gradient(linear,left top,left bottom,color-stop(0,#eee),color-stop(1,#ddd));
+ -ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorStr='#eeeeee', EndColorStr='#dddddd')"
+}
+.ui-body-c,.ui-body-c input,.ui-body-c select,.ui-body-c textarea,.ui-body-c button{
+ font-family:Helvetica,Arial,sans-serif
+}
+.ui-body-c .ui-link-inherit{
+ color:#333
+}
+.ui-body-c .ui-link{
+ color:#2489ce;
+ font-weight:bold
+}
+.ui-btn-up-c{
+ border:1px solid #ccc;
+ background:#eee;
+ font-weight:bold;
+ color:#444;
+ text-shadow:0 1px 1px #f6f6f6;
+ background-image:-moz-linear-gradient(top,#fefefe,#eee);
+ background-image:-webkit-gradient(linear,left top,left bottom,color-stop(0,#fdfdfd),color-stop(1,#eee));
+ -ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorStr='#fdfdfd', EndColorStr='#eeeeee')"
+}
+.ui-btn-up-c a.ui-link-inherit{
+ color:#2f3e46
+}
+.ui-btn-hover-c{
+ border:1px solid #bbb;
+ background:#dadada;
+ font-weight:bold;
+ color:#101010;
+ text-shadow:0 1px 1px #fff;
+ background-image:-moz-linear-gradient(top,#ededed,#dadada);
+ background-image:-webkit-gradient(linear,left top,left bottom,color-stop(0,#ededed),color-stop(1,#dadada));
+ -ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorStr='#ededed', EndColorStr='#dadada')"
+}
+.ui-btn-hover-c a.ui-link-inherit{
+ color:#2f3e46
+}
+.ui-btn-down-c{
+ border:1px solid #808080;
+ background:#fdfdfd;
+ font-weight:bold;
+ color:#111;
+ text-shadow:0 1px 1px #fff;
+ background-image:-moz-linear-gradient(top,#eee,#fdfdfd);
+ background-image:-webkit-gradient(linear,left top,left bottom,color-stop(0,#eee),color-stop(1,#fdfdfd));
+ -ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorStr='#eeeeee', EndColorStr='#fdfdfd')"
+}
+.ui-btn-down-c a.ui-link-inherit{
+ color:#2f3e46
+}
+.ui-btn-up-c,.ui-btn-hover-c,.ui-btn-down-c{
+ font-family:Helvetica,Arial,sans-serif;
+ text-decoration:none
+}
+.ui-bar-d{
+ border:1px solid #ccc;
+ background:#bbb;
+ color:#333;
+ text-shadow:0 1px 0 #eee;
+ background-image:-moz-linear-gradient(top,#ddd,#bbb);
+ background-image:-webkit-gradient(linear,left top,left bottom,color-stop(0,#ddd),color-stop(1,#bbb));
+ -ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorStr='#dddddd', EndColorStr='#bbbbbb')"
+}
+.ui-bar-d,.ui-bar-d input,.ui-bar-d select,.ui-bar-d textarea,.ui-bar-d button{
+ font-family:Helvetica,Arial,sans-serif
+}
+.ui-bar-d .ui-link-inherit{
+ color:#333
+}
+.ui-bar-d .ui-link{
+ color:#2489ce;
+ font-weight:bold
+}
+.ui-body-d{
+ border:1px solid #ccc;
+ color:#333;
+ text-shadow:0 1px 0 #fff;
+ background:#fff
+}
+.ui-body-d,.ui-body-d input,.ui-body-d select,.ui-body-d textarea,.ui-body-d button{
+ font-family:Helvetica,Arial,sans-serif
+}
+.ui-body-d .ui-link-inherit{
+ color:#333
+}
+.ui-body-d .ui-link{
+ color:#2489ce;
+ font-weight:bold
+}
+.ui-btn-up-d{
+ border:1px solid #ccc;
+ background:#fff;
+ font-weight:bold;
+ color:#444;
+ text-shadow:0 1px 1px #fff
+}
+.ui-btn-up-d a.ui-link-inherit{
+ color:#333
+}
+.ui-btn-hover-d{
+ border:1px solid #aaa;
+ background:#eee;
+ font-weight:bold;
+ color:#222;
+ cursor:pointer;
+ text-shadow:0 1px 1px #fff;
+ background-image:-moz-linear-gradient(top,#fdfdfd,#eee);
+ background-image:-webkit-gradient(linear,left top,left bottom,color-stop(0,#fdfdfd),color-stop(1,#eee));
+ -ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorStr='#fdfdfd', EndColorStr='#eeeeee')"
+}
+.ui-btn-hover-d a.ui-link-inherit{
+ color:#222
+}
+.ui-btn-down-d{
+ border:1px solid #aaa;
+ background:#fff;
+ font-weight:bold;
+ color:#111;
+ text-shadow:0 1px 1px #fff;
+ background-image:-moz-linear-gradient(top,#eee,#fff);
+ background-image:-webkit-gradient(linear,left top,left bottom,color-stop(0,#eee),color-stop(1,#fff));
+ -ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorStr='#eeeeee', EndColorStr='#ffffff')"
+}
+.ui-btn-down-d a.ui-link-inherit{
+ color:#111
+}
+.ui-btn-up-d,.ui-btn-hover-d,.ui-btn-down-d{
+ font-family:Helvetica,Arial,sans-serif;
+ text-decoration:none
+}
+.ui-bar-e{
+ border:1px solid #f7c942;
+ background:#fadb4e;
+ color:#333;
+ text-shadow:0 1px 0 #fff;
+ background-image:-moz-linear-gradient(top,#fceda7,#fadb4e);
+ background-image:-webkit-gradient(linear,left top,left bottom,color-stop(0,#fceda7),color-stop(1,#fadb4e));
+ -ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorStr='#fceda7', EndColorStr='#fadb4e')"
+}
+.ui-bar-e,.ui-bar-e input,.ui-bar-e select,.ui-bar-e textarea,.ui-bar-d button{
+ font-family:Helvetica,Arial,sans-serif
+}
+.ui-bar-e .ui-link-inherit{
+ color:#333
+}
+.ui-bar-e .ui-link{
+ color:#2489ce;
+ font-weight:bold
+}
+.ui-body-e{
+ border:1px solid #f7c942;
+ color:#333;
+ text-shadow:0 1px 0 #fff;
+ background:#faeb9e;
+ background-image:-moz-linear-gradient(top,#fff,#faeb9e);
+ background-image:-webkit-gradient(linear,left top,left bottom,color-stop(0,#fff),color-stop(1,#faeb9e));
+ -ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorStr='#ffffff', EndColorStr='#faeb9e')"
+}
+.ui-body-e,.ui-body-e input,.ui-body-e select,.ui-body-e textarea,.ui-body-e button{
+ font-family:Helvetica,Arial,sans-serif
+}
+.ui-body-e .ui-link-inherit{
+ color:#333
+}
+.ui-body-e .ui-link{
+ color:#2489ce;
+ font-weight:bold
+}
+.ui-btn-up-e{
+ border:1px solid #f7c942;
+ background:#fadb4e;
+ font-weight:bold;
+ color:#333;
+ text-shadow:0 1px 0 #fff;
+ background-image:-moz-linear-gradient(top,#fceda7,#fadb4e);
+ background-image:-webkit-gradient(linear,left top,left bottom,color-stop(0,#fceda7),color-stop(1,#fadb4e));
+ -ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorStr='#fceda7', EndColorStr='#fadb4e')"
+}
+.ui-btn-up-e a.ui-link-inherit{
+ color:#333
+}
+.ui-btn-hover-e{
+ border:1px solid #e79952;
+ background:#fbe26f;
+ font-weight:bold;
+ color:#111;
+ text-shadow:0 1px 1px #fff;
+ background-image:-moz-linear-gradient(top,#fcf0b5,#fbe26f);
+ background-image:-webkit-gradient(linear,left top,left bottom,color-stop(0,#fcf0b5),color-stop(1,#fbe26f));
+ -ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorStr='#fcf0b5', EndColorStr='#fbe26f')"
+}
+.ui-btn-hover-e a.ui-link-inherit{
+ color:#333
+}
+.ui-btn-down-e{
+ border:1px solid #f7c942;
+ background:#fceda7;
+ font-weight:bold;
+ color:#111;
+ text-shadow:0 1px 1px #fff;
+ background-image:-moz-linear-gradient(top,#fadb4e,#fceda7);
+ background-image:-webkit-gradient(linear,left top,left bottom,color-stop(0,#fadb4e),color-stop(1,#fceda7));
+ -ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorStr='#fadb4e', EndColorStr='#fceda7')"
+}
+.ui-btn-down-e a.ui-link-inherit{
+ color:#333
+}
+.ui-btn-up-e,.ui-btn-hover-e,.ui-btn-down-e{
+ font-family:Helvetica,Arial,sans-serif;
+ text-decoration:none
+}
+a.ui-link-inherit{
+ text-decoration:none!important
+}
+.ui-btn-active{
+ border:1px solid #155678;
+ background:#4596ce;
+ font-weight:bold;
+ color:#fff;
+ cursor:pointer;
+ text-shadow:0 -1px 1px #145072;
+ text-decoration:none;
+ background-image:-moz-linear-gradient(top,#85bae4,#5393c5);
+ background-image:-webkit-gradient(linear,left top,left bottom,color-stop(0,#85bae4),color-stop(1,#5393c5));
+ -ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorStr='#85bae4', EndColorStr='#5393c5')";
+ outline:0
+}
+.ui-btn-active a.ui-link-inherit{
+ color:#fff
+}
+.ui-btn-inner{
+ border-top:1px solid #fff;
+ border-color:rgba(255,255,255,.3)
+}
+.ui-corner-tl{
+ -moz-border-radius-topleft:.6em;
+ -webkit-border-top-left-radius:.6em;
+ border-top-left-radius:.6em
+}
+.ui-corner-tr{
+ -moz-border-radius-topright:.6em;
+ -webkit-border-top-right-radius:.6em;
+ border-top-right-radius:.6em
+}
+.ui-corner-bl{
+ -moz-border-radius-bottomleft:.6em;
+ -webkit-border-bottom-left-radius:.6em;
+ border-bottom-left-radius:.6em
+}
+.ui-corner-br{
+ -moz-border-radius-bottomright:.6em;
+ -webkit-border-bottom-right-radius:.6em;
+ border-bottom-right-radius:.6em
+}
+.ui-corner-top{
+ -moz-border-radius-topleft:.6em;
+ -webkit-border-top-left-radius:.6em;
+ border-top-left-radius:.6em;
+ -moz-border-radius-topright:.6em;
+ -webkit-border-top-right-radius:.6em;
+ border-top-right-radius:.6em
+}
+.ui-corner-bottom{
+ -moz-border-radius-bottomleft:.6em;
+ -webkit-border-bottom-left-radius:.6em;
+ border-bottom-left-radius:.6em;
+ -moz-border-radius-bottomright:.6em;
+ -webkit-border-bottom-right-radius:.6em;
+ border-bottom-right-radius:.6em
+}
+.ui-corner-right{
+ -moz-border-radius-topright:.6em;
+ -webkit-border-top-right-radius:.6em;
+ border-top-right-radius:.6em;
+ -moz-border-radius-bottomright:.6em;
+ -webkit-border-bottom-right-radius:.6em;
+ border-bottom-right-radius:.6em
+}
+.ui-corner-left{
+ -moz-border-radius-topleft:.6em;
+ -webkit-border-top-left-radius:.6em;
+ border-top-left-radius:.6em;
+ -moz-border-radius-bottomleft:.6em;
+ -webkit-border-bottom-left-radius:.6em;
+ border-bottom-left-radius:.6em
+}
+.ui-corner-all{
+ -moz-border-radius:.6em;
+ -webkit-border-radius:.6em;
+ border-radius:.6em
+}
+.ui-disabled{
+ opacity:.3
+}
+.ui-disabled,.ui-disabled a{
+ cursor:default
+}
+.ui-icon{
+ background:#666;
+ background:rgba(0,0,0,.4);
+ background-image:url(images/icons-18-white.png);
+ background-repeat:no-repeat;
+ -moz-border-radius:9px;
+ -webkit-border-radius:9px;
+ border-radius:9px
+}
+.ui-icon-alt{
+ background:#fff;
+ background:rgba(255,255,255,.3);
+ background-image:url(images/icons-18-black.png);
+ background-repeat:no-repeat
+}
+@media only screen and (-webkit-min-device-pixel-ratio:1.5),only screen and (min--moz-device-pixel-ratio:1.5),only screen and (min-resolution:240dpi){
+ .ui-icon-plus,.ui-icon-minus,.ui-icon-delete,.ui-icon-arrow-r,.ui-icon-arrow-l,.ui-icon-arrow-u,.ui-icon-arrow-d,.ui-icon-check,.ui-icon-gear,.ui-icon-refresh,.ui-icon-forward,.ui-icon-back,.ui-icon-grid,.ui-icon-star,.ui-icon-alert,.ui-icon-info,.ui-icon-home,.ui-icon-search,.ui-icon-checkbox-off,.ui-icon-checkbox-on,.ui-icon-radio-off,.ui-icon-radio-on{
+ background-image:url(images/icons-36-white.png);-moz-background-size:776px 18px;-o-background-size:776px 18px;-webkit-background-size:776px 18px;background-size:776px 18px
+ }
+ .ui-icon-alt{
+ background-image:url(images/icons-36-black.png)
+ }
+}
+.ui-icon-plus{
+ background-position:-0 50%
+}
+.ui-icon-minus{
+ background-position:-36px 50%
+}
+.ui-icon-delete{
+ background-position:-72px 50%
+}
+.ui-icon-arrow-r{
+ background-position:-108px 50%
+}
+.ui-icon-arrow-l{
+ background-position:-144px 50%
+}
+.ui-icon-arrow-u{
+ background-position:-180px 50%
+}
+.ui-icon-arrow-d{
+ background-position:-216px 50%
+}
+.ui-icon-check{
+ background-position:-252px 50%
+}
+.ui-icon-gear{
+ background-position:-288px 50%
+}
+.ui-icon-refresh{
+ background-position:-324px 50%
+}
+.ui-icon-forward{
+ background-position:-360px 50%
+}
+.ui-icon-back{
+ background-position:-396px 50%
+}
+.ui-icon-grid{
+ background-position:-432px 50%
+}
+.ui-icon-star{
+ background-position:-468px 50%
+}
+.ui-icon-alert{
+ background-position:-504px 50%
+}
+.ui-icon-info{
+ background-position:-540px 50%
+}
+.ui-icon-home{
+ background-position:-576px 50%
+}
+.ui-icon-search{
+ background-position:-612px 50%
+}
+.ui-icon-checkbox-off{
+ background-position:-684px 50%
+}
+.ui-icon-checkbox-on{
+ background-position:-648px 50%
+}
+.ui-icon-radio-off{
+ background-position:-756px 50%
+}
+.ui-icon-radio-on{
+ background-position:-720px 50%
+}
+.ui-icon-checkbox-off,.ui-icon-checkbox-on,.ui-icon-radio-off,.ui-icon-radio-on{
+ background-color:transparent;
+ -moz-border-radius:0;
+ -webkit-border-radius:0;
+ border-radius:0
+}
+.ui-icon-searchfield{
+ background-image:url(images/icon-search-black.png);background-size:16px 16px
+}
+.ui-icon-loading{
+ background-image:url(images/ajax-loader.png);width:40px;height:40px;-moz-border-radius:20px;-webkit-border-radius:20px;border-radius:20px;background-size:35px 35px
+}
+.ui-btn-corner-tl{
+ -moz-border-radius-topleft:1em;-webkit-border-top-left-radius:1em;border-top-left-radius:1em
+}
+.ui-btn-corner-tr{
+ -moz-border-radius-topright:1em;
+ -webkit-border-top-right-radius:1em;
+ border-top-right-radius:1em
+}
+.ui-btn-corner-bl{
+ -moz-border-radius-bottomleft:1em;
+ -webkit-border-bottom-left-radius:1em;
+ border-bottom-left-radius:1em
+}
+.ui-btn-corner-br{
+ -moz-border-radius-bottomright:1em;
+ -webkit-border-bottom-right-radius:1em;
+ border-bottom-right-radius:1em
+}
+.ui-btn-corner-top{
+ -moz-border-radius-topleft:1em;
+ -webkit-border-top-left-radius:1em;
+ border-top-left-radius:1em;
+ -moz-border-radius-topright:1em;
+ -webkit-border-top-right-radius:1em;
+ border-top-right-radius:1em
+}
+.ui-btn-corner-bottom{
+ -moz-border-radius-bottomleft:1em;
+ -webkit-border-bottom-left-radius:1em;
+ border-bottom-left-radius:1em;
+ -moz-border-radius-bottomright:1em;
+ -webkit-border-bottom-right-radius:1em;
+ border-bottom-right-radius:1em
+}
+.ui-btn-corner-right{
+ -moz-border-radius-topright:1em;
+ -webkit-border-top-right-radius:1em;
+ border-top-right-radius:1em;
+ -moz-border-radius-bottomright:1em;
+ -webkit-border-bottom-right-radius:1em;
+ border-bottom-right-radius:1em
+}
+.ui-btn-corner-left{
+ -moz-border-radius-topleft:1em;
+ -webkit-border-top-left-radius:1em;
+ border-top-left-radius:1em;
+ -moz-border-radius-bottomleft:1em;
+ -webkit-border-bottom-left-radius:1em;
+ border-bottom-left-radius:1em
+}
+.ui-btn-corner-all{
+ -moz-border-radius:1em;
+ -webkit-border-radius:1em;
+ border-radius:1em
+}
+.ui-corner-tl,.ui-corner-tr,.ui-corner-bl,.ui-corner-br,.ui-corner-top,.ui-corner-bottom,.ui-corner-right,.ui-corner-left,.ui-corner-all,.ui-btn-corner-tl,.ui-btn-corner-tr,.ui-btn-corner-bl,.ui-btn-corner-br,.ui-btn-corner-top,.ui-btn-corner-bottom,.ui-btn-corner-right,.ui-btn-corner-left,.ui-btn-corner-all{
+ -webkit-background-clip:padding-box;
+ -moz-background-clip:padding-box;
+ background-clip:padding-box
+}
+.ui-overlay{
+ background:#666;
+ opacity:.5;
+ filter:Alpha(Opacity=50);
+ position:absolute;
+ width:100%;
+ height:100%
+}
+.ui-overlay-shadow{
+ -moz-box-shadow:0 0 12px rgba(0,0,0,.6);
+ -webkit-box-shadow:0 0 12px rgba(0,0,0,.6);
+ box-shadow:0 0 12px rgba(0,0,0,.6)
+}
+.ui-shadow{
+ -moz-box-shadow:0 1px 4px rgba(0,0,0,.3);
+ -webkit-box-shadow:0 1px 4px rgba(0,0,0,.3);
+ box-shadow:0 1px 4px rgba(0,0,0,.3)
+}
+.ui-bar-a .ui-shadow,.ui-bar-b .ui-shadow,.ui-bar-c .ui-shadow{
+ -moz-box-shadow:0 1px 0 rgba(255,255,255,.3);
+ -webkit-box-shadow:0 1px 0 rgba(255,255,255,.3);
+ box-shadow:0 1px 0 rgba(255,255,255,.3)
+}
+.ui-shadow-inset{
+ -moz-box-shadow:inset 0 1px 4px rgba(0,0,0,.2);
+ -webkit-box-shadow:inset 0 1px 4px rgba(0,0,0,.2);
+ box-shadow:inset 0 1px 4px rgba(0,0,0,.2)
+}
+.ui-icon-shadow{
+ -moz-box-shadow:0 1px 0 rgba(255,255,255,.4);
+ -webkit-box-shadow:0 1px 0 rgba(255,255,255,.4);
+ box-shadow:0 1px 0 rgba(255,255,255,.4)
+}
+.ui-focus{
+ -moz-box-shadow:0 0 12px #387bbe;
+ -webkit-box-shadow:0 0 12px #387bbe;
+ box-shadow:0 0 12px #387bbe
+}
+.ui-mobile-nosupport-boxshadow *{
+ -moz-box-shadow:none!important;
+ -webkit-box-shadow:none!important;
+ box-shadow:none!important
+}
+.ui-mobile-nosupport-boxshadow .ui-focus{
+ outline-width:2px
+}
+.ui-mobile,.ui-mobile body{
+ height:100%
+}
+.ui-mobile fieldset,.ui-page{
+ padding:0;
+ margin:0
+}
+.ui-mobile a img,.ui-mobile fieldset{
+ border:0
+}
+.ui-mobile-viewport{
+ margin:0;
+ overflow-x:hidden;
+ -webkit-text-size-adjust:none;
+ -ms-text-size-adjust:none;
+ -webkit-tap-highlight-color:rgba(0,0,0,0)
+}
+.ui-mobile [data-role=page],.ui-mobile [data-role=dialog],.ui-page{
+ top:0;
+ left:0;
+ width:100%;
+ min-height:100%;
+ position:absolute;
+ display:none;
+ border:0
+}
+.ui-mobile .ui-page-active{
+ display:block;
+ overflow:visible
+}
+.portrait,.portrait .ui-page{
+ min-height:420px
+}
+.landscape,.landscape .ui-page{
+ min-height:300px
+}
+.ui-loading .ui-mobile-viewport{
+ overflow:hidden!important
+}
+.ui-loading .ui-loader{
+ display:block
+}
+.ui-loading .ui-page{
+ overflow:hidden
+}
+.ui-loader{
+ display:none;
+ position:absolute;
+ opacity:.85;
+ z-index:100;
+ left:50%;
+ width:200px;
+ margin-left:-130px;
+ margin-top:-35px;
+ padding:10px 30px
+}
+.ui-loader h1{
+ font-size:15px;
+ text-align:center
+}
+.ui-loader .ui-icon{
+ position:static;
+ display:block;
+ opacity:.9;
+ margin:0 auto;
+ width:35px;
+ height:35px;
+ background-color:transparent
+}
+.ui-mobile-rendering>*{
+ visibility:hidden
+}
+.ui-bar,.ui-body{
+ position:relative;
+ padding:.4em 15px;
+ overflow:hidden;
+ display:block;
+ clear:both
+}
+.ui-bar{
+ font-size:16px;
+ margin:0
+}
+.ui-bar h1,.ui-bar h2,.ui-bar h3,.ui-bar h4,.ui-bar h5,.ui-bar h6{
+ margin:0;
+ padding:0;
+ font-size:16px;
+ display:inline-block
+}
+.ui-header,.ui-footer{
+ display:block
+}
+.ui-page .ui-header,.ui-page .ui-footer{
+ position:relative
+}
+.ui-header .ui-btn-left{
+ position:absolute;
+ left:10px;
+ top:.4em
+}
+.ui-header .ui-btn-right{
+ position:absolute;
+ right:10px;
+ top:.4em
+}
+.ui-header .ui-title,.ui-footer .ui-title{
+ min-height:1.1em;
+ text-align:center;
+ font-size:16px;
+ display:block;
+ margin:.6em 90px .8em;
+ padding:0;
+ text-overflow:ellipsis;
+ overflow:hidden;
+ white-space:nowrap;
+ outline:0!important
+}
+.ui-content{
+ border-width:0;
+ overflow:visible;
+ overflow-x:hidden;
+ padding:15px
+}
+.ui-page-fullscreen .ui-content{
+ padding:0
+}
+.ui-icon{
+ width:18px;
+ height:18px
+}
+.ui-fullscreen img{
+ max-width:100%
+}
+.ui-nojs{
+ position:absolute;
+ left:-9999px
+}
+.spin{
+ -webkit-transform:rotate(360deg);
+ -webkit-animation-name:spin;
+ -webkit-animation-duration:1s;
+ -webkit-animation-iteration-count:infinite
+}
+@-webkit-keyframes spin{from{-webkit-transform:rotate(0deg)}to{-webkit-transform:rotate(360deg)}}
+.in,.out{
+ -webkit-animation-timing-function:ease-in-out;
+ -webkit-animation-duration:350ms
+}
+.slide.in{
+ -webkit-transform:translateX(0);
+ -webkit-animation-name:slideinfromright
+}
+.slide.out{-webkit-transform:translateX(-100%);-webkit-animation-name:slideouttoleft}
+.slide.in.reverse{
+ -webkit-transform:translateX(0);
+ -webkit-animation-name:slideinfromleft
+}
+.slide.out.reverse{
+ -webkit-transform:translateX(100%);
+ -webkit-animation-name:slideouttoright
+}
+.slideup.in{
+ -webkit-transform:translateY(0);
+ -webkit-animation-name:slideinfrombottom;
+ z-index:10
+}
+.slideup.out{
+ -webkit-animation-name:dontmove;
+ z-index:0
+}
+.slideup.out.reverse{
+ -webkit-transform:translateY(100%);
+ z-index:10;
+ -webkit-animation-name:slideouttobottom
+}
+.slideup.in.reverse{
+ z-index:0;
+ -webkit-animation-name:dontmove
+}
+.slidedown.in{
+ -webkit-transform:translateY(0);
+ -webkit-animation-name:slideinfromtop;
+ z-index:10
+}
+.slidedown.out{
+ -webkit-animation-name:dontmove;
+ z-index:0
+}
+.slidedown.out.reverse{
+ -webkit-transform:translateY(-100%);
+ z-index:10;
+ -webkit-animation-name:slideouttotop
+}
+.slidedown.in.reverse{
+ z-index:0;
+ -webkit-animation-name:dontmove
+}
+@-webkit-keyframes slideinfromright{
+ from{
+ -webkit-transform:translateX(100%)
+ }
+ to
+ {
+ -webkit-transform:translateX(0)
+ }
+}
+@-webkit-keyframes slideinfromleft{
+ from{
+ -webkit-transform:translateX(-100%)
+ }
+ to
+ {
+ -webkit-transform:translateX(0)
+ }
+}
+@-webkit-keyframes slideouttoleft{
+ from{
+ -webkit-transform:translateX(0)
+ }
+ to
+ {
+ -webkit-transform:translateX(-100%)
+ }
+}
+@-webkit-keyframes slideouttoright{from{-webkit-transform:translateX(0)}to{-webkit-transform:translateX(100%)}}
+@-webkit-keyframes slideinfromtop{
+ from{
+ -webkit-transform:translateY(-100%)
+ }
+ to
+ {
+ -webkit-transform:translateY(0)
+ }
+}
+@-webkit-keyframes slideinfrombottom{
+ from{
+ -webkit-transform:translateY(100%)
+ }
+ to
+ {
+ -webkit-transform:translateY(0)
+ }
+}
+@-webkit-keyframes slideouttobottom{
+ from
+ {
+ -webkit-transform:translateY(0)
+ }
+ to
+ {
+ -webkit-transform:translateY(100%)
+ }
+}
+@-webkit-keyframes slideouttotop{
+ from{
+ -webkit-transform:translateY(0)
+ }
+ to
+ {
+ -webkit-transform:translateY(-100%)
+ }
+}
+@-webkit-keyframes fadein{
+ from{
+ opacity:0
+ }
+ to
+ {
+ opacity:1
+ }
+}
+@-webkit-keyframes fadeout{
+ from{
+ opacity:1
+ }
+ to
+ {
+ opacity:0
+ }
+}
+.fade.in{
+ opacity:1;
+ z-index:10;
+ -webkit-animation-name:fadein
+}
+.fade.out{
+ z-index:0;
+ -webkit-animation-name:fadeout
+}
+.viewport-flip{
+ -webkit-perspective:1000;
+ position:absolute
+}
+.ui-mobile-viewport-transitioning,.ui-mobile-viewport-transitioning .ui-page{
+ width:100%;
+ height:100%;
+ overflow:hidden
+}
+.flip{
+ -webkit-animation-duration:.65s;
+ -webkit-backface-visibility:hidden;
+ -webkit-transform:translateX(0)
+}
+.flip.in{
+ -webkit-transform:rotateY(0) scale(1);
+ -webkit-animation-name:flipinfromleft
+}
+.flip.out{
+ -webkit-transform:rotateY(-180deg) scale(.8);
+ -webkit-animation-name:flipouttoleft
+}
+.flip.in.reverse{
+ -webkit-transform:rotateY(0) scale(1);
+ -webkit-animation-name:flipinfromright
+}
+.flip.out.reverse{
+ -webkit-transform:rotateY(180deg) scale(.8);
+ -webkit-animation-name:flipouttoright
+}
+@-webkit-keyframes flipinfromright{
+ from{
+ -webkit-transform:rotateY(-180deg) scale(.8)
+ }
+ to
+ {
+ -webkit-transform:rotateY(0) scale(1)
+ }
+}
+@-webkit-keyframes flipinfromleft{
+ from{
+ -webkit-transform:rotateY(180deg) scale(.8)
+ }
+ to
+ {
+ -webkit-transform:rotateY(0) scale(1)
+ }
+}
+@-webkit-keyframes flipouttoleft{
+ from{
+ -webkit-transform:rotateY(0) scale(1)
+ }
+ to
+ {
+ -webkit-transform:rotateY(-180deg) scale(.8)
+ }
+}
+@-webkit-keyframes flipouttoright{
+ from{
+ -webkit-transform:rotateY(0) scale(1)
+ }
+ to
+ {
+ -webkit-transform:rotateY(180deg) scale(.8)
+ }
+}
+@-webkit-keyframes dontmove{
+ from{
+ opacity:1
+ }
+ to{
+ opacity:1
+ }
+}
+.pop{
+ -webkit-transform-origin:50% 50%
+}
+.pop.in{
+ -webkit-transform:scale(1);
+ opacity:1;
+ -webkit-animation-name:popin;
+ z-index:10
+}
+.pop.out.reverse{
+ -webkit-transform:scale(.2);
+ opacity:0;
+ -webkit-animation-name:popout;
+ z-index:10
+}
+.pop.in.reverse{
+ z-index:0;
+ -webkit-animation-name:dontmove
+}
+@-webkit-keyframes popin{
+ from{
+ -webkit-transform:scale(.2);
+ opacity:0
+ }
+ to{
+ -webkit-transform:scale(1);
+ opacity:1
+ }
+}
+@-webkit-keyframes popout{
+ from{
+ -webkit-transform:scale(1);
+ opacity:1
+ }
+ to{
+ -webkit-transform:scale(.2);
+ opacity:0
+ }
+}
+.ui-grid-a,.ui-grid-b,.ui-grid-c,.ui-grid-d{
+ overflow:hidden
+}
+.ui-block-a,.ui-block-b,.ui-block-c,.ui-block-d,.ui-block-e{
+ margin:0;
+ padding:0;
+ border:0;
+ float:left;
+ min-height:1px
+}
+.ui-grid-solo .ui-block-a{
+ width:100%;
+ float:none
+}
+.ui-grid-a .ui-block-a,.ui-grid-a .ui-block-b{
+ width:50%
+}
+.ui-grid-a .ui-block-a{
+ clear:left
+}
+.ui-grid-b .ui-block-a,.ui-grid-b .ui-block-b,.ui-grid-b .ui-block-c{
+ width:33.333%
+}
+.ui-grid-b .ui-block-a{
+ clear:left
+}
+.ui-grid-c .ui-block-a,.ui-grid-c .ui-block-b,.ui-grid-c .ui-block-c,.ui-grid-c .ui-block-d{
+ width:25%
+}
+.ui-grid-c .ui-block-a{
+ clear:left
+}
+.ui-grid-d .ui-block-a,.ui-grid-d .ui-block-b,.ui-grid-d .ui-block-c,.ui-grid-d .ui-block-d,.ui-grid-d .ui-block-e{
+ width:20%
+}
+.ui-grid-d .ui-block-a{
+ clear:left
+}
+.ui-header,.ui-footer,.ui-page-fullscreen .ui-header,.ui-page-fullscreen .ui-footer{
+ position:absolute;
+ overflow:hidden;
+ width:100%;
+ border-left-width:0;
+ border-right-width:0
+}
+.ui-header-fixed,.ui-footer-fixed{
+ z-index:1000;
+ -webkit-transform:translateZ(0)
+}
+.ui-footer-duplicate,.ui-page-fullscreen .ui-fixed-inline{
+ display:none
+}
+.ui-page-fullscreen .ui-header,.ui-page-fullscreen .ui-footer{
+ opacity:.9
+}
+.ui-navbar{
+ overflow:hidden
+}
+.ui-navbar ul,.ui-navbar-expanded ul{
+ list-style:none;
+ padding:0;
+ margin:0;
+ position:relative;
+ display:block;
+ border:0
+}
+.ui-navbar-collapsed ul{
+ float:left;
+ width:75%;
+ margin-right:-2px
+}
+.ui-navbar-collapsed .ui-navbar-toggle{
+ float:left;
+ width:25%
+}
+.ui-navbar li.ui-navbar-truncate{
+ position:absolute;
+ left:-9999px;
+ top:-9999px
+}
+.ui-navbar li .ui-btn,.ui-navbar .ui-navbar-toggle .ui-btn{
+ display:block;
+ font-size:12px;
+ text-align:center;
+ margin:0;
+ border-right-width:0
+}
+.ui-navbar li .ui-btn{
+ margin-right:-1px
+}
+.ui-navbar li .ui-btn:last-child{
+ margin-right:0
+}
+.ui-header .ui-navbar li .ui-btn,.ui-header .ui-navbar .ui-navbar-toggle .ui-btn,.ui-footer .ui-navbar li .ui-btn,.ui-footer .ui-navbar .ui-navbar-toggle .ui-btn{
+ border-top-width:0;
+ border-bottom-width:0
+}
+.ui-navbar .ui-btn-inner{
+ padding-left:2px;
+ padding-right:2px
+}
+.ui-navbar-noicons li .ui-btn .ui-btn-inner,.ui-navbar-noicons .ui-navbar-toggle .ui-btn-inner{
+ padding-top:.8em;
+ padding-bottom:.9em
+}
+.ui-navbar-expanded .ui-btn{
+ margin:0;
+ font-size:14px
+}
+.ui-navbar-expanded .ui-btn-inner{
+ padding-left:5px;
+ padding-right:5px
+}
+.ui-navbar-expanded .ui-btn-icon-top .ui-btn-inner{
+ padding:45px 5px 15px;
+ text-align:center
+}
+.ui-navbar-expanded .ui-btn-icon-top .ui-icon{
+ top:15px
+}
+.ui-navbar-expanded .ui-btn-icon-bottom .ui-btn-inner{
+ padding:15px 5px 45px;
+ text-align:center
+}
+.ui-navbar-expanded .ui-btn-icon-bottom .ui-icon{
+ bottom:15px
+}
+.ui-navbar-expanded li .ui-btn .ui-btn-inner{
+ min-height:2.5em
+}
+.ui-navbar-expanded .ui-navbar-noicons .ui-btn .ui-btn-inner{
+ padding-top:1.8em;
+ padding-bottom:1.9em
+}
+.ui-btn{
+ display:block;
+ text-align:center;
+ cursor:pointer;
+ position:relative;
+ margin:.5em 5px;
+ padding:0
+}
+.ui-btn:focus,.ui-btn:active{
+ outline:0
+}
+.ui-header .ui-btn,.ui-footer .ui-btn,.ui-bar .ui-btn{
+ display:inline-block;
+ font-size:13px;
+ margin:0
+}
+.ui-btn-inline{
+ display:inline-block
+}
+.ui-btn-inner{
+ padding:.6em 25px;
+ display:block;
+ text-overflow:ellipsis;
+ overflow:hidden;
+ white-space:nowrap;
+ position:relative
+}
+.ui-header .ui-btn-inner,.ui-footer .ui-btn-inner,.ui-bar .ui-btn-inner{
+ padding:.4em 8px .5em
+}
+.ui-btn-icon-notext{
+ display:inline-block;
+ width:20px;
+ height:20px;
+ padding:2px 1px 2px 3px;
+ text-indent:-9999px
+}
+.ui-btn-icon-notext .ui-btn-inner{
+ padding:0
+}
+.ui-btn-icon-notext .ui-btn-text{
+ position:absolute;
+ left:-999px
+}
+.ui-btn-icon-left .ui-btn-inner{
+ padding-left:33px
+}
+.ui-header .ui-btn-icon-left .ui-btn-inner,.ui-footer .ui-btn-icon-left .ui-btn-inner,.ui-bar .ui-btn-icon-left .ui-btn-inner{
+ padding-left:27px
+}
+.ui-btn-icon-right .ui-btn-inner{
+ padding-right:33px
+}
+.ui-header .ui-btn-icon-right .ui-btn-inner,.ui-footer .ui-btn-icon-right .ui-btn-inner,.ui-bar .ui-btn-icon-right .ui-btn-inner{
+ padding-right:27px
+}
+.ui-btn-icon-top .ui-btn-inner{
+ padding-top:33px
+}
+.ui-header .ui-btn-icon-top .ui-btn-inner,.ui-footer .ui-btn-icon-top .ui-btn-inner,.ui-bar .ui-btn-icon-top .ui-btn-inner{
+ padding-top:27px
+}
+.ui-btn-icon-bottom .ui-btn-inner{
+ padding-bottom:33px
+}
+.ui-header .ui-btn-icon-bottom .ui-btn-inner,.ui-footer .ui-btn-icon-bottom .ui-btn-inner,.ui-bar .ui-btn-icon-bottom .ui-btn-inner{
+ padding-bottom:27px
+}
+.ui-btn-icon-notext .ui-icon{
+ display:block
+}
+.ui-btn-icon-left .ui-icon,.ui-btn-icon-right .ui-icon{
+ position:absolute;
+ top:50%;
+ margin-top:-9px
+}
+.ui-btn-icon-top .ui-icon,.ui-btn-icon-bottom .ui-icon{
+ position:absolute;
+ left:50%;
+ margin-left:-9px
+}
+.ui-btn-icon-left .ui-icon{
+ left:10px
+}
+.ui-btn-icon-right .ui-icon{
+ right:10px
+}
+.ui-header .ui-btn-icon-left .ui-icon,.ui-footer .ui-btn-icon-left .ui-icon,.ui-bar .ui-btn-icon-left .ui-icon{
+ left:4px
+}
+.ui-header .ui-btn-icon-right .ui-icon,.ui-footer .ui-btn-icon-right .ui-icon,.ui-bar .ui-btn-icon-right .ui-icon{
+ right:4px
+}
+.ui-header .ui-btn-icon-top .ui-icon,.ui-footer .ui-btn-icon-top .ui-icon,.ui-bar .ui-btn-icon-top .ui-icon{
+ top:4px
+}
+.ui-header .ui-btn-icon-bottom .ui-icon,.ui-footer .ui-btn-icon-bottom .ui-icon,.ui-bar .ui-btn-icon-bottom .ui-icon{
+ bottom:4px
+}
+.ui-btn-icon-top .ui-icon{
+ top:5px
+}
+.ui-btn-icon-bottom .ui-icon{
+ bottom:5px
+}
+.ui-btn-hidden{
+ position:absolute;
+ top:0;
+ left:0;
+ width:100%;
+ height:100%;
+ -webkit-appearance:button;
+ opacity:0;
+ cursor:pointer;
+ -ms-filter:"alpha(opacity=0)";
+ filter:alpha(opacity=0);
+ background:transparent
+}
+.ui-collapsible-contain{
+ margin:.5em 0
+}
+.ui-collapsible-heading{
+ font-size:16px;
+ display:block;
+ margin:0 -8px;
+ padding:0;
+ border-width:0 0 1px 0;
+ position:relative
+}
+.ui-collapsible-heading a{
+ text-align:left;
+ margin:0
+}
+.ui-collapsible-heading a .ui-btn-inner{
+ padding-left:40px
+}
+.ui-collapsible-heading a span.ui-btn{
+ position:absolute;
+ left:6px;
+ top:50%;
+ margin:-12px 0 0 0;
+ width:20px;
+ height:20px;
+ padding:1px 0 1px 2px;
+ text-indent:-9999px
+}
+.ui-collapsible-heading a span.ui-btn .ui-btn-inner{
+ padding:10px 0
+}
+.ui-collapsible-heading a span.ui-btn .ui-icon{
+ left:0;
+ margin-top:-10px
+}
+.ui-collapsible-heading-status{
+ position:absolute;
+ left:-9999px
+}
+.ui-collapsible-content{
+ display:block;padding:10px 0 10px 8px
+}
+.ui-collapsible-content-collapsed{
+ display:none
+}
+.ui-collapsible-set{
+ margin:.5em 0
+}
+.ui-collapsible-set .ui-collapsible-contain{
+ margin:-1px 0 0
+}
+.ui-controlgroup,fieldset.ui-controlgroup{
+ padding:0;margin:.5em 0 1em
+}
+.ui-bar .ui-controlgroup{
+ margin:0 .3em
+}
+.ui-controlgroup-label{
+ font-size:16px;
+ line-height:1.4;
+ font-weight:normal;
+ margin:0 0 .3em
+}
+.ui-controlgroup-controls{
+ display:block;
+ width:95%
+}
+.ui-controlgroup li{
+ list-style:none
+}
+.ui-controlgroup-vertical .ui-btn,.ui-controlgroup-vertical .ui-checkbox,.ui-controlgroup-vertical .ui-radio{
+ margin:0;
+ border-bottom-width:0
+}
+.ui-controlgroup-vertical .ui-controlgroup-last{
+ border-bottom-width:1px
+}
+.ui-controlgroup-horizontal{
+ padding:0
+}
+.ui-controlgroup-horizontal .ui-btn,.ui-controlgroup-horizontal .ui-checkbox,.ui-controlgroup-horizontal .ui-radio{
+ display:inline-block;
+ margin:0 -5px 0 0
+}
+.ui-controlgroup-horizontal .ui-checkbox,.ui-controlgroup-horizontal .ui-radio{
+ display:inline
+}
+.ui-controlgroup-horizontal .ui-checkbox .ui-btn,.ui-controlgroup-horizontal .ui-radio .ui-btn,.ui-controlgroup-horizontal .ui-checkbox:last-child,.ui-controlgroup-horizontal .ui-radio:last-child{
+ margin-right:0
+}
+.ui-controlgroup-horizontal .ui-controlgroup-last{
+ margin-right:0
+}
+.ui-controlgroup .ui-checkbox label,.ui-controlgroup .ui-radio label{
+ font-size:16px
+}
+@media all and (min-width:450px){
+ .ui-controlgroup-label{
+ vertical-align:top;
+ display:inline-block;
+ width:20%;
+ margin:0 2% 0 0
+ }
+ .ui-controlgroup-controls{
+ width:60%;
+ display:inline-block
+ }
+}
+.ui-dialog{
+ min-height:480px
+}
+.ui-dialog .ui-header,.ui-dialog .ui-content,.ui-dialog .ui-footer{
+ margin:15px;
+ position:relative
+}
+.ui-dialog .ui-header,.ui-dialog .ui-footer{
+ z-index:10;
+ width:auto
+}
+.ui-dialog .ui-content,.ui-dialog .ui-footer{
+ margin-top:-15px
+}
+.ui-checkbox,.ui-radio{
+ position:relative;
+ margin:.2em 0 .5em;
+ z-index:1
+}
+.ui-checkbox .ui-btn,.ui-radio .ui-btn{
+ margin:0;
+ text-align:left;
+ z-index:2
+}
+.ui-checkbox .ui-btn-inner,.ui-radio .ui-btn-inner{
+ white-space:normal
+}
+.ui-checkbox .ui-btn-icon-left .ui-btn-inner,.ui-radio .ui-btn-icon-left .ui-btn-inner{
+ padding-left:45px
+}
+.ui-checkbox .ui-btn-icon-right .ui-btn-inner,.ui-radio .ui-btn-icon-right .ui-btn-inner{
+ padding-right:45px
+}
+.ui-checkbox .ui-icon,.ui-radio .ui-icon{
+ top:1.1em
+}
+.ui-checkbox .ui-btn-icon-left .ui-icon,.ui-radio .ui-btn-icon-left .ui-icon{
+ left:15px
+}
+.ui-checkbox .ui-btn-icon-right .ui-icon,.ui-radio .ui-btn-icon-right .ui-icon{
+ right:15px
+}
+.ui-checkbox input,.ui-radio input{
+ position:absolute;
+ left:20px;
+ top:50%;
+ width:10px;
+ height:10px;
+ margin:-5px 0 0 0;
+ outline:0!important;
+ z-index:1
+}
+.ui-field-contain{
+ background:0;
+ padding:1.5em 0;
+ margin:0;
+ border-bottom-width:1px;
+ overflow:visible
+}
+.ui-field-contain:first-child{
+ border-top-width:0
+}
+@media all and (min-width:450px){
+ .ui-field-contain{
+ border-width:0;
+ padding:0;
+ margin:1em 0
+ }
+}
+.ui-select{
+ display:block;
+ position:relative
+}
+.ui-select select{
+ position:absolute;
+ left:-9999px;
+ top:-9999px
+}
+.ui-select .ui-btn{
+ overflow:hidden
+}
+.ui-select .ui-btn select{
+ cursor:pointer;
+ -webkit-appearance:button;
+ left:0;
+ top:0;
+ width:100%;
+ height:100%;
+ opacity:0;
+ -ms-filter:"alpha(opacity=0)";
+ filter:alpha(opacity=0)
+}
+@-moz-document url-prefix(){
+ .ui-select .ui-btn select{
+ opacity:.0001
+ }
+}
+.ui-select .ui-btn select.ui-select-nativeonly{
+ opacity:1;
+ text-indent:0
+}
+.ui-select .ui-btn-icon-right .ui-btn-inner{
+ padding-right:45px
+}
+.ui-select .ui-btn-icon-right .ui-icon{
+ right:15px
+}
+label.ui-select{
+ font-size:16px;
+ line-height:1.4;
+ font-weight:normal;
+ margin:0 0 .3em;
+ display:block
+}
+.ui-select .ui-btn-text,.ui-selectmenu .ui-btn-text{
+ display:inline-block;
+ min-height:1em
+}
+.ui-select .ui-btn-text{
+ text-overflow:ellipsis;
+ overflow:hidden;
+ display:block
+}
+.ui-selectmenu{
+ position:absolute;
+ padding:0;
+ z-index:100!important;
+ width:80%;
+ max-width:350px;
+ padding:6px
+}
+.ui-selectmenu .ui-listview{
+ margin:0
+}
+.ui-selectmenu .ui-btn.ui-li-divider{
+ cursor:default
+}
+.ui-selectmenu-hidden{
+ top:-9999px;
+ left:-9999px
+}
+.ui-selectmenu-screen{
+ position:absolute;
+ top:0;
+ left:0;
+ width:100%;
+ height:100%;
+ z-index:99
+}
+.ui-screen-hidden,.ui-selectmenu-list .ui-li .ui-icon{
+ display:none
+}
+.ui-selectmenu-list .ui-li .ui-icon{
+ display:block
+}
+.ui-li.ui-selectmenu-placeholder{
+ display:none
+}
+.ui-selectmenu .ui-header .ui-title{
+ margin:.6em 46px .8em
+}
+@media all and (min-width:450px){
+ label.ui-select{
+ display:inline-block;
+ width:20%;
+ margin:0 2% 0 0
+ }
+ .ui-select{
+ width:60%;
+ display:inline-block
+ }
+}
+.ui-selectmenu .ui-header h1:after{
+ content:'.';
+ visibility:hidden
+}
+label.ui-input-text{
+ font-size:16px;
+ line-height:1.4;
+ display:block;
+ font-weight:normal;
+ margin:0 0 .3em
+}
+input.ui-input-text,textarea.ui-input-text{
+ background-image:none;
+ padding:.4em;
+ line-height:1.4;
+ font-size:16px;
+ display:block;
+ width:95%
+}
+input.ui-input-text{
+ -webkit-appearance:none
+}
+textarea.ui-input-text{
+ height:50px;
+ -webkit-transition:height 200ms linear;
+ -moz-transition:height 200ms linear;
+ -o-transition:height 200ms linear;
+ transition:height 200ms linear
+}
+.ui-input-search{
+ padding:0 30px;
+ width:77%;
+ background-position:8px 50%;
+ background-repeat:no-repeat;
+ position:relative
+}
+.ui-input-search input.ui-input-text{
+ border:0;
+ width:98%;
+ padding:.4em 0;
+ margin:0;
+ display:block;
+ background:transparent none;
+ outline:0!important
+}
+.ui-input-search .ui-input-clear{
+ position:absolute;
+ right:0;
+ top:50%;
+ margin-top:-14px
+}
+.ui-input-search .ui-input-clear-hidden{
+ display:none
+}
+@media all and (min-width:450px){
+ label.ui-input-text{
+ vertical-align:top;
+ display:inline-block;
+ width:20%;
+ margin:0 2% 0 0
+ }
+ input.ui-input-text,textarea.ui-input-text,.ui-input-search{
+ width:60%;
+ display:inline-block
+ }
+ .ui-input-search{
+ width:50%
+ }
+ .ui-input-search input.ui-input-text{
+ width:98%
+ }
+}
+.ui-listview{
+ margin:0;
+ counter-reset:listnumbering
+}
+.ui-content .ui-listview{
+ margin:-15px
+}
+.ui-content .ui-listview-inset{
+ margin:1em 0
+}
+.ui-listview,.ui-li{
+ list-style:none;
+ padding:0
+}
+.ui-li,.ui-li.ui-field-contain{
+ display:block;
+ margin:0;
+ position:relative;
+ overflow:visible;
+ text-align:left;
+ border-width:0;
+ border-top-width:1px
+}
+.ui-li .ui-btn-text a.ui-link-inherit{
+ text-overflow:ellipsis;
+ overflow:hidden;
+ white-space:nowrap
+}
+.ui-li-divider,.ui-li-static{
+ padding:.5em 15px;
+ font-size:14px;
+ font-weight:bold
+}
+.ui-li-divider{
+ counter-reset:listnumbering
+}
+ol.ui-listview .ui-link-inherit:before,ol.ui-listview .ui-li-static:before,.ui-li-dec{
+ font-size:.8em;
+ display:inline-block;
+ padding-right:.3em;
+ font-weight:normal;
+ counter-increment:listnumbering;
+ content:counter(listnumbering) ". "
+}
+ol.ui-listview .ui-li-jsnumbering:before{
+ content:""!important
+}
+.ui-listview-inset .ui-li{
+ border-right-width:1px;
+ border-left-width:1px
+}
+.ui-li:last-child,.ui-li.ui-field-contain:last-child{
+ border-bottom-width:1px
+}
+.ui-li>.ui-btn-inner{
+ display:block;
+ position:relative;
+ padding:0
+}
+.ui-li .ui-btn-inner a.ui-link-inherit,.ui-li-static.ui-li{
+ padding:.7em 75px .7em 15px;
+ display:block
+}
+.ui-li-has-thumb .ui-btn-inner a.ui-link-inherit,.ui-li-static.ui-li-has-thumb{
+ min-height:60px;
+ padding-left:100px
+}
+.ui-li-has-icon .ui-btn-inner a.ui-link-inherit,.ui-li-static.ui-li-has-icon{
+ min-height:20px;
+ padding-left:40px
+}
+.ui-li-heading{
+ font-size:16px;
+ font-weight:bold;
+ display:block;
+ margin:.6em 0;
+ text-overflow:ellipsis;
+ overflow:hidden;
+ white-space:nowrap
+}
+.ui-li-desc{
+ font-size:12px;
+ font-weight:normal;
+ display:block;
+ margin:-.5em 0 .6em;
+ text-overflow:ellipsis;
+ overflow:hidden;
+ white-space:nowrap
+}
+.ui-li-thumb,.ui-li-icon{
+ position:absolute;
+ left:1px;
+ top:0;
+ max-height:80px;
+ max-width:80px
+}
+.ui-li-icon{
+ max-height:40px;
+ max-width:40px;
+ left:10px;
+ top:.9em
+}
+.ui-li-thumb,.ui-li-icon,.ui-li-content{
+ float:left;
+ margin-right:10px
+}
+.ui-li-aside{
+ float:right;
+ width:50%;
+ text-align:right;
+ margin:.3em 0
+}
+@media all and (min-width:480px){
+ .ui-li-aside{
+ width:45%
+ }
+}
+.ui-li-divider{
+ cursor:default
+}
+.ui-li-has-alt .ui-btn-inner a.ui-link-inherit,.ui-li-static.ui-li-has-alt{
+ padding-right:95px
+}
+.ui-li-count{
+ position:absolute;
+ font-size:11px;
+ font-weight:bold;
+ padding:.2em .5em;
+ top:50%;
+ margin-top:-.9em;
+ right:38px
+}
+.ui-li-divider .ui-li-count,.ui-li-static .ui-li-count{
+ right:10px
+}
+.ui-li-has-alt .ui-li-count{
+ right:55px
+}
+.ui-li-link-alt{
+ position:absolute;
+ width:40px;
+ height:100%;
+ border-width:0;
+ border-left-width:1px;
+ top:0;
+ right:0;
+ margin:0;
+ padding:0
+}
+.ui-li-link-alt .ui-btn{
+ overflow:hidden;
+ position:absolute;
+ right:8px;
+ top:50%;
+ margin:-11px 0 0 0;
+ border-bottom-width:1px
+}
+.ui-li-link-alt .ui-btn-inner{
+ padding:0;
+ position:static
+}
+.ui-li-link-alt .ui-btn .ui-icon{
+ right:50%;
+ margin-right:-9px
+}
+.ui-listview-filter{
+ border-width:0;
+ overflow:hidden;
+ margin:-15px -15px 15px -15px
+}
+.ui-listview-filter .ui-input-search{
+ margin:5px;
+ width:auto;
+ display:block
+}
+.ui-listview-filter-inset{
+ margin:-15px -5px -15px -5px;
+ background:transparent
+}
+.ui-li.ui-screen-hidden{
+ display:none
+}
+@media only screen and (min-device-width:768px) and (max-device-width:1024px){
+ .ui-li .ui-btn-text{
+ overflow:visible
+ }
+}
+label.ui-slider{
+ display:block
+}
+input.ui-slider-input{
+ display:inline-block;
+ width:50px
+}
+select.ui-slider-switch{
+ display:none
+}
+div.ui-slider{
+ position:relative;
+ display:inline-block;
+ overflow:visible;
+ height:15px;
+ padding:0;
+ margin:0 2% 0 20px;
+ top:4px;
+ width:66%
+}
+a.ui-slider-handle{
+ position:absolute;
+ z-index:10;
+ top:50%;
+ width:28px;
+ height:28px;
+ margin-top:-15px;
+ margin-left:-15px
+}
+a.ui-slider-handle .ui-btn-inner{
+ padding-left:0;
+ padding-right:0
+}
+@media all and (min-width:480px){
+ label.ui-slider{
+ display:inline-block;
+ width:20%;
+ margin:0 2% 0 0
+ }
+ div.ui-slider{
+ width:45%
+ }
+}
+div.ui-slider-switch{
+ height:32px;
+ overflow:hidden;
+ margin-left:0
+}
+div.ui-slider-inneroffset{
+ margin-left:50%;
+ position:absolute;
+ top:1px;
+ height:100%;
+ width:50%
+}
+div.ui-slider-handle-snapping{
+ -webkit-transition:left 100ms linear
+}
+div.ui-slider-labelbg{
+ position:absolute;
+ top:0;
+ margin:0;
+ border-width:0
+}
+div.ui-slider-switch div.ui-slider-labelbg-a{
+ width:60%;
+ height:100%;
+ left:0
+}
+div.ui-slider-switch div.ui-slider-labelbg-b{
+ width:60%;
+ height:100%;
+ right:0
+}
+.ui-slider-switch-a div.ui-slider-labelbg-a,.ui-slider-switch-b div.ui-slider-labelbg-b{
+ z-index:-1
+}
+.ui-slider-switch-a div.ui-slider-labelbg-b,.ui-slider-switch-b div.ui-slider-labelbg-a{
+ z-index:0
+}
+div.ui-slider-switch a.ui-slider-handle{
+ z-index:20;
+ width:101%;
+ height:32px;
+ margin-top:-18px;
+ margin-left:-101%
+}
+span.ui-slider-label{
+ width:100%;
+ position:absolute;
+ height:32px;
+ font-size:16px;
+ text-align:center;
+ line-height:2;
+ background:0;
+ border-color:transparent
+}
+span.ui-slider-label-a{
+ left:-100%;
+ margin-right:-1px
+}
+span.ui-slider-label-b{
+ right:-100%;
+ margin-left:-1px
+}
+
+
+
diff --git a/addons/web_mobile/static/lib/jquery_mobile/js/jqm-docs.js b/addons/web_mobile/static/lib/jquery_mobile/js/jqm-docs.js
new file mode 100644
index 00000000000..4f6ace6f376
--- /dev/null
+++ b/addons/web_mobile/static/lib/jquery_mobile/js/jqm-docs.js
@@ -0,0 +1,59 @@
+//set up the theme switcher on the homepage
+$('div').live('pagecreate',function(event){
+ if( !$(this).is('.ui-dialog')){
+ var appendEl = $(this).find('.ui-footer:last');
+
+ if( !appendEl.length ){
+ appendEl = $(this).find('.ui-content');
+ }
+
+ if( appendEl.is("[data-position]") ){
+ return;
+ }
+
+ $('<a href="#themeswitcher" data-'+ $.mobile.ns +'rel="dialog" data-'+ $.mobile.ns +'transition="pop">Switch theme</a>')
+ .buttonMarkup({
+ 'icon':'gear',
+ 'inline': true,
+ 'shadow': false,
+ 'theme': 'd'
+ })
+ .appendTo( appendEl )
+ .wrap('<div class="jqm-themeswitcher">')
+ .bind( "vclick", function(){
+ $.themeswitcher();
+ });
+ }
+
+});
+
+//collapse page navs after use
+$(function(){
+ $('body').delegate('.content-secondary .ui-collapsible-content', 'vclick', function(){
+ $(this).trigger("collapse")
+ });
+});
+
+function setDefaultTransition(){
+ var winwidth = $( window ).width(),
+ trans ="slide";
+
+ if( winwidth >= 1000 ){
+ trans = "none";
+ }
+ else if( winwidth >= 650 ){
+ trans = "fade";
+ }
+
+ $.mobile.defaultPageTransition = trans;
+}
+
+
+//set default documentation
+$( document ).bind( "mobileinit", setDefaultTransition );
+$(function(){
+ $( window ).bind( "throttledresize", setDefaultTransition );
+});
+$(document).bind('mobileinit',function(){
+ $.mobile.selectmenu.prototype.options.nativeMenu = false;
+}); \ No newline at end of file
diff --git a/addons/web_mobile/static/lib/jquery_mobile/js/jquery-1.6.1.min.js b/addons/web_mobile/static/lib/jquery_mobile/js/jquery-1.6.1.min.js
new file mode 100644
index 00000000000..eb6a59693d0
--- /dev/null
+++ b/addons/web_mobile/static/lib/jquery_mobile/js/jquery-1.6.1.min.js
@@ -0,0 +1,18 @@
+/*!
+ * jQuery JavaScript Library v1.6.1
+ * http://jquery.com/
+ *
+ * Copyright 2011, John Resig
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * Includes Sizzle.js
+ * http://sizzlejs.com/
+ * Copyright 2011, The Dojo Foundation
+ * Released under the MIT, BSD, and GPL Licenses.
+ *
+ * Date: Thu May 12 15:04:36 2011 -0400
+ */
+(function(a,b){function cy(a){return f.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cv(a){if(!cj[a]){var b=f("<"+a+">").appendTo("body"),d=b.css("display");b.remove();if(d==="none"||d===""){ck||(ck=c.createElement("iframe"),ck.frameBorder=ck.width=ck.height=0),c.body.appendChild(ck);if(!cl||!ck.createElement)cl=(ck.contentWindow||ck.contentDocument).document,cl.write("<!doctype><html><body></body></html>");b=cl.createElement(a),cl.body.appendChild(b),d=f.css(b,"display"),c.body.removeChild(ck)}cj[a]=d}return cj[a]}function cu(a,b){var c={};f.each(cp.concat.apply([],cp.slice(0,b)),function(){c[this]=a});return c}function ct(){cq=b}function cs(){setTimeout(ct,0);return cq=f.now()}function ci(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function ch(){try{return new a.XMLHttpRequest}catch(b){}}function cb(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));var d=a.dataTypes,e={},g,h,i=d.length,j,k=d[0],l,m,n,o,p;for(g=1;g<i;g++){if(g===1)for(h in a.converters)typeof h=="string"&&(e[h.toLowerCase()]=a.converters[h]);l=k,k=d[g];if(k==="*")k=l;else if(l!=="*"&&l!==k){m=l+" "+k,n=e[m]||e["* "+k];if(!n){p=b;for(o in e){j=o.split(" ");if(j[0]===l||j[0]==="*"){p=e[j[1]+" "+k];if(p){o=e[o],o===!0?n=p:p===!0&&(n=o);break}}}}!n&&!p&&f.error("No conversion from "+m.replace(" "," to ")),n!==!0&&(c=n?n(c):p(o(c)))}}return c}function ca(a,c,d){var e=a.contents,f=a.dataTypes,g=a.responseFields,h,i,j,k;for(i in g)i in d&&(c[g[i]]=d[i]);while(f[0]==="*")f.shift(),h===b&&(h=a.mimeType||c.getResponseHeader("content-type"));if(h)for(i in e)if(e[i]&&e[i].test(h)){f.unshift(i);break}if(f[0]in d)j=f[0];else{for(i in d){if(!f[0]||a.converters[i+" "+f[0]]){j=i;break}k||(k=i)}j=j||k}if(j){j!==f[0]&&f.unshift(j);return d[j]}}function b_(a,b,c,d){if(f.isArray(b))f.each(b,function(b,e){c||bF.test(a)?d(a,e):b_(a+"["+(typeof e=="object"||f.isArray(e)?b:"")+"]",e,c,d)});else if(!c&&b!=null&&typeof b=="object")for(var e in b)b_(a+"["+e+"]",b[e],c,d);else d(a,b)}function b$(a,c,d,e,f,g){f=f||c.dataTypes[0],g=g||{},g[f]=!0;var h=a[f],i=0,j=h?h.length:0,k=a===bU,l;for(;i<j&&(k||!l);i++)l=h[i](c,d,e),typeof l=="string"&&(!k||g[l]?l=b:(c.dataTypes.unshift(l),l=b$(a,c,d,e,l,g)));(k||!l)&&!g["*"]&&(l=b$(a,c,d,e,"*",g));return l}function bZ(a){return function(b,c){typeof b!="string"&&(c=b,b="*");if(f.isFunction(c)){var d=b.toLowerCase().split(bQ),e=0,g=d.length,h,i,j;for(;e<g;e++)h=d[e],j=/^\+/.test(h),j&&(h=h.substr(1)||"*"),i=a[h]=a[h]||[],i[j?"unshift":"push"](c)}}}function bD(a,b,c){var d=b==="width"?bx:by,e=b==="width"?a.offsetWidth:a.offsetHeight;if(c==="border")return e;f.each(d,function(){c||(e-=parseFloat(f.css(a,"padding"+this))||0),c==="margin"?e+=parseFloat(f.css(a,"margin"+this))||0:e-=parseFloat(f.css(a,"border"+this+"Width"))||0});return e}function bn(a,b){b.src?f.ajax({url:b.src,async:!1,dataType:"script"}):f.globalEval((b.text||b.textContent||b.innerHTML||"").replace(bf,"/*$0*/")),b.parentNode&&b.parentNode.removeChild(b)}function bm(a){f.nodeName(a,"input")?bl(a):a.getElementsByTagName&&f.grep(a.getElementsByTagName("input"),bl)}function bl(a){if(a.type==="checkbox"||a.type==="radio")a.defaultChecked=a.checked}function bk(a){return"getElementsByTagName"in a?a.getElementsByTagName("*"):"querySelectorAll"in a?a.querySelectorAll("*"):[]}function bj(a,b){var c;if(b.nodeType===1){b.clearAttributes&&b.clearAttributes(),b.mergeAttributes&&b.mergeAttributes(a),c=b.nodeName.toLowerCase();if(c==="object")b.outerHTML=a.outerHTML;else if(c!=="input"||a.type!=="checkbox"&&a.type!=="radio"){if(c==="option")b.selected=a.defaultSelected;else if(c==="input"||c==="textarea")b.defaultValue=a.defaultValue}else a.checked&&(b.defaultChecked=b.checked=a.checked),b.value!==a.value&&(b.value=a.value);b.removeAttribute(f.expando)}}function bi(a,b){if(b.nodeType===1&&!!f.hasData(a)){var c=f.expando,d=f.data(a),e=f.data(b,d);if(d=d[c]){var g=d.events;e=e[c]=f.extend({},d);if(g){delete e.handle,e.events={};for(var h in g)for(var i=0,j=g[h].length;i<j;i++)f.event.add(b,h+(g[h][i].namespace?".":"")+g[h][i].namespace,g[h][i],g[h][i].data)}}}}function bh(a,b){return f.nodeName(a,"table")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function X(a,b,c){b=b||0;if(f.isFunction(b))return f.grep(a,function(a,d){var e=!!b.call(a,d,a);return e===c});if(b.nodeType)return f.grep(a,function(a,d){return a===b===c});if(typeof b=="string"){var d=f.grep(a,function(a){return a.nodeType===1});if(S.test(b))return f.filter(b,d,!c);b=f.filter(b,d)}return f.grep(a,function(a,d){return f.inArray(a,b)>=0===c})}function W(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function O(a,b){return(a&&a!=="*"?a+".":"")+b.replace(A,"`").replace(B,"&")}function N(a){var b,c,d,e,g,h,i,j,k,l,m,n,o,p=[],q=[],r=f._data(this,"events");if(!(a.liveFired===this||!r||!r.live||a.target.disabled||a.button&&a.type==="click")){a.namespace&&(n=new RegExp("(^|\\.)"+a.namespace.split(".").join("\\.(?:.*\\.)?")+"(\\.|$)")),a.liveFired=this;var s=r.live.slice(0);for(i=0;i<s.length;i++)g=s[i],g.origType.replace(y,"")===a.type?q.push(g.selector):s.splice(i--,1);e=f(a.target).closest(q,a.currentTarget);for(j=0,k=e.length;j<k;j++){m=e[j];for(i=0;i<s.length;i++){g=s[i];if(m.selector===g.selector&&(!n||n.test(g.namespace))&&!m.elem.disabled){h=m.elem,d=null;if(g.preType==="mouseenter"||g.preType==="mouseleave")a.type=g.preType,d=f(a.relatedTarget).closest(g.selector)[0],d&&f.contains(h,d)&&(d=h);(!d||d!==h)&&p.push({elem:h,handleObj:g,level:m.level})}}}for(j=0,k=p.length;j<k;j++){e=p[j];if(c&&e.level>c)break;a.currentTarget=e.elem,a.data=e.handleObj.data,a.handleObj=e.handleObj,o=e.handleObj.origHandler.apply(e.elem,arguments);if(o===!1||a.isPropagationStopped()){c=e.level,o===!1&&(b=!1);if(a.isImmediatePropagationStopped())break}}return b}}function L(a,c,d){var e=f.extend({},d[0]);e.type=a,e.originalEvent={},e.liveFired=b,f.event.handle.call(c,e),e.isDefaultPrevented()&&d[0].preventDefault()}function F(){return!0}function E(){return!1}function m(a,c,d){var e=c+"defer",g=c+"queue",h=c+"mark",i=f.data(a,e,b,!0);i&&(d==="queue"||!f.data(a,g,b,!0))&&(d==="mark"||!f.data(a,h,b,!0))&&setTimeout(function(){!f.data(a,g,b,!0)&&!f.data(a,h,b,!0)&&(f.removeData(a,e,!0),i.resolve())},0)}function l(a){for(var b in a)if(b!=="toJSON")return!1;return!0}function k(a,c,d){if(d===b&&a.nodeType===1){var e="data-"+c.replace(j,"$1-$2").toLowerCase();d=a.getAttribute(e);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:f.isNaN(d)?i.test(d)?f.parseJSON(d):d:parseFloat(d)}catch(g){}f.data(a,c,d)}else d=b}return d}var c=a.document,d=a.navigator,e=a.location,f=function(){function H(){if(!e.isReady){try{c.documentElement.doScroll("left")}catch(a){setTimeout(H,1);return}e.ready()}}var e=function(a,b){return new e.fn.init(a,b,h)},f=a.jQuery,g=a.$,h,i=/^(?:[^<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,j=/\S/,k=/^\s+/,l=/\s+$/,m=/\d/,n=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,o=/^[\],:{}\s]*$/,p=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,q=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,r=/(?:^|:|,)(?:\s*\[)+/g,s=/(webkit)[ \/]([\w.]+)/,t=/(opera)(?:.*version)?[ \/]([\w.]+)/,u=/(msie) ([\w.]+)/,v=/(mozilla)(?:.*? rv:([\w.]+))?/,w=d.userAgent,x,y,z,A=Object.prototype.toString,B=Object.prototype.hasOwnProperty,C=Array.prototype.push,D=Array.prototype.slice,E=String.prototype.trim,F=Array.prototype.indexOf,G={};e.fn=e.prototype={constructor:e,init:function(a,d,f){var g,h,j,k;if(!a)return this;if(a.nodeType){this.context=this[0]=a,this.length=1;return this}if(a==="body"&&!d&&c.body){this.context=c,this[0]=c.body,this.selector=a,this.length=1;return this}if(typeof a=="string"){a.charAt(0)!=="<"||a.charAt(a.length-1)!==">"||a.length<3?g=i.exec(a):g=[null,a,null];if(g&&(g[1]||!d)){if(g[1]){d=d instanceof e?d[0]:d,k=d?d.ownerDocument||d:c,j=n.exec(a),j?e.isPlainObject(d)?(a=[c.createElement(j[1])],e.fn.attr.call(a,d,!0)):a=[k.createElement(j[1])]:(j=e.buildFragment([g[1]],[k]),a=(j.cacheable?e.clone(j.fragment):j.fragment).childNodes);return e.merge(this,a)}h=c.getElementById(g[2]);if(h&&h.parentNode){if(h.id!==g[2])return f.find(a);this.length=1,this[0]=h}this.context=c,this.selector=a;return this}return!d||d.jquery?(d||f).find(a):this.constructor(d).find(a)}if(e.isFunction(a))return f.ready(a);a.selector!==b&&(this.selector=a.selector,this.context=a.context);return e.makeArray(a,this)},selector:"",jquery:"1.6.1",length:0,size:function(){return this.length},toArray:function(){return D.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=this.constructor();e.isArray(a)?C.apply(d,a):e.merge(d,a),d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")");return d},each:function(a,b){return e.each(this,a,b)},ready:function(a){e.bindReady(),y.done(a);return this},eq:function(a){return a===-1?this.slice(a):this.slice(a,+a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(D.apply(this,arguments),"slice",D.call(arguments).join(","))},map:function(a){return this.pushStack(e.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:C,sort:[].sort,splice:[].splice},e.fn.init.prototype=e.fn,e.extend=e.fn.extend=function(){var a,c,d,f,g,h,i=arguments[0]||{},j=1,k=arguments.length,l=!1;typeof i=="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!="object"&&!e.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j<k;j++)if((a=arguments[j])!=null)for(c in a){d=i[c],f=a[c];if(i===f)continue;l&&f&&(e.isPlainObject(f)||(g=e.isArray(f)))?(g?(g=!1,h=d&&e.isArray(d)?d:[]):h=d&&e.isPlainObject(d)?d:{},i[c]=e.extend(l,h,f)):f!==b&&(i[c]=f)}return i},e.extend({noConflict:function(b){a.$===e&&(a.$=g),b&&a.jQuery===e&&(a.jQuery=f);return e},isReady:!1,readyWait:1,holdReady:function(a){a?e.readyWait++:e.ready(!0)},ready:function(a){if(a===!0&&!--e.readyWait||a!==!0&&!e.isReady){if(!c.body)return setTimeout(e.ready,1);e.isReady=!0;if(a!==!0&&--e.readyWait>0)return;y.resolveWith(c,[e]),e.fn.trigger&&e(c).trigger("ready").unbind("ready")}},bindReady:function(){if(!y){y=e._Deferred();if(c.readyState==="complete")return setTimeout(e.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",z,!1),a.addEventListener("load",e.ready,!1);else if(c.attachEvent){c.attachEvent("onreadystatechange",z),a.attachEvent("onload",e.ready);var b=!1;try{b=a.frameElement==null}catch(d){}c.documentElement.doScroll&&b&&H()}}},isFunction:function(a){return e.type(a)==="function"},isArray:Array.isArray||function(a){return e.type(a)==="array"},isWindow:function(a){return a&&typeof a=="object"&&"setInterval"in a},isNaN:function(a){return a==null||!m.test(a)||isNaN(a)},type:function(a){return a==null?String(a):G[A.call(a)]||"object"},isPlainObject:function(a){if(!a||e.type(a)!=="object"||a.nodeType||e.isWindow(a))return!1;if(a.constructor&&!B.call(a,"constructor")&&!B.call(a.constructor.prototype,"isPrototypeOf"))return!1;var c;for(c in a);return c===b||B.call(a,c)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw a},parseJSON:function(b){if(typeof b!="string"||!b)return null;b=e.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(o.test(b.replace(p,"@").replace(q,"]").replace(r,"")))return(new Function("return "+b))();e.error("Invalid JSON: "+b)},parseXML:function(b,c,d){a.DOMParser?(d=new DOMParser,c=d.parseFromString(b,"text/xml")):(c=new ActiveXObject("Microsoft.XMLDOM"),c.async="false",c.loadXML(b)),d=c.documentElement,(!d||!d.nodeName||d.nodeName==="parsererror")&&e.error("Invalid XML: "+b);return c},noop:function(){},globalEval:function(b){b&&j.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,d){var f,g=0,h=a.length,i=h===b||e.isFunction(a);if(d){if(i){for(f in a)if(c.apply(a[f],d)===!1)break}else for(;g<h;)if(c.apply(a[g++],d)===!1)break}else if(i){for(f in a)if(c.call(a[f],f,a[f])===!1)break}else for(;g<h;)if(c.call(a[g],g,a[g++])===!1)break;return a},trim:E?function(a){return a==null?"":E.call(a)}:function(a){return a==null?"":(a+"").replace(k,"").replace(l,"")},makeArray:function(a,b){var c=b||[];if(a!=null){var d=e.type(a);a.length==null||d==="string"||d==="function"||d==="regexp"||e.isWindow(a)?C.call(c,a):e.merge(c,a)}return c},inArray:function(a,b){if(F)return F.call(b,a);for(var c=0,d=b.length;c<d;c++)if(b[c]===a)return c;return-1},merge:function(a,c){var d=a.length,e=0;if(typeof c.length=="number")for(var f=c.length;e<f;e++)a[d++]=c[e];else while(c[e]!==b)a[d++]=c[e++];a.length=d;return a},grep:function(a,b,c){var d=[],e;c=!!c;for(var f=0,g=a.length;f<g;f++)e=!!b(a[f],f),c!==e&&d.push(a[f]);return d},map:function(a,c,d){var f,g,h=[],i=0,j=a.length,k=a instanceof e||j!==b&&typeof j=="number"&&(j>0&&a[0]&&a[j-1]||j===0||e.isArray(a));if(k)for(;i<j;i++)f=c(a[i],i,d),f!=null&&(h[h.length]=f);else for(g in a)f=c(a[g],g,d),f!=null&&(h[h.length]=f);return h.concat.apply([],h)},guid:1,proxy:function(a,c){if(typeof c=="string"){var d=a[c];c=a,a=d}if(!e.isFunction(a))return b;var f=D.call(arguments,2),g=function(){return a.apply(c,f.concat(D.call(arguments)))};g.guid=a.guid=a.guid||g.guid||e.guid++;return g},access:function(a,c,d,f,g,h){var i=a.length;if(typeof c=="object"){for(var j in c)e.access(a,j,c[j],f,g,d);return a}if(d!==b){f=!h&&f&&e.isFunction(d);for(var k=0;k<i;k++)g(a[k],c,f?d.call(a[k],k,g(a[k],c)):d,h);return a}return i?g(a[0],c):b},now:function(){return(new Date).getTime()},uaMatch:function(a){a=a.toLowerCase();var b=s.exec(a)||t.exec(a)||u.exec(a)||a.indexOf("compatible")<0&&v.exec(a)||[];return{browser:b[1]||"",version:b[2]||"0"}},sub:function(){function a(b,c){return new a.fn.init(b,c)}e.extend(!0,a,this),a.superclass=this,a.fn=a.prototype=this(),a.fn.constructor=a,a.sub=this.sub,a.fn.init=function(d,f){f&&f instanceof e&&!(f instanceof a)&&(f=a(f));return e.fn.init.call(this,d,f,b)},a.fn.init.prototype=a.fn;var b=a(c);return a},browser:{}}),e.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(a,b){G["[object "+b+"]"]=b.toLowerCase()}),x=e.uaMatch(w),x.browser&&(e.browser[x.browser]=!0,e.browser.version=x.version),e.browser.webkit&&(e.browser.safari=!0),j.test(" ")&&(k=/^[\s\xA0]+/,l=/[\s\xA0]+$/),h=e(c),c.addEventListener?z=function(){c.removeEventListener("DOMContentLoaded",z,!1),e.ready()}:c.attachEvent&&(z=function(){c.readyState==="complete"&&(c.detachEvent("onreadystatechange",z),e.ready())});return e}(),g="done fail isResolved isRejected promise then always pipe".split(" "),h=[].slice;f.extend({_Deferred:function(){var a=[],b,c,d,e={done:function(){if(!d){var c=arguments,g,h,i,j,k;b&&(k=b,b=0);for(g=0,h=c.length;g<h;g++)i=c[g],j=f.type(i),j==="array"?e.done.apply(e,i):j==="function"&&a.push(i);k&&e.resolveWith(k[0],k[1])}return this},resolveWith:function(e,f){if(!d&&!b&&!c){f=f||[],c=1;try{while(a[0])a.shift().apply(e,f)}finally{b=[e,f],c=0}}return this},resolve:function(){e.resolveWith(this,arguments);return this},isResolved:function(){return!!c||!!b},cancel:function(){d=1,a=[];return this}};return e},Deferred:function(a){var b=f._Deferred(),c=f._Deferred(),d;f.extend(b,{then:function(a,c){b.done(a).fail(c);return this},always:function(){return b.done.apply(b,arguments).fail.apply(this,arguments)},fail:c.done,rejectWith:c.resolveWith,reject:c.resolve,isRejected:c.isResolved,pipe:function(a,c){return f.Deferred(function(d){f.each({done:[a,"resolve"],fail:[c,"reject"]},function(a,c){var e=c[0],g=c[1],h;f.isFunction(e)?b[a](function(){h=e.apply(this,arguments),h&&f.isFunction(h.promise)?h.promise().then(d.resolve,d.reject):d[g](h)}):b[a](d[g])})}).promise()},promise:function(a){if(a==null){if(d)return d;d=a={}}var c=g.length;while(c--)a[g[c]]=b[g[c]];return a}}),b.done(c.cancel).fail(b.cancel),delete b.cancel,a&&a.call(b,b);return b},when:function(a){function i(a){return function(c){b[a]=arguments.length>1?h.call(arguments,0):c,--e||g.resolveWith(g,h.call(b,0))}}var b=arguments,c=0,d=b.length,e=d,g=d<=1&&a&&f.isFunction(a.promise)?a:f.Deferred();if(d>1){for(;c<d;c++)b[c]&&f.isFunction(b[c].promise)?b[c].promise().then(i(c),g.reject):--e;e||g.resolveWith(g,b)}else g!==a&&g.resolveWith(g,d?[a]:[]);return g.promise()}}),f.support=function(){var a=c.createElement("div"),b=c.documentElement,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r;a.setAttribute("className","t"),a.innerHTML=" <link/><table></table><a href='/a' style='top:1px;float:left;opacity:.55;'>a</a><input type='checkbox'/>",d=a.getElementsByTagName("*"),e=a.getElementsByTagName("a")[0];if(!d||!d.length||!e)return{};f=c.createElement("select"),g=f.appendChild(c.createElement("option")),h=a.getElementsByTagName("input")[0],j={leadingWhitespace:a.firstChild.nodeType===3,tbody:!a.getElementsByTagName("tbody").length,htmlSerialize:!!a.getElementsByTagName("link").length,style:/top/.test(e.getAttribute("style")),hrefNormalized:e.getAttribute("href")==="/a",opacity:/^0.55$/.test(e.style.opacity),cssFloat:!!e.style.cssFloat,checkOn:h.value==="on",optSelected:g.selected,getSetAttribute:a.className!=="t",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0},h.checked=!0,j.noCloneChecked=h.cloneNode(!0).checked,f.disabled=!0,j.optDisabled=!g.disabled;try{delete a.test}catch(s){j.deleteExpando=!1}!a.addEventListener&&a.attachEvent&&a.fireEvent&&(a.attachEvent("onclick",function b(){j.noCloneEvent=!1,a.detachEvent("onclick",b)}),a.cloneNode(!0).fireEvent("onclick")),h=c.createElement("input"),h.value="t",h.setAttribute("type","radio"),j.radioValue=h.value==="t",h.setAttribute("checked","checked"),a.appendChild(h),k=c.createDocumentFragment(),k.appendChild(a.firstChild),j.checkClone=k.cloneNode(!0).cloneNode(!0).lastChild.checked,a.innerHTML="",a.style.width=a.style.paddingLeft="1px",l=c.createElement("body"),m={visibility:"hidden",width:0,height:0,border:0,margin:0,background:"none"};for(q in m)l.style[q]=m[q];l.appendChild(a),b.insertBefore(l,b.firstChild),j.appendChecked=h.checked,j.boxModel=a.offsetWidth===2,"zoom"in a.style&&(a.style.display="inline",a.style.zoom=1,j.inlineBlockNeedsLayout=a.offsetWidth===2,a.style.display="",a.innerHTML="<div style='width:4px;'></div>",j.shrinkWrapBlocks=a.offsetWidth!==2),a.innerHTML="<table><tr><td style='padding:0;border:0;display:none'></td><td>t</td></tr></table>",n=a.getElementsByTagName("td"),r=n[0].offsetHeight===0,n[0].style.display="",n[1].style.display="none",j.reliableHiddenOffsets=r&&n[0].offsetHeight===0,a.innerHTML="",c.defaultView&&c.defaultView.getComputedStyle&&(i=c.createElement("div"),i.style.width="0",i.style.marginRight="0",a.appendChild(i),j.reliableMarginRight=(parseInt((c.defaultView.getComputedStyle(i,null)||{marginRight:0}).marginRight,10)||0)===0),l.innerHTML="",b.removeChild(l);if(a.attachEvent)for(q in{submit:1,change:1,focusin:1})p="on"+q,r=p in a,r||(a.setAttribute(p,"return;"),r=typeof a[p]=="function"),j[q+"Bubbles"]=r;return j}(),f.boxModel=f.support.boxModel;var i=/^(?:\{.*\}|\[.*\])$/,j=/([a-z])([A-Z])/g;f.extend({cache:{},uuid:0,expando:"jQuery"+(f.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){a=a.nodeType?f.cache[a[f.expando]]:a[f.expando];return!!a&&!l(a)},data:function(a,c,d,e){if(!!f.acceptData(a)){var g=f.expando,h=typeof c=="string",i,j=a.nodeType,k=j?f.cache:a,l=j?a[f.expando]:a[f.expando]&&f.expando;if((!l||e&&l&&!k[l][g])&&h&&d===b)return;l||(j?a[f.expando]=l=++f.uuid:l=f.expando),k[l]||(k[l]={},j||(k[l].toJSON=f.noop));if(typeof c=="object"||typeof c=="function")e?k[l][g]=f.extend(k[l][g],c):k[l]=f.extend(k[l],c);i=k[l],e&&(i[g]||(i[g]={}),i=i[g]),d!==b&&(i[f.camelCase(c)]=d);if(c==="events"&&!i[c])return i[g]&&i[g].events;return h?i[f.camelCase(c)]:i}},removeData:function(b,c,d){if(!!f.acceptData(b)){var e=f.expando,g=b.nodeType,h=g?f.cache:b,i=g?b[f.expando]:f.expando;if(!h[i])return;if(c){var j=d?h[i][e]:h[i];if(j){delete j[c];if(!l(j))return}}if(d){delete h[i][e];if(!l(h[i]))return}var k=h[i][e];f.support.deleteExpando||h!=a?delete h[i]:h[i]=null,k?(h[i]={},g||(h[i].toJSON=f.noop),h[i][e]=k):g&&(f.support.deleteExpando?delete b[f.expando]:b.removeAttribute?b.removeAttribute(f.expando):b[f.expando]=null)}},_data:function(a,b,c){return f.data(a,b,c,!0)},acceptData:function(a){if(a.nodeName){var b=f.noData[a.nodeName.toLowerCase()];if(b)return b!==!0&&a.getAttribute("classid")===b}return!0}}),f.fn.extend({data:function(a,c){var d=null;if(typeof a=="undefined"){if(this.length){d=f.data(this[0]);if(this[0].nodeType===1){var e=this[0].attributes,g;for(var h=0,i=e.length;h<i;h++)g=e[h].name,g.indexOf("data-")===0&&(g=f.camelCase(g.substring(5)),k(this[0],g,d[g]))}}return d}if(typeof a=="object")return this.each(function(){f.data(this,a)});var j=a.split(".");j[1]=j[1]?"."+j[1]:"";if(c===b){d=this.triggerHandler("getData"+j[1]+"!",[j[0]]),d===b&&this.length&&(d=f.data(this[0],a),d=k(this[0],a,d));return d===b&&j[1]?this.data(j[0]):d}return this.each(function(){var b=f(this),d=[j[0],c];b.triggerHandler("setData"+j[1]+"!",d),f.data(this,a,c),b.triggerHandler("changeData"+j[1]+"!",d)})},removeData:function(a){return this.each(function(){f.removeData(this,a)})}}),f.extend({_mark:function(a,c){a&&(c=(c||"fx")+"mark",f.data(a,c,(f.data(a,c,b,!0)||0)+1,!0))},_unmark:function(a,c,d){a!==!0&&(d=c,c=a,a=!1);if(c){d=d||"fx";var e=d+"mark",g=a?0:(f.data(c,e,b,!0)||1)-1;g?f.data(c,e,g,!0):(f.removeData(c,e,!0),m(c,d,"mark"))}},queue:function(a,c,d){if(a){c=(c||"fx")+"queue";var e=f.data(a,c,b,!0);d&&(!e||f.isArray(d)?e=f.data(a,c,f.makeArray(d),!0):e.push(d));return e||[]}},dequeue:function(a,b){b=b||"fx";var c=f.queue(a,b),d=c.shift(),e;d==="inprogress"&&(d=c.shift()),d&&(b==="fx"&&c.unshift("inprogress"),d.call(a,function(){f.dequeue(a,b)})),c.length||(f.removeData(a,b+"queue",!0),m(a,b,"queue"))}}),f.fn.extend({queue:function(a,c){typeof a!="string"&&(c=a,a="fx");if(c===b)return f.queue(this[0],a);return this.each(function(){var b=f.queue(this,a,c);a==="fx"&&b[0]!=="inprogress"&&f.dequeue(this,a)})},dequeue:function(a){return this.each(function(){f.dequeue(this,a)})},delay:function(a,b){a=f.fx?f.fx.speeds[a]||a:a,b=b||"fx";return this.queue(b,function(){var c=this;setTimeout(function(){f.dequeue(c,b)},a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,c){function m(){--h||d.resolveWith(e,[e])}typeof a!="string"&&(c=a,a=b),a=a||"fx";var d=f.Deferred(),e=this,g=e.length,h=1,i=a+"defer",j=a+"queue",k=a+"mark",l;while(g--)if(l=f.data(e[g],i,b,!0)||(f.data(e[g],j,b,!0)||f.data(e[g],k,b,!0))&&f.data(e[g],i,f._Deferred(),!0))h++,l.done(m);m();return d.promise()}});var n=/[\n\t\r]/g,o=/\s+/,p=/\r/g,q=/^(?:button|input)$/i,r=/^(?:button|input|object|select|textarea)$/i,s=/^a(?:rea)?$/i,t=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,u=/\:/,v,w;f.fn.extend({attr:function(a,b){return f.access(this,a,b,!0,f.attr)},removeAttr:function(a){return this.each(function(){f.removeAttr(this,a)})},prop:function(a,b){return f.access(this,a,b,!0,f.prop)},removeProp:function(a){a=f.propFix[a]||a;return this.each(function(){try{this[a]=b,delete this[a]}catch(c){}})},addClass:function(a){if(f.isFunction(a))return this.each(function(b){var c=f(this);c.addClass(a.call(this,b,c.attr("class")||""))});if(a&&typeof a=="string"){var b=(a||"").split(o);for(var c=0,d=this.length;c<d;c++){var e=this[c];if(e.nodeType===1)if(!e.className)e.className=a;else{var g=" "+e.className+" ",h=e.className;for(var i=0,j=b.length;i<j;i++)g.indexOf(" "+b[i]+" ")<0&&(h+=" "+b[i]);e.className=f.trim(h)}}}return this},removeClass:function(a){if(f.isFunction(a))return this.each(function(b){var c=f(this);c.removeClass(a.call(this,b,c.attr("class")))});if(a&&typeof a=="string"||a===b){var c=(a||"").split(o);for(var d=0,e=this.length;d<e;d++){var g=this[d];if(g.nodeType===1&&g.className)if(a){var h=(" "+g.className+" ").replace(n," ");for(var i=0,j=c.length;i<j;i++)h=h.replace(" "+c[i]+" "," ");g.className=f.trim(h)}else g.className=""}}return this},toggleClass:function(a,b){var c=typeof a,d=typeof b=="boolean";if(f.isFunction(a))return this.each(function(c){var d=f(this);d.toggleClass(a.call(this,c,d.attr("class"),b),b)});return this.each(function(){if(c==="string"){var e,g=0,h=f(this),i=b,j=a.split(o);while(e=j[g++])i=d?i:!h.hasClass(e),h[i?"addClass":"removeClass"](e)}else if(c==="undefined"||c==="boolean")this.className&&f._data(this,"__className__",this.className),this.className=this.className||a===!1?"":f._data(this,"__className__")||""})},hasClass:function(a){var b=" "+a+" ";for(var c=0,d=this.length;c<d;c++)if((" "+this[c].className+" ").replace(n," ").indexOf(b)>-1)return!0;return!1},val:function(a){var c,d,e=this[0];if(!arguments.length){if(e){c=f.valHooks[e.nodeName.toLowerCase()]||f.valHooks[e.type];if(c&&"get"in c&&(d=c.get(e,"value"))!==b)return d;return(e.value||"").replace(p,"")}return b}var g=f.isFunction(a);return this.each(function(d){var e=f(this),h;if(this.nodeType===1){g?h=a.call(this,d,e.val()):h=a,h==null?h="":typeof h=="number"?h+="":f.isArray(h)&&(h=f.map(h,function(a){return a==null?"":a+""})),c=f.valHooks[this.nodeName.toLowerCase()]||f.valHooks[this.type];if(!c||!("set"in c)||c.set(this,h,"value")===b)this.value=h}})}}),f.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var b,c=a.selectedIndex,d=[],e=a.options,g=a.type==="select-one";if(c<0)return null;for(var h=g?c:0,i=g?c+1:e.length;h<i;h++){var j=e[h];if(j.selected&&(f.support.optDisabled?!j.disabled:j.getAttribute("disabled")===null)&&(!j.parentNode.disabled||!f.nodeName(j.parentNode,"optgroup"))){b=f(j).val();if(g)return b;d.push(b)}}if(g&&!d.length&&e.length)return f(e[c]).val();return d},set:function(a,b){var c=f.makeArray(b);f(a).find("option").each(function(){this.selected=f.inArray(f(this).val(),c)>=0}),c.length||(a.selectedIndex=-1);return c}}},attrFn:{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0},attrFix:{tabindex:"tabIndex"},attr:function(a,c,d,e){var g=a.nodeType;if(!a||g===3||g===8||g===2)return b;if(e&&c in f.attrFn)return f(a)[c](d);if(!("getAttribute"in a))return f.prop(a,c,d);var h,i,j=g!==1||!f.isXMLDoc(a);c=j&&f.attrFix[c]||c,i=f.attrHooks[c],i||(!t.test(c)||typeof d!="boolean"&&d!==b&&d.toLowerCase()!==c.toLowerCase()?v&&(f.nodeName(a,"form")||u.test(c))&&(i=v):i=w);if(d!==b){if(d===null){f.removeAttr(a,c);return b}if(i&&"set"in i&&j&&(h=i.set(a,d,c))!==b)return h;a.setAttribute(c,""+d);return d}if(i&&"get"in i&&j)return i.get(a,c);h=a.getAttribute(c);return h===null?b:h},removeAttr:function(a,b){var c;a.nodeType===1&&(b=f.attrFix[b]||b,f.support.getSetAttribute?a.removeAttribute(b):(f.attr(a,b,""),a.removeAttributeNode(a.getAttributeNode(b))),t.test(b)&&(c=f.propFix[b]||b)in a&&(a[c]=!1))},attrHooks:{type:{set:function(a,b){if(q.test(a.nodeName)&&a.parentNode)f.error("type property can't be changed");else if(!f.support.radioValue&&b==="radio"&&f.nodeName(a,"input")){var c=a.value;a.setAttribute("type",b),c&&(a.value=c);return b}}},tabIndex:{get:function(a){var c=a.getAttributeNode("tabIndex");return c&&c.specified?parseInt(c.value,10):r.test(a.nodeName)||s.test(a.nodeName)&&a.href?0:b}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(a,c,d){var e=a.nodeType;if(!a||e===3||e===8||e===2)return b;var g,h,i=e!==1||!f.isXMLDoc(a);c=i&&f.propFix[c]||c,h=f.propHooks[c];return d!==b?h&&"set"in h&&(g=h.set(a,d,c))!==b?g:a[c]=d:h&&"get"in h&&(g=h.get(a,c))!==b?g:a[c]},propHooks:{}}),w={get:function(a,c){return a[f.propFix[c]||c]?c.toLowerCase():b},set:function(a,b,c){var d;b===!1?f.removeAttr(a,c):(d=f.propFix[c]||c,d in a&&(a[d]=b),a.setAttribute(c,c.toLowerCase()));return c}},f.attrHooks.value={get:function(a,b){if(v&&f.nodeName(a,"button"))return v.get(a,b);return a.value},set:function(a,b,c){if(v&&f.nodeName(a,"button"))return v.set(a,b,c);a.value=b}},f.support.getSetAttribute||(f.attrFix=f.propFix,v=f.attrHooks.name=f.valHooks.button={get:function(a,c){var d;d=a.getAttributeNode(c);return d&&d.nodeValue!==""?d.nodeValue:b},set:function(a,b,c){var d=a.getAttributeNode(c);if(d){d.nodeValue=b;return b}}},f.each(["width","height"],function(a,b){f.attrHooks[b]=f.extend(f.attrHooks[b],{set:function(a,c){if(c===""){a.setAttribute(b,"auto");return c}}})})),f.support.hrefNormalized||f.each(["href","src","width","height"],function(a,c){f.attrHooks[c]=f.extend(f.attrHooks[c],{get:function(a){var d=a.getAttribute(c,2);return d===null?b:d}})}),f.support.style||(f.attrHooks.style={get:function(a){return a.style.cssText.toLowerCase()||b},set:function(a,b){return a.style.cssText=""+b}}),f.support.optSelected||(f.propHooks.selected=f.extend(f.propHooks.selected,{get:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex)}})),f.support.checkOn||f.each(["radio","checkbox"],function(){f.valHooks[this]={get:function(a){return a.getAttribute("value")===null?"on":a.value}}}),f.each(["radio","checkbox"],function(){f.valHooks[this]=f.extend(f.valHooks[this],{set:function(a,b){if(f.isArray(b))return a.checked=f.inArray(f(a).val(),b)>=0}})});var x=Object.prototype.hasOwnProperty,y=/\.(.*)$/,z=/^(?:textarea|input|select)$/i,A=/\./g,B=/ /g,C=/[^\w\s.|`]/g,D=function(a){return a.replace(C,"\\$&")};f.event={add:function(a,c,d,e){if(a.nodeType!==3&&a.nodeType!==8){if(d===!1)d=E;else if(!d)return;var g,h;d.handler&&(g=d,d=g.handler),d.guid||(d.guid=f.guid++);var i=f._data(a);if(!i)return;var j=i.events,k=i.handle;j||(i.events=j={}),k||(i.handle=k=function(a){return typeof f!="undefined"&&(!a||f.event.triggered!==a.type)?f.event.handle.apply(k.elem,arguments):b}),k.elem=a,c=c.split(" ");var l,m=0,n;while(l=c[m++]){h=g?f.extend({},g):{handler:d,data:e},l.indexOf(".")>-1?(n=l.split("."),l=n.shift(),h.namespace=n.slice(0).sort().join(".")):(n=[],h.namespace=""),h.type=l,h.guid||(h.guid=d.guid);var o=j[l],p=f.event.special[l]||{};if(!o){o=j[l]=[];if(!p.setup||p.setup.call(a,e,n,k)===!1)a.addEventListener?a.addEventListener(l,k,!1):a.attachEvent&&a.attachEvent("on"+l,k)}p.add&&(p.add.call(a,h),h.handler.guid||(h.handler.guid=d.guid)),o.push(h),f.event.global[l]=!0}a=null}},global:{},remove:function(a,c,d,e){if(a.nodeType!==3&&a.nodeType!==8){d===!1&&(d=E);var g,h,i,j,k=0,l,m,n,o,p,q,r,s=f.hasData(a)&&f._data(a),t=s&&s.events;if(!s||!t)return;c&&c.type&&(d=c.handler,c=c.type);if(!c||typeof c=="string"&&c.charAt(0)==="."){c=c||"";for(h in t)f.event.remove(a,h+c);return}c=c.split(" ");while(h=c[k++]){r=h,q=null,l=h.indexOf(".")<0,m=[],l||(m=h.split("."),h=m.shift(),n=new RegExp("(^|\\.)"+f.map(m.slice(0).sort(),D).join("\\.(?:.*\\.)?")+"(\\.|$)")),p=t[h];if(!p)continue;if(!d){for(j=0;j<p.length;j++){q=p[j];if(l||n.test(q.namespace))f.event.remove(a,r,q.handler,j),p.splice(j--,1)}continue}o=f.event.special[h]||{};for(j=e||0;j<p.length;j++){q=p[j];if(d.guid===q.guid){if(l||n.test(q.namespace))e==null&&p.splice(j--,1),o.remove&&o.remove.call(a,q);if(e!=null)break}}if(p.length===0||e!=null&&p.length===1)(!o.teardown||o.teardown.call(a,m)===!1)&&f.removeEvent(a,h,s.handle),g=null,delete t[h]}if(f.isEmptyObject(t)){var u=s.handle;u&&(u.elem=null),delete s.events,delete s.handle,f.isEmptyObject(s)&&f.removeData(a,b,!0)}}},customEvent:{getData:!0,setData:!0,changeData:!0},trigger:function(c,d,e,g){var h=c.type||c,i=[],j;h.indexOf("!")>=0&&(h=h.slice(0,-1),j=!0),h.indexOf(".")>=0&&(i=h.split("."),h=i.shift(),i.sort());if(!!e&&!f.event.customEvent[h]||!!f.event.global[h]){c=typeof c=="object"?c[f.expando]?c:new f.Event(h,c):new f.Event(h),c.type=h,c.exclusive=j,c.namespace=i.join("."),c.namespace_re=new RegExp("(^|\\.)"+i.join("\\.(?:.*\\.)?")+"(\\.|$)");if(g||!e)c.preventDefault(),c.stopPropagation();if(!e){f.each(f.cache,function(){var a=f.expando,b=this[a];b&&b.events&&b.events[h]&&f.event.trigger(c,d,b.handle.elem
+)});return}if(e.nodeType===3||e.nodeType===8)return;c.result=b,c.target=e,d=d?f.makeArray(d):[],d.unshift(c);var k=e,l=h.indexOf(":")<0?"on"+h:"";do{var m=f._data(k,"handle");c.currentTarget=k,m&&m.apply(k,d),l&&f.acceptData(k)&&k[l]&&k[l].apply(k,d)===!1&&(c.result=!1,c.preventDefault()),k=k.parentNode||k.ownerDocument||k===c.target.ownerDocument&&a}while(k&&!c.isPropagationStopped());if(!c.isDefaultPrevented()){var n,o=f.event.special[h]||{};if((!o._default||o._default.call(e.ownerDocument,c)===!1)&&(h!=="click"||!f.nodeName(e,"a"))&&f.acceptData(e)){try{l&&e[h]&&(n=e[l],n&&(e[l]=null),f.event.triggered=h,e[h]())}catch(p){}n&&(e[l]=n),f.event.triggered=b}}return c.result}},handle:function(c){c=f.event.fix(c||a.event);var d=((f._data(this,"events")||{})[c.type]||[]).slice(0),e=!c.exclusive&&!c.namespace,g=Array.prototype.slice.call(arguments,0);g[0]=c,c.currentTarget=this;for(var h=0,i=d.length;h<i;h++){var j=d[h];if(e||c.namespace_re.test(j.namespace)){c.handler=j.handler,c.data=j.data,c.handleObj=j;var k=j.handler.apply(this,g);k!==b&&(c.result=k,k===!1&&(c.preventDefault(),c.stopPropagation()));if(c.isImmediatePropagationStopped())break}}return c.result},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode layerX layerY metaKey newValue offsetX offsetY pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),fix:function(a){if(a[f.expando])return a;var d=a;a=f.Event(d);for(var e=this.props.length,g;e;)g=this.props[--e],a[g]=d[g];a.target||(a.target=a.srcElement||c),a.target.nodeType===3&&(a.target=a.target.parentNode),!a.relatedTarget&&a.fromElement&&(a.relatedTarget=a.fromElement===a.target?a.toElement:a.fromElement);if(a.pageX==null&&a.clientX!=null){var h=a.target.ownerDocument||c,i=h.documentElement,j=h.body;a.pageX=a.clientX+(i&&i.scrollLeft||j&&j.scrollLeft||0)-(i&&i.clientLeft||j&&j.clientLeft||0),a.pageY=a.clientY+(i&&i.scrollTop||j&&j.scrollTop||0)-(i&&i.clientTop||j&&j.clientTop||0)}a.which==null&&(a.charCode!=null||a.keyCode!=null)&&(a.which=a.charCode!=null?a.charCode:a.keyCode),!a.metaKey&&a.ctrlKey&&(a.metaKey=a.ctrlKey),!a.which&&a.button!==b&&(a.which=a.button&1?1:a.button&2?3:a.button&4?2:0);return a},guid:1e8,proxy:f.proxy,special:{ready:{setup:f.bindReady,teardown:f.noop},live:{add:function(a){f.event.add(this,O(a.origType,a.selector),f.extend({},a,{handler:N,guid:a.handler.guid}))},remove:function(a){f.event.remove(this,O(a.origType,a.selector),a)}},beforeunload:{setup:function(a,b,c){f.isWindow(this)&&(this.onbeforeunload=c)},teardown:function(a,b){this.onbeforeunload===b&&(this.onbeforeunload=null)}}}},f.removeEvent=c.removeEventListener?function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)}:function(a,b,c){a.detachEvent&&a.detachEvent("on"+b,c)},f.Event=function(a,b){if(!this.preventDefault)return new f.Event(a,b);a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||a.returnValue===!1||a.getPreventDefault&&a.getPreventDefault()?F:E):this.type=a,b&&f.extend(this,b),this.timeStamp=f.now(),this[f.expando]=!0},f.Event.prototype={preventDefault:function(){this.isDefaultPrevented=F;var a=this.originalEvent;!a||(a.preventDefault?a.preventDefault():a.returnValue=!1)},stopPropagation:function(){this.isPropagationStopped=F;var a=this.originalEvent;!a||(a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=F,this.stopPropagation()},isDefaultPrevented:E,isPropagationStopped:E,isImmediatePropagationStopped:E};var G=function(a){var b=a.relatedTarget;a.type=a.data;try{if(b&&b!==c&&!b.parentNode)return;while(b&&b!==this)b=b.parentNode;b!==this&&f.event.handle.apply(this,arguments)}catch(d){}},H=function(a){a.type=a.data,f.event.handle.apply(this,arguments)};f.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(a,b){f.event.special[a]={setup:function(c){f.event.add(this,b,c&&c.selector?H:G,a)},teardown:function(a){f.event.remove(this,b,a&&a.selector?H:G)}}}),f.support.submitBubbles||(f.event.special.submit={setup:function(a,b){if(!f.nodeName(this,"form"))f.event.add(this,"click.specialSubmit",function(a){var b=a.target,c=b.type;(c==="submit"||c==="image")&&f(b).closest("form").length&&L("submit",this,arguments)}),f.event.add(this,"keypress.specialSubmit",function(a){var b=a.target,c=b.type;(c==="text"||c==="password")&&f(b).closest("form").length&&a.keyCode===13&&L("submit",this,arguments)});else return!1},teardown:function(a){f.event.remove(this,".specialSubmit")}});if(!f.support.changeBubbles){var I,J=function(a){var b=a.type,c=a.value;b==="radio"||b==="checkbox"?c=a.checked:b==="select-multiple"?c=a.selectedIndex>-1?f.map(a.options,function(a){return a.selected}).join("-"):"":f.nodeName(a,"select")&&(c=a.selectedIndex);return c},K=function(c){var d=c.target,e,g;if(!!z.test(d.nodeName)&&!d.readOnly){e=f._data(d,"_change_data"),g=J(d),(c.type!=="focusout"||d.type!=="radio")&&f._data(d,"_change_data",g);if(e===b||g===e)return;if(e!=null||g)c.type="change",c.liveFired=b,f.event.trigger(c,arguments[1],d)}};f.event.special.change={filters:{focusout:K,beforedeactivate:K,click:function(a){var b=a.target,c=f.nodeName(b,"input")?b.type:"";(c==="radio"||c==="checkbox"||f.nodeName(b,"select"))&&K.call(this,a)},keydown:function(a){var b=a.target,c=f.nodeName(b,"input")?b.type:"";(a.keyCode===13&&!f.nodeName(b,"textarea")||a.keyCode===32&&(c==="checkbox"||c==="radio")||c==="select-multiple")&&K.call(this,a)},beforeactivate:function(a){var b=a.target;f._data(b,"_change_data",J(b))}},setup:function(a,b){if(this.type==="file")return!1;for(var c in I)f.event.add(this,c+".specialChange",I[c]);return z.test(this.nodeName)},teardown:function(a){f.event.remove(this,".specialChange");return z.test(this.nodeName)}},I=f.event.special.change.filters,I.focus=I.beforeactivate}f.support.focusinBubbles||f.each({focus:"focusin",blur:"focusout"},function(a,b){function e(a){var c=f.event.fix(a);c.type=b,c.originalEvent={},f.event.trigger(c,null,c.target),c.isDefaultPrevented()&&a.preventDefault()}var d=0;f.event.special[b]={setup:function(){d++===0&&c.addEventListener(a,e,!0)},teardown:function(){--d===0&&c.removeEventListener(a,e,!0)}}}),f.each(["bind","one"],function(a,c){f.fn[c]=function(a,d,e){var g;if(typeof a=="object"){for(var h in a)this[c](h,d,a[h],e);return this}if(arguments.length===2||d===!1)e=d,d=b;c==="one"?(g=function(a){f(this).unbind(a,g);return e.apply(this,arguments)},g.guid=e.guid||f.guid++):g=e;if(a==="unload"&&c!=="one")this.one(a,d,e);else for(var i=0,j=this.length;i<j;i++)f.event.add(this[i],a,g,d);return this}}),f.fn.extend({unbind:function(a,b){if(typeof a=="object"&&!a.preventDefault)for(var c in a)this.unbind(c,a[c]);else for(var d=0,e=this.length;d<e;d++)f.event.remove(this[d],a,b);return this},delegate:function(a,b,c,d){return this.live(b,c,d,a)},undelegate:function(a,b,c){return arguments.length===0?this.unbind("live"):this.die(b,null,c,a)},trigger:function(a,b){return this.each(function(){f.event.trigger(a,b,this)})},triggerHandler:function(a,b){if(this[0])return f.event.trigger(a,b,this[0],!0)},toggle:function(a){var b=arguments,c=a.guid||f.guid++,d=0,e=function(c){var e=(f.data(this,"lastToggle"+a.guid)||0)%d;f.data(this,"lastToggle"+a.guid,e+1),c.preventDefault();return b[e].apply(this,arguments)||!1};e.guid=c;while(d<b.length)b[d++].guid=c;return this.click(e)},hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}});var M={focus:"focusin",blur:"focusout",mouseenter:"mouseover",mouseleave:"mouseout"};f.each(["live","die"],function(a,c){f.fn[c]=function(a,d,e,g){var h,i=0,j,k,l,m=g||this.selector,n=g?this:f(this.context);if(typeof a=="object"&&!a.preventDefault){for(var o in a)n[c](o,d,a[o],m);return this}if(c==="die"&&!a&&g&&g.charAt(0)==="."){n.unbind(g);return this}if(d===!1||f.isFunction(d))e=d||E,d=b;a=(a||"").split(" ");while((h=a[i++])!=null){j=y.exec(h),k="",j&&(k=j[0],h=h.replace(y,""));if(h==="hover"){a.push("mouseenter"+k,"mouseleave"+k);continue}l=h,M[h]?(a.push(M[h]+k),h=h+k):h=(M[h]||h)+k;if(c==="live")for(var p=0,q=n.length;p<q;p++)f.event.add(n[p],"live."+O(h,m),{data:d,selector:m,handler:e,origType:h,origHandler:e,preType:l});else n.unbind("live."+O(h,m),e)}return this}}),f.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".split(" "),function(a,b){f.fn[b]=function(a,c){c==null&&(c=a,a=null);return arguments.length>0?this.bind(b,a,c):this.trigger(b)},f.attrFn&&(f.attrFn[b]=!0)}),function(){function u(a,b,c,d,e,f){for(var g=0,h=d.length;g<h;g++){var i=d[g];if(i){var j=!1;i=i[a];while(i){if(i.sizcache===c){j=d[i.sizset];break}if(i.nodeType===1){f||(i.sizcache=c,i.sizset=g);if(typeof b!="string"){if(i===b){j=!0;break}}else if(k.filter(b,[i]).length>0){j=i;break}}i=i[a]}d[g]=j}}}function t(a,b,c,d,e,f){for(var g=0,h=d.length;g<h;g++){var i=d[g];if(i){var j=!1;i=i[a];while(i){if(i.sizcache===c){j=d[i.sizset];break}i.nodeType===1&&!f&&(i.sizcache=c,i.sizset=g);if(i.nodeName.toLowerCase()===b){j=i;break}i=i[a]}d[g]=j}}}var a=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,d=0,e=Object.prototype.toString,g=!1,h=!0,i=/\\/g,j=/\W/;[0,0].sort(function(){h=!1;return 0});var k=function(b,d,f,g){f=f||[],d=d||c;var h=d;if(d.nodeType!==1&&d.nodeType!==9)return[];if(!b||typeof b!="string")return f;var i,j,n,o,q,r,s,t,u=!0,w=k.isXML(d),x=[],y=b;do{a.exec(""),i=a.exec(y);if(i){y=i[3],x.push(i[1]);if(i[2]){o=i[3];break}}}while(i);if(x.length>1&&m.exec(b))if(x.length===2&&l.relative[x[0]])j=v(x[0]+x[1],d);else{j=l.relative[x[0]]?[d]:k(x.shift(),d);while(x.length)b=x.shift(),l.relative[b]&&(b+=x.shift()),j=v(b,j)}else{!g&&x.length>1&&d.nodeType===9&&!w&&l.match.ID.test(x[0])&&!l.match.ID.test(x[x.length-1])&&(q=k.find(x.shift(),d,w),d=q.expr?k.filter(q.expr,q.set)[0]:q.set[0]);if(d){q=g?{expr:x.pop(),set:p(g)}:k.find(x.pop(),x.length===1&&(x[0]==="~"||x[0]==="+")&&d.parentNode?d.parentNode:d,w),j=q.expr?k.filter(q.expr,q.set):q.set,x.length>0?n=p(j):u=!1;while(x.length)r=x.pop(),s=r,l.relative[r]?s=x.pop():r="",s==null&&(s=d),l.relative[r](n,s,w)}else n=x=[]}n||(n=j),n||k.error(r||b);if(e.call(n)==="[object Array]")if(!u)f.push.apply(f,n);else if(d&&d.nodeType===1)for(t=0;n[t]!=null;t++)n[t]&&(n[t]===!0||n[t].nodeType===1&&k.contains(d,n[t]))&&f.push(j[t]);else for(t=0;n[t]!=null;t++)n[t]&&n[t].nodeType===1&&f.push(j[t]);else p(n,f);o&&(k(o,h,f,g),k.uniqueSort(f));return f};k.uniqueSort=function(a){if(r){g=h,a.sort(r);if(g)for(var b=1;b<a.length;b++)a[b]===a[b-1]&&a.splice(b--,1)}return a},k.matches=function(a,b){return k(a,null,null,b)},k.matchesSelector=function(a,b){return k(b,null,null,[a]).length>0},k.find=function(a,b,c){var d;if(!a)return[];for(var e=0,f=l.order.length;e<f;e++){var g,h=l.order[e];if(g=l.leftMatch[h].exec(a)){var j=g[1];g.splice(1,1);if(j.substr(j.length-1)!=="\\"){g[1]=(g[1]||"").replace(i,""),d=l.find[h](g,b,c);if(d!=null){a=a.replace(l.match[h],"");break}}}}d||(d=typeof b.getElementsByTagName!="undefined"?b.getElementsByTagName("*"):[]);return{set:d,expr:a}},k.filter=function(a,c,d,e){var f,g,h=a,i=[],j=c,m=c&&c[0]&&k.isXML(c[0]);while(a&&c.length){for(var n in l.filter)if((f=l.leftMatch[n].exec(a))!=null&&f[2]){var o,p,q=l.filter[n],r=f[1];g=!1,f.splice(1,1);if(r.substr(r.length-1)==="\\")continue;j===i&&(i=[]);if(l.preFilter[n]){f=l.preFilter[n](f,j,d,i,e,m);if(!f)g=o=!0;else if(f===!0)continue}if(f)for(var s=0;(p=j[s])!=null;s++)if(p){o=q(p,f,s,j);var t=e^!!o;d&&o!=null?t?g=!0:j[s]=!1:t&&(i.push(p),g=!0)}if(o!==b){d||(j=i),a=a.replace(l.match[n],"");if(!g)return[];break}}if(a===h)if(g==null)k.error(a);else break;h=a}return j},k.error=function(a){throw"Syntax error, unrecognized expression: "+a};var l=k.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(?:(['"])(.*?)\3|(#?(?:[\w\u00c0-\uFFFF\-]|\\.)*)|)|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\(\s*(even|odd|(?:[+\-]?\d+|(?:[+\-]?\d*)?n\s*(?:[+\-]\s*\d+)?))\s*\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(a){return a.getAttribute("href")},type:function(a){return a.getAttribute("type")}},relative:{"+":function(a,b){var c=typeof b=="string",d=c&&!j.test(b),e=c&&!d;d&&(b=b.toLowerCase());for(var f=0,g=a.length,h;f<g;f++)if(h=a[f]){while((h=h.previousSibling)&&h.nodeType!==1);a[f]=e||h&&h.nodeName.toLowerCase()===b?h||!1:h===b}e&&k.filter(b,a,!0)},">":function(a,b){var c,d=typeof b=="string",e=0,f=a.length;if(d&&!j.test(b)){b=b.toLowerCase();for(;e<f;e++){c=a[e];if(c){var g=c.parentNode;a[e]=g.nodeName.toLowerCase()===b?g:!1}}}else{for(;e<f;e++)c=a[e],c&&(a[e]=d?c.parentNode:c.parentNode===b);d&&k.filter(b,a,!0)}},"":function(a,b,c){var e,f=d++,g=u;typeof b=="string"&&!j.test(b)&&(b=b.toLowerCase(),e=b,g=t),g("parentNode",b,f,a,e,c)},"~":function(a,b,c){var e,f=d++,g=u;typeof b=="string"&&!j.test(b)&&(b=b.toLowerCase(),e=b,g=t),g("previousSibling",b,f,a,e,c)}},find:{ID:function(a,b,c){if(typeof b.getElementById!="undefined"&&!c){var d=b.getElementById(a[1]);return d&&d.parentNode?[d]:[]}},NAME:function(a,b){if(typeof b.getElementsByName!="undefined"){var c=[],d=b.getElementsByName(a[1]);for(var e=0,f=d.length;e<f;e++)d[e].getAttribute("name")===a[1]&&c.push(d[e]);return c.length===0?null:c}},TAG:function(a,b){if(typeof b.getElementsByTagName!="undefined")return b.getElementsByTagName(a[1])}},preFilter:{CLASS:function(a,b,c,d,e,f){a=" "+a[1].replace(i,"")+" ";if(f)return a;for(var g=0,h;(h=b[g])!=null;g++)h&&(e^(h.className&&(" "+h.className+" ").replace(/[\t\n\r]/g," ").indexOf(a)>=0)?c||d.push(h):c&&(b[g]=!1));return!1},ID:function(a){return a[1].replace(i,"")},TAG:function(a,b){return a[1].replace(i,"").toLowerCase()},CHILD:function(a){if(a[1]==="nth"){a[2]||k.error(a[0]),a[2]=a[2].replace(/^\+|\s*/g,"");var b=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2]==="even"&&"2n"||a[2]==="odd"&&"2n+1"||!/\D/.test(a[2])&&"0n+"+a[2]||a[2]);a[2]=b[1]+(b[2]||1)-0,a[3]=b[3]-0}else a[2]&&k.error(a[0]);a[0]=d++;return a},ATTR:function(a,b,c,d,e,f){var g=a[1]=a[1].replace(i,"");!f&&l.attrMap[g]&&(a[1]=l.attrMap[g]),a[4]=(a[4]||a[5]||"").replace(i,""),a[2]==="~="&&(a[4]=" "+a[4]+" ");return a},PSEUDO:function(b,c,d,e,f){if(b[1]==="not")if((a.exec(b[3])||"").length>1||/^\w/.test(b[3]))b[3]=k(b[3],null,null,c);else{var g=k.filter(b[3],c,d,!0^f);d||e.push.apply(e,g);return!1}else if(l.match.POS.test(b[0])||l.match.CHILD.test(b[0]))return!0;return b},POS:function(a){a.unshift(!0);return a}},filters:{enabled:function(a){return a.disabled===!1&&a.type!=="hidden"},disabled:function(a){return a.disabled===!0},checked:function(a){return a.checked===!0},selected:function(a){a.parentNode&&a.parentNode.selectedIndex;return a.selected===!0},parent:function(a){return!!a.firstChild},empty:function(a){return!a.firstChild},has:function(a,b,c){return!!k(c[3],a).length},header:function(a){return/h\d/i.test(a.nodeName)},text:function(a){var b=a.getAttribute("type"),c=a.type;return a.nodeName.toLowerCase()==="input"&&"text"===c&&(b===c||b===null)},radio:function(a){return a.nodeName.toLowerCase()==="input"&&"radio"===a.type},checkbox:function(a){return a.nodeName.toLowerCase()==="input"&&"checkbox"===a.type},file:function(a){return a.nodeName.toLowerCase()==="input"&&"file"===a.type},password:function(a){return a.nodeName.toLowerCase()==="input"&&"password"===a.type},submit:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"submit"===a.type},image:function(a){return a.nodeName.toLowerCase()==="input"&&"image"===a.type},reset:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"reset"===a.type},button:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&"button"===a.type||b==="button"},input:function(a){return/input|select|textarea|button/i.test(a.nodeName)},focus:function(a){return a===a.ownerDocument.activeElement}},setFilters:{first:function(a,b){return b===0},last:function(a,b,c,d){return b===d.length-1},even:function(a,b){return b%2===0},odd:function(a,b){return b%2===1},lt:function(a,b,c){return b<c[3]-0},gt:function(a,b,c){return b>c[3]-0},nth:function(a,b,c){return c[3]-0===b},eq:function(a,b,c){return c[3]-0===b}},filter:{PSEUDO:function(a,b,c,d){var e=b[1],f=l.filters[e];if(f)return f(a,c,b,d);if(e==="contains")return(a.textContent||a.innerText||k.getText([a])||"").indexOf(b[3])>=0;if(e==="not"){var g=b[3];for(var h=0,i=g.length;h<i;h++)if(g[h]===a)return!1;return!0}k.error(e)},CHILD:function(a,b){var c=b[1],d=a;switch(c){case"only":case"first":while(d=d.previousSibling)if(d.nodeType===1)return!1;if(c==="first")return!0;d=a;case"last":while(d=d.nextSibling)if(d.nodeType===1)return!1;return!0;case"nth":var e=b[2],f=b[3];if(e===1&&f===0)return!0;var g=b[0],h=a.parentNode;if(h&&(h.sizcache!==g||!a.nodeIndex)){var i=0;for(d=h.firstChild;d;d=d.nextSibling)d.nodeType===1&&(d.nodeIndex=++i);h.sizcache=g}var j=a.nodeIndex-f;return e===0?j===0:j%e===0&&j/e>=0}},ID:function(a,b){return a.nodeType===1&&a.getAttribute("id")===b},TAG:function(a,b){return b==="*"&&a.nodeType===1||a.nodeName.toLowerCase()===b},CLASS:function(a,b){return(" "+(a.className||a.getAttribute("class"))+" ").indexOf(b)>-1},ATTR:function(a,b){var c=b[1],d=l.attrHandle[c]?l.attrHandle[c](a):a[c]!=null?a[c]:a.getAttribute(c),e=d+"",f=b[2],g=b[4];return d==null?f==="!=":f==="="?e===g:f==="*="?e.indexOf(g)>=0:f==="~="?(" "+e+" ").indexOf(g)>=0:g?f==="!="?e!==g:f==="^="?e.indexOf(g)===0:f==="$="?e.substr(e.length-g.length)===g:f==="|="?e===g||e.substr(0,g.length+1)===g+"-":!1:e&&d!==!1},POS:function(a,b,c,d){var e=b[2],f=l.setFilters[e];if(f)return f(a,c,b,d)}}},m=l.match.POS,n=function(a,b){return"\\"+(b-0+1)};for(var o in l.match)l.match[o]=new RegExp(l.match[o].source+/(?![^\[]*\])(?![^\(]*\))/.source),l.leftMatch[o]=new RegExp(/(^(?:.|\r|\n)*?)/.source+l.match[o].source.replace(/\\(\d+)/g,n));var p=function(a,b){a=Array.prototype.slice.call(a,0);if(b){b.push.apply(b,a);return b}return a};try{Array.prototype.slice.call(c.documentElement.childNodes,0)[0].nodeType}catch(q){p=function(a,b){var c=0,d=b||[];if(e.call(a)==="[object Array]")Array.prototype.push.apply(d,a);else if(typeof a.length=="number")for(var f=a.length;c<f;c++)d.push(a[c]);else for(;a[c];c++)d.push(a[c]);return d}}var r,s;c.documentElement.compareDocumentPosition?r=function(a,b){if(a===b){g=!0;return 0}if(!a.compareDocumentPosition||!b.compareDocumentPosition)return a.compareDocumentPosition?-1:1;return a.compareDocumentPosition(b)&4?-1:1}:(r=function(a,b){if(a===b){g=!0;return 0}if(a.sourceIndex&&b.sourceIndex)return a.sourceIndex-b.sourceIndex;var c,d,e=[],f=[],h=a.parentNode,i=b.parentNode,j=h;if(h===i)return s(a,b);if(!h)return-1;if(!i)return 1;while(j)e.unshift(j),j=j.parentNode;j=i;while(j)f.unshift(j),j=j.parentNode;c=e.length,d=f.length;for(var k=0;k<c&&k<d;k++)if(e[k]!==f[k])return s(e[k],f[k]);return k===c?s(a,f[k],-1):s(e[k],b,1)},s=function(a,b,c){if(a===b)return c;var d=a.nextSibling;while(d){if(d===b)return-1;d=d.nextSibling}return 1}),k.getText=function(a){var b="",c;for(var d=0;a[d];d++)c=a[d],c.nodeType===3||c.nodeType===4?b+=c.nodeValue:c.nodeType!==8&&(b+=k.getText(c.childNodes));return b},function(){var a=c.createElement("div"),d="script"+(new Date).getTime(),e=c.documentElement;a.innerHTML="<a name='"+d+"'/>",e.insertBefore(a,e.firstChild),c.getElementById(d)&&(l.find.ID=function(a,c,d){if(typeof c.getElementById!="undefined"&&!d){var e=c.getElementById(a[1]);return e?e.id===a[1]||typeof e.getAttributeNode!="undefined"&&e.getAttributeNode("id").nodeValue===a[1]?[e]:b:[]}},l.filter.ID=function(a,b){var c=typeof a.getAttributeNode!="undefined"&&a.getAttributeNode("id");return a.nodeType===1&&c&&c.nodeValue===b}),e.removeChild(a),e=a=null}(),function(){var a=c.createElement("div");a.appendChild(c.createComment("")),a.getElementsByTagName("*").length>0&&(l.find.TAG=function(a,b){var c=b.getElementsByTagName(a[1]);if(a[1]==="*"){var d=[];for(var e=0;c[e];e++)c[e].nodeType===1&&d.push(c[e]);c=d}return c}),a.innerHTML="<a href='#'></a>",a.firstChild&&typeof a.firstChild.getAttribute!="undefined"&&a.firstChild.getAttribute("href")!=="#"&&(l.attrHandle.href=function(a){return a.getAttribute("href",2)}),a=null}(),c.querySelectorAll&&function(){var a=k,b=c.createElement("div"),d="__sizzle__";b.innerHTML="<p class='TEST'></p>";if(!b.querySelectorAll||b.querySelectorAll(".TEST").length!==0){k=function(b,e,f,g){e=e||c;if(!g&&!k.isXML(e)){var h=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b);if(h&&(e.nodeType===1||e.nodeType===9)){if(h[1])return p(e.getElementsByTagName(b),f);if(h[2]&&l.find.CLASS&&e.getElementsByClassName)return p(e.getElementsByClassName(h[2]),f)}if(e.nodeType===9){if(b==="body"&&e.body)return p([e.body],f);if(h&&h[3]){var i=e.getElementById(h[3]);if(!i||!i.parentNode)return p([],f);if(i.id===h[3])return p([i],f)}try{return p(e.querySelectorAll(b),f)}catch(j){}}else if(e.nodeType===1&&e.nodeName.toLowerCase()!=="object"){var m=e,n=e.getAttribute("id"),o=n||d,q=e.parentNode,r=/^\s*[+~]/.test(b);n?o=o.replace(/'/g,"\\$&"):e.setAttribute("id",o),r&&q&&(e=e.parentNode);try{if(!r||q)return p(e.querySelectorAll("[id='"+o+"'] "+b),f)}catch(s){}finally{n||m.removeAttribute("id")}}}return a(b,e,f,g)};for(var e in a)k[e]=a[e];b=null}}(),function(){var a=c.documentElement,b=a.matchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||a.msMatchesSelector;if(b){var d=!b.call(c.createElement("div"),"div"),e=!1;try{b.call(c.documentElement,"[test!='']:sizzle")}catch(f){e=!0}k.matchesSelector=function(a,c){c=c.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!k.isXML(a))try{if(e||!l.match.PSEUDO.test(c)&&!/!=/.test(c)){var f=b.call(a,c);if(f||!d||a.document&&a.document.nodeType!==11)return f}}catch(g){}return k(c,null,null,[a]).length>0}}}(),function(){var a=c.createElement("div");a.innerHTML="<div class='test e'></div><div class='test'></div>";if(!!a.getElementsByClassName&&a.getElementsByClassName("e").length!==0){a.lastChild.className="e";if(a.getElementsByClassName("e").length===1)return;l.order.splice(1,0,"CLASS"),l.find.CLASS=function(a,b,c){if(typeof b.getElementsByClassName!="undefined"&&!c)return b.getElementsByClassName(a[1])},a=null}}(),c.documentElement.contains?k.contains=function(a,b){return a!==b&&(a.contains?a.contains(b):!0)}:c.documentElement.compareDocumentPosition?k.contains=function(a,b){return!!(a.compareDocumentPosition(b)&16)}:k.contains=function(){return!1},k.isXML=function(a){var b=(a?a.ownerDocument||a:0).documentElement;return b?b.nodeName!=="HTML":!1};var v=function(a,b){var c,d=[],e="",f=b.nodeType?[b]:b;while(c=l.match.PSEUDO.exec(a))e+=c[0],a=a.replace(l.match.PSEUDO,"");a=l.relative[a]?a+"*":a;for(var g=0,h=f.length;g<h;g++)k(a,f[g],d);return k.filter(e,d)};f.find=k,f.expr=k.selectors,f.expr[":"]=f.expr.filters,f.unique=k.uniqueSort,f.text=k.getText,f.isXMLDoc=k.isXML,f.contains=k.contains}();var P=/Until$/,Q=/^(?:parents|prevUntil|prevAll)/,R=/,/,S=/^.[^:#\[\.,]*$/,T=Array.prototype.slice,U=f.expr.match.POS,V={children:!0,contents:!0,next:!0,prev:!0};f.fn.extend({find:function(a){var b=this,c,d;if(typeof a!="string")return f(a).filter(function(){for(c=0,d=b.length;c<d;c++)if(f.contains(b[c],this))return!0});var e=this.pushStack("","find",a),g,h,i;for(c=0,d=this.length;c<d;c++){g=e.length,f.find(a,this[c],e);if(c>0)for(h=g;h<e.length;h++)for(i=0;i<g;i++)if(e[i]===e[h]){e.splice(h--,1);break}}return e},has:function(a){var b=f(a);return this.filter(function(){for(var a=0,c=b.length;a<c;a++)if(f.contains(this,b[a]))return!0})},not:function(a){return this.pushStack(X(this,a,!1),"not",a)},filter:function(a){return this.pushStack(X(this,a,!0),"filter",a)},is:function(a){return!!a&&(typeof a=="string"?f.filter(a,this).length>0:this.filter(a).length>0)},closest:function(a,b){var c=[],d,e,g=this[0];if(f.isArray(a)){var h,i,j={},k=1;if(g&&a.length){for(d=0,e=a.length;d<e;d++)i=a[d],j[i]||(j[i]=U.test(i)?f(i,b||this.context):i);while(g&&g.ownerDocument&&g!==b){for(i in j)h=j[i],(h.jquery?h.index(g)>-1:f(g).is(h))&&c.push({selector:i,elem:g,level:k});g=g.parentNode,k++}}return c}var l=U.test(a)||typeof a!="string"?f(a,b||this.context):0;for(d=0,e=this.length;d<e;d++){g=this[d];while(g){if(l?l.index(g)>-1:f.find.matchesSelector(g,a)){c.push(g);break}g=g.parentNode;if(!g||!g.ownerDocument||g===b||g.nodeType===11)break}}c=c.length>1?f.unique(c):c;return this.pushStack(c,"closest",a)},index:function(a){if(!a||typeof a=="string")return f.inArray(this[0],a?f(a):this.parent().children());return f.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var c=typeof a=="string"?f(a,b):f.makeArray(a&&a.nodeType?[a]:a),d=f.merge(this.get(),c);return this.pushStack(W(c[0])||W(d[0])?d:f.unique(d))},andSelf:function(){return this.add(this.prevObject)}}),f.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return f.dir(a,"parentNode")},parentsUntil:function(a,b,c){return f.dir(a,"parentNode",c)},next:function(a){return f.nth(a,2,"nextSibling")},prev:function(a){return f.nth(a,2,"previousSibling")},nextAll:function(a){return f.dir(a,"nextSibling")},prevAll:function(a){return f.dir(a,"previousSibling")},nextUntil:function(a,b,c){return f.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return f.dir(a,"previousSibling",c)},siblings:function(a){return f.sibling(a.parentNode.firstChild,a)},children:function(a){return f.sibling(a.firstChild)},contents:function(a){return f.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:f.makeArray(a.childNodes)}},function(a,b){f.fn[a]=function(c,d){var e=f.map(this,b,c),g=T.call(arguments);P.test(a)||(d=c),d&&typeof d=="string"&&(e=f.filter(d,e)),e=this.length>1&&!V[a]?f.unique(e):e,(this.length>1||R.test(d))&&Q.test(a)&&(e=e.reverse());return this.pushStack(e,a,g.join(","))}}),f.extend({filter:function(a,b,c){c&&(a=":not("+a+")");return b.length===1?f.find.matchesSelector(b[0],a)?[b[0]]:[]:f.find.matches(a,b)},dir:function(a,c,d){var e=[],g=a[c];while(g&&g.nodeType!==9&&(d===b||g.nodeType!==1||!f(g).is(d)))g.nodeType===1&&e.push(g),g=g[c];return e},nth:function(a,b,c,d){b=b||1;var e=0;for(;a;a=a[c])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var Y=/ jQuery\d+="(?:\d+|null)"/g,Z=/^\s+/,$=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,_=/<([\w:]+)/,ba=/<tbody/i,bb=/<|&#?\w+;/,bc=/<(?:script|object|embed|option|style)/i,bd=/checked\s*(?:[^=]|=\s*.checked.)/i,be=/\/(java|ecma)script/i,bf=/^\s*<!(?:\[CDATA\[|\-\-)/,bg={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]};bg.optgroup=bg.option,bg.tbody=bg.tfoot=bg.colgroup=bg.caption=bg.thead,bg.th=bg.td,f.support.htmlSerialize||(bg._default=[1,"div<div>","</div>"]),f.fn.extend({text:function(a){if(f.isFunction(a))return this.each(function(b){var c=f(this);c.text(a.call(this,b,c.text()))});if(typeof a!="object"&&a!==b)return this.empty().append((this[0]&&this[0].ownerDocument||c).createTextNode(a));return f.text(this)},wrapAll:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapAll(a.call(this,b))});if(this[0]){var b=f(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapInner(a.call(this,b))});return this.each(function(){var b=f(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){return this.each(function(){f(this).wrapAll(a)})},unwrap:function(){return this.parent().each(function(){f.nodeName(this,"body")||f(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=f(arguments[0]);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,f(arguments[0]).toArray());return a}},remove:function(a,b){for(var c=0,d;(d=this[c])!=null;c++)if(!a||f.filter(a,[d]).length)!b&&d.nodeType===1&&(f.cleanData(d.getElementsByTagName("*")),f.cleanData([d])),d.parentNode&&d.parentNode.removeChild(d);return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++){b.nodeType===1&&f.cleanData(b.getElementsByTagName("*"));while(b.firstChild)b.removeChild(b.firstChild)}return this},clone:function(a,b){a=a==null?!1:a,b=b==null?a:b;return this.map(function(){return f.clone(this,a,b)})},html:function(a){if(a===b)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(Y,""):null;if(typeof a=="string"&&!bc.test(a)&&(f.support.leadingWhitespace||!Z.test(a))&&!bg[(_.exec(a)||["",""])[1].toLowerCase()]){a=a.replace($,"<$1></$2>");try{for(var c=0,d=this.length;c<d;c++)this[c].nodeType===1&&(f.cleanData(this[c].getElementsByTagName("*")),this[c].innerHTML=a)}catch(e){this.empty().append(a)}}else f.isFunction(a)?this.each(function(b){var c=f(this);c.html(a.call(this,b,c.html()))}):this.empty().append(a);return this},replaceWith:function(a){if(this[0]&&this[0].parentNode){if(f.isFunction(a))return this.each(function(b){var c=f(this),d=c.html();c.replaceWith(a.call(this,b,d))});typeof a!="string"&&(a=f(a).detach());return this.each(function(){var b=this.nextSibling,c=this.parentNode;f(this).remove(),b?f(b).before(a):f(c).append(a)})}return this.length?this.pushStack(f(f.isFunction(a)?a():a),"replaceWith",a):this},detach:function(a){return this.remove(a,!0)},domManip:function(a,c,d){var e,g,h,i,j=a[0],k=[];if(!f.support.checkClone&&arguments.length===3&&typeof j=="string"&&bd.test(j))return this.each(function(){f(this).domManip(a,c,d,!0)});if(f.isFunction(j))return this.each(function(e){var g=f(this);a[0]=j.call(this,e,c?g.html():b),g.domManip(a,c,d)});if(this[0]){i=j&&j.parentNode,f.support.parentNode&&i&&i.nodeType===11&&i.childNodes.length===this.length?e={fragment:i}:e=f.buildFragment(a,this,k),h=e.fragment,h.childNodes.length===1?g=h=h.firstChild:g=h.firstChild;if(g){c=c&&f.nodeName(g,"tr");for(var l=0,m=this.length,n=m-1;l<m;l++)d.call(c?bh(this[l],g):this[l],e.cacheable||m>1&&l<n?f.clone(h,!0,!0):h)}k.length&&f.each(k,bn)}return this}}),f.buildFragment=function(a,b,d){var e,g,h,i=b&&b[0]?b[0].ownerDocument||b[0]:c;a.length===1&&typeof a[0]=="string"&&a[0].length<512&&i===c&&a[0].charAt(0)==="<"&&!bc.test(a[0])&&(f.support.checkClone||!bd.test(a[0]))&&(g=!0,h=f.fragments[a[0]],h&&h!==1&&(e=h)),e||(e=i.createDocumentFragment(),f.clean(a,i,e,d)),g&&(f.fragments[a[0]]=h?e:1);return{fragment:e,cacheable:g}},f.fragments={},f.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){f.fn[a]=function(c){var d=[],e=f(c),g=this.length===1&&this[0].parentNode;if(g&&g.nodeType===11&&g.childNodes.length===1&&e.length===1){e[b](this[0]);return this}for(var h=0,i=e.length;h<i;h++){var j=(h>0?this.clone(!0):this).get();f(e[h])[b](j),d=d.concat(j)}return this.pushStack(d,a,e.selector)}}),f.extend({clone:function(a,b,c){var d=a.cloneNode(!0),e,g,h;if((!f.support.noCloneEvent||!f.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!f.isXMLDoc(a)){bj(a,d),e=bk(a),g=bk(d);for(h=0;e[h];++h)bj(e[h],g[h])}if(b){bi(a,d);if(c){e=bk(a),g=bk(d);for(h=0;e[h];++h)bi(e[h],g[h])}}return d},clean:function(a,b,d,e){var g;b=b||c,typeof b.createElement=="undefined"&&(b=b.ownerDocument||
+b[0]&&b[0].ownerDocument||c);var h=[],i;for(var j=0,k;(k=a[j])!=null;j++){typeof k=="number"&&(k+="");if(!k)continue;if(typeof k=="string")if(!bb.test(k))k=b.createTextNode(k);else{k=k.replace($,"<$1></$2>");var l=(_.exec(k)||["",""])[1].toLowerCase(),m=bg[l]||bg._default,n=m[0],o=b.createElement("div");o.innerHTML=m[1]+k+m[2];while(n--)o=o.lastChild;if(!f.support.tbody){var p=ba.test(k),q=l==="table"&&!p?o.firstChild&&o.firstChild.childNodes:m[1]==="<table>"&&!p?o.childNodes:[];for(i=q.length-1;i>=0;--i)f.nodeName(q[i],"tbody")&&!q[i].childNodes.length&&q[i].parentNode.removeChild(q[i])}!f.support.leadingWhitespace&&Z.test(k)&&o.insertBefore(b.createTextNode(Z.exec(k)[0]),o.firstChild),k=o.childNodes}var r;if(!f.support.appendChecked)if(k[0]&&typeof (r=k.length)=="number")for(i=0;i<r;i++)bm(k[i]);else bm(k);k.nodeType?h.push(k):h=f.merge(h,k)}if(d){g=function(a){return!a.type||be.test(a.type)};for(j=0;h[j];j++)if(e&&f.nodeName(h[j],"script")&&(!h[j].type||h[j].type.toLowerCase()==="text/javascript"))e.push(h[j].parentNode?h[j].parentNode.removeChild(h[j]):h[j]);else{if(h[j].nodeType===1){var s=f.grep(h[j].getElementsByTagName("script"),g);h.splice.apply(h,[j+1,0].concat(s))}d.appendChild(h[j])}}return h},cleanData:function(a){var b,c,d=f.cache,e=f.expando,g=f.event.special,h=f.support.deleteExpando;for(var i=0,j;(j=a[i])!=null;i++){if(j.nodeName&&f.noData[j.nodeName.toLowerCase()])continue;c=j[f.expando];if(c){b=d[c]&&d[c][e];if(b&&b.events){for(var k in b.events)g[k]?f.event.remove(j,k):f.removeEvent(j,k,b.handle);b.handle&&(b.handle.elem=null)}h?delete j[f.expando]:j.removeAttribute&&j.removeAttribute(f.expando),delete d[c]}}}});var bo=/alpha\([^)]*\)/i,bp=/opacity=([^)]*)/,bq=/-([a-z])/ig,br=/([A-Z]|^ms)/g,bs=/^-?\d+(?:px)?$/i,bt=/^-?\d/,bu=/^[+\-]=/,bv=/[^+\-\.\de]+/g,bw={position:"absolute",visibility:"hidden",display:"block"},bx=["Left","Right"],by=["Top","Bottom"],bz,bA,bB,bC=function(a,b){return b.toUpperCase()};f.fn.css=function(a,c){if(arguments.length===2&&c===b)return this;return f.access(this,a,c,!0,function(a,c,d){return d!==b?f.style(a,c,d):f.css(a,c)})},f.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=bz(a,"opacity","opacity");return c===""?"1":c}return a.style.opacity}}},cssNumber:{zIndex:!0,fontWeight:!0,opacity:!0,zoom:!0,lineHeight:!0,widows:!0,orphans:!0},cssProps:{"float":f.support.cssFloat?"cssFloat":"styleFloat"},style:function(a,c,d,e){if(!!a&&a.nodeType!==3&&a.nodeType!==8&&!!a.style){var g,h,i=f.camelCase(c),j=a.style,k=f.cssHooks[i];c=f.cssProps[i]||i;if(d===b){if(k&&"get"in k&&(g=k.get(a,!1,e))!==b)return g;return j[c]}h=typeof d;if(h==="number"&&isNaN(d)||d==null)return;h==="string"&&bu.test(d)&&(d=+d.replace(bv,"")+parseFloat(f.css(a,c))),h==="number"&&!f.cssNumber[i]&&(d+="px");if(!k||!("set"in k)||(d=k.set(a,d))!==b)try{j[c]=d}catch(l){}}},css:function(a,c,d){var e,g;c=f.camelCase(c),g=f.cssHooks[c],c=f.cssProps[c]||c,c==="cssFloat"&&(c="float");if(g&&"get"in g&&(e=g.get(a,!0,d))!==b)return e;if(bz)return bz(a,c)},swap:function(a,b,c){var d={};for(var e in b)d[e]=a.style[e],a.style[e]=b[e];c.call(a);for(e in b)a.style[e]=d[e]},camelCase:function(a){return a.replace(bq,bC)}}),f.curCSS=f.css,f.each(["height","width"],function(a,b){f.cssHooks[b]={get:function(a,c,d){var e;if(c){a.offsetWidth!==0?e=bD(a,b,d):f.swap(a,bw,function(){e=bD(a,b,d)});if(e<=0){e=bz(a,b,b),e==="0px"&&bB&&(e=bB(a,b,b));if(e!=null)return e===""||e==="auto"?"0px":e}if(e<0||e==null){e=a.style[b];return e===""||e==="auto"?"0px":e}return typeof e=="string"?e:e+"px"}},set:function(a,b){if(!bs.test(b))return b;b=parseFloat(b);if(b>=0)return b+"px"}}}),f.support.opacity||(f.cssHooks.opacity={get:function(a,b){return bp.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle;c.zoom=1;var e=f.isNaN(b)?"":"alpha(opacity="+b*100+")",g=d&&d.filter||c.filter||"";c.filter=bo.test(g)?g.replace(bo,e):g+" "+e}}),f(function(){f.support.reliableMarginRight||(f.cssHooks.marginRight={get:function(a,b){var c;f.swap(a,{display:"inline-block"},function(){b?c=bz(a,"margin-right","marginRight"):c=a.style.marginRight});return c}})}),c.defaultView&&c.defaultView.getComputedStyle&&(bA=function(a,c){var d,e,g;c=c.replace(br,"-$1").toLowerCase();if(!(e=a.ownerDocument.defaultView))return b;if(g=e.getComputedStyle(a,null))d=g.getPropertyValue(c),d===""&&!f.contains(a.ownerDocument.documentElement,a)&&(d=f.style(a,c));return d}),c.documentElement.currentStyle&&(bB=function(a,b){var c,d=a.currentStyle&&a.currentStyle[b],e=a.runtimeStyle&&a.runtimeStyle[b],f=a.style;!bs.test(d)&&bt.test(d)&&(c=f.left,e&&(a.runtimeStyle.left=a.currentStyle.left),f.left=b==="fontSize"?"1em":d||0,d=f.pixelLeft+"px",f.left=c,e&&(a.runtimeStyle.left=e));return d===""?"auto":d}),bz=bA||bB,f.expr&&f.expr.filters&&(f.expr.filters.hidden=function(a){var b=a.offsetWidth,c=a.offsetHeight;return b===0&&c===0||!f.support.reliableHiddenOffsets&&(a.style.display||f.css(a,"display"))==="none"},f.expr.filters.visible=function(a){return!f.expr.filters.hidden(a)});var bE=/%20/g,bF=/\[\]$/,bG=/\r?\n/g,bH=/#.*$/,bI=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,bJ=/^(?:color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,bK=/^(?:about|app|app\-storage|.+\-extension|file|widget):$/,bL=/^(?:GET|HEAD)$/,bM=/^\/\//,bN=/\?/,bO=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,bP=/^(?:select|textarea)/i,bQ=/\s+/,bR=/([?&])_=[^&]*/,bS=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,bT=f.fn.load,bU={},bV={},bW,bX;try{bW=e.href}catch(bY){bW=c.createElement("a"),bW.href="",bW=bW.href}bX=bS.exec(bW.toLowerCase())||[],f.fn.extend({load:function(a,c,d){if(typeof a!="string"&&bT)return bT.apply(this,arguments);if(!this.length)return this;var e=a.indexOf(" ");if(e>=0){var g=a.slice(e,a.length);a=a.slice(0,e)}var h="GET";c&&(f.isFunction(c)?(d=c,c=b):typeof c=="object"&&(c=f.param(c,f.ajaxSettings.traditional),h="POST"));var i=this;f.ajax({url:a,type:h,dataType:"html",data:c,complete:function(a,b,c){c=a.responseText,a.isResolved()&&(a.done(function(a){c=a}),i.html(g?f("<div>").append(c.replace(bO,"")).find(g):c)),d&&i.each(d,[c,b,a])}});return this},serialize:function(){return f.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?f.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||bP.test(this.nodeName)||bJ.test(this.type))}).map(function(a,b){var c=f(this).val();return c==null?null:f.isArray(c)?f.map(c,function(a,c){return{name:b.name,value:a.replace(bG,"\r\n")}}):{name:b.name,value:c.replace(bG,"\r\n")}}).get()}}),f.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){f.fn[b]=function(a){return this.bind(b,a)}}),f.each(["get","post"],function(a,c){f[c]=function(a,d,e,g){f.isFunction(d)&&(g=g||e,e=d,d=b);return f.ajax({type:c,url:a,data:d,success:e,dataType:g})}}),f.extend({getScript:function(a,c){return f.get(a,b,c,"script")},getJSON:function(a,b,c){return f.get(a,b,c,"json")},ajaxSetup:function(a,b){b?f.extend(!0,a,f.ajaxSettings,b):(b=a,a=f.extend(!0,f.ajaxSettings,b));for(var c in{context:1,url:1})c in b?a[c]=b[c]:c in f.ajaxSettings&&(a[c]=f.ajaxSettings[c]);return a},ajaxSettings:{url:bW,isLocal:bK.test(bX[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":"*/*"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":f.parseJSON,"text xml":f.parseXML}},ajaxPrefilter:bZ(bU),ajaxTransport:bZ(bV),ajax:function(a,c){function w(a,c,l,m){if(s!==2){s=2,q&&clearTimeout(q),p=b,n=m||"",v.readyState=a?4:0;var o,r,u,w=l?ca(d,v,l):b,x,y;if(a>=200&&a<300||a===304){if(d.ifModified){if(x=v.getResponseHeader("Last-Modified"))f.lastModified[k]=x;if(y=v.getResponseHeader("Etag"))f.etag[k]=y}if(a===304)c="notmodified",o=!0;else try{r=cb(d,w),c="success",o=!0}catch(z){c="parsererror",u=z}}else{u=c;if(!c||a)c="error",a<0&&(a=0)}v.status=a,v.statusText=c,o?h.resolveWith(e,[r,c,v]):h.rejectWith(e,[v,c,u]),v.statusCode(j),j=b,t&&g.trigger("ajax"+(o?"Success":"Error"),[v,d,o?r:u]),i.resolveWith(e,[v,c]),t&&(g.trigger("ajaxComplete",[v,d]),--f.active||f.event.trigger("ajaxStop"))}}typeof a=="object"&&(c=a,a=b),c=c||{};var d=f.ajaxSetup({},c),e=d.context||d,g=e!==d&&(e.nodeType||e instanceof f)?f(e):f.event,h=f.Deferred(),i=f._Deferred(),j=d.statusCode||{},k,l={},m={},n,o,p,q,r,s=0,t,u,v={readyState:0,setRequestHeader:function(a,b){if(!s){var c=a.toLowerCase();a=m[c]=m[c]||a,l[a]=b}return this},getAllResponseHeaders:function(){return s===2?n:null},getResponseHeader:function(a){var c;if(s===2){if(!o){o={};while(c=bI.exec(n))o[c[1].toLowerCase()]=c[2]}c=o[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){s||(d.mimeType=a);return this},abort:function(a){a=a||"abort",p&&p.abort(a),w(0,a);return this}};h.promise(v),v.success=v.done,v.error=v.fail,v.complete=i.done,v.statusCode=function(a){if(a){var b;if(s<2)for(b in a)j[b]=[j[b],a[b]];else b=a[v.status],v.then(b,b)}return this},d.url=((a||d.url)+"").replace(bH,"").replace(bM,bX[1]+"//"),d.dataTypes=f.trim(d.dataType||"*").toLowerCase().split(bQ),d.crossDomain==null&&(r=bS.exec(d.url.toLowerCase()),d.crossDomain=!(!r||r[1]==bX[1]&&r[2]==bX[2]&&(r[3]||(r[1]==="http:"?80:443))==(bX[3]||(bX[1]==="http:"?80:443)))),d.data&&d.processData&&typeof d.data!="string"&&(d.data=f.param(d.data,d.traditional)),b$(bU,d,c,v);if(s===2)return!1;t=d.global,d.type=d.type.toUpperCase(),d.hasContent=!bL.test(d.type),t&&f.active++===0&&f.event.trigger("ajaxStart");if(!d.hasContent){d.data&&(d.url+=(bN.test(d.url)?"&":"?")+d.data),k=d.url;if(d.cache===!1){var x=f.now(),y=d.url.replace(bR,"$1_="+x);d.url=y+(y===d.url?(bN.test(d.url)?"&":"?")+"_="+x:"")}}(d.data&&d.hasContent&&d.contentType!==!1||c.contentType)&&v.setRequestHeader("Content-Type",d.contentType),d.ifModified&&(k=k||d.url,f.lastModified[k]&&v.setRequestHeader("If-Modified-Since",f.lastModified[k]),f.etag[k]&&v.setRequestHeader("If-None-Match",f.etag[k])),v.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+(d.dataTypes[0]!=="*"?", */*; q=0.01":""):d.accepts["*"]);for(u in d.headers)v.setRequestHeader(u,d.headers[u]);if(d.beforeSend&&(d.beforeSend.call(e,v,d)===!1||s===2)){v.abort();return!1}for(u in{success:1,error:1,complete:1})v[u](d[u]);p=b$(bV,d,c,v);if(!p)w(-1,"No Transport");else{v.readyState=1,t&&g.trigger("ajaxSend",[v,d]),d.async&&d.timeout>0&&(q=setTimeout(function(){v.abort("timeout")},d.timeout));try{s=1,p.send(l,w)}catch(z){status<2?w(-1,z):f.error(z)}}return v},param:function(a,c){var d=[],e=function(a,b){b=f.isFunction(b)?b():b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=f.ajaxSettings.traditional);if(f.isArray(a)||a.jquery&&!f.isPlainObject(a))f.each(a,function(){e(this.name,this.value)});else for(var g in a)b_(g,a[g],c,e);return d.join("&").replace(bE,"+")}}),f.extend({active:0,lastModified:{},etag:{}});var cc=f.now(),cd=/(\=)\?(&|$)|\?\?/i;f.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return f.expando+"_"+cc++}}),f.ajaxPrefilter("json jsonp",function(b,c,d){var e=b.contentType==="application/x-www-form-urlencoded"&&typeof b.data=="string";if(b.dataTypes[0]==="jsonp"||b.jsonp!==!1&&(cd.test(b.url)||e&&cd.test(b.data))){var g,h=b.jsonpCallback=f.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,i=a[h],j=b.url,k=b.data,l="$1"+h+"$2";b.jsonp!==!1&&(j=j.replace(cd,l),b.url===j&&(e&&(k=k.replace(cd,l)),b.data===k&&(j+=(/\?/.test(j)?"&":"?")+b.jsonp+"="+h))),b.url=j,b.data=k,a[h]=function(a){g=[a]},d.always(function(){a[h]=i,g&&f.isFunction(i)&&a[h](g[0])}),b.converters["script json"]=function(){g||f.error(h+" was not called");return g[0]},b.dataTypes[0]="json";return"script"}}),f.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){f.globalEval(a);return a}}}),f.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),f.ajaxTransport("script",function(a){if(a.crossDomain){var d,e=c.head||c.getElementsByTagName("head")[0]||c.documentElement;return{send:function(f,g){d=c.createElement("script"),d.async="async",a.scriptCharset&&(d.charset=a.scriptCharset),d.src=a.url,d.onload=d.onreadystatechange=function(a,c){if(c||!d.readyState||/loaded|complete/.test(d.readyState))d.onload=d.onreadystatechange=null,e&&d.parentNode&&e.removeChild(d),d=b,c||g(200,"success")},e.insertBefore(d,e.firstChild)},abort:function(){d&&d.onload(0,1)}}}});var ce=a.ActiveXObject?function(){for(var a in cg)cg[a](0,1)}:!1,cf=0,cg;f.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&ch()||ci()}:ch,function(a){f.extend(f.support,{ajax:!!a,cors:!!a&&"withCredentials"in a})}(f.ajaxSettings.xhr()),f.support.ajax&&f.ajaxTransport(function(c){if(!c.crossDomain||f.support.cors){var d;return{send:function(e,g){var h=c.xhr(),i,j;c.username?h.open(c.type,c.url,c.async,c.username,c.password):h.open(c.type,c.url,c.async);if(c.xhrFields)for(j in c.xhrFields)h[j]=c.xhrFields[j];c.mimeType&&h.overrideMimeType&&h.overrideMimeType(c.mimeType),!c.crossDomain&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(j in e)h.setRequestHeader(j,e[j])}catch(k){}h.send(c.hasContent&&c.data||null),d=function(a,e){var j,k,l,m,n;try{if(d&&(e||h.readyState===4)){d=b,i&&(h.onreadystatechange=f.noop,ce&&delete cg[i]);if(e)h.readyState!==4&&h.abort();else{j=h.status,l=h.getAllResponseHeaders(),m={},n=h.responseXML,n&&n.documentElement&&(m.xml=n),m.text=h.responseText;try{k=h.statusText}catch(o){k=""}!j&&c.isLocal&&!c.crossDomain?j=m.text?200:404:j===1223&&(j=204)}}}catch(p){e||g(-1,p)}m&&g(j,k,m,l)},!c.async||h.readyState===4?d():(i=++cf,ce&&(cg||(cg={},f(a).unload(ce)),cg[i]=d),h.onreadystatechange=d)},abort:function(){d&&d(0,1)}}}});var cj={},ck,cl,cm=/^(?:toggle|show|hide)$/,cn=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,co,cp=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]],cq,cr=a.webkitRequestAnimationFrame||a.mozRequestAnimationFrame||a.oRequestAnimationFrame;f.fn.extend({show:function(a,b,c){var d,e;if(a||a===0)return this.animate(cu("show",3),a,b,c);for(var g=0,h=this.length;g<h;g++)d=this[g],d.style&&(e=d.style.display,!f._data(d,"olddisplay")&&e==="none"&&(e=d.style.display=""),e===""&&f.css(d,"display")==="none"&&f._data(d,"olddisplay",cv(d.nodeName)));for(g=0;g<h;g++){d=this[g];if(d.style){e=d.style.display;if(e===""||e==="none")d.style.display=f._data(d,"olddisplay")||""}}return this},hide:function(a,b,c){if(a||a===0)return this.animate(cu("hide",3),a,b,c);for(var d=0,e=this.length;d<e;d++)if(this[d].style){var g=f.css(this[d],"display");g!=="none"&&!f._data(this[d],"olddisplay")&&f._data(this[d],"olddisplay",g)}for(d=0;d<e;d++)this[d].style&&(this[d].style.display="none");return this},_toggle:f.fn.toggle,toggle:function(a,b,c){var d=typeof a=="boolean";f.isFunction(a)&&f.isFunction(b)?this._toggle.apply(this,arguments):a==null||d?this.each(function(){var b=d?a:f(this).is(":hidden");f(this)[b?"show":"hide"]()}):this.animate(cu("toggle",3),a,b,c);return this},fadeTo:function(a,b,c,d){return this.filter(":hidden").css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=f.speed(b,c,d);if(f.isEmptyObject(a))return this.each(e.complete,[!1]);a=f.extend({},a);return this[e.queue===!1?"each":"queue"](function(){e.queue===!1&&f._mark(this);var b=f.extend({},e),c=this.nodeType===1,d=c&&f(this).is(":hidden"),g,h,i,j,k,l,m,n,o;b.animatedProperties={};for(i in a){g=f.camelCase(i),i!==g&&(a[g]=a[i],delete a[i]),h=a[g],f.isArray(h)?(b.animatedProperties[g]=h[1],h=a[g]=h[0]):b.animatedProperties[g]=b.specialEasing&&b.specialEasing[g]||b.easing||"swing";if(h==="hide"&&d||h==="show"&&!d)return b.complete.call(this);c&&(g==="height"||g==="width")&&(b.overflow=[this.style.overflow,this.style.overflowX,this.style.overflowY],f.css(this,"display")==="inline"&&f.css(this,"float")==="none"&&(f.support.inlineBlockNeedsLayout?(j=cv(this.nodeName),j==="inline"?this.style.display="inline-block":(this.style.display="inline",this.style.zoom=1)):this.style.display="inline-block"))}b.overflow!=null&&(this.style.overflow="hidden");for(i in a)k=new f.fx(this,b,i),h=a[i],cm.test(h)?k[h==="toggle"?d?"show":"hide":h]():(l=cn.exec(h),m=k.cur(),l?(n=parseFloat(l[2]),o=l[3]||(f.cssNumber[i]?"":"px"),o!=="px"&&(f.style(this,i,(n||1)+o),m=(n||1)/k.cur()*m,f.style(this,i,m+o)),l[1]&&(n=(l[1]==="-="?-1:1)*n+m),k.custom(m,n,o)):k.custom(m,h,""));return!0})},stop:function(a,b){a&&this.queue([]),this.each(function(){var a=f.timers,c=a.length;b||f._unmark(!0,this);while(c--)a[c].elem===this&&(b&&a[c](!0),a.splice(c,1))}),b||this.dequeue();return this}}),f.each({slideDown:cu("show",1),slideUp:cu("hide",1),slideToggle:cu("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){f.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),f.extend({speed:function(a,b,c){var d=a&&typeof a=="object"?f.extend({},a):{complete:c||!c&&b||f.isFunction(a)&&a,duration:a,easing:c&&b||b&&!f.isFunction(b)&&b};d.duration=f.fx.off?0:typeof d.duration=="number"?d.duration:d.duration in f.fx.speeds?f.fx.speeds[d.duration]:f.fx.speeds._default,d.old=d.complete,d.complete=function(a){d.queue!==!1?f.dequeue(this):a!==!1&&f._unmark(this),f.isFunction(d.old)&&d.old.call(this)};return d},easing:{linear:function(a,b,c,d){return c+d*a},swing:function(a,b,c,d){return(-Math.cos(a*Math.PI)/2+.5)*d+c}},timers:[],fx:function(a,b,c){this.options=b,this.elem=a,this.prop=c,b.orig=b.orig||{}}}),f.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this),(f.fx.step[this.prop]||f.fx.step._default)(this)},cur:function(){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null))return this.elem[this.prop];var a,b=f.css(this.elem,this.prop);return isNaN(a=parseFloat(b))?!b||b==="auto"?0:b:a},custom:function(a,b,c){function h(a){return d.step(a)}var d=this,e=f.fx,g;this.startTime=cq||cs(),this.start=a,this.end=b,this.unit=c||this.unit||(f.cssNumber[this.prop]?"":"px"),this.now=this.start,this.pos=this.state=0,h.elem=this.elem,h()&&f.timers.push(h)&&!co&&(cr?(co=1,g=function(){co&&(cr(g),e.tick())},cr(g)):co=setInterval(e.tick,e.interval))},show:function(){this.options.orig[this.prop]=f.style(this.elem,this.prop),this.options.show=!0,this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur()),f(this.elem).show()},hide:function(){this.options.orig[this.prop]=f.style(this.elem,this.prop),this.options.hide=!0,this.custom(this.cur(),0)},step:function(a){var b=cq||cs(),c=!0,d=this.elem,e=this.options,g,h;if(a||b>=e.duration+this.startTime){this.now=this.end,this.pos=this.state=1,this.update(),e.animatedProperties[this.prop]=!0;for(g in e.animatedProperties)e.animatedProperties[g]!==!0&&(c=!1);if(c){e.overflow!=null&&!f.support.shrinkWrapBlocks&&f.each(["","X","Y"],function(a,b){d.style["overflow"+b]=e.overflow[a]}),e.hide&&f(d).hide();if(e.hide||e.show)for(var i in e.animatedProperties)f.style(d,i,e.orig[i]);e.complete.call(d)}return!1}e.duration==Infinity?this.now=b:(h=b-this.startTime,this.state=h/e.duration,this.pos=f.easing[e.animatedProperties[this.prop]](this.state,h,0,1,e.duration),this.now=this.start+(this.end-this.start)*this.pos),this.update();return!0}},f.extend(f.fx,{tick:function(){for(var a=f.timers,b=0;b<a.length;++b)a[b]()||a.splice(b--,1);a.length||f.fx.stop()},interval:13,stop:function(){clearInterval(co),co=null},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(a){f.style(a.elem,"opacity",a.now)},_default:function(a){a.elem.style&&a.elem.style[a.prop]!=null?a.elem.style[a.prop]=(a.prop==="width"||a.prop==="height"?Math.max(0,a.now):a.now)+a.unit:a.elem[a.prop]=a.now}}}),f.expr&&f.expr.filters&&(f.expr.filters.animated=function(a){return f.grep(f.timers,function(b){return a===b.elem}).length});var cw=/^t(?:able|d|h)$/i,cx=/^(?:body|html)$/i;"getBoundingClientRect"in c.documentElement?f.fn.offset=function(a){var b=this[0],c;if(a)return this.each(function(b){f.offset.setOffset(this,a,b)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return f.offset.bodyOffset(b);try{c=b.getBoundingClientRect()}catch(d){}var e=b.ownerDocument,g=e.documentElement;if(!c||!f.contains(g,b))return c?{top:c.top,left:c.left}:{top:0,left:0};var h=e.body,i=cy(e),j=g.clientTop||h.clientTop||0,k=g.clientLeft||h.clientLeft||0,l=i.pageYOffset||f.support.boxModel&&g.scrollTop||h.scrollTop,m=i.pageXOffset||f.support.boxModel&&g.scrollLeft||h.scrollLeft,n=c.top+l-j,o=c.left+m-k;return{top:n,left:o}}:f.fn.offset=function(a){var b=this[0];if(a)return this.each(function(b){f.offset.setOffset(this,a,b)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return f.offset.bodyOffset(b);f.offset.initialize();var c,d=b.offsetParent,e=b,g=b.ownerDocument,h=g.documentElement,i=g.body,j=g.defaultView,k=j?j.getComputedStyle(b,null):b.currentStyle,l=b.offsetTop,m=b.offsetLeft;while((b=b.parentNode)&&b!==i&&b!==h){if(f.offset.supportsFixedPosition&&k.position==="fixed")break;c=j?j.getComputedStyle(b,null):b.currentStyle,l-=b.scrollTop,m-=b.scrollLeft,b===d&&(l+=b.offsetTop,m+=b.offsetLeft,f.offset.doesNotAddBorder&&(!f.offset.doesAddBorderForTableAndCells||!cw.test(b.nodeName))&&(l+=parseFloat(c.borderTopWidth)||0,m+=parseFloat(c.borderLeftWidth)||0),e=d,d=b.offsetParent),f.offset.subtractsBorderForOverflowNotVisible&&c.overflow!=="visible"&&(l+=parseFloat(c.borderTopWidth)||0,m+=parseFloat(c.borderLeftWidth)||0),k=c}if(k.position==="relative"||k.position==="static")l+=i.offsetTop,m+=i.offsetLeft;f.offset.supportsFixedPosition&&k.position==="fixed"&&(l+=Math.max(h.scrollTop,i.scrollTop),m+=Math.max(h.scrollLeft,i.scrollLeft));return{top:l,left:m}},f.offset={initialize:function(){var a=c.body,b=c.createElement("div"),d,e,g,h,i=parseFloat(f.css(a,"marginTop"))||0,j="<div style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;'><div></div></div><table style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;' cellpadding='0' cellspacing='0'><tr><td></td></tr></table>";f.extend(b.style,{position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"}),b.innerHTML=j,a.insertBefore(b,a.firstChild),d=b.firstChild,e=d.firstChild,h=d.nextSibling.firstChild.firstChild,this.doesNotAddBorder=e.offsetTop!==5,this.doesAddBorderForTableAndCells=h.offsetTop===5,e.style.position="fixed",e.style.top="20px",this.supportsFixedPosition=e.offsetTop===20||e.offsetTop===15,e.style.position=e.style.top="",d.style.overflow="hidden",d.style.position="relative",this.subtractsBorderForOverflowNotVisible=e.offsetTop===-5,this.doesNotIncludeMarginInBodyOffset=a.offsetTop!==i,a.removeChild(b),f.offset.initialize=f.noop},bodyOffset:function(a){var b=a.offsetTop,c=a.offsetLeft;f.offset.initialize(),f.offset.doesNotIncludeMarginInBodyOffset&&(b+=parseFloat(f.css(a,"marginTop"))||0,c+=parseFloat(f.css(a,"marginLeft"))||0);return{top:b,left:c}},setOffset:function(a,b,c){var d=f.css(a,"position");d==="static"&&(a.style.position="relative");var e=f(a),g=e.offset(),h=f.css(a,"top"),i=f.css(a,"left"),j=(d==="absolute"||d==="fixed")&&f.inArray("auto",[h,i])>-1,k={},l={},m,n;j?(l=e.position(),m=l.top,n=l.left):(m=parseFloat(h)||0,n=parseFloat(i)||0),f.isFunction(b)&&(b=b.call(a,c,g)),b.top!=null&&(k.top=b.top-g.top+m),b.left!=null&&(k.left=b.left-g.left+n),"using"in b?b.using.call(a,k):e.css(k)}},f.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),c=this.offset(),d=cx.test(b[0].nodeName)?{top:0,left:0}:b.offset();c.top-=parseFloat(f.css(a,"marginTop"))||0,c.left-=parseFloat(f.css(a,"marginLeft"))||0,d.top+=parseFloat(f.css(b[0],"borderTopWidth"))||0,d.left+=parseFloat(f.css(b[0],"borderLeftWidth"))||0;return{top:c.top-d.top,left:c.left-d.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||c.body;while(a&&!cx.test(a.nodeName)&&f.css(a,"position")==="static")a=a.offsetParent;return a})}}),f.each(["Left","Top"],function(a,c){var d="scroll"+c;f.fn[d]=function(c){var e,g;if(c===b){e=this[0];if(!e)return null;g=cy(e);return g?"pageXOffset"in g?g[a?"pageYOffset":"pageXOffset"]:f.support.boxModel&&g.document.documentElement[d]||g.document.body[d]:e[d]}return this.each(function(){g=cy(this),g?g.scrollTo(a?f(g).scrollLeft():c,a?c:f(g).scrollTop()):this[d]=c})}}),f.each(["Height","Width"],function(a,c){var d=c.toLowerCase();f.fn["inner"+c]=function(){return this[0]?parseFloat(f.css(this[0],d,"padding")):null},f.fn["outer"+c]=function(a){return this[0]?parseFloat(f.css(this[0],d,a?"margin":"border")):null},f.fn[d]=function(a){var e=this[0];if(!e)return a==null?null:this;if(f.isFunction(a))return this.each(function(b){var c=f(this);c[d](a.call(this,b,c[d]()))});if(f.isWindow(e)){var g=e.document.documentElement["client"+c];return e.document.compatMode==="CSS1Compat"&&g||e.document.body["client"+c]||g}if(e.nodeType===9)return Math.max(e.documentElement["client"+c],e.body["scroll"+c],e.documentElement["scroll"+c],e.body["offset"+c],e.documentElement["offset"+c]);if(a===b){var h=f.css(e,d),i=parseFloat(h);return f.isNaN(i)?h:i}return this.css(d,typeof a=="string"?a:a+"px")}}),a.jQuery=a.$=f})(window); \ No newline at end of file
diff --git a/addons/web_mobile/static/lib/jquery_mobile/js/jquery.mobile-1.0a4.1.js b/addons/web_mobile/static/lib/jquery_mobile/js/jquery.mobile-1.0a4.1.js
index ec19fbb692b..85aa395e4f7 100644
--- a/addons/web_mobile/static/lib/jquery_mobile/js/jquery.mobile-1.0a4.1.js
+++ b/addons/web_mobile/static/lib/jquery_mobile/js/jquery.mobile-1.0a4.1.js
@@ -47,7 +47,6 @@ $.widget = function( name, base, prototype ) {
fullName;
name = name.split( "." )[ 1 ];
fullName = namespace + "-" + name;
-
if ( !prototype ) {
prototype = base;
base = $.Widget;
@@ -325,15 +324,15 @@ $.mobile.media = (function() {
if ( !( query in cache ) ) {
var styleBlock = document.createElement('style'),
cssrule = "@media " + query + " { #jquery-mediatest { position:absolute; } }";
- //must set type for IE!
+ //must set type for IE!
styleBlock.type = "text/css";
- if (styleBlock.styleSheet){
+ if (styleBlock.styleSheet){
styleBlock.styleSheet.cssText = cssrule;
- }
+ }
else {
styleBlock.appendChild(document.createTextNode(cssrule));
- }
-
+ }
+
$html.prepend( fakeBody ).prepend( styleBlock );
cache[ query ] = testDiv.css( "position" ) === "absolute";
fakeBody.add( styleBlock ).remove();
@@ -420,7 +419,7 @@ $(function(){
* jQuery Mobile Framework : support tests
* Copyright (c) jQuery Project
* Dual licensed under the MIT (MIT-LICENSE.txt) and GPL (GPL-LICENSE.txt) licenses.
-* Note: Code is in draft form and is subject to change
+* Note: Code is in draft form and is subject to change
*/
(function($, undefined ) {
@@ -429,7 +428,7 @@ $(function(){
var fakeBody = $( "<body>" ).prependTo( "html" ),
fbCSS = fakeBody[0].style,
vendors = ['webkit','moz','o'],
- webos = window.palmGetResource || window.PalmServiceBridge, //only used to rule out scrollTop
+ webos = window.palmGetResource || window.PalmServiceBridge, //only used to rule out scrollTop
bb = window.blackberry; //only used to rule out box shadow, as it's filled opaque on BB
//thx Modernizr
@@ -470,7 +469,7 @@ function baseTagTest(){
$.mobile.browser = {};
$.mobile.browser.ie = (function() {
var v = 3, div = document.createElement('div'), a = div.all || [];
- while (div.innerHTML = '<!--[if gt IE '+(++v)+']><br><![endif]-->', a[0]);
+ while (div.innerHTML = '<!--[if gt IE '+(++v)+']><br><![endif]-->', a[0]);
return v > 4 ? v : !v;
}());
@@ -554,10 +553,10 @@ function createVirtualEvent(event, eventType)
var t = event.type;
event = $.Event(event);
event.type = eventType;
-
+
var oe = event.originalEvent;
var props = $.event.props;
-
+
// copy original event properties over to the new event
// this would happen if we could call $.event.fix instead of $.Event
// but we don't have a way to force an event to be fixed multiple times
@@ -567,7 +566,7 @@ function createVirtualEvent(event, eventType)
event[prop] = oe[prop];
}
}
-
+
if (t.search(/^touch/) !== -1){
var ne = getNativeEvent(oe),
t = ne.touches,
@@ -617,7 +616,7 @@ function enableTouchBindings()
{
if (!activeDocHandlers["touchbindings"]){
$document.bind("touchend", handleTouchEnd)
-
+
// On touch platforms, touching the screen and then dragging your finger
// causes the window content to scroll after some distance threshold is
// exceeded. On these platforms, a scroll prevents a click event from being
@@ -627,7 +626,7 @@ function enableTouchBindings()
// events until *AFTER* the user lifts their finger (touchend). This means
// we need to watch both scroll and touchmove events to figure out whether
// or not a scroll happenens before the touchend event is fired.
-
+
.bind("touchmove", handleTouchMove)
.bind("scroll", handleScroll);
@@ -707,25 +706,25 @@ function handleTouchStart(event)
if (touches && touches.length === 1){
var target = event.target,
flags = getVirtualBindingFlags(target);
-
+
if (flags.hasVirtualBinding){
lastTouchID = nextTouchID++;
$(target).data(touchTargetPropertyName, lastTouchID);
-
+
clearResetTimer();
-
+
disableMouseBindings();
didScroll = false;
-
+
var t = getNativeEvent(event).touches[0];
startX = t.pageX;
startY = t.pageY;
-
+
if (scrollTopSupported){
startScrollX = window.pageXOffset;
startScrollY = window.pageYOffset;
}
-
+
triggerVirtualEvent("vmouseover", event, flags);
triggerVirtualEvent("vmousedown", event, flags);
}
@@ -782,7 +781,7 @@ function handleTouchEnd(event)
}
triggerVirtualEvent("vmouseout", event, flags);
didScroll = false;
-
+
startResetTimer();
}
@@ -839,7 +838,7 @@ function getSpecialEventObject(eventType)
if (eventCaptureSupported){
// If this is the first virtual mouse binding for the document,
// register our touchstart handler on the document.
-
+
activeDocHandlers["touchstart"] = (activeDocHandlers["touchstart"] || 0) + 1;
if (activeDocHandlers["touchstart"] === 1) {
$document.bind("touchstart", handleTouchStart);
@@ -859,7 +858,7 @@ function getSpecialEventObject(eventType)
if (eventCaptureSupported){
// If this is the last virtual mouse binding in existence,
// remove our document touchstart listener.
-
+
--activeDocHandlers["touchstart"];
if (!activeDocHandlers["touchstart"]) {
$document.unbind("touchstart", handleTouchStart);
@@ -928,7 +927,7 @@ if (eventCaptureSupported){
// mouse/click handler on one of its ancestors, the target will be the
// innermost child of the touched element, even if that child is no where
// near the point of touch.
-
+
var ele = target;
while (ele) {
for (var i = 0; i < cnt; i++) {
@@ -980,28 +979,28 @@ function triggerCustomEvent(obj, eventType, event)
// also handles scrollstop
$.event.special.scrollstart = {
enabled: true,
-
+
setup: function() {
var thisObject = this,
$this = $( thisObject ),
scrolling,
timer;
-
+
function trigger( event, state ) {
scrolling = state;
triggerCustomEvent( thisObject, scrolling ? "scrollstart" : "scrollstop", event );
}
-
+
// iPhone triggers scroll after a small delay; use touchmove instead
$this.bind( scrollEvent, function( event ) {
if ( !$.event.special.scrollstart.enabled ) {
return;
}
-
+
if ( !scrolling ) {
trigger( event, true );
}
-
+
clearTimeout( timer );
timer = setTimeout(function() {
trigger( event, false );
@@ -1015,24 +1014,24 @@ $.event.special.tap = {
setup: function() {
var thisObject = this,
$this = $( thisObject );
-
+
$this
.bind("vmousedown", function( event ) {
if ( event.which && event.which !== 1 ) {
return false;
}
-
+
var touching = true,
origTarget = event.target,
origEvent = event.originalEvent,
timer;
-
+
function clearTapHandlers() {
touching = false;
clearTimeout(timer);
$this.unbind("vclick", clickHandler).unbind("vmousecancel", clearTapHandlers);
}
-
+
function clickHandler(event) {
clearTapHandlers();
@@ -1060,7 +1059,7 @@ $.event.special.swipe = {
setup: function() {
var thisObject = this,
$this = $( thisObject );
-
+
$this
.bind( touchStartEvent, function( event ) {
var data = event.originalEvent.touches ?
@@ -1072,12 +1071,12 @@ $.event.special.swipe = {
origin: $( event.target )
},
stop;
-
+
function moveHandler( event ) {
if ( !start ) {
return;
}
-
+
var data = event.originalEvent.touches ?
event.originalEvent.touches[ 0 ] :
event;
@@ -1085,19 +1084,19 @@ $.event.special.swipe = {
time: (new Date).getTime(),
coords: [ data.pageX, data.pageY ]
};
-
+
// prevent scrolling
if ( Math.abs( start.coords[0] - stop.coords[0] ) > 10 ) {
event.preventDefault();
}
}
-
+
$this
.bind( touchMoveEvent, moveHandler )
.one( touchStopEvent, function( event ) {
$this.unbind( touchMoveEvent, moveHandler );
if ( start && stop ) {
- if ( stop.time - start.time < 1000 &&
+ if ( stop.time - start.time < 1000 &&
Math.abs( start.coords[0] - stop.coords[0]) > 30 &&
Math.abs( start.coords[1] - stop.coords[1]) < 75 ) {
start.origin
@@ -1114,21 +1113,21 @@ $.event.special.swipe = {
(function($){
// "Cowboy" Ben Alman
-
+
var win = $(window),
special_event,
get_orientation,
last_orientation;
-
+
$.event.special.orientationchange = special_event = {
setup: function(){
// If the event is supported natively, return false so that jQuery
// will bind to the event using DOM methods.
if ( $.support.orientation ) { return false; }
-
+
// Get the current orientation to avoid initial double-triggering.
last_orientation = get_orientation();
-
+
// Because the orientationchange event doesn't exist, simulate the
// event by testing window dimensions on resize.
win.bind( "resize", handler );
@@ -1137,7 +1136,7 @@ $.event.special.swipe = {
// If the event is not supported natively, return false so that
// jQuery will unbind the event using DOM methods.
if ( $.support.orientation ) { return false; }
-
+
// Because the orientationchange event doesn't exist, unbind the
// resize event handler.
win.unbind( "resize", handler );
@@ -1145,37 +1144,37 @@ $.event.special.swipe = {
add: function( handleObj ) {
// Save a reference to the bound event handler.
var old_handler = handleObj.handler;
-
+
handleObj.handler = function( event ) {
// Modify event object, adding the .orientation property.
event.orientation = get_orientation();
-
+
// Call the originally-bound event handler and return its result.
return old_handler.apply( this, arguments );
};
}
};
-
+
// If the event is not supported natively, this handler will be bound to
// the window resize event to simulate the orientationchange event.
function handler() {
// Get the current orientation.
var orientation = get_orientation();
-
+
if ( orientation !== last_orientation ) {
// The orientation has changed, so trigger the orientationchange event.
last_orientation = orientation;
win.trigger( "orientationchange" );
}
};
-
+
// Get the current page orientation. This method is exposed publicly, should it
// be needed, as jQuery.event.special.orientationchange.orientation()
special_event.orientation = get_orientation = function() {
var elem = document.documentElement;
return elem && elem.clientWidth / elem.clientHeight < 1.1 ? "portrait" : "landscape";
};
-
+
})(jQuery);
$.each({
@@ -1195,7 +1194,7 @@ $.each({
/*!
* jQuery hashchange event - v1.3 - 7/21/2010
* http://benalman.com/projects/jquery-hashchange-plugin/
- *
+ *
* Copyright (c) 2010 "Cowboy" Ben Alman
* Dual licensed under the MIT and GPL licenses.
* http://benalman.com/about/license/
@@ -1204,59 +1203,59 @@ $.each({
// Script: jQuery hashchange event
//
// *Version: 1.3, Last updated: 7/21/2010*
-//
+//
// Project Home - http://benalman.com/projects/jquery-hashchange-plugin/
// GitHub - http://github.com/cowboy/jquery-hashchange/
// Source - http://github.com/cowboy/jquery-hashchange/raw/master/jquery.ba-hashchange.js
// (Minified) - http://github.com/cowboy/jquery-hashchange/raw/master/jquery.ba-hashchange.min.js (0.8kb gzipped)
-//
+//
// About: License
-//
+//
// Copyright (c) 2010 "Cowboy" Ben Alman,
// Dual licensed under the MIT and GPL licenses.
// http://benalman.com/about/license/
-//
+//
// About: Examples
-//
+//
// These working examples, complete with fully commented code, illustrate a few
// ways in which this plugin can be used.
-//
+//
// hashchange event - http://benalman.com/code/projects/jquery-hashchange/examples/hashchange/
// document.domain - http://benalman.com/code/projects/jquery-hashchange/examples/document_domain/
-//
+//
// About: Support and Testing
-//
+//
// Information about what version or versions of jQuery this plugin has been
// tested with, what browsers it has been tested in, and where the unit tests
// reside (so you can test it yourself).
-//
+//
// jQuery Versions - 1.2.6, 1.3.2, 1.4.1, 1.4.2
// Browsers Tested - Internet Explorer 6-8, Firefox 2-4, Chrome 5-6, Safari 3.2-5,
// Opera 9.6-10.60, iPhone 3.1, Android 1.6-2.2, BlackBerry 4.6-5.
// Unit Tests - http://benalman.com/code/projects/jquery-hashchange/unit/
-//
+//
// About: Known issues
-//
+//
// While this jQuery hashchange event implementation is quite stable and
// robust, there are a few unfortunate browser bugs surrounding expected
// hashchange event-based behaviors, independent of any JavaScript
// window.onhashchange abstraction. See the following examples for more
// information:
-//
+//
// Chrome: Back Button - http://benalman.com/code/projects/jquery-hashchange/examples/bug-chrome-back-button/
// Firefox: Remote XMLHttpRequest - http://benalman.com/code/projects/jquery-hashchange/examples/bug-firefox-remote-xhr/
// WebKit: Back Button in an Iframe - http://benalman.com/code/projects/jquery-hashchange/examples/bug-webkit-hash-iframe/
// Safari: Back Button from a different domain - http://benalman.com/code/projects/jquery-hashchange/examples/bug-safari-back-from-diff-domain/
-//
-// Also note that should a browser natively support the window.onhashchange
+//
+// Also note that should a browser natively support the window.onhashchange
// event, but not report that it does, the fallback polling loop will be used.
-//
+//
// About: Release History
-//
+//
// 1.3 - (7/21/2010) Reorganized IE6/7 Iframe code to make it more
// "removable" for mobile-only development. Added IE6/7 document.title
// support. Attempted to make Iframe as hidden as possible by using
-// techniques from http://www.paciellogroup.com/blog/?p=604. Added
+// techniques from http://www.paciellogroup.com/blog/?p=604. Added
// support for the "shortcut" format $(window).hashchange( fn ) and
// $(window).hashchange() like jQuery provides for built-in events.
// Renamed jQuery.hashchangeDelay to <jQuery.fn.hashchange.delay> and
@@ -1281,40 +1280,40 @@ $.each({
(function($,window,undefined){
'$:nomunge'; // Used by YUI compressor.
-
+
// Reused string.
var str_hashchange = 'hashchange',
-
+
// Method / object references.
doc = document,
fake_onhashchange,
special = $.event.special,
-
+
// Does the browser support window.onhashchange? Note that IE8 running in
// IE7 compatibility mode reports true for 'onhashchange' in window, even
// though the event isn't supported, so also test document.documentMode.
doc_mode = doc.documentMode,
supports_onhashchange = 'on' + str_hashchange in window && ( doc_mode === undefined || doc_mode > 7 );
-
+
// Get location.hash (or what you'd expect location.hash to be) sans any
// leading #. Thanks for making this necessary, Firefox!
function get_fragment( url ) {
url = url || location.href;
return '#' + url.replace( /^[^#]*#?(.*)$/, '$1' );
};
-
+
// Method: jQuery.fn.hashchange
- //
+ //
// Bind a handler to the window.onhashchange event or trigger all bound
// window.onhashchange event handlers. This behavior is consistent with
// jQuery's built-in event handlers.
- //
+ //
// Usage:
- //
+ //
// > jQuery(window).hashchange( [ handler ] );
- //
+ //
// Arguments:
- //
+ //
// handler - (Function) Optional handler to be bound to the hashchange
// event. This is a "shortcut" for the more verbose form:
// jQuery(window).bind( 'hashchange', handler ). If handler is omitted,
@@ -1322,127 +1321,127 @@ $.each({
// is a shortcut for the more verbose
// jQuery(window).trigger( 'hashchange' ). These forms are described in
// the <hashchange event> section.
- //
+ //
// Returns:
- //
+ //
// (jQuery) The initial jQuery collection of elements.
-
+
// Allow the "shortcut" format $(elem).hashchange( fn ) for binding and
// $(elem).hashchange() for triggering, like jQuery does for built-in events.
$.fn[ str_hashchange ] = function( fn ) {
return fn ? this.bind( str_hashchange, fn ) : this.trigger( str_hashchange );
};
-
+
// Property: jQuery.fn.hashchange.delay
- //
+ //
// The numeric interval (in milliseconds) at which the <hashchange event>
// polling loop executes. Defaults to 50.
-
+
// Property: jQuery.fn.hashchange.domain
- //
+ //
// If you're setting document.domain in your JavaScript, and you want hash
// history to work in IE6/7, not only must this property be set, but you must
// also set document.domain BEFORE jQuery is loaded into the page. This
// property is only applicable if you are supporting IE6/7 (or IE8 operating
// in "IE7 compatibility" mode).
- //
+ //
// In addition, the <jQuery.fn.hashchange.src> property must be set to the
// path of the included "document-domain.html" file, which can be renamed or
// modified if necessary (note that the document.domain specified must be the
// same in both your main JavaScript as well as in this file).
- //
+ //
// Usage:
- //
+ //
// jQuery.fn.hashchange.domain = document.domain;
-
+
// Property: jQuery.fn.hashchange.src
- //
+ //
// If, for some reason, you need to specify an Iframe src file (for example,
// when setting document.domain as in <jQuery.fn.hashchange.domain>), you can
// do so using this property. Note that when using this property, history
// won't be recorded in IE6/7 until the Iframe src file loads. This property
// is only applicable if you are supporting IE6/7 (or IE8 operating in "IE7
// compatibility" mode).
- //
+ //
// Usage:
- //
+ //
// jQuery.fn.hashchange.src = 'path/to/file.html';
-
+
$.fn[ str_hashchange ].delay = 50;
/*
$.fn[ str_hashchange ].domain = null;
$.fn[ str_hashchange ].src = null;
*/
-
+
// Event: hashchange event
- //
+ //
// Fired when location.hash changes. In browsers that support it, the native
// HTML5 window.onhashchange event is used, otherwise a polling loop is
// initialized, running every <jQuery.fn.hashchange.delay> milliseconds to
// see if the hash has changed. In IE6/7 (and IE8 operating in "IE7
// compatibility" mode), a hidden Iframe is created to allow the back button
// and hash-based history to work.
- //
+ //
// Usage as described in <jQuery.fn.hashchange>:
- //
+ //
// > // Bind an event handler.
// > jQuery(window).hashchange( function(e) {
// > var hash = location.hash;
// > ...
// > });
- // >
+ // >
// > // Manually trigger the event handler.
// > jQuery(window).hashchange();
- //
+ //
// A more verbose usage that allows for event namespacing:
- //
+ //
// > // Bind an event handler.
// > jQuery(window).bind( 'hashchange', function(e) {
// > var hash = location.hash;
// > ...
// > });
- // >
+ // >
// > // Manually trigger the event handler.
// > jQuery(window).trigger( 'hashchange' );
- //
+ //
// Additional Notes:
- //
+ //
// * The polling loop and Iframe are not created until at least one handler
// is actually bound to the 'hashchange' event.
// * If you need the bound handler(s) to execute immediately, in cases where
// a location.hash exists on page load, via bookmark or page refresh for
- // example, use jQuery(window).hashchange() or the more verbose
+ // example, use jQuery(window).hashchange() or the more verbose
// jQuery(window).trigger( 'hashchange' ).
// * The event can be bound before DOM ready, but since it won't be usable
// before then in IE6/7 (due to the necessary Iframe), recommended usage is
// to bind it inside a DOM ready handler.
-
+
// Override existing $.event.special.hashchange methods (allowing this plugin
// to be defined after jQuery BBQ in BBQ's source code).
special[ str_hashchange ] = $.extend( special[ str_hashchange ], {
-
+
// Called only when the first 'hashchange' event is bound to window.
setup: function() {
// If window.onhashchange is supported natively, there's nothing to do..
if ( supports_onhashchange ) { return false; }
-
+
// Otherwise, we need to create our own. And we don't want to call this
// until the user binds to the event, just in case they never do, since it
// will create a polling loop and possibly even a hidden Iframe.
$( fake_onhashchange.start );
},
-
+
// Called only when the last 'hashchange' event is unbound from window.
teardown: function() {
// If window.onhashchange is supported natively, there's nothing to do..
if ( supports_onhashchange ) { return false; }
-
+
// Otherwise, we need to stop ours (if possible).
$( fake_onhashchange.stop );
}
-
+
});
-
+
// fake_onhashchange does all the work of triggering the window.onhashchange
// event for browsers that don't natively support it, including creating a
// polling loop to watch for hash changes and in IE 6/7 creating a hidden
@@ -1450,79 +1449,79 @@ $.each({
fake_onhashchange = (function(){
var self = {},
timeout_id,
-
+
// Remember the initial hash so it doesn't get triggered immediately.
last_hash = get_fragment(),
-
+
fn_retval = function(val){ return val; },
history_set = fn_retval,
history_get = fn_retval;
-
+
// Start the polling loop.
self.start = function() {
timeout_id || poll();
};
-
+
// Stop the polling loop.
self.stop = function() {
timeout_id && clearTimeout( timeout_id );
timeout_id = undefined;
};
-
+
// This polling loop checks every $.fn.hashchange.delay milliseconds to see
// if location.hash has changed, and triggers the 'hashchange' event on
// window when necessary.
function poll() {
var hash = get_fragment(),
history_hash = history_get( last_hash );
-
+
if ( hash !== last_hash ) {
history_set( last_hash = hash, history_hash );
-
+
$(window).trigger( str_hashchange );
-
+
} else if ( history_hash !== last_hash ) {
location.href = location.href.replace( /#.*/, '' ) + history_hash;
}
-
+
timeout_id = setTimeout( poll, $.fn[ str_hashchange ].delay );
};
-
+
// vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
// vvvvvvvvvvvvvvvvvvv REMOVE IF NOT SUPPORTING IE6/7/8 vvvvvvvvvvvvvvvvvvv
// vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
$.browser.msie && !supports_onhashchange && (function(){
// Not only do IE6/7 need the "magical" Iframe treatment, but so does IE8
// when running in "IE7 compatibility" mode.
-
+
var iframe,
iframe_src;
-
+
// When the event is bound and polling starts in IE 6/7, create a hidden
// Iframe for history handling.
self.start = function(){
if ( !iframe ) {
iframe_src = $.fn[ str_hashchange ].src;
iframe_src = iframe_src && iframe_src + get_fragment();
-
+
// Create hidden Iframe. Attempt to make Iframe as hidden as possible
// by using techniques from http://www.paciellogroup.com/blog/?p=604.
iframe = $('<iframe tabindex="-1" title="empty"/>').hide()
-
+
// When Iframe has completely loaded, initialize the history and
// start polling.
.one( 'load', function(){
iframe_src || history_set( get_fragment() );
poll();
})
-
+
// Load Iframe src if specified, otherwise nothing.
.attr( 'src', iframe_src || 'javascript:0' )
-
+
// Append Iframe after the end of the body to prevent unnecessary
// initial page scrolling (yes, this works).
.insertAfter( 'body' )[0].contentWindow;
-
+
// Whenever `document.title` changes, update the Iframe's title to
// prettify the back/next history menu entries. Since IE sometimes
// errors with "Unspecified error" the very first time this is set
@@ -1534,53 +1533,53 @@ $.each({
}
} catch(e) {}
};
-
+
}
};
-
+
// Override the "stop" method since an IE6/7 Iframe was created. Even
// if there are no longer any bound event handlers, the polling loop
// is still necessary for back/next to work at all!
self.stop = fn_retval;
-
+
// Get history by looking at the hidden Iframe's location.hash.
history_get = function() {
return get_fragment( iframe.location.href );
};
-
+
// Set a new history item by opening and then closing the Iframe
// document, *then* setting its location.hash. If document.domain has
// been set, update that as well.
history_set = function( hash, history_hash ) {
var iframe_doc = iframe.document,
domain = $.fn[ str_hashchange ].domain;
-
+
if ( hash !== history_hash ) {
// Update Iframe with any initial `document.title` that might be set.
iframe_doc.title = doc.title;
-
+
// Opening the Iframe's document after it has been closed is what
// actually adds a history entry.
iframe_doc.open();
-
+
// Set document.domain for the Iframe document as well, if necessary.
domain && iframe_doc.write( '<script>document.domain="' + domain + '"</script>' );
-
+
iframe_doc.close();
-
+
// Update the Iframe's hash, for great justice.
iframe.location.hash = hash;
}
};
-
+
})();
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
// ^^^^^^^^^^^^^^^^^^^ REMOVE IF NOT SUPPORTING IE6/7/8 ^^^^^^^^^^^^^^^^^^^
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+
return self;
})();
-
+
})(jQuery,this);
/*
* jQuery Mobile Framework : "page" plugin
@@ -1616,7 +1615,6 @@ $.widget( "mobile.page", $.mobile.widget, {
_create: function() {
var $elem = this.element,
o = this.options;
-
this.keepNative = ":jqmData(role='none'), :jqmData(role='nojs')" + (o.keepNative ? ", " + o.keepNative : "");
if ( this._trigger( "beforeCreate" ) === false ) {
@@ -1665,7 +1663,7 @@ $.widget( "mobile.page", $.mobile.widget, {
!leftbtn && $this.jqmData( "backbtn" ) !== false ) {
var backBtn = $( "<a href='#' class='ui-btn-left' data-"+ $.mobile.ns +"rel='back' data-"+ $.mobile.ns +"icon='arrow-l'>"+ o.backBtnText +"</a>" ).prependTo( $this );
-
+
//if theme is provided, override default inheritance
if( o.backBtnTheme ){
backBtn.attr( "data-"+ $.mobile.ns +"theme", o.backBtnTheme );
@@ -1759,6 +1757,7 @@ $.widget( "mobile.page", $.mobile.widget, {
// by looking for the autocorrect property on the input element.
var textInputs = allControls.filter( "input[type=text]" );
+
if (textInputs.length && typeof textInputs[0].autocorrect !== "undefined") {
textInputs.each(function(){
// Set the attribute instead of the property just in case there
@@ -2196,13 +2195,13 @@ $.widget( "mobile.page", $.mobile.widget, {
//direct focus to the page title, or otherwise first focusable element
function reFocus( page ){
var lastClicked = page.jqmData( "lastClicked" );
-
+
if( lastClicked && lastClicked.length ){
lastClicked.focus();
}
else {
var pageTitle = page.find( ".ui-title:eq(0)" );
-
+
if( pageTitle.length ){
pageTitle.focus();
}
@@ -2653,7 +2652,7 @@ $.widget( "mobile.page", $.mobile.widget, {
);
event.preventDefault();
});
-
+
//add active state on vclick
$( "a" ).live( "vclick", function(){
$(this).closest( ".ui-btn" ).not( ".ui-disabled" ).addClass( $.mobile.activeBtnClass );
@@ -2814,17 +2813,17 @@ $.widget( "mobile.page", $.mobile.widget, {
(function($, undefined ) {
$.fn.fixHeaderFooter = function(options){
if( !$.support.scrollTop ){ return this; }
-
+
return this.each(function(){
var $this = $(this);
-
+
if( $this.jqmData('fullscreen') ){ $this.addClass('ui-page-fullscreen'); }
$this.find( ".ui-header:jqmData(position='fixed')" ).addClass('ui-header-fixed ui-fixed-inline fade'); //should be slidedown
- $this.find( ".ui-footer:jqmData(position='fixed')" ).addClass('ui-footer-fixed ui-fixed-inline fade'); //should be slideup
+ $this.find( ".ui-footer:jqmData(position='fixed')" ).addClass('ui-footer-fixed ui-fixed-inline fade'); //should be slideup
});
};
-//single controller for all showing,hiding,toggling
+//single controller for all showing,hiding,toggling
$.fixedToolbars = (function(){
if( !$.support.scrollTop ){ return; }
var currentstate = 'inline',
@@ -2905,17 +2904,17 @@ $.fixedToolbars = (function(){
$(window).bind('resize', showEventCallback);
});
-
+
//before page is shown, check for duplicate footer
$('.ui-page').live('pagebeforeshow', function(event, ui){
var page = $(event.target),
footer = page.find( ":jqmData(role='footer')" ),
id = footer.data('id'),
prevPage = ui.prevPage;
-
+
prevFooter = prevPage && prevPage.find( ":jqmData(role='footer')" );
var prevFooterMatches = prevFooter.jqmData( "id" ) === id;
-
+
if( id && prevFooterMatches ){
stickyFooter = footer;
setTop( stickyFooter.removeClass( "fade in out" ).appendTo( $.mobile.pageContainer ) );
@@ -2925,19 +2924,19 @@ $.fixedToolbars = (function(){
//after page is shown, append footer to new page
$('.ui-page').live('pageshow', function(event, ui){
var $this = $(this);
-
- if( stickyFooter && stickyFooter.length ){
-
+
+ if( stickyFooter && stickyFooter.length ){
+
setTimeout(function(){
setTop( stickyFooter.appendTo( $this ).addClass("fade") );
stickyFooter = null;
- }, 500);
+ }, 500);
}
-
- $.fixedToolbars.show(true, this);
+
+ $.fixedToolbars.show(true, this);
});
-
+
// element.getBoundingClientRect() is broken in iOS 3.2.1 on the iPad. The
// coordinates inside of the rect it returns don't have the page scroll position
// factored out of it like the other platforms do. To get around this,
@@ -3000,18 +2999,18 @@ $.fixedToolbars = (function(){
thisTop = getOffsetTop(el[0]), // el.offset().top returns the wrong value on iPad iOS 3.2.1, call our workaround instead.
screenHeight = window.innerHeight,
thisHeight = el.outerHeight(),
- alreadyVisible = (el.is('.ui-header-fixed') && fromTop <= thisTop + thisHeight) || (el.is('.ui-footer-fixed') && thisTop <= fromTop + screenHeight);
-
+ alreadyVisible = (el.is('.ui-header-fixed') && fromTop <= thisTop + thisHeight) || (el.is('.ui-footer-fixed') && thisTop <= fromTop + screenHeight);
+
//add state class
- el.addClass('ui-fixed-overlay').removeClass('ui-fixed-inline');
-
+ el.addClass('ui-fixed-overlay').removeClass('ui-fixed-inline');
+
if( !alreadyVisible && !immediately ){
el.animationComplete(function(){
el.removeClass('in');
}).addClass('in');
}
setTop(el);
- });
+ });
},
hide: function(immediately){
currentstate = 'inline';
@@ -3020,10 +3019,10 @@ $.fixedToolbars = (function(){
var el = $(this);
var thisCSStop = el.css('top'); thisCSStop = thisCSStop == 'auto' ? 0 : parseFloat(thisCSStop);
-
+
//add state class
el.addClass('ui-fixed-inline').removeClass('ui-fixed-overlay');
-
+
if (thisCSStop < 0 || (el.is('.ui-header-fixed') && thisCSStop != 0))
{
if(immediately){
@@ -3035,7 +3034,7 @@ $.fixedToolbars = (function(){
el.animationComplete(function(){
el.removeClass(classes);
el.css('top',0);
- }).addClass(classes);
+ }).addClass(classes);
}
}
}
@@ -3226,35 +3225,35 @@ $.widget( "mobile.textinput", $.mobile.widget, {
o = this.options,
theme = o.theme,
themeclass;
-
+
if ( !theme ) {
- var themedParent = this.element.closest("[class*='ui-bar-'],[class*='ui-body-']");
+ var themedParent = this.element.closest("[class*='ui-bar-'],[class*='ui-body-']");
theme = themedParent.length ?
/ui-(bar|body)-([a-z])/.exec( themedParent.attr("class") )[2] :
"c";
- }
-
+ }
+
themeclass = " ui-body-" + theme;
-
+
$('label[for='+input.attr('id')+']').addClass('ui-input-text');
-
+
input.addClass('ui-input-text ui-body-'+ o.theme);
-
+
var focusedEl = input;
-
+
//"search" input widget
if( input.is( "[type='search'],:jqmData(type='search')" ) ){
focusedEl = input.wrap('<div class="ui-input-search ui-shadow-inset ui-btn-corner-all ui-btn-shadow ui-icon-searchfield'+ themeclass +'"></div>').parent();
var clearbtn = $('<a href="#" class="ui-input-clear" title="clear text">clear text</a>')
.tap(function( e ){
input.val('').focus();
- input.trigger('change');
+ input.trigger('change');
clearbtn.addClass('ui-input-clear-hidden');
e.preventDefault();
})
.appendTo(focusedEl)
.buttonMarkup({icon: 'delete', iconpos: 'notext', corners:true, shadow:true});
-
+
function toggleClear(){
if(input.val() == ''){
clearbtn.addClass('ui-input-clear-hidden');
@@ -3263,22 +3262,22 @@ $.widget( "mobile.textinput", $.mobile.widget, {
clearbtn.removeClass('ui-input-clear-hidden');
}
}
-
+
toggleClear();
- input.keyup(toggleClear);
+ input.keyup(toggleClear);
}
else{
input.addClass('ui-corner-all ui-shadow-inset' + themeclass);
}
-
+
input
.focus(function(){
focusedEl.addClass('ui-focus');
})
.blur(function(){
focusedEl.removeClass('ui-focus');
- });
-
+ });
+
//autogrow
if ( input.is('textarea') ) {
var extraLineHeight = 15,
@@ -3297,11 +3296,11 @@ $.widget( "mobile.textinput", $.mobile.widget, {
});
}
},
-
+
disable: function(){
( this.element.attr("disabled",true).is( "[type='search'],:jqmData(type='search')" ) ? this.element.parent() : this.element ).addClass("ui-disabled");
},
-
+
enable: function(){
( this.element.attr("disabled", false).is( "[type='search'],:jqmData(type='search')" ) ? this.element.parent() : this.element ).removeClass("ui-disabled");
}
@@ -3331,7 +3330,6 @@ $.widget( "mobile.selectmenu", $.mobile.widget, {
nativeMenu: true
},
_create: function(){
-
var self = this,
o = this.options,
@@ -3342,12 +3340,12 @@ $.widget( "mobile.selectmenu", $.mobile.widget, {
selectID = select.attr( "id" ),
label = $( "label[for="+ selectID +"]" ).addClass( "ui-select" ),
-
+
//IE throws an exception at options.item() function when
//there is no selected item
- //select first in this case
+ //select first in this case
selectedIndex = select[0].selectedIndex == -1 ? 0 : select[0].selectedIndex,
-
+
button = ( self.options.nativeMenu ? $( "<div/>" ) : $( "<a>", {
"href": "#",
"role": "button",
@@ -3483,7 +3481,6 @@ $.widget( "mobile.selectmenu", $.mobile.widget, {
//support for using the native select menu with a custom button
if( o.nativeMenu ){
-
select
.appendTo(button)
.bind( "vmousedown", function( e ){
@@ -3505,7 +3502,6 @@ $.widget( "mobile.selectmenu", $.mobile.widget, {
} else {
-
//create list from select, update state
self.refresh();
@@ -3514,12 +3510,12 @@ $.widget( "mobile.selectmenu", $.mobile.widget, {
.focus(function(){
$(this).blur();
button.focus();
- });
+ });
//button events
button
.bind( "vclick keydown" , function( event ){
- if( event.type == "vclick" ||
+ if( event.type == "vclick" ||
event.keyCode && ( event.keyCode === $.mobile.keyCode.ENTER || event.keyCode === $.mobile.keyCode.SPACE ) ){
self.open();
event.preventDefault();
@@ -3569,56 +3565,56 @@ $.widget( "mobile.selectmenu", $.mobile.widget, {
.keydown(function( e ) {
var target = $( e.target ),
li = target.closest( "li" );
-
+
// switch logic based on which key was pressed
switch ( e.keyCode ) {
// up or left arrow keys
case 38:
var prev = li.prev();
-
+
// if there's a previous option, focus it
if ( prev.length ) {
target
.blur()
.attr( "tabindex", "-1" );
-
+
prev.find( "a" ).first().focus();
- }
-
+ }
+
return false;
break;
-
+
// down or right arrow keys
case 40:
var next = li.next();
-
+
// if there's a next option, focus it
if ( next.length ) {
target
.blur()
.attr( "tabindex", "-1" );
-
+
next.find( "a" ).first().focus();
- }
-
+ }
+
return false;
break;
-
+
// if enter or space is pressed, trigger click
case 13:
case 32:
target.trigger( "vclick" );
-
+
return false;
- break;
+ break;
}
- });
+ });
//events on "screen" overlay
screen.bind("vclick", function( event ){
self.close();
});
-
+
//close button on small overlays
self.headerClose.click(function(){
if( self.menuType == "overlay" ){
@@ -3677,7 +3673,7 @@ $.widget( "mobile.selectmenu", $.mobile.widget, {
});
self.list.html( lis.join(" ") );
-
+
self.list.find( "li" )
.attr({ "role": "option", "tabindex": "-1" })
.first().attr( "tabindex", "0" );
@@ -4002,11 +3998,11 @@ var attachEvents = function() {
* Copyright (c) jQuery Project
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
-*/
+*/
(function($, undefined ) {
$.widget( "mobile.button", $.mobile.widget, {
options: {
- theme: null,
+ theme: null,
icon: null,
iconpos: null,
inline: null,
@@ -4017,12 +4013,12 @@ $.widget( "mobile.button", $.mobile.widget, {
_create: function(){
var $el = this.element,
o = this.options;
-
+
//add ARIA role
this.button = $( "<div></div>" )
.text( $el.text() || $el.val() )
.buttonMarkup({
- theme: o.theme,
+ theme: o.theme,
icon: o.icon,
iconpos: o.iconpos,
inline: o.inline,
@@ -4032,23 +4028,23 @@ $.widget( "mobile.button", $.mobile.widget, {
})
.insertBefore( $el )
.append( $el.addClass('ui-btn-hidden') );
-
+
//add hidden input during submit
var type = $el.attr('type');
if( type !== 'button' && type !== 'reset' ){
$el.bind("vclick", function(){
- var $buttonPlaceholder = $("<input>",
+ var $buttonPlaceholder = $("<input>",
{type: "hidden", name: $el.attr("name"), value: $el.attr("value")})
.insertBefore($el);
-
- //bind to doc to remove after submit handling
+
+ //bind to doc to remove after submit handling
$(document).submit(function(){
$buttonPlaceholder.remove();
});
});
}
this.refresh();
-
+
},
enable: function(){
@@ -4352,7 +4348,7 @@ $.widget( "mobile.slider", $.mobile.widget, {
* Copyright (c) jQuery Project
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
-*/
+*/
(function($, undefined ) {
$.widget( "mobile.collapsible", $.mobile.widget, {
options: {
@@ -4364,23 +4360,22 @@ $.widget( "mobile.collapsible", $.mobile.widget, {
iconTheme: 'd'
},
_create: function(){
-
var $el = this.element,
o = this.options,
collapsibleContain = $el.addClass('ui-collapsible-contain'),
collapsibleHeading = $el.find(o.heading).eq(0),
collapsibleContent = collapsibleContain.wrapInner('<div class="ui-collapsible-content"></div>').find('.ui-collapsible-content'),
- collapsibleParent = $el.closest( ":jqmData(role='collapsible-set')" ).addClass('ui-collapsible-set');
-
- //replace collapsibleHeading if it's a legend
+ collapsibleParent = $el.closest( ":jqmData(role='collapsible-set')" ).addClass('ui-collapsible-set');
+
+ //replace collapsibleHeading if it's a legend
if(collapsibleHeading.is('legend')){
collapsibleHeading = $('<div role="heading">'+ collapsibleHeading.html() +'</div>').insertBefore(collapsibleHeading);
collapsibleHeading.next().remove();
- }
-
+ }
+
//drop heading in before content
collapsibleHeading.insertBefore(collapsibleContent);
-
+
//modify markup & attributes
collapsibleHeading.addClass('ui-collapsible-heading')
.append('<span class="ui-collapsible-heading-status"></span>')
@@ -4402,10 +4397,10 @@ $.widget( "mobile.collapsible", $.mobile.widget, {
icon: 'plus',
theme: o.iconTheme
});
-
+
if( !collapsibleParent.length ){
collapsibleHeading
- .find('a:eq(0)')
+ .find('a:eq(0)')
.addClass('ui-corner-all')
.find('.ui-btn-inner')
.addClass('ui-corner-all');
@@ -4413,31 +4408,31 @@ $.widget( "mobile.collapsible", $.mobile.widget, {
else {
if( collapsibleContain.jqmData('collapsible-last') ){
collapsibleHeading
- .find('a:eq(0), .ui-btn-inner')
+ .find('a:eq(0), .ui-btn-inner')
.addClass('ui-corner-bottom');
- }
+ }
}
-
-
+
+
//events
- collapsibleContain
+ collapsibleContain
.bind('collapse', function(event){
if( !event.isDefaultPrevented() ){
event.preventDefault();
collapsibleHeading
.addClass('ui-collapsible-heading-collapsed')
.find('.ui-collapsible-heading-status').text(o.expandCueText);
-
- collapsibleHeading.find('.ui-icon').removeClass('ui-icon-minus').addClass('ui-icon-plus');
+
+ collapsibleHeading.find('.ui-icon').removeClass('ui-icon-minus').addClass('ui-icon-plus');
collapsibleContent.addClass('ui-collapsible-content-collapsed').attr('aria-hidden',true);
-
+
if( collapsibleContain.jqmData('collapsible-last') ){
collapsibleHeading
.find('a:eq(0), .ui-btn-inner')
.addClass('ui-corner-bottom');
}
- }
-
+ }
+
})
.bind('expand', function(event){
if( !event.isDefaultPrevented() ){
@@ -4445,21 +4440,21 @@ $.widget( "mobile.collapsible", $.mobile.widget, {
collapsibleHeading
.removeClass('ui-collapsible-heading-collapsed')
.find('.ui-collapsible-heading-status').text(o.collapseCueText);
-
- collapsibleHeading.find('.ui-icon').removeClass('ui-icon-plus').addClass('ui-icon-minus');
+
+ collapsibleHeading.find('.ui-icon').removeClass('ui-icon-plus').addClass('ui-icon-minus');
collapsibleContent.removeClass('ui-collapsible-content-collapsed').attr('aria-hidden',false);
-
+
if( collapsibleContain.jqmData('collapsible-last') ){
collapsibleHeading
.find('a:eq(0), .ui-btn-inner')
.removeClass('ui-corner-bottom');
}
-
+
}
})
.trigger(o.collapsed ? 'collapse' : 'expand');
-
-
+
+
//close others in a set
if( collapsibleParent.length && !collapsibleParent.jqmData("collapsiblebound") ){
collapsibleParent
@@ -4471,23 +4466,23 @@ $.widget( "mobile.collapsible", $.mobile.widget, {
.trigger( "collapse" );
});
var set = collapsibleParent.find( ":jqmData(role=collapsible)" )
-
+
set.first()
- .find('a:eq(0)')
+ .find('a:eq(0)')
.addClass('ui-corner-top')
.find('.ui-btn-inner')
.addClass('ui-corner-top');
-
- set.last().jqmData('collapsible-last', true)
+
+ set.last().jqmData('collapsible-last', true)
}
-
+
collapsibleHeading
- .bind("vmouseup", function(e){
+ .bind("vmouseup", function(e){
if( collapsibleHeading.is('.ui-collapsible-heading-collapsed') ){
- collapsibleContain.trigger('expand');
- }
+ collapsibleContain.trigger('expand');
+ }
else {
- collapsibleContain.trigger('collapse');
+ collapsibleContain.trigger('collapse');
}
e.preventDefault();
})
@@ -4502,7 +4497,7 @@ $.widget( "mobile.collapsible", $.mobile.widget, {
*/
(function($, undefined ) {
$.fn.controlgroup = function(options){
-
+
return this.each(function(){
var o = $.extend({
direction: $( this ).jqmData( "type" ) || "vertical",
@@ -4511,16 +4506,16 @@ $.fn.controlgroup = function(options){
var groupheading = $(this).find('>legend'),
flCorners = o.direction == 'horizontal' ? ['ui-corner-left', 'ui-corner-right'] : ['ui-corner-top', 'ui-corner-bottom'],
type = $(this).find('input:eq(0)').attr('type');
-
- //replace legend with more stylable replacement div
+
+ //replace legend with more stylable replacement div
if( groupheading.length ){
- $(this).wrapInner('<div class="ui-controlgroup-controls"></div>');
- $('<div role="heading" class="ui-controlgroup-label">'+ groupheading.html() +'</div>').insertBefore( $(this).children(0) );
- groupheading.remove();
+ $(this).wrapInner('<div class="ui-controlgroup-controls"></div>');
+ $('<div role="heading" class="ui-controlgroup-label">'+ groupheading.html() +'</div>').insertBefore( $(this).children(0) );
+ groupheading.remove();
}
$(this).addClass('ui-corner-all ui-controlgroup ui-controlgroup-'+o.direction);
-
+
function flipClasses(els){
els
.removeClass('ui-btn-corner-all ui-shadow')
@@ -4533,7 +4528,7 @@ $.fn.controlgroup = function(options){
if(o.shadow){
$(this).addClass('ui-shadow');
}
- });
+ });
};
})(jQuery);/*
* jQuery Mobile Framework : "fieldcontain" plugin - simple class additions to make form row separators
@@ -4563,21 +4558,21 @@ $.widget( "mobile.listview", $.mobile.widget, {
splitTheme: "b",
inset: false
},
-
+
_create: function() {
var $list = this.element,
o = this.options;
- // create listview markup
+ // create listview markup
$list
.addClass( "ui-listview" );
-
+
if ( o.inset ) {
$list.addClass( "ui-listview-inset ui-corner-all ui-shadow" );
}
this._itemApply( $list, $list );
-
+
this.refresh( true );
},
@@ -4607,16 +4602,16 @@ $.widget( "mobile.listview", $.mobile.widget, {
return;
}
},
-
+
_removeCorners: function(li){
li
.add( li.find(".ui-btn-inner, .ui-li-link-alt, .ui-li-thumb") )
.removeClass( "ui-corner-top ui-corner-bottom ui-corner-br ui-corner-bl ui-corner-tr ui-corner-tl" );
},
-
+
refresh: function( create ) {
this._createSubPages();
-
+
var o = this.options,
$list = this.element,
self = this,
@@ -4640,10 +4635,10 @@ $.widget( "mobile.listview", $.mobile.widget, {
var itemTheme = item.jqmData("theme") || o.theme;
var a = item.find( ">a" );
-
- if ( a.length ) {
+
+ if ( a.length ) {
var icon = item.jqmData("icon");
-
+
item
.buttonMarkup({
wrapperEls: "div",
@@ -4661,7 +4656,7 @@ $.widget( "mobile.listview", $.mobile.widget, {
var last = a.last(),
splittheme = $list.jqmData( "splittheme" ) || last.jqmData( "theme" ) || o.splitTheme;
-
+
last
.appendTo(item)
.attr( "title", last.text() )
@@ -4696,12 +4691,12 @@ $.widget( "mobile.listview", $.mobile.widget, {
} else {
itemClass += " ui-li-static ui-body-" + itemTheme;
}
-
-
- if( o.inset ){
+
+
+ if( o.inset ){
if ( pos === 0 ) {
itemClass += " ui-corner-top";
-
+
item
.add( item.find( ".ui-btn-inner" ) )
.find( ".ui-li-link-alt" )
@@ -4710,13 +4705,13 @@ $.widget( "mobile.listview", $.mobile.widget, {
.find( ".ui-li-thumb" )
.addClass( "ui-corner-tl" );
if(item.next().next().length){
- self._removeCorners( item.next() );
+ self._removeCorners( item.next() );
}
-
+
}
if ( pos === li.length - 1 ) {
itemClass += " ui-corner-bottom";
-
+
item
.add( item.find( ".ui-btn-inner" ) )
.find( ".ui-li-link-alt" )
@@ -4724,18 +4719,18 @@ $.widget( "mobile.listview", $.mobile.widget, {
.end()
.find( ".ui-li-thumb" )
.addClass( "ui-corner-bl" );
-
+
if(item.prev().prev().length){
- self._removeCorners( item.prev() );
- }
+ self._removeCorners( item.prev() );
+ }
}
}
if ( counter && itemClass.indexOf( "ui-li-divider" ) < 0 ) {
-
+
var countParent = item.is(".ui-li-static:first") ? item : item.find( ".ui-link-inherit" );
-
+
countParent
.addClass( "ui-li-jsnumbering" )
.prepend( "<span class='ui-li-dec'>" + (counter++) + ". </span>" );
@@ -4748,12 +4743,12 @@ $.widget( "mobile.listview", $.mobile.widget, {
}
});
},
-
+
//create a string for ID/subpage url creation
_idStringEscape: function( str ){
return str.replace(/[^a-zA-Z0-9]/g, '-');
},
-
+
_createSubPages: function() {
var parentList = this.element,
parentPage = parentList.closest( ".ui-page" ),
@@ -4781,7 +4776,7 @@ $.widget( "mobile.listview", $.mobile.widget, {
.attr( "data-" + $.mobile.ns + "count-theme", countTheme )
.appendTo( $.mobile.pageContainer );
- newPage.page();
+ newPage.page();
var anchor = parent.find('a:first');
if (!anchor.length) {
anchor = $("<a></a>").html( nodeEls || title ).prependTo(parent.empty());
@@ -4869,9 +4864,9 @@ $.widget( "mobile.dialog", $.mobile.widget, {
_create: function(){
var self = this,
$el = self.element;
-
- /* class the markup for dialog styling */
- this.element
+
+ /* class the markup for dialog styling */
+ this.element
//add ARIA role
.attr("role","dialog")
.addClass('ui-page ui-dialog ui-body-a')
@@ -4885,13 +4880,13 @@ $.widget( "mobile.dialog", $.mobile.widget, {
.find( ".ui-content,:jqmData(role='footer')" )
.last()
.addClass('ui-corner-bottom ui-overlay-shadow');
-
- /* bind events
+
+ /* bind events
- clicks and submits should use the closing transition that the dialog opened with
unless a data-transition is specified on the link/form
- if the click was on the close button, or the link has a data-rel="back" it'll go back in history naturally
*/
- this.element
+ this.element
.bind( "vclick submit", function(e){
var $targetel;
if( e.type == "vclick" ){
@@ -4900,7 +4895,7 @@ $.widget( "mobile.dialog", $.mobile.widget, {
else{
$targetel = $(e.target).closest("form");
}
-
+
if( $targetel.length && !$targetel.jqmData("transition") ){
$targetel
.attr("data-" + $.mobile.ns + "transition", $.mobile.urlHistory.getActive().transition )
@@ -4909,7 +4904,7 @@ $.widget( "mobile.dialog", $.mobile.widget, {
});
},
-
+
//close method goes back in history
close: function(){
window.history.back();
@@ -4931,28 +4926,28 @@ $.widget( "mobile.navbar", $.mobile.widget, {
var $navbar = this.element,
$navbtns = $navbar.find("a"),
iconpos = $navbtns.filter( ":jqmData(icon)").length ? this.options.iconpos : undefined;
-
+
$navbar
.addClass('ui-navbar')
.attr("role","navigation")
.find("ul")
- .grid({grid: this.options.grid });
-
- if( !iconpos ){
+ .grid({grid: this.options.grid });
+
+ if( !iconpos ){
$navbar.addClass("ui-navbar-noicons");
}
-
+
$navbtns
.buttonMarkup({
- corners: false,
- shadow: false,
+ corners: false,
+ shadow: false,
iconpos: iconpos
});
-
+
$navbar.delegate("a", "vclick",function(event){
$navbtns.not( ".ui-state-persist" ).removeClass( $.mobile.activeBtnClass );
$( this ).addClass( $.mobile.activeBtnClass );
- });
+ });
}
});
})( jQuery );
@@ -4961,20 +4956,20 @@ $.widget( "mobile.navbar", $.mobile.widget, {
* Copyright (c) jQuery Project
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
-*/
+*/
(function($, undefined ) {
$.fn.grid = function(options){
return this.each(function(){
var o = $.extend({
grid: null
},options);
-
-
+
+
var $kids = $(this).children(),
gridCols = {solo:1, a:2, b:3, c:4, d:5},
grid = o.grid,
iterator;
-
+
if( !grid ){
if( $kids.length <= 5 ){
for(var letter in gridCols){
@@ -4986,24 +4981,24 @@ $.fn.grid = function(options){
}
}
iterator = gridCols[grid];
-
+
$(this).addClass('ui-grid-' + grid);
-
+
$kids.filter(':nth-child(' + iterator + 'n+1)').addClass('ui-block-a');
- if(iterator > 1){
+ if(iterator > 1){
$kids.filter(':nth-child(' + iterator + 'n+2)').addClass('ui-block-b');
- }
- if(iterator > 2){
+ }
+ if(iterator > 2){
$kids.filter(':nth-child(3n+3)').addClass('ui-block-c');
- }
- if(iterator > 3){
+ }
+ if(iterator > 3){
$kids.filter(':nth-child(4n+4)').addClass('ui-block-d');
- }
- if(iterator > 4){
+ }
+ if(iterator > 4){
$kids.filter(':nth-child(5n+5)').addClass('ui-block-e');
}
-
- });
+
+ });
};
})(jQuery);/*!
* jQuery Mobile v@VERSION
diff --git a/addons/web_mobile/static/lib/jquery_mobile/js/jquery.mobile-1.0b1.min.js b/addons/web_mobile/static/lib/jquery_mobile/js/jquery.mobile-1.0b1.min.js
new file mode 100644
index 00000000000..2ff6d6b9629
--- /dev/null
+++ b/addons/web_mobile/static/lib/jquery_mobile/js/jquery.mobile-1.0b1.min.js
@@ -0,0 +1,340 @@
+/*!
+ * jQuery Mobile v1.0b1
+ * http://jquerymobile.com/
+ *
+ * Copyright 2010, jQuery Project
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ */
+(function(a,d){if(a.cleanData){var c=a.cleanData;a.cleanData=function(e){for(var b=0,d;(d=e[b])!=null;b++)a(d).triggerHandler("remove");c(e)}}else{var b=a.fn.remove;a.fn.remove=function(e,c){return this.each(function(){c||(!e||a.filter(e,[this]).length)&&a("*",this).add([this]).each(function(){a(this).triggerHandler("remove")});return b.call(a(this),e,c)})}}a.widget=function(e,b,c){var d=e.split(".")[0],h,e=e.split(".")[1];h=d+"-"+e;if(!c)c=b,b=a.Widget;a.expr[":"][h]=function(b){return!!a.data(b,
+e)};a[d]=a[d]||{};a[d][e]=function(a,e){arguments.length&&this._createWidget(a,e)};b=new b;b.options=a.extend(!0,{},b.options);a[d][e].prototype=a.extend(!0,b,{namespace:d,widgetName:e,widgetEventPrefix:a[d][e].prototype.widgetEventPrefix||e,widgetBaseClass:h},c);a.widget.bridge(e,a[d][e])};a.widget.bridge=function(e,b){a.fn[e]=function(c){var i=typeof c==="string",h=Array.prototype.slice.call(arguments,1),l=this,c=!i&&h.length?a.extend.apply(null,[!0,c].concat(h)):c;if(i&&c.charAt(0)==="_")return l;
+i?this.each(function(){var b=a.data(this,e);if(!b)throw"cannot call methods on "+e+" prior to initialization; attempted to call method '"+c+"'";if(!a.isFunction(b[c]))throw"no such method '"+c+"' for "+e+" widget instance";var f=b[c].apply(b,h);if(f!==b&&f!==d)return l=f,!1}):this.each(function(){var d=a.data(this,e);d?d.option(c||{})._init():a.data(this,e,new b(c,this))});return l}};a.Widget=function(a,b){arguments.length&&this._createWidget(a,b)};a.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",
+options:{disabled:!1},_createWidget:function(b,c){a.data(c,this.widgetName,this);this.element=a(c);this.options=a.extend(!0,{},this.options,this._getCreateOptions(),b);var d=this;this.element.bind("remove."+this.widgetName,function(){d.destroy()});this._create();this._trigger("create");this._init()},_getCreateOptions:function(){var b={};a.metadata&&(b=a.metadata.get(element)[this.widgetName]);return b},_create:function(){},_init:function(){},destroy:function(){this.element.unbind("."+this.widgetName).removeData(this.widgetName);
+this.widget().unbind("."+this.widgetName).removeAttr("aria-disabled").removeClass(this.widgetBaseClass+"-disabled ui-state-disabled")},widget:function(){return this.element},option:function(b,c){var g=b;if(arguments.length===0)return a.extend({},this.options);if(typeof b==="string"){if(c===d)return this.options[b];g={};g[b]=c}this._setOptions(g);return this},_setOptions:function(b){var c=this;a.each(b,function(a,b){c._setOption(a,b)});return this},_setOption:function(a,b){this.options[a]=b;a==="disabled"&&
+this.widget()[b?"addClass":"removeClass"](this.widgetBaseClass+"-disabled ui-state-disabled").attr("aria-disabled",b);return this},enable:function(){return this._setOption("disabled",!1)},disable:function(){return this._setOption("disabled",!0)},_trigger:function(b,c,d){var i=this.options[b],c=a.Event(c);c.type=(b===this.widgetEventPrefix?b:this.widgetEventPrefix+b).toLowerCase();d=d||{};if(c.originalEvent)for(var b=a.event.props.length,h;b;)h=a.event.props[--b],c[h]=c.originalEvent[h];this.element.trigger(c,
+d);return!(a.isFunction(i)&&i.call(this.element[0],c,d)===!1||c.isDefaultPrevented())}}})(jQuery);(function(a,d){a.widget("mobile.widget",{_getCreateOptions:function(){var c=this.element,b={};a.each(this.options,function(a){var f=c.jqmData(a.replace(/[A-Z]/g,function(a){return"-"+a.toLowerCase()}));f!==d&&(b[a]=f)});return b}})})(jQuery);
+(function(a){function d(){var d=c.width(),g=[],i=[],h;b.removeClass("min-width-"+e.join("px min-width-")+"px max-width-"+e.join("px max-width-")+"px");a.each(e,function(a,b){d>=b&&g.push("min-width-"+b+"px");d<=b&&i.push("max-width-"+b+"px")});g.length&&(h=g.join(" "));i.length&&(h+=" "+i.join(" "));b.addClass(h)}var c=a(window),b=a("html"),e=[320,480,768,1024];a.mobile.media=function(){var c={},e=a("<div id='jquery-mediatest'>"),d=a("<body>").append(e);return function(a){if(!(a in c)){var l=document.createElement("style"),
+m="@media "+a+" { #jquery-mediatest { position:absolute; } }";l.type="text/css";l.styleSheet?l.styleSheet.cssText=m:l.appendChild(document.createTextNode(m));b.prepend(d).prepend(l);c[a]=e.css("position")==="absolute";d.add(l).remove()}return c[a]}}();a.mobile.addResolutionBreakpoints=function(b){a.type(b)==="array"?e=e.concat(b):e.push(b);e.sort(function(a,b){return a-b});d()};a(document).bind("mobileinit.htmlclass",function(){c.bind("orientationchange.htmlclass throttledResize.htmlclass",function(a){a.orientation&&
+b.removeClass("portrait landscape").addClass(a.orientation);d()})});a(function(){c.trigger("orientationchange.htmlclass")})})(jQuery);
+(function(a,d){function c(a){var b=a.charAt(0).toUpperCase()+a.substr(1),a=(a+" "+f.join(b+" ")+b).split(" "),c;for(c in a)if(e[c]!==d)return!0}var b=a("<body>").prependTo("html"),e=b[0].style,f=["webkit","moz","o"],g="palmGetResource"in window,i=window.blackberry;a.mobile.browser={};a.mobile.browser.ie=function(){for(var a=3,b=document.createElement("div"),c=b.all||[];b.innerHTML="<\!--[if gt IE "+ ++a+"]><br><![endif]--\>",c[0];);return a>4?a:!a}();a.extend(a.support,{orientation:"orientation"in
+window,touch:"ontouchend"in document,cssTransitions:"WebKitTransitionEvent"in window,pushState:!!history.pushState,mediaquery:a.mobile.media("only all"),cssPseudoElement:!!c("content"),boxShadow:!!c("boxShadow")&&!i,scrollTop:("pageXOffset"in window||"scrollTop"in document.documentElement||"scrollTop"in b[0])&&!g,dynamicBaseTag:function(){var c=location.protocol+"//"+location.host+location.pathname+"ui-dir/",e=a("head base"),d=null,f="";e.length?f=e.attr("href"):e=d=a("<base>",{href:c}).appendTo("head");
+var g=a("<a href='testurl'></a>").prependTo(b)[0].href;e[0].href=f?f:location.pathname;d&&d.remove();return g.indexOf(c)===0}(),eventCapture:"addEventListener"in document});b.remove();a.support.boxShadow||a("html").addClass("ui-mobile-nosupport-boxshadow")})(jQuery);
+(function(a,d,c,b){function e(a){for(;a&&typeof a.originalEvent!=="undefined";)a=a.originalEvent;return a}function f(b){for(var c={};b;){var e=a.data(b,n),d;for(d in e)if(e[d])c[d]=c.hasVirtualBinding=!0;b=b.parentNode}return c}function g(){v&&(clearTimeout(v),v=0);v=setTimeout(function(){A=v=0;B.length=0;w=!1;r=!0},a.vmouse.resetTimerDuration)}function i(c,d,r){var f=!1,g;if(!(g=r&&r[c])){if(r=!r)a:{for(r=d.target;r;){if((g=a.data(r,n))&&(!c||g[c]))break a;r=r.parentNode}r=null}g=r}if(g){f=d;r=f.type;
+f=a.Event(f);f.type=c;var h=f.originalEvent,j=a.event.props;if(h)for(c=j.length;c;)g=j[--c],f[g]=h[g];if(r.search(/^touch/)!==-1&&(c=e(h),r=c.touches,c=c.changedTouches,r=r&&r.length?r[0]:c&&c.length?c[0]:b)){c=0;for(h=y.length;c<h;c++)g=y[c],f[g]=r[g]}a(d.target).trigger(f);f=f.isDefaultPrevented()}return f}function h(b){var c=a.data(b.target,z);!w&&(!A||A!==c)&&i("v"+b.type,b)}function l(b){var c=e(b).touches;if(c&&c.length===1){var d=b.target,c=f(d);if(c.hasVirtualBinding)A=F++,a.data(d,z,A),v&&
+(clearTimeout(v),v=0),s=r=!1,d=e(b).touches[0],x=d.pageX,u=d.pageY,i("vmouseover",b,c),i("vmousedown",b,c)}}function m(a){r||(s||i("vmousecancel",a,f(a.target)),s=!0,g())}function o(b){if(!r){var c=e(b).touches[0],d=s,h=a.vmouse.moveDistanceThreshold;s=s||Math.abs(c.pageX-x)>h||Math.abs(c.pageY-u)>h;c=f(b.target);s&&!d&&i("vmousecancel",b,c);i("vmousemove",b,c);g()}}function j(a){if(!r){r=!0;var b=f(a.target);i("vmouseup",a,b);if(!s&&i("vclick",a,b)){var c=e(a).changedTouches[0];B.push({touchID:A,
+x:c.clientX,y:c.clientY});w=!0}i("vmouseout",a,b);s=!1;g()}}function p(b){var b=a.data(b,n),c;if(b)for(c in b)if(b[c])return!0;return!1}function k(){}function q(b){var c=b.substr(1);return{setup:function(){p(this)||a.data(this,n,{});a.data(this,n)[b]=!0;t[b]=(t[b]||0)+1;t[b]===1&&C.bind(c,h);a(this).bind(c,k);if(E)t.touchstart=(t.touchstart||0)+1,t.touchstart===1&&C.bind("touchstart",l).bind("touchend",j).bind("touchmove",o).bind("scroll",m)},teardown:function(){--t[b];t[b]||C.unbind(c,h);E&&(--t.touchstart,
+t.touchstart||C.unbind("touchstart",l).unbind("touchmove",o).unbind("touchend",j).unbind("scroll",m));var d=a(this),e=a.data(this,n);e&&(e[b]=!1);d.unbind(c,k);p(this)||d.removeData(n)}}}var n="virtualMouseBindings",z="virtualTouchID",d="vmouseover vmousedown vmousemove vmouseup vclick vmouseout vmousecancel".split(" "),y="clientX clientY pageX pageY screenX screenY".split(" "),t={},v=0,x=0,u=0,s=!1,B=[],w=!1,r=!1,E=a.support.eventCapture,C=a(c),F=1,A=0;a.vmouse={moveDistanceThreshold:10,clickDistanceThreshold:10,
+resetTimerDuration:1500};for(var D=0;D<d.length;D++)a.event.special[d[D]]=q(d[D]);E&&c.addEventListener("click",function(b){var c=B.length,d=b.target;if(c)for(var e=b.clientX,r=b.clientY,f=a.vmouse.clickDistanceThreshold,g=d;g;){for(var h=0;h<c;h++){var j=B[h];if(g===d&&Math.abs(j.x-e)<f&&Math.abs(j.y-r)<f||a.data(g,z)===j.touchID){b.preventDefault();b.stopPropagation();return}}g=g.parentNode}},!0)})(jQuery,window,document);
+(function(a,d){function c(b,c,d){var e=d.type;d.type=c;a.event.handle.call(b,d);d.type=e}a.each("touchstart touchmove touchend orientationchange throttledresize tap taphold swipe swipeleft swiperight scrollstart scrollstop".split(" "),function(b,c){a.fn[c]=function(a){return a?this.bind(c,a):this.trigger(c)};a.attrFn[c]=!0});var b=a.support.touch,e=b?"touchstart":"mousedown",f=b?"touchend":"mouseup",g=b?"touchmove":"mousemove";a.event.special.scrollstart={enabled:!0,setup:function(){function b(a,
+f){e=f;c(d,e?"scrollstart":"scrollstop",a)}var d=this,e,f;a(d).bind("touchmove scroll",function(c){a.event.special.scrollstart.enabled&&(e||b(c,!0),clearTimeout(f),f=setTimeout(function(){b(c,!1)},50))})}};a.event.special.tap={setup:function(){var b=this,d=a(b);d.bind("vmousedown",function(a){function e(){g=!1;clearTimeout(k);d.unbind("vclick",f).unbind("vmousecancel",e)}function f(a){e();p==a.target&&c(b,"tap",a)}if(a.which&&a.which!==1)return!1;var g=!0,p=a.target,k;d.bind("vmousecancel",e).bind("vclick",
+f);k=setTimeout(function(){g&&c(b,"taphold",a)},750)})}};a.event.special.swipe={setup:function(){var b=a(this);b.bind(e,function(c){function e(a){if(o){var b=a.originalEvent.touches?a.originalEvent.touches[0]:a;j={time:(new Date).getTime(),coords:[b.pageX,b.pageY]};Math.abs(o.coords[0]-j.coords[0])>10&&a.preventDefault()}}var m=c.originalEvent.touches?c.originalEvent.touches[0]:c,o={time:(new Date).getTime(),coords:[m.pageX,m.pageY],origin:a(c.target)},j;b.bind(g,e).one(f,function(){b.unbind(g,e);
+o&&j&&j.time-o.time<1E3&&Math.abs(o.coords[0]-j.coords[0])>30&&Math.abs(o.coords[1]-j.coords[1])<75&&o.origin.trigger("swipe").trigger(o.coords[0]>j.coords[0]?"swipeleft":"swiperight");o=j=d})})}};(function(a){function b(){var a=d();a!==e&&(e=a,c.trigger("orientationchange"))}var c=a(window),d,e;a.event.special.orientationchange={setup:function(){if(a.support.orientation)return!1;e=d();c.bind("throttledresize",b)},teardown:function(){if(a.support.orientation)return!1;c.unbind("throttledresize",b)},
+add:function(a){var b=a.handler;a.handler=function(a){a.orientation=d();return b.apply(this,arguments)}}};a.event.special.orientationchange.orientation=d=function(){var a=document.documentElement;return a&&a.clientWidth/a.clientHeight<1.1?"portrait":"landscape"}})(jQuery);(function(){a.event.special.throttledresize={setup:function(){a(this).bind("resize",b)},teardown:function(){a(this).unbind("resize",b)}};var b=function(){e=(new Date).getTime();f=e-c;f>=250?(c=e,a(this).trigger("throttledresize")):
+(d&&clearTimeout(d),d=setTimeout(b,250-f))},c=0,d,e,f})();a.each({scrollstop:"scrollstart",taphold:"tap",swipeleft:"swipe",swiperight:"swipe"},function(b,c){a.event.special[b]={setup:function(){a(this).bind(c,a.noop)}}})})(jQuery);
+(function(a,d,c){function b(a){a=a||location.href;return"#"+a.replace(/^[^#]*#?(.*)$/,"$1")}var e="hashchange",f=document,g,i=a.event.special,h=f.documentMode,l="on"+e in d&&(h===c||h>7);a.fn[e]=function(a){return a?this.bind(e,a):this.trigger(e)};a.fn[e].delay=50;i[e]=a.extend(i[e],{setup:function(){if(l)return!1;a(g.start)},teardown:function(){if(l)return!1;a(g.stop)}});g=function(){function g(){var c=b(),f=n(i);if(c!==i)q(i=c,f),a(d).trigger(e);else if(f!==i)location.href=location.href.replace(/#.*/,
+"")+f;j=setTimeout(g,a.fn[e].delay)}var h={},j,i=b(),k=function(a){return a},q=k,n=k;h.start=function(){j||g()};h.stop=function(){j&&clearTimeout(j);j=c};a.browser.msie&&!l&&function(){var c,d;h.start=function(){if(!c)d=(d=a.fn[e].src)&&d+b(),c=a('<iframe tabindex="-1" title="empty"/>').hide().one("load",function(){d||q(b());g()}).attr("src",d||"javascript:0").insertAfter("body")[0].contentWindow,f.onpropertychange=function(){try{if(event.propertyName==="title")c.document.title=f.title}catch(a){}}};
+h.stop=k;n=function(){return b(c.location.href)};q=function(b,d){var g=c.document,h=a.fn[e].domain;if(b!==d)g.title=f.title,g.open(),h&&g.write('<script>document.domain="'+h+'"<\/script>'),g.close(),c.location.hash=b}}();return h}()})(jQuery,this);
+(function(a){a.widget("mobile.page",a.mobile.widget,{options:{backBtnText:"Back",addBackBtn:!1,backBtnTheme:null,degradeInputs:{color:!1,date:!1,datetime:!1,"datetime-local":!1,email:!1,month:!1,number:!1,range:"number",search:!0,tel:!1,time:!1,url:!1,week:!1},keepNative:null},_create:function(){var d=this.element,c=this.options;this.keepNative=":jqmData(role='none'), :jqmData(role='nojs')"+(c.keepNative?", "+c.keepNative:"");this._trigger("beforeCreate")!==!1&&(d.find(":jqmData(role='page'), :jqmData(role='content')").andSelf().each(function(){a(this).addClass("ui-"+
+a(this).jqmData("role"))}),d.find(":jqmData(role='nojs')").addClass("ui-nojs"),d.find(":jqmData(role)").andSelf().each(function(){var b=a(this),e=b.jqmData("role"),f=b.jqmData("theme");if(e==="header"||e==="footer"){b.addClass("ui-bar-"+(f||b.parent(":jqmData(role='page')").jqmData("theme")||"a"));b.attr("role",e==="header"?"banner":"contentinfo");var f=b.children("a"),g=f.hasClass("ui-btn-left"),i=f.hasClass("ui-btn-right");if(!g)g=f.eq(0).not(".ui-btn-right").addClass("ui-btn-left").length;i||f.eq(1).addClass("ui-btn-right");
+c.addBackBtn&&e==="header"&&a(".ui-page").length>1&&d.jqmData("url")!==a.mobile.path.stripHash(location.hash)&&!g&&b.jqmData("backbtn")!==!1&&(f=a("<a href='#' class='ui-btn-left' data-"+a.mobile.ns+"rel='back' data-"+a.mobile.ns+"icon='arrow-l'>"+c.backBtnText+"</a>").prependTo(b),c.backBtnTheme&&f.attr("data-"+a.mobile.ns+"theme",c.backBtnTheme));b.children("h1, h2, h3, h4, h5, h6").addClass("ui-title").attr({tabindex:"0",role:"heading","aria-level":"1"})}else e==="content"?(f&&b.addClass("ui-body-"+
+f),b.attr("role","main")):e==="page"&&b.addClass("ui-body-"+(f||"c"));switch(e){case "header":case "footer":case "page":case "content":b.addClass("ui-"+e);break;case "collapsible":case "fieldcontain":case "navbar":case "listview":case "dialog":b[e]()}}),this._enhanceControls(),d.find(":jqmData(role='button'), .ui-bar > a, .ui-header > a, .ui-footer > a").not(".ui-btn").not(this.keepNative).buttonMarkup(),d.find(":jqmData(role='controlgroup')").controlgroup(),d.find("a:not(.ui-btn):not(.ui-link-inherit)").not(this.keepNative).addClass("ui-link"),
+d.fixHeaderFooter())},_typeAttributeRegex:/\s+type=["']?\w+['"]?/,_enhanceControls:function(){var d=this.options,c=this;this.element.find("input").not(this.keepNative).each(function(){var b=this.getAttribute("type"),e=d.degradeInputs[b]||"text";d.degradeInputs[b]&&a(this).replaceWith(a("<div>").html(a(this).clone()).html().replace(c._typeAttributeRegex,' type="'+e+'" data-'+a.mobile.ns+'type="'+b+'" '))});var b=this.element.find("input, textarea, select, button"),e=b.not(this.keepNative),b=b.filter("input[type=text]");
+b.length&&typeof b[0].autocorrect!=="undefined"&&b.each(function(){this.setAttribute("autocorrect","off");this.setAttribute("autocomplete","off")});e.filter("[type='radio'], [type='checkbox']").checkboxradio();e.filter("button, [type='button'], [type='submit'], [type='reset'], [type='image']").button();e.filter("input, textarea").not("[type='radio'], [type='checkbox'], [type='button'], [type='submit'], [type='reset'], [type='image'], [type='hidden']").textinput();e.filter("input, select").filter(":jqmData(role='slider'), :jqmData(type='range')").slider();
+e.filter("select:not(:jqmData(role='slider'))").selectmenu()}})})(jQuery);
+(function(a,d){a.extend(a.mobile,{ns:"",subPageUrlKey:"ui-page",nonHistorySelectors:"dialog",activePageClass:"ui-page-active",activeBtnClass:"ui-btn-active",ajaxEnabled:!0,useFastClick:!0,hashListeningEnabled:!0,defaultPageTransition:"slide",minScrollBack:screen.height/2,defaultDialogTransition:"pop",loadingMessage:"loading",pageLoadErrorMessage:"Error Loading Page",gradeA:function(){return a.support.mediaquery||a.mobile.browser.ie&&a.mobile.browser.ie>=7},keyCode:{ALT:18,BACKSPACE:8,CAPS_LOCK:20,
+COMMA:188,COMMAND:91,COMMAND_LEFT:91,COMMAND_RIGHT:93,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,MENU:93,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38,WINDOWS:91},silentScroll:function(b){if(a.type(b)!=="number")b=a.mobile.defaultHomeScroll;a.event.special.scrollstart.enabled=!1;setTimeout(function(){d.scrollTo(0,b);a(document).trigger("silentscroll",
+{x:0,y:b})},20);setTimeout(function(){a.event.special.scrollstart.enabled=!0},150)},normalizeRegex:/-([a-z])/g,nsNormalize:function(b){if(b)return a.camelCase(a.mobile.ns+b)}});a.fn.jqmData=function(b,c){return this.data(b?a.mobile.nsNormalize(b):b,c)};a.jqmData=function(b,c,d){return a.data(b,a.mobile.nsNormalize(c),d)};a.fn.jqmRemoveData=function(b){return this.removeData(a.mobile.nsNormalize(b))};a.jqmRemoveData=function(b,c){return a.removeData(b,a.mobile.nsNormalize(c))};a.jqmHasData=function(b,
+c){return a.hasData(b,a.mobile.nsNormalize(c))};var c=a.find;a.find=function(b,d,f,g){b=b.replace(/:jqmData\(([^)]*)\)/g,"[data-"+(a.mobile.ns||"")+"$1]");return c.call(this,b,d,f,g)};a.extend(a.find,c);a.find.matches=function(b,c){return a.find(b,null,null,c)};a.find.matchesSelector=function(b,c){return a.find(c,null,null,[b]).length>0}})(jQuery,this);
+(function(a,d){function c(a){var b=a.jqmData("lastClicked");b&&b.length?b.focus():(b=a.find(".ui-title:eq(0)"),b.length?b.focus():a.find(z).eq(0).focus())}function b(b){q&&(!q.closest(".ui-page-active").length||b)&&q.removeClass(a.mobile.activeBtnClass);q=null}function e(){t=!1;y.length>0&&a.mobile.changePage.apply(null,y.pop())}function f(b,d,e,f){var h=a.support.scrollTop?o.scrollTop():!0,j=b.data("lastScroll")||a.mobile.defaultHomeScroll,i=g();h&&window.scrollTo(0,a.mobile.defaultHomeScroll);j<
+a.mobile.minScrollBack&&(j=0);d&&(d.height(i+h).jqmData("lastScroll",h).jqmData("lastClicked",q),d.data("page")._trigger("beforehide",null,{nextPage:b}));b.height(i+j).data("page")._trigger("beforeshow",null,{prevPage:d||a("")});a.mobile.hidePageLoadingMsg();e=(a.mobile.transitionHandlers[e||"none"]||a.mobile.defaultTransitionHandler)(e,f,b,d);e.done(function(){b.height("");j?(a.mobile.silentScroll(j),a(document).one("silentscroll",function(){c(b)})):c(b);d&&d.height("").data("page")._trigger("hide",
+null,{nextPage:b});b.data("page")._trigger("show",null,{prevPage:d||a("")})});return e}function g(){var b=jQuery.event.special.orientationchange.orientation()==="portrait",c=b?screen.availHeight:screen.availWidth,b=Math.max(b?480:320,a(window).height());return Math.min(c,b)}function i(){a("."+a.mobile.activePageClass).css("min-height",g())}function h(b,c){c&&b.attr("data-"+a.mobile.ns+"role",c);b.page()}function l(a){for(;a;){if(a.nodeName.toLowerCase()=="a")break;a=a.parentNode}return a}function m(b){var b=
+a(b).closest(".ui-page").jqmData("url"),c=s.hrefNoHash;if(!b||!k.isPath(b))b=c;return k.makeUrlAbsolute(b,c)}var o=a(window),j=a("html"),p=a("head"),k={urlParseRE:/^(((([^:\/#\?]+:)?(?:\/\/((?:(([^:@\/#\?]+)(?:\:([^:@\/#\?]+))?)@)?(([^:\/#\?]+)(?:\:([0-9]+))?))?)?)?((\/?(?:[^\/\?#]+\/+)*)([^\?#]*)))?(\?[^#]+)?)(#.*)?/,parseUrl:function(a){if(typeof a==="object")return a;var a=k.urlParseRE.exec(a),b;a&&(b={href:a[0]||"",hrefNoHash:a[1]||"",hrefNoSearch:a[2]||"",domain:a[3]||"",protocol:a[4]||"",authority:a[5]||
+"",username:a[7]||"",password:a[8]||"",host:a[9]||"",hostname:a[10]||"",port:a[11]||"",pathname:a[12]||"",directory:a[13]||"",filename:a[14]||"",search:a[15]||"",hash:a[16]||""});return b||{}},makePathAbsolute:function(a,b){if(a&&a.charAt(0)==="/")return a;for(var a=a||"",c=(b=b?b.replace(/^\/|\/?[^\/]*$/g,""):"")?b.split("/"):[],d=a.split("/"),e=0;e<d.length;e++){var f=d[e];switch(f){case ".":break;case "..":c.length&&c.pop();break;default:c.push(f)}}return"/"+c.join("/")},isSameDomain:function(a,
+b){return k.parseUrl(a).domain===k.parseUrl(b).domain},isRelativeUrl:function(a){return k.parseUrl(a).protocol===""},isAbsoluteUrl:function(a){return k.parseUrl(a).protocol!==""},makeUrlAbsolute:function(a,b){if(!k.isRelativeUrl(a))return a;var c=k.parseUrl(a),d=k.parseUrl(b),e=c.protocol||d.protocol,f=c.authority||d.authority,g=c.pathname!=="",h=k.makePathAbsolute(c.pathname||d.filename,d.pathname);return e+"//"+f+h+(c.search||!g&&d.search||"")+c.hash},addSearchParams:function(b,c){var d=k.parseUrl(b),
+e=typeof c==="object"?a.param(c):c,f=d.search||"?";return d.hrefNoSearch+f+(f.charAt(f.length-1)!=="?"?"&":"")+e+(d.hash||"")},convertUrlToDataUrl:function(a){var b=k.parseUrl(a);if(k.isEmbeddedPage(b))return b.hash.replace(/^#/,"");else if(k.isSameDomain(b,s))return b.hrefNoHash.replace(s.domain,"");return a},get:function(a){if(a===d)a=location.hash;return k.stripHash(a).replace(/[^\/]*\.[^\/*]+$/,"")},getFilePath:function(b){var c="&"+a.mobile.subPageUrlKey;return b&&b.split(c)[0].split(v)[0]},
+set:function(a){location.hash=a},isPath:function(a){return/\//.test(a)},clean:function(a){return a.replace(s.domain,"")},stripHash:function(a){return a.replace(/^#/,"")},cleanHash:function(a){return k.stripHash(a.replace(/\?.*$/,"").replace(v,""))},isExternal:function(a){a=k.parseUrl(a);return a.protocol&&a.domain!==u.domain?!0:!1},hasProtocol:function(a){return/^(:?\w+:)/.test(a)},isEmbeddedPage:function(a){a=k.parseUrl(a);if(a.protocol!=="")return a.hash&&(a.hrefNoHash===u.hrefNoHash||B&&a.hrefNoHash===
+s.hrefNoHash);return/^#/.test(a.href)}},q=null,n={stack:[],activeIndex:0,getActive:function(){return n.stack[n.activeIndex]},getPrev:function(){return n.stack[n.activeIndex-1]},getNext:function(){return n.stack[n.activeIndex+1]},addNew:function(a,b,c,d){n.getNext()&&n.clearForward();n.stack.push({url:a,transition:b,title:c,page:d});n.activeIndex=n.stack.length-1},clearForward:function(){n.stack=n.stack.slice(0,n.activeIndex+1)},directHashChange:function(b){var c,e,f;a.each(n.stack,function(a,d){b.currentUrl===
+d.url&&(c=a<n.activeIndex,e=!c,f=a)});this.activeIndex=f!==d?f:this.activeIndex;c?b.isBack():e&&b.isForward()},ignoreNextHashChange:!1},z="[tabindex],a,button:visible,select:visible,input",y=[],t=!1,v="&ui-state=dialog",x=p.children("base"),u=k.parseUrl(location.href),s=x.length?k.parseUrl(k.makeUrlAbsolute(x.attr("href"),u.href)):u,B=u.hrefNoHash!==s.hrefNoHash,w=a.support.dynamicBaseTag?{element:x.length?x:a("<base>",{href:s.hrefNoHash}).prependTo(p),set:function(a){w.element.attr("href",k.makeUrlAbsolute(a,
+s))},reset:function(){w.element.attr("href",s.hrefNoHash)}}:d;a.fn.animationComplete=function(b){return a.support.cssTransitions?a(this).one("webkitAnimationEnd",b):(setTimeout(b,0),a(this))};a.mobile.updateHash=k.set;a.mobile.path=k;a.mobile.base=w;a.mobile.urlstack=n.stack;a.mobile.urlHistory=n;a.mobile.noneTransitionHandler=function(b,c,d,e){e&&e.removeClass(a.mobile.activePageClass);d.addClass(a.mobile.activePageClass);return a.Deferred().resolve(b,c,d,e).promise()};a.mobile.defaultTransitionHandler=
+a.mobile.noneTransitionHandler;a.mobile.transitionHandlers={none:a.mobile.defaultTransitionHandler};a.mobile.allowCrossDomainPages=!1;a.mobile.getDocumentUrl=function(b){return b?a.extend({},u):u.href};a.mobile.getDocumentBase=function(b){return b?a.extend({},s):s.href};a.mobile.loadPage=function(b,c){var e=a.Deferred(),f=a.extend({},a.mobile.loadPage.defaults,c),g=null,j=null,i=k.makeUrlAbsolute(b,s.hrefNoHash);if(f.data&&f.type==="get")i=k.addSearchParams(i,f.data),f.data=d;var n=k.getFilePath(i),
+q=k.convertUrlToDataUrl(i);f.pageContainer=f.pageContainer||a.mobile.pageContainer;g=f.pageContainer.children(":jqmData(url='"+q+"')");w&&w.reset();if(g.length){if(!f.reloadPage)return h(g,f.role),e.resolve(i,c,g),e.promise();j=g}f.showLoadMsg&&a.mobile.showPageLoadingMsg();a.ajax({url:n,type:f.type,data:f.data,dataType:"html",success:function(d){var l=a("<div></div>"),p=d.match(/<title[^>]*>([^<]*)/)&&RegExp.$1,o=RegExp("\\bdata-"+a.mobile.ns+"url=[\"']?([^\"'>]*)[\"']?");RegExp(".*(<[^>]+\\bdata-"+
+a.mobile.ns+"role=[\"']?page[\"']?[^>]*>).*").test(d)&&RegExp.$1&&o.test(RegExp.$1)&&RegExp.$1&&(b=n=k.getFilePath(RegExp.$1));w&&w.set(n);l.get(0).innerHTML=d;g=l.find(":jqmData(role='page'), :jqmData(role='dialog')").first();p&&!g.jqmData("title")&&g.jqmData("title",p);if(!a.support.dynamicBaseTag){var m=k.get(n);g.find("[src], link[href], a[rel='external'], :jqmData(ajax='false'), a[target]").each(function(){var b=a(this).is("[href]")?"href":a(this).is("[src]")?"src":"action",c=a(this).attr(b),
+c=c.replace(location.protocol+"//"+location.host+location.pathname,"");/^(\w+:|#|\/)/.test(c)||a(this).attr(b,m+c)})}g.attr("data-"+a.mobile.ns+"url",k.convertUrlToDataUrl(n)).appendTo(f.pageContainer);h(g,f.role);i.indexOf("&"+a.mobile.subPageUrlKey)>-1&&(g=f.pageContainer.children(":jqmData(url='"+q+"')"));f.showLoadMsg&&a.mobile.hidePageLoadingMsg();e.resolve(i,c,g,j)},error:function(){w&&w.set(k.get());f.showLoadMsg&&(a.mobile.hidePageLoadingMsg(),a("<div class='ui-loader ui-overlay-shadow ui-body-e ui-corner-all'><h1>"+
+a.mobile.pageLoadErrorMessage+"</h1></div>").css({display:"block",opacity:0.96,top:o.scrollTop()+100}).appendTo(f.pageContainer).delay(800).fadeOut(400,function(){a(this).remove()}));e.reject(i,c)}});return e.promise()};a.mobile.loadPage.defaults={type:"get",data:d,reloadPage:!1,role:d,showLoadMsg:!0,pageContainer:d};a.mobile.changePage=function(c,g){if(typeof g!=="object"){var i=null;if(typeof c==="object"&&c.url&&c.type)i={type:c.type,data:c.data,forcePageLoad:!0},c=c.url;var q=arguments.length;
+if(q>1){var l=["transition","reverse","changeHash","fromHashChange"],p;for(p=1;p<q;p++){var o=arguments[p];typeof o!=="undefined"&&(i=i||{},i[l[p-1]]=o)}}if(i)return a.mobile.changePage(c,i)}if(t)y.unshift(arguments);else{t=!0;var m=a.extend({},a.mobile.changePage.defaults,g);m.pageContainer=m.pageContainer||a.mobile.pageContainer;if(typeof c=="string")a.mobile.loadPage(c,m).done(function(b,c,d,e){t=!1;c.duplicateCachedPage=e;a.mobile.changePage(d,c)}).fail(function(){t=!1;b(!0);e();m.pageContainer.trigger("changepagefailed")});
+else{var s=m.pageContainer,i=a.mobile.activePage,q=c.jqmData("url");k.getFilePath(q);l=n.getActive();p=n.activeIndex===0;var x=0,o=document.title,u=m.role==="dialog"||c.jqmData("role")==="dialog";s.trigger("beforechangepage");if(i&&i[0]===c[0])t=!1,s.trigger("changepage");else{h(c,m.role);m.fromHashChange&&n.directHashChange({currentUrl:q,isBack:function(){x=-1},isForward:function(){x=1}});a(document.activeElement||"").add("input:focus, textarea:focus, select:focus").blur();u&&l&&(q=l.url+v);if(m.changeHash!==
+!1&&q)n.ignoreNextHashChange=!0,k.set(q);(u=c.jqmData("title")||c.children(":jqmData(role='header')").find(".ui-title").text())&&o==document.title&&(o=u);x||n.addNew(q,m.transition,o,c);document.title=n.getActive().title;a.mobile.activePage=c;m.transition=m.transition||(x&&!p?l.transition:d)||(m.role==="dialog"?a.mobile.defaultDialogTransition:a.mobile.defaultPageTransition);m.reverse=m.reverse||x<0;f(c,i,m.transition,m.reverse).done(function(){b();m.duplicateCachedPage&&m.duplicateCachedPage.remove();
+j.removeClass("ui-mobile-rendering");e();s.trigger("changepage")})}}}};a.mobile.changePage.defaults={transition:d,reverse:!1,changeHash:!0,fromHashChange:!1,role:d,duplicateCachedPage:d,pageContainer:d};a("form").live("submit",function(b){var c=a(this);if(a.mobile.ajaxEnabled&&!c.is(":jqmData(ajax='false')")){var d=c.attr("method"),e=k.makeUrlAbsolute(c.attr("action"),m(c)),f=c.attr("target");!k.isExternal(e)&&!f&&(a.mobile.changePage(e,{type:d.length&&d.toLowerCase()||"get",data:c.serialize(),transition:c.jqmData("transition"),
+direction:c.jqmData("direction"),reloadPage:!0}),b.preventDefault())}});a(document).bind("vclick",function(b){if((b=l(b.target))&&k.parseUrl(b.getAttribute("href")||"#").hash!=="#")a(b).closest(".ui-btn").not(".ui-disabled").addClass(a.mobile.activeBtnClass),a("."+a.mobile.activePageClass+" .ui-btn").not(b).blur()});a(document).bind(a.mobile.useFastClick?"vclick click":"click",function(c){var e=l(c.target);if(e){var f=a(e),g=function(){window.setTimeout(function(){b(!0)},200)};if(f.is(":jqmData(rel='back')"))return window.history.back(),
+!1;if(a.mobile.ajaxEnabled){var h=m(f),e=k.makeUrlAbsolute(f.attr("href")||"#",h);if(e.search("#")!=-1)if(e=e.replace(/[^#]*#/,""))e=k.isPath(e)?k.makeUrlAbsolute(e,h):k.makeUrlAbsolute("#"+e,u.hrefNoHash);else{c.preventDefault();return}var h=f.is("[rel='external']")||f.is(":jqmData(ajax='false')")||f.is("[target]"),i=a.mobile.allowCrossDomainPages&&u.protocol==="file:"&&e.search(/^https?:/)!=-1,h=h||k.isExternal(e)&&!i;q=f.closest(".ui-btn");h?g():(g=f.jqmData("transition"),h=(h=f.jqmData("direction"))&&
+h==="reverse"||f.jqmData("back"),f=f.attr("data-"+a.mobile.ns+"rel")||d,a.mobile.changePage(e,{transition:g,reverse:h,role:f}),c.preventDefault())}else g()}});o.bind("hashchange",function(){var b=k.stripHash(location.hash),c=a.mobile.urlHistory.stack.length===0?"none":d;if(!a.mobile.hashListeningEnabled||n.ignoreNextHashChange)n.ignoreNextHashChange=!1;else{if(n.stack.length>1&&b.indexOf(v)>-1)if(a.mobile.activePage.is(".ui-dialog")){var e=function(){b=a.mobile.urlHistory.getActive().page};n.directHashChange({currentUrl:b,
+isBack:e,isForward:e})}else{n.directHashChange({currentUrl:b,isBack:function(){window.history.back()},isForward:function(){window.history.forward()}});return}b?(b=typeof b==="string"&&!k.isPath(b)?"#"+b:b,a.mobile.changePage(b,{transition:c,changeHash:!1,fromHashChange:!0})):a.mobile.changePage(a.mobile.firstPage,{transition:c,changeHash:!1,fromHashChange:!0})}});a(document).bind("pageshow",i);a(window).bind("throttledresize",i)})(jQuery);
+(function(a){function d(c,b,d,f){var g=new a.Deferred,i=b?" reverse":"",h="ui-mobile-viewport-transitioning viewport-"+c;d.animationComplete(function(){d.add(f).removeClass("out in reverse "+c);f&&f.removeClass(a.mobile.activePageClass);d.parent().removeClass(h);g.resolve(c,b,d,f)});d.parent().addClass(h);f&&f.addClass(c+" out"+i);d.addClass(a.mobile.activePageClass+" "+c+" in"+i);return g.promise()}a.mobile.css3TransitionHandler=d;if(a.mobile.defaultTransitionHandler===a.mobile.noneTransitionHandler)a.mobile.defaultTransitionHandler=
+d})(jQuery,this);
+(function(a,d){a.fn.fixHeaderFooter=function(){if(!a.support.scrollTop)return this;return this.each(function(){var c=a(this);c.jqmData("fullscreen")&&c.addClass("ui-page-fullscreen");c.find(".ui-header:jqmData(position='fixed')").addClass("ui-header-fixed ui-fixed-inline fade");c.find(".ui-footer:jqmData(position='fixed')").addClass("ui-footer-fixed ui-fixed-inline fade")})};a.fixedToolbars=function(){function c(){!g&&f=="overlay"&&(i||a.fixedToolbars.hide(!0),a.fixedToolbars.startShowTimer())}function b(a){var b=
+0;if(a)for(var c=a.offsetParent,d=document.body,b=a.offsetTop;a&&a!=d;){b+=a.scrollTop||0;if(a==c)b+=c.offsetTop,c=a.offsetParent;a=a.parentNode}return b}function e(c){var d=a(window).scrollTop(),e=b(c[0]),f=c.css("top")=="auto"?0:parseFloat(c.css("top")),g=window.innerHeight,h=c.outerHeight(),i=c.parents(".ui-page:not(.ui-page-fullscreen)").length;return c.is(".ui-header-fixed")?(f=d-e+f,f<e&&(f=0),c.css("top",i?f:d)):c.css("top",i?d+g-h-(e-f):d+g-h)}if(a.support.scrollTop){var f="inline",g=!1,i,
+h,l=null,m=!1,o=!0;a(function(){a(document).bind("vmousedown",function(){o&&(l=f)}).bind("vclick",function(b){o&&!a(b.target).closest("a,input,textarea,select,button,label,.ui-header-fixed,.ui-footer-fixed").length&&!m&&(a.fixedToolbars.toggle(l),l=null)}).bind("silentscroll",c);(a(document).scrollTop()==0?a(window):a(document)).bind("scrollstart",function(){m=!0;l==null&&(l=f);var b=l=="overlay";if(g=b||!!i)a.fixedToolbars.clearShowTimer(),b&&a.fixedToolbars.hide(!0)}).bind("scrollstop",function(b){a(b.target).closest("a,input,textarea,select,button,label,.ui-header-fixed,.ui-footer-fixed").length||
+(m=!1,g&&(g=!1,a.fixedToolbars.startShowTimer()),l=null)});a(window).bind("resize",c)});a(".ui-page").live("pagebeforeshow",function(b,c){var d=a(b.target).find(":jqmData(role='footer')"),f=d.data("id"),g=c.prevPage,g=g&&g.find(":jqmData(role='footer')"),g=g.length&&g.jqmData("id")===f;f&&g&&(h=d,e(h.removeClass("fade in out").appendTo(a.mobile.pageContainer)))});a(".ui-page").live("pageshow",function(){var b=a(this);h&&h.length&&setTimeout(function(){e(h.appendTo(b).addClass("fade"));h=null},500);
+a.fixedToolbars.show(!0,this)});a(".ui-collapsible-contain").live("collapse expand",c);return{show:function(c,d){a.fixedToolbars.clearShowTimer();f="overlay";return(d?a(d):a.mobile.activePage?a.mobile.activePage:a(".ui-page-active")).children(".ui-header-fixed:first, .ui-footer-fixed:not(.ui-footer-duplicate):last").each(function(){var d=a(this),f=a(window).scrollTop(),g=b(d[0]),h=window.innerHeight,i=d.outerHeight(),f=d.is(".ui-header-fixed")&&f<=g+i||d.is(".ui-footer-fixed")&&g<=f+h;d.addClass("ui-fixed-overlay").removeClass("ui-fixed-inline");
+!f&&!c&&d.animationComplete(function(){d.removeClass("in")}).addClass("in");e(d)})},hide:function(b){f="inline";return(a.mobile.activePage?a.mobile.activePage:a(".ui-page-active")).children(".ui-header-fixed:first, .ui-footer-fixed:not(.ui-footer-duplicate):last").each(function(){var c=a(this),d=c.css("top"),d=d=="auto"?0:parseFloat(d);c.addClass("ui-fixed-inline").removeClass("ui-fixed-overlay");if(d<0||c.is(".ui-header-fixed")&&d!=0)b?c.css("top",0):c.css("top")!=="auto"&&parseFloat(c.css("top"))!==
+0&&c.animationComplete(function(){c.removeClass("out reverse");c.css("top",0)}).addClass("out reverse")})},startShowTimer:function(){a.fixedToolbars.clearShowTimer();var b=a.makeArray(arguments);i=setTimeout(function(){i=d;a.fixedToolbars.show.apply(null,b)},100)},clearShowTimer:function(){i&&clearTimeout(i);i=d},toggle:function(b){b&&(f=b);return f=="overlay"?a.fixedToolbars.hide():a.fixedToolbars.show()},setTouchToggleEnabled:function(a){o=a}}}}()})(jQuery);
+(function(a,d){a.widget("mobile.checkboxradio",a.mobile.widget,{options:{theme:null},_create:function(){var c=this,b=this.element,e=b.closest("form,fieldset,:jqmData(role='page')").find("label").filter('[for="'+b[0].id+'"]'),f=b.attr("type"),g="ui-icon-"+f+"-off";if(!(f!="checkbox"&&f!="radio")){a.extend(this,{label:e,inputtype:f,checkedicon:"ui-icon-"+f+"-on",uncheckedicon:g});if(!this.options.theme)this.options.theme=this.element.jqmData("theme");e.buttonMarkup({theme:this.options.theme,icon:this.element.parents(":jqmData(type='horizontal')").length?
+d:g,shadow:!1});b.add(e).wrapAll("<div class='ui-"+f+"'></div>");e.bind({vmouseover:function(){if(a(this).parent().is(".ui-disabled"))return!1},vclick:function(a){if(b.is(":disabled"))a.preventDefault();else return c._cacheVals(),b.prop("checked",f==="radio"&&!0||!b.prop("checked")),c._getInputSet().not(b).prop("checked",!1),c._updateAll(),!1}});b.bind({vmousedown:function(){this._cacheVals()},vclick:function(){a(this).is(":checked")?(a(this).prop("checked",!0),c._getInputSet().not(a(this)).prop("checked",
+!1)):a(this).prop("checked",!1);c._updateAll()},focus:function(){e.addClass("ui-focus")},blur:function(){e.removeClass("ui-focus")}});this.refresh()}},_cacheVals:function(){this._getInputSet().each(function(){a(this).jqmData("cacheVal",a(this).is(":checked"))})},_getInputSet:function(){return this.element.closest("form,fieldset,:jqmData(role='page')").find("input[name='"+this.element.attr("name")+"'][type='"+this.inputtype+"']")},_updateAll:function(){var c=this;this._getInputSet().each(function(){(a(this).is(":checked")||
+c.inputtype==="checkbox")&&a(this).trigger("change")}).checkboxradio("refresh")},refresh:function(){var c=this.element,b=this.label,d=b.find(".ui-icon");a(c[0]).prop("checked")?(b.addClass(a.mobile.activeBtnClass),d.addClass(this.checkedicon).removeClass(this.uncheckedicon)):(b.removeClass(a.mobile.activeBtnClass),d.removeClass(this.checkedicon).addClass(this.uncheckedicon));c.is(":disabled")?this.disable():this.enable()},disable:function(){this.element.prop("disabled",!0).parent().addClass("ui-disabled")},
+enable:function(){this.element.prop("disabled",!1).parent().removeClass("ui-disabled")}})})(jQuery);
+(function(a){a.widget("mobile.textinput",a.mobile.widget,{options:{theme:null},_create:function(){var h;var d=this.element,c=this.options,b=c.theme;b||(b=this.element.closest("[class*='ui-bar-'],[class*='ui-body-']"),h=(b=b.length&&/ui-(bar|body)-([a-z])/.exec(b.attr("class")))&&b[2]||"c",b=h);b=" ui-body-"+b;a('label[for="'+d.attr("id")+'"]').addClass("ui-input-text");d.addClass("ui-input-text ui-body-"+c.theme);var e=d;if(d.is("[type='search'],:jqmData(type='search')")){var e=d.wrap('<div class="ui-input-search ui-shadow-inset ui-btn-corner-all ui-btn-shadow ui-icon-searchfield'+
+b+'"></div>').parent(),f=a('<a href="#" class="ui-input-clear" title="clear text">clear text</a>').tap(function(a){d.val("").focus();d.trigger("change");f.addClass("ui-input-clear-hidden");a.preventDefault()}).appendTo(e).buttonMarkup({icon:"delete",iconpos:"notext",corners:!0,shadow:!0}),c=function(){d.val()==""?f.addClass("ui-input-clear-hidden"):f.removeClass("ui-input-clear-hidden")};c();d.keyup(c);d.focus(c)}else d.addClass("ui-corner-all ui-shadow-inset"+b);d.focus(function(){e.addClass("ui-focus")}).blur(function(){e.removeClass("ui-focus")});
+if(d.is("textarea")){var g=function(){var a=d[0].scrollHeight;d[0].clientHeight<a&&d.css({height:a+15})},i;d.keyup(function(){clearTimeout(i);i=setTimeout(g,100)})}},disable:function(){(this.element.attr("disabled",!0).is("[type='search'],:jqmData(type='search')")?this.element.parent():this.element).addClass("ui-disabled")},enable:function(){(this.element.attr("disabled",!1).is("[type='search'],:jqmData(type='search')")?this.element.parent():this.element).removeClass("ui-disabled")}})})(jQuery);
+
+
+(function(a){a.widget("mobile.selectmenu",a.mobile.widget,{
+ options:{
+ theme:null,
+ disabled:!1,
+ icon:"arrow-d",
+ iconpos:"right",
+ inline:null,
+ corners:!0,shadow:!0,
+ iconshadow:!0,
+ menuPageTheme:"b",
+ overlayTheme:"a",
+ hidePlaceholderMenuItems:!0,
+ closeText:"Close",
+ nativeMenu:!0
+ },
+ _create:function(){
+ var d=this,
+ c=this.options,
+ b=this.element.wrap("<div class='ui-select'>"),
+ e=b.attr("id"),
+ f=a('label[for="'+e+'"]').addClass("ui-select"),
+ g=b[0].selectedIndex==-1?0:b[0].selectedIndex,
+ i=(d.options.nativeMenu?a("<div/>"):a("<a>",{
+ href:"#",
+ role:"button",
+ id:m,
+ "aria-haspopup":"true",
+ "aria-owns":o
+ })).text(a(b[0].options.item(g)).text()).insertBefore(b).buttonMarkup({
+ theme:c.theme,
+ icon:c.icon,
+ iconpos:c.iconpos,
+ inline:c.inline,
+ corners:c.corners,
+ shadow:c.shadow,
+ iconshadow:c.iconshadow
+ }),
+ h=d.isMultiple=b[0].multiple;
+ c.nativeMenu&&window.opera&&window.opera.version&&b.addClass("ui-select-nativeonly");
+ if(!c.nativeMenu){
+ var l=b.find("option"),
+ m=e+"-button",
+ o=e+"-menu",
+ j=b.closest(".ui-page"),
+ g=/ui-btn-up-([a-z])/.exec(i.attr("class"))[1],
+ p=a("<div data-"+a.mobile.ns+"role='dialog' data-"+a.mobile.ns+"theme='"+c.menuPageTheme+"'><div data-"+a.mobile.ns+"role='header'><div class='ui-title'>"+f.text()+"</div></div><div data-"+a.mobile.ns+"role='content'></div></div>").appendTo(a.mobile.pageContainer).page(),k=p.find(".ui-content");p.find(".ui-header a");var q=a("<div>",{"class":"ui-selectmenu-screen ui-screen-hidden"}).appendTo(j),n=a("<div>",{"class":"ui-selectmenu ui-selectmenu-hidden ui-overlay-shadow ui-corner-all pop ui-body-"+c.overlayTheme}).insertAfter(q),z=a("<ul>",{"class":"ui-selectmenu-list",id:o,role:"listbox","aria-labelledby":m}).attr("data-"+a.mobile.ns+"theme",g).appendTo(n),y=a("<div>",{"class":"ui-header ui-bar-"+g}).prependTo(n),t=a("<h1>",{"class":"ui-title"}).appendTo(y),v=a("<a>",{text:c.closeText,href:"#","class":"ui-btn-left"}).attr("data-"+a.mobile.ns+"iconpos","notext").attr("data-"+a.mobile.ns+"icon","delete").appendTo(y).buttonMarkup()}if(h)d.buttonCount=a("<span>").addClass("ui-li-count ui-btn-up-c ui-btn-corner-all").hide().appendTo(i);c.disabled&&this.disable();b.change(function(){d.refresh()});a.extend(d,{select:b,optionElems:l,selectID:e,label:f,buttonId:m,menuId:o,thisPage:j,button:i,menuPage:p,menuPageContent:k,screen:q,listbox:n,list:z,menuType:void 0,header:y,headerClose:v,headerTitle:t,placeholder:""});
+ c.nativeMenu?b.appendTo(i).bind("vmousedown",function(){
+ i.addClass(a.mobile.activeBtnClass)
+ }).bind("focus vmouseover",function(){
+ i.trigger("vmouseover")
+ }).bind("vmousemove",function(){
+ i.removeClass(a.mobile.activeBtnClass)
+ }).bind("change blur vmouseout",function(){
+ i.trigger("vmouseout").removeClass(a.mobile.activeBtnClass)
+ }):(d.refresh(),b.attr("tabindex","-1").focus(function(){
+ a(this).blur();i.focus()
+ }),
+ i.bind("vclick keydown",function(b){
+ if(b.type=="vclick"||b.keyCode&&(b.keyCode===a.mobile.keyCode.ENTER||b.keyCode===a.mobile.keyCode.SPACE))
+ d.open(),b.preventDefault()
+ }),
+ z.attr("role","listbox").delegate(".ui-li>a","focusin",function(){
+ a(this).attr("tabindex","0")
+ }).delegate(".ui-li>a","focusout",function(){
+ a(this).attr("tabindex","-1")
+ }).delegate("li:not(.ui-disabled, .ui-li-divider)","vclick",function(c){
+ var e=b[0].selectedIndex,
+ f=z.find("li:not(.ui-li-divider)").index(this),
+ g=d.optionElems.eq(f)[0];
+ g.selected=h?!g.selected:!0;
+ h&&a(this).find(".ui-icon").toggleClass("ui-icon-checkbox-on",g.selected).toggleClass("ui-icon-checkbox-off",!g.selected);
+ (h||e!==f)&&b.trigger("change");
+ h||d.close();
+ c.preventDefault()
+ }).keydown(function(b){
+ var c=a(b.target),
+ d=c.closest("li");
+ switch(b.keyCode){
+ case 38:
+ return b=d.prev(),b.length&&(c.blur().attr("tabindex","-1"),b.find("a").first().focus()),!1;
+ case 40:
+ return b=d.next(),b.length&&(c.blur().attr("tabindex","-1"),b.find("a").first().focus()),!1;
+ case 13:case 32:
+ return c.trigger("vclick"),!1
+ }
+ }),
+ q.bind("vclick",function(){
+ d.close()
+ }),
+ d.headerClose.click(function(){
+ if(d.menuType=="overlay")
+ return d.close(),!1
+ })
+ )},
+ _buildList:function(){
+ var d=this,
+ c=this.options,
+ b=this.placeholder,
+ e=[],
+ f=[],
+ g=d.isMultiple?"checkbox-off":"false";
+ d.list.empty().filter(".ui-listview").listview("destroy");
+ d.select.find("option").each(function(){
+ var i=a(this),
+ h=i.parent(),
+ l=i.text(),
+ m="<a href='#'>"+l+"</a>",
+ o=[],
+ j=[];
+ h.is("optgroup")&&(h=h.attr("label"),a.inArray(h,e)===-1&&(f.push("<li data-"+a.mobile.ns+"role='list-divider'>"+h+"</li>"),e.push(h)));
+ if(!this.getAttribute("value")||l.length==0||i.jqmData("placeholder"))
+ c.hidePlaceholderMenuItems&&o.push("ui-selectmenu-placeholder"),b=d.placeholder=l;
+ this.disabled&&(o.push("ui-disabled"),j.push("aria-disabled='true'"));
+ f.push("<li data-"+a.mobile.ns+"icon='"+g+"' class='"+o.join(" ")+"' "+j.join(" ")+">"+m+"</li>")
+ });
+ d.list.html(f.join(" "));
+ d.list.find("li").attr({role:"option",tabindex:"-1"}).first().attr("tabindex","0");
+ this.isMultiple||this.headerClose.hide();
+ !this.isMultiple&&!b.length?this.header.hide():this.headerTitle.text(this.placeholder);
+ d.list.listview()
+ },
+ refresh:function(d){
+ var c=this,
+ b=this.element,
+ e=this.isMultiple,
+ f=this.optionElems=b.find("option"),
+ g=f.filter(":selected"),
+ i=g.map(function(){
+ return f.index(this)
+ }).get();
+ !c.options.nativeMenu&&(d||b[0].options.length!=c.list.find("li").length)&&c._buildList();
+ c.button.find(".ui-btn-text").text(function(){
+ if(!e)return g.text();
+ return g.length?g.map(function(){
+ return a(this).text()
+ }).get().join(", "):c.placeholder
+ });
+ e&&c.buttonCount[g.length>1?"show":"hide"]().text(g.length);
+ c.options.nativeMenu||c.list.find("li:not(.ui-li-divider)").removeClass(a.mobile.activeBtnClass).attr("aria-selected",!1).each(function(b){
+ a.inArray(b,i)>-1&&(b=a(this).addClass(a.mobile.activeBtnClass),
+ b.find("a").attr("aria-selected",!0),
+ e&&b.find(".ui-icon").removeClass("ui-icon-checkbox-off").addClass("ui-icon-checkbox-on")
+ )
+ })
+ },
+ open:function(){
+ function d(){
+ c.list.find(".ui-btn-active").focus()
+ }
+ if(!this.options.disabled&&!this.options.nativeMenu){
+ var c=this,
+ b=c.list.parent().outerHeight(),
+ e=c.list.parent().outerWidth(),
+ f=a(window).scrollTop(),
+ g=c.button.offset().top,
+ i=window.innerHeight,
+ h=window.innerWidth;
+ c.button.addClass(a.mobile.activeBtnClass);
+ setTimeout(function(){
+ c.button.removeClass(a.mobile.activeBtnClass)
+ },300);
+ if(b>i-80||!a.support.scrollTop){
+ if(f==0&&g>i)
+ c.thisPage.one("pagehide",function(){
+ a(this).jqmData("lastScroll",g)
+ });
+ c.menuPage.one("pageshow",function(){
+ a(window).one("silentscroll",function(){d()})
+ });
+ c.menuType="page";
+ c.menuPageContent.append(c.list);
+ a.mobile.changePage(c.menuPage,{transition:"pop"})
+ }else{
+ c.menuType="overlay";
+ c.screen.height(a(document).height()).removeClass("ui-screen-hidden");
+ var l=g-f,m=f+i-g,o=b/2,j=parseFloat(c.list.parent().css("max-width")),b=l>b/2&&m>b/2?g+c.button.outerHeight()/2-o:l>m?f+i-b-30:f+30;e<j?j=(h-e)/2:(j=c.button.offset().left+c.button.outerWidth()/2-e/2,j<30?j=30:j+e>h&&(j=h-e-30));
+ c.listbox.append(c.list).removeClass("ui-selectmenu-hidden").css({top:b,left:j}).addClass("in");d()
+ }
+ setTimeout(function(){
+ c.isOpen=!0
+ },400)
+ }
+ },
+ close:function(){
+ function a(){
+ setTimeout(function(){
+ c.button.focus()
+ },40);
+ c.listbox.removeAttr("style").append(c.list)
+ }
+ if(!this.options.disabled&&this.isOpen&&!this.options.nativeMenu){
+ var c=this;
+ c.menuType=="page"?(c.menuPage.one("pagehide",a),window.history.back()):(c.screen.addClass("ui-screen-hidden"),c.listbox.addClass("ui-selectmenu-hidden").removeAttr("style").removeClass("in"),a());this.isOpen=!1
+ }
+ },
+ disable:function(){
+ this.element.attr("disabled",!0);
+ this.button.addClass("ui-disabled").attr("aria-disabled",!0);return this._setOption("disabled",!0)
+ },
+ enable:function(){
+ this.element.attr("disabled",!1);
+ this.button.removeClass("ui-disabled").attr("aria-disabled",!1);
+ return this._setOption("disabled",!1)
+ }
+})})(jQuery);
+(function(a){function d(b){for(;b;){var c=a(b);if(c.hasClass("ui-btn")&&!c.hasClass("ui-disabled"))break;b=b.parentNode}return b}a.fn.buttonMarkup=function(b){return this.each(function(){var d=a(this),f=a.extend({},a.fn.buttonMarkup.defaults,d.jqmData(),b),g,i="ui-btn-inner",h;c&&c();if(!f.theme)g=d.closest("[class*='ui-bar-'],[class*='ui-body-']"),f.theme=g.length?/ui-(bar|body)-([a-z])/.exec(g.attr("class"))[2]:"c";g="ui-btn ui-btn-up-"+f.theme;f.inline&&(g+=" ui-btn-inline");if(f.icon)f.icon="ui-icon-"+
+f.icon,f.iconpos=f.iconpos||"left",h="ui-icon "+f.icon,f.shadow&&(h+=" ui-icon-shadow");f.iconpos&&(g+=" ui-btn-icon-"+f.iconpos,f.iconpos=="notext"&&!d.attr("title")&&d.attr("title",d.text()));f.corners&&(g+=" ui-btn-corner-all",i+=" ui-btn-corner-all");f.shadow&&(g+=" ui-shadow");d.attr("data-"+a.mobile.ns+"theme",f.theme).addClass(g);f=("<D class='"+i+"'><D class='ui-btn-text'></D>"+(f.icon?"<span class='"+h+"'></span>":"")+"</D>").replace(/D/g,f.wrapperEls);d.wrapInner(f)})};a.fn.buttonMarkup.defaults=
+{corners:!0,shadow:!0,iconshadow:!0,wrapperEls:"span"};var c=function(){a(document).bind({vmousedown:function(b){if(b=d(b.target)){var b=a(b),c=b.attr("data-"+a.mobile.ns+"theme");b.removeClass("ui-btn-up-"+c).addClass("ui-btn-down-"+c)}},"vmousecancel vmouseup":function(b){if(b=d(b.target)){var b=a(b),c=b.attr("data-"+a.mobile.ns+"theme");b.removeClass("ui-btn-down-"+c).addClass("ui-btn-up-"+c)}},"vmouseover focus":function(b){if(b=d(b.target)){var b=a(b),c=b.attr("data-"+a.mobile.ns+"theme");b.removeClass("ui-btn-up-"+
+c).addClass("ui-btn-hover-"+c)}},"vmouseout blur":function(b){if(b=d(b.target)){var b=a(b),c=b.attr("data-"+a.mobile.ns+"theme");b.removeClass("ui-btn-hover-"+c).addClass("ui-btn-up-"+c)}}});c=null}})(jQuery);
+(function(a){a.widget("mobile.button",a.mobile.widget,{options:{theme:null,icon:null,iconpos:null,inline:null,corners:!0,shadow:!0,iconshadow:!0},_create:function(){var d=this.element,c=this.options;this.button=a("<div></div>").text(d.text()||d.val()).buttonMarkup({theme:c.theme,icon:c.icon,iconpos:c.iconpos,inline:c.inline,corners:c.corners,shadow:c.shadow,iconshadow:c.iconshadow}).insertBefore(d).append(d.addClass("ui-btn-hidden"));c=d.attr("type");c!=="button"&&c!=="reset"&&d.bind("vclick",function(){var b=
+a("<input>",{type:"hidden",name:d.attr("name"),value:d.attr("value")}).insertBefore(d);a(document).submit(function(){b.remove()})});this.refresh()},enable:function(){this.element.attr("disabled",!1);this.button.removeClass("ui-disabled").attr("aria-disabled",!1);return this._setOption("disabled",!1)},disable:function(){this.element.attr("disabled",!0);this.button.addClass("ui-disabled").attr("aria-disabled",!0);return this._setOption("disabled",!0)},refresh:function(){this.element.attr("disabled")?
+this.disable():this.enable()}})})(jQuery);
+
+
+(function(a){a.widget("mobile.slider",a.mobile.widget,{options:{theme:null,trackTheme:null,disabled:!1},_create:function(){var d=this,c=this.element,b=c.parents("[class*=ui-bar-],[class*=ui-body-]").eq(0),b=b.length?b.attr("class").match(/ui-(bar|body)-([a-z])/)[2]:"c",e=this.options.theme?this.options.theme:b,f=this.options.trackTheme?this.options.trackTheme:b,g=c[0].nodeName.toLowerCase(),b=g=="select"?"ui-slider-switch":"",i=c.attr("id"),h=i+"-label",i=a('[for="'+i+'"]').attr("id",h),l=function(){return g==
+"input"?parseFloat(c.val()):c[0].selectedIndex},m=g=="input"?parseFloat(c.attr("min")):0,o=g=="input"?parseFloat(c.attr("max")):c.find("option").length-1,j=window.parseFloat(c.attr("step")||1),p=a('<div class="ui-slider '+b+" ui-btn-down-"+f+' ui-btn-corner-all" role="application"></div>'),k=a('<a href="#" class="ui-slider-handle"></a>').appendTo(p).buttonMarkup({corners:!0,theme:e,shadow:!0}).attr({role:"slider","aria-valuemin":m,"aria-valuemax":o,"aria-valuenow":l(),"aria-valuetext":l(),title:l(),
+"aria-labelledby":h});a.extend(this,{slider:p,handle:k,dragging:!1,beforeStart:null});g=="select"&&(p.wrapInner('<div class="ui-slider-inneroffset"></div>'),c.find("option"),c.find("option").each(function(b){var c=b==0?"b":"a",d=b==0?"right":"left",b=b==0?" ui-btn-down-"+f:" ui-btn-active";a('<div class="ui-slider-labelbg ui-slider-labelbg-'+c+b+" ui-btn-corner-"+d+'"></div>').prependTo(p);a('<span class="ui-slider-label ui-slider-label-'+c+b+" ui-btn-corner-"+d+'" role="img">'+a(this).text()+"</span>").prependTo(k)}));
+i.addClass("ui-slider");c.addClass(g=="input"?"ui-slider-input":"ui-slider-switch").change(function(){d.refresh(l(),!0)}).keyup(function(){d.refresh(l(),!0,!0)}).blur(function(){d.refresh(l(),!0)});a(document).bind("vmousemove",function(a){if(d.dragging)return d.refresh(a),!1});p.bind("vmousedown",function(a){d.dragging=!0;if(g==="select")d.beforeStart=c[0].selectedIndex;d.refresh(a);return!1});p.add(document).bind("vmouseup",function(){if(d.dragging){d.dragging=!1;if(g==="select"){d.beforeStart===
+c[0].selectedIndex&&d.refresh(d.beforeStart===0?1:0);var a=l(),a=Math.round(a/(o-m)*100);k.addClass("ui-slider-handle-snapping").css("left",a+"%").animationComplete(function(){k.removeClass("ui-slider-handle-snapping")})}return!1}});p.insertAfter(c);this.handle.bind("vmousedown",function(){a(this).focus()}).bind("vclick",!1);this.handle.bind("keydown",function(b){var c=l();if(!d.options.disabled){switch(b.keyCode){case a.mobile.keyCode.HOME:case a.mobile.keyCode.END:case a.mobile.keyCode.PAGE_UP:case a.mobile.keyCode.PAGE_DOWN:case a.mobile.keyCode.UP:case a.mobile.keyCode.RIGHT:case a.mobile.keyCode.DOWN:case a.mobile.keyCode.LEFT:if(b.preventDefault(),
+!d._keySliding)d._keySliding=!0,a(this).addClass("ui-state-active")}switch(b.keyCode){case a.mobile.keyCode.HOME:d.refresh(m);break;case a.mobile.keyCode.END:d.refresh(o);break;case a.mobile.keyCode.PAGE_UP:case a.mobile.keyCode.UP:case a.mobile.keyCode.RIGHT:d.refresh(c+j);break;case a.mobile.keyCode.PAGE_DOWN:case a.mobile.keyCode.DOWN:case a.mobile.keyCode.LEFT:d.refresh(c-j)}}}).keyup(function(){if(d._keySliding)d._keySliding=!1,a(this).removeClass("ui-state-active")});this.refresh()},refresh:function(a,
+c,b){if(!this.options.disabled){var e=this.element,f=e[0].nodeName.toLowerCase(),g=f==="input"?parseFloat(e.attr("min")):0,i=f==="input"?parseFloat(e.attr("max")):e.find("option").length-1;if(typeof a==="object"){if(!this.dragging||a.pageX<this.slider.offset().left-8||a.pageX>this.slider.offset().left+this.slider.width()+8)return;a=Math.round((a.pageX-this.slider.offset().left)/this.slider.width()*100)}else a==null&&(a=f==="input"?parseFloat(e.val()):e[0].selectedIndex),a=(parseFloat(a)-g)/(i-g)*
+100;if(!isNaN(a)){a<0&&(a=0);a>100&&(a=100);var h=Math.round(a/100*(i-g))+g;h<g&&(h=g);h>i&&(h=i);this.handle.css("left",a+"%");this.handle.attr({"aria-valuenow":f==="input"?h:e.find("option").eq(h).attr("value"),"aria-valuetext":f==="input"?h:e.find("option").eq(h).text(),title:h});f==="select"&&(h===0?this.slider.addClass("ui-slider-switch-a").removeClass("ui-slider-switch-b"):this.slider.addClass("ui-slider-switch-b").removeClass("ui-slider-switch-a"));if(!b)f==="input"?e.val(h):e[0].selectedIndex=
+h,c||e.trigger("change")}}},enable:function(){this.element.attr("disabled",!1);this.slider.removeClass("ui-disabled").attr("aria-disabled",!1);return this._setOption("disabled",!1)},disable:function(){this.element.attr("disabled",!0);this.slider.addClass("ui-disabled").attr("aria-disabled",!0);return this._setOption("disabled",!0)}})})(jQuery);
+(function(a){a.widget("mobile.collapsible",a.mobile.widget,{options:{expandCueText:" click to expand contents",collapseCueText:" click to collapse contents",collapsed:!1,heading:">:header,>legend",theme:null,iconTheme:"d"},_create:function(){var d=this.element,c=this.options,b=d.addClass("ui-collapsible-contain"),e=d.find(c.heading).eq(0),f=b.wrapInner('<div class="ui-collapsible-content"></div>').find(".ui-collapsible-content"),d=d.closest(":jqmData(role='collapsible-set')").addClass("ui-collapsible-set");
+e.is("legend")&&(e=a('<div role="heading">'+e.html()+"</div>").insertBefore(e),e.next().remove());e.insertBefore(f).addClass("ui-collapsible-heading").append('<span class="ui-collapsible-heading-status"></span>').wrapInner('<a href="#" class="ui-collapsible-heading-toggle"></a>').find("a:eq(0)").buttonMarkup({shadow:!d.length,corners:!1,iconPos:"left",icon:"plus",theme:c.theme}).find(".ui-icon").removeAttr("class").buttonMarkup({shadow:!0,corners:!0,iconPos:"notext",icon:"plus",theme:c.iconTheme});
+d.length?b.jqmData("collapsible-last")&&e.find("a:eq(0), .ui-btn-inner").addClass("ui-corner-bottom"):e.find("a:eq(0)").addClass("ui-corner-all").find(".ui-btn-inner").addClass("ui-corner-all");b.bind("collapse",function(d){!d.isDefaultPrevented()&&a(d.target).closest(".ui-collapsible-contain").is(b)&&(d.preventDefault(),e.addClass("ui-collapsible-heading-collapsed").find(".ui-collapsible-heading-status").text(c.expandCueText).end().find(".ui-icon").removeClass("ui-icon-minus").addClass("ui-icon-plus"),
+f.addClass("ui-collapsible-content-collapsed").attr("aria-hidden",!0),b.jqmData("collapsible-last")&&e.find("a:eq(0), .ui-btn-inner").addClass("ui-corner-bottom"))}).bind("expand",function(a){a.isDefaultPrevented()||(a.preventDefault(),e.removeClass("ui-collapsible-heading-collapsed").find(".ui-collapsible-heading-status").text(c.collapseCueText),e.find(".ui-icon").removeClass("ui-icon-plus").addClass("ui-icon-minus"),f.removeClass("ui-collapsible-content-collapsed").attr("aria-hidden",!1),b.jqmData("collapsible-last")&&
+e.find("a:eq(0), .ui-btn-inner").removeClass("ui-corner-bottom"))}).trigger(c.collapsed?"collapse":"expand");d.length&&!d.jqmData("collapsiblebound")&&(d.jqmData("collapsiblebound",!0).bind("expand",function(b){a(b.target).closest(".ui-collapsible-contain").siblings(".ui-collapsible-contain").trigger("collapse")}),d=d.find(":jqmData(role='collapsible'):first"),d.first().find("a:eq(0)").addClass("ui-corner-top").find(".ui-btn-inner").addClass("ui-corner-top"),d.last().jqmData("collapsible-last",!0));
+e.bind("vclick",function(a){e.is(".ui-collapsible-heading-collapsed")?b.trigger("expand"):b.trigger("collapse");a.preventDefault()})}})})(jQuery);
+(function(a){a.fn.controlgroup=function(d){return this.each(function(){function c(a){a.removeClass("ui-btn-corner-all ui-shadow").eq(0).addClass(f[0]).end().filter(":last").addClass(f[1]).addClass("ui-controlgroup-last")}var b=a.extend({direction:a(this).jqmData("type")||"vertical",shadow:!1},d),e=a(this).find(">legend"),f=b.direction=="horizontal"?["ui-corner-left","ui-corner-right"]:["ui-corner-top","ui-corner-bottom"];a(this).find("input:eq(0)").attr("type");e.length&&(a(this).wrapInner('<div class="ui-controlgroup-controls"></div>'),
+a('<div role="heading" class="ui-controlgroup-label">'+e.html()+"</div>").insertBefore(a(this).children(0)),e.remove());a(this).addClass("ui-corner-all ui-controlgroup ui-controlgroup-"+b.direction);c(a(this).find(".ui-btn"));c(a(this).find(".ui-btn-inner"));b.shadow&&a(this).addClass("ui-shadow")})}})(jQuery);(function(a){a.fn.fieldcontain=function(){return this.addClass("ui-field-contain ui-body ui-br")}})(jQuery);
+(function(a){var d={};a.widget("mobile.listview",a.mobile.widget,{options:{theme:"c",countTheme:"c",headerTheme:"b",dividerTheme:"b",splitIcon:"arrow-r",splitTheme:"b",inset:!1},_create:function(){var a=this;a.element.addClass(function(b,d){return d+" ui-listview "+(a.options.inset?" ui-listview-inset ui-corner-all ui-shadow ":"")});a.refresh()},_itemApply:function(c,b){b.find(".ui-li-count").addClass("ui-btn-up-"+(c.jqmData("counttheme")||this.options.countTheme)+" ui-btn-corner-all").end().find("h1, h2, h3, h4, h5, h6").addClass("ui-li-heading").end().find("p, dl").addClass("ui-li-desc").end().find(">img:eq(0), .ui-link-inherit>img:eq(0)").addClass("ui-li-thumb").each(function(){b.addClass(a(this).is(".ui-li-icon")?
+"ui-li-has-icon":"ui-li-has-thumb")}).end().find(".ui-li-aside").each(function(){var b=a(this);b.prependTo(b.parent())})},_removeCorners:function(a){a.add(a.find(".ui-btn-inner, .ui-li-link-alt, .ui-li-thumb")).removeClass("ui-corner-top ui-corner-bottom ui-corner-br ui-corner-bl ui-corner-tr ui-corner-tl")},refresh:function(c){this._createSubPages();var b=this.options,d=this.element,f=d.jqmData("dividertheme")||b.dividerTheme,g=d.jqmData("splittheme"),i=d.jqmData("spliticon"),h=d.children("li"),
+l=a.support.cssPseudoElement||!a.nodeName(d[0],"ol")?0:1;l&&d.find(".ui-li-dec").remove();for(var m=0,o=h.length;m<o;m++){var j=h.eq(m),p="ui-li";if(c||!j.hasClass("ui-li")){var k=j.jqmData("theme")||b.theme,q=j.children("a");if(q.length){var n=j.jqmData("icon");j.buttonMarkup({wrapperEls:"div",shadow:!1,corners:!1,iconpos:"right",icon:q.length>1||n===!1?!1:n||"arrow-r",theme:k});q.first().addClass("ui-link-inherit");q.length>1&&(p+=" ui-li-has-alt",q=q.last(),n=g||q.jqmData("theme")||b.splitTheme,
+q.appendTo(j).attr("title",q.text()).addClass("ui-li-link-alt").empty().buttonMarkup({shadow:!1,corners:!1,theme:k,icon:!1,iconpos:!1}).find(".ui-btn-inner").append(a("<span />").buttonMarkup({shadow:!0,corners:!0,theme:n,iconpos:"notext",icon:i||q.jqmData("icon")||b.splitIcon})))}else j.jqmData("role")==="list-divider"?(p+=" ui-li-divider ui-btn ui-bar-"+f,j.attr("role","heading"),l&&(l=1)):p+=" ui-li-static ui-body-"+k}b.inset&&(m===0&&(p+=" ui-corner-top",j.add(j.find(".ui-btn-inner")).find(".ui-li-link-alt").addClass("ui-corner-tr").end().find(".ui-li-thumb").addClass("ui-corner-tl"),
+j.next().next().length&&this._removeCorners(j.next())),m===h.length-1&&(p+=" ui-corner-bottom",j.add(j.find(".ui-btn-inner")).find(".ui-li-link-alt").addClass("ui-corner-br").end().find(".ui-li-thumb").addClass("ui-corner-bl"),j.prev().prev().length&&this._removeCorners(j.prev())));l&&p.indexOf("ui-li-divider")<0&&(j.is(".ui-li-static:first")?j:j.find(".ui-link-inherit")).addClass("ui-li-jsnumbering").prepend("<span class='ui-li-dec'>"+l++ +". </span>");j.add(j.children(".ui-btn-inner")).addClass(p);
+c||this._itemApply(d,j)}},_idStringEscape:function(a){return a.replace(/[^a-zA-Z0-9]/g,"-")},_createSubPages:function(){var c=this.element,b=c.closest(".ui-page"),e=b.jqmData("url"),f=e||b[0][a.expando],g=c.attr("id"),i=this.options,h="data-"+a.mobile.ns,l=b.find(":jqmData(role='footer')").jqmData("id");typeof d[f]==="undefined"&&(d[f]=-1);g=g||++d[f];a(c.find("li>ul, li>ol").toArray().reverse()).each(function(b){var d=a(this),f=d.attr("id")||g+"-"+b,b=d.parent(),p=a(d.prevAll().toArray().reverse()),
+p=p.length?p:a("<span>"+a.trim(b.contents()[0].nodeValue)+"</span>"),k=p.first().text(),f=(e||"")+"&"+a.mobile.subPageUrlKey+"="+f;theme=d.jqmData("theme")||i.theme;countTheme=d.jqmData("counttheme")||c.jqmData("counttheme")||i.countTheme;newPage=d.detach().wrap("<div "+h+"role='page' "+h+"url='"+f+"' "+h+"theme='"+theme+"' "+h+"count-theme='"+countTheme+"'><div "+h+"role='content'></div></div>").parent().before("<div "+h+"role='header' "+h+"theme='"+i.headerTheme+"'><div class='ui-title'>"+k+"</div></div>").after(l?
+a("<div "+h+"role='footer' "+h+"id='"+l+"'>"):"").parent().appendTo(a.mobile.pageContainer);newPage.page();d=b.find("a:first");d.length||(d=a("<a />").html(p||k).prependTo(b.empty()));d.attr("href","#"+f)}).listview()}})})(jQuery);
+(function(a){a.mobile.listview.prototype.options.filter=!1;a.mobile.listview.prototype.options.filterPlaceholder="Filter items...";a.mobile.listview.prototype.options.filterTheme="c";a(":jqmData(role='listview')").live("listviewcreate",function(){var d=a(this),c=d.data("listview");if(c.options.filter){var b=a("<form>",{"class":"ui-listview-filter ui-bar-"+c.options.filterTheme,role:"search"});a("<input>",{placeholder:c.options.filterPlaceholder}).attr("data-"+a.mobile.ns+"type","search").jqmData("lastval",
+"").bind("keyup change",function(){var b=this.value.toLowerCase(),c=null,c=a(this).jqmData("lastval")+"";a(this).jqmData("lastval",b);change=b.replace(RegExp("^"+c),"");c=b.length<c.length||change.length!=b.length-c.length?d.children():d.children(":not(.ui-screen-hidden)");if(b){for(var g,i=!1,h="",l=c.length-1;l>=0;l--)g=a(c[l]),h=g.jqmData("filtertext")||g.text(),g.is("li:jqmData(role=list-divider)")?(g.toggleClass("ui-filter-hidequeue",!i),i=!1):h.toLowerCase().indexOf(b)===-1?g.toggleClass("ui-filter-hidequeue",
+!0):i=!0;c.filter(":not(.ui-filter-hidequeue)").toggleClass("ui-screen-hidden",!1);c.filter(".ui-filter-hidequeue").toggleClass("ui-screen-hidden",!0).toggleClass("ui-filter-hidequeue",!1)}else c.toggleClass("ui-screen-hidden",!1)}).appendTo(b).textinput();a(this).jqmData("inset")&&b.addClass("ui-listview-filter-inset");b.insertBefore(d)}})})(jQuery);
+(function(a){a.widget("mobile.dialog",a.mobile.widget,{options:{closeBtnText:"Close"},_create:function(){var d=this.element;d.attr("role","dialog").addClass("ui-page ui-dialog ui-body-a").find(":jqmData(role=header)").addClass("ui-corner-top ui-overlay-shadow").prepend("<a href='#' data-"+a.mobile.ns+"icon='delete' data-"+a.mobile.ns+"rel='back' data-"+a.mobile.ns+"iconpos='notext'>"+this.options.closeBtnText+"</a>").end().find('.ui-content:not([class*="ui-body-"])').addClass("ui-body-c").end().find(".ui-content,:jqmData(role='footer')").last().addClass("ui-corner-bottom ui-overlay-shadow");
+d.bind("vclick submit",function(c){c=a(c.target).closest(c.type==="vclick"?"a":"form");if(c.length&&!c.jqmData("transition")){var b=a.mobile.urlHistory.getActive()||{};c.attr("data-"+a.mobile.ns+"transition",b.transition||a.mobile.defaultDialogTransition).attr("data-"+a.mobile.ns+"direction","reverse")}}).bind("pagehide",function(){a(this).find("."+a.mobile.activeBtnClass).removeClass(a.mobile.activeBtnClass)})},close:function(){window.history.back()}})})(jQuery);
+(function(a,d){a.widget("mobile.navbar",a.mobile.widget,{options:{iconpos:"top",grid:null},_create:function(){var c=this.element,b=c.find("a"),e=b.filter(":jqmData(icon)").length?this.options.iconpos:d;c.addClass("ui-navbar").attr("role","navigation").find("ul").grid({grid:this.options.grid});e||c.addClass("ui-navbar-noicons");b.buttonMarkup({corners:!1,shadow:!1,iconpos:e});c.delegate("a","vclick",function(){b.not(".ui-state-persist").removeClass(a.mobile.activeBtnClass);a(this).addClass(a.mobile.activeBtnClass)})}})})(jQuery);
+(function(a){a.fn.grid=function(d){return this.each(function(){var c=a.extend({grid:null},d),b=a(this).children(),e={solo:1,a:2,b:3,c:4,d:5},c=c.grid;if(!c)if(b.length<=5)for(var f in e)e[f]==b.length&&(c=f);else c="a";e=e[c];a(this).addClass("ui-grid-"+c);b.filter(":nth-child("+e+"n+1)").addClass("ui-block-a");e>1&&b.filter(":nth-child("+e+"n+2)").addClass("ui-block-b");e>2&&b.filter(":nth-child(3n+3)").addClass("ui-block-c");e>3&&b.filter(":nth-child(4n+4)").addClass("ui-block-d");e>4&&b.filter(":nth-child(5n+5)").addClass("ui-block-e")})}})(jQuery);
+(function(a,d,c){var b=a("html");a("head");var e=a(d);a(d.document).trigger("mobileinit");if(a.mobile.gradeA()){if(d.blackberry&&!d.WebKitPoint||d.operamini&&Object.prototype.toString.call(d.operamini)==="[object OperaMini]")a.mobile.ajaxEnabled=!1;b.addClass("ui-mobile ui-mobile-rendering");var f=a.mobile.loadingMessage?a("<div class='ui-loader ui-body-a ui-corner-all'><span class='ui-icon ui-icon-loading spin'></span><h1>"+a.mobile.loadingMessage+"</h1></div>"):c;a.extend(a.mobile,{showPageLoadingMsg:function(){if(a.mobile.loadingMessage){var c=
+a("."+a.mobile.activeBtnClass).first();f.appendTo(a.mobile.pageContainer).css({top:a.support.scrollTop&&a(d).scrollTop()+a(d).height()/2||c.length&&c.offset().top||100})}b.addClass("ui-loading")},hidePageLoadingMsg:function(){b.removeClass("ui-loading")},pageLoading:function(b){b?a.mobile.hidePageLoadingMsg():a.mobile.showPageLoadingMsg()},initializePage:function(){var b=a(":jqmData(role='page')");b.add(":jqmData(role='dialog')").each(function(){var b=a(this);b.jqmData("url")||b.attr("data-"+a.mobile.ns+
+"url",b.attr("id"))});a.mobile.firstPage=b.first();a.mobile.pageContainer=b.first().parent().addClass("ui-mobile-viewport");a.mobile.showPageLoadingMsg();!a.mobile.hashListeningEnabled||!a.mobile.path.stripHash(location.hash)?a.mobile.changePage(a.mobile.firstPage,{transition:"none",reverse:!0,changeHash:!1,fromHashChange:!0}):e.trigger("hashchange",[!0])}});a(function(){d.scrollTo(0,1);a.mobile.defaultHomeScroll=!a.support.scrollTop||a(d).scrollTop()===1?0:1;a(a.mobile.initializePage);e.load(a.mobile.silentScroll)})}})(jQuery,
+this); \ No newline at end of file
diff --git a/addons/web_mobile/static/lib/jquery_mobile/js/jquery.mobile.themeswitcher.js b/addons/web_mobile/static/lib/jquery_mobile/js/jquery.mobile.themeswitcher.js
new file mode 100644
index 00000000000..91a7057ba04
--- /dev/null
+++ b/addons/web_mobile/static/lib/jquery_mobile/js/jquery.mobile.themeswitcher.js
@@ -0,0 +1,37 @@
+//quick & dirty theme switcher, written to potentially work as a bookmarklet
+(function($){
+ $.themeswitcher = function(){
+ if( $('[data-'+ $.mobile.ns +'-url=themeswitcher]').length ){ return; }
+ var themesDir = 'http://jquerymobile.com/test/themes/',
+ themes = ['default','valencia'],
+ currentPage = $.mobile.activePage,
+ menuPage = $( '<div data-'+ $.mobile.ns +'url="themeswitcher" data-'+ $.mobile.ns +'role=\'dialog\' data-'+ $.mobile.ns +'theme=\'a\'>' +
+ '<div data-'+ $.mobile.ns +'role=\'header\' data-'+ $.mobile.ns +'theme=\'b\'>' +
+ '<div class=\'ui-title\'>Switch Theme:</div>'+
+ '</div>'+
+ '<div data-'+ $.mobile.ns +'role=\'content\' data-'+ $.mobile.ns +'theme=\'c\'><ul data-'+ $.mobile.ns +'role=\'listview\' data-'+ $.mobile.ns +'inset=\'true\'></ul></div>'+
+ '</div>' )
+ .appendTo( $.mobile.pageContainer ),
+ menu = menuPage.find('ul');
+
+ //menu items
+ $.each(themes, function( i ){
+ $('<li><a href="#" data-'+ $.mobile.ns +'rel="back">' + themes[ i ].charAt(0).toUpperCase() + themes[ i ].substr(1) + '</a></li>')
+ .bind("vclick", function(){
+ addTheme( themes[i] );
+ menuPage.dialog( "close" );
+ return false;
+ })
+ .appendTo(menu);
+ });
+
+ //remover, adder
+ function addTheme(theme){
+ $('head').append( '<link rel=\'stylesheet\' href=\''+ themesDir + theme +'/\' />' );
+ }
+
+ //create page, listview
+ menuPage.page();
+
+ };
+})(jQuery); \ No newline at end of file
diff --git a/addons/web_mobile/static/src/css/web_mobile.css b/addons/web_mobile/static/src/css/web_mobile.css
index 18cf93f4d66..4017d5ae7e3 100644
--- a/addons/web_mobile/static/src/css/web_mobile.css
+++ b/addons/web_mobile/static/src/css/web_mobile.css
@@ -2,3 +2,23 @@
.ui-collapsible-content-expanded {
display: block;
}
+
+.login_error_message {
+ display: none;
+ background-color: #9A0404;
+ border-radius: 12px;
+ -moz-border-radius: 12px;
+ -webkit-border-radius: 12px;
+ color: white;
+ font-family: Ubuntu, Helvetica, sans-serif;
+ font-size: 16px;
+ padding: 5px;
+ margin-top: 5px;
+ text-align: center;
+}
+.login_invalid .login_error_message {
+ display: block;
+}
+.login_valid .login_error_message {
+ display: none;
+}
diff --git a/addons/web_mobile/static/src/js/chrome_mobile.js b/addons/web_mobile/static/src/js/chrome_mobile.js
index 622649bb5f8..551856e01fb 100644
--- a/addons/web_mobile/static/src/js/chrome_mobile.js
+++ b/addons/web_mobile/static/src/js/chrome_mobile.js
@@ -1,4 +1,130 @@
+/*---------------------------------------------------------
+ * OpenERP Web Mobile chrome
+ *---------------------------------------------------------*/
+
openerp.web_mobile.chrome_mobile = function(openerp) {
+
+openerp.web_mobile.mobilewebclient = function(element_id) {
+ // TODO Helper to start mobile webclient rename it openerp.base.webclient
+ var client = new openerp.web_mobile.MobileWebClient(element_id);
+ client.start();
+ return client;
+};
+
+openerp.web_mobile.MobileWebClient = openerp.base.Widget.extend({
+ init: function(element_id) {
+ var self = this;
+ this._super(null, element_id);
+ QWeb.add_template("xml/web_mobile.xml");
+ var params = {};
+ this.$element.html(QWeb.render("WebClient", {}));
+ this.session = new openerp.base.Session("oe_errors");
+ this.crashmanager = new openerp.base.CrashManager(this);
+ this.login = new openerp.web_mobile.Login(this, "oe_app");
+// this.session.on_session_invalid.add(this.login.do_ask_login);
+ },
+ start: function() {
+ this.session.start();
+ this.login.start();
+ }
+});
+
+openerp.web_mobile.Login = openerp.base.Widget.extend({
+ init: function(session, element_id) {
+ this._super(session, element_id);
+ },
+ start: function() {
+ var self = this;
+ jQuery("#oe_header").children().remove();
+ this.rpc("/base/database/get_list", {}, function(result) {
+ var selection = new openerp.web_mobile.Selection();
+ self.db_list = result.db_list;
+ self.$element.html(QWeb.render("Login", self));
+ self.$element.find("#login_btn").click(self.on_login);
+ $.mobile.initializePage();
+ });
+ this.$element
+ .removeClass("login_invalid");
+ },
+ on_login: function(ev) {
+ ev.preventDefault();
+ var self = this;
+ var $e = this.$element;
+ var db = $e.find("div select[name=database]").val();
+ var login = $e.find("div input[name=login]").val();
+ var password = $e.find("div input[name=password]").val();
+ //$e.hide();
+ // Should hide then call callback
+ this.session.session_login(db, login, password, function() {
+ if(self.session.session_is_valid()) {
+ self.on_login_valid();
+ } else {
+ self.on_login_invalid();
+ }
+ });
+ },
+ on_login_invalid: function() {
+ this.$element
+ .removeClass("login_valid")
+ .addClass("login_invalid")
+ .show();
+ },
+ on_login_valid: function() {
+ this.$element
+ .removeClass("login_invalid")
+ .addClass("login_valid");
+ //.hide();
+ this.homepage = new openerp.web_mobile.HomePage(this, "oe_app");
+ this.homepage.start();
+ },
+ do_ask_login: function(continuation) {
+ this.on_login_invalid();
+ this.on_login_valid.add({
+ position: "last",
+ unique: true,
+ callback: continuation
+ });
+ }
+});
+
+openerp.web_mobile.HomePage = openerp.base.Widget.extend({
+ init: function(session, element_id) {
+ this._super(session, element_id);
+ },
+ start: function() {
+ this.$element.html(QWeb.render("HomePage", {}));
+ this.header = new openerp.web_mobile.Header(this, "oe_header");
+ this.shortcuts = new openerp.web_mobile.Shortcuts(this, "oe_shortcuts");
+ this.menu = new openerp.web_mobile.Menu(this, "oe_menu", "oe_secondary_menu");
+ this.options = new openerp.web_mobile.Options(this, "oe_options");
+ this.header.start();
+ this.shortcuts.start();
+ this.menu.start();
+ this.options.start();
+ jQuery("#oe_header").find("h1").html('Home');
+ this.$element.find("a").click(this.on_clicked);
+ }
+});
+
+openerp.web_mobile.Header = openerp.base.Widget.extend({
+ init: function(session, element_id) {
+ this._super(session, element_id);
+ },
+ start: function() {
+ var self = this;
+ self.$element.html(QWeb.render("Header", this));
+ self.$element.find("a").click(this.on_clicked);
+ },
+ on_clicked: function(ev) {
+ $opt = $(ev.currentTarget);
+ current_id = $opt.attr('id');
+ if (current_id == 'home') {
+ this.homepage = new openerp.web_mobile.HomePage(this, "oe_app");
+ this.homepage.start();
+ }
+ }
+});
+
openerp.web_mobile.Shortcuts = openerp.base.Widget.extend({
init: function(session, element_id) {
this._super(session, element_id);
@@ -15,27 +141,44 @@ openerp.web_mobile.Shortcuts = openerp.base.Widget.extend({
id = $shortcut.data('menu');
res_id = $shortcut.data('res');
jQuery("#oe_header").find("h1").html($shortcut.data('name'));
- this.listview = new openerp.web_mobile.ListView(this.session, "oe_app", res_id);
+ this.listview = new openerp.web_mobile.ListView(this, "oe_app", res_id);
this.listview.start();
}
});
-openerp.web_mobile.Header = openerp.base.Widget.extend({
- init: function(session, element_id) {
+
+openerp.web_mobile.Menu = openerp.base.Widget.extend({
+ init: function(session, element_id, secondary_menu_id) {
this._super(session, element_id);
+ this.secondary_menu_id = secondary_menu_id;
+ this.$secondary_menu = $("#" + secondary_menu_id);
+ this.menu = false;
},
start: function() {
- this.$element.html(QWeb.render("Header", this));
- this.$element.find("a").click(this.on_clicked);
+ this.rpc("/base/menu/load", {}, this.on_loaded);
},
- on_clicked: function(ev) {
- $opt = $(ev.currentTarget);
- current_id = $opt.attr('id');
- if (current_id == 'home') {
- this.homepage = new openerp.web_mobile.Login(this.session, "oe_app");
- this.homepage.on_login_valid();
+ on_loaded: function(data) {
+ this.data = data;
+ this.$element.html(QWeb.render("Menu", this.data));
+ this.$element.add(this.$secondary_menu).find("a").click(this.on_menu_click);
+ },
+ on_menu_click: function(ev, id) {
+ $menu = $(ev.currentTarget);
+ id = $menu.data('menu');
+ for (var i = 0; i < this.data.data.children.length; i++) {
+ if (this.data.data.children[i].id == id) {
+ this.children = this.data.data.children[i];
+ }
}
+ jQuery("#oe_header").find("h1").html($menu.data('name'));
+ this.$element
+ .removeClass("login_valid")
+ .addClass("secondary_menu");
+ //.hide();
+ this.secondary = new openerp.web_mobile.Secondary(this, "oe_app", this.children);
+ this.secondary.start();
}
});
+
openerp.web_mobile.Secondary = openerp.base.Widget.extend({
init: function(session, element_id, secondary_menu_id) {
this._super(session, element_id);
@@ -55,57 +198,24 @@ openerp.web_mobile.Secondary = openerp.base.Widget.extend({
}
}
jQuery("#oe_header").find("h1").html($menu.data('name'));
-
var child_len = this.children.children.length;
if (child_len > 0) {
this.$element
.removeClass("secondary_menu")
.addClass("content_menu");
//.hide();
- this.secondary = new openerp.web_mobile.Secondary(this.session, "oe_app", this.children);
+ this.secondary = new openerp.web_mobile.Secondary(this, "oe_app", this.children);
this.secondary.start();
}
else {
if (id) {
- this.listview = new openerp.web_mobile.ListView(this.session, "oe_app", id);
+ this.listview = new openerp.web_mobile.ListView(this, "oe_app", id);
this.listview.start();
}
}
}
});
-openerp.web_mobile.Menu = openerp.base.Widget.extend({
- init: function(session, element_id, secondary_menu_id) {
- this._super(session, element_id);
- this.secondary_menu_id = secondary_menu_id;
- this.$secondary_menu = $("#" + secondary_menu_id);
- this.menu = false;
- },
- start: function() {
- this.rpc("/base/menu/load", {}, this.on_loaded);
- },
- on_loaded: function(data) {
- this.data = data;
- this.$element.html(QWeb.render("Menu", this.data));
- this.$element.add(this.$secondary_menu).find("a").click(this.on_menu_click);
- },
- on_menu_click: function(ev, id) {
- $menu = $(ev.currentTarget);
- id = $menu.data('menu');
- for (var i = 0; i < this.data.data.children.length; i++) {
- if (this.data.data.children[i].id == id) {
- this.children = this.data.data.children[i];
- }
- }
- jQuery("#oe_header").find("h1").html($menu.data('name'));
- this.$element
- .removeClass("login_valid")
- .addClass("secondary_menu");
- //.hide();
- this.secondary = new openerp.web_mobile.Secondary(this.session, "oe_app", this.children);
- this.secondary.start();
- }
-});
openerp.web_mobile.Options = openerp.base.Widget.extend({
init: function(session, element_id) {
this._super(session, element_id);
@@ -117,101 +227,23 @@ openerp.web_mobile.Options = openerp.base.Widget.extend({
},
on_logout: function(ev) {
this.session.logout();
- this.login = new openerp.web_mobile.Login(this.session, "oe_app");
- this.login.start();
+// this.login = new openerp.web_mobile.Login(this, "oe_app");
+// this.login.start();
}
});
-openerp.web_mobile.Login = openerp.base.Widget.extend({
- init: function(session, element_id) {
- this._super(session, element_id);
- },
- start: function() {
- var self = this;
-
- jQuery("#oe_header").children().remove();
- this.rpc("/base/database/get_list", {}, function(result) {
- self.db_list = result.db_list;
- self.$element.html(QWeb.render("Login", self));
- self.$element.find('#database').click(self.on_db_select);
- self.$element.find("#login").click(self.on_login);
- $.mobile.initializePage();
- })
- },
- on_db_select: function(ev) {
- var db = this.$element.find("#database option:selected").val();
- jQuery("#db_text").html(db);
- },
- on_login: function(ev) {
- ev.preventDefault();
- var self = this;
- var $e = this.$element;
- var db = $e.find("div select[name=database]").val();
- var login = $e.find("div input[name=login]").val();
- var password = $e.find("div input[name=password]").val();
- //$e.hide();
- // Should hide then call callback
- this.session.session_login(db, login, password, function() {
- if(self.session.session_is_valid()) {
- self.on_login_valid();
- } else {
- self.on_login_invalid();
- }
- });
- },
- on_login_invalid: function() {
- this.$element
- .removeClass("login_valid")
- .addClass("login_invalid")
- .show();
- },
- on_login_valid: function() {
- this.$element
- .removeClass("login_invalid")
- .addClass("login_valid");
- //.hide();
- this.$element.html(QWeb.render("HomePage", {}));
- this.header = new openerp.web_mobile.Header(this.session, "oe_header");
- this.shortcuts = new openerp.web_mobile.Shortcuts(this.session, "oe_shortcuts");
- this.menu = new openerp.web_mobile.Menu(this.session, "oe_menu", "oe_secondary_menu");
- this.options = new openerp.web_mobile.Options(this.session, "oe_options");
- this.header.start();
- this.shortcuts.start();
- this.menu.start();
- this.options.start();
- jQuery("#oe_header").find("h1").html('Home');
+openerp.web_mobile.Selection = openerp.base.Widget.extend({
+ init: function (){
+ this._super();
},
- do_ask_login: function(continuation) {
- this.on_login_invalid();
- this.on_login_valid.add({
- position: "last",
- unique: true,
- callback: continuation
- });
- }
-});
-openerp.web_mobile.MobileWebClient = openerp.base.Widget.extend({
- init: function(element_id) {
+ start: function(){
+ this._super();
var self = this;
- this._super(null, element_id);
- QWeb.add_template("xml/web_mobile.xml");
- var params = {};
-
- this.$element.html(QWeb.render("WebClient", {}));
- this.session = new openerp.base.Session("oe_errors");
- this.crashmanager = new openerp.base.CrashManager(this.session);
- this.login = new openerp.web_mobile.Login(this.session, "oe_app");
- this.session.on_session_invalid.add(this.login.do_ask_login);
},
- start: function() {
- this.session.start();
- this.login.start();
+ on_select_option: function(ev){
+ ev.preventDefault();
+ var $this = ev.currentTarget;
+ $($this).prev().find(".ui-btn-text").html($($this).find("option:selected").text());
}
});
-openerp.web_mobile.mobilewebclient = function(element_id) {
- // TODO Helper to start mobile webclient rename it openerp.base.webclient
- var client = new openerp.web_mobile.MobileWebClient(element_id);
- client.start();
- return client;
-};
}
diff --git a/addons/web_mobile/static/src/js/form_mobile.js b/addons/web_mobile/static/src/js/form_mobile.js
index 793d944ddcd..4a3e2167c02 100644
--- a/addons/web_mobile/static/src/js/form_mobile.js
+++ b/addons/web_mobile/static/src/js/form_mobile.js
@@ -1,85 +1,104 @@
+/*---------------------------------------------------------
+ * OpenERP Web Mobile Form View
+ *---------------------------------------------------------*/
+
openerp.web_mobile.form_mobile = function (openerp) {
+
openerp.web_mobile.FormView = openerp.base.Widget.extend({
init: function(session, element_id, list_id, action) {
this._super(session, element_id);
this.list_id = list_id;
this.action = action;
+ this.content_expanded_class = "ui-collapsible-content ui-collapsible-content-expanded";
+ this.content_collapsed_class = "ui-collapsible-content ui-collapsible-content-collapsed";
+ this.expanded_class = "ui-collapsible-content-expanded";
+ this.collapsed_class = "ui-collapsible-content-collapsed";
+ this.plus_class = "ui-icon-plus";
+ this.minus_class = "ui-icon-minus";
},
start: function() {
var self = this;
id = this.list_id;
model = this.action.res_model;
view_id = this.action.views[1][0];
-
- this.dataset = new openerp.base.DataSetSearch(this.session, this.action.res_model, null, null);
+ this.dataset = new openerp.base.DataSetSearch(this, this.action.res_model, null, null);
this.dataset.read_slice([],{}, function (result) {
-
for (var i = 0; i < result.length; i++) {
if (result[i].id == id) {
var data = result[i];
}
}
self.rpc("/base/formview/load", {"model": model, "view_id": view_id }, function (result) {
+ var fields = result.fields_view.fields;
var view_fields = result.fields_view.arch.children;
var get_fields = self.get_fields(view_fields);
-
+ var selection = new openerp.web_mobile.Selection();
for (var j = 0; j < view_fields.length; j++) {
if (view_fields[j].tag == 'notebook') {
var notebooks = view_fields[j];
}
}
$("#oe_header").find("h1").html(result.fields_view.arch.attrs.string);
- self.$element.html(QWeb.render("FormView", {'get_fields': get_fields, 'notebooks': notebooks || false, 'fields' : result.fields_view.fields, 'values' : data }));
-
+ self.$element.html(QWeb.render("FormView", {'get_fields': get_fields, 'notebooks': notebooks || false, 'fields' : fields, 'values' : data }));
+ self.$element.find('select').change(function(ev){
+ selection.on_select_option(ev);
+ });
self.$element.find('a').click(function(){
-
for (var k = 0; k < notebooks.children.length; k++) {
-
var text = $(this).find('.ui-btn-text').text();
var next = $(this).next();
var span = $(this).find('span .ui-icon');
- var content_expanded_class = "ui-collapsible-content ui-collapsible-content-expanded";
- var content_collapsed_class = "ui-collapsible-content ui-collapsible-content-collapsed";
- var expanded_class = "ui-collapsible-content-expanded";
- var collapsed_class = "ui-collapsible-content-collapsed";
- var plus_class = "ui-icon-plus";
- var minus_class = "ui-icon-minus";
-
if (notebooks.children[k].attrs.string == $.trim(text)) {
get_fields = self.get_fields(notebooks.children[k].children);
-
$(this).parents().find('form').find('div').each( function() {
var prev = $(this).prev();
var trim_class = $.trim($(this).attr('class'));
- if (trim_class == content_expanded_class || trim_class == content_collapsed_class) {
+ if (trim_class == self.content_expanded_class || trim_class == self.content_collapsed_class) {
prev.removeClass('ui-btn-active');
-
if ($.trim(prev.find('.ui-btn-text').text()) != notebooks.children[k].attrs.string) {
- prev.find('span .ui-icon').removeClass(minus_class);
- prev.find('span .ui-icon').addClass(plus_class);
- $(this).removeClass(expanded_class);
- $(this).addClass(collapsed_class);
+ self.expanded($(this),prev.find('span .ui-icon'));
}
}
});
-
- if (next.hasClass(content_collapsed_class)) {
- span.removeClass(plus_class);
- span.addClass(minus_class);
- next.removeClass(collapsed_class);
- next.addClass(expanded_class);
+ if (next.hasClass(self.content_collapsed_class)) {
+ self.collapsed(next,span);
}
- else if (next.hasClass(content_expanded_class)) {
- span.removeClass(minus_class);
- span.addClass(plus_class);
- next.removeClass(expanded_class);
- next.addClass(collapsed_class);
+ else if (next.hasClass(self.content_expanded_class)) {
+ self.expanded(next,span);
}
if (!next.find('.detail').html().length) {
- next.find('.detail').append(QWeb.render("FormView", {'get_fields': get_fields,'fields' : result.fields_view.fields, 'values' : data }));
+ for (var i = 0; i < get_fields.length; i++) {
+ if (fields[get_fields[i].attrs.name].type == 'one2many'){
+ var get_fields_test = self.get_fields(fields[get_fields[i].attrs.name].views.form.arch.children);
+ var fields_test = fields[get_fields[i].attrs.name]['views'].form.fields;
+ var notebook=fields[get_fields[i].attrs.name].views.form.arch;
+ }
+ }
+ if(notebook){
+ next.find('.detail').append(QWeb.render("FormView", {'get_fields': get_fields,'fields' : result.fields_view.fields, 'values' : data,'til': notebook.attrs.string }));
+ }else{
+ next.find('.detail').append(QWeb.render("FormView", {'get_fields': get_fields,'fields' : result.fields_view.fields, 'values' : data }));
+ }
}
+ next.find('.detail').find('a').click(function(){
+ if(next.find('.detail').find('a').next().find('.detail').html().length){
+ if (next.find('.detail').find('a').next().hasClass(self.content_collapsed_class)) {
+ self.collapsed(next.find('.detail').find('a').next(),next.find('.detail').find('a').find('span .ui-icon'));
+ }
+ else if (next.find('.detail').find('a').next().hasClass(self.content_expanded_class)) {
+ self.expanded(next.find('.detail').find('a').next(),next.find('.detail').find('a').find('span .ui-icon'));
+ }
+ }
+ if(!next.find('.detail').find('a').next().find('.detail').html().length){
+ next.find('.detail').find('a').next().find('.detail').append(QWeb.render("FormView", {'get_fields': get_fields_test,'fields' : fields_test, 'values' : data }));
+ self.collapsed(next.find('.detail').find('a').next(),next.find('.detail').find('a').find('span .ui-icon'));
+ }
+ });
}
}
+ self.$element.find('select').change(function(ev){
+ selection.on_select_option(ev);
+ });
});
});
});
@@ -93,12 +112,20 @@ openerp.web_mobile.FormView = openerp.base.Widget.extend({
if (view_fields[i].tag == 'group') {
this.get_fields(view_fields[i].children, this.fields);
}
- if (view_fields[i].tag == 'separator') {
- this.get_fields(view_fields[i].children, this.fields);
- }
}
return this.fields;
},
+ collapsed: function(next,span) {
+ span.removeClass(this.plus_class);
+ span.addClass(this.minus_class);
+ next.removeClass(this.collapsed_class);
+ next.addClass(this.expanded_class);
+ },
+ expanded: function(next,span) {
+ span.removeClass(this.minus_class);
+ span.addClass(this.plus_class);
+ next.removeClass(this.expanded_class);
+ next.addClass(this.collapsed_class);
+ }
});
-
-}
+} \ No newline at end of file
diff --git a/addons/web_mobile/static/src/js/list_mobile.js b/addons/web_mobile/static/src/js/list_mobile.js
index 809797bfe0f..b4ba5e08cc3 100644
--- a/addons/web_mobile/static/src/js/list_mobile.js
+++ b/addons/web_mobile/static/src/js/list_mobile.js
@@ -1,4 +1,9 @@
+/*---------------------------------------------------------
+ * OpenERP Web Mobile List View
+ *---------------------------------------------------------*/
+
openerp.web_mobile.list_mobile = function (openerp) {
+
openerp.web_mobile.ListView = openerp.base.Widget.extend({
init: function(session, element_id, list_id) {
this._super(session, element_id);
@@ -35,10 +40,11 @@ openerp.web_mobile.ListView = openerp.base.Widget.extend({
var search_val = '';
}
var self = this;
- var dataset = new openerp.base.DataSetStatic(this.session, this.action.res_model, this.action.context);
+
+ var dataset = new openerp.base.DataSetStatic(this, this.action.res_model, this.action.context);
dataset.domain=[['name','ilike',search_val]];
dataset.name_search(search_val, dataset.domain, 'ilike',false ,function(result){
- self.$element.html(QWeb.render("ListView", {'records' : result.result}));
+ self.$element.html(QWeb.render("ListView", {'records' : result}));
self.$element.find("#searchid").focus();
if(request.term){
self.$element.find("#searchid").val(request.term);
@@ -60,7 +66,7 @@ openerp.web_mobile.ListView = openerp.base.Widget.extend({
$record = $(ev.currentTarget);
var self = this;
id = $record.data('id');
- this.formview = new openerp.web_mobile.FormView(this.session, "oe_app", id, this.action);
+ this.formview = new openerp.web_mobile.FormView(this, "oe_app", id, this.action);
this.formview.start();
}
});
diff --git a/addons/web_mobile/static/src/js/web_mobile.js b/addons/web_mobile/static/src/js/web_mobile.js
index cdf25b22b38..119ffe1916f 100644
--- a/addons/web_mobile/static/src/js/web_mobile.js
+++ b/addons/web_mobile/static/src/js/web_mobile.js
@@ -1,3 +1,7 @@
+/*---------------------------------------------------------
+ * OpenERP Web Mobile
+ *---------------------------------------------------------*/
+
openerp.web_mobile = function(instance) {
openerp.web_mobile.chrome_mobile(instance);
openerp.web_mobile.list_mobile(instance);
diff --git a/addons/web_mobile/static/src/web_mobile.html b/addons/web_mobile/static/src/web_mobile.html
index bd74e5f4f66..6efc28b6532 100755
--- a/addons/web_mobile/static/src/web_mobile.html
+++ b/addons/web_mobile/static/src/web_mobile.html
@@ -3,20 +3,20 @@
<head>
<meta charset="utf-8" />
<title>OpenERP Web Mobile</title>
- <link rel="stylesheet" href="/web_mobile/static/lib/jquery_mobile/css/jquery.mobile-1.0a4.1.css" />
- <script type="text/javascript" src="/base/static/lib/LABjs/LAB.js"></script>
+ <link rel="stylesheet" href="/web_mobile/static/lib/jquery_mobile/css/jquery.mobile-1.0a4.1.css"/>
+ <link rel="stylesheet" href="/web_mobile/static/src/css/web_mobile.css"/>
+
<script type="text/javascript" src="/base/static/lib/jquery/jquery-1.6.2.js"></script>
<script type="text/javascript" src="/base/static/lib/jquery.ui/js/jquery-ui-1.8.9.custom.min.js"></script>
-
- <script type="text/javascript" src="/web_mobile/static/lib/jquery_mobile/js/jquery.mobile-1.0a4.1.js"></script>
<script type="text/javascript" src="/base/static/lib/jquery.ba-bbq/jquery.ba-bbq.js"></script>
<script type="text/javascript" src="/base/static/lib/underscore/underscore.js"></script>
<script type="text/javascript" src="/base/static/lib/underscore/underscore.string.js"></script>
+ <script type="text/javascript" src="/web_mobile/static/lib/jquery_mobile/js/jquery.mobile-1.0a4.1.js"></script>
<script type="text/javascript" src="/base/static/lib/qweb/qweb2.js"></script>
-
- <script type="text/javascript" src="/base/static/src/js/base.js"></script>
+ <script type="text/javascript" src="/base/static/src/js/boot.js"></script>
+ <script type="text/javascript" src="/base/static/src/js/core.js"></script>
<script type="text/javascript" src="/base/static/src/js/chrome.js"></script>
<script type="text/javascript" src="/base/static/src/js/data.js"></script>
<script type="text/javascript" src="/base/static/src/js/formats.js"></script>
@@ -26,19 +26,16 @@
<script type="text/javascript" src="/web_mobile/static/src/js/list_mobile.js"></script>
<script type="text/javascript" src="/web_mobile/static/src/js/form_mobile.js"></script>
- <link rel="stylesheet" href="/web_mobile/static/src/css/web_mobile.css"/>
<script type="text/javascript">
$(function() {
QWeb = window.QWeb || new QWeb2.Engine();
var oe = openerp.init();
+ openerp.web_mobile(oe);
oe.web_mobile.mobilewebclient("moe");
});
</script>
-
</head>
-
<body>
- <div id="moe" class="openerp" data-role="page"></div>
+ <div id="moe" class="openerp"></div>
</body>
-
-</html>
+</html> \ No newline at end of file
diff --git a/addons/web_mobile/static/src/xml/web_mobile.xml b/addons/web_mobile/static/src/xml/web_mobile.xml
index fa5fe0c6b27..a3af2e39b90 100644
--- a/addons/web_mobile/static/src/xml/web_mobile.xml
+++ b/addons/web_mobile/static/src/xml/web_mobile.xml
@@ -4,54 +4,35 @@
<templates id="template" xml:space="preserve">
<t t-name="WebClient">
- <div class="ui-page ui-body-c ui-page-active" data-role="page">
+ <div data-role="page">
<div id="oe_header"></div>
<div id="oe_app"></div>
</div>
</t>
-<t t-name="Header">
- <div role="banner" class="ui-bar-b ui-header" data-role="header" data-theme="b">
- <h1 aria-level="1" role="heading" tabindex="0" class="ui-title">OpenERP</h1>
- <a id="home" class="ui-btn-right jqm-home ui-btn ui-btn-icon-notext ui-btn-corner-all ui-shadow ui-btn-up-b" data-direction="reverse" data-iconpos="notext" data-icon="home" href="#" title="Home" data-theme="b">
- <span class="ui-btn-inner ui-btn-corner-all">
- <span class="ui-btn-text">Home</span>
- <span class="ui-icon ui-icon-home ui-icon-shadow"></span>
- </span>
- </a>
- </div>
-</t>
-
<t t-name="Login">
- <div role="banner" class="ui-bar-b ui-header" data-role="header" data-theme="b">
- <h1 aria-level="1" role="heading" tabindex="0" class="ui-title">OpenERP</h1>
+ <div data-role="header" data-theme="b">
+ <h1>OpenERP</h1>
</div>
- <div role="main" class="ui-content" data-role="content">
+ <div data-role="content">
<fieldset>
- <div class="ui-field-contain ui-body ui-br" data-role="fieldcontain">
- <label for="database" class="select ui-select">Database:</label>
- <div class="ui-select">
- <div data-theme="c" class="ui-btn ui-btn-icon-right ui-btn-corner-all ui-shadow ui-btn-up-c">
- <span class="ui-btn-inner ui-btn-corner-all">
- <span id="db_text" class="ui-btn-text">Choose Database...</span>
- <span class="ui-icon ui-icon-arrow-d ui-icon-shadow"></span>
- </span>
- <select id="database" name="database">
+ <div data-role="fieldcontain">
+ <label for="database" class="select">Database:</label>
+ <select id="database" name="database" data-native-menu="false">
+ <t t-if="db_list">
<t t-foreach="db_list" t-as="opt">
<option t-att-value="opt"><t t-esc="opt"/></option>
</t>
- </select>
- </div>
+ </t>
+ </select>
+ <label for="login">Login:</label>
+ <input type="text" id="login" name="login" value=""/><br/>
+ <label for="password">Password:</label>
+ <input type="password" id="password" name="password" value=""/><br/>
+ <a id="login_btn" data-theme="c" href="#" data-role="button">Login</a>
+ <div class="login_error_message ui-btn-inner ui-btn-corner-all">
+ <span class="ui-btn-text">Bad username or password</span>
</div>
- <label class="ui-input-text" for="name">Login:</label>
- <input class="ui-input-text ui-body-null ui-corner-all ui-shadow-inset ui-body-c" type="text" name="login" value=""/><br/>
- <label class="ui-input-text" for="name">Password:</label>
- <input class="ui-input-text ui-body-null ui-corner-all ui-shadow-inset ui-body-c" type="password" name="password" value=""/><br/>
- <a id="login" class="ui-btn ui-btn-corner-all ui-shadow ui-btn-up-c" data-theme="c" href="#" data-role="button">
- <span class="ui-btn-inner ui-btn-corner-all">
- <span class="ui-btn-text">Login</span>
- </span>
- </a>
</div>
</fieldset>
</div>
@@ -65,12 +46,105 @@
</div>
</t>
+<t t-name="Header">
+ <div role="banner" class="ui-bar-b ui-header" data-role="header" data-theme="b">
+ <h1 aria-level="1" role="heading" tabindex="0" class="ui-title">OpenERP</h1>
+ <a id="home" class="ui-btn-right jqm-home ui-btn ui-btn-icon-notext ui-btn-corner-all ui-shadow ui-btn-up-b" data-direction="reverse" data-iconpos="notext" data-icon="home" href="#" title="Home" data-theme="b">
+ <span class="ui-btn-inner ui-btn-corner-all">
+ <span class="ui-btn-text">Home</span>
+ <span class="ui-icon ui-icon-home ui-icon-shadow"></span>
+ </span>
+ </a>
+ </div>
+</t>
+
+<t t-name="Shortcuts">
+ <ul data-dividertheme="b" data-theme="c" data-inset="true" data-role="listview" class="ui-listview ui-listview-inset ui-corner-all ui-shadow">
+ <li data-role="list-divider" role="heading" class="ui-li ui-li-divider ui-btn ui-bar-b ui-corner-top ui-btn-up-undefined">
+ Shortcuts
+ </li>
+ <li data-theme="c" class="ui-btn ui-btn-icon-right ui-li ui-btn-up-c" t-foreach="sc" t-as="opt">
+ <div class="ui-btn-inner ui-li">
+ <div class="ui-btn-text">
+ <a href="#" class="ui-link-inherit" t-att-data-menu="opt.id" t-att-data-name="opt.name" t-att-data-res="opt.res_id">
+ <span><t t-esc="opt.name"/></span>
+ </a>
+ </div>
+ <span class="ui-icon ui-icon-arrow-r"></span>
+ </div>
+ </li>
+ </ul>
+</t>
+
+<t t-name="Menu">
+ <ul data-dividertheme="b" data-theme="c" data-inset="true" data-role="listview" class="ui-listview ui-listview-inset ui-corner-all ui-shadow">
+ <li data-role="list-divider" role="heading" class="ui-li ui-li-divider ui-btn ui-bar-b ui-corner-top ui-btn-up-undefined">
+ Menu
+ </li>
+ <li data-theme="c" class="ui-btn ui-btn-icon-right ui-li ui-btn-up-c" t-foreach="data.children" t-as="menu">
+ <div class="ui-btn-inner ui-li">
+ <div class="ui-btn-text">
+ <a href="#" class="ui-link-inherit" t-att-data-menu="menu.id" t-att-data-name="menu.name">
+ <span><t t-esc="menu.name"/></span>
+ </a>
+ </div>
+ <span class="ui-icon ui-icon-arrow-r"></span>
+ </div>
+ </li>
+ </ul>
+</t>
+
+<t t-name="Menu.secondary">
+ <div role="main" class="ui-content" data-role="content">
+ <ul data-role="listview" class="ui-listview">
+ <li data-theme="c" class="ui-btn ui-btn-icon-right ui-li ui-btn-up-c" t-foreach="menu.children" t-as="menu">
+ <div class="ui-btn-inner ui-li">
+ <div class="ui-btn-text">
+ <a href="#" class="ui-link-inherit" t-attf-id="menu_#{menu.id}" t-att-data-menu="menu.id" t-att-data-name="menu.name">
+ <span><t t-esc="menu.name"/></span>
+ </a>
+ </div>
+ <span class="ui-icon ui-icon-arrow-r"></span>
+ </div>
+ </li>
+ </ul>
+ </div>
+</t>
+
+<t t-name="Options">
+ <ul data-dividertheme="b" data-theme="c" data-inset="true" data-role="listview" class="ui-listview ui-listview-inset ui-corner-all ui-shadow">
+ <li data-role="list-divider" role="heading" class="ui-li ui-li-divider ui-btn ui-bar-b ui-corner-top ui-btn-up-undefined">
+ Options
+ </li>
+ <li data-theme="c" class="ui-btn ui-btn-icon-right ui-li ui-btn-up-c">
+ <div class="ui-btn-inner ui-li">
+ <div class="ui-btn-text">
+ <a id="logout" href="#" class="ui-link-inherit">
+ Logout
+ </a>
+ </div>
+ <span class="ui-icon ui-icon-arrow-r"></span>
+ </div>
+ </li>
+ <li data-theme="c" class="ui-btn ui-btn-icon-right ui-li ui-btn-up-c">
+ <div class="ui-btn-inner ui-li">
+ <div class="ui-btn-text">
+ <a id="pref" href="#" class="ui-link-inherit">
+ Preferences
+ </a>
+ </div>
+ <span class="ui-icon ui-icon-arrow-r"></span>
+ </div>
+ </li>
+ </ul>
+</t>
+
<t t-name="ListView">
<div role="main" class="ui-content" data-role="content">
<form class="ui-listview-filter ui-bar-c" role="search">
- <div id="search-data" class="ui-input-search ui-shadow-inset ui-btn-corner-all ui-btn-shadow ui-icon-searchfield ui-body-c">
- <input id="searchid" placeholder="Filter items..." data-type="search" class="ui-input-text ui-body-null" autosearch="true" setTimeDefault="700"/>
- </div>
+ <div id="search-data" class="ui-input-search ui-shadow-inset ui-btn-corner-all ui-btn-shadow ui-icon-searchfield ui-body-c">
+ <input id="searchid" placeholder="Filter items..." data-type="search" class="ui-input-text ui-body-null" autosearch="true" setTimeDefault="700"/>
+ </div>
</form>
<ul role="listbox" data-role="listview" class="ui-listview">
<li data-theme="c" class="ui-btn ui-btn-icon-right ui-li ui-btn-up-c" t-foreach="records" t-as="record">
@@ -92,13 +166,14 @@
<form>
<t t-foreach="get_fields" t-as="field">
<div data-role="fieldcontain">
-
+ <t t-if="fields[field.attrs.name].type!='one2many' and fields[field.attrs.name].type!='many2many'" >
<label class="ui-input-text">
<span>
<t t-if="!(field.attrs.string)" t-esc="fields[field.attrs.name].string"></t>
<t t-if="field.attrs.string" t-esc="field.attrs.string"></t>
</span>:
</label>
+ </t>
<t t-if="fields[field.attrs.name].type == 'char'">
<t t-if="values[field.attrs.name]">
<input class="ui-input-text ui-body-null ui-corner-all ui-shadow-inset ui-body-c" type="text" t-att-value="values[field.attrs.name]"/><br/>
@@ -116,7 +191,31 @@
</t>
</t>
<t t-if="fields[field.attrs.name].type == 'text'">
- <input type="text" style="width: 100%"/><br/>
+ <textarea style="width:100%;" rows="8" name="textarea" id="textarea"></textarea><br/>
+ </t>
+ <t t-if="fields[field.attrs.name].type == 'float'">
+ <t t-if="values[field.attrs.name]">
+ <input class="ui-input-text ui-body-null ui-corner-all ui-shadow-inset ui-body-c" type="text" t-att-value="values[field.attrs.name]"/><br/>
+ </t>
+ <t t-if="!(values[field.attrs.name])">
+ <input class="ui-input-text ui-body-null ui-corner-all ui-shadow-inset ui-body-c" type="text" value=""/><br/>
+ </t>
+ </t>
+ <t t-if="fields[field.attrs.name].type == 'date'">
+ <t t-if="values[field.attrs.name]">
+ <input class="ui-input-text ui-body-null ui-corner-all ui-shadow-inset ui-body-c" type="text" t-att-value="values[field.attrs.name]"/><br/>
+ </t>
+ <t t-if="!(values[field.attrs.name])">
+ <input class="ui-input-text ui-body-null ui-corner-all ui-shadow-inset ui-body-c" type="text" value=""/><br/>
+ </t>
+ </t>
+ <t t-if="fields[field.attrs.name].type == 'datetime'">
+ <t t-if="values[field.attrs.name]">
+ <input class="ui-input-text ui-body-null ui-corner-all ui-shadow-inset ui-body-c" type="text" t-att-value="values[field.attrs.name]"/><br/>
+ </t>
+ <t t-if="!(values[field.attrs.name])">
+ <input class="ui-input-text ui-body-null ui-corner-all ui-shadow-inset ui-body-c" type="text" value=""/><br/>
+ </t>
</t>
<t t-if="fields[field.attrs.name].type == 'selection'">
<div class="ui-select">
@@ -133,7 +232,8 @@
</span>
<span class="ui-icon ui-icon-arrow-d ui-icon-shadow"></span>
</span>
- <select>
+
+ <select t-att-id="'selection_'+fields[field.attrs.name].string">
<t t-foreach="fields[field.attrs.name].selection" t-as="opt">
<option t-att-value="opt[0]"><t t-esc="opt[1]"/></option>
</t>
@@ -141,19 +241,28 @@
</div>
</div>
</t>
- <t t-if="fields[field.attrs.name].type == 'many2one'">
+ <t t-if="fields[field.attrs.name].type == 'many2one'">
+
<div class="ui-select">
<div data-theme="c" class="ui-btn ui-btn-icon-right ui-btn-corner-all ui-shadow ui-btn-up-c">
<span class="ui-btn-inner ui-btn-corner-all">
<span class="ui-btn-text">
- <t t-esc="values[field.attrs.name][1]"/>
- </span>
+ <t t-if="values[field.attrs.name]">
+ <t t-esc="values[field.attrs.name][1]"/>
+ </t>
+ </span>
<span class="ui-icon ui-icon-arrow-d ui-icon-shadow"></span>
</span>
- <select>
+
+ <select t-att-id="'selection_'+fields[field.attrs.name].string">
<t t-if="fields[field.attrs.name].selection">
<t t-foreach="fields[field.attrs.name].selection" t-as="opt">
- <option t-att-value="opt[0]"><t t-esc="opt[1]"/></option>
+ <t t-if="values[field.attrs.name]==opt[0]">
+ <option t-att-value="opt[0]" selected="true" ><t t-esc="opt[1]"/></option>
+ </t>
+ <t t-if="values[field.attrs.name]!=opt[0]">
+ <option t-att-value="opt[0]" ><t t-esc="opt[1]"/></option>
+ </t>
</t>
</t>
</select>
@@ -161,44 +270,27 @@
</div>
</t>
<t t-if="fields[field.attrs.name].type == 'one2many'">
- <t t-if="values[field.attrs.name]">
- <input class="ui-input-text ui-body-null ui-corner-all ui-shadow-inset ui-body-c" type="text" t-att-value="values[field.attrs.name]"/><br/>
- </t>
- <t t-if="!(values[field.attrs.name])">
- <input class="ui-input-text ui-body-null ui-corner-all ui-shadow-inset ui-body-c" type="text" value=""/><br/>
- </t>
- </t>
- <t t-if="fields[field.attrs.name].type == 'many2many'">
- <t t-if="values[field.attrs.name]">
- <input class="ui-input-text ui-body-null ui-corner-all ui-shadow-inset ui-body-c" type="text" t-att-value="values[field.attrs.name]"/><br/>
- </t>
- <t t-if="!(values[field.attrs.name])">
- <input class="ui-input-text ui-body-null ui-corner-all ui-shadow-inset ui-body-c" type="text" value=""/><br/>
- </t>
- </t>
- <t t-if="fields[field.attrs.name].type == 'float'">
- <t t-if="values[field.attrs.name]">
- <input class="ui-input-text ui-body-null ui-corner-all ui-shadow-inset ui-body-c" type="text" t-att-value="values[field.attrs.name]"/><br/>
- </t>
- <t t-if="!(values[field.attrs.name])">
- <input class="ui-input-text ui-body-null ui-corner-all ui-shadow-inset ui-body-c" type="text" value=""/><br/>
- </t>
- </t>
- <t t-if="fields[field.attrs.name].type == 'date'">
- <t t-if="values[field.attrs.name]">
- <input class="ui-input-text ui-body-null ui-corner-all ui-shadow-inset ui-body-c" type="text" t-att-value="values[field.attrs.name]"/><br/>
- </t>
- <t t-if="!(values[field.attrs.name])">
- <input class="ui-input-text ui-body-null ui-corner-all ui-shadow-inset ui-body-c" type="text" value=""/><br/>
- </t>
- </t>
- <t t-if="fields[field.attrs.name].type == 'datetime'">
- <t t-if="values[field.attrs.name]">
- <input class="ui-input-text ui-body-null ui-corner-all ui-shadow-inset ui-body-c" type="text" t-att-value="values[field.attrs.name]"/><br/>
- </t>
- <t t-if="!(values[field.attrs.name])">
- <input class="ui-input-text ui-body-null ui-corner-all ui-shadow-inset ui-body-c" type="text" value=""/><br/>
- </t>
+ <div class="info ui-collapsible-contain" data-collapsed="true" data-role="collapsible">
+ <h1 class="ui-collapsible-heading">
+ <a class="ui-collapsible-heading-toggle ui-btn ui-btn-icon-left ui-shadow ui-corner-all ui-btn-up-c" href="#" data-theme="c" t-id="page.attrs.string">
+ <span class="ui-btn-inner ui-corner-all">
+ <span class="ui-btn-text">
+ <t t-esc="til"></t>
+ <!-- <span class="ui-collapsible-heading-status"></span> -->
+ </span>
+ <span data-theme="d" class="ui-btn ui-btn-icon-left ui-btn-corner-all ui-shadow ui-btn-up-d">
+ <span class="ui-btn-inner ui-btn-corner-all ui-corner-all">
+ <span class="ui-btn-text"></span>
+ <span class="ui-icon ui-icon-shadow ui-icon-plus"></span>
+ </span>
+ </span>
+ </span>
+ </a>
+ <div class="ui-collapsible-content ui-collapsible-content-collapsed" aria-hidden="true">
+ <div class="detail"></div>
+ </div>
+ </h1>
+ </div>
</t>
</div>
</t>
@@ -231,86 +323,4 @@
</div>
</t>
-
-<t t-name="Shortcuts">
- <ul data-dividertheme="b" data-theme="c" data-inset="true" data-role="listview" class="ui-listview ui-listview-inset ui-corner-all ui-shadow">
- <li data-role="list-divider" role="heading" class="ui-li ui-li-divider ui-btn ui-bar-b ui-corner-top ui-btn-up-undefined">
- Shortcuts
- </li>
- <li data-theme="c" class="ui-btn ui-btn-icon-right ui-li ui-btn-up-c" t-foreach="sc" t-as="opt">
- <div class="ui-btn-inner ui-li">
- <div class="ui-btn-text">
- <a href="#" class="ui-link-inherit" t-att-data-menu="opt.id" t-att-data-name="opt.name" t-att-data-res="opt.res_id">
- <span><t t-esc="opt.name"/></span>
- </a>
- </div>
- <span class="ui-icon ui-icon-arrow-r"></span>
- </div>
- </li>
- </ul>
-</t>
-
-<t t-name="Menu">
- <ul data-dividertheme="b" data-theme="c" data-inset="true" data-role="listview" class="ui-listview ui-listview-inset ui-corner-all ui-shadow">
- <li data-role="list-divider" role="heading" class="ui-li ui-li-divider ui-btn ui-bar-b ui-corner-top ui-btn-up-undefined">
- Menu
- </li>
- <li data-theme="c" class="ui-btn ui-btn-icon-right ui-li ui-btn-up-c" t-foreach="data.children" t-as="menu">
- <div class="ui-btn-inner ui-li">
- <div class="ui-btn-text">
- <a href="#" class="ui-link-inherit" t-att-data-menu="menu.id" t-att-data-name="menu.name">
- <span><t t-esc="menu.name"/></span>
- </a>
- </div>
- <span class="ui-icon ui-icon-arrow-r"></span>
- </div>
- </li>
- </ul>
-</t>
-
-<t t-name="Menu.secondary">
- <div role="main" class="ui-content" data-role="content">
- <ul data-role="listview" class="ui-listview">
- <li data-theme="c" class="ui-btn ui-btn-icon-right ui-li ui-btn-up-c" t-foreach="menu.children" t-as="menu">
- <div class="ui-btn-inner ui-li">
- <div class="ui-btn-text">
- <a href="#" class="ui-link-inherit" t-attf-id="menu_#{menu.id}" t-att-data-menu="menu.id" t-att-data-name="menu.name">
- <span><t t-esc="menu.name"/></span>
- </a>
- </div>
- <span class="ui-icon ui-icon-arrow-r"></span>
- </div>
- </li>
- </ul>
- </div>
-</t>
-
-<t t-name="Options">
- <ul data-dividertheme="b" data-theme="c" data-inset="true" data-role="listview" class="ui-listview ui-listview-inset ui-corner-all ui-shadow">
- <li data-role="list-divider" role="heading" class="ui-li ui-li-divider ui-btn ui-bar-b ui-corner-top ui-btn-up-undefined">
- Options
- </li>
- <li data-theme="c" class="ui-btn ui-btn-icon-right ui-li ui-btn-up-c">
- <div class="ui-btn-inner ui-li">
- <div class="ui-btn-text">
- <a id="logout" href="#" class="ui-link-inherit">
- Logout
- </a>
- </div>
- <span class="ui-icon ui-icon-arrow-r"></span>
- </div>
- </li>
- <li data-theme="c" class="ui-btn ui-btn-icon-right ui-li ui-btn-up-c">
- <div class="ui-btn-inner ui-li">
- <div class="ui-btn-text">
- <a id="pref" href="#" class="ui-link-inherit">
- Preferences
- </a>
- </div>
- <span class="ui-icon ui-icon-arrow-r"></span>
- </div>
- </li>
- </ul>
-</t>
-
</templates>