diff options
| author | niv-openerp <nicolas.vanhoren@openerp.com> | 2011-08-30 14:21:37 +0200 |
|---|---|---|
| committer | niv-openerp <nicolas.vanhoren@openerp.com> | 2011-08-30 14:21:37 +0200 |
| commit | 558a038420cd6c49fbf5feaf1c656d2be27beef6 (patch) | |
| tree | edb01144cfa6d0d6fc02dec2170a8e00d58a3d28 /addons/web_mobile/static | |
| parent | bdd0c7cf3f6d3e065c55bd0292e29bd554a0e8b1 (diff) | |
| parent | 458dacea36f1696f6a23cd713b96aa994cef9595 (diff) | |
[merge] many improvements to the mobile client
bzr revid: nicolas.vanhoren@openerp.com-20110830122137-xd0y347nr1ewaxve
Diffstat (limited to 'addons/web_mobile/static')
15 files changed, 3536 insertions, 745 deletions
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> |
